diff --git a/200.html b/200.html index 0f895d2f1d..a35626cb85 100644 --- a/200.html +++ b/200.html @@ -3,7 +3,7 @@ - + @@ -12,30 +12,30 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - + - -
- + \ No newline at end of file diff --git a/404.html b/404.html index 0f895d2f1d..a35626cb85 100644 --- a/404.html +++ b/404.html @@ -3,7 +3,7 @@ - + @@ -12,30 +12,30 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - + - -
- + \ No newline at end of file diff --git a/__studio.json b/__studio.json index e4eac41a34..5b069a9564 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":"","description":"","tags":[],"id":"#appConfig/prose","properties":{"copyButton":{"title":"","description":"","tags":[],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"","description":"","tags":[],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"","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":"","description":"","tags":[],"id":"#appConfig/docus","properties":{"title":{"title":"","description":"","tags":[],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"","description":"","tags":[],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"","description":"","tags":[],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"tiktok":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/tiktok","default":"","type":"string"},"youtube":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""}},"layout":{"title":"","description":"","tags":[],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"","description":"","tags":[],"id":"#appConfig/docus/aside","properties":{"level":{"title":"","description":"","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"","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":"","description":"","tags":[],"id":"#appConfig/docus/header","properties":{"title":{"title":"","description":"","tags":[],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"","description":"","tags":[],"tsType":"boolean|string|{dark: string, light: string}","id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"","description":"","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"","description":"","tags":[],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"","description":"","tags":[],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"","description":"","tags":[],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"","description":"","tags":[],"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":"","description":"","tags":[],"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":"","description":"","tags":[],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"","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":"","description":"","tags":[],"id":"#appConfig/docus/github","properties":{"baseUrl":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/baseUrl","default":"https://github.com","type":"string"},"dir":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"","description":"","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":"a90fa8e4-75ee-4e3b-a6c1-e66bf9d06218"},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"}},"docus":{"title":"vue-recaptcha","description":"Document for vue-recaptcha","url":"https://dansnow.github.io/vue-recaptcha","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"github":"DanSnow/vue-recaptcha"},"layout":"default","header":{"title":"","logo":false,"showLinkIcon":false,"fluid":false,"exclude":[]},"aside":{"level":0,"collapsed":false,"exclude":[]},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"textLinks":[],"iconLinks":[],"fluid":false},"github":{"dir":"docs/content","branch":"v3","repo":"vue-recaptcha","owner":"DanSnow","edit":true}}},"tokensConfigSchema":{"properties":{"id":"#tokensConfig","properties":{"media":{"title":"Your website media queries.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:screenshot-monitor-outline-rounded"],"id":"#tokensConfig/media","properties":{"xs":{"id":"#tokensConfig/media/xs","properties":{"value":{"type":"string","id":"#tokensConfig/media/xs/value","default":"(min-width: 475px)"}},"type":"object","default":{"value":"(min-width: 475px)"}},"sm":{"id":"#tokensConfig/media/sm","properties":{"value":{"type":"string","id":"#tokensConfig/media/sm/value","default":"(min-width: 640px)"}},"type":"object","default":{"value":"(min-width: 640px)"}},"md":{"id":"#tokensConfig/media/md","properties":{"value":{"type":"string","id":"#tokensConfig/media/md/value","default":"(min-width: 768px)"}},"type":"object","default":{"value":"(min-width: 768px)"}},"lg":{"id":"#tokensConfig/media/lg","properties":{"value":{"type":"string","id":"#tokensConfig/media/lg/value","default":"(min-width: 1024px)"}},"type":"object","default":{"value":"(min-width: 1024px)"}},"xl":{"id":"#tokensConfig/media/xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/xl/value","default":"(min-width: 1280px)"}},"type":"object","default":{"value":"(min-width: 1280px)"}},"2xl":{"id":"#tokensConfig/media/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/2xl/value","default":"(min-width: 1536px)"}},"type":"object","default":{"value":"(min-width: 1536px)"}},"rm":{"id":"#tokensConfig/media/rm","properties":{"value":{"type":"string","id":"#tokensConfig/media/rm/value","default":"(prefers-reduced-motion: reduce)"}},"type":"object","default":{"value":"(prefers-reduced-motion: reduce)"}},"landscape":{"id":"#tokensConfig/media/landscape","properties":{"value":{"type":"string","id":"#tokensConfig/media/landscape/value","default":"only screen and (orientation: landscape)"}},"type":"object","default":{"value":"only screen and (orientation: landscape)"}},"portrait":{"id":"#tokensConfig/media/portrait","properties":{"value":{"type":"string","id":"#tokensConfig/media/portrait/value","default":"only screen and (orientation: portrait)"}},"type":"object","default":{"value":"only screen and (orientation: portrait)"}}},"type":"object","default":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}}},"color":{"title":"Your website color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/color","properties":{"white":{"id":"#tokensConfig/color/white","properties":{"value":{"type":"string","id":"#tokensConfig/color/white/value","default":"#ffffff"}},"type":"object","default":{"value":"#ffffff"}},"black":{"id":"#tokensConfig/color/black","properties":{"value":{"type":"string","id":"#tokensConfig/color/black/value","default":"#0B0A0A"}},"type":"object","default":{"value":"#0B0A0A"}},"gray":{"id":"#tokensConfig/color/gray","properties":{"50":{"id":"#tokensConfig/color/gray/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/50/value","default":"#FBFBFB"}},"type":"object","default":{"value":"#FBFBFB"}},"100":{"id":"#tokensConfig/color/gray/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/100/value","default":"#F6F5F4"}},"type":"object","default":{"value":"#F6F5F4"}},"200":{"id":"#tokensConfig/color/gray/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/200/value","default":"#ECEBE8"}},"type":"object","default":{"value":"#ECEBE8"}},"300":{"id":"#tokensConfig/color/gray/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/300/value","default":"#DBD9D3"}},"type":"object","default":{"value":"#DBD9D3"}},"400":{"id":"#tokensConfig/color/gray/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/400/value","default":"#ADA9A4"}},"type":"object","default":{"value":"#ADA9A4"}},"500":{"id":"#tokensConfig/color/gray/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/500/value","default":"#97948F"}},"type":"object","default":{"value":"#97948F"}},"600":{"id":"#tokensConfig/color/gray/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/600/value","default":"#67635D"}},"type":"object","default":{"value":"#67635D"}},"700":{"id":"#tokensConfig/color/gray/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/700/value","default":"#36332E"}},"type":"object","default":{"value":"#36332E"}},"800":{"id":"#tokensConfig/color/gray/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/800/value","default":"#201E1B"}},"type":"object","default":{"value":"#201E1B"}},"900":{"id":"#tokensConfig/color/gray/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/900/value","default":"#121110"}},"type":"object","default":{"value":"#121110"}}},"type":"object","default":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}}},"green":{"id":"#tokensConfig/color/green","properties":{"50":{"id":"#tokensConfig/color/green/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/50/value","default":"#ECFFF7"}},"type":"object","default":{"value":"#ECFFF7"}},"100":{"id":"#tokensConfig/color/green/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/100/value","default":"#DEFFF1"}},"type":"object","default":{"value":"#DEFFF1"}},"200":{"id":"#tokensConfig/color/green/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/200/value","default":"#C3FFE6"}},"type":"object","default":{"value":"#C3FFE6"}},"300":{"id":"#tokensConfig/color/green/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/300/value","default":"#86FBCB"}},"type":"object","default":{"value":"#86FBCB"}},"400":{"id":"#tokensConfig/color/green/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/400/value","default":"#3CEEA5"}},"type":"object","default":{"value":"#3CEEA5"}},"500":{"id":"#tokensConfig/color/green/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/500/value","default":"#0DD885"}},"type":"object","default":{"value":"#0DD885"}},"600":{"id":"#tokensConfig/color/green/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/600/value","default":"#00B467"}},"type":"object","default":{"value":"#00B467"}},"700":{"id":"#tokensConfig/color/green/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/700/value","default":"#006037"}},"type":"object","default":{"value":"#006037"}},"800":{"id":"#tokensConfig/color/green/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/800/value","default":"#002817"}},"type":"object","default":{"value":"#002817"}},"900":{"id":"#tokensConfig/color/green/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/900/value","default":"#00190F"}},"type":"object","default":{"value":"#00190F"}}},"type":"object","default":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}}},"yellow":{"id":"#tokensConfig/color/yellow","properties":{"50":{"id":"#tokensConfig/color/yellow/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/50/value","default":"#FFFCEE"}},"type":"object","default":{"value":"#FFFCEE"}},"100":{"id":"#tokensConfig/color/yellow/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/100/value","default":"#FFF6D3"}},"type":"object","default":{"value":"#FFF6D3"}},"200":{"id":"#tokensConfig/color/yellow/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/200/value","default":"#FFF0B1"}},"type":"object","default":{"value":"#FFF0B1"}},"300":{"id":"#tokensConfig/color/yellow/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/300/value","default":"#FFE372"}},"type":"object","default":{"value":"#FFE372"}},"400":{"id":"#tokensConfig/color/yellow/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/400/value","default":"#FFDC4E"}},"type":"object","default":{"value":"#FFDC4E"}},"500":{"id":"#tokensConfig/color/yellow/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/500/value","default":"#FBCA05"}},"type":"object","default":{"value":"#FBCA05"}},"600":{"id":"#tokensConfig/color/yellow/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/600/value","default":"#CBA408"}},"type":"object","default":{"value":"#CBA408"}},"700":{"id":"#tokensConfig/color/yellow/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/700/value","default":"#614E02"}},"type":"object","default":{"value":"#614E02"}},"800":{"id":"#tokensConfig/color/yellow/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/800/value","default":"#292100"}},"type":"object","default":{"value":"#292100"}},"900":{"id":"#tokensConfig/color/yellow/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/900/value","default":"#1B1500"}},"type":"object","default":{"value":"#1B1500"}}},"type":"object","default":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}}},"orange":{"id":"#tokensConfig/color/orange","properties":{"50":{"id":"#tokensConfig/color/orange/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/50/value","default":"#ffe9d9"}},"type":"object","default":{"value":"#ffe9d9"}},"100":{"id":"#tokensConfig/color/orange/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/100/value","default":"#ffd3b3"}},"type":"object","default":{"value":"#ffd3b3"}},"200":{"id":"#tokensConfig/color/orange/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/200/value","default":"#ffbd8d"}},"type":"object","default":{"value":"#ffbd8d"}},"300":{"id":"#tokensConfig/color/orange/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/300/value","default":"#ffa666"}},"type":"object","default":{"value":"#ffa666"}},"400":{"id":"#tokensConfig/color/orange/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/400/value","default":"#ff9040"}},"type":"object","default":{"value":"#ff9040"}},"500":{"id":"#tokensConfig/color/orange/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/500/value","default":"#ff7a1a"}},"type":"object","default":{"value":"#ff7a1a"}},"600":{"id":"#tokensConfig/color/orange/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/600/value","default":"#e15e00"}},"type":"object","default":{"value":"#e15e00"}},"700":{"id":"#tokensConfig/color/orange/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/700/value","default":"#a94700"}},"type":"object","default":{"value":"#a94700"}},"800":{"id":"#tokensConfig/color/orange/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/800/value","default":"#702f00"}},"type":"object","default":{"value":"#702f00"}},"900":{"id":"#tokensConfig/color/orange/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/900/value","default":"#381800"}},"type":"object","default":{"value":"#381800"}}},"type":"object","default":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}}},"red":{"id":"#tokensConfig/color/red","properties":{"50":{"id":"#tokensConfig/color/red/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/50/value","default":"#FFF9F8"}},"type":"object","default":{"value":"#FFF9F8"}},"100":{"id":"#tokensConfig/color/red/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/100/value","default":"#FFF3F0"}},"type":"object","default":{"value":"#FFF3F0"}},"200":{"id":"#tokensConfig/color/red/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/200/value","default":"#FFDED7"}},"type":"object","default":{"value":"#FFDED7"}},"300":{"id":"#tokensConfig/color/red/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/300/value","default":"#FFA692"}},"type":"object","default":{"value":"#FFA692"}},"400":{"id":"#tokensConfig/color/red/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/400/value","default":"#FF7353"}},"type":"object","default":{"value":"#FF7353"}},"500":{"id":"#tokensConfig/color/red/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/500/value","default":"#FF3B10"}},"type":"object","default":{"value":"#FF3B10"}},"600":{"id":"#tokensConfig/color/red/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/600/value","default":"#BB2402"}},"type":"object","default":{"value":"#BB2402"}},"700":{"id":"#tokensConfig/color/red/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/700/value","default":"#701704"}},"type":"object","default":{"value":"#701704"}},"800":{"id":"#tokensConfig/color/red/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/800/value","default":"#340A01"}},"type":"object","default":{"value":"#340A01"}},"900":{"id":"#tokensConfig/color/red/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/900/value","default":"#1C0301"}},"type":"object","default":{"value":"#1C0301"}}},"type":"object","default":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}}},"pear":{"id":"#tokensConfig/color/pear","properties":{"50":{"id":"#tokensConfig/color/pear/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/50/value","default":"#f7f8dc"}},"type":"object","default":{"value":"#f7f8dc"}},"100":{"id":"#tokensConfig/color/pear/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/100/value","default":"#eff0ba"}},"type":"object","default":{"value":"#eff0ba"}},"200":{"id":"#tokensConfig/color/pear/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/200/value","default":"#e8e997"}},"type":"object","default":{"value":"#e8e997"}},"300":{"id":"#tokensConfig/color/pear/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/300/value","default":"#e0e274"}},"type":"object","default":{"value":"#e0e274"}},"400":{"id":"#tokensConfig/color/pear/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/400/value","default":"#d8da52"}},"type":"object","default":{"value":"#d8da52"}},"500":{"id":"#tokensConfig/color/pear/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/500/value","default":"#d0d32f"}},"type":"object","default":{"value":"#d0d32f"}},"600":{"id":"#tokensConfig/color/pear/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/600/value","default":"#a8aa24"}},"type":"object","default":{"value":"#a8aa24"}},"700":{"id":"#tokensConfig/color/pear/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/700/value","default":"#7e801b"}},"type":"object","default":{"value":"#7e801b"}},"800":{"id":"#tokensConfig/color/pear/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/800/value","default":"#545512"}},"type":"object","default":{"value":"#545512"}},"900":{"id":"#tokensConfig/color/pear/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/900/value","default":"#2a2b09"}},"type":"object","default":{"value":"#2a2b09"}}},"type":"object","default":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}}},"teal":{"id":"#tokensConfig/color/teal","properties":{"50":{"id":"#tokensConfig/color/teal/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/50/value","default":"#d7faf8"}},"type":"object","default":{"value":"#d7faf8"}},"100":{"id":"#tokensConfig/color/teal/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/100/value","default":"#aff4f0"}},"type":"object","default":{"value":"#aff4f0"}},"200":{"id":"#tokensConfig/color/teal/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/200/value","default":"#87efe9"}},"type":"object","default":{"value":"#87efe9"}},"300":{"id":"#tokensConfig/color/teal/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/300/value","default":"#5fe9e1"}},"type":"object","default":{"value":"#5fe9e1"}},"400":{"id":"#tokensConfig/color/teal/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/400/value","default":"#36e4da"}},"type":"object","default":{"value":"#36e4da"}},"500":{"id":"#tokensConfig/color/teal/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/500/value","default":"#1cd1c6"}},"type":"object","default":{"value":"#1cd1c6"}},"600":{"id":"#tokensConfig/color/teal/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/600/value","default":"#16a79e"}},"type":"object","default":{"value":"#16a79e"}},"700":{"id":"#tokensConfig/color/teal/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/700/value","default":"#117d77"}},"type":"object","default":{"value":"#117d77"}},"800":{"id":"#tokensConfig/color/teal/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/800/value","default":"#0b544f"}},"type":"object","default":{"value":"#0b544f"}},"900":{"id":"#tokensConfig/color/teal/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/900/value","default":"#062a28"}},"type":"object","default":{"value":"#062a28"}}},"type":"object","default":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}}},"lightblue":{"id":"#tokensConfig/color/lightblue","properties":{"50":{"id":"#tokensConfig/color/lightblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/50/value","default":"#d9f8ff"}},"type":"object","default":{"value":"#d9f8ff"}},"100":{"id":"#tokensConfig/color/lightblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/100/value","default":"#b3f1ff"}},"type":"object","default":{"value":"#b3f1ff"}},"200":{"id":"#tokensConfig/color/lightblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/200/value","default":"#8deaff"}},"type":"object","default":{"value":"#8deaff"}},"300":{"id":"#tokensConfig/color/lightblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/300/value","default":"#66e4ff"}},"type":"object","default":{"value":"#66e4ff"}},"400":{"id":"#tokensConfig/color/lightblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/400/value","default":"#40ddff"}},"type":"object","default":{"value":"#40ddff"}},"500":{"id":"#tokensConfig/color/lightblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/500/value","default":"#1ad6ff"}},"type":"object","default":{"value":"#1ad6ff"}},"600":{"id":"#tokensConfig/color/lightblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/600/value","default":"#00b9e1"}},"type":"object","default":{"value":"#00b9e1"}},"700":{"id":"#tokensConfig/color/lightblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/700/value","default":"#008aa9"}},"type":"object","default":{"value":"#008aa9"}},"800":{"id":"#tokensConfig/color/lightblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/800/value","default":"#005c70"}},"type":"object","default":{"value":"#005c70"}},"900":{"id":"#tokensConfig/color/lightblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/900/value","default":"#002e38"}},"type":"object","default":{"value":"#002e38"}}},"type":"object","default":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}}},"blue":{"id":"#tokensConfig/color/blue","properties":{"50":{"id":"#tokensConfig/color/blue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/50/value","default":"#F2FAFF"}},"type":"object","default":{"value":"#F2FAFF"}},"100":{"id":"#tokensConfig/color/blue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/100/value","default":"#DFF3FF"}},"type":"object","default":{"value":"#DFF3FF"}},"200":{"id":"#tokensConfig/color/blue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/200/value","default":"#C6EAFF"}},"type":"object","default":{"value":"#C6EAFF"}},"300":{"id":"#tokensConfig/color/blue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/300/value","default":"#A1DDFF"}},"type":"object","default":{"value":"#A1DDFF"}},"400":{"id":"#tokensConfig/color/blue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/400/value","default":"#64C7FF"}},"type":"object","default":{"value":"#64C7FF"}},"500":{"id":"#tokensConfig/color/blue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/500/value","default":"#1AADFF"}},"type":"object","default":{"value":"#1AADFF"}},"600":{"id":"#tokensConfig/color/blue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/600/value","default":"#0069A6"}},"type":"object","default":{"value":"#0069A6"}},"700":{"id":"#tokensConfig/color/blue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/700/value","default":"#014267"}},"type":"object","default":{"value":"#014267"}},"800":{"id":"#tokensConfig/color/blue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/800/value","default":"#002235"}},"type":"object","default":{"value":"#002235"}},"900":{"id":"#tokensConfig/color/blue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/900/value","default":"#00131D"}},"type":"object","default":{"value":"#00131D"}}},"type":"object","default":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}}},"indigoblue":{"id":"#tokensConfig/color/indigoblue","properties":{"50":{"id":"#tokensConfig/color/indigoblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/50/value","default":"#d9e5ff"}},"type":"object","default":{"value":"#d9e5ff"}},"100":{"id":"#tokensConfig/color/indigoblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/100/value","default":"#b3cbff"}},"type":"object","default":{"value":"#b3cbff"}},"200":{"id":"#tokensConfig/color/indigoblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/200/value","default":"#8db0ff"}},"type":"object","default":{"value":"#8db0ff"}},"300":{"id":"#tokensConfig/color/indigoblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/300/value","default":"#6696ff"}},"type":"object","default":{"value":"#6696ff"}},"400":{"id":"#tokensConfig/color/indigoblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/400/value","default":"#407cff"}},"type":"object","default":{"value":"#407cff"}},"500":{"id":"#tokensConfig/color/indigoblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/500/value","default":"#1a62ff"}},"type":"object","default":{"value":"#1a62ff"}},"600":{"id":"#tokensConfig/color/indigoblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/600/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}},"700":{"id":"#tokensConfig/color/indigoblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/700/value","default":"#0035a9"}},"type":"object","default":{"value":"#0035a9"}},"800":{"id":"#tokensConfig/color/indigoblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/800/value","default":"#002370"}},"type":"object","default":{"value":"#002370"}},"900":{"id":"#tokensConfig/color/indigoblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/900/value","default":"#001238"}},"type":"object","default":{"value":"#001238"}}},"type":"object","default":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}}},"royalblue":{"id":"#tokensConfig/color/royalblue","properties":{"50":{"id":"#tokensConfig/color/royalblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/50/value","default":"#dfdbfb"}},"type":"object","default":{"value":"#dfdbfb"}},"100":{"id":"#tokensConfig/color/royalblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/100/value","default":"#c0b7f7"}},"type":"object","default":{"value":"#c0b7f7"}},"200":{"id":"#tokensConfig/color/royalblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/200/value","default":"#a093f3"}},"type":"object","default":{"value":"#a093f3"}},"300":{"id":"#tokensConfig/color/royalblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/300/value","default":"#806ff0"}},"type":"object","default":{"value":"#806ff0"}},"400":{"id":"#tokensConfig/color/royalblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/400/value","default":"#614bec"}},"type":"object","default":{"value":"#614bec"}},"500":{"id":"#tokensConfig/color/royalblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/500/value","default":"#4127e8"}},"type":"object","default":{"value":"#4127e8"}},"600":{"id":"#tokensConfig/color/royalblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/600/value","default":"#2c15c4"}},"type":"object","default":{"value":"#2c15c4"}},"700":{"id":"#tokensConfig/color/royalblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/700/value","default":"#211093"}},"type":"object","default":{"value":"#211093"}},"800":{"id":"#tokensConfig/color/royalblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/800/value","default":"#160a62"}},"type":"object","default":{"value":"#160a62"}},"900":{"id":"#tokensConfig/color/royalblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/900/value","default":"#0b0531"}},"type":"object","default":{"value":"#0b0531"}}},"type":"object","default":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}}},"purple":{"id":"#tokensConfig/color/purple","properties":{"50":{"id":"#tokensConfig/color/purple/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/50/value","default":"#ead9ff"}},"type":"object","default":{"value":"#ead9ff"}},"100":{"id":"#tokensConfig/color/purple/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/100/value","default":"#d5b3ff"}},"type":"object","default":{"value":"#d5b3ff"}},"200":{"id":"#tokensConfig/color/purple/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/200/value","default":"#c08dff"}},"type":"object","default":{"value":"#c08dff"}},"300":{"id":"#tokensConfig/color/purple/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/300/value","default":"#ab66ff"}},"type":"object","default":{"value":"#ab66ff"}},"400":{"id":"#tokensConfig/color/purple/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/400/value","default":"#9640ff"}},"type":"object","default":{"value":"#9640ff"}},"500":{"id":"#tokensConfig/color/purple/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/500/value","default":"#811aff"}},"type":"object","default":{"value":"#811aff"}},"600":{"id":"#tokensConfig/color/purple/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/600/value","default":"#6500e1"}},"type":"object","default":{"value":"#6500e1"}},"700":{"id":"#tokensConfig/color/purple/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/700/value","default":"#4c00a9"}},"type":"object","default":{"value":"#4c00a9"}},"800":{"id":"#tokensConfig/color/purple/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/800/value","default":"#330070"}},"type":"object","default":{"value":"#330070"}},"900":{"id":"#tokensConfig/color/purple/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/900/value","default":"#190038"}},"type":"object","default":{"value":"#190038"}}},"type":"object","default":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}}},"pink":{"id":"#tokensConfig/color/pink","properties":{"50":{"id":"#tokensConfig/color/pink/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/50/value","default":"#ffd9f2"}},"type":"object","default":{"value":"#ffd9f2"}},"100":{"id":"#tokensConfig/color/pink/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/100/value","default":"#ffb3e5"}},"type":"object","default":{"value":"#ffb3e5"}},"200":{"id":"#tokensConfig/color/pink/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/200/value","default":"#ff8dd8"}},"type":"object","default":{"value":"#ff8dd8"}},"300":{"id":"#tokensConfig/color/pink/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/300/value","default":"#ff66cc"}},"type":"object","default":{"value":"#ff66cc"}},"400":{"id":"#tokensConfig/color/pink/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/400/value","default":"#ff40bf"}},"type":"object","default":{"value":"#ff40bf"}},"500":{"id":"#tokensConfig/color/pink/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/500/value","default":"#ff1ab2"}},"type":"object","default":{"value":"#ff1ab2"}},"600":{"id":"#tokensConfig/color/pink/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/600/value","default":"#e10095"}},"type":"object","default":{"value":"#e10095"}},"700":{"id":"#tokensConfig/color/pink/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/700/value","default":"#a90070"}},"type":"object","default":{"value":"#a90070"}},"800":{"id":"#tokensConfig/color/pink/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/800/value","default":"#70004b"}},"type":"object","default":{"value":"#70004b"}},"900":{"id":"#tokensConfig/color/pink/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/900/value","default":"#380025"}},"type":"object","default":{"value":"#380025"}}},"type":"object","default":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}}},"ruby":{"id":"#tokensConfig/color/ruby","properties":{"50":{"id":"#tokensConfig/color/ruby/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/50/value","default":"#ffd9e4"}},"type":"object","default":{"value":"#ffd9e4"}},"100":{"id":"#tokensConfig/color/ruby/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/100/value","default":"#ffb3c9"}},"type":"object","default":{"value":"#ffb3c9"}},"200":{"id":"#tokensConfig/color/ruby/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/200/value","default":"#ff8dae"}},"type":"object","default":{"value":"#ff8dae"}},"300":{"id":"#tokensConfig/color/ruby/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/300/value","default":"#ff6694"}},"type":"object","default":{"value":"#ff6694"}},"400":{"id":"#tokensConfig/color/ruby/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/400/value","default":"#ff4079"}},"type":"object","default":{"value":"#ff4079"}},"500":{"id":"#tokensConfig/color/ruby/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/500/value","default":"#ff1a5e"}},"type":"object","default":{"value":"#ff1a5e"}},"600":{"id":"#tokensConfig/color/ruby/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/600/value","default":"#e10043"}},"type":"object","default":{"value":"#e10043"}},"700":{"id":"#tokensConfig/color/ruby/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/700/value","default":"#a90032"}},"type":"object","default":{"value":"#a90032"}},"800":{"id":"#tokensConfig/color/ruby/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/800/value","default":"#700021"}},"type":"object","default":{"value":"#700021"}},"900":{"id":"#tokensConfig/color/ruby/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/900/value","default":"#380011"}},"type":"object","default":{"value":"#380011"}}},"type":"object","default":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"primary":{"id":"#tokensConfig/color/primary","properties":{"50":{"id":"#tokensConfig/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/50/value","default":"#FFF6E5"}},"type":"object","default":{"value":"#FFF6E5"}},"100":{"id":"#tokensConfig/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/100/value","default":"#FFEDCC"}},"type":"object","default":{"value":"#FFEDCC"}},"200":{"id":"#tokensConfig/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/200/value","default":"#FFDB99"}},"type":"object","default":{"value":"#FFDB99"}},"300":{"id":"#tokensConfig/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/300/value","default":"#FFC966"}},"type":"object","default":{"value":"#FFC966"}},"400":{"id":"#tokensConfig/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/400/value","default":"#FFB833"}},"type":"object","default":{"value":"#FFB833"}},"500":{"id":"#tokensConfig/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/500/value","default":"#FFA500"}},"type":"object","default":{"value":"#FFA500"}},"600":{"id":"#tokensConfig/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/600/value","default":"#CC8500"}},"type":"object","default":{"value":"#CC8500"}},"700":{"id":"#tokensConfig/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/700/value","default":"#996300"}},"type":"object","default":{"value":"#996300"}},"800":{"id":"#tokensConfig/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/800/value","default":"#664200"}},"type":"object","default":{"value":"#664200"}},"900":{"id":"#tokensConfig/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/900/value","default":"#332100"}},"type":"object","default":{"value":"#332100"}}},"type":"object","default":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}}},"secondary":{"id":"#tokensConfig/color/secondary","properties":{"50":{"id":"#tokensConfig/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"shadow":{"id":"#tokensConfig/color/shadow","properties":{"value":{"id":"#tokensConfig/color/shadow/value","properties":{"initial":{"type":"string","id":"#tokensConfig/color/shadow/value/initial","default":"{color.gray.400}"},"dark":{"type":"string","id":"#tokensConfig/color/shadow/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"type":"object","default":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"width":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/width","properties":{"screen":{"id":"#tokensConfig/width/screen","properties":{"value":{"type":"string","id":"#tokensConfig/width/screen/value","default":"100vw"}},"type":"object","default":{"value":"100vw"}}},"type":"object","default":{"screen":{"value":"100vw"}}},"height":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/height","properties":{"screen":{"id":"#tokensConfig/height/screen","properties":{"value":{"type":"string","id":"#tokensConfig/height/screen/value","default":"100vh"}},"type":"object","default":{"value":"100vh"}}},"type":"object","default":{"screen":{"value":"100vh"}}},"shadow":{"title":"Your website shadows.","tags":["@studioInput design-token","@studioInputTokenType shadow","@studioIcon mdi:box-shadow"],"id":"#tokensConfig/shadow","properties":{"xs":{"id":"#tokensConfig/shadow/xs","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xs/value","default":"0px 1px 2px 0px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 2px 0px {color.shadow}"}},"sm":{"id":"#tokensConfig/shadow/sm","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/sm/value","default":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"md":{"id":"#tokensConfig/shadow/md","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/md/value","default":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"type":"object","default":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"lg":{"id":"#tokensConfig/shadow/lg","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/lg/value","default":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"type":"object","default":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"xl":{"id":"#tokensConfig/shadow/xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xl/value","default":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"type":"object","default":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"2xl":{"id":"#tokensConfig/shadow/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/2xl/value","default":"0px 25px 50px -12px {color.shadow}"}},"type":"object","default":{"value":"0px 25px 50px -12px {color.shadow}"}},"none":{"id":"#tokensConfig/shadow/none","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/none/value","default":"0px 0px 0px 0px transparent"}},"type":"object","default":{"value":"0px 0px 0px 0px transparent"}}},"type":"object","default":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}}},"radii":{"title":"Your website border radiuses.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:rounded-corner","@studioInpuTokenType size"],"id":"#tokensConfig/radii","properties":{"none":{"id":"#tokensConfig/radii/none","properties":{"value":{"type":"string","id":"#tokensConfig/radii/none/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2xs":{"id":"#tokensConfig/radii/2xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xs/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"xs":{"id":"#tokensConfig/radii/xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xs/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"sm":{"id":"#tokensConfig/radii/sm","properties":{"value":{"type":"string","id":"#tokensConfig/radii/sm/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"md":{"id":"#tokensConfig/radii/md","properties":{"value":{"type":"string","id":"#tokensConfig/radii/md/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"lg":{"id":"#tokensConfig/radii/lg","properties":{"value":{"type":"string","id":"#tokensConfig/radii/lg/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"xl":{"id":"#tokensConfig/radii/xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xl/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"2xl":{"id":"#tokensConfig/radii/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/radii/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/3xl/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"full":{"id":"#tokensConfig/radii/full","properties":{"value":{"type":"string","id":"#tokensConfig/radii/full/value","default":"9999px"}},"type":"object","default":{"value":"9999px"}}},"type":"object","default":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}}},"size":{"title":"Your website sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/size","properties":{"0":{"id":"#tokensConfig/size/0","properties":{"value":{"type":"string","id":"#tokensConfig/size/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2":{"id":"#tokensConfig/size/2","properties":{"value":{"type":"string","id":"#tokensConfig/size/2/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"4":{"id":"#tokensConfig/size/4","properties":{"value":{"type":"string","id":"#tokensConfig/size/4/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"6":{"id":"#tokensConfig/size/6","properties":{"value":{"type":"string","id":"#tokensConfig/size/6/value","default":"6px"}},"type":"object","default":{"value":"6px"}},"8":{"id":"#tokensConfig/size/8","properties":{"value":{"type":"string","id":"#tokensConfig/size/8/value","default":"8px"}},"type":"object","default":{"value":"8px"}},"12":{"id":"#tokensConfig/size/12","properties":{"value":{"type":"string","id":"#tokensConfig/size/12/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"16":{"id":"#tokensConfig/size/16","properties":{"value":{"type":"string","id":"#tokensConfig/size/16/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"20":{"id":"#tokensConfig/size/20","properties":{"value":{"type":"string","id":"#tokensConfig/size/20/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"24":{"id":"#tokensConfig/size/24","properties":{"value":{"type":"string","id":"#tokensConfig/size/24/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"32":{"id":"#tokensConfig/size/32","properties":{"value":{"type":"string","id":"#tokensConfig/size/32/value","default":"32px"}},"type":"object","default":{"value":"32px"}},"40":{"id":"#tokensConfig/size/40","properties":{"value":{"type":"string","id":"#tokensConfig/size/40/value","default":"40px"}},"type":"object","default":{"value":"40px"}},"48":{"id":"#tokensConfig/size/48","properties":{"value":{"type":"string","id":"#tokensConfig/size/48/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"56":{"id":"#tokensConfig/size/56","properties":{"value":{"type":"string","id":"#tokensConfig/size/56/value","default":"56px"}},"type":"object","default":{"value":"56px"}},"64":{"id":"#tokensConfig/size/64","properties":{"value":{"type":"string","id":"#tokensConfig/size/64/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"80":{"id":"#tokensConfig/size/80","properties":{"value":{"type":"string","id":"#tokensConfig/size/80/value","default":"80px"}},"type":"object","default":{"value":"80px"}},"104":{"id":"#tokensConfig/size/104","properties":{"value":{"type":"string","id":"#tokensConfig/size/104/value","default":"104px"}},"type":"object","default":{"value":"104px"}},"200":{"id":"#tokensConfig/size/200","properties":{"value":{"type":"string","id":"#tokensConfig/size/200/value","default":"200px"}},"type":"object","default":{"value":"200px"}},"xs":{"id":"#tokensConfig/size/xs","properties":{"value":{"type":"string","id":"#tokensConfig/size/xs/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"sm":{"id":"#tokensConfig/size/sm","properties":{"value":{"type":"string","id":"#tokensConfig/size/sm/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"md":{"id":"#tokensConfig/size/md","properties":{"value":{"type":"string","id":"#tokensConfig/size/md/value","default":"28rem"}},"type":"object","default":{"value":"28rem"}},"lg":{"id":"#tokensConfig/size/lg","properties":{"value":{"type":"string","id":"#tokensConfig/size/lg/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"xl":{"id":"#tokensConfig/size/xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/xl/value","default":"36rem"}},"type":"object","default":{"value":"36rem"}},"2xl":{"id":"#tokensConfig/size/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/2xl/value","default":"42rem"}},"type":"object","default":{"value":"42rem"}},"3xl":{"id":"#tokensConfig/size/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/3xl/value","default":"48rem"}},"type":"object","default":{"value":"48rem"}},"4xl":{"id":"#tokensConfig/size/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/4xl/value","default":"56rem"}},"type":"object","default":{"value":"56rem"}},"5xl":{"id":"#tokensConfig/size/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/5xl/value","default":"64rem"}},"type":"object","default":{"value":"64rem"}},"6xl":{"id":"#tokensConfig/size/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/6xl/value","default":"72rem"}},"type":"object","default":{"value":"72rem"}},"7xl":{"id":"#tokensConfig/size/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/7xl/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"full":{"id":"#tokensConfig/size/full","properties":{"value":{"type":"string","id":"#tokensConfig/size/full/value","default":"100%"}},"type":"object","default":{"value":"100%"}}},"type":"object","default":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}}},"space":{"title":"Your website spacings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/space","properties":{"0":{"id":"#tokensConfig/space/0","properties":{"value":{"type":"string","id":"#tokensConfig/space/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"1":{"id":"#tokensConfig/space/1","properties":{"value":{"type":"string","id":"#tokensConfig/space/1/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"2":{"id":"#tokensConfig/space/2","properties":{"value":{"type":"string","id":"#tokensConfig/space/2/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"3":{"id":"#tokensConfig/space/3","properties":{"value":{"type":"string","id":"#tokensConfig/space/3/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"4":{"id":"#tokensConfig/space/4","properties":{"value":{"type":"string","id":"#tokensConfig/space/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/space/5","properties":{"value":{"type":"string","id":"#tokensConfig/space/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/space/6","properties":{"value":{"type":"string","id":"#tokensConfig/space/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/space/7","properties":{"value":{"type":"string","id":"#tokensConfig/space/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/space/8","properties":{"value":{"type":"string","id":"#tokensConfig/space/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/space/9","properties":{"value":{"type":"string","id":"#tokensConfig/space/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/space/10","properties":{"value":{"type":"string","id":"#tokensConfig/space/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"11":{"id":"#tokensConfig/space/11","properties":{"value":{"type":"string","id":"#tokensConfig/space/11/value","default":"2.75rem"}},"type":"object","default":{"value":"2.75rem"}},"12":{"id":"#tokensConfig/space/12","properties":{"value":{"type":"string","id":"#tokensConfig/space/12/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"14":{"id":"#tokensConfig/space/14","properties":{"value":{"type":"string","id":"#tokensConfig/space/14/value","default":"3.5rem"}},"type":"object","default":{"value":"3.5rem"}},"16":{"id":"#tokensConfig/space/16","properties":{"value":{"type":"string","id":"#tokensConfig/space/16/value","default":"4rem"}},"type":"object","default":{"value":"4rem"}},"20":{"id":"#tokensConfig/space/20","properties":{"value":{"type":"string","id":"#tokensConfig/space/20/value","default":"5rem"}},"type":"object","default":{"value":"5rem"}},"24":{"id":"#tokensConfig/space/24","properties":{"value":{"type":"string","id":"#tokensConfig/space/24/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"28":{"id":"#tokensConfig/space/28","properties":{"value":{"type":"string","id":"#tokensConfig/space/28/value","default":"7rem"}},"type":"object","default":{"value":"7rem"}},"32":{"id":"#tokensConfig/space/32","properties":{"value":{"type":"string","id":"#tokensConfig/space/32/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}},"36":{"id":"#tokensConfig/space/36","properties":{"value":{"type":"string","id":"#tokensConfig/space/36/value","default":"9rem"}},"type":"object","default":{"value":"9rem"}},"40":{"id":"#tokensConfig/space/40","properties":{"value":{"type":"string","id":"#tokensConfig/space/40/value","default":"10rem"}},"type":"object","default":{"value":"10rem"}},"44":{"id":"#tokensConfig/space/44","properties":{"value":{"type":"string","id":"#tokensConfig/space/44/value","default":"11rem"}},"type":"object","default":{"value":"11rem"}},"48":{"id":"#tokensConfig/space/48","properties":{"value":{"type":"string","id":"#tokensConfig/space/48/value","default":"12rem"}},"type":"object","default":{"value":"12rem"}},"52":{"id":"#tokensConfig/space/52","properties":{"value":{"type":"string","id":"#tokensConfig/space/52/value","default":"13rem"}},"type":"object","default":{"value":"13rem"}},"56":{"id":"#tokensConfig/space/56","properties":{"value":{"type":"string","id":"#tokensConfig/space/56/value","default":"14rem"}},"type":"object","default":{"value":"14rem"}},"60":{"id":"#tokensConfig/space/60","properties":{"value":{"type":"string","id":"#tokensConfig/space/60/value","default":"15rem"}},"type":"object","default":{"value":"15rem"}},"64":{"id":"#tokensConfig/space/64","properties":{"value":{"type":"string","id":"#tokensConfig/space/64/value","default":"16rem"}},"type":"object","default":{"value":"16rem"}},"72":{"id":"#tokensConfig/space/72","properties":{"value":{"type":"string","id":"#tokensConfig/space/72/value","default":"18rem"}},"type":"object","default":{"value":"18rem"}},"80":{"id":"#tokensConfig/space/80","properties":{"value":{"type":"string","id":"#tokensConfig/space/80/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"96":{"id":"#tokensConfig/space/96","properties":{"value":{"type":"string","id":"#tokensConfig/space/96/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"128":{"id":"#tokensConfig/space/128","properties":{"value":{"type":"string","id":"#tokensConfig/space/128/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"px":{"id":"#tokensConfig/space/px","properties":{"value":{"type":"string","id":"#tokensConfig/space/px/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"rem":{"id":"#tokensConfig/space/rem","properties":{"125":{"id":"#tokensConfig/space/rem/125","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/125/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"375":{"id":"#tokensConfig/space/rem/375","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/375/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"625":{"id":"#tokensConfig/space/rem/625","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/625/value","default":"0.625rem"}},"type":"object","default":{"value":"0.625rem"}},"875":{"id":"#tokensConfig/space/rem/875","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/875/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}}},"type":"object","default":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"type":"object","default":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"borderWidth":{"title":"Your website border widths.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/borderWidth","properties":{"noBorder":{"id":"#tokensConfig/borderWidth/noBorder","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/noBorder/value","default":"0"}},"type":"object","default":{"value":"0"}},"sm":{"id":"#tokensConfig/borderWidth/sm","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/sm/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"md":{"id":"#tokensConfig/borderWidth/md","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/md/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"lg":{"id":"#tokensConfig/borderWidth/lg","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/lg/value","default":"3px"}},"type":"object","default":{"value":"3px"}}},"type":"object","default":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}}},"opacity":{"title":"Your website opacities.","tags":["@studioInput design-token","@studioInputTokenType opacity","@studioIcon material-symbols:opacity"],"id":"#tokensConfig/opacity","properties":{"noOpacity":{"id":"#tokensConfig/opacity/noOpacity","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/noOpacity/value","default":"0"}},"type":"object","default":{"value":"0"}},"bright":{"id":"#tokensConfig/opacity/bright","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/bright/value","default":"0.1"}},"type":"object","default":{"value":"0.1"}},"light":{"id":"#tokensConfig/opacity/light","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/light/value","default":"0.15"}},"type":"object","default":{"value":"0.15"}},"soft":{"id":"#tokensConfig/opacity/soft","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/soft/value","default":"0.3"}},"type":"object","default":{"value":"0.3"}},"medium":{"id":"#tokensConfig/opacity/medium","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/medium/value","default":"0.5"}},"type":"object","default":{"value":"0.5"}},"high":{"id":"#tokensConfig/opacity/high","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/high/value","default":"0.8"}},"type":"object","default":{"value":"0.8"}},"total":{"id":"#tokensConfig/opacity/total","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/total/value","default":"1"}},"type":"object","default":{"value":"1"}}},"type":"object","default":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}}},"font":{"title":"Your website fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/font","properties":{"sans":{"id":"#tokensConfig/font/sans","properties":{"value":{"type":"string","id":"#tokensConfig/font/sans/value","default":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"type":"object","default":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"serif":{"id":"#tokensConfig/font/serif","properties":{"value":{"type":"string","id":"#tokensConfig/font/serif/value","default":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"type":"object","default":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"mono":{"id":"#tokensConfig/font/mono","properties":{"value":{"type":"string","id":"#tokensConfig/font/mono/value","default":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"type":"object","default":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"type":"object","default":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"fontWeight":{"title":"Your website font weights.","tags":["@studioInput design-token","@studioInputTokenType font-weight","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontWeight","properties":{"thin":{"id":"#tokensConfig/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"fontSize":{"title":"Your website font sizes.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontSize","properties":{"xs":{"id":"#tokensConfig/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xs/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"sm":{"id":"#tokensConfig/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/sm/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}},"base":{"id":"#tokensConfig/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/base/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"lg":{"id":"#tokensConfig/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/lg/value","default":"1.125rem"}},"type":"object","default":{"value":"1.125rem"}},"xl":{"id":"#tokensConfig/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xl/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"2xl":{"id":"#tokensConfig/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/3xl/value","default":"1.875rem"}},"type":"object","default":{"value":"1.875rem"}},"4xl":{"id":"#tokensConfig/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/4xl/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"5xl":{"id":"#tokensConfig/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/5xl/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"6xl":{"id":"#tokensConfig/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/6xl/value","default":"3.75rem"}},"type":"object","default":{"value":"3.75rem"}},"7xl":{"id":"#tokensConfig/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/7xl/value","default":"4.5rem"}},"type":"object","default":{"value":"4.5rem"}},"8xl":{"id":"#tokensConfig/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/8xl/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"9xl":{"id":"#tokensConfig/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/9xl/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}}},"type":"object","default":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}}},"letterSpacing":{"title":"Your website letter spacings.","tags":["@studioInput design-token","@studioInputTokenType letter-spacing","@studioIcon fluent:font-space-tracking-out-24-filled"],"id":"#tokensConfig/letterSpacing","properties":{"tighter":{"id":"#tokensConfig/letterSpacing/tighter","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tighter/value","default":"-0.05em"}},"type":"object","default":{"value":"-0.05em"}},"tight":{"id":"#tokensConfig/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"normal":{"id":"#tokensConfig/letterSpacing/normal","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/normal/value","default":"0em"}},"type":"object","default":{"value":"0em"}},"wide":{"id":"#tokensConfig/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}},"wider":{"id":"#tokensConfig/letterSpacing/wider","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wider/value","default":"0.05em"}},"type":"object","default":{"value":"0.05em"}},"widest":{"id":"#tokensConfig/letterSpacing/widest","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/widest/value","default":"0.1em"}},"type":"object","default":{"value":"0.1em"}}},"type":"object","default":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}}},"lead":{"title":"Your website line heights.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon icon-park-outline:auto-line-height"],"id":"#tokensConfig/lead","properties":{"1":{"id":"#tokensConfig/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"text":{"title":"Your website text scales.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:format-size-rounded"],"id":"#tokensConfig/text","properties":{"xs":{"id":"#tokensConfig/text/xs","properties":{"fontSize":{"id":"#tokensConfig/text/xs/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/fontSize/value","default":"{fontSize.xs}"}},"type":"object","default":{"value":"{fontSize.xs}"}},"lineHeight":{"id":"#tokensConfig/text/xs/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/lineHeight/value","default":"{lead.4}"}},"type":"object","default":{"value":"{lead.4}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}}},"sm":{"id":"#tokensConfig/text/sm","properties":{"fontSize":{"id":"#tokensConfig/text/sm/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/text/sm/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/lineHeight/value","default":"{lead.5}"}},"type":"object","default":{"value":"{lead.5}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}}},"base":{"id":"#tokensConfig/text/base","properties":{"fontSize":{"id":"#tokensConfig/text/base/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/fontSize/value","default":"{fontSize.base}"}},"type":"object","default":{"value":"{fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/text/base/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/lineHeight/value","default":"{lead.6}"}},"type":"object","default":{"value":"{lead.6}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}}},"lg":{"id":"#tokensConfig/text/lg","properties":{"fontSize":{"id":"#tokensConfig/text/lg/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/fontSize/value","default":"{fontSize.lg}"}},"type":"object","default":{"value":"{fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/text/lg/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}}},"xl":{"id":"#tokensConfig/text/xl","properties":{"fontSize":{"id":"#tokensConfig/text/xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/fontSize/value","default":"{fontSize.xl}"}},"type":"object","default":{"value":"{fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/text/xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}}},"2xl":{"id":"#tokensConfig/text/2xl","properties":{"fontSize":{"id":"#tokensConfig/text/2xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/text/2xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/lineHeight/value","default":"{lead.8}"}},"type":"object","default":{"value":"{lead.8}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}}},"3xl":{"id":"#tokensConfig/text/3xl","properties":{"fontSize":{"id":"#tokensConfig/text/3xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/fontSize/value","default":"{fontSize.3xl}"}},"type":"object","default":{"value":"{fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/text/3xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/lineHeight/value","default":"{lead.9}"}},"type":"object","default":{"value":"{lead.9}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}}},"4xl":{"id":"#tokensConfig/text/4xl","properties":{"fontSize":{"id":"#tokensConfig/text/4xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/fontSize/value","default":"{fontSize.4xl}"}},"type":"object","default":{"value":"{fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/text/4xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/lineHeight/value","default":"{lead.10}"}},"type":"object","default":{"value":"{lead.10}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}}},"5xl":{"id":"#tokensConfig/text/5xl","properties":{"fontSize":{"id":"#tokensConfig/text/5xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/fontSize/value","default":"{fontSize.5xl}"}},"type":"object","default":{"value":"{fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/text/5xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}}},"6xl":{"id":"#tokensConfig/text/6xl","properties":{"fontSize":{"id":"#tokensConfig/text/6xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/fontSize/value","default":"{fontSize.6xl}"}},"type":"object","default":{"value":"{fontSize.6xl}"}},"lineHeight":{"id":"#tokensConfig/text/6xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"type":"object","default":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"elements":{"title":"All the configurable tokens for your Elements.","tags":["@studioIcon uiw:component"],"id":"#tokensConfig/elements","properties":{"text":{"id":"#tokensConfig/elements/text","properties":{"primary":{"id":"#tokensConfig/elements/text/primary","properties":{"color":{"id":"#tokensConfig/elements/text/primary/color","properties":{"static":{"id":"#tokensConfig/elements/text/primary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/primary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/dark","default":"{color.gray.50}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"hover":{"id":"#tokensConfig/elements/text/primary/color/hover","type":"any","default":{}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"secondary":{"id":"#tokensConfig/elements/text/secondary","properties":{"color":{"id":"#tokensConfig/elements/text/secondary/color","properties":{"static":{"id":"#tokensConfig/elements/text/secondary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/initial","default":"{color.gray.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/dark","default":"{color.gray.400}"}},"type":"object","default":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"type":"object","default":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"hover":{"id":"#tokensConfig/elements/text/secondary/color/hover","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/initial","default":"{color.gray.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"type":"object","default":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"container":{"title":"Main container sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:width-full-outline"],"id":"#tokensConfig/elements/container","properties":{"maxWidth":{"id":"#tokensConfig/elements/container/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/maxWidth/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"padding":{"id":"#tokensConfig/elements/container/padding","properties":{"mobile":{"id":"#tokensConfig/elements/container/padding/mobile","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/mobile/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"xs":{"id":"#tokensConfig/elements/container/padding/xs","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/xs/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"sm":{"id":"#tokensConfig/elements/container/padding/sm","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/sm/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}},"md":{"id":"#tokensConfig/elements/container/padding/md","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/md/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}}},"type":"object","default":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"type":"object","default":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"backdrop":{"title":"Backdrops used in Elements.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:blur-circular"],"id":"#tokensConfig/elements/backdrop","properties":{"filter":{"id":"#tokensConfig/elements/backdrop/filter","properties":{"value":{"type":"string","id":"#tokensConfig/elements/backdrop/filter/value","default":"saturate(200%) blur(20px)"}},"type":"object","default":{"value":"saturate(200%) blur(20px)"}},"background":{"id":"#tokensConfig/elements/backdrop/background","properties":{"value":{"id":"#tokensConfig/elements/backdrop/background/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/initial","default":"#fffc"},"dark":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/dark","default":"#0c0d0ccc"}},"type":"object","default":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"type":"object","default":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"type":"object","default":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"border":{"title":"Borders used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/elements/border","properties":{"primary":{"id":"#tokensConfig/elements/border/primary","properties":{"static":{"id":"#tokensConfig/elements/border/primary/static","properties":{"value":{"id":"#tokensConfig/elements/border/primary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"hover":{"id":"#tokensConfig/elements/border/primary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/primary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"secondary":{"id":"#tokensConfig/elements/border/secondary","properties":{"static":{"id":"#tokensConfig/elements/border/secondary/static","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"hover":{"id":"#tokensConfig/elements/border/secondary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/initial","default":""},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/dark","default":""}},"type":"object","default":{"initial":"","dark":""}}},"type":"object","default":{"value":{"initial":"","dark":""}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"type":"object","default":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"surface":{"title":"Surfaces used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon fluent:surface-hub-20-filled"],"id":"#tokensConfig/elements/surface","properties":{"background":{"id":"#tokensConfig/elements/surface/background","properties":{"base":{"id":"#tokensConfig/elements/surface/background/base","properties":{"value":{"id":"#tokensConfig/elements/surface/background/base/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"primary":{"id":"#tokensConfig/elements/surface/primary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/primary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/primary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"secondary":{"id":"#tokensConfig/elements/surface/secondary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"type":"object","default":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"state":{"title":"Color states used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon mdi:palette-advanced"],"id":"#tokensConfig/elements/state","properties":{"primary":{"id":"#tokensConfig/elements/state/primary","properties":{"color":{"id":"#tokensConfig/elements/state/primary/color","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/initial","default":"{color.primary.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/dark","default":"{color.primary.400}"}},"type":"object","default":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/initial","default":"{color.primary.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/dark","default":"{color.primary.200}"}},"type":"object","default":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"type":"object","default":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/primary/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial","default":"{color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark","default":"{color.primary.900}"}},"type":"object","default":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/primary/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/initial","default":"{color.primary.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/dark","default":"{color.primary.700}"}},"type":"object","default":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}},"type":"object","default":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"info":{"id":"#tokensConfig/elements/state/info","properties":{"color":{"id":"#tokensConfig/elements/state/info/color","properties":{"primary":{"id":"#tokensConfig/elements/state/info/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/initial","default":"{color.blue.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/dark","default":"{color.blue.400}"}},"type":"object","default":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"type":"object","default":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/initial","default":"{color.blue.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/dark","default":"{color.blue.200}"}},"type":"object","default":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"type":"object","default":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/info/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/initial","default":"{color.blue.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/dark","default":"{color.blue.900}"}},"type":"object","default":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"type":"object","default":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/info/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/initial","default":"{color.blue.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/dark","default":"{color.blue.700}"}},"type":"object","default":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}},"type":"object","default":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"success":{"id":"#tokensConfig/elements/state/success","properties":{"color":{"id":"#tokensConfig/elements/state/success/color","properties":{"primary":{"id":"#tokensConfig/elements/state/success/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/initial","default":"{color.green.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/dark","default":"{color.green.400}"}},"type":"object","default":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"type":"object","default":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/initial","default":"{color.green.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/dark","default":"{color.green.200}"}},"type":"object","default":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"type":"object","default":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/success/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/initial","default":"{color.green.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/dark","default":"{color.green.900}"}},"type":"object","default":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"type":"object","default":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/success/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/initial","default":"{color.green.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/dark","default":"{color.green.700}"}},"type":"object","default":{"initial":"{color.green.200}","dark":"{color.green.700}"}}},"type":"object","default":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"warning":{"id":"#tokensConfig/elements/state/warning","properties":{"color":{"id":"#tokensConfig/elements/state/warning/color","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/initial","default":"{color.yellow.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/dark","default":"{color.yellow.400}"}},"type":"object","default":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/initial","default":"{color.yellow.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/dark","default":"{color.yellow.200}"}},"type":"object","default":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/warning/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial","default":"{color.yellow.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark","default":"{color.yellow.900}"}},"type":"object","default":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/warning/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/initial","default":"{color.yellow.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/dark","default":"{color.yellow.700}"}},"type":"object","default":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"danger":{"id":"#tokensConfig/elements/state/danger","properties":{"color":{"id":"#tokensConfig/elements/state/danger/color","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/initial","default":"{color.red.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/dark","default":"{color.red.300}"}},"type":"object","default":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"type":"object","default":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/initial","default":"{color.red.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/dark","default":"{color.red.200}"}},"type":"object","default":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"type":"object","default":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/danger/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial","default":"{color.red.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark","default":"{color.red.900}"}},"type":"object","default":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"type":"object","default":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/danger/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/initial","default":"{color.red.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/dark","default":"{color.red.700}"}},"type":"object","default":{"initial":"{color.red.200}","dark":"{color.red.700}"}}},"type":"object","default":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"type":"object","default":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"type":"object","default":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"typography":{"title":"All the configurable tokens for your Typography.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:article"],"id":"#tokensConfig/typography","properties":{"body":{"id":"#tokensConfig/typography/body","properties":{"color":{"id":"#tokensConfig/typography/body/color","properties":{"value":{"id":"#tokensConfig/typography/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/color/value/initial","default":"{color.black}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/color/value/dark","default":"{color.white}"}},"type":"object","default":{"initial":"{color.black}","dark":"{color.white}"}}},"type":"object","default":{"value":{"initial":"{color.black}","dark":"{color.white}"}}},"backgroundColor":{"id":"#tokensConfig/typography/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/typography/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"type":"object","default":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"verticalMargin":{"title":"Vertical spacings between paragraphs.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:line-height-line"],"id":"#tokensConfig/typography/verticalMargin","properties":{"sm":{"id":"#tokensConfig/typography/verticalMargin/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/sm/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"base":{"id":"#tokensConfig/typography/verticalMargin/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/base/value","default":"24px"}},"type":"object","default":{"value":"24px"}}},"type":"object","default":{"sm":{"value":"16px"},"base":{"value":"24px"}}},"letterSpacing":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:letter-spacing-line"],"id":"#tokensConfig/typography/letterSpacing","properties":{"tight":{"id":"#tokensConfig/typography/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"wide":{"id":"#tokensConfig/typography/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}}},"type":"object","default":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}}},"fontSize":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:font-size-fill"],"id":"#tokensConfig/typography/fontSize","properties":{"xs":{"id":"#tokensConfig/typography/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xs/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"sm":{"id":"#tokensConfig/typography/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/sm/value","default":"14px"}},"type":"object","default":{"value":"14px"}},"base":{"id":"#tokensConfig/typography/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/base/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"lg":{"id":"#tokensConfig/typography/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/lg/value","default":"18px"}},"type":"object","default":{"value":"18px"}},"xl":{"id":"#tokensConfig/typography/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xl/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"2xl":{"id":"#tokensConfig/typography/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/2xl/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"3xl":{"id":"#tokensConfig/typography/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/3xl/value","default":"30px"}},"type":"object","default":{"value":"30px"}},"4xl":{"id":"#tokensConfig/typography/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/4xl/value","default":"36px"}},"type":"object","default":{"value":"36px"}},"5xl":{"id":"#tokensConfig/typography/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/5xl/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"6xl":{"id":"#tokensConfig/typography/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/6xl/value","default":"60px"}},"type":"object","default":{"value":"60px"}},"7xl":{"id":"#tokensConfig/typography/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/7xl/value","default":"72px"}},"type":"object","default":{"value":"72px"}},"8xl":{"id":"#tokensConfig/typography/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/8xl/value","default":"96px"}},"type":"object","default":{"value":"96px"}},"9xl":{"id":"#tokensConfig/typography/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/9xl/value","default":"128px"}},"type":"object","default":{"value":"128px"}}},"type":"object","default":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}}},"fontWeight":{"title":"Font weights used in typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:bold-fill"],"id":"#tokensConfig/typography/fontWeight","properties":{"thin":{"id":"#tokensConfig/typography/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/typography/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/typography/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/typography/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/typography/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/typography/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/typography/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/typography/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/typography/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"lead":{"title":"Line heights used in your typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon material-symbols:height-rounded"],"id":"#tokensConfig/typography/lead","properties":{"1":{"id":"#tokensConfig/typography/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/typography/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/typography/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/typography/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/typography/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/typography/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/typography/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/typography/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/typography/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/typography/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/typography/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/typography/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/typography/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/typography/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/typography/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/typography/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your typography fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/typography/font","properties":{"display":{"id":"#tokensConfig/typography/font/display","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/display/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"body":{"id":"#tokensConfig/typography/font/body","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/body/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"code":{"id":"#tokensConfig/typography/font/code","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/code/value","default":"{font.mono}"}},"type":"object","default":{"value":"{font.mono}"}}},"type":"object","default":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}}},"color":{"title":"Your typography color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/typography/color","properties":{"primary":{"id":"#tokensConfig/typography/color/primary","properties":{"50":{"id":"#tokensConfig/typography/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/50/value","default":"{color.primary.50}"}},"type":"object","default":{"value":"{color.primary.50}"}},"100":{"id":"#tokensConfig/typography/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/100/value","default":"{color.primary.100}"}},"type":"object","default":{"value":"{color.primary.100}"}},"200":{"id":"#tokensConfig/typography/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/200/value","default":"{color.primary.200}"}},"type":"object","default":{"value":"{color.primary.200}"}},"300":{"id":"#tokensConfig/typography/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/300/value","default":"{color.primary.300}"}},"type":"object","default":{"value":"{color.primary.300}"}},"400":{"id":"#tokensConfig/typography/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/400/value","default":"{color.primary.400}"}},"type":"object","default":{"value":"{color.primary.400}"}},"500":{"id":"#tokensConfig/typography/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/500/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}},"600":{"id":"#tokensConfig/typography/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/600/value","default":"{color.primary.600}"}},"type":"object","default":{"value":"{color.primary.600}"}},"700":{"id":"#tokensConfig/typography/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/700/value","default":"{color.primary.700}"}},"type":"object","default":{"value":"{color.primary.700}"}},"800":{"id":"#tokensConfig/typography/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/800/value","default":"{color.primary.800}"}},"type":"object","default":{"value":"{color.primary.800}"}},"900":{"id":"#tokensConfig/typography/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/900/value","default":"{color.primary.900}"}},"type":"object","default":{"value":"{color.primary.900}"}}},"type":"object","default":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/typography/color/secondary","properties":{"50":{"id":"#tokensConfig/typography/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/typography/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/typography/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/typography/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/typography/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/typography/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/typography/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/typography/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/typography/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/typography/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"type":"object","default":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"prose":{"title":"All the configurable tokens for your Prose components.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon lucide:component"],"id":"#tokensConfig/prose","properties":{"p":{"id":"#tokensConfig/prose/p","properties":{"fontSize":{"id":"#tokensConfig/prose/p/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/fontSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/prose/p/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"margin":{"id":"#tokensConfig/prose/p/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"br":{"id":"#tokensConfig/prose/p/br","properties":{"margin":{"id":"#tokensConfig/prose/p/br/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/br/margin/value","default":"{typography.verticalMargin.base} 0 0 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"h1":{"id":"#tokensConfig/prose/h1","properties":{"margin":{"id":"#tokensConfig/prose/h1/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/margin/value","default":"0 0 2rem"}},"type":"object","default":{"value":"0 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h1/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontSize/value","default":"{typography.fontSize.5xl}"}},"type":"object","default":{"value":"{typography.fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h1/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h1/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontWeight/value","default":"{typography.fontWeight.bold}"}},"type":"object","default":{"value":"{typography.fontWeight.bold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h1/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h1/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/iconSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}}},"type":"object","default":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}}},"h2":{"id":"#tokensConfig/prose/h2","properties":{"margin":{"id":"#tokensConfig/prose/h2/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h2/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontSize/value","default":"{typography.fontSize.4xl}"}},"type":"object","default":{"value":"{typography.fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h2/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h2/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h2/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h2/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/iconSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}}},"h3":{"id":"#tokensConfig/prose/h3","properties":{"margin":{"id":"#tokensConfig/prose/h3/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h3/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h3/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h3/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h3/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h3/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/iconSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}}},"h4":{"id":"#tokensConfig/prose/h4","properties":{"margin":{"id":"#tokensConfig/prose/h4/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h4/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h4/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h4/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h4/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h4/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h5":{"id":"#tokensConfig/prose/h5","properties":{"margin":{"id":"#tokensConfig/prose/h5/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h5/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h5/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h5/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h5/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h6":{"id":"#tokensConfig/prose/h6","properties":{"margin":{"id":"#tokensConfig/prose/h6/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h6/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/prose/h6/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"fontWeight":{"id":"#tokensConfig/prose/h6/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h6/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/iconSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}}},"strong":{"id":"#tokensConfig/prose/strong","properties":{"fontWeight":{"id":"#tokensConfig/prose/strong/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/strong/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"img":{"id":"#tokensConfig/prose/img","properties":{"margin":{"id":"#tokensConfig/prose/img/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/img/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"}}},"a":{"id":"#tokensConfig/prose/a","properties":{"textDecoration":{"id":"#tokensConfig/prose/a/textDecoration","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/textDecoration/value","default":"none"}},"type":"object","default":{"value":"none"}},"color":{"id":"#tokensConfig/prose/a/color","properties":{"static":{"id":"#tokensConfig/prose/a/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/initial","default":"inherit"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/dark","default":"inherit"}},"type":"object","default":{"initial":"inherit","dark":"inherit"}}},"type":"object","default":{"value":{"initial":"inherit","dark":"inherit"}}},"hover":{"id":"#tokensConfig/prose/a/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/dark","default":"{typography.color.primary.400}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"type":"object","default":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"border":{"id":"#tokensConfig/prose/a/border","properties":{"width":{"id":"#tokensConfig/prose/a/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/a/border/style","properties":{"static":{"id":"#tokensConfig/prose/a/border/style/static","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/static/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"hover":{"id":"#tokensConfig/prose/a/border/style/hover","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/hover/value","default":"solid"}},"type":"object","default":{"value":"solid"}}},"type":"object","default":{"static":{"value":"dashed"},"hover":{"value":"solid"}}},"color":{"id":"#tokensConfig/prose/a/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"distance":{"id":"#tokensConfig/prose/a/border/distance","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/distance/value","default":"2px"}},"type":"object","default":{"value":"2px"}}},"type":"object","default":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}}},"fontWeight":{"id":"#tokensConfig/prose/a/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/fontWeight/value","default":"{typography.fontWeight.medium}"}},"type":"object","default":{"value":"{typography.fontWeight.medium}"}},"hasCode":{"id":"#tokensConfig/prose/a/hasCode","properties":{"borderBottom":{"id":"#tokensConfig/prose/a/hasCode/borderBottom","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/hasCode/borderBottom/value","default":"none"}},"type":"object","default":{"value":"none"}}},"type":"object","default":{"borderBottom":{"value":"none"}}},"code":{"id":"#tokensConfig/prose/a/code","properties":{"border":{"id":"#tokensConfig/prose/a/code/border","properties":{"width":{"id":"#tokensConfig/prose/a/code/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/width/value","default":"{prose.a.border.width}"}},"type":"object","default":{"value":"{prose.a.border.width}"}},"style":{"id":"#tokensConfig/prose/a/code/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/style/value","default":"{prose.a.border.style.static}"}},"type":"object","default":{"value":"{prose.a.border.style.static}"}},"color":{"id":"#tokensConfig/prose/a/code/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"hover":{"id":"#tokensConfig/prose/a/code/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/dark","default":"{typography.color.primary.600}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"type":"object","default":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"type":"object","default":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"color":{"id":"#tokensConfig/prose/a/code/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/code/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"background":{"id":"#tokensConfig/prose/a/code/background","properties":{"static":{"id":"#tokensConfig/prose/a/code/background/static","type":"any","default":{}},"hover":{"id":"#tokensConfig/prose/a/code/background/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/background/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/initial","default":"{typography.color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/dark","default":"{typography.color.primary.900}"}},"type":"object","default":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}},"type":"object","default":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"type":"object","default":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"type":"object","default":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"blockquote":{"id":"#tokensConfig/prose/blockquote","properties":{"margin":{"id":"#tokensConfig/prose/blockquote/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/blockquote/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/paddingInlineStart/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"quotes":{"id":"#tokensConfig/prose/blockquote/quotes","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/quotes/value","default":"'201C' '201D' '2018' '2019'"}},"type":"object","default":{"value":"'201C' '201D' '2018' '2019'"}},"color":{"id":"#tokensConfig/prose/blockquote/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"border":{"id":"#tokensConfig/prose/blockquote/border","properties":{"width":{"id":"#tokensConfig/prose/blockquote/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/width/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"style":{"id":"#tokensConfig/prose/blockquote/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/blockquote/border/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"ul":{"id":"#tokensConfig/prose/ul","properties":{"listStyleType":{"id":"#tokensConfig/prose/ul/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/listStyleType/value","default":"disc"}},"type":"object","default":{"value":"disc"}},"margin":{"id":"#tokensConfig/prose/ul/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ul/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ul/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ul/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ul/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"ol":{"id":"#tokensConfig/prose/ol","properties":{"listStyleType":{"id":"#tokensConfig/prose/ol/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/listStyleType/value","default":"decimal"}},"type":"object","default":{"value":"decimal"}},"margin":{"id":"#tokensConfig/prose/ol/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ol/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ol/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ol/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ol/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"li":{"id":"#tokensConfig/prose/li","properties":{"margin":{"id":"#tokensConfig/prose/li/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/margin/value","default":"{typography.verticalMargin.sm} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.sm} 0"}},"listStylePosition":{"id":"#tokensConfig/prose/li/listStylePosition","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/listStylePosition/value","default":"outside"}},"type":"object","default":{"value":"outside"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}}},"hr":{"id":"#tokensConfig/prose/hr","properties":{"margin":{"id":"#tokensConfig/prose/hr/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"style":{"id":"#tokensConfig/prose/hr/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"width":{"id":"#tokensConfig/prose/hr/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"color":{"id":"#tokensConfig/prose/hr/color","properties":{"value":{"id":"#tokensConfig/prose/hr/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/hr/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/hr/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"table":{"id":"#tokensConfig/prose/table","properties":{"margin":{"id":"#tokensConfig/prose/table/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"textAlign":{"id":"#tokensConfig/prose/table/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/textAlign/value","default":"start"}},"type":"object","default":{"value":"start"}},"fontSize":{"id":"#tokensConfig/prose/table/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/prose/table/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/lineHeight/value","default":"{typography.lead.6}"}},"type":"object","default":{"value":"{typography.lead.6}"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}}},"thead":{"id":"#tokensConfig/prose/thead","properties":{"border":{"id":"#tokensConfig/prose/thead/border","properties":{"width":{"id":"#tokensConfig/prose/thead/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/width/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"style":{"id":"#tokensConfig/prose/thead/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/border/color","properties":{"value":{"id":"#tokensConfig/prose/thead/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"borderBottom":{"id":"#tokensConfig/prose/thead/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/thead/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/thead/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/thead/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"th":{"id":"#tokensConfig/prose/th","properties":{"color":{"id":"#tokensConfig/prose/th/color","properties":{"value":{"id":"#tokensConfig/prose/th/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/th/color/value/initial","default":"{typography.color.secondary.600}"},"dark":{"type":"string","id":"#tokensConfig/prose/th/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"padding":{"id":"#tokensConfig/prose/th/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/padding/value","default":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"type":"object","default":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/th/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"textAlign":{"id":"#tokensConfig/prose/th/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/textAlign/value","default":"inherit"}},"type":"object","default":{"value":"inherit"}}},"type":"object","default":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}}},"tbody":{"id":"#tokensConfig/prose/tbody","properties":{"tr":{"id":"#tokensConfig/prose/tbody/tr","properties":{"borderBottom":{"id":"#tokensConfig/prose/tbody/tr/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/style/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"color":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"td":{"id":"#tokensConfig/prose/tbody/td","properties":{"padding":{"id":"#tokensConfig/prose/tbody/td/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/td/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"code":{"id":"#tokensConfig/prose/tbody/code","properties":{"inline":{"id":"#tokensConfig/prose/tbody/code/inline","properties":{"fontSize":{"id":"#tokensConfig/prose/tbody/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"type":"object","default":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"type":"object","default":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"code":{"id":"#tokensConfig/prose/code","properties":{"block":{"id":"#tokensConfig/prose/code/block","properties":{"fontSize":{"id":"#tokensConfig/prose/code/block/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"margin":{"id":"#tokensConfig/prose/code/block/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"border":{"id":"#tokensConfig/prose/code/block/border","properties":{"width":{"id":"#tokensConfig/prose/code/block/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/code/block/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/code/block/border/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"color":{"id":"#tokensConfig/prose/code/block/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/block/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/block/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"backdropFilter":{"id":"#tokensConfig/prose/code/block/backdropFilter","properties":{"value":{"id":"#tokensConfig/prose/code/block/backdropFilter/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/initial","default":"contrast(1)"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/dark","default":"contrast(1)"}},"type":"object","default":{"initial":"contrast(1)","dark":"contrast(1)"}}},"type":"object","default":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}}},"pre":{"id":"#tokensConfig/prose/code/block/pre","properties":{"padding":{"id":"#tokensConfig/prose/code/block/pre/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/pre/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"inline":{"id":"#tokensConfig/prose/code/inline","properties":{"borderRadius":{"id":"#tokensConfig/prose/code/inline/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/borderRadius/value","default":"{radii.xs}"}},"type":"object","default":{"value":"{radii.xs}"}},"padding":{"id":"#tokensConfig/prose/code/inline/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/padding/value","default":"0.2rem 0.375rem 0.2rem 0.375rem"}},"type":"object","default":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"}},"fontSize":{"id":"#tokensConfig/prose/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/code/inline/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontWeight/value","default":"{typography.fontWeight.normal}"}},"type":"object","default":{"value":"{typography.fontWeight.normal}"}},"color":{"id":"#tokensConfig/prose/code/inline/color","properties":{"value":{"id":"#tokensConfig/prose/code/inline/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/inline/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/inline/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"type":"object","default":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"docus":{"title":"All the configurable tokens from Docus.","tags":["@studioIcon material-symbols:docs"],"id":"#tokensConfig/docus","properties":{"body":{"id":"#tokensConfig/docus/body","properties":{"backgroundColor":{"id":"#tokensConfig/docus/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"color":{"id":"#tokensConfig/docus/body/color","properties":{"value":{"id":"#tokensConfig/docus/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/color/value/initial","default":"{color.gray.800}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/color/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"fontFamily":{"id":"#tokensConfig/docus/body/fontFamily","properties":{"value":{"type":"string","id":"#tokensConfig/docus/body/fontFamily/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}}},"header":{"id":"#tokensConfig/docus/header","properties":{"height":{"id":"#tokensConfig/docus/header/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/height/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"logo":{"id":"#tokensConfig/docus/header/logo","properties":{"height":{"id":"#tokensConfig/docus/header/logo/height","properties":{"value":{"id":"#tokensConfig/docus/header/logo/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/initial","default":"{space.6}"},"sm":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/sm","default":"{space.7}"}},"type":"object","default":{"initial":"{space.6}","sm":"{space.7}"}}},"type":"object","default":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"type":"object","default":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"title":{"id":"#tokensConfig/docus/header/title","properties":{"fontSize":{"id":"#tokensConfig/docus/header/title/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"fontWeight":{"id":"#tokensConfig/docus/header/title/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontWeight/value","default":"{fontWeight.bold}"}},"type":"object","default":{"value":"{fontWeight.bold}"}},"color":{"id":"#tokensConfig/docus/header/title/color","properties":{"static":{"id":"#tokensConfig/docus/header/title/color/static","properties":{"value":{"id":"#tokensConfig/docus/header/title/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/dark","default":"{color.gray.100}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"hover":{"id":"#tokensConfig/docus/header/title/color/hover","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/color/hover/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"footer":{"id":"#tokensConfig/docus/footer","properties":{"height":{"id":"#tokensConfig/docus/footer/height","properties":{"value":{"id":"#tokensConfig/docus/footer/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/footer/height/value/initial","default":"145px"},"sm":{"type":"string","id":"#tokensConfig/docus/footer/height/value/sm","default":"100px"}},"type":"object","default":{"initial":"145px","sm":"100px"}}},"type":"object","default":{"value":{"initial":"145px","sm":"100px"}}},"padding":{"id":"#tokensConfig/docus/footer/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/footer/padding/value","default":"{space.4} 0"}},"type":"object","default":{"value":"{space.4} 0"}}},"type":"object","default":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}}},"readableLine":{"id":"#tokensConfig/docus/readableLine","properties":{"value":{"type":"string","id":"#tokensConfig/docus/readableLine/value","default":"78ch"}},"type":"object","default":{"value":"78ch"}},"loadingBar":{"id":"#tokensConfig/docus/loadingBar","properties":{"height":{"id":"#tokensConfig/docus/loadingBar/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/height/value","default":"3px"}},"type":"object","default":{"value":"3px"}},"gradientColorStop1":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop1","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop1/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"gradientColorStop2":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop2","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop2/value","default":"#34cdfe"}},"type":"object","default":{"value":"#34cdfe"}},"gradientColorStop3":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop3","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop3/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}}},"type":"object","default":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}},"search":{"id":"#tokensConfig/docus/search","properties":{"backdropFilter":{"id":"#tokensConfig/docus/search/backdropFilter","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/backdropFilter/value","default":"blur(24px)"}},"type":"object","default":{"value":"blur(24px)"}},"input":{"id":"#tokensConfig/docus/search/input","properties":{"borderRadius":{"id":"#tokensConfig/docus/search/input/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderRadius/value","default":"{radii.2xs}"}},"type":"object","default":{"value":"{radii.2xs}"}},"borderWidth":{"id":"#tokensConfig/docus/search/input/borderWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderWidth/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"borderStyle":{"id":"#tokensConfig/docus/search/input/borderStyle","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderStyle/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"borderColor":{"id":"#tokensConfig/docus/search/input/borderColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/borderColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/dark","default":"transparent"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"transparent"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"transparent"}}},"fontSize":{"id":"#tokensConfig/docus/search/input/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"gap":{"id":"#tokensConfig/docus/search/input/gap","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/gap/value","default":"{space.2}"}},"type":"object","default":{"value":"{space.2}"}},"padding":{"id":"#tokensConfig/docus/search/input/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/padding/value","default":"{space.2} {space.4}"}},"type":"object","default":{"value":"{space.2} {space.4}"}},"backgroundColor":{"id":"#tokensConfig/docus/search/input/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"results":{"id":"#tokensConfig/docus/search/results","properties":{"window":{"id":"#tokensConfig/docus/search/results/window","properties":{"marginX":{"id":"#tokensConfig/docus/search/results/window/marginX","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginX/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/sm","default":"{space.4}"}},"type":"object","default":{"initial":"0","sm":"{space.4}"}}},"type":"object","default":{"value":{"initial":"0","sm":"{space.4}"}}},"borderRadius":{"id":"#tokensConfig/docus/search/results/window/borderRadius","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/borderRadius/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/initial","default":"none"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/sm","default":"{radii.xs}"}},"type":"object","default":{"initial":"none","sm":"{radii.xs}"}}},"type":"object","default":{"value":{"initial":"none","sm":"{radii.xs}"}}},"marginTop":{"id":"#tokensConfig/docus/search/results/window/marginTop","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginTop/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/sm","default":"20vh"}},"type":"object","default":{"initial":"0","sm":"20vh"}}},"type":"object","default":{"value":{"initial":"0","sm":"20vh"}}},"maxWidth":{"id":"#tokensConfig/docus/search/results/window/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxWidth/value","default":"640px"}},"type":"object","default":{"value":"640px"}},"maxHeight":{"id":"#tokensConfig/docus/search/results/window/maxHeight","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/maxHeight/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/initial","default":"100%"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/sm","default":"320px"}},"type":"object","default":{"initial":"100%","sm":"320px"}}},"type":"object","default":{"value":{"initial":"100%","sm":"320px"}}}},"type":"object","default":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}}},"selected":{"id":"#tokensConfig/docus/search/results/selected","properties":{"backgroundColor":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/initial","default":"{color.gray.300}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/dark","default":"{color.gray.700}"}},"type":"object","default":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"type":"object","default":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"highlight":{"id":"#tokensConfig/docus/search/results/highlight","properties":{"color":{"id":"#tokensConfig/docus/search/results/highlight/color","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/color/value","default":"white"}},"type":"object","default":{"value":"white"}},"backgroundColor":{"id":"#tokensConfig/docus/search/results/highlight/backgroundColor","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/backgroundColor/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}},"type":"object","default":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}},"type":"object","default":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"type":"object","default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"tokensConfig":{"media":{"xs":{"value":"(min-width: 475px)","variable":"var(--media-xs)","raw":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)","variable":"var(--media-sm)","raw":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)","variable":"var(--media-md)","raw":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)","variable":"var(--media-lg)","raw":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)","variable":"var(--media-xl)","raw":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)","variable":"var(--media-2xl)","raw":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)","variable":"var(--media-rm)","raw":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)","variable":"var(--media-landscape)","raw":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)","variable":"var(--media-portrait)","raw":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff","variable":"var(--color-white)","raw":"#ffffff"},"black":{"value":"#0B0A0A","variable":"var(--color-black)","raw":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB","variable":"var(--color-gray-50)","raw":"#FBFBFB"},"100":{"value":"#F6F5F4","variable":"var(--color-gray-100)","raw":"#F6F5F4"},"200":{"value":"#ECEBE8","variable":"var(--color-gray-200)","raw":"#ECEBE8"},"300":{"value":"#DBD9D3","variable":"var(--color-gray-300)","raw":"#DBD9D3"},"400":{"value":"#ADA9A4","variable":"var(--color-gray-400)","raw":"#ADA9A4"},"500":{"value":"#97948F","variable":"var(--color-gray-500)","raw":"#97948F"},"600":{"value":"#67635D","variable":"var(--color-gray-600)","raw":"#67635D"},"700":{"value":"#36332E","variable":"var(--color-gray-700)","raw":"#36332E"},"800":{"value":"#201E1B","variable":"var(--color-gray-800)","raw":"#201E1B"},"900":{"value":"#121110","variable":"var(--color-gray-900)","raw":"#121110"}},"green":{"50":{"value":"#ECFFF7","variable":"var(--color-green-50)","raw":"#ECFFF7"},"100":{"value":"#DEFFF1","variable":"var(--color-green-100)","raw":"#DEFFF1"},"200":{"value":"#C3FFE6","variable":"var(--color-green-200)","raw":"#C3FFE6"},"300":{"value":"#86FBCB","variable":"var(--color-green-300)","raw":"#86FBCB"},"400":{"value":"#3CEEA5","variable":"var(--color-green-400)","raw":"#3CEEA5"},"500":{"value":"#0DD885","variable":"var(--color-green-500)","raw":"#0DD885"},"600":{"value":"#00B467","variable":"var(--color-green-600)","raw":"#00B467"},"700":{"value":"#006037","variable":"var(--color-green-700)","raw":"#006037"},"800":{"value":"#002817","variable":"var(--color-green-800)","raw":"#002817"},"900":{"value":"#00190F","variable":"var(--color-green-900)","raw":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE","variable":"var(--color-yellow-50)","raw":"#FFFCEE"},"100":{"value":"#FFF6D3","variable":"var(--color-yellow-100)","raw":"#FFF6D3"},"200":{"value":"#FFF0B1","variable":"var(--color-yellow-200)","raw":"#FFF0B1"},"300":{"value":"#FFE372","variable":"var(--color-yellow-300)","raw":"#FFE372"},"400":{"value":"#FFDC4E","variable":"var(--color-yellow-400)","raw":"#FFDC4E"},"500":{"value":"#FBCA05","variable":"var(--color-yellow-500)","raw":"#FBCA05"},"600":{"value":"#CBA408","variable":"var(--color-yellow-600)","raw":"#CBA408"},"700":{"value":"#614E02","variable":"var(--color-yellow-700)","raw":"#614E02"},"800":{"value":"#292100","variable":"var(--color-yellow-800)","raw":"#292100"},"900":{"value":"#1B1500","variable":"var(--color-yellow-900)","raw":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9","variable":"var(--color-orange-50)","raw":"#ffe9d9"},"100":{"value":"#ffd3b3","variable":"var(--color-orange-100)","raw":"#ffd3b3"},"200":{"value":"#ffbd8d","variable":"var(--color-orange-200)","raw":"#ffbd8d"},"300":{"value":"#ffa666","variable":"var(--color-orange-300)","raw":"#ffa666"},"400":{"value":"#ff9040","variable":"var(--color-orange-400)","raw":"#ff9040"},"500":{"value":"#ff7a1a","variable":"var(--color-orange-500)","raw":"#ff7a1a"},"600":{"value":"#e15e00","variable":"var(--color-orange-600)","raw":"#e15e00"},"700":{"value":"#a94700","variable":"var(--color-orange-700)","raw":"#a94700"},"800":{"value":"#702f00","variable":"var(--color-orange-800)","raw":"#702f00"},"900":{"value":"#381800","variable":"var(--color-orange-900)","raw":"#381800"}},"red":{"50":{"value":"#FFF9F8","variable":"var(--color-red-50)","raw":"#FFF9F8"},"100":{"value":"#FFF3F0","variable":"var(--color-red-100)","raw":"#FFF3F0"},"200":{"value":"#FFDED7","variable":"var(--color-red-200)","raw":"#FFDED7"},"300":{"value":"#FFA692","variable":"var(--color-red-300)","raw":"#FFA692"},"400":{"value":"#FF7353","variable":"var(--color-red-400)","raw":"#FF7353"},"500":{"value":"#FF3B10","variable":"var(--color-red-500)","raw":"#FF3B10"},"600":{"value":"#BB2402","variable":"var(--color-red-600)","raw":"#BB2402"},"700":{"value":"#701704","variable":"var(--color-red-700)","raw":"#701704"},"800":{"value":"#340A01","variable":"var(--color-red-800)","raw":"#340A01"},"900":{"value":"#1C0301","variable":"var(--color-red-900)","raw":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc","variable":"var(--color-pear-50)","raw":"#f7f8dc"},"100":{"value":"#eff0ba","variable":"var(--color-pear-100)","raw":"#eff0ba"},"200":{"value":"#e8e997","variable":"var(--color-pear-200)","raw":"#e8e997"},"300":{"value":"#e0e274","variable":"var(--color-pear-300)","raw":"#e0e274"},"400":{"value":"#d8da52","variable":"var(--color-pear-400)","raw":"#d8da52"},"500":{"value":"#d0d32f","variable":"var(--color-pear-500)","raw":"#d0d32f"},"600":{"value":"#a8aa24","variable":"var(--color-pear-600)","raw":"#a8aa24"},"700":{"value":"#7e801b","variable":"var(--color-pear-700)","raw":"#7e801b"},"800":{"value":"#545512","variable":"var(--color-pear-800)","raw":"#545512"},"900":{"value":"#2a2b09","variable":"var(--color-pear-900)","raw":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8","variable":"var(--color-teal-50)","raw":"#d7faf8"},"100":{"value":"#aff4f0","variable":"var(--color-teal-100)","raw":"#aff4f0"},"200":{"value":"#87efe9","variable":"var(--color-teal-200)","raw":"#87efe9"},"300":{"value":"#5fe9e1","variable":"var(--color-teal-300)","raw":"#5fe9e1"},"400":{"value":"#36e4da","variable":"var(--color-teal-400)","raw":"#36e4da"},"500":{"value":"#1cd1c6","variable":"var(--color-teal-500)","raw":"#1cd1c6"},"600":{"value":"#16a79e","variable":"var(--color-teal-600)","raw":"#16a79e"},"700":{"value":"#117d77","variable":"var(--color-teal-700)","raw":"#117d77"},"800":{"value":"#0b544f","variable":"var(--color-teal-800)","raw":"#0b544f"},"900":{"value":"#062a28","variable":"var(--color-teal-900)","raw":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff","variable":"var(--color-lightblue-50)","raw":"#d9f8ff"},"100":{"value":"#b3f1ff","variable":"var(--color-lightblue-100)","raw":"#b3f1ff"},"200":{"value":"#8deaff","variable":"var(--color-lightblue-200)","raw":"#8deaff"},"300":{"value":"#66e4ff","variable":"var(--color-lightblue-300)","raw":"#66e4ff"},"400":{"value":"#40ddff","variable":"var(--color-lightblue-400)","raw":"#40ddff"},"500":{"value":"#1ad6ff","variable":"var(--color-lightblue-500)","raw":"#1ad6ff"},"600":{"value":"#00b9e1","variable":"var(--color-lightblue-600)","raw":"#00b9e1"},"700":{"value":"#008aa9","variable":"var(--color-lightblue-700)","raw":"#008aa9"},"800":{"value":"#005c70","variable":"var(--color-lightblue-800)","raw":"#005c70"},"900":{"value":"#002e38","variable":"var(--color-lightblue-900)","raw":"#002e38"}},"blue":{"50":{"value":"#F2FAFF","variable":"var(--color-blue-50)","raw":"#F2FAFF"},"100":{"value":"#DFF3FF","variable":"var(--color-blue-100)","raw":"#DFF3FF"},"200":{"value":"#C6EAFF","variable":"var(--color-blue-200)","raw":"#C6EAFF"},"300":{"value":"#A1DDFF","variable":"var(--color-blue-300)","raw":"#A1DDFF"},"400":{"value":"#64C7FF","variable":"var(--color-blue-400)","raw":"#64C7FF"},"500":{"value":"#1AADFF","variable":"var(--color-blue-500)","raw":"#1AADFF"},"600":{"value":"#0069A6","variable":"var(--color-blue-600)","raw":"#0069A6"},"700":{"value":"#014267","variable":"var(--color-blue-700)","raw":"#014267"},"800":{"value":"#002235","variable":"var(--color-blue-800)","raw":"#002235"},"900":{"value":"#00131D","variable":"var(--color-blue-900)","raw":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff","variable":"var(--color-indigoblue-50)","raw":"#d9e5ff"},"100":{"value":"#b3cbff","variable":"var(--color-indigoblue-100)","raw":"#b3cbff"},"200":{"value":"#8db0ff","variable":"var(--color-indigoblue-200)","raw":"#8db0ff"},"300":{"value":"#6696ff","variable":"var(--color-indigoblue-300)","raw":"#6696ff"},"400":{"value":"#407cff","variable":"var(--color-indigoblue-400)","raw":"#407cff"},"500":{"value":"#1a62ff","variable":"var(--color-indigoblue-500)","raw":"#1a62ff"},"600":{"value":"#0047e1","variable":"var(--color-indigoblue-600)","raw":"#0047e1"},"700":{"value":"#0035a9","variable":"var(--color-indigoblue-700)","raw":"#0035a9"},"800":{"value":"#002370","variable":"var(--color-indigoblue-800)","raw":"#002370"},"900":{"value":"#001238","variable":"var(--color-indigoblue-900)","raw":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb","variable":"var(--color-royalblue-50)","raw":"#dfdbfb"},"100":{"value":"#c0b7f7","variable":"var(--color-royalblue-100)","raw":"#c0b7f7"},"200":{"value":"#a093f3","variable":"var(--color-royalblue-200)","raw":"#a093f3"},"300":{"value":"#806ff0","variable":"var(--color-royalblue-300)","raw":"#806ff0"},"400":{"value":"#614bec","variable":"var(--color-royalblue-400)","raw":"#614bec"},"500":{"value":"#4127e8","variable":"var(--color-royalblue-500)","raw":"#4127e8"},"600":{"value":"#2c15c4","variable":"var(--color-royalblue-600)","raw":"#2c15c4"},"700":{"value":"#211093","variable":"var(--color-royalblue-700)","raw":"#211093"},"800":{"value":"#160a62","variable":"var(--color-royalblue-800)","raw":"#160a62"},"900":{"value":"#0b0531","variable":"var(--color-royalblue-900)","raw":"#0b0531"}},"purple":{"50":{"value":"#ead9ff","variable":"var(--color-purple-50)","raw":"#ead9ff"},"100":{"value":"#d5b3ff","variable":"var(--color-purple-100)","raw":"#d5b3ff"},"200":{"value":"#c08dff","variable":"var(--color-purple-200)","raw":"#c08dff"},"300":{"value":"#ab66ff","variable":"var(--color-purple-300)","raw":"#ab66ff"},"400":{"value":"#9640ff","variable":"var(--color-purple-400)","raw":"#9640ff"},"500":{"value":"#811aff","variable":"var(--color-purple-500)","raw":"#811aff"},"600":{"value":"#6500e1","variable":"var(--color-purple-600)","raw":"#6500e1"},"700":{"value":"#4c00a9","variable":"var(--color-purple-700)","raw":"#4c00a9"},"800":{"value":"#330070","variable":"var(--color-purple-800)","raw":"#330070"},"900":{"value":"#190038","variable":"var(--color-purple-900)","raw":"#190038"}},"pink":{"50":{"value":"#ffd9f2","variable":"var(--color-pink-50)","raw":"#ffd9f2"},"100":{"value":"#ffb3e5","variable":"var(--color-pink-100)","raw":"#ffb3e5"},"200":{"value":"#ff8dd8","variable":"var(--color-pink-200)","raw":"#ff8dd8"},"300":{"value":"#ff66cc","variable":"var(--color-pink-300)","raw":"#ff66cc"},"400":{"value":"#ff40bf","variable":"var(--color-pink-400)","raw":"#ff40bf"},"500":{"value":"#ff1ab2","variable":"var(--color-pink-500)","raw":"#ff1ab2"},"600":{"value":"#e10095","variable":"var(--color-pink-600)","raw":"#e10095"},"700":{"value":"#a90070","variable":"var(--color-pink-700)","raw":"#a90070"},"800":{"value":"#70004b","variable":"var(--color-pink-800)","raw":"#70004b"},"900":{"value":"#380025","variable":"var(--color-pink-900)","raw":"#380025"}},"ruby":{"50":{"value":"#ffd9e4","variable":"var(--color-ruby-50)","raw":"#ffd9e4"},"100":{"value":"#ffb3c9","variable":"var(--color-ruby-100)","raw":"#ffb3c9"},"200":{"value":"#ff8dae","variable":"var(--color-ruby-200)","raw":"#ff8dae"},"300":{"value":"#ff6694","variable":"var(--color-ruby-300)","raw":"#ff6694"},"400":{"value":"#ff4079","variable":"var(--color-ruby-400)","raw":"#ff4079"},"500":{"value":"#ff1a5e","variable":"var(--color-ruby-500)","raw":"#ff1a5e"},"600":{"value":"#e10043","variable":"var(--color-ruby-600)","raw":"#e10043"},"700":{"value":"#a90032","variable":"var(--color-ruby-700)","raw":"#a90032"},"800":{"value":"#700021","variable":"var(--color-ruby-800)","raw":"#700021"},"900":{"value":"#380011","variable":"var(--color-ruby-900)","raw":"#380011"}},"primary":{"50":{"value":"#FFF6E5","variable":"var(--color-primary-50)","raw":"#FFF6E5"},"100":{"value":"#FFEDCC","variable":"var(--color-primary-100)","raw":"#FFEDCC"},"200":{"value":"#FFDB99","variable":"var(--color-primary-200)","raw":"#FFDB99"},"300":{"value":"#FFC966","variable":"var(--color-primary-300)","raw":"#FFC966"},"400":{"value":"#FFB833","variable":"var(--color-primary-400)","raw":"#FFB833"},"500":{"value":"#FFA500","variable":"var(--color-primary-500)","raw":"#FFA500"},"600":{"value":"#CC8500","variable":"var(--color-primary-600)","raw":"#CC8500"},"700":{"value":"#996300","variable":"var(--color-primary-700)","raw":"#996300"},"800":{"value":"#664200","variable":"var(--color-primary-800)","raw":"#664200"},"900":{"value":"#332100","variable":"var(--color-primary-900)","raw":"#332100"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--color-secondary-900)","raw":"{color.gray.900}"}},"shadow":{"value":{"initial":"var(--color-gray-400)","dark":"var(--color-gray-800)"},"variable":"var(--color-shadow)","raw":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw","variable":"var(--width-screen)","raw":"100vw"}},"height":{"screen":{"value":"100vh","variable":"var(--height-screen)","raw":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px var(--color-shadow)","variable":"var(--shadow-xs)","raw":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px var(--color-shadow), 0px 1px 2px -1px var(--color-shadow)","variable":"var(--shadow-sm)","raw":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px var(--color-shadow), 0px 2px 4px -2px var(--color-shadow)","variable":"var(--shadow-md)","raw":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px var(--color-shadow), 0px 4px 6px -4px var(--color-shadow)","variable":"var(--shadow-lg)","raw":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px var(--color-shadow), 0px 8px 10px -6px var(--color-shadow)","variable":"var(--shadow-xl)","raw":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px var(--color-shadow)","variable":"var(--shadow-2xl)","raw":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent","variable":"var(--shadow-none)","raw":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px","variable":"var(--radii-none)","raw":"0px"},"2xs":{"value":"0.125rem","variable":"var(--radii-2xs)","raw":"0.125rem"},"xs":{"value":"0.25rem","variable":"var(--radii-xs)","raw":"0.25rem"},"sm":{"value":"0.375rem","variable":"var(--radii-sm)","raw":"0.375rem"},"md":{"value":"0.5rem","variable":"var(--radii-md)","raw":"0.5rem"},"lg":{"value":"0.75rem","variable":"var(--radii-lg)","raw":"0.75rem"},"xl":{"value":"1rem","variable":"var(--radii-xl)","raw":"1rem"},"2xl":{"value":"1.5rem","variable":"var(--radii-2xl)","raw":"1.5rem"},"3xl":{"value":"1.75rem","variable":"var(--radii-3xl)","raw":"1.75rem"},"full":{"value":"9999px","variable":"var(--radii-full)","raw":"9999px"}},"size":{"0":{"value":"0px","variable":"var(--size-0)","raw":"0px"},"2":{"value":"2px","variable":"var(--size-2)","raw":"2px"},"4":{"value":"4px","variable":"var(--size-4)","raw":"4px"},"6":{"value":"6px","variable":"var(--size-6)","raw":"6px"},"8":{"value":"8px","variable":"var(--size-8)","raw":"8px"},"12":{"value":"12px","variable":"var(--size-12)","raw":"12px"},"16":{"value":"16px","variable":"var(--size-16)","raw":"16px"},"20":{"value":"20px","variable":"var(--size-20)","raw":"20px"},"24":{"value":"24px","variable":"var(--size-24)","raw":"24px"},"32":{"value":"32px","variable":"var(--size-32)","raw":"32px"},"40":{"value":"40px","variable":"var(--size-40)","raw":"40px"},"48":{"value":"48px","variable":"var(--size-48)","raw":"48px"},"56":{"value":"56px","variable":"var(--size-56)","raw":"56px"},"64":{"value":"64px","variable":"var(--size-64)","raw":"64px"},"80":{"value":"80px","variable":"var(--size-80)","raw":"80px"},"104":{"value":"104px","variable":"var(--size-104)","raw":"104px"},"200":{"value":"200px","variable":"var(--size-200)","raw":"200px"},"xs":{"value":"20rem","variable":"var(--size-xs)","raw":"20rem"},"sm":{"value":"24rem","variable":"var(--size-sm)","raw":"24rem"},"md":{"value":"28rem","variable":"var(--size-md)","raw":"28rem"},"lg":{"value":"32rem","variable":"var(--size-lg)","raw":"32rem"},"xl":{"value":"36rem","variable":"var(--size-xl)","raw":"36rem"},"2xl":{"value":"42rem","variable":"var(--size-2xl)","raw":"42rem"},"3xl":{"value":"48rem","variable":"var(--size-3xl)","raw":"48rem"},"4xl":{"value":"56rem","variable":"var(--size-4xl)","raw":"56rem"},"5xl":{"value":"64rem","variable":"var(--size-5xl)","raw":"64rem"},"6xl":{"value":"72rem","variable":"var(--size-6xl)","raw":"72rem"},"7xl":{"value":"80rem","variable":"var(--size-7xl)","raw":"80rem"},"full":{"value":"100%","variable":"var(--size-full)","raw":"100%"}},"space":{"0":{"value":"0px","variable":"var(--space-0)","raw":"0px"},"1":{"value":"0.25rem","variable":"var(--space-1)","raw":"0.25rem"},"2":{"value":"0.5rem","variable":"var(--space-2)","raw":"0.5rem"},"3":{"value":"0.75rem","variable":"var(--space-3)","raw":"0.75rem"},"4":{"value":"1rem","variable":"var(--space-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--space-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--space-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--space-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--space-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--space-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--space-10)","raw":"2.5rem"},"11":{"value":"2.75rem","variable":"var(--space-11)","raw":"2.75rem"},"12":{"value":"3rem","variable":"var(--space-12)","raw":"3rem"},"14":{"value":"3.5rem","variable":"var(--space-14)","raw":"3.5rem"},"16":{"value":"4rem","variable":"var(--space-16)","raw":"4rem"},"20":{"value":"5rem","variable":"var(--space-20)","raw":"5rem"},"24":{"value":"6rem","variable":"var(--space-24)","raw":"6rem"},"28":{"value":"7rem","variable":"var(--space-28)","raw":"7rem"},"32":{"value":"8rem","variable":"var(--space-32)","raw":"8rem"},"36":{"value":"9rem","variable":"var(--space-36)","raw":"9rem"},"40":{"value":"10rem","variable":"var(--space-40)","raw":"10rem"},"44":{"value":"11rem","variable":"var(--space-44)","raw":"11rem"},"48":{"value":"12rem","variable":"var(--space-48)","raw":"12rem"},"52":{"value":"13rem","variable":"var(--space-52)","raw":"13rem"},"56":{"value":"14rem","variable":"var(--space-56)","raw":"14rem"},"60":{"value":"15rem","variable":"var(--space-60)","raw":"15rem"},"64":{"value":"16rem","variable":"var(--space-64)","raw":"16rem"},"72":{"value":"18rem","variable":"var(--space-72)","raw":"18rem"},"80":{"value":"20rem","variable":"var(--space-80)","raw":"20rem"},"96":{"value":"24rem","variable":"var(--space-96)","raw":"24rem"},"128":{"value":"32rem","variable":"var(--space-128)","raw":"32rem"},"px":{"value":"1px","variable":"var(--space-px)","raw":"1px"},"rem":{"125":{"value":"0.125rem","variable":"var(--space-rem-125)","raw":"0.125rem"},"375":{"value":"0.375rem","variable":"var(--space-rem-375)","raw":"0.375rem"},"625":{"value":"0.625rem","variable":"var(--space-rem-625)","raw":"0.625rem"},"875":{"value":"0.875rem","variable":"var(--space-rem-875)","raw":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0","variable":"var(--borderWidth-noBorder)","raw":"0"},"sm":{"value":"1px","variable":"var(--borderWidth-sm)","raw":"1px"},"md":{"value":"2px","variable":"var(--borderWidth-md)","raw":"2px"},"lg":{"value":"3px","variable":"var(--borderWidth-lg)","raw":"3px"}},"opacity":{"noOpacity":{"value":"0","variable":"var(--opacity-noOpacity)","raw":"0"},"bright":{"value":"0.1","variable":"var(--opacity-bright)","raw":"0.1"},"light":{"value":"0.15","variable":"var(--opacity-light)","raw":"0.15"},"soft":{"value":"0.3","variable":"var(--opacity-soft)","raw":"0.3"},"medium":{"value":"0.5","variable":"var(--opacity-medium)","raw":"0.5"},"high":{"value":"0.8","variable":"var(--opacity-high)","raw":"0.8"},"total":{"value":"1","variable":"var(--opacity-total)","raw":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji","variable":"var(--font-sans)","raw":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif","variable":"var(--font-serif)","raw":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace","variable":"var(--font-mono)","raw":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100","variable":"var(--fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--fontWeight-black)","raw":"900"}},"fontSize":{"xs":{"value":"0.75rem","variable":"var(--fontSize-xs)","raw":"0.75rem"},"sm":{"value":"0.875rem","variable":"var(--fontSize-sm)","raw":"0.875rem"},"base":{"value":"1rem","variable":"var(--fontSize-base)","raw":"1rem"},"lg":{"value":"1.125rem","variable":"var(--fontSize-lg)","raw":"1.125rem"},"xl":{"value":"1.25rem","variable":"var(--fontSize-xl)","raw":"1.25rem"},"2xl":{"value":"1.5rem","variable":"var(--fontSize-2xl)","raw":"1.5rem"},"3xl":{"value":"1.875rem","variable":"var(--fontSize-3xl)","raw":"1.875rem"},"4xl":{"value":"2.25rem","variable":"var(--fontSize-4xl)","raw":"2.25rem"},"5xl":{"value":"3rem","variable":"var(--fontSize-5xl)","raw":"3rem"},"6xl":{"value":"3.75rem","variable":"var(--fontSize-6xl)","raw":"3.75rem"},"7xl":{"value":"4.5rem","variable":"var(--fontSize-7xl)","raw":"4.5rem"},"8xl":{"value":"6rem","variable":"var(--fontSize-8xl)","raw":"6rem"},"9xl":{"value":"8rem","variable":"var(--fontSize-9xl)","raw":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em","variable":"var(--letterSpacing-tighter)","raw":"-0.05em"},"tight":{"value":"-0.025em","variable":"var(--letterSpacing-tight)","raw":"-0.025em"},"normal":{"value":"0em","variable":"var(--letterSpacing-normal)","raw":"0em"},"wide":{"value":"0.025em","variable":"var(--letterSpacing-wide)","raw":"0.025em"},"wider":{"value":"0.05em","variable":"var(--letterSpacing-wider)","raw":"0.05em"},"widest":{"value":"0.1em","variable":"var(--letterSpacing-widest)","raw":"0.1em"}},"lead":{"1":{"value":".025rem","variable":"var(--lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--lead-loose)","raw":"2"}},"text":{"xs":{"fontSize":{"value":"var(--fontSize-xs)","variable":"var(--text-xs-fontSize)","raw":"{fontSize.xs}"},"lineHeight":{"value":"var(--lead-4)","variable":"var(--text-xs-lineHeight)","raw":"{lead.4}"}},"sm":{"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--text-sm-fontSize)","raw":"{fontSize.sm}"},"lineHeight":{"value":"var(--lead-5)","variable":"var(--text-sm-lineHeight)","raw":"{lead.5}"}},"base":{"fontSize":{"value":"var(--fontSize-base)","variable":"var(--text-base-fontSize)","raw":"{fontSize.base}"},"lineHeight":{"value":"var(--lead-6)","variable":"var(--text-base-lineHeight)","raw":"{lead.6}"}},"lg":{"fontSize":{"value":"var(--fontSize-lg)","variable":"var(--text-lg-fontSize)","raw":"{fontSize.lg}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-lg-lineHeight)","raw":"{lead.7}"}},"xl":{"fontSize":{"value":"var(--fontSize-xl)","variable":"var(--text-xl-fontSize)","raw":"{fontSize.xl}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-xl-lineHeight)","raw":"{lead.7}"}},"2xl":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--text-2xl-fontSize)","raw":"{fontSize.2xl}"},"lineHeight":{"value":"var(--lead-8)","variable":"var(--text-2xl-lineHeight)","raw":"{lead.8}"}},"3xl":{"fontSize":{"value":"var(--fontSize-3xl)","variable":"var(--text-3xl-fontSize)","raw":"{fontSize.3xl}"},"lineHeight":{"value":"var(--lead-9)","variable":"var(--text-3xl-lineHeight)","raw":"{lead.9}"}},"4xl":{"fontSize":{"value":"var(--fontSize-4xl)","variable":"var(--text-4xl-fontSize)","raw":"{fontSize.4xl}"},"lineHeight":{"value":"var(--lead-10)","variable":"var(--text-4xl-lineHeight)","raw":"{lead.10}"}},"5xl":{"fontSize":{"value":"var(--fontSize-5xl)","variable":"var(--text-5xl-fontSize)","raw":"{fontSize.5xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-5xl-lineHeight)","raw":"{lead.none}"}},"6xl":{"fontSize":{"value":"var(--fontSize-6xl)","variable":"var(--text-6xl-fontSize)","raw":"{fontSize.6xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-6xl-lineHeight)","raw":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-50)"},"variable":"var(--elements-text-primary-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"var(--color-gray-500)","dark":"var(--color-gray-400)"},"variable":"var(--elements-text-secondary-color-static)","raw":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"var(--color-gray-700)","dark":"var(--color-gray-200)"},"variable":"var(--elements-text-secondary-color-hover)","raw":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem","variable":"var(--elements-container-maxWidth)","raw":"80rem"},"padding":{"mobile":{"value":"var(--space-4)","variable":"var(--elements-container-padding-mobile)","raw":"{space.4}"},"xs":{"value":"var(--space-4)","variable":"var(--elements-container-padding-xs)","raw":"{space.4}"},"sm":{"value":"var(--space-6)","variable":"var(--elements-container-padding-sm)","raw":"{space.6}"},"md":{"value":"var(--space-6)","variable":"var(--elements-container-padding-md)","raw":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)","variable":"var(--elements-backdrop-filter)","raw":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"},"variable":"var(--elements-backdrop-background)","raw":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-border-primary-static)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-primary-hover)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-secondary-static)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""},"variable":"var(--elements-border-secondary-hover)","raw":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-background-base)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-primary-backgroundColor)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-surface-secondary-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"var(--color-primary-600)","dark":"var(--color-primary-400)"},"variable":"var(--elements-state-primary-color-primary)","raw":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"var(--color-primary-700)","dark":"var(--color-primary-200)"},"variable":"var(--elements-state-primary-color-secondary)","raw":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-primary-50)","dark":"var(--color-primary-900)"},"variable":"var(--elements-state-primary-backgroundColor-primary)","raw":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-backgroundColor-secondary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-borderColor-primary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"var(--color-primary-200)","dark":"var(--color-primary-700)"},"variable":"var(--elements-state-primary-borderColor-secondary)","raw":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"var(--color-blue-500)","dark":"var(--color-blue-400)"},"variable":"var(--elements-state-info-color-primary)","raw":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"var(--color-blue-600)","dark":"var(--color-blue-200)"},"variable":"var(--elements-state-info-color-secondary)","raw":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-blue-50)","dark":"var(--color-blue-900)"},"variable":"var(--elements-state-info-backgroundColor-primary)","raw":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-backgroundColor-secondary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-borderColor-primary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"var(--color-blue-200)","dark":"var(--color-blue-700)"},"variable":"var(--elements-state-info-borderColor-secondary)","raw":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"var(--color-green-500)","dark":"var(--color-green-400)"},"variable":"var(--elements-state-success-color-primary)","raw":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"var(--color-green-600)","dark":"var(--color-green-200)"},"variable":"var(--elements-state-success-color-secondary)","raw":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-green-50)","dark":"var(--color-green-900)"},"variable":"var(--elements-state-success-backgroundColor-primary)","raw":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-backgroundColor-secondary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-borderColor-primary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"var(--color-green-200)","dark":"var(--color-green-700)"},"variable":"var(--elements-state-success-borderColor-secondary)","raw":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"var(--color-yellow-600)","dark":"var(--color-yellow-400)"},"variable":"var(--elements-state-warning-color-primary)","raw":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"var(--color-yellow-700)","dark":"var(--color-yellow-200)"},"variable":"var(--elements-state-warning-color-secondary)","raw":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-yellow-50)","dark":"var(--color-yellow-900)"},"variable":"var(--elements-state-warning-backgroundColor-primary)","raw":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-backgroundColor-secondary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-borderColor-primary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"var(--color-yellow-200)","dark":"var(--color-yellow-700)"},"variable":"var(--elements-state-warning-borderColor-secondary)","raw":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"var(--color-red-500)","dark":"var(--color-red-300)"},"variable":"var(--elements-state-danger-color-primary)","raw":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"var(--color-red-600)","dark":"var(--color-red-200)"},"variable":"var(--elements-state-danger-color-secondary)","raw":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-red-50)","dark":"var(--color-red-900)"},"variable":"var(--elements-state-danger-backgroundColor-primary)","raw":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-backgroundColor-secondary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-borderColor-primary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"var(--color-red-200)","dark":"var(--color-red-700)"},"variable":"var(--elements-state-danger-borderColor-secondary)","raw":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"var(--color-black)","dark":"var(--color-white)"},"variable":"var(--typography-body-color)","raw":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--typography-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px","variable":"var(--typography-verticalMargin-sm)","raw":"16px"},"base":{"value":"24px","variable":"var(--typography-verticalMargin-base)","raw":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em","variable":"var(--typography-letterSpacing-tight)","raw":"-0.025em"},"wide":{"value":"0.025em","variable":"var(--typography-letterSpacing-wide)","raw":"0.025em"}},"fontSize":{"xs":{"value":"12px","variable":"var(--typography-fontSize-xs)","raw":"12px"},"sm":{"value":"14px","variable":"var(--typography-fontSize-sm)","raw":"14px"},"base":{"value":"16px","variable":"var(--typography-fontSize-base)","raw":"16px"},"lg":{"value":"18px","variable":"var(--typography-fontSize-lg)","raw":"18px"},"xl":{"value":"20px","variable":"var(--typography-fontSize-xl)","raw":"20px"},"2xl":{"value":"24px","variable":"var(--typography-fontSize-2xl)","raw":"24px"},"3xl":{"value":"30px","variable":"var(--typography-fontSize-3xl)","raw":"30px"},"4xl":{"value":"36px","variable":"var(--typography-fontSize-4xl)","raw":"36px"},"5xl":{"value":"48px","variable":"var(--typography-fontSize-5xl)","raw":"48px"},"6xl":{"value":"60px","variable":"var(--typography-fontSize-6xl)","raw":"60px"},"7xl":{"value":"72px","variable":"var(--typography-fontSize-7xl)","raw":"72px"},"8xl":{"value":"96px","variable":"var(--typography-fontSize-8xl)","raw":"96px"},"9xl":{"value":"128px","variable":"var(--typography-fontSize-9xl)","raw":"128px"}},"fontWeight":{"thin":{"value":"100","variable":"var(--typography-fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--typography-fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--typography-fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--typography-fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--typography-fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--typography-fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--typography-fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--typography-fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--typography-fontWeight-black)","raw":"900"}},"lead":{"1":{"value":".025rem","variable":"var(--typography-lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--typography-lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--typography-lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--typography-lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--typography-lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--typography-lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--typography-lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--typography-lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--typography-lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--typography-lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--typography-lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--typography-lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--typography-lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--typography-lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--typography-lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--typography-lead-loose)","raw":"2"}},"font":{"display":{"value":"var(--font-sans)","variable":"var(--typography-font-display)","raw":"{font.sans}"},"body":{"value":"var(--font-sans)","variable":"var(--typography-font-body)","raw":"{font.sans}"},"code":{"value":"var(--font-mono)","variable":"var(--typography-font-code)","raw":"{font.mono}"}},"color":{"primary":{"50":{"value":"var(--color-primary-50)","variable":"var(--typography-color-primary-50)","raw":"{color.primary.50}"},"100":{"value":"var(--color-primary-100)","variable":"var(--typography-color-primary-100)","raw":"{color.primary.100}"},"200":{"value":"var(--color-primary-200)","variable":"var(--typography-color-primary-200)","raw":"{color.primary.200}"},"300":{"value":"var(--color-primary-300)","variable":"var(--typography-color-primary-300)","raw":"{color.primary.300}"},"400":{"value":"var(--color-primary-400)","variable":"var(--typography-color-primary-400)","raw":"{color.primary.400}"},"500":{"value":"var(--color-primary-500)","variable":"var(--typography-color-primary-500)","raw":"{color.primary.500}"},"600":{"value":"var(--color-primary-600)","variable":"var(--typography-color-primary-600)","raw":"{color.primary.600}"},"700":{"value":"var(--color-primary-700)","variable":"var(--typography-color-primary-700)","raw":"{color.primary.700}"},"800":{"value":"var(--color-primary-800)","variable":"var(--typography-color-primary-800)","raw":"{color.primary.800}"},"900":{"value":"var(--color-primary-900)","variable":"var(--typography-color-primary-900)","raw":"{color.primary.900}"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--typography-color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--typography-color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--typography-color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--typography-color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--typography-color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--typography-color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--typography-color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--typography-color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--typography-color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--typography-color-secondary-900)","raw":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-p-fontSize)","raw":"{typography.fontSize.base}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-p-lineHeight)","raw":"{typography.lead.normal}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-p-margin)","raw":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"var(--typography-verticalMargin-base) 0 0 0","variable":"var(--prose-p-br-margin)","raw":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem","variable":"var(--prose-h1-margin)","raw":"0 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-5xl)","variable":"var(--prose-h1-fontSize)","raw":"{typography.fontSize.5xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h1-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-bold)","variable":"var(--prose-h1-fontWeight)","raw":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h1-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h1-iconSize)","raw":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h2-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-4xl)","variable":"var(--prose-h2-fontSize)","raw":"{typography.fontSize.4xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h2-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h2-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h2-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h2-iconSize)","raw":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h3-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h3-fontSize)","raw":"{typography.fontSize.3xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h3-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h3-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h3-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h3-iconSize)","raw":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h4-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h4-fontSize)","raw":"{typography.fontSize.2xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h4-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h4-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h4-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h4-iconSize)","raw":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h5-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h5-fontSize)","raw":"{typography.fontSize.xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h5-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h5-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h5-iconSize)","raw":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h6-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h6-fontSize)","raw":"{typography.fontSize.lg}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-h6-lineHeight)","raw":"{typography.lead.normal}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h6-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-h6-iconSize)","raw":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-strong-fontWeight)","raw":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-img-margin)","raw":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none","variable":"var(--prose-a-textDecoration)","raw":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"},"variable":"var(--prose-a-color-static)","raw":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-400)"},"variable":"var(--prose-a-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px","variable":"var(--prose-a-border-width)","raw":"1px"},"style":{"static":{"value":"dashed","variable":"var(--prose-a-border-style-static)","raw":"dashed"},"hover":{"value":"solid","variable":"var(--prose-a-border-style-hover)","raw":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px","variable":"var(--prose-a-border-distance)","raw":"2px"}},"fontWeight":{"value":"var(--typography-fontWeight-medium)","variable":"var(--prose-a-fontWeight)","raw":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none","variable":"var(--prose-a-hasCode-borderBottom)","raw":"none"}},"code":{"border":{"width":{"value":"var(--prose-a-border-width)","variable":"var(--prose-a-code-border-width)","raw":"{prose.a.border.width}"},"style":{"value":"var(--prose-a-border-style-static)","variable":"var(--prose-a-code-border-style)","raw":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-a-code-border-color-static)","raw":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-600)"},"variable":"var(--prose-a-code-border-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"var(--typography-color-primary-50)","dark":"var(--typography-color-primary-900)"},"variable":"var(--prose-a-code-background-hover)","raw":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-blockquote-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px","variable":"var(--prose-blockquote-paddingInlineStart)","raw":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'","variable":"var(--prose-blockquote-quotes)","raw":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-blockquote-color)","raw":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px","variable":"var(--prose-blockquote-border-width)","raw":"4px"},"style":{"value":"solid","variable":"var(--prose-blockquote-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-blockquote-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc","variable":"var(--prose-ul-listStyleType)","raw":"disc"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ul-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ul-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ul-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal","variable":"var(--prose-ol-listStyleType)","raw":"decimal"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ol-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ol-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ol-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"var(--typography-verticalMargin-sm) 0","variable":"var(--prose-li-margin)","raw":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside","variable":"var(--prose-li-listStylePosition)","raw":"outside"}},"hr":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-hr-margin)","raw":"{typography.verticalMargin.base} 0"},"style":{"value":"solid","variable":"var(--prose-hr-style)","raw":"solid"},"width":{"value":"1px","variable":"var(--prose-hr-width)","raw":"1px"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-hr-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-table-margin)","raw":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start","variable":"var(--prose-table-textAlign)","raw":"start"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-table-fontSize)","raw":"{typography.fontSize.sm}"},"lineHeight":{"value":"var(--typography-lead-6)","variable":"var(--prose-table-lineHeight)","raw":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px","variable":"var(--prose-thead-border-width)","raw":"0px"},"style":{"value":"solid","variable":"var(--prose-thead-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-border-color)","raw":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px","variable":"var(--prose-thead-borderBottom-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-thead-borderBottom-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-thead-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"var(--typography-color-secondary-600)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-th-color)","raw":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)","variable":"var(--prose-th-padding)","raw":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-th-fontWeight)","raw":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit","variable":"var(--prose-th-textAlign)","raw":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px","variable":"var(--prose-tbody-tr-borderBottom-width)","raw":"1px"},"style":{"value":"dashed","variable":"var(--prose-tbody-tr-borderBottom-style)","raw":"dashed"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-tbody-tr-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-tbody-td-padding)","raw":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-tbody-code-inline-fontSize)","raw":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-block-fontSize)","raw":"{typography.fontSize.sm}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-code-block-margin)","raw":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px","variable":"var(--prose-code-block-border-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-code-block-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-block-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-block-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-block-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"},"variable":"var(--prose-code-block-backdropFilter)","raw":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-code-block-pre-padding)","raw":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"var(--radii-xs)","variable":"var(--prose-code-inline-borderRadius)","raw":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem","variable":"var(--prose-code-inline-padding)","raw":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-inline-fontSize)","raw":"{typography.fontSize.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-normal)","variable":"var(--prose-code-inline-fontWeight)","raw":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-inline-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-inline-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--docus-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"var(--color-gray-800)","dark":"var(--color-gray-200)"},"variable":"var(--docus-body-color)","raw":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"var(--font-sans)","variable":"var(--docus-body-fontFamily)","raw":"{font.sans}"}},"header":{"height":{"value":"64px","variable":"var(--docus-header-height)","raw":"64px"},"logo":{"height":{"value":{"initial":"var(--space-6)","sm":"var(--space-7)"},"variable":"var(--docus-header-logo-height)","raw":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--docus-header-title-fontSize)","raw":"{fontSize.2xl}"},"fontWeight":{"value":"var(--fontWeight-bold)","variable":"var(--docus-header-title-fontWeight)","raw":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-100)"},"variable":"var(--docus-header-title-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"var(--color-primary-500)","variable":"var(--docus-header-title-color-hover)","raw":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"},"variable":"var(--docus-footer-height)","raw":{"initial":"145px","sm":"100px"}},"padding":{"value":"var(--space-4) 0","variable":"var(--docus-footer-padding)","raw":"{space.4} 0"}},"readableLine":{"value":"78ch","variable":"var(--docus-readableLine)","raw":"78ch"},"loadingBar":{"height":{"value":"3px","variable":"var(--docus-loadingBar-height)","raw":"3px"},"gradientColorStop1":{"value":"#00dc82","variable":"var(--docus-loadingBar-gradientColorStop1)","raw":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe","variable":"var(--docus-loadingBar-gradientColorStop2)","raw":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1","variable":"var(--docus-loadingBar-gradientColorStop3)","raw":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)","variable":"var(--docus-search-backdropFilter)","raw":"blur(24px)"},"input":{"borderRadius":{"value":"var(--radii-2xs)","variable":"var(--docus-search-input-borderRadius)","raw":"{radii.2xs}"},"borderWidth":{"value":"1px","variable":"var(--docus-search-input-borderWidth)","raw":"1px"},"borderStyle":{"value":"solid","variable":"var(--docus-search-input-borderStyle)","raw":"solid"},"borderColor":{"value":{"initial":"var(--color-gray-200)","dark":"transparent"},"variable":"var(--docus-search-input-borderColor)","raw":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--docus-search-input-fontSize)","raw":"{fontSize.sm}"},"gap":{"value":"var(--space-2)","variable":"var(--docus-search-input-gap)","raw":"{space.2}"},"padding":{"value":"var(--space-2) var(--space-4)","variable":"var(--docus-search-input-padding)","raw":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--docus-search-input-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"var(--space-4)"},"variable":"var(--docus-search-results-window-marginX)","raw":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"var(--radii-xs)"},"variable":"var(--docus-search-results-window-borderRadius)","raw":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"},"variable":"var(--docus-search-results-window-marginTop)","raw":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px","variable":"var(--docus-search-results-window-maxWidth)","raw":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"},"variable":"var(--docus-search-results-window-maxHeight)","raw":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"var(--color-gray-300)","dark":"var(--color-gray-700)"},"variable":"var(--docus-search-results-selected-backgroundColor)","raw":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white","variable":"var(--docus-search-results-highlight-color)","raw":"white"},"backgroundColor":{"value":"var(--color-primary-500)","variable":"var(--docus-search-results-highlight-backgroundColor)","raw":"{color.primary.500}"}}}}}},"content":{"sources":{},"ignores":[],"locales":[],"highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true,"experimental":{"clientDB":false,"stripQueryParameters":false,"advanceQuery":false}},"components":[{"name":"ChallengeV2Demo","path":"components/content/ChallengeV2Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ChallengeV3Demo","path":"components/content/ChallengeV3Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CheckboxDemo","path":"components/content/CheckboxDemo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IndexDemo","path":"components/content/IndexDemo.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Mermaid","path":"components/content/Mermaid.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"PrimaryButton","path":"components/content/PrimaryButton.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ThemeButton","path":"components/content/ThemeButton.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":true,"type":"\"light\" | \"dark\"","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]},{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]}],"schema":{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}}],"slots":[],"events":[{"name":"update:modelValue","type":"[theme: \"light\" | \"dark\"]","signature":"(event: \"update:modelValue\", theme: \"light\" | \"dark\"): void","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","range":[4388,4423]}],"schema":[{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}]}]}},{"name":"VeeValidateCheckbox","path":"components/content/VeeValidateCheckbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VeeValidateInvisible","path":"components/content/VeeValidateInvisible.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppDocSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppDocSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppFooter","path":"../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeader","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderDialog","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderLogo","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderNavigation","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLayout","path":"../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLoadingBar","path":"../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSocialIcons","path":"../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Ellipsis","path":"../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Logo","path":"../node_modules/@nuxt-themes/docus/components/app/Logo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ThemeSelect","path":"../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAside","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAsideTree","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageBottom","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageLayout","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPrevNext","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsToc","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsTocLinks","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"EditOnLink","path":"../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"SourceLink","path":"../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Alert","path":"../node_modules/@nuxt-themes/elements/components/globals/Alert.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Badge","path":"../node_modules/@nuxt-themes/elements/components/globals/Badge.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ButtonLink","path":"../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Callout","path":"../node_modules/@nuxt-themes/elements/components/globals/Callout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeBlock","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeGroup","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Container","path":"../node_modules/@nuxt-themes/elements/components/globals/Container.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CopyButton","path":"../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"List","path":"../node_modules/@nuxt-themes/elements/components/globals/List.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"NuxtImg","path":"../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Props","path":"../node_modules/@nuxt-themes/elements/components/globals/Props.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Sandbox","path":"../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TabsHeader","path":"../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Terminal","path":"../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VideoPlayer","path":"../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconCodeSandBox","path":"../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconDocus","path":"../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxt","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtContent","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtLabs","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtStudio","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconStackBlitz","path":"../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconVueTelescope","path":"../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"BlockHero","path":"../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Card","path":"../node_modules/@nuxt-themes/elements/components/landing/Card.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CardGrid","path":"../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VoltaBoard","path":"../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundData","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundProps","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundSlots","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundTokens","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"PreviewLayout","path":"../node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TokensPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaCheckbox","path":"../src/components/Checkbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV2","path":"../src/components/ChallengeV2.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV3","path":"../src/components/ChallengeV3.vue","meta":{"props":[],"slots":[],"events":[]}}]} \ No newline at end of file +{"version":"1.0.0","tokens":"","appConfigSchema":{"properties":{"id":"#appConfig","properties":{"nuxtIcon":{"title":"Nuxt Icon","description":"Configure the defaults of Nuxt Icon","id":"#appConfig/nuxtIcon","properties":{"size":{"title":"Icon Size","description":"Set the default icon size. Set to false to disable the sizing of icon in style.","tags":["@studioIcon material-symbols:format-size-rounded"],"tsType":"string | false","id":"#appConfig/nuxtIcon/size","default":"1em","type":"string"},"class":{"title":"CSS Class","description":"Set the default CSS class","tags":["@studioIcon material-symbols:css"],"id":"#appConfig/nuxtIcon/class","default":"","type":"string"},"aliases":{"title":"Icon aliases","description":"Define Icon aliases to update them easily without code changes.","tags":["@studioIcon material-symbols:star-rounded","@studioInputObjectValueType icon"],"tsType":"{ [alias: string]: string }","id":"#appConfig/nuxtIcon/aliases","default":{},"type":"object"}},"type":"object","default":{"size":"1em","class":"","aliases":{}}},"prose":{"title":"","description":"","tags":[],"id":"#appConfig/prose","properties":{"copyButton":{"title":"","description":"","tags":[],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"","description":"","tags":[],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"","description":"","tags":[],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"","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":"","description":"","tags":[],"id":"#appConfig/docus","properties":{"title":{"title":"","description":"","tags":[],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"","description":"","tags":[],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"","description":"","tags":[],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"tiktok":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/tiktok","default":"","type":"string"},"youtube":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"","description":"","tags":[],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""}},"layout":{"title":"","description":"","tags":[],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"","description":"","tags":[],"id":"#appConfig/docus/aside","properties":{"level":{"title":"","description":"","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"","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":"","description":"","tags":[],"id":"#appConfig/docus/header","properties":{"title":{"title":"","description":"","tags":[],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"","description":"","tags":[],"tsType":"boolean|string|{dark: string, light: string}","id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"","description":"","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"","description":"","tags":[],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"","description":"","tags":[],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"","description":"","tags":[],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"","description":"","tags":[],"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":"","description":"","tags":[],"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":"","description":"","tags":[],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"","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":"","description":"","tags":[],"id":"#appConfig/docus/github","properties":{"baseUrl":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/baseUrl","default":"https://github.com","type":"string"},"dir":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"","description":"","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"","description":"","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":"b316505b-8fe3-452b-913a-4d318aa3155b"},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"}},"docus":{"title":"vue-recaptcha","description":"Document for vue-recaptcha","url":"https://dansnow.github.io/vue-recaptcha","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"github":"DanSnow/vue-recaptcha"},"layout":"default","header":{"title":"","logo":false,"showLinkIcon":false,"fluid":false,"exclude":[]},"aside":{"level":0,"collapsed":false,"exclude":[]},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"textLinks":[],"iconLinks":[],"fluid":false},"github":{"dir":"docs/content","branch":"v3","repo":"vue-recaptcha","owner":"DanSnow","edit":true}}},"tokensConfigSchema":{"properties":{"id":"#tokensConfig","properties":{"media":{"title":"Your website media queries.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:screenshot-monitor-outline-rounded"],"id":"#tokensConfig/media","properties":{"xs":{"id":"#tokensConfig/media/xs","properties":{"value":{"type":"string","id":"#tokensConfig/media/xs/value","default":"(min-width: 475px)"}},"type":"object","default":{"value":"(min-width: 475px)"}},"sm":{"id":"#tokensConfig/media/sm","properties":{"value":{"type":"string","id":"#tokensConfig/media/sm/value","default":"(min-width: 640px)"}},"type":"object","default":{"value":"(min-width: 640px)"}},"md":{"id":"#tokensConfig/media/md","properties":{"value":{"type":"string","id":"#tokensConfig/media/md/value","default":"(min-width: 768px)"}},"type":"object","default":{"value":"(min-width: 768px)"}},"lg":{"id":"#tokensConfig/media/lg","properties":{"value":{"type":"string","id":"#tokensConfig/media/lg/value","default":"(min-width: 1024px)"}},"type":"object","default":{"value":"(min-width: 1024px)"}},"xl":{"id":"#tokensConfig/media/xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/xl/value","default":"(min-width: 1280px)"}},"type":"object","default":{"value":"(min-width: 1280px)"}},"2xl":{"id":"#tokensConfig/media/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/2xl/value","default":"(min-width: 1536px)"}},"type":"object","default":{"value":"(min-width: 1536px)"}},"rm":{"id":"#tokensConfig/media/rm","properties":{"value":{"type":"string","id":"#tokensConfig/media/rm/value","default":"(prefers-reduced-motion: reduce)"}},"type":"object","default":{"value":"(prefers-reduced-motion: reduce)"}},"landscape":{"id":"#tokensConfig/media/landscape","properties":{"value":{"type":"string","id":"#tokensConfig/media/landscape/value","default":"only screen and (orientation: landscape)"}},"type":"object","default":{"value":"only screen and (orientation: landscape)"}},"portrait":{"id":"#tokensConfig/media/portrait","properties":{"value":{"type":"string","id":"#tokensConfig/media/portrait/value","default":"only screen and (orientation: portrait)"}},"type":"object","default":{"value":"only screen and (orientation: portrait)"}}},"type":"object","default":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}}},"color":{"title":"Your website color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/color","properties":{"white":{"id":"#tokensConfig/color/white","properties":{"value":{"type":"string","id":"#tokensConfig/color/white/value","default":"#ffffff"}},"type":"object","default":{"value":"#ffffff"}},"black":{"id":"#tokensConfig/color/black","properties":{"value":{"type":"string","id":"#tokensConfig/color/black/value","default":"#0B0A0A"}},"type":"object","default":{"value":"#0B0A0A"}},"gray":{"id":"#tokensConfig/color/gray","properties":{"50":{"id":"#tokensConfig/color/gray/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/50/value","default":"#FBFBFB"}},"type":"object","default":{"value":"#FBFBFB"}},"100":{"id":"#tokensConfig/color/gray/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/100/value","default":"#F6F5F4"}},"type":"object","default":{"value":"#F6F5F4"}},"200":{"id":"#tokensConfig/color/gray/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/200/value","default":"#ECEBE8"}},"type":"object","default":{"value":"#ECEBE8"}},"300":{"id":"#tokensConfig/color/gray/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/300/value","default":"#DBD9D3"}},"type":"object","default":{"value":"#DBD9D3"}},"400":{"id":"#tokensConfig/color/gray/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/400/value","default":"#ADA9A4"}},"type":"object","default":{"value":"#ADA9A4"}},"500":{"id":"#tokensConfig/color/gray/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/500/value","default":"#97948F"}},"type":"object","default":{"value":"#97948F"}},"600":{"id":"#tokensConfig/color/gray/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/600/value","default":"#67635D"}},"type":"object","default":{"value":"#67635D"}},"700":{"id":"#tokensConfig/color/gray/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/700/value","default":"#36332E"}},"type":"object","default":{"value":"#36332E"}},"800":{"id":"#tokensConfig/color/gray/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/800/value","default":"#201E1B"}},"type":"object","default":{"value":"#201E1B"}},"900":{"id":"#tokensConfig/color/gray/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/900/value","default":"#121110"}},"type":"object","default":{"value":"#121110"}}},"type":"object","default":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}}},"green":{"id":"#tokensConfig/color/green","properties":{"50":{"id":"#tokensConfig/color/green/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/50/value","default":"#ECFFF7"}},"type":"object","default":{"value":"#ECFFF7"}},"100":{"id":"#tokensConfig/color/green/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/100/value","default":"#DEFFF1"}},"type":"object","default":{"value":"#DEFFF1"}},"200":{"id":"#tokensConfig/color/green/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/200/value","default":"#C3FFE6"}},"type":"object","default":{"value":"#C3FFE6"}},"300":{"id":"#tokensConfig/color/green/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/300/value","default":"#86FBCB"}},"type":"object","default":{"value":"#86FBCB"}},"400":{"id":"#tokensConfig/color/green/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/400/value","default":"#3CEEA5"}},"type":"object","default":{"value":"#3CEEA5"}},"500":{"id":"#tokensConfig/color/green/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/500/value","default":"#0DD885"}},"type":"object","default":{"value":"#0DD885"}},"600":{"id":"#tokensConfig/color/green/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/600/value","default":"#00B467"}},"type":"object","default":{"value":"#00B467"}},"700":{"id":"#tokensConfig/color/green/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/700/value","default":"#006037"}},"type":"object","default":{"value":"#006037"}},"800":{"id":"#tokensConfig/color/green/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/800/value","default":"#002817"}},"type":"object","default":{"value":"#002817"}},"900":{"id":"#tokensConfig/color/green/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/900/value","default":"#00190F"}},"type":"object","default":{"value":"#00190F"}}},"type":"object","default":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}}},"yellow":{"id":"#tokensConfig/color/yellow","properties":{"50":{"id":"#tokensConfig/color/yellow/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/50/value","default":"#FFFCEE"}},"type":"object","default":{"value":"#FFFCEE"}},"100":{"id":"#tokensConfig/color/yellow/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/100/value","default":"#FFF6D3"}},"type":"object","default":{"value":"#FFF6D3"}},"200":{"id":"#tokensConfig/color/yellow/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/200/value","default":"#FFF0B1"}},"type":"object","default":{"value":"#FFF0B1"}},"300":{"id":"#tokensConfig/color/yellow/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/300/value","default":"#FFE372"}},"type":"object","default":{"value":"#FFE372"}},"400":{"id":"#tokensConfig/color/yellow/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/400/value","default":"#FFDC4E"}},"type":"object","default":{"value":"#FFDC4E"}},"500":{"id":"#tokensConfig/color/yellow/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/500/value","default":"#FBCA05"}},"type":"object","default":{"value":"#FBCA05"}},"600":{"id":"#tokensConfig/color/yellow/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/600/value","default":"#CBA408"}},"type":"object","default":{"value":"#CBA408"}},"700":{"id":"#tokensConfig/color/yellow/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/700/value","default":"#614E02"}},"type":"object","default":{"value":"#614E02"}},"800":{"id":"#tokensConfig/color/yellow/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/800/value","default":"#292100"}},"type":"object","default":{"value":"#292100"}},"900":{"id":"#tokensConfig/color/yellow/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/900/value","default":"#1B1500"}},"type":"object","default":{"value":"#1B1500"}}},"type":"object","default":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}}},"orange":{"id":"#tokensConfig/color/orange","properties":{"50":{"id":"#tokensConfig/color/orange/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/50/value","default":"#ffe9d9"}},"type":"object","default":{"value":"#ffe9d9"}},"100":{"id":"#tokensConfig/color/orange/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/100/value","default":"#ffd3b3"}},"type":"object","default":{"value":"#ffd3b3"}},"200":{"id":"#tokensConfig/color/orange/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/200/value","default":"#ffbd8d"}},"type":"object","default":{"value":"#ffbd8d"}},"300":{"id":"#tokensConfig/color/orange/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/300/value","default":"#ffa666"}},"type":"object","default":{"value":"#ffa666"}},"400":{"id":"#tokensConfig/color/orange/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/400/value","default":"#ff9040"}},"type":"object","default":{"value":"#ff9040"}},"500":{"id":"#tokensConfig/color/orange/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/500/value","default":"#ff7a1a"}},"type":"object","default":{"value":"#ff7a1a"}},"600":{"id":"#tokensConfig/color/orange/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/600/value","default":"#e15e00"}},"type":"object","default":{"value":"#e15e00"}},"700":{"id":"#tokensConfig/color/orange/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/700/value","default":"#a94700"}},"type":"object","default":{"value":"#a94700"}},"800":{"id":"#tokensConfig/color/orange/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/800/value","default":"#702f00"}},"type":"object","default":{"value":"#702f00"}},"900":{"id":"#tokensConfig/color/orange/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/900/value","default":"#381800"}},"type":"object","default":{"value":"#381800"}}},"type":"object","default":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}}},"red":{"id":"#tokensConfig/color/red","properties":{"50":{"id":"#tokensConfig/color/red/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/50/value","default":"#FFF9F8"}},"type":"object","default":{"value":"#FFF9F8"}},"100":{"id":"#tokensConfig/color/red/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/100/value","default":"#FFF3F0"}},"type":"object","default":{"value":"#FFF3F0"}},"200":{"id":"#tokensConfig/color/red/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/200/value","default":"#FFDED7"}},"type":"object","default":{"value":"#FFDED7"}},"300":{"id":"#tokensConfig/color/red/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/300/value","default":"#FFA692"}},"type":"object","default":{"value":"#FFA692"}},"400":{"id":"#tokensConfig/color/red/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/400/value","default":"#FF7353"}},"type":"object","default":{"value":"#FF7353"}},"500":{"id":"#tokensConfig/color/red/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/500/value","default":"#FF3B10"}},"type":"object","default":{"value":"#FF3B10"}},"600":{"id":"#tokensConfig/color/red/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/600/value","default":"#BB2402"}},"type":"object","default":{"value":"#BB2402"}},"700":{"id":"#tokensConfig/color/red/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/700/value","default":"#701704"}},"type":"object","default":{"value":"#701704"}},"800":{"id":"#tokensConfig/color/red/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/800/value","default":"#340A01"}},"type":"object","default":{"value":"#340A01"}},"900":{"id":"#tokensConfig/color/red/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/900/value","default":"#1C0301"}},"type":"object","default":{"value":"#1C0301"}}},"type":"object","default":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}}},"pear":{"id":"#tokensConfig/color/pear","properties":{"50":{"id":"#tokensConfig/color/pear/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/50/value","default":"#f7f8dc"}},"type":"object","default":{"value":"#f7f8dc"}},"100":{"id":"#tokensConfig/color/pear/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/100/value","default":"#eff0ba"}},"type":"object","default":{"value":"#eff0ba"}},"200":{"id":"#tokensConfig/color/pear/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/200/value","default":"#e8e997"}},"type":"object","default":{"value":"#e8e997"}},"300":{"id":"#tokensConfig/color/pear/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/300/value","default":"#e0e274"}},"type":"object","default":{"value":"#e0e274"}},"400":{"id":"#tokensConfig/color/pear/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/400/value","default":"#d8da52"}},"type":"object","default":{"value":"#d8da52"}},"500":{"id":"#tokensConfig/color/pear/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/500/value","default":"#d0d32f"}},"type":"object","default":{"value":"#d0d32f"}},"600":{"id":"#tokensConfig/color/pear/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/600/value","default":"#a8aa24"}},"type":"object","default":{"value":"#a8aa24"}},"700":{"id":"#tokensConfig/color/pear/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/700/value","default":"#7e801b"}},"type":"object","default":{"value":"#7e801b"}},"800":{"id":"#tokensConfig/color/pear/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/800/value","default":"#545512"}},"type":"object","default":{"value":"#545512"}},"900":{"id":"#tokensConfig/color/pear/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/900/value","default":"#2a2b09"}},"type":"object","default":{"value":"#2a2b09"}}},"type":"object","default":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}}},"teal":{"id":"#tokensConfig/color/teal","properties":{"50":{"id":"#tokensConfig/color/teal/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/50/value","default":"#d7faf8"}},"type":"object","default":{"value":"#d7faf8"}},"100":{"id":"#tokensConfig/color/teal/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/100/value","default":"#aff4f0"}},"type":"object","default":{"value":"#aff4f0"}},"200":{"id":"#tokensConfig/color/teal/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/200/value","default":"#87efe9"}},"type":"object","default":{"value":"#87efe9"}},"300":{"id":"#tokensConfig/color/teal/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/300/value","default":"#5fe9e1"}},"type":"object","default":{"value":"#5fe9e1"}},"400":{"id":"#tokensConfig/color/teal/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/400/value","default":"#36e4da"}},"type":"object","default":{"value":"#36e4da"}},"500":{"id":"#tokensConfig/color/teal/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/500/value","default":"#1cd1c6"}},"type":"object","default":{"value":"#1cd1c6"}},"600":{"id":"#tokensConfig/color/teal/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/600/value","default":"#16a79e"}},"type":"object","default":{"value":"#16a79e"}},"700":{"id":"#tokensConfig/color/teal/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/700/value","default":"#117d77"}},"type":"object","default":{"value":"#117d77"}},"800":{"id":"#tokensConfig/color/teal/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/800/value","default":"#0b544f"}},"type":"object","default":{"value":"#0b544f"}},"900":{"id":"#tokensConfig/color/teal/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/900/value","default":"#062a28"}},"type":"object","default":{"value":"#062a28"}}},"type":"object","default":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}}},"lightblue":{"id":"#tokensConfig/color/lightblue","properties":{"50":{"id":"#tokensConfig/color/lightblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/50/value","default":"#d9f8ff"}},"type":"object","default":{"value":"#d9f8ff"}},"100":{"id":"#tokensConfig/color/lightblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/100/value","default":"#b3f1ff"}},"type":"object","default":{"value":"#b3f1ff"}},"200":{"id":"#tokensConfig/color/lightblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/200/value","default":"#8deaff"}},"type":"object","default":{"value":"#8deaff"}},"300":{"id":"#tokensConfig/color/lightblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/300/value","default":"#66e4ff"}},"type":"object","default":{"value":"#66e4ff"}},"400":{"id":"#tokensConfig/color/lightblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/400/value","default":"#40ddff"}},"type":"object","default":{"value":"#40ddff"}},"500":{"id":"#tokensConfig/color/lightblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/500/value","default":"#1ad6ff"}},"type":"object","default":{"value":"#1ad6ff"}},"600":{"id":"#tokensConfig/color/lightblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/600/value","default":"#00b9e1"}},"type":"object","default":{"value":"#00b9e1"}},"700":{"id":"#tokensConfig/color/lightblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/700/value","default":"#008aa9"}},"type":"object","default":{"value":"#008aa9"}},"800":{"id":"#tokensConfig/color/lightblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/800/value","default":"#005c70"}},"type":"object","default":{"value":"#005c70"}},"900":{"id":"#tokensConfig/color/lightblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/900/value","default":"#002e38"}},"type":"object","default":{"value":"#002e38"}}},"type":"object","default":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}}},"blue":{"id":"#tokensConfig/color/blue","properties":{"50":{"id":"#tokensConfig/color/blue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/50/value","default":"#F2FAFF"}},"type":"object","default":{"value":"#F2FAFF"}},"100":{"id":"#tokensConfig/color/blue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/100/value","default":"#DFF3FF"}},"type":"object","default":{"value":"#DFF3FF"}},"200":{"id":"#tokensConfig/color/blue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/200/value","default":"#C6EAFF"}},"type":"object","default":{"value":"#C6EAFF"}},"300":{"id":"#tokensConfig/color/blue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/300/value","default":"#A1DDFF"}},"type":"object","default":{"value":"#A1DDFF"}},"400":{"id":"#tokensConfig/color/blue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/400/value","default":"#64C7FF"}},"type":"object","default":{"value":"#64C7FF"}},"500":{"id":"#tokensConfig/color/blue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/500/value","default":"#1AADFF"}},"type":"object","default":{"value":"#1AADFF"}},"600":{"id":"#tokensConfig/color/blue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/600/value","default":"#0069A6"}},"type":"object","default":{"value":"#0069A6"}},"700":{"id":"#tokensConfig/color/blue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/700/value","default":"#014267"}},"type":"object","default":{"value":"#014267"}},"800":{"id":"#tokensConfig/color/blue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/800/value","default":"#002235"}},"type":"object","default":{"value":"#002235"}},"900":{"id":"#tokensConfig/color/blue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/900/value","default":"#00131D"}},"type":"object","default":{"value":"#00131D"}}},"type":"object","default":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}}},"indigoblue":{"id":"#tokensConfig/color/indigoblue","properties":{"50":{"id":"#tokensConfig/color/indigoblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/50/value","default":"#d9e5ff"}},"type":"object","default":{"value":"#d9e5ff"}},"100":{"id":"#tokensConfig/color/indigoblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/100/value","default":"#b3cbff"}},"type":"object","default":{"value":"#b3cbff"}},"200":{"id":"#tokensConfig/color/indigoblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/200/value","default":"#8db0ff"}},"type":"object","default":{"value":"#8db0ff"}},"300":{"id":"#tokensConfig/color/indigoblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/300/value","default":"#6696ff"}},"type":"object","default":{"value":"#6696ff"}},"400":{"id":"#tokensConfig/color/indigoblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/400/value","default":"#407cff"}},"type":"object","default":{"value":"#407cff"}},"500":{"id":"#tokensConfig/color/indigoblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/500/value","default":"#1a62ff"}},"type":"object","default":{"value":"#1a62ff"}},"600":{"id":"#tokensConfig/color/indigoblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/600/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}},"700":{"id":"#tokensConfig/color/indigoblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/700/value","default":"#0035a9"}},"type":"object","default":{"value":"#0035a9"}},"800":{"id":"#tokensConfig/color/indigoblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/800/value","default":"#002370"}},"type":"object","default":{"value":"#002370"}},"900":{"id":"#tokensConfig/color/indigoblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/900/value","default":"#001238"}},"type":"object","default":{"value":"#001238"}}},"type":"object","default":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}}},"royalblue":{"id":"#tokensConfig/color/royalblue","properties":{"50":{"id":"#tokensConfig/color/royalblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/50/value","default":"#dfdbfb"}},"type":"object","default":{"value":"#dfdbfb"}},"100":{"id":"#tokensConfig/color/royalblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/100/value","default":"#c0b7f7"}},"type":"object","default":{"value":"#c0b7f7"}},"200":{"id":"#tokensConfig/color/royalblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/200/value","default":"#a093f3"}},"type":"object","default":{"value":"#a093f3"}},"300":{"id":"#tokensConfig/color/royalblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/300/value","default":"#806ff0"}},"type":"object","default":{"value":"#806ff0"}},"400":{"id":"#tokensConfig/color/royalblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/400/value","default":"#614bec"}},"type":"object","default":{"value":"#614bec"}},"500":{"id":"#tokensConfig/color/royalblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/500/value","default":"#4127e8"}},"type":"object","default":{"value":"#4127e8"}},"600":{"id":"#tokensConfig/color/royalblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/600/value","default":"#2c15c4"}},"type":"object","default":{"value":"#2c15c4"}},"700":{"id":"#tokensConfig/color/royalblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/700/value","default":"#211093"}},"type":"object","default":{"value":"#211093"}},"800":{"id":"#tokensConfig/color/royalblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/800/value","default":"#160a62"}},"type":"object","default":{"value":"#160a62"}},"900":{"id":"#tokensConfig/color/royalblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/900/value","default":"#0b0531"}},"type":"object","default":{"value":"#0b0531"}}},"type":"object","default":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}}},"purple":{"id":"#tokensConfig/color/purple","properties":{"50":{"id":"#tokensConfig/color/purple/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/50/value","default":"#ead9ff"}},"type":"object","default":{"value":"#ead9ff"}},"100":{"id":"#tokensConfig/color/purple/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/100/value","default":"#d5b3ff"}},"type":"object","default":{"value":"#d5b3ff"}},"200":{"id":"#tokensConfig/color/purple/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/200/value","default":"#c08dff"}},"type":"object","default":{"value":"#c08dff"}},"300":{"id":"#tokensConfig/color/purple/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/300/value","default":"#ab66ff"}},"type":"object","default":{"value":"#ab66ff"}},"400":{"id":"#tokensConfig/color/purple/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/400/value","default":"#9640ff"}},"type":"object","default":{"value":"#9640ff"}},"500":{"id":"#tokensConfig/color/purple/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/500/value","default":"#811aff"}},"type":"object","default":{"value":"#811aff"}},"600":{"id":"#tokensConfig/color/purple/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/600/value","default":"#6500e1"}},"type":"object","default":{"value":"#6500e1"}},"700":{"id":"#tokensConfig/color/purple/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/700/value","default":"#4c00a9"}},"type":"object","default":{"value":"#4c00a9"}},"800":{"id":"#tokensConfig/color/purple/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/800/value","default":"#330070"}},"type":"object","default":{"value":"#330070"}},"900":{"id":"#tokensConfig/color/purple/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/900/value","default":"#190038"}},"type":"object","default":{"value":"#190038"}}},"type":"object","default":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}}},"pink":{"id":"#tokensConfig/color/pink","properties":{"50":{"id":"#tokensConfig/color/pink/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/50/value","default":"#ffd9f2"}},"type":"object","default":{"value":"#ffd9f2"}},"100":{"id":"#tokensConfig/color/pink/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/100/value","default":"#ffb3e5"}},"type":"object","default":{"value":"#ffb3e5"}},"200":{"id":"#tokensConfig/color/pink/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/200/value","default":"#ff8dd8"}},"type":"object","default":{"value":"#ff8dd8"}},"300":{"id":"#tokensConfig/color/pink/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/300/value","default":"#ff66cc"}},"type":"object","default":{"value":"#ff66cc"}},"400":{"id":"#tokensConfig/color/pink/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/400/value","default":"#ff40bf"}},"type":"object","default":{"value":"#ff40bf"}},"500":{"id":"#tokensConfig/color/pink/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/500/value","default":"#ff1ab2"}},"type":"object","default":{"value":"#ff1ab2"}},"600":{"id":"#tokensConfig/color/pink/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/600/value","default":"#e10095"}},"type":"object","default":{"value":"#e10095"}},"700":{"id":"#tokensConfig/color/pink/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/700/value","default":"#a90070"}},"type":"object","default":{"value":"#a90070"}},"800":{"id":"#tokensConfig/color/pink/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/800/value","default":"#70004b"}},"type":"object","default":{"value":"#70004b"}},"900":{"id":"#tokensConfig/color/pink/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/900/value","default":"#380025"}},"type":"object","default":{"value":"#380025"}}},"type":"object","default":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}}},"ruby":{"id":"#tokensConfig/color/ruby","properties":{"50":{"id":"#tokensConfig/color/ruby/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/50/value","default":"#ffd9e4"}},"type":"object","default":{"value":"#ffd9e4"}},"100":{"id":"#tokensConfig/color/ruby/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/100/value","default":"#ffb3c9"}},"type":"object","default":{"value":"#ffb3c9"}},"200":{"id":"#tokensConfig/color/ruby/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/200/value","default":"#ff8dae"}},"type":"object","default":{"value":"#ff8dae"}},"300":{"id":"#tokensConfig/color/ruby/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/300/value","default":"#ff6694"}},"type":"object","default":{"value":"#ff6694"}},"400":{"id":"#tokensConfig/color/ruby/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/400/value","default":"#ff4079"}},"type":"object","default":{"value":"#ff4079"}},"500":{"id":"#tokensConfig/color/ruby/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/500/value","default":"#ff1a5e"}},"type":"object","default":{"value":"#ff1a5e"}},"600":{"id":"#tokensConfig/color/ruby/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/600/value","default":"#e10043"}},"type":"object","default":{"value":"#e10043"}},"700":{"id":"#tokensConfig/color/ruby/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/700/value","default":"#a90032"}},"type":"object","default":{"value":"#a90032"}},"800":{"id":"#tokensConfig/color/ruby/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/800/value","default":"#700021"}},"type":"object","default":{"value":"#700021"}},"900":{"id":"#tokensConfig/color/ruby/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/900/value","default":"#380011"}},"type":"object","default":{"value":"#380011"}}},"type":"object","default":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"primary":{"id":"#tokensConfig/color/primary","properties":{"50":{"id":"#tokensConfig/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/50/value","default":"#FFF6E5"}},"type":"object","default":{"value":"#FFF6E5"}},"100":{"id":"#tokensConfig/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/100/value","default":"#FFEDCC"}},"type":"object","default":{"value":"#FFEDCC"}},"200":{"id":"#tokensConfig/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/200/value","default":"#FFDB99"}},"type":"object","default":{"value":"#FFDB99"}},"300":{"id":"#tokensConfig/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/300/value","default":"#FFC966"}},"type":"object","default":{"value":"#FFC966"}},"400":{"id":"#tokensConfig/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/400/value","default":"#FFB833"}},"type":"object","default":{"value":"#FFB833"}},"500":{"id":"#tokensConfig/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/500/value","default":"#FFA500"}},"type":"object","default":{"value":"#FFA500"}},"600":{"id":"#tokensConfig/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/600/value","default":"#CC8500"}},"type":"object","default":{"value":"#CC8500"}},"700":{"id":"#tokensConfig/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/700/value","default":"#996300"}},"type":"object","default":{"value":"#996300"}},"800":{"id":"#tokensConfig/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/800/value","default":"#664200"}},"type":"object","default":{"value":"#664200"}},"900":{"id":"#tokensConfig/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/900/value","default":"#332100"}},"type":"object","default":{"value":"#332100"}}},"type":"object","default":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}}},"secondary":{"id":"#tokensConfig/color/secondary","properties":{"50":{"id":"#tokensConfig/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"shadow":{"id":"#tokensConfig/color/shadow","properties":{"value":{"id":"#tokensConfig/color/shadow/value","properties":{"initial":{"type":"string","id":"#tokensConfig/color/shadow/value/initial","default":"{color.gray.400}"},"dark":{"type":"string","id":"#tokensConfig/color/shadow/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"type":"object","default":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"width":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/width","properties":{"screen":{"id":"#tokensConfig/width/screen","properties":{"value":{"type":"string","id":"#tokensConfig/width/screen/value","default":"100vw"}},"type":"object","default":{"value":"100vw"}}},"type":"object","default":{"screen":{"value":"100vw"}}},"height":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/height","properties":{"screen":{"id":"#tokensConfig/height/screen","properties":{"value":{"type":"string","id":"#tokensConfig/height/screen/value","default":"100vh"}},"type":"object","default":{"value":"100vh"}}},"type":"object","default":{"screen":{"value":"100vh"}}},"shadow":{"title":"Your website shadows.","tags":["@studioInput design-token","@studioInputTokenType shadow","@studioIcon mdi:box-shadow"],"id":"#tokensConfig/shadow","properties":{"xs":{"id":"#tokensConfig/shadow/xs","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xs/value","default":"0px 1px 2px 0px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 2px 0px {color.shadow}"}},"sm":{"id":"#tokensConfig/shadow/sm","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/sm/value","default":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"md":{"id":"#tokensConfig/shadow/md","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/md/value","default":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"type":"object","default":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"lg":{"id":"#tokensConfig/shadow/lg","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/lg/value","default":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"type":"object","default":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"xl":{"id":"#tokensConfig/shadow/xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xl/value","default":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"type":"object","default":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"2xl":{"id":"#tokensConfig/shadow/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/2xl/value","default":"0px 25px 50px -12px {color.shadow}"}},"type":"object","default":{"value":"0px 25px 50px -12px {color.shadow}"}},"none":{"id":"#tokensConfig/shadow/none","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/none/value","default":"0px 0px 0px 0px transparent"}},"type":"object","default":{"value":"0px 0px 0px 0px transparent"}}},"type":"object","default":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}}},"radii":{"title":"Your website border radiuses.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:rounded-corner","@studioInpuTokenType size"],"id":"#tokensConfig/radii","properties":{"none":{"id":"#tokensConfig/radii/none","properties":{"value":{"type":"string","id":"#tokensConfig/radii/none/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2xs":{"id":"#tokensConfig/radii/2xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xs/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"xs":{"id":"#tokensConfig/radii/xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xs/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"sm":{"id":"#tokensConfig/radii/sm","properties":{"value":{"type":"string","id":"#tokensConfig/radii/sm/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"md":{"id":"#tokensConfig/radii/md","properties":{"value":{"type":"string","id":"#tokensConfig/radii/md/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"lg":{"id":"#tokensConfig/radii/lg","properties":{"value":{"type":"string","id":"#tokensConfig/radii/lg/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"xl":{"id":"#tokensConfig/radii/xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xl/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"2xl":{"id":"#tokensConfig/radii/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/radii/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/3xl/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"full":{"id":"#tokensConfig/radii/full","properties":{"value":{"type":"string","id":"#tokensConfig/radii/full/value","default":"9999px"}},"type":"object","default":{"value":"9999px"}}},"type":"object","default":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}}},"size":{"title":"Your website sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/size","properties":{"0":{"id":"#tokensConfig/size/0","properties":{"value":{"type":"string","id":"#tokensConfig/size/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2":{"id":"#tokensConfig/size/2","properties":{"value":{"type":"string","id":"#tokensConfig/size/2/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"4":{"id":"#tokensConfig/size/4","properties":{"value":{"type":"string","id":"#tokensConfig/size/4/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"6":{"id":"#tokensConfig/size/6","properties":{"value":{"type":"string","id":"#tokensConfig/size/6/value","default":"6px"}},"type":"object","default":{"value":"6px"}},"8":{"id":"#tokensConfig/size/8","properties":{"value":{"type":"string","id":"#tokensConfig/size/8/value","default":"8px"}},"type":"object","default":{"value":"8px"}},"12":{"id":"#tokensConfig/size/12","properties":{"value":{"type":"string","id":"#tokensConfig/size/12/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"16":{"id":"#tokensConfig/size/16","properties":{"value":{"type":"string","id":"#tokensConfig/size/16/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"20":{"id":"#tokensConfig/size/20","properties":{"value":{"type":"string","id":"#tokensConfig/size/20/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"24":{"id":"#tokensConfig/size/24","properties":{"value":{"type":"string","id":"#tokensConfig/size/24/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"32":{"id":"#tokensConfig/size/32","properties":{"value":{"type":"string","id":"#tokensConfig/size/32/value","default":"32px"}},"type":"object","default":{"value":"32px"}},"40":{"id":"#tokensConfig/size/40","properties":{"value":{"type":"string","id":"#tokensConfig/size/40/value","default":"40px"}},"type":"object","default":{"value":"40px"}},"48":{"id":"#tokensConfig/size/48","properties":{"value":{"type":"string","id":"#tokensConfig/size/48/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"56":{"id":"#tokensConfig/size/56","properties":{"value":{"type":"string","id":"#tokensConfig/size/56/value","default":"56px"}},"type":"object","default":{"value":"56px"}},"64":{"id":"#tokensConfig/size/64","properties":{"value":{"type":"string","id":"#tokensConfig/size/64/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"80":{"id":"#tokensConfig/size/80","properties":{"value":{"type":"string","id":"#tokensConfig/size/80/value","default":"80px"}},"type":"object","default":{"value":"80px"}},"104":{"id":"#tokensConfig/size/104","properties":{"value":{"type":"string","id":"#tokensConfig/size/104/value","default":"104px"}},"type":"object","default":{"value":"104px"}},"200":{"id":"#tokensConfig/size/200","properties":{"value":{"type":"string","id":"#tokensConfig/size/200/value","default":"200px"}},"type":"object","default":{"value":"200px"}},"xs":{"id":"#tokensConfig/size/xs","properties":{"value":{"type":"string","id":"#tokensConfig/size/xs/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"sm":{"id":"#tokensConfig/size/sm","properties":{"value":{"type":"string","id":"#tokensConfig/size/sm/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"md":{"id":"#tokensConfig/size/md","properties":{"value":{"type":"string","id":"#tokensConfig/size/md/value","default":"28rem"}},"type":"object","default":{"value":"28rem"}},"lg":{"id":"#tokensConfig/size/lg","properties":{"value":{"type":"string","id":"#tokensConfig/size/lg/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"xl":{"id":"#tokensConfig/size/xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/xl/value","default":"36rem"}},"type":"object","default":{"value":"36rem"}},"2xl":{"id":"#tokensConfig/size/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/2xl/value","default":"42rem"}},"type":"object","default":{"value":"42rem"}},"3xl":{"id":"#tokensConfig/size/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/3xl/value","default":"48rem"}},"type":"object","default":{"value":"48rem"}},"4xl":{"id":"#tokensConfig/size/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/4xl/value","default":"56rem"}},"type":"object","default":{"value":"56rem"}},"5xl":{"id":"#tokensConfig/size/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/5xl/value","default":"64rem"}},"type":"object","default":{"value":"64rem"}},"6xl":{"id":"#tokensConfig/size/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/6xl/value","default":"72rem"}},"type":"object","default":{"value":"72rem"}},"7xl":{"id":"#tokensConfig/size/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/7xl/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"full":{"id":"#tokensConfig/size/full","properties":{"value":{"type":"string","id":"#tokensConfig/size/full/value","default":"100%"}},"type":"object","default":{"value":"100%"}}},"type":"object","default":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}}},"space":{"title":"Your website spacings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/space","properties":{"0":{"id":"#tokensConfig/space/0","properties":{"value":{"type":"string","id":"#tokensConfig/space/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"1":{"id":"#tokensConfig/space/1","properties":{"value":{"type":"string","id":"#tokensConfig/space/1/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"2":{"id":"#tokensConfig/space/2","properties":{"value":{"type":"string","id":"#tokensConfig/space/2/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"3":{"id":"#tokensConfig/space/3","properties":{"value":{"type":"string","id":"#tokensConfig/space/3/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"4":{"id":"#tokensConfig/space/4","properties":{"value":{"type":"string","id":"#tokensConfig/space/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/space/5","properties":{"value":{"type":"string","id":"#tokensConfig/space/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/space/6","properties":{"value":{"type":"string","id":"#tokensConfig/space/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/space/7","properties":{"value":{"type":"string","id":"#tokensConfig/space/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/space/8","properties":{"value":{"type":"string","id":"#tokensConfig/space/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/space/9","properties":{"value":{"type":"string","id":"#tokensConfig/space/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/space/10","properties":{"value":{"type":"string","id":"#tokensConfig/space/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"11":{"id":"#tokensConfig/space/11","properties":{"value":{"type":"string","id":"#tokensConfig/space/11/value","default":"2.75rem"}},"type":"object","default":{"value":"2.75rem"}},"12":{"id":"#tokensConfig/space/12","properties":{"value":{"type":"string","id":"#tokensConfig/space/12/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"14":{"id":"#tokensConfig/space/14","properties":{"value":{"type":"string","id":"#tokensConfig/space/14/value","default":"3.5rem"}},"type":"object","default":{"value":"3.5rem"}},"16":{"id":"#tokensConfig/space/16","properties":{"value":{"type":"string","id":"#tokensConfig/space/16/value","default":"4rem"}},"type":"object","default":{"value":"4rem"}},"20":{"id":"#tokensConfig/space/20","properties":{"value":{"type":"string","id":"#tokensConfig/space/20/value","default":"5rem"}},"type":"object","default":{"value":"5rem"}},"24":{"id":"#tokensConfig/space/24","properties":{"value":{"type":"string","id":"#tokensConfig/space/24/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"28":{"id":"#tokensConfig/space/28","properties":{"value":{"type":"string","id":"#tokensConfig/space/28/value","default":"7rem"}},"type":"object","default":{"value":"7rem"}},"32":{"id":"#tokensConfig/space/32","properties":{"value":{"type":"string","id":"#tokensConfig/space/32/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}},"36":{"id":"#tokensConfig/space/36","properties":{"value":{"type":"string","id":"#tokensConfig/space/36/value","default":"9rem"}},"type":"object","default":{"value":"9rem"}},"40":{"id":"#tokensConfig/space/40","properties":{"value":{"type":"string","id":"#tokensConfig/space/40/value","default":"10rem"}},"type":"object","default":{"value":"10rem"}},"44":{"id":"#tokensConfig/space/44","properties":{"value":{"type":"string","id":"#tokensConfig/space/44/value","default":"11rem"}},"type":"object","default":{"value":"11rem"}},"48":{"id":"#tokensConfig/space/48","properties":{"value":{"type":"string","id":"#tokensConfig/space/48/value","default":"12rem"}},"type":"object","default":{"value":"12rem"}},"52":{"id":"#tokensConfig/space/52","properties":{"value":{"type":"string","id":"#tokensConfig/space/52/value","default":"13rem"}},"type":"object","default":{"value":"13rem"}},"56":{"id":"#tokensConfig/space/56","properties":{"value":{"type":"string","id":"#tokensConfig/space/56/value","default":"14rem"}},"type":"object","default":{"value":"14rem"}},"60":{"id":"#tokensConfig/space/60","properties":{"value":{"type":"string","id":"#tokensConfig/space/60/value","default":"15rem"}},"type":"object","default":{"value":"15rem"}},"64":{"id":"#tokensConfig/space/64","properties":{"value":{"type":"string","id":"#tokensConfig/space/64/value","default":"16rem"}},"type":"object","default":{"value":"16rem"}},"72":{"id":"#tokensConfig/space/72","properties":{"value":{"type":"string","id":"#tokensConfig/space/72/value","default":"18rem"}},"type":"object","default":{"value":"18rem"}},"80":{"id":"#tokensConfig/space/80","properties":{"value":{"type":"string","id":"#tokensConfig/space/80/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"96":{"id":"#tokensConfig/space/96","properties":{"value":{"type":"string","id":"#tokensConfig/space/96/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"128":{"id":"#tokensConfig/space/128","properties":{"value":{"type":"string","id":"#tokensConfig/space/128/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"px":{"id":"#tokensConfig/space/px","properties":{"value":{"type":"string","id":"#tokensConfig/space/px/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"rem":{"id":"#tokensConfig/space/rem","properties":{"125":{"id":"#tokensConfig/space/rem/125","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/125/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"375":{"id":"#tokensConfig/space/rem/375","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/375/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"625":{"id":"#tokensConfig/space/rem/625","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/625/value","default":"0.625rem"}},"type":"object","default":{"value":"0.625rem"}},"875":{"id":"#tokensConfig/space/rem/875","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/875/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}}},"type":"object","default":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"type":"object","default":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"borderWidth":{"title":"Your website border widths.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/borderWidth","properties":{"noBorder":{"id":"#tokensConfig/borderWidth/noBorder","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/noBorder/value","default":"0"}},"type":"object","default":{"value":"0"}},"sm":{"id":"#tokensConfig/borderWidth/sm","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/sm/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"md":{"id":"#tokensConfig/borderWidth/md","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/md/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"lg":{"id":"#tokensConfig/borderWidth/lg","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/lg/value","default":"3px"}},"type":"object","default":{"value":"3px"}}},"type":"object","default":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}}},"opacity":{"title":"Your website opacities.","tags":["@studioInput design-token","@studioInputTokenType opacity","@studioIcon material-symbols:opacity"],"id":"#tokensConfig/opacity","properties":{"noOpacity":{"id":"#tokensConfig/opacity/noOpacity","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/noOpacity/value","default":"0"}},"type":"object","default":{"value":"0"}},"bright":{"id":"#tokensConfig/opacity/bright","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/bright/value","default":"0.1"}},"type":"object","default":{"value":"0.1"}},"light":{"id":"#tokensConfig/opacity/light","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/light/value","default":"0.15"}},"type":"object","default":{"value":"0.15"}},"soft":{"id":"#tokensConfig/opacity/soft","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/soft/value","default":"0.3"}},"type":"object","default":{"value":"0.3"}},"medium":{"id":"#tokensConfig/opacity/medium","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/medium/value","default":"0.5"}},"type":"object","default":{"value":"0.5"}},"high":{"id":"#tokensConfig/opacity/high","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/high/value","default":"0.8"}},"type":"object","default":{"value":"0.8"}},"total":{"id":"#tokensConfig/opacity/total","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/total/value","default":"1"}},"type":"object","default":{"value":"1"}}},"type":"object","default":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}}},"font":{"title":"Your website fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/font","properties":{"sans":{"id":"#tokensConfig/font/sans","properties":{"value":{"type":"string","id":"#tokensConfig/font/sans/value","default":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"type":"object","default":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"serif":{"id":"#tokensConfig/font/serif","properties":{"value":{"type":"string","id":"#tokensConfig/font/serif/value","default":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"type":"object","default":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"mono":{"id":"#tokensConfig/font/mono","properties":{"value":{"type":"string","id":"#tokensConfig/font/mono/value","default":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"type":"object","default":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"type":"object","default":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"fontWeight":{"title":"Your website font weights.","tags":["@studioInput design-token","@studioInputTokenType font-weight","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontWeight","properties":{"thin":{"id":"#tokensConfig/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"fontSize":{"title":"Your website font sizes.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontSize","properties":{"xs":{"id":"#tokensConfig/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xs/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"sm":{"id":"#tokensConfig/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/sm/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}},"base":{"id":"#tokensConfig/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/base/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"lg":{"id":"#tokensConfig/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/lg/value","default":"1.125rem"}},"type":"object","default":{"value":"1.125rem"}},"xl":{"id":"#tokensConfig/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xl/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"2xl":{"id":"#tokensConfig/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/3xl/value","default":"1.875rem"}},"type":"object","default":{"value":"1.875rem"}},"4xl":{"id":"#tokensConfig/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/4xl/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"5xl":{"id":"#tokensConfig/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/5xl/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"6xl":{"id":"#tokensConfig/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/6xl/value","default":"3.75rem"}},"type":"object","default":{"value":"3.75rem"}},"7xl":{"id":"#tokensConfig/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/7xl/value","default":"4.5rem"}},"type":"object","default":{"value":"4.5rem"}},"8xl":{"id":"#tokensConfig/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/8xl/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"9xl":{"id":"#tokensConfig/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/9xl/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}}},"type":"object","default":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}}},"letterSpacing":{"title":"Your website letter spacings.","tags":["@studioInput design-token","@studioInputTokenType letter-spacing","@studioIcon fluent:font-space-tracking-out-24-filled"],"id":"#tokensConfig/letterSpacing","properties":{"tighter":{"id":"#tokensConfig/letterSpacing/tighter","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tighter/value","default":"-0.05em"}},"type":"object","default":{"value":"-0.05em"}},"tight":{"id":"#tokensConfig/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"normal":{"id":"#tokensConfig/letterSpacing/normal","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/normal/value","default":"0em"}},"type":"object","default":{"value":"0em"}},"wide":{"id":"#tokensConfig/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}},"wider":{"id":"#tokensConfig/letterSpacing/wider","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wider/value","default":"0.05em"}},"type":"object","default":{"value":"0.05em"}},"widest":{"id":"#tokensConfig/letterSpacing/widest","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/widest/value","default":"0.1em"}},"type":"object","default":{"value":"0.1em"}}},"type":"object","default":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}}},"lead":{"title":"Your website line heights.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon icon-park-outline:auto-line-height"],"id":"#tokensConfig/lead","properties":{"1":{"id":"#tokensConfig/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"text":{"title":"Your website text scales.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:format-size-rounded"],"id":"#tokensConfig/text","properties":{"xs":{"id":"#tokensConfig/text/xs","properties":{"fontSize":{"id":"#tokensConfig/text/xs/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/fontSize/value","default":"{fontSize.xs}"}},"type":"object","default":{"value":"{fontSize.xs}"}},"lineHeight":{"id":"#tokensConfig/text/xs/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/lineHeight/value","default":"{lead.4}"}},"type":"object","default":{"value":"{lead.4}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}}},"sm":{"id":"#tokensConfig/text/sm","properties":{"fontSize":{"id":"#tokensConfig/text/sm/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/text/sm/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/lineHeight/value","default":"{lead.5}"}},"type":"object","default":{"value":"{lead.5}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}}},"base":{"id":"#tokensConfig/text/base","properties":{"fontSize":{"id":"#tokensConfig/text/base/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/fontSize/value","default":"{fontSize.base}"}},"type":"object","default":{"value":"{fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/text/base/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/lineHeight/value","default":"{lead.6}"}},"type":"object","default":{"value":"{lead.6}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}}},"lg":{"id":"#tokensConfig/text/lg","properties":{"fontSize":{"id":"#tokensConfig/text/lg/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/fontSize/value","default":"{fontSize.lg}"}},"type":"object","default":{"value":"{fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/text/lg/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}}},"xl":{"id":"#tokensConfig/text/xl","properties":{"fontSize":{"id":"#tokensConfig/text/xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/fontSize/value","default":"{fontSize.xl}"}},"type":"object","default":{"value":"{fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/text/xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}}},"2xl":{"id":"#tokensConfig/text/2xl","properties":{"fontSize":{"id":"#tokensConfig/text/2xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/text/2xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/lineHeight/value","default":"{lead.8}"}},"type":"object","default":{"value":"{lead.8}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}}},"3xl":{"id":"#tokensConfig/text/3xl","properties":{"fontSize":{"id":"#tokensConfig/text/3xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/fontSize/value","default":"{fontSize.3xl}"}},"type":"object","default":{"value":"{fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/text/3xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/lineHeight/value","default":"{lead.9}"}},"type":"object","default":{"value":"{lead.9}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}}},"4xl":{"id":"#tokensConfig/text/4xl","properties":{"fontSize":{"id":"#tokensConfig/text/4xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/fontSize/value","default":"{fontSize.4xl}"}},"type":"object","default":{"value":"{fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/text/4xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/lineHeight/value","default":"{lead.10}"}},"type":"object","default":{"value":"{lead.10}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}}},"5xl":{"id":"#tokensConfig/text/5xl","properties":{"fontSize":{"id":"#tokensConfig/text/5xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/fontSize/value","default":"{fontSize.5xl}"}},"type":"object","default":{"value":"{fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/text/5xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}}},"6xl":{"id":"#tokensConfig/text/6xl","properties":{"fontSize":{"id":"#tokensConfig/text/6xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/fontSize/value","default":"{fontSize.6xl}"}},"type":"object","default":{"value":"{fontSize.6xl}"}},"lineHeight":{"id":"#tokensConfig/text/6xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"type":"object","default":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"elements":{"title":"All the configurable tokens for your Elements.","tags":["@studioIcon uiw:component"],"id":"#tokensConfig/elements","properties":{"text":{"id":"#tokensConfig/elements/text","properties":{"primary":{"id":"#tokensConfig/elements/text/primary","properties":{"color":{"id":"#tokensConfig/elements/text/primary/color","properties":{"static":{"id":"#tokensConfig/elements/text/primary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/primary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/dark","default":"{color.gray.50}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"hover":{"id":"#tokensConfig/elements/text/primary/color/hover","type":"any","default":{}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"secondary":{"id":"#tokensConfig/elements/text/secondary","properties":{"color":{"id":"#tokensConfig/elements/text/secondary/color","properties":{"static":{"id":"#tokensConfig/elements/text/secondary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/initial","default":"{color.gray.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/dark","default":"{color.gray.400}"}},"type":"object","default":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"type":"object","default":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"hover":{"id":"#tokensConfig/elements/text/secondary/color/hover","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/initial","default":"{color.gray.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"type":"object","default":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"container":{"title":"Main container sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:width-full-outline"],"id":"#tokensConfig/elements/container","properties":{"maxWidth":{"id":"#tokensConfig/elements/container/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/maxWidth/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"padding":{"id":"#tokensConfig/elements/container/padding","properties":{"mobile":{"id":"#tokensConfig/elements/container/padding/mobile","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/mobile/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"xs":{"id":"#tokensConfig/elements/container/padding/xs","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/xs/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"sm":{"id":"#tokensConfig/elements/container/padding/sm","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/sm/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}},"md":{"id":"#tokensConfig/elements/container/padding/md","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/md/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}}},"type":"object","default":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"type":"object","default":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"backdrop":{"title":"Backdrops used in Elements.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:blur-circular"],"id":"#tokensConfig/elements/backdrop","properties":{"filter":{"id":"#tokensConfig/elements/backdrop/filter","properties":{"value":{"type":"string","id":"#tokensConfig/elements/backdrop/filter/value","default":"saturate(200%) blur(20px)"}},"type":"object","default":{"value":"saturate(200%) blur(20px)"}},"background":{"id":"#tokensConfig/elements/backdrop/background","properties":{"value":{"id":"#tokensConfig/elements/backdrop/background/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/initial","default":"#fffc"},"dark":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/dark","default":"#0c0d0ccc"}},"type":"object","default":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"type":"object","default":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"type":"object","default":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"border":{"title":"Borders used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/elements/border","properties":{"primary":{"id":"#tokensConfig/elements/border/primary","properties":{"static":{"id":"#tokensConfig/elements/border/primary/static","properties":{"value":{"id":"#tokensConfig/elements/border/primary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"hover":{"id":"#tokensConfig/elements/border/primary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/primary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"secondary":{"id":"#tokensConfig/elements/border/secondary","properties":{"static":{"id":"#tokensConfig/elements/border/secondary/static","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"hover":{"id":"#tokensConfig/elements/border/secondary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/initial","default":""},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/dark","default":""}},"type":"object","default":{"initial":"","dark":""}}},"type":"object","default":{"value":{"initial":"","dark":""}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"type":"object","default":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"surface":{"title":"Surfaces used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon fluent:surface-hub-20-filled"],"id":"#tokensConfig/elements/surface","properties":{"background":{"id":"#tokensConfig/elements/surface/background","properties":{"base":{"id":"#tokensConfig/elements/surface/background/base","properties":{"value":{"id":"#tokensConfig/elements/surface/background/base/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"primary":{"id":"#tokensConfig/elements/surface/primary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/primary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/primary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"secondary":{"id":"#tokensConfig/elements/surface/secondary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"type":"object","default":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"state":{"title":"Color states used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon mdi:palette-advanced"],"id":"#tokensConfig/elements/state","properties":{"primary":{"id":"#tokensConfig/elements/state/primary","properties":{"color":{"id":"#tokensConfig/elements/state/primary/color","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/initial","default":"{color.primary.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/dark","default":"{color.primary.400}"}},"type":"object","default":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/initial","default":"{color.primary.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/dark","default":"{color.primary.200}"}},"type":"object","default":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"type":"object","default":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/primary/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial","default":"{color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark","default":"{color.primary.900}"}},"type":"object","default":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/primary/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/initial","default":"{color.primary.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/dark","default":"{color.primary.700}"}},"type":"object","default":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}},"type":"object","default":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"info":{"id":"#tokensConfig/elements/state/info","properties":{"color":{"id":"#tokensConfig/elements/state/info/color","properties":{"primary":{"id":"#tokensConfig/elements/state/info/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/initial","default":"{color.blue.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/dark","default":"{color.blue.400}"}},"type":"object","default":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"type":"object","default":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/initial","default":"{color.blue.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/dark","default":"{color.blue.200}"}},"type":"object","default":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"type":"object","default":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/info/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/initial","default":"{color.blue.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/dark","default":"{color.blue.900}"}},"type":"object","default":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"type":"object","default":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/info/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/initial","default":"{color.blue.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/dark","default":"{color.blue.700}"}},"type":"object","default":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}},"type":"object","default":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"success":{"id":"#tokensConfig/elements/state/success","properties":{"color":{"id":"#tokensConfig/elements/state/success/color","properties":{"primary":{"id":"#tokensConfig/elements/state/success/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/initial","default":"{color.green.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/dark","default":"{color.green.400}"}},"type":"object","default":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"type":"object","default":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/initial","default":"{color.green.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/dark","default":"{color.green.200}"}},"type":"object","default":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"type":"object","default":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/success/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/initial","default":"{color.green.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/dark","default":"{color.green.900}"}},"type":"object","default":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"type":"object","default":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/success/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/initial","default":"{color.green.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/dark","default":"{color.green.700}"}},"type":"object","default":{"initial":"{color.green.200}","dark":"{color.green.700}"}}},"type":"object","default":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"warning":{"id":"#tokensConfig/elements/state/warning","properties":{"color":{"id":"#tokensConfig/elements/state/warning/color","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/initial","default":"{color.yellow.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/dark","default":"{color.yellow.400}"}},"type":"object","default":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/initial","default":"{color.yellow.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/dark","default":"{color.yellow.200}"}},"type":"object","default":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/warning/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial","default":"{color.yellow.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark","default":"{color.yellow.900}"}},"type":"object","default":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/warning/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/initial","default":"{color.yellow.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/dark","default":"{color.yellow.700}"}},"type":"object","default":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"danger":{"id":"#tokensConfig/elements/state/danger","properties":{"color":{"id":"#tokensConfig/elements/state/danger/color","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/initial","default":"{color.red.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/dark","default":"{color.red.300}"}},"type":"object","default":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"type":"object","default":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/initial","default":"{color.red.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/dark","default":"{color.red.200}"}},"type":"object","default":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"type":"object","default":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/danger/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial","default":"{color.red.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark","default":"{color.red.900}"}},"type":"object","default":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"type":"object","default":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/danger/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/initial","default":"{color.red.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/dark","default":"{color.red.700}"}},"type":"object","default":{"initial":"{color.red.200}","dark":"{color.red.700}"}}},"type":"object","default":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"type":"object","default":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"type":"object","default":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"typography":{"title":"All the configurable tokens for your Typography.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:article"],"id":"#tokensConfig/typography","properties":{"body":{"id":"#tokensConfig/typography/body","properties":{"color":{"id":"#tokensConfig/typography/body/color","properties":{"value":{"id":"#tokensConfig/typography/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/color/value/initial","default":"{color.black}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/color/value/dark","default":"{color.white}"}},"type":"object","default":{"initial":"{color.black}","dark":"{color.white}"}}},"type":"object","default":{"value":{"initial":"{color.black}","dark":"{color.white}"}}},"backgroundColor":{"id":"#tokensConfig/typography/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/typography/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"type":"object","default":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"verticalMargin":{"title":"Vertical spacings between paragraphs.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:line-height-line"],"id":"#tokensConfig/typography/verticalMargin","properties":{"sm":{"id":"#tokensConfig/typography/verticalMargin/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/sm/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"base":{"id":"#tokensConfig/typography/verticalMargin/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/base/value","default":"24px"}},"type":"object","default":{"value":"24px"}}},"type":"object","default":{"sm":{"value":"16px"},"base":{"value":"24px"}}},"letterSpacing":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:letter-spacing-line"],"id":"#tokensConfig/typography/letterSpacing","properties":{"tight":{"id":"#tokensConfig/typography/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"wide":{"id":"#tokensConfig/typography/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}}},"type":"object","default":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}}},"fontSize":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:font-size-fill"],"id":"#tokensConfig/typography/fontSize","properties":{"xs":{"id":"#tokensConfig/typography/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xs/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"sm":{"id":"#tokensConfig/typography/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/sm/value","default":"14px"}},"type":"object","default":{"value":"14px"}},"base":{"id":"#tokensConfig/typography/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/base/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"lg":{"id":"#tokensConfig/typography/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/lg/value","default":"18px"}},"type":"object","default":{"value":"18px"}},"xl":{"id":"#tokensConfig/typography/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xl/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"2xl":{"id":"#tokensConfig/typography/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/2xl/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"3xl":{"id":"#tokensConfig/typography/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/3xl/value","default":"30px"}},"type":"object","default":{"value":"30px"}},"4xl":{"id":"#tokensConfig/typography/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/4xl/value","default":"36px"}},"type":"object","default":{"value":"36px"}},"5xl":{"id":"#tokensConfig/typography/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/5xl/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"6xl":{"id":"#tokensConfig/typography/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/6xl/value","default":"60px"}},"type":"object","default":{"value":"60px"}},"7xl":{"id":"#tokensConfig/typography/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/7xl/value","default":"72px"}},"type":"object","default":{"value":"72px"}},"8xl":{"id":"#tokensConfig/typography/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/8xl/value","default":"96px"}},"type":"object","default":{"value":"96px"}},"9xl":{"id":"#tokensConfig/typography/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/9xl/value","default":"128px"}},"type":"object","default":{"value":"128px"}}},"type":"object","default":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}}},"fontWeight":{"title":"Font weights used in typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:bold-fill"],"id":"#tokensConfig/typography/fontWeight","properties":{"thin":{"id":"#tokensConfig/typography/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/typography/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/typography/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/typography/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/typography/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/typography/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/typography/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/typography/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/typography/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"lead":{"title":"Line heights used in your typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon material-symbols:height-rounded"],"id":"#tokensConfig/typography/lead","properties":{"1":{"id":"#tokensConfig/typography/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/typography/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/typography/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/typography/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/typography/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/typography/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/typography/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/typography/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/typography/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/typography/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/typography/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/typography/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/typography/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/typography/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/typography/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/typography/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your typography fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/typography/font","properties":{"display":{"id":"#tokensConfig/typography/font/display","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/display/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"body":{"id":"#tokensConfig/typography/font/body","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/body/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"code":{"id":"#tokensConfig/typography/font/code","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/code/value","default":"{font.mono}"}},"type":"object","default":{"value":"{font.mono}"}}},"type":"object","default":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}}},"color":{"title":"Your typography color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/typography/color","properties":{"primary":{"id":"#tokensConfig/typography/color/primary","properties":{"50":{"id":"#tokensConfig/typography/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/50/value","default":"{color.primary.50}"}},"type":"object","default":{"value":"{color.primary.50}"}},"100":{"id":"#tokensConfig/typography/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/100/value","default":"{color.primary.100}"}},"type":"object","default":{"value":"{color.primary.100}"}},"200":{"id":"#tokensConfig/typography/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/200/value","default":"{color.primary.200}"}},"type":"object","default":{"value":"{color.primary.200}"}},"300":{"id":"#tokensConfig/typography/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/300/value","default":"{color.primary.300}"}},"type":"object","default":{"value":"{color.primary.300}"}},"400":{"id":"#tokensConfig/typography/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/400/value","default":"{color.primary.400}"}},"type":"object","default":{"value":"{color.primary.400}"}},"500":{"id":"#tokensConfig/typography/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/500/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}},"600":{"id":"#tokensConfig/typography/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/600/value","default":"{color.primary.600}"}},"type":"object","default":{"value":"{color.primary.600}"}},"700":{"id":"#tokensConfig/typography/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/700/value","default":"{color.primary.700}"}},"type":"object","default":{"value":"{color.primary.700}"}},"800":{"id":"#tokensConfig/typography/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/800/value","default":"{color.primary.800}"}},"type":"object","default":{"value":"{color.primary.800}"}},"900":{"id":"#tokensConfig/typography/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/900/value","default":"{color.primary.900}"}},"type":"object","default":{"value":"{color.primary.900}"}}},"type":"object","default":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/typography/color/secondary","properties":{"50":{"id":"#tokensConfig/typography/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/typography/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/typography/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/typography/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/typography/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/typography/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/typography/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/typography/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/typography/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/typography/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"type":"object","default":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"prose":{"title":"All the configurable tokens for your Prose components.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon lucide:component"],"id":"#tokensConfig/prose","properties":{"p":{"id":"#tokensConfig/prose/p","properties":{"fontSize":{"id":"#tokensConfig/prose/p/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/fontSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/prose/p/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"margin":{"id":"#tokensConfig/prose/p/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"br":{"id":"#tokensConfig/prose/p/br","properties":{"margin":{"id":"#tokensConfig/prose/p/br/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/br/margin/value","default":"{typography.verticalMargin.base} 0 0 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"h1":{"id":"#tokensConfig/prose/h1","properties":{"margin":{"id":"#tokensConfig/prose/h1/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/margin/value","default":"0 0 2rem"}},"type":"object","default":{"value":"0 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h1/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontSize/value","default":"{typography.fontSize.5xl}"}},"type":"object","default":{"value":"{typography.fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h1/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h1/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontWeight/value","default":"{typography.fontWeight.bold}"}},"type":"object","default":{"value":"{typography.fontWeight.bold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h1/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h1/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/iconSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}}},"type":"object","default":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}}},"h2":{"id":"#tokensConfig/prose/h2","properties":{"margin":{"id":"#tokensConfig/prose/h2/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h2/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontSize/value","default":"{typography.fontSize.4xl}"}},"type":"object","default":{"value":"{typography.fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h2/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h2/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h2/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h2/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/iconSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}}},"h3":{"id":"#tokensConfig/prose/h3","properties":{"margin":{"id":"#tokensConfig/prose/h3/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h3/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h3/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h3/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h3/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h3/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/iconSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}}},"h4":{"id":"#tokensConfig/prose/h4","properties":{"margin":{"id":"#tokensConfig/prose/h4/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h4/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h4/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h4/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h4/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h4/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h5":{"id":"#tokensConfig/prose/h5","properties":{"margin":{"id":"#tokensConfig/prose/h5/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h5/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h5/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h5/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h5/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h6":{"id":"#tokensConfig/prose/h6","properties":{"margin":{"id":"#tokensConfig/prose/h6/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h6/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/prose/h6/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"fontWeight":{"id":"#tokensConfig/prose/h6/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h6/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/iconSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}}},"strong":{"id":"#tokensConfig/prose/strong","properties":{"fontWeight":{"id":"#tokensConfig/prose/strong/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/strong/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"img":{"id":"#tokensConfig/prose/img","properties":{"margin":{"id":"#tokensConfig/prose/img/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/img/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"}}},"a":{"id":"#tokensConfig/prose/a","properties":{"textDecoration":{"id":"#tokensConfig/prose/a/textDecoration","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/textDecoration/value","default":"none"}},"type":"object","default":{"value":"none"}},"color":{"id":"#tokensConfig/prose/a/color","properties":{"static":{"id":"#tokensConfig/prose/a/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/initial","default":"inherit"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/dark","default":"inherit"}},"type":"object","default":{"initial":"inherit","dark":"inherit"}}},"type":"object","default":{"value":{"initial":"inherit","dark":"inherit"}}},"hover":{"id":"#tokensConfig/prose/a/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/dark","default":"{typography.color.primary.400}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"type":"object","default":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"border":{"id":"#tokensConfig/prose/a/border","properties":{"width":{"id":"#tokensConfig/prose/a/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/a/border/style","properties":{"static":{"id":"#tokensConfig/prose/a/border/style/static","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/static/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"hover":{"id":"#tokensConfig/prose/a/border/style/hover","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/hover/value","default":"solid"}},"type":"object","default":{"value":"solid"}}},"type":"object","default":{"static":{"value":"dashed"},"hover":{"value":"solid"}}},"color":{"id":"#tokensConfig/prose/a/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"distance":{"id":"#tokensConfig/prose/a/border/distance","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/distance/value","default":"2px"}},"type":"object","default":{"value":"2px"}}},"type":"object","default":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}}},"fontWeight":{"id":"#tokensConfig/prose/a/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/fontWeight/value","default":"{typography.fontWeight.medium}"}},"type":"object","default":{"value":"{typography.fontWeight.medium}"}},"hasCode":{"id":"#tokensConfig/prose/a/hasCode","properties":{"borderBottom":{"id":"#tokensConfig/prose/a/hasCode/borderBottom","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/hasCode/borderBottom/value","default":"none"}},"type":"object","default":{"value":"none"}}},"type":"object","default":{"borderBottom":{"value":"none"}}},"code":{"id":"#tokensConfig/prose/a/code","properties":{"border":{"id":"#tokensConfig/prose/a/code/border","properties":{"width":{"id":"#tokensConfig/prose/a/code/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/width/value","default":"{prose.a.border.width}"}},"type":"object","default":{"value":"{prose.a.border.width}"}},"style":{"id":"#tokensConfig/prose/a/code/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/style/value","default":"{prose.a.border.style.static}"}},"type":"object","default":{"value":"{prose.a.border.style.static}"}},"color":{"id":"#tokensConfig/prose/a/code/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"hover":{"id":"#tokensConfig/prose/a/code/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/dark","default":"{typography.color.primary.600}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"type":"object","default":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"type":"object","default":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"color":{"id":"#tokensConfig/prose/a/code/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/code/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"background":{"id":"#tokensConfig/prose/a/code/background","properties":{"static":{"id":"#tokensConfig/prose/a/code/background/static","type":"any","default":{}},"hover":{"id":"#tokensConfig/prose/a/code/background/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/background/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/initial","default":"{typography.color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/dark","default":"{typography.color.primary.900}"}},"type":"object","default":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}},"type":"object","default":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"type":"object","default":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"type":"object","default":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"blockquote":{"id":"#tokensConfig/prose/blockquote","properties":{"margin":{"id":"#tokensConfig/prose/blockquote/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/blockquote/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/paddingInlineStart/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"quotes":{"id":"#tokensConfig/prose/blockquote/quotes","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/quotes/value","default":"'201C' '201D' '2018' '2019'"}},"type":"object","default":{"value":"'201C' '201D' '2018' '2019'"}},"color":{"id":"#tokensConfig/prose/blockquote/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"border":{"id":"#tokensConfig/prose/blockquote/border","properties":{"width":{"id":"#tokensConfig/prose/blockquote/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/width/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"style":{"id":"#tokensConfig/prose/blockquote/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/blockquote/border/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"ul":{"id":"#tokensConfig/prose/ul","properties":{"listStyleType":{"id":"#tokensConfig/prose/ul/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/listStyleType/value","default":"disc"}},"type":"object","default":{"value":"disc"}},"margin":{"id":"#tokensConfig/prose/ul/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ul/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ul/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ul/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ul/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"ol":{"id":"#tokensConfig/prose/ol","properties":{"listStyleType":{"id":"#tokensConfig/prose/ol/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/listStyleType/value","default":"decimal"}},"type":"object","default":{"value":"decimal"}},"margin":{"id":"#tokensConfig/prose/ol/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ol/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ol/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ol/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ol/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"li":{"id":"#tokensConfig/prose/li","properties":{"margin":{"id":"#tokensConfig/prose/li/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/margin/value","default":"{typography.verticalMargin.sm} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.sm} 0"}},"listStylePosition":{"id":"#tokensConfig/prose/li/listStylePosition","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/listStylePosition/value","default":"outside"}},"type":"object","default":{"value":"outside"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}}},"hr":{"id":"#tokensConfig/prose/hr","properties":{"margin":{"id":"#tokensConfig/prose/hr/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"style":{"id":"#tokensConfig/prose/hr/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"width":{"id":"#tokensConfig/prose/hr/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"color":{"id":"#tokensConfig/prose/hr/color","properties":{"value":{"id":"#tokensConfig/prose/hr/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/hr/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/hr/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"table":{"id":"#tokensConfig/prose/table","properties":{"margin":{"id":"#tokensConfig/prose/table/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"textAlign":{"id":"#tokensConfig/prose/table/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/textAlign/value","default":"start"}},"type":"object","default":{"value":"start"}},"fontSize":{"id":"#tokensConfig/prose/table/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/prose/table/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/lineHeight/value","default":"{typography.lead.6}"}},"type":"object","default":{"value":"{typography.lead.6}"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}}},"thead":{"id":"#tokensConfig/prose/thead","properties":{"border":{"id":"#tokensConfig/prose/thead/border","properties":{"width":{"id":"#tokensConfig/prose/thead/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/width/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"style":{"id":"#tokensConfig/prose/thead/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/border/color","properties":{"value":{"id":"#tokensConfig/prose/thead/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"borderBottom":{"id":"#tokensConfig/prose/thead/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/thead/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/thead/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/thead/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"th":{"id":"#tokensConfig/prose/th","properties":{"color":{"id":"#tokensConfig/prose/th/color","properties":{"value":{"id":"#tokensConfig/prose/th/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/th/color/value/initial","default":"{typography.color.secondary.600}"},"dark":{"type":"string","id":"#tokensConfig/prose/th/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"padding":{"id":"#tokensConfig/prose/th/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/padding/value","default":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"type":"object","default":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/th/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"textAlign":{"id":"#tokensConfig/prose/th/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/textAlign/value","default":"inherit"}},"type":"object","default":{"value":"inherit"}}},"type":"object","default":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}}},"tbody":{"id":"#tokensConfig/prose/tbody","properties":{"tr":{"id":"#tokensConfig/prose/tbody/tr","properties":{"borderBottom":{"id":"#tokensConfig/prose/tbody/tr/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/style/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"color":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"td":{"id":"#tokensConfig/prose/tbody/td","properties":{"padding":{"id":"#tokensConfig/prose/tbody/td/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/td/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"code":{"id":"#tokensConfig/prose/tbody/code","properties":{"inline":{"id":"#tokensConfig/prose/tbody/code/inline","properties":{"fontSize":{"id":"#tokensConfig/prose/tbody/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"type":"object","default":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"type":"object","default":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"code":{"id":"#tokensConfig/prose/code","properties":{"block":{"id":"#tokensConfig/prose/code/block","properties":{"fontSize":{"id":"#tokensConfig/prose/code/block/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"margin":{"id":"#tokensConfig/prose/code/block/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"border":{"id":"#tokensConfig/prose/code/block/border","properties":{"width":{"id":"#tokensConfig/prose/code/block/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/code/block/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/code/block/border/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"color":{"id":"#tokensConfig/prose/code/block/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/block/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/block/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"backdropFilter":{"id":"#tokensConfig/prose/code/block/backdropFilter","properties":{"value":{"id":"#tokensConfig/prose/code/block/backdropFilter/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/initial","default":"contrast(1)"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/dark","default":"contrast(1)"}},"type":"object","default":{"initial":"contrast(1)","dark":"contrast(1)"}}},"type":"object","default":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}}},"pre":{"id":"#tokensConfig/prose/code/block/pre","properties":{"padding":{"id":"#tokensConfig/prose/code/block/pre/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/pre/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"inline":{"id":"#tokensConfig/prose/code/inline","properties":{"borderRadius":{"id":"#tokensConfig/prose/code/inline/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/borderRadius/value","default":"{radii.xs}"}},"type":"object","default":{"value":"{radii.xs}"}},"padding":{"id":"#tokensConfig/prose/code/inline/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/padding/value","default":"0.2rem 0.375rem 0.2rem 0.375rem"}},"type":"object","default":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"}},"fontSize":{"id":"#tokensConfig/prose/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/code/inline/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontWeight/value","default":"{typography.fontWeight.normal}"}},"type":"object","default":{"value":"{typography.fontWeight.normal}"}},"color":{"id":"#tokensConfig/prose/code/inline/color","properties":{"value":{"id":"#tokensConfig/prose/code/inline/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/inline/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/inline/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"type":"object","default":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"docus":{"title":"All the configurable tokens from Docus.","tags":["@studioIcon material-symbols:docs"],"id":"#tokensConfig/docus","properties":{"body":{"id":"#tokensConfig/docus/body","properties":{"backgroundColor":{"id":"#tokensConfig/docus/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"color":{"id":"#tokensConfig/docus/body/color","properties":{"value":{"id":"#tokensConfig/docus/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/color/value/initial","default":"{color.gray.800}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/color/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"fontFamily":{"id":"#tokensConfig/docus/body/fontFamily","properties":{"value":{"type":"string","id":"#tokensConfig/docus/body/fontFamily/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}}},"header":{"id":"#tokensConfig/docus/header","properties":{"height":{"id":"#tokensConfig/docus/header/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/height/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"logo":{"id":"#tokensConfig/docus/header/logo","properties":{"height":{"id":"#tokensConfig/docus/header/logo/height","properties":{"value":{"id":"#tokensConfig/docus/header/logo/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/initial","default":"{space.6}"},"sm":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/sm","default":"{space.7}"}},"type":"object","default":{"initial":"{space.6}","sm":"{space.7}"}}},"type":"object","default":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"type":"object","default":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"title":{"id":"#tokensConfig/docus/header/title","properties":{"fontSize":{"id":"#tokensConfig/docus/header/title/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"fontWeight":{"id":"#tokensConfig/docus/header/title/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontWeight/value","default":"{fontWeight.bold}"}},"type":"object","default":{"value":"{fontWeight.bold}"}},"color":{"id":"#tokensConfig/docus/header/title/color","properties":{"static":{"id":"#tokensConfig/docus/header/title/color/static","properties":{"value":{"id":"#tokensConfig/docus/header/title/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/dark","default":"{color.gray.100}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"hover":{"id":"#tokensConfig/docus/header/title/color/hover","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/color/hover/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"footer":{"id":"#tokensConfig/docus/footer","properties":{"height":{"id":"#tokensConfig/docus/footer/height","properties":{"value":{"id":"#tokensConfig/docus/footer/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/footer/height/value/initial","default":"145px"},"sm":{"type":"string","id":"#tokensConfig/docus/footer/height/value/sm","default":"100px"}},"type":"object","default":{"initial":"145px","sm":"100px"}}},"type":"object","default":{"value":{"initial":"145px","sm":"100px"}}},"padding":{"id":"#tokensConfig/docus/footer/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/footer/padding/value","default":"{space.4} 0"}},"type":"object","default":{"value":"{space.4} 0"}}},"type":"object","default":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}}},"readableLine":{"id":"#tokensConfig/docus/readableLine","properties":{"value":{"type":"string","id":"#tokensConfig/docus/readableLine/value","default":"78ch"}},"type":"object","default":{"value":"78ch"}},"loadingBar":{"id":"#tokensConfig/docus/loadingBar","properties":{"height":{"id":"#tokensConfig/docus/loadingBar/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/height/value","default":"3px"}},"type":"object","default":{"value":"3px"}},"gradientColorStop1":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop1","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop1/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"gradientColorStop2":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop2","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop2/value","default":"#34cdfe"}},"type":"object","default":{"value":"#34cdfe"}},"gradientColorStop3":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop3","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop3/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}}},"type":"object","default":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}},"search":{"id":"#tokensConfig/docus/search","properties":{"backdropFilter":{"id":"#tokensConfig/docus/search/backdropFilter","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/backdropFilter/value","default":"blur(24px)"}},"type":"object","default":{"value":"blur(24px)"}},"input":{"id":"#tokensConfig/docus/search/input","properties":{"borderRadius":{"id":"#tokensConfig/docus/search/input/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderRadius/value","default":"{radii.2xs}"}},"type":"object","default":{"value":"{radii.2xs}"}},"borderWidth":{"id":"#tokensConfig/docus/search/input/borderWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderWidth/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"borderStyle":{"id":"#tokensConfig/docus/search/input/borderStyle","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderStyle/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"borderColor":{"id":"#tokensConfig/docus/search/input/borderColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/borderColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/dark","default":"transparent"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"transparent"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"transparent"}}},"fontSize":{"id":"#tokensConfig/docus/search/input/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"gap":{"id":"#tokensConfig/docus/search/input/gap","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/gap/value","default":"{space.2}"}},"type":"object","default":{"value":"{space.2}"}},"padding":{"id":"#tokensConfig/docus/search/input/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/padding/value","default":"{space.2} {space.4}"}},"type":"object","default":{"value":"{space.2} {space.4}"}},"backgroundColor":{"id":"#tokensConfig/docus/search/input/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"results":{"id":"#tokensConfig/docus/search/results","properties":{"window":{"id":"#tokensConfig/docus/search/results/window","properties":{"marginX":{"id":"#tokensConfig/docus/search/results/window/marginX","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginX/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/sm","default":"{space.4}"}},"type":"object","default":{"initial":"0","sm":"{space.4}"}}},"type":"object","default":{"value":{"initial":"0","sm":"{space.4}"}}},"borderRadius":{"id":"#tokensConfig/docus/search/results/window/borderRadius","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/borderRadius/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/initial","default":"none"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/sm","default":"{radii.xs}"}},"type":"object","default":{"initial":"none","sm":"{radii.xs}"}}},"type":"object","default":{"value":{"initial":"none","sm":"{radii.xs}"}}},"marginTop":{"id":"#tokensConfig/docus/search/results/window/marginTop","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginTop/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/sm","default":"20vh"}},"type":"object","default":{"initial":"0","sm":"20vh"}}},"type":"object","default":{"value":{"initial":"0","sm":"20vh"}}},"maxWidth":{"id":"#tokensConfig/docus/search/results/window/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxWidth/value","default":"640px"}},"type":"object","default":{"value":"640px"}},"maxHeight":{"id":"#tokensConfig/docus/search/results/window/maxHeight","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/maxHeight/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/initial","default":"100%"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/sm","default":"320px"}},"type":"object","default":{"initial":"100%","sm":"320px"}}},"type":"object","default":{"value":{"initial":"100%","sm":"320px"}}}},"type":"object","default":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}}},"selected":{"id":"#tokensConfig/docus/search/results/selected","properties":{"backgroundColor":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/initial","default":"{color.gray.300}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/dark","default":"{color.gray.700}"}},"type":"object","default":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"type":"object","default":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"highlight":{"id":"#tokensConfig/docus/search/results/highlight","properties":{"color":{"id":"#tokensConfig/docus/search/results/highlight/color","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/color/value","default":"white"}},"type":"object","default":{"value":"white"}},"backgroundColor":{"id":"#tokensConfig/docus/search/results/highlight/backgroundColor","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/backgroundColor/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}},"type":"object","default":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}},"type":"object","default":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"type":"object","default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"tokensConfig":{"media":{"xs":{"value":"(min-width: 475px)","variable":"var(--media-xs)","raw":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)","variable":"var(--media-sm)","raw":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)","variable":"var(--media-md)","raw":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)","variable":"var(--media-lg)","raw":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)","variable":"var(--media-xl)","raw":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)","variable":"var(--media-2xl)","raw":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)","variable":"var(--media-rm)","raw":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)","variable":"var(--media-landscape)","raw":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)","variable":"var(--media-portrait)","raw":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff","variable":"var(--color-white)","raw":"#ffffff"},"black":{"value":"#0B0A0A","variable":"var(--color-black)","raw":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB","variable":"var(--color-gray-50)","raw":"#FBFBFB"},"100":{"value":"#F6F5F4","variable":"var(--color-gray-100)","raw":"#F6F5F4"},"200":{"value":"#ECEBE8","variable":"var(--color-gray-200)","raw":"#ECEBE8"},"300":{"value":"#DBD9D3","variable":"var(--color-gray-300)","raw":"#DBD9D3"},"400":{"value":"#ADA9A4","variable":"var(--color-gray-400)","raw":"#ADA9A4"},"500":{"value":"#97948F","variable":"var(--color-gray-500)","raw":"#97948F"},"600":{"value":"#67635D","variable":"var(--color-gray-600)","raw":"#67635D"},"700":{"value":"#36332E","variable":"var(--color-gray-700)","raw":"#36332E"},"800":{"value":"#201E1B","variable":"var(--color-gray-800)","raw":"#201E1B"},"900":{"value":"#121110","variable":"var(--color-gray-900)","raw":"#121110"}},"green":{"50":{"value":"#ECFFF7","variable":"var(--color-green-50)","raw":"#ECFFF7"},"100":{"value":"#DEFFF1","variable":"var(--color-green-100)","raw":"#DEFFF1"},"200":{"value":"#C3FFE6","variable":"var(--color-green-200)","raw":"#C3FFE6"},"300":{"value":"#86FBCB","variable":"var(--color-green-300)","raw":"#86FBCB"},"400":{"value":"#3CEEA5","variable":"var(--color-green-400)","raw":"#3CEEA5"},"500":{"value":"#0DD885","variable":"var(--color-green-500)","raw":"#0DD885"},"600":{"value":"#00B467","variable":"var(--color-green-600)","raw":"#00B467"},"700":{"value":"#006037","variable":"var(--color-green-700)","raw":"#006037"},"800":{"value":"#002817","variable":"var(--color-green-800)","raw":"#002817"},"900":{"value":"#00190F","variable":"var(--color-green-900)","raw":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE","variable":"var(--color-yellow-50)","raw":"#FFFCEE"},"100":{"value":"#FFF6D3","variable":"var(--color-yellow-100)","raw":"#FFF6D3"},"200":{"value":"#FFF0B1","variable":"var(--color-yellow-200)","raw":"#FFF0B1"},"300":{"value":"#FFE372","variable":"var(--color-yellow-300)","raw":"#FFE372"},"400":{"value":"#FFDC4E","variable":"var(--color-yellow-400)","raw":"#FFDC4E"},"500":{"value":"#FBCA05","variable":"var(--color-yellow-500)","raw":"#FBCA05"},"600":{"value":"#CBA408","variable":"var(--color-yellow-600)","raw":"#CBA408"},"700":{"value":"#614E02","variable":"var(--color-yellow-700)","raw":"#614E02"},"800":{"value":"#292100","variable":"var(--color-yellow-800)","raw":"#292100"},"900":{"value":"#1B1500","variable":"var(--color-yellow-900)","raw":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9","variable":"var(--color-orange-50)","raw":"#ffe9d9"},"100":{"value":"#ffd3b3","variable":"var(--color-orange-100)","raw":"#ffd3b3"},"200":{"value":"#ffbd8d","variable":"var(--color-orange-200)","raw":"#ffbd8d"},"300":{"value":"#ffa666","variable":"var(--color-orange-300)","raw":"#ffa666"},"400":{"value":"#ff9040","variable":"var(--color-orange-400)","raw":"#ff9040"},"500":{"value":"#ff7a1a","variable":"var(--color-orange-500)","raw":"#ff7a1a"},"600":{"value":"#e15e00","variable":"var(--color-orange-600)","raw":"#e15e00"},"700":{"value":"#a94700","variable":"var(--color-orange-700)","raw":"#a94700"},"800":{"value":"#702f00","variable":"var(--color-orange-800)","raw":"#702f00"},"900":{"value":"#381800","variable":"var(--color-orange-900)","raw":"#381800"}},"red":{"50":{"value":"#FFF9F8","variable":"var(--color-red-50)","raw":"#FFF9F8"},"100":{"value":"#FFF3F0","variable":"var(--color-red-100)","raw":"#FFF3F0"},"200":{"value":"#FFDED7","variable":"var(--color-red-200)","raw":"#FFDED7"},"300":{"value":"#FFA692","variable":"var(--color-red-300)","raw":"#FFA692"},"400":{"value":"#FF7353","variable":"var(--color-red-400)","raw":"#FF7353"},"500":{"value":"#FF3B10","variable":"var(--color-red-500)","raw":"#FF3B10"},"600":{"value":"#BB2402","variable":"var(--color-red-600)","raw":"#BB2402"},"700":{"value":"#701704","variable":"var(--color-red-700)","raw":"#701704"},"800":{"value":"#340A01","variable":"var(--color-red-800)","raw":"#340A01"},"900":{"value":"#1C0301","variable":"var(--color-red-900)","raw":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc","variable":"var(--color-pear-50)","raw":"#f7f8dc"},"100":{"value":"#eff0ba","variable":"var(--color-pear-100)","raw":"#eff0ba"},"200":{"value":"#e8e997","variable":"var(--color-pear-200)","raw":"#e8e997"},"300":{"value":"#e0e274","variable":"var(--color-pear-300)","raw":"#e0e274"},"400":{"value":"#d8da52","variable":"var(--color-pear-400)","raw":"#d8da52"},"500":{"value":"#d0d32f","variable":"var(--color-pear-500)","raw":"#d0d32f"},"600":{"value":"#a8aa24","variable":"var(--color-pear-600)","raw":"#a8aa24"},"700":{"value":"#7e801b","variable":"var(--color-pear-700)","raw":"#7e801b"},"800":{"value":"#545512","variable":"var(--color-pear-800)","raw":"#545512"},"900":{"value":"#2a2b09","variable":"var(--color-pear-900)","raw":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8","variable":"var(--color-teal-50)","raw":"#d7faf8"},"100":{"value":"#aff4f0","variable":"var(--color-teal-100)","raw":"#aff4f0"},"200":{"value":"#87efe9","variable":"var(--color-teal-200)","raw":"#87efe9"},"300":{"value":"#5fe9e1","variable":"var(--color-teal-300)","raw":"#5fe9e1"},"400":{"value":"#36e4da","variable":"var(--color-teal-400)","raw":"#36e4da"},"500":{"value":"#1cd1c6","variable":"var(--color-teal-500)","raw":"#1cd1c6"},"600":{"value":"#16a79e","variable":"var(--color-teal-600)","raw":"#16a79e"},"700":{"value":"#117d77","variable":"var(--color-teal-700)","raw":"#117d77"},"800":{"value":"#0b544f","variable":"var(--color-teal-800)","raw":"#0b544f"},"900":{"value":"#062a28","variable":"var(--color-teal-900)","raw":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff","variable":"var(--color-lightblue-50)","raw":"#d9f8ff"},"100":{"value":"#b3f1ff","variable":"var(--color-lightblue-100)","raw":"#b3f1ff"},"200":{"value":"#8deaff","variable":"var(--color-lightblue-200)","raw":"#8deaff"},"300":{"value":"#66e4ff","variable":"var(--color-lightblue-300)","raw":"#66e4ff"},"400":{"value":"#40ddff","variable":"var(--color-lightblue-400)","raw":"#40ddff"},"500":{"value":"#1ad6ff","variable":"var(--color-lightblue-500)","raw":"#1ad6ff"},"600":{"value":"#00b9e1","variable":"var(--color-lightblue-600)","raw":"#00b9e1"},"700":{"value":"#008aa9","variable":"var(--color-lightblue-700)","raw":"#008aa9"},"800":{"value":"#005c70","variable":"var(--color-lightblue-800)","raw":"#005c70"},"900":{"value":"#002e38","variable":"var(--color-lightblue-900)","raw":"#002e38"}},"blue":{"50":{"value":"#F2FAFF","variable":"var(--color-blue-50)","raw":"#F2FAFF"},"100":{"value":"#DFF3FF","variable":"var(--color-blue-100)","raw":"#DFF3FF"},"200":{"value":"#C6EAFF","variable":"var(--color-blue-200)","raw":"#C6EAFF"},"300":{"value":"#A1DDFF","variable":"var(--color-blue-300)","raw":"#A1DDFF"},"400":{"value":"#64C7FF","variable":"var(--color-blue-400)","raw":"#64C7FF"},"500":{"value":"#1AADFF","variable":"var(--color-blue-500)","raw":"#1AADFF"},"600":{"value":"#0069A6","variable":"var(--color-blue-600)","raw":"#0069A6"},"700":{"value":"#014267","variable":"var(--color-blue-700)","raw":"#014267"},"800":{"value":"#002235","variable":"var(--color-blue-800)","raw":"#002235"},"900":{"value":"#00131D","variable":"var(--color-blue-900)","raw":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff","variable":"var(--color-indigoblue-50)","raw":"#d9e5ff"},"100":{"value":"#b3cbff","variable":"var(--color-indigoblue-100)","raw":"#b3cbff"},"200":{"value":"#8db0ff","variable":"var(--color-indigoblue-200)","raw":"#8db0ff"},"300":{"value":"#6696ff","variable":"var(--color-indigoblue-300)","raw":"#6696ff"},"400":{"value":"#407cff","variable":"var(--color-indigoblue-400)","raw":"#407cff"},"500":{"value":"#1a62ff","variable":"var(--color-indigoblue-500)","raw":"#1a62ff"},"600":{"value":"#0047e1","variable":"var(--color-indigoblue-600)","raw":"#0047e1"},"700":{"value":"#0035a9","variable":"var(--color-indigoblue-700)","raw":"#0035a9"},"800":{"value":"#002370","variable":"var(--color-indigoblue-800)","raw":"#002370"},"900":{"value":"#001238","variable":"var(--color-indigoblue-900)","raw":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb","variable":"var(--color-royalblue-50)","raw":"#dfdbfb"},"100":{"value":"#c0b7f7","variable":"var(--color-royalblue-100)","raw":"#c0b7f7"},"200":{"value":"#a093f3","variable":"var(--color-royalblue-200)","raw":"#a093f3"},"300":{"value":"#806ff0","variable":"var(--color-royalblue-300)","raw":"#806ff0"},"400":{"value":"#614bec","variable":"var(--color-royalblue-400)","raw":"#614bec"},"500":{"value":"#4127e8","variable":"var(--color-royalblue-500)","raw":"#4127e8"},"600":{"value":"#2c15c4","variable":"var(--color-royalblue-600)","raw":"#2c15c4"},"700":{"value":"#211093","variable":"var(--color-royalblue-700)","raw":"#211093"},"800":{"value":"#160a62","variable":"var(--color-royalblue-800)","raw":"#160a62"},"900":{"value":"#0b0531","variable":"var(--color-royalblue-900)","raw":"#0b0531"}},"purple":{"50":{"value":"#ead9ff","variable":"var(--color-purple-50)","raw":"#ead9ff"},"100":{"value":"#d5b3ff","variable":"var(--color-purple-100)","raw":"#d5b3ff"},"200":{"value":"#c08dff","variable":"var(--color-purple-200)","raw":"#c08dff"},"300":{"value":"#ab66ff","variable":"var(--color-purple-300)","raw":"#ab66ff"},"400":{"value":"#9640ff","variable":"var(--color-purple-400)","raw":"#9640ff"},"500":{"value":"#811aff","variable":"var(--color-purple-500)","raw":"#811aff"},"600":{"value":"#6500e1","variable":"var(--color-purple-600)","raw":"#6500e1"},"700":{"value":"#4c00a9","variable":"var(--color-purple-700)","raw":"#4c00a9"},"800":{"value":"#330070","variable":"var(--color-purple-800)","raw":"#330070"},"900":{"value":"#190038","variable":"var(--color-purple-900)","raw":"#190038"}},"pink":{"50":{"value":"#ffd9f2","variable":"var(--color-pink-50)","raw":"#ffd9f2"},"100":{"value":"#ffb3e5","variable":"var(--color-pink-100)","raw":"#ffb3e5"},"200":{"value":"#ff8dd8","variable":"var(--color-pink-200)","raw":"#ff8dd8"},"300":{"value":"#ff66cc","variable":"var(--color-pink-300)","raw":"#ff66cc"},"400":{"value":"#ff40bf","variable":"var(--color-pink-400)","raw":"#ff40bf"},"500":{"value":"#ff1ab2","variable":"var(--color-pink-500)","raw":"#ff1ab2"},"600":{"value":"#e10095","variable":"var(--color-pink-600)","raw":"#e10095"},"700":{"value":"#a90070","variable":"var(--color-pink-700)","raw":"#a90070"},"800":{"value":"#70004b","variable":"var(--color-pink-800)","raw":"#70004b"},"900":{"value":"#380025","variable":"var(--color-pink-900)","raw":"#380025"}},"ruby":{"50":{"value":"#ffd9e4","variable":"var(--color-ruby-50)","raw":"#ffd9e4"},"100":{"value":"#ffb3c9","variable":"var(--color-ruby-100)","raw":"#ffb3c9"},"200":{"value":"#ff8dae","variable":"var(--color-ruby-200)","raw":"#ff8dae"},"300":{"value":"#ff6694","variable":"var(--color-ruby-300)","raw":"#ff6694"},"400":{"value":"#ff4079","variable":"var(--color-ruby-400)","raw":"#ff4079"},"500":{"value":"#ff1a5e","variable":"var(--color-ruby-500)","raw":"#ff1a5e"},"600":{"value":"#e10043","variable":"var(--color-ruby-600)","raw":"#e10043"},"700":{"value":"#a90032","variable":"var(--color-ruby-700)","raw":"#a90032"},"800":{"value":"#700021","variable":"var(--color-ruby-800)","raw":"#700021"},"900":{"value":"#380011","variable":"var(--color-ruby-900)","raw":"#380011"}},"primary":{"50":{"value":"#FFF6E5","variable":"var(--color-primary-50)","raw":"#FFF6E5"},"100":{"value":"#FFEDCC","variable":"var(--color-primary-100)","raw":"#FFEDCC"},"200":{"value":"#FFDB99","variable":"var(--color-primary-200)","raw":"#FFDB99"},"300":{"value":"#FFC966","variable":"var(--color-primary-300)","raw":"#FFC966"},"400":{"value":"#FFB833","variable":"var(--color-primary-400)","raw":"#FFB833"},"500":{"value":"#FFA500","variable":"var(--color-primary-500)","raw":"#FFA500"},"600":{"value":"#CC8500","variable":"var(--color-primary-600)","raw":"#CC8500"},"700":{"value":"#996300","variable":"var(--color-primary-700)","raw":"#996300"},"800":{"value":"#664200","variable":"var(--color-primary-800)","raw":"#664200"},"900":{"value":"#332100","variable":"var(--color-primary-900)","raw":"#332100"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--color-secondary-900)","raw":"{color.gray.900}"}},"shadow":{"value":{"initial":"var(--color-gray-400)","dark":"var(--color-gray-800)"},"variable":"var(--color-shadow)","raw":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw","variable":"var(--width-screen)","raw":"100vw"}},"height":{"screen":{"value":"100vh","variable":"var(--height-screen)","raw":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px var(--color-shadow)","variable":"var(--shadow-xs)","raw":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px var(--color-shadow), 0px 1px 2px -1px var(--color-shadow)","variable":"var(--shadow-sm)","raw":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px var(--color-shadow), 0px 2px 4px -2px var(--color-shadow)","variable":"var(--shadow-md)","raw":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px var(--color-shadow), 0px 4px 6px -4px var(--color-shadow)","variable":"var(--shadow-lg)","raw":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px var(--color-shadow), 0px 8px 10px -6px var(--color-shadow)","variable":"var(--shadow-xl)","raw":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px var(--color-shadow)","variable":"var(--shadow-2xl)","raw":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent","variable":"var(--shadow-none)","raw":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px","variable":"var(--radii-none)","raw":"0px"},"2xs":{"value":"0.125rem","variable":"var(--radii-2xs)","raw":"0.125rem"},"xs":{"value":"0.25rem","variable":"var(--radii-xs)","raw":"0.25rem"},"sm":{"value":"0.375rem","variable":"var(--radii-sm)","raw":"0.375rem"},"md":{"value":"0.5rem","variable":"var(--radii-md)","raw":"0.5rem"},"lg":{"value":"0.75rem","variable":"var(--radii-lg)","raw":"0.75rem"},"xl":{"value":"1rem","variable":"var(--radii-xl)","raw":"1rem"},"2xl":{"value":"1.5rem","variable":"var(--radii-2xl)","raw":"1.5rem"},"3xl":{"value":"1.75rem","variable":"var(--radii-3xl)","raw":"1.75rem"},"full":{"value":"9999px","variable":"var(--radii-full)","raw":"9999px"}},"size":{"0":{"value":"0px","variable":"var(--size-0)","raw":"0px"},"2":{"value":"2px","variable":"var(--size-2)","raw":"2px"},"4":{"value":"4px","variable":"var(--size-4)","raw":"4px"},"6":{"value":"6px","variable":"var(--size-6)","raw":"6px"},"8":{"value":"8px","variable":"var(--size-8)","raw":"8px"},"12":{"value":"12px","variable":"var(--size-12)","raw":"12px"},"16":{"value":"16px","variable":"var(--size-16)","raw":"16px"},"20":{"value":"20px","variable":"var(--size-20)","raw":"20px"},"24":{"value":"24px","variable":"var(--size-24)","raw":"24px"},"32":{"value":"32px","variable":"var(--size-32)","raw":"32px"},"40":{"value":"40px","variable":"var(--size-40)","raw":"40px"},"48":{"value":"48px","variable":"var(--size-48)","raw":"48px"},"56":{"value":"56px","variable":"var(--size-56)","raw":"56px"},"64":{"value":"64px","variable":"var(--size-64)","raw":"64px"},"80":{"value":"80px","variable":"var(--size-80)","raw":"80px"},"104":{"value":"104px","variable":"var(--size-104)","raw":"104px"},"200":{"value":"200px","variable":"var(--size-200)","raw":"200px"},"xs":{"value":"20rem","variable":"var(--size-xs)","raw":"20rem"},"sm":{"value":"24rem","variable":"var(--size-sm)","raw":"24rem"},"md":{"value":"28rem","variable":"var(--size-md)","raw":"28rem"},"lg":{"value":"32rem","variable":"var(--size-lg)","raw":"32rem"},"xl":{"value":"36rem","variable":"var(--size-xl)","raw":"36rem"},"2xl":{"value":"42rem","variable":"var(--size-2xl)","raw":"42rem"},"3xl":{"value":"48rem","variable":"var(--size-3xl)","raw":"48rem"},"4xl":{"value":"56rem","variable":"var(--size-4xl)","raw":"56rem"},"5xl":{"value":"64rem","variable":"var(--size-5xl)","raw":"64rem"},"6xl":{"value":"72rem","variable":"var(--size-6xl)","raw":"72rem"},"7xl":{"value":"80rem","variable":"var(--size-7xl)","raw":"80rem"},"full":{"value":"100%","variable":"var(--size-full)","raw":"100%"}},"space":{"0":{"value":"0px","variable":"var(--space-0)","raw":"0px"},"1":{"value":"0.25rem","variable":"var(--space-1)","raw":"0.25rem"},"2":{"value":"0.5rem","variable":"var(--space-2)","raw":"0.5rem"},"3":{"value":"0.75rem","variable":"var(--space-3)","raw":"0.75rem"},"4":{"value":"1rem","variable":"var(--space-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--space-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--space-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--space-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--space-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--space-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--space-10)","raw":"2.5rem"},"11":{"value":"2.75rem","variable":"var(--space-11)","raw":"2.75rem"},"12":{"value":"3rem","variable":"var(--space-12)","raw":"3rem"},"14":{"value":"3.5rem","variable":"var(--space-14)","raw":"3.5rem"},"16":{"value":"4rem","variable":"var(--space-16)","raw":"4rem"},"20":{"value":"5rem","variable":"var(--space-20)","raw":"5rem"},"24":{"value":"6rem","variable":"var(--space-24)","raw":"6rem"},"28":{"value":"7rem","variable":"var(--space-28)","raw":"7rem"},"32":{"value":"8rem","variable":"var(--space-32)","raw":"8rem"},"36":{"value":"9rem","variable":"var(--space-36)","raw":"9rem"},"40":{"value":"10rem","variable":"var(--space-40)","raw":"10rem"},"44":{"value":"11rem","variable":"var(--space-44)","raw":"11rem"},"48":{"value":"12rem","variable":"var(--space-48)","raw":"12rem"},"52":{"value":"13rem","variable":"var(--space-52)","raw":"13rem"},"56":{"value":"14rem","variable":"var(--space-56)","raw":"14rem"},"60":{"value":"15rem","variable":"var(--space-60)","raw":"15rem"},"64":{"value":"16rem","variable":"var(--space-64)","raw":"16rem"},"72":{"value":"18rem","variable":"var(--space-72)","raw":"18rem"},"80":{"value":"20rem","variable":"var(--space-80)","raw":"20rem"},"96":{"value":"24rem","variable":"var(--space-96)","raw":"24rem"},"128":{"value":"32rem","variable":"var(--space-128)","raw":"32rem"},"px":{"value":"1px","variable":"var(--space-px)","raw":"1px"},"rem":{"125":{"value":"0.125rem","variable":"var(--space-rem-125)","raw":"0.125rem"},"375":{"value":"0.375rem","variable":"var(--space-rem-375)","raw":"0.375rem"},"625":{"value":"0.625rem","variable":"var(--space-rem-625)","raw":"0.625rem"},"875":{"value":"0.875rem","variable":"var(--space-rem-875)","raw":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0","variable":"var(--borderWidth-noBorder)","raw":"0"},"sm":{"value":"1px","variable":"var(--borderWidth-sm)","raw":"1px"},"md":{"value":"2px","variable":"var(--borderWidth-md)","raw":"2px"},"lg":{"value":"3px","variable":"var(--borderWidth-lg)","raw":"3px"}},"opacity":{"noOpacity":{"value":"0","variable":"var(--opacity-noOpacity)","raw":"0"},"bright":{"value":"0.1","variable":"var(--opacity-bright)","raw":"0.1"},"light":{"value":"0.15","variable":"var(--opacity-light)","raw":"0.15"},"soft":{"value":"0.3","variable":"var(--opacity-soft)","raw":"0.3"},"medium":{"value":"0.5","variable":"var(--opacity-medium)","raw":"0.5"},"high":{"value":"0.8","variable":"var(--opacity-high)","raw":"0.8"},"total":{"value":"1","variable":"var(--opacity-total)","raw":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji","variable":"var(--font-sans)","raw":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif","variable":"var(--font-serif)","raw":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace","variable":"var(--font-mono)","raw":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100","variable":"var(--fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--fontWeight-black)","raw":"900"}},"fontSize":{"xs":{"value":"0.75rem","variable":"var(--fontSize-xs)","raw":"0.75rem"},"sm":{"value":"0.875rem","variable":"var(--fontSize-sm)","raw":"0.875rem"},"base":{"value":"1rem","variable":"var(--fontSize-base)","raw":"1rem"},"lg":{"value":"1.125rem","variable":"var(--fontSize-lg)","raw":"1.125rem"},"xl":{"value":"1.25rem","variable":"var(--fontSize-xl)","raw":"1.25rem"},"2xl":{"value":"1.5rem","variable":"var(--fontSize-2xl)","raw":"1.5rem"},"3xl":{"value":"1.875rem","variable":"var(--fontSize-3xl)","raw":"1.875rem"},"4xl":{"value":"2.25rem","variable":"var(--fontSize-4xl)","raw":"2.25rem"},"5xl":{"value":"3rem","variable":"var(--fontSize-5xl)","raw":"3rem"},"6xl":{"value":"3.75rem","variable":"var(--fontSize-6xl)","raw":"3.75rem"},"7xl":{"value":"4.5rem","variable":"var(--fontSize-7xl)","raw":"4.5rem"},"8xl":{"value":"6rem","variable":"var(--fontSize-8xl)","raw":"6rem"},"9xl":{"value":"8rem","variable":"var(--fontSize-9xl)","raw":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em","variable":"var(--letterSpacing-tighter)","raw":"-0.05em"},"tight":{"value":"-0.025em","variable":"var(--letterSpacing-tight)","raw":"-0.025em"},"normal":{"value":"0em","variable":"var(--letterSpacing-normal)","raw":"0em"},"wide":{"value":"0.025em","variable":"var(--letterSpacing-wide)","raw":"0.025em"},"wider":{"value":"0.05em","variable":"var(--letterSpacing-wider)","raw":"0.05em"},"widest":{"value":"0.1em","variable":"var(--letterSpacing-widest)","raw":"0.1em"}},"lead":{"1":{"value":".025rem","variable":"var(--lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--lead-loose)","raw":"2"}},"text":{"xs":{"fontSize":{"value":"var(--fontSize-xs)","variable":"var(--text-xs-fontSize)","raw":"{fontSize.xs}"},"lineHeight":{"value":"var(--lead-4)","variable":"var(--text-xs-lineHeight)","raw":"{lead.4}"}},"sm":{"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--text-sm-fontSize)","raw":"{fontSize.sm}"},"lineHeight":{"value":"var(--lead-5)","variable":"var(--text-sm-lineHeight)","raw":"{lead.5}"}},"base":{"fontSize":{"value":"var(--fontSize-base)","variable":"var(--text-base-fontSize)","raw":"{fontSize.base}"},"lineHeight":{"value":"var(--lead-6)","variable":"var(--text-base-lineHeight)","raw":"{lead.6}"}},"lg":{"fontSize":{"value":"var(--fontSize-lg)","variable":"var(--text-lg-fontSize)","raw":"{fontSize.lg}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-lg-lineHeight)","raw":"{lead.7}"}},"xl":{"fontSize":{"value":"var(--fontSize-xl)","variable":"var(--text-xl-fontSize)","raw":"{fontSize.xl}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-xl-lineHeight)","raw":"{lead.7}"}},"2xl":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--text-2xl-fontSize)","raw":"{fontSize.2xl}"},"lineHeight":{"value":"var(--lead-8)","variable":"var(--text-2xl-lineHeight)","raw":"{lead.8}"}},"3xl":{"fontSize":{"value":"var(--fontSize-3xl)","variable":"var(--text-3xl-fontSize)","raw":"{fontSize.3xl}"},"lineHeight":{"value":"var(--lead-9)","variable":"var(--text-3xl-lineHeight)","raw":"{lead.9}"}},"4xl":{"fontSize":{"value":"var(--fontSize-4xl)","variable":"var(--text-4xl-fontSize)","raw":"{fontSize.4xl}"},"lineHeight":{"value":"var(--lead-10)","variable":"var(--text-4xl-lineHeight)","raw":"{lead.10}"}},"5xl":{"fontSize":{"value":"var(--fontSize-5xl)","variable":"var(--text-5xl-fontSize)","raw":"{fontSize.5xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-5xl-lineHeight)","raw":"{lead.none}"}},"6xl":{"fontSize":{"value":"var(--fontSize-6xl)","variable":"var(--text-6xl-fontSize)","raw":"{fontSize.6xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-6xl-lineHeight)","raw":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-50)"},"variable":"var(--elements-text-primary-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"var(--color-gray-500)","dark":"var(--color-gray-400)"},"variable":"var(--elements-text-secondary-color-static)","raw":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"var(--color-gray-700)","dark":"var(--color-gray-200)"},"variable":"var(--elements-text-secondary-color-hover)","raw":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem","variable":"var(--elements-container-maxWidth)","raw":"80rem"},"padding":{"mobile":{"value":"var(--space-4)","variable":"var(--elements-container-padding-mobile)","raw":"{space.4}"},"xs":{"value":"var(--space-4)","variable":"var(--elements-container-padding-xs)","raw":"{space.4}"},"sm":{"value":"var(--space-6)","variable":"var(--elements-container-padding-sm)","raw":"{space.6}"},"md":{"value":"var(--space-6)","variable":"var(--elements-container-padding-md)","raw":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)","variable":"var(--elements-backdrop-filter)","raw":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"},"variable":"var(--elements-backdrop-background)","raw":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-border-primary-static)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-primary-hover)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-secondary-static)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""},"variable":"var(--elements-border-secondary-hover)","raw":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-background-base)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-primary-backgroundColor)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-surface-secondary-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"var(--color-primary-600)","dark":"var(--color-primary-400)"},"variable":"var(--elements-state-primary-color-primary)","raw":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"var(--color-primary-700)","dark":"var(--color-primary-200)"},"variable":"var(--elements-state-primary-color-secondary)","raw":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-primary-50)","dark":"var(--color-primary-900)"},"variable":"var(--elements-state-primary-backgroundColor-primary)","raw":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-backgroundColor-secondary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-borderColor-primary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"var(--color-primary-200)","dark":"var(--color-primary-700)"},"variable":"var(--elements-state-primary-borderColor-secondary)","raw":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"var(--color-blue-500)","dark":"var(--color-blue-400)"},"variable":"var(--elements-state-info-color-primary)","raw":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"var(--color-blue-600)","dark":"var(--color-blue-200)"},"variable":"var(--elements-state-info-color-secondary)","raw":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-blue-50)","dark":"var(--color-blue-900)"},"variable":"var(--elements-state-info-backgroundColor-primary)","raw":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-backgroundColor-secondary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-borderColor-primary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"var(--color-blue-200)","dark":"var(--color-blue-700)"},"variable":"var(--elements-state-info-borderColor-secondary)","raw":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"var(--color-green-500)","dark":"var(--color-green-400)"},"variable":"var(--elements-state-success-color-primary)","raw":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"var(--color-green-600)","dark":"var(--color-green-200)"},"variable":"var(--elements-state-success-color-secondary)","raw":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-green-50)","dark":"var(--color-green-900)"},"variable":"var(--elements-state-success-backgroundColor-primary)","raw":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-backgroundColor-secondary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-borderColor-primary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"var(--color-green-200)","dark":"var(--color-green-700)"},"variable":"var(--elements-state-success-borderColor-secondary)","raw":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"var(--color-yellow-600)","dark":"var(--color-yellow-400)"},"variable":"var(--elements-state-warning-color-primary)","raw":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"var(--color-yellow-700)","dark":"var(--color-yellow-200)"},"variable":"var(--elements-state-warning-color-secondary)","raw":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-yellow-50)","dark":"var(--color-yellow-900)"},"variable":"var(--elements-state-warning-backgroundColor-primary)","raw":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-backgroundColor-secondary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-borderColor-primary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"var(--color-yellow-200)","dark":"var(--color-yellow-700)"},"variable":"var(--elements-state-warning-borderColor-secondary)","raw":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"var(--color-red-500)","dark":"var(--color-red-300)"},"variable":"var(--elements-state-danger-color-primary)","raw":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"var(--color-red-600)","dark":"var(--color-red-200)"},"variable":"var(--elements-state-danger-color-secondary)","raw":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-red-50)","dark":"var(--color-red-900)"},"variable":"var(--elements-state-danger-backgroundColor-primary)","raw":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-backgroundColor-secondary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-borderColor-primary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"var(--color-red-200)","dark":"var(--color-red-700)"},"variable":"var(--elements-state-danger-borderColor-secondary)","raw":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"var(--color-black)","dark":"var(--color-white)"},"variable":"var(--typography-body-color)","raw":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--typography-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px","variable":"var(--typography-verticalMargin-sm)","raw":"16px"},"base":{"value":"24px","variable":"var(--typography-verticalMargin-base)","raw":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em","variable":"var(--typography-letterSpacing-tight)","raw":"-0.025em"},"wide":{"value":"0.025em","variable":"var(--typography-letterSpacing-wide)","raw":"0.025em"}},"fontSize":{"xs":{"value":"12px","variable":"var(--typography-fontSize-xs)","raw":"12px"},"sm":{"value":"14px","variable":"var(--typography-fontSize-sm)","raw":"14px"},"base":{"value":"16px","variable":"var(--typography-fontSize-base)","raw":"16px"},"lg":{"value":"18px","variable":"var(--typography-fontSize-lg)","raw":"18px"},"xl":{"value":"20px","variable":"var(--typography-fontSize-xl)","raw":"20px"},"2xl":{"value":"24px","variable":"var(--typography-fontSize-2xl)","raw":"24px"},"3xl":{"value":"30px","variable":"var(--typography-fontSize-3xl)","raw":"30px"},"4xl":{"value":"36px","variable":"var(--typography-fontSize-4xl)","raw":"36px"},"5xl":{"value":"48px","variable":"var(--typography-fontSize-5xl)","raw":"48px"},"6xl":{"value":"60px","variable":"var(--typography-fontSize-6xl)","raw":"60px"},"7xl":{"value":"72px","variable":"var(--typography-fontSize-7xl)","raw":"72px"},"8xl":{"value":"96px","variable":"var(--typography-fontSize-8xl)","raw":"96px"},"9xl":{"value":"128px","variable":"var(--typography-fontSize-9xl)","raw":"128px"}},"fontWeight":{"thin":{"value":"100","variable":"var(--typography-fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--typography-fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--typography-fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--typography-fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--typography-fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--typography-fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--typography-fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--typography-fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--typography-fontWeight-black)","raw":"900"}},"lead":{"1":{"value":".025rem","variable":"var(--typography-lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--typography-lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--typography-lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--typography-lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--typography-lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--typography-lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--typography-lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--typography-lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--typography-lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--typography-lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--typography-lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--typography-lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--typography-lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--typography-lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--typography-lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--typography-lead-loose)","raw":"2"}},"font":{"display":{"value":"var(--font-sans)","variable":"var(--typography-font-display)","raw":"{font.sans}"},"body":{"value":"var(--font-sans)","variable":"var(--typography-font-body)","raw":"{font.sans}"},"code":{"value":"var(--font-mono)","variable":"var(--typography-font-code)","raw":"{font.mono}"}},"color":{"primary":{"50":{"value":"var(--color-primary-50)","variable":"var(--typography-color-primary-50)","raw":"{color.primary.50}"},"100":{"value":"var(--color-primary-100)","variable":"var(--typography-color-primary-100)","raw":"{color.primary.100}"},"200":{"value":"var(--color-primary-200)","variable":"var(--typography-color-primary-200)","raw":"{color.primary.200}"},"300":{"value":"var(--color-primary-300)","variable":"var(--typography-color-primary-300)","raw":"{color.primary.300}"},"400":{"value":"var(--color-primary-400)","variable":"var(--typography-color-primary-400)","raw":"{color.primary.400}"},"500":{"value":"var(--color-primary-500)","variable":"var(--typography-color-primary-500)","raw":"{color.primary.500}"},"600":{"value":"var(--color-primary-600)","variable":"var(--typography-color-primary-600)","raw":"{color.primary.600}"},"700":{"value":"var(--color-primary-700)","variable":"var(--typography-color-primary-700)","raw":"{color.primary.700}"},"800":{"value":"var(--color-primary-800)","variable":"var(--typography-color-primary-800)","raw":"{color.primary.800}"},"900":{"value":"var(--color-primary-900)","variable":"var(--typography-color-primary-900)","raw":"{color.primary.900}"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--typography-color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--typography-color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--typography-color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--typography-color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--typography-color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--typography-color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--typography-color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--typography-color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--typography-color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--typography-color-secondary-900)","raw":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-p-fontSize)","raw":"{typography.fontSize.base}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-p-lineHeight)","raw":"{typography.lead.normal}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-p-margin)","raw":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"var(--typography-verticalMargin-base) 0 0 0","variable":"var(--prose-p-br-margin)","raw":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem","variable":"var(--prose-h1-margin)","raw":"0 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-5xl)","variable":"var(--prose-h1-fontSize)","raw":"{typography.fontSize.5xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h1-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-bold)","variable":"var(--prose-h1-fontWeight)","raw":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h1-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h1-iconSize)","raw":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h2-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-4xl)","variable":"var(--prose-h2-fontSize)","raw":"{typography.fontSize.4xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h2-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h2-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h2-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h2-iconSize)","raw":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h3-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h3-fontSize)","raw":"{typography.fontSize.3xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h3-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h3-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h3-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h3-iconSize)","raw":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h4-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h4-fontSize)","raw":"{typography.fontSize.2xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h4-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h4-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h4-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h4-iconSize)","raw":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h5-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h5-fontSize)","raw":"{typography.fontSize.xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h5-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h5-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h5-iconSize)","raw":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h6-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h6-fontSize)","raw":"{typography.fontSize.lg}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-h6-lineHeight)","raw":"{typography.lead.normal}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h6-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-h6-iconSize)","raw":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-strong-fontWeight)","raw":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-img-margin)","raw":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none","variable":"var(--prose-a-textDecoration)","raw":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"},"variable":"var(--prose-a-color-static)","raw":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-400)"},"variable":"var(--prose-a-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px","variable":"var(--prose-a-border-width)","raw":"1px"},"style":{"static":{"value":"dashed","variable":"var(--prose-a-border-style-static)","raw":"dashed"},"hover":{"value":"solid","variable":"var(--prose-a-border-style-hover)","raw":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px","variable":"var(--prose-a-border-distance)","raw":"2px"}},"fontWeight":{"value":"var(--typography-fontWeight-medium)","variable":"var(--prose-a-fontWeight)","raw":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none","variable":"var(--prose-a-hasCode-borderBottom)","raw":"none"}},"code":{"border":{"width":{"value":"var(--prose-a-border-width)","variable":"var(--prose-a-code-border-width)","raw":"{prose.a.border.width}"},"style":{"value":"var(--prose-a-border-style-static)","variable":"var(--prose-a-code-border-style)","raw":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-a-code-border-color-static)","raw":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-600)"},"variable":"var(--prose-a-code-border-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"var(--typography-color-primary-50)","dark":"var(--typography-color-primary-900)"},"variable":"var(--prose-a-code-background-hover)","raw":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-blockquote-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px","variable":"var(--prose-blockquote-paddingInlineStart)","raw":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'","variable":"var(--prose-blockquote-quotes)","raw":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-blockquote-color)","raw":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px","variable":"var(--prose-blockquote-border-width)","raw":"4px"},"style":{"value":"solid","variable":"var(--prose-blockquote-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-blockquote-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc","variable":"var(--prose-ul-listStyleType)","raw":"disc"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ul-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ul-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ul-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal","variable":"var(--prose-ol-listStyleType)","raw":"decimal"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ol-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ol-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ol-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"var(--typography-verticalMargin-sm) 0","variable":"var(--prose-li-margin)","raw":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside","variable":"var(--prose-li-listStylePosition)","raw":"outside"}},"hr":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-hr-margin)","raw":"{typography.verticalMargin.base} 0"},"style":{"value":"solid","variable":"var(--prose-hr-style)","raw":"solid"},"width":{"value":"1px","variable":"var(--prose-hr-width)","raw":"1px"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-hr-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-table-margin)","raw":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start","variable":"var(--prose-table-textAlign)","raw":"start"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-table-fontSize)","raw":"{typography.fontSize.sm}"},"lineHeight":{"value":"var(--typography-lead-6)","variable":"var(--prose-table-lineHeight)","raw":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px","variable":"var(--prose-thead-border-width)","raw":"0px"},"style":{"value":"solid","variable":"var(--prose-thead-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-border-color)","raw":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px","variable":"var(--prose-thead-borderBottom-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-thead-borderBottom-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-thead-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"var(--typography-color-secondary-600)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-th-color)","raw":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)","variable":"var(--prose-th-padding)","raw":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-th-fontWeight)","raw":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit","variable":"var(--prose-th-textAlign)","raw":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px","variable":"var(--prose-tbody-tr-borderBottom-width)","raw":"1px"},"style":{"value":"dashed","variable":"var(--prose-tbody-tr-borderBottom-style)","raw":"dashed"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-tbody-tr-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-tbody-td-padding)","raw":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-tbody-code-inline-fontSize)","raw":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-block-fontSize)","raw":"{typography.fontSize.sm}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-code-block-margin)","raw":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px","variable":"var(--prose-code-block-border-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-code-block-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-block-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-block-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-block-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"},"variable":"var(--prose-code-block-backdropFilter)","raw":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-code-block-pre-padding)","raw":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"var(--radii-xs)","variable":"var(--prose-code-inline-borderRadius)","raw":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem","variable":"var(--prose-code-inline-padding)","raw":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-inline-fontSize)","raw":"{typography.fontSize.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-normal)","variable":"var(--prose-code-inline-fontWeight)","raw":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-inline-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-inline-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--docus-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"var(--color-gray-800)","dark":"var(--color-gray-200)"},"variable":"var(--docus-body-color)","raw":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"var(--font-sans)","variable":"var(--docus-body-fontFamily)","raw":"{font.sans}"}},"header":{"height":{"value":"64px","variable":"var(--docus-header-height)","raw":"64px"},"logo":{"height":{"value":{"initial":"var(--space-6)","sm":"var(--space-7)"},"variable":"var(--docus-header-logo-height)","raw":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--docus-header-title-fontSize)","raw":"{fontSize.2xl}"},"fontWeight":{"value":"var(--fontWeight-bold)","variable":"var(--docus-header-title-fontWeight)","raw":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-100)"},"variable":"var(--docus-header-title-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"var(--color-primary-500)","variable":"var(--docus-header-title-color-hover)","raw":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"},"variable":"var(--docus-footer-height)","raw":{"initial":"145px","sm":"100px"}},"padding":{"value":"var(--space-4) 0","variable":"var(--docus-footer-padding)","raw":"{space.4} 0"}},"readableLine":{"value":"78ch","variable":"var(--docus-readableLine)","raw":"78ch"},"loadingBar":{"height":{"value":"3px","variable":"var(--docus-loadingBar-height)","raw":"3px"},"gradientColorStop1":{"value":"#00dc82","variable":"var(--docus-loadingBar-gradientColorStop1)","raw":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe","variable":"var(--docus-loadingBar-gradientColorStop2)","raw":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1","variable":"var(--docus-loadingBar-gradientColorStop3)","raw":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)","variable":"var(--docus-search-backdropFilter)","raw":"blur(24px)"},"input":{"borderRadius":{"value":"var(--radii-2xs)","variable":"var(--docus-search-input-borderRadius)","raw":"{radii.2xs}"},"borderWidth":{"value":"1px","variable":"var(--docus-search-input-borderWidth)","raw":"1px"},"borderStyle":{"value":"solid","variable":"var(--docus-search-input-borderStyle)","raw":"solid"},"borderColor":{"value":{"initial":"var(--color-gray-200)","dark":"transparent"},"variable":"var(--docus-search-input-borderColor)","raw":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--docus-search-input-fontSize)","raw":"{fontSize.sm}"},"gap":{"value":"var(--space-2)","variable":"var(--docus-search-input-gap)","raw":"{space.2}"},"padding":{"value":"var(--space-2) var(--space-4)","variable":"var(--docus-search-input-padding)","raw":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--docus-search-input-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"var(--space-4)"},"variable":"var(--docus-search-results-window-marginX)","raw":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"var(--radii-xs)"},"variable":"var(--docus-search-results-window-borderRadius)","raw":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"},"variable":"var(--docus-search-results-window-marginTop)","raw":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px","variable":"var(--docus-search-results-window-maxWidth)","raw":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"},"variable":"var(--docus-search-results-window-maxHeight)","raw":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"var(--color-gray-300)","dark":"var(--color-gray-700)"},"variable":"var(--docus-search-results-selected-backgroundColor)","raw":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white","variable":"var(--docus-search-results-highlight-color)","raw":"white"},"backgroundColor":{"value":"var(--color-primary-500)","variable":"var(--docus-search-results-highlight-backgroundColor)","raw":"{color.primary.500}"}}}}}},"content":{"sources":{},"ignores":[],"locales":[],"highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true,"experimental":{"clientDB":false,"stripQueryParameters":false,"advanceQuery":false}},"components":[{"name":"ChallengeV2Demo","path":"components/content/ChallengeV2Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ChallengeV3Demo","path":"components/content/ChallengeV3Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CheckboxDemo","path":"components/content/CheckboxDemo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IndexDemo","path":"components/content/IndexDemo.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Mermaid","path":"components/content/Mermaid.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"PrimaryButton","path":"components/content/PrimaryButton.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ThemeButton","path":"components/content/ThemeButton.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":true,"type":"\"light\" | \"dark\"","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]},{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]}],"schema":{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}}],"slots":[],"events":[{"name":"update:modelValue","type":"[theme: \"light\" | \"dark\"]","signature":"(event: \"update:modelValue\", theme: \"light\" | \"dark\"): void","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","range":[4388,4423]}],"schema":[{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}]}]}},{"name":"VeeValidateCheckbox","path":"components/content/VeeValidateCheckbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VeeValidateInvisible","path":"components/content/VeeValidateInvisible.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppDocSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppDocSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppFooter","path":"../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeader","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderDialog","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderLogo","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderNavigation","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLayout","path":"../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLoadingBar","path":"../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSocialIcons","path":"../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Ellipsis","path":"../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Logo","path":"../node_modules/@nuxt-themes/docus/components/app/Logo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ThemeSelect","path":"../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAside","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAsideTree","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageBottom","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageLayout","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPrevNext","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsToc","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsTocLinks","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"EditOnLink","path":"../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"SourceLink","path":"../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Alert","path":"../node_modules/@nuxt-themes/elements/components/globals/Alert.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Badge","path":"../node_modules/@nuxt-themes/elements/components/globals/Badge.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ButtonLink","path":"../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Callout","path":"../node_modules/@nuxt-themes/elements/components/globals/Callout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeBlock","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeGroup","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Container","path":"../node_modules/@nuxt-themes/elements/components/globals/Container.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CopyButton","path":"../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"List","path":"../node_modules/@nuxt-themes/elements/components/globals/List.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"NuxtImg","path":"../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Props","path":"../node_modules/@nuxt-themes/elements/components/globals/Props.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Sandbox","path":"../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TabsHeader","path":"../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Terminal","path":"../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VideoPlayer","path":"../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconCodeSandBox","path":"../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconDocus","path":"../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxt","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtContent","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtLabs","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtStudio","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconStackBlitz","path":"../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconVueTelescope","path":"../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"BlockHero","path":"../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Card","path":"../node_modules/@nuxt-themes/elements/components/landing/Card.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CardGrid","path":"../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VoltaBoard","path":"../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundData","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundProps","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundSlots","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundTokens","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"PreviewLayout","path":"../node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TokensPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaCheckbox","path":"../src/components/Checkbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV2","path":"../src/components/ChallengeV2.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV3","path":"../src/components/ChallengeV3.vue","meta":{"props":[],"slots":[],"events":[]}}]} \ No newline at end of file diff --git a/_nuxt/Badge.43c6f127.js b/_nuxt/Badge.c215dd61.js similarity index 68% rename from _nuxt/Badge.43c6f127.js rename to _nuxt/Badge.c215dd61.js index cb2bd04d98..491988df97 100644 --- a/_nuxt/Badge.43c6f127.js +++ b/_nuxt/Badge.c215dd61.js @@ -1 +1 @@ -import{d as n,b as t,c as s,$ as r,n as o,k as _}from"./entry.f8eaff67.js";const p=n({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(a,c)=>(t(),s("span",{class:o([[e.type],"badge"])},[r(a.$slots,"default",{unwrap:"p"},void 0,!0)],2))}});const l=_(p,[["__scopeId","data-v-95776a62"]]);export{l as default}; +import{d as n,b as t,c as s,$ as r,n as o,k as _}from"./entry.6e9008ac.js";const p=n({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(a,c)=>(t(),s("span",{class:o([[e.type],"badge"])},[r(a.$slots,"default",{unwrap:"p"},void 0,!0)],2))}});const l=_(p,[["__scopeId","data-v-95776a62"]]);export{l as default}; diff --git a/_nuxt/BlockHero.69ef09ba.js b/_nuxt/BlockHero.550389fd.js similarity index 85% rename from _nuxt/BlockHero.69ef09ba.js rename to _nuxt/BlockHero.550389fd.js index d08c9d6575..7329945cd3 100644 --- a/_nuxt/BlockHero.69ef09ba.js +++ b/_nuxt/BlockHero.550389fd.js @@ -1 +1 @@ -import _ from"./ButtonLink.7229d6e8.js";import m from"./Terminal.ce359b94.js";import y from"./VideoPlayer.b91c280c.js";import{d as f,b as o,c as n,e as s,$ as a,f as r,F as h,Y as c,w as k,G as i,t as d,ab as v,k as $}from"./entry.f8eaff67.js";import"./NuxtImg.vue.a13fd3ea.js";const B={class:"block-hero"},w={class:"layout"},g={class:"content"},H={key:0,class:"announce"},S={class:"title"},b={class:"description"},q={key:1,class:"extra"},V={class:"actions"},x=["href"],A={class:"support"},C=f({__name:"BlockHero",props:{cta:{type:Array,required:!1,default:()=>[]},secondary:{type:Array,required:!1,default:()=>[]},video:{type:String,required:!1,default:""},snippet:{type:[Array,String],required:!1,default:""}},setup(e){return(t,N)=>{const l=_,u=m,p=y;return o(),n("section",B,[s("div",w,[s("div",g,[t.$slots.announce?(o(),n("p",H,[a(t.$slots,"announce",{unwrap:"p"},void 0,!0)])):r("",!0),s("h1",S,[a(t.$slots,"title",{unwrap:"p"},()=>[i(" Hero Title ")],!0)]),s("p",b,[a(t.$slots,"description",{unwrap:"p"},()=>[i(" Hero default description. ")],!0)]),t.$slots.extra?(o(),n("div",q,[a(t.$slots,"extra",{unwrap:"p"},void 0,!0)])):r("",!0),s("div",V,[t.$slots.actions?a(t.$slots,"actions",{key:0,unwrap:"p"},void 0,!0):(o(),n(h,{key:1},[e.cta?(o(),c(l,{key:0,class:"cta",bold:"",size:"medium",href:e.cta[1]},{default:k(()=>[i(d(e.cta[0]),1)]),_:1},8,["href"])):r("",!0),e.secondary?(o(),n("a",{key:1,href:e.secondary[1],class:"secondary"},d(e.secondary[0]),9,x)):r("",!0)],64))])]),s("div",A,[v(t.$slots,"support",{},()=>[e.snippet?(o(),c(u,{key:0,content:e.snippet},null,8,["content"])):e.video?(o(),c(p,{key:1,src:e.video},null,8,["src"])):r("",!0)],!0)])])])}}});const G=$(C,[["__scopeId","data-v-8013571d"]]);export{G as default}; +import _ from"./ButtonLink.03ea21b7.js";import m from"./Terminal.81666f30.js";import y from"./VideoPlayer.f999f1e2.js";import{d as f,b as o,c as n,e as s,$ as a,f as r,F as h,Y as c,w as k,G as i,t as d,ab as v,k as $}from"./entry.6e9008ac.js";import"./NuxtImg.vue.4d57c99d.js";const B={class:"block-hero"},w={class:"layout"},g={class:"content"},H={key:0,class:"announce"},S={class:"title"},b={class:"description"},q={key:1,class:"extra"},V={class:"actions"},x=["href"],A={class:"support"},C=f({__name:"BlockHero",props:{cta:{type:Array,required:!1,default:()=>[]},secondary:{type:Array,required:!1,default:()=>[]},video:{type:String,required:!1,default:""},snippet:{type:[Array,String],required:!1,default:""}},setup(e){return(t,N)=>{const l=_,u=m,p=y;return o(),n("section",B,[s("div",w,[s("div",g,[t.$slots.announce?(o(),n("p",H,[a(t.$slots,"announce",{unwrap:"p"},void 0,!0)])):r("",!0),s("h1",S,[a(t.$slots,"title",{unwrap:"p"},()=>[i(" Hero Title ")],!0)]),s("p",b,[a(t.$slots,"description",{unwrap:"p"},()=>[i(" Hero default description. ")],!0)]),t.$slots.extra?(o(),n("div",q,[a(t.$slots,"extra",{unwrap:"p"},void 0,!0)])):r("",!0),s("div",V,[t.$slots.actions?a(t.$slots,"actions",{key:0,unwrap:"p"},void 0,!0):(o(),n(h,{key:1},[e.cta?(o(),c(l,{key:0,class:"cta",bold:"",size:"medium",href:e.cta[1]},{default:k(()=>[i(d(e.cta[0]),1)]),_:1},8,["href"])):r("",!0),e.secondary?(o(),n("a",{key:1,href:e.secondary[1],class:"secondary"},d(e.secondary[0]),9,x)):r("",!0)],64))])]),s("div",A,[v(t.$slots,"support",{},()=>[e.snippet?(o(),c(u,{key:0,content:e.snippet},null,8,["content"])):e.video?(o(),c(p,{key:1,src:e.video},null,8,["src"])):r("",!0)],!0)])])])}}});const G=$(C,[["__scopeId","data-v-8013571d"]]);export{G as default}; diff --git a/_nuxt/ButtonLink.7229d6e8.js b/_nuxt/ButtonLink.03ea21b7.js similarity index 91% rename from _nuxt/ButtonLink.7229d6e8.js rename to _nuxt/ButtonLink.03ea21b7.js index 187e67ad00..e4c6333bb6 100644 --- a/_nuxt/ButtonLink.7229d6e8.js +++ b/_nuxt/ButtonLink.03ea21b7.js @@ -1 +1 @@ -import{d as _,aj as p,K as a,ac as f,b as o,Y as s,w as m,f as g,$ as x,n as S,L as b,a1 as h,H as k,k as y}from"./entry.f8eaff67.js";const z=_({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:p("primary"),href:{type:String,required:!0,default:""},icon:{type:String,default:""},size:{required:!1,type:[String,Object],default:"medium"},transparent:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const i=a(()=>((t=n)=>`{color.${t.color}.600}`)()),c=a(()=>((t=n)=>`{color.${t.color}.500}`)()),n=e,r={size:{small:{padding:"{space.2} {space.4}",fontSize:"{text.sm.fontSize}",lineHeight:"{text.sm.lineHeight}"},medium:{padding:"{space.rem.625} {space.5}",fontSize:"{text.base.fontSize}",lineHeight:"{text.base.lineHeight}"},large:{padding:"{space.3} {space.6}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"},giant:{padding:"{space.4} {space.8}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"}},transparent:{true:{backgroundColor:"transparent"}}},{$pinceau:l}=f(n,r,{_YM9_buttonPrimary:i,_A23_buttonSecondary:c});return(t,H)=>{const u=h,d=k;return o(),s(d,{class:S(["button-link",[b(l)]]),to:e.href,target:e.blank?"_blank":void 0},{default:m(()=>[e.icon?(o(),s(u,{key:0,name:e.icon},null,8,["name"])):g("",!0),x(t.$slots,"default",{unwrap:"p ul li"},void 0,!0)]),_:3},8,["to","target","class"])}}});const B=y(z,[["__scopeId","data-v-c9c0da25"]]);export{B as default}; +import{d as _,aj as p,K as a,ac as f,b as o,Y as s,w as m,f as g,$ as x,n as S,L as b,a1 as h,H as k,k as y}from"./entry.6e9008ac.js";const z=_({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:p("primary"),href:{type:String,required:!0,default:""},icon:{type:String,default:""},size:{required:!1,type:[String,Object],default:"medium"},transparent:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const i=a(()=>((t=n)=>`{color.${t.color}.600}`)()),c=a(()=>((t=n)=>`{color.${t.color}.500}`)()),n=e,r={size:{small:{padding:"{space.2} {space.4}",fontSize:"{text.sm.fontSize}",lineHeight:"{text.sm.lineHeight}"},medium:{padding:"{space.rem.625} {space.5}",fontSize:"{text.base.fontSize}",lineHeight:"{text.base.lineHeight}"},large:{padding:"{space.3} {space.6}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"},giant:{padding:"{space.4} {space.8}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"}},transparent:{true:{backgroundColor:"transparent"}}},{$pinceau:l}=f(n,r,{_YM9_buttonPrimary:i,_A23_buttonSecondary:c});return(t,H)=>{const u=h,d=k;return o(),s(d,{class:S(["button-link",[b(l)]]),to:e.href,target:e.blank?"_blank":void 0},{default:m(()=>[e.icon?(o(),s(u,{key:0,name:e.icon},null,8,["name"])):g("",!0),x(t.$slots,"default",{unwrap:"p ul li"},void 0,!0)]),_:3},8,["to","target","class"])}}});const B=y(z,[["__scopeId","data-v-c9c0da25"]]);export{B as default}; diff --git a/_nuxt/Callout.f8d3c1a8.js b/_nuxt/Callout.94ccb473.js similarity index 92% rename from _nuxt/Callout.f8d3c1a8.js rename to _nuxt/Callout.94ccb473.js index 2fdb5c4a23..d1e8a9cbad 100644 --- a/_nuxt/Callout.f8d3c1a8.js +++ b/_nuxt/Callout.94ccb473.js @@ -1 +1 @@ -import{d as m,r as o,b as p,c as v,e as s,$ as n,g as f,n as l,L as c,a2 as g,aH as h,a1 as y,k as C}from"./entry.f8eaff67.js";const V={class:"summary"},k={class:"content"},w=m({__name:"Callout",props:{type:{type:String,default:"info",validator(a){return["info","success","warning","danger","primary"].includes(a)}},modelValue:{required:!1,default:()=>o(!1)}},emits:["update:modelValue"],setup(a,{emit:r}){const u=a,d=r,e=o(u.modelValue),i=()=>{e.value=!e.value,d("update:modelValue",e.value)};return(t,b)=>{const _=y;return p(),v("div",{class:l(["callout",[a.type]])},[s("span",{class:"preview",onClick:i},[s("span",V,[n(t.$slots,"summary",{},void 0,!0)]),f(_,{name:"heroicons-outline:chevron-right",class:l(["icon",[c(e)&&"rotate"]])},null,8,["class"])]),g(s("div",k,[n(t.$slots,"content",{},void 0,!0)],512),[[h,c(e)]])],2)}}});const B=C(w,[["__scopeId","data-v-a97d64bd"]]);export{B as default}; +import{d as m,r as o,b as p,c as v,e as s,$ as n,g as f,n as l,L as c,a2 as g,aH as h,a1 as y,k as C}from"./entry.6e9008ac.js";const V={class:"summary"},k={class:"content"},w=m({__name:"Callout",props:{type:{type:String,default:"info",validator(a){return["info","success","warning","danger","primary"].includes(a)}},modelValue:{required:!1,default:()=>o(!1)}},emits:["update:modelValue"],setup(a,{emit:r}){const u=a,d=r,e=o(u.modelValue),i=()=>{e.value=!e.value,d("update:modelValue",e.value)};return(t,b)=>{const _=y;return p(),v("div",{class:l(["callout",[a.type]])},[s("span",{class:"preview",onClick:i},[s("span",V,[n(t.$slots,"summary",{},void 0,!0)]),f(_,{name:"heroicons-outline:chevron-right",class:l(["icon",[c(e)&&"rotate"]])},null,8,["class"])]),g(s("div",k,[n(t.$slots,"content",{},void 0,!0)],512),[[h,c(e)]])],2)}}});const B=C(w,[["__scopeId","data-v-a97d64bd"]]);export{B as default}; diff --git a/_nuxt/Card.9f80de6f.js b/_nuxt/Card.72706e47.js similarity index 89% rename from _nuxt/Card.9f80de6f.js rename to _nuxt/Card.72706e47.js index a60e49040b..a9509617cc 100644 --- a/_nuxt/Card.9f80de6f.js +++ b/_nuxt/Card.72706e47.js @@ -1 +1 @@ -import{d as r,b as s,c as d,Y as _,f as l,ab as i,e as t,$ as n,a1 as p,G as a,k as u}from"./entry.f8eaff67.js";const m={class:"card"},f={class:"title"},v={class:"description"},C=r({__name:"Card",props:{icon:{type:String,default:""}},setup(o){return(e,$)=>{const c=p;return s(),d("div",m,[o.icon?(s(),_(c,{key:0,name:o.icon},null,8,["name"])):l("",!0),i(e.$slots,"default",{},void 0,!0),t("div",null,[t("h3",f,[n(e.$slots,"title",{unwrap:"p"},()=>[a(" Card title ")],!0)]),t("p",v,[n(e.$slots,"description",{unwrap:"p"},()=>[a(" Card description ")],!0)])])])}}});const k=u(C,[["__scopeId","data-v-fcbd031d"]]);export{k as default}; +import{d as r,b as s,c as d,Y as _,f as l,ab as i,e as t,$ as n,a1 as p,G as a,k as u}from"./entry.6e9008ac.js";const m={class:"card"},f={class:"title"},v={class:"description"},C=r({__name:"Card",props:{icon:{type:String,default:""}},setup(o){return(e,$)=>{const c=p;return s(),d("div",m,[o.icon?(s(),_(c,{key:0,name:o.icon},null,8,["name"])):l("",!0),i(e.$slots,"default",{},void 0,!0),t("div",null,[t("h3",f,[n(e.$slots,"title",{unwrap:"p"},()=>[a(" Card title ")],!0)]),t("p",v,[n(e.$slots,"description",{unwrap:"p"},()=>[a(" Card description ")],!0)])])])}}});const k=u(C,[["__scopeId","data-v-fcbd031d"]]);export{k as default}; diff --git a/_nuxt/CardGrid.188c9126.js b/_nuxt/CardGrid.c99509ca.js similarity index 87% rename from _nuxt/CardGrid.188c9126.js rename to _nuxt/CardGrid.c99509ca.js index 567cd800cd..0bd669caa4 100644 --- a/_nuxt/CardGrid.188c9126.js +++ b/_nuxt/CardGrid.c99509ca.js @@ -1 +1 @@ -import{d as o,b as r,c as d,$ as t,e as s,ab as n,G as _,t as c,k as i}from"./entry.f8eaff67.js";const l={class:"card-grid"},p={class:"title"},u={class:"layout"},f=o({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(a){return(e,m)=>(r(),d("section",l,[t(e.$slots,"root",{},void 0,!0),s("h2",p,[t(e.$slots,"title",{unwrap:"p"},()=>[_(c(a.title),1)],!0)]),s("div",u,[n(e.$slots,"default",{},void 0,!0)])]))}});const h=i(f,[["__scopeId","data-v-12aa13c8"]]);export{h as default}; +import{d as o,b as r,c as d,$ as t,e as s,ab as n,G as _,t as c,k as i}from"./entry.6e9008ac.js";const l={class:"card-grid"},p={class:"title"},u={class:"layout"},f=o({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(a){return(e,m)=>(r(),d("section",l,[t(e.$slots,"root",{},void 0,!0),s("h2",p,[t(e.$slots,"title",{unwrap:"p"},()=>[_(c(a.title),1)],!0)]),s("div",u,[n(e.$slots,"default",{},void 0,!0)])]))}});const h=i(f,[["__scopeId","data-v-12aa13c8"]]);export{h as default}; diff --git a/_nuxt/ChallengeV2.155fd653.js b/_nuxt/ChallengeV2.155fd653.js deleted file mode 100644 index 72909f8e0c..0000000000 --- a/_nuxt/ChallengeV2.155fd653.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./ChallengeV2.vue.945a3d0f.js";import"./component-v2.f92db7c5.js";import"./entry.f8eaff67.js";export{o as default}; diff --git a/_nuxt/ChallengeV2.9df738fc.js b/_nuxt/ChallengeV2.9df738fc.js new file mode 100644 index 0000000000..38985c4075 --- /dev/null +++ b/_nuxt/ChallengeV2.9df738fc.js @@ -0,0 +1 @@ +import{_ as o}from"./ChallengeV2.vue.35e1bf54.js";import"./component-v2.819854c2.js";import"./entry.6e9008ac.js";export{o as default}; diff --git a/_nuxt/ChallengeV2.vue.945a3d0f.js b/_nuxt/ChallengeV2.vue.35e1bf54.js similarity index 85% rename from _nuxt/ChallengeV2.vue.945a3d0f.js rename to _nuxt/ChallengeV2.vue.35e1bf54.js index afef431caa..27e02bf208 100644 --- a/_nuxt/ChallengeV2.vue.945a3d0f.js +++ b/_nuxt/ChallengeV2.vue.35e1bf54.js @@ -1 +1 @@ -import{u as g}from"./component-v2.f92db7c5.js";import{d as x,ak as V,a8 as _,b as v,Y as w,w as C,ab as k,al as h,am as B,L as E,e as I,an as y}from"./entry.f8eaff67.js";const R=x({__name:"ChallengeV2",props:{as:{default:"div"},widgetId:{},badge:{default:"bottomright"},tabindex:{},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["load","error","expired","success","update:widgetId","update:modelValue"],setup(s,{expose:r,emit:i}){const e=s,d=i,{root:n,reset:a,widgetID:l,state:u,execute:t,isError:c,isExpired:p,isVerified:m}=g({size:"invisible",badge:e.badge,tabindex:e.tabindex},V(e,"modelValue"),d),f=_({execute:t,widgetId:l,state:u,reset:a,isError:c,isExpired:p,isVerified:m});function b(){e.autoExecute&&t()}return r({execute:t,reset:a}),(o,z)=>(v(),w(y(o.as),{onClick:b},{default:C(()=>[k(o.$slots,"default",h(B(E(f)))),I("div",{ref_key:"root",ref:n},null,512)]),_:3}))}});export{R as _}; +import{u as g}from"./component-v2.819854c2.js";import{d as x,ak as V,a8 as _,b as v,Y as w,w as C,ab as k,al as h,am as B,L as E,e as I,an as y}from"./entry.6e9008ac.js";const R=x({__name:"ChallengeV2",props:{as:{default:"div"},widgetId:{},badge:{default:"bottomright"},tabindex:{},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["load","error","expired","success","update:widgetId","update:modelValue"],setup(s,{expose:r,emit:i}){const e=s,d=i,{root:n,reset:a,widgetID:l,state:u,execute:t,isError:c,isExpired:p,isVerified:m}=g({size:"invisible",badge:e.badge,tabindex:e.tabindex},V(e,"modelValue"),d),f=_({execute:t,widgetId:l,state:u,reset:a,isError:c,isExpired:p,isVerified:m});function b(){e.autoExecute&&t()}return r({execute:t,reset:a}),(o,z)=>(v(),w(y(o.as),{onClick:b},{default:C(()=>[k(o.$slots,"default",h(B(E(f)))),I("div",{ref_key:"root",ref:n},null,512)]),_:3}))}});export{R as _}; diff --git a/_nuxt/ChallengeV2Demo.9cce430c.js b/_nuxt/ChallengeV2Demo.5be079a6.js similarity index 62% rename from _nuxt/ChallengeV2Demo.9cce430c.js rename to _nuxt/ChallengeV2Demo.5be079a6.js index 02517d5b5e..ed7ce975a8 100644 --- a/_nuxt/ChallengeV2Demo.9cce430c.js +++ b/_nuxt/ChallengeV2Demo.5be079a6.js @@ -1 +1 @@ -import p from"./PrimaryButton.bdf5d038.js";import{_ as c}from"./ChallengeV2.vue.945a3d0f.js";import{d as _,r as d,b as f,Y as u,w as n,g as V,G as x,t as s,L as a,Z as C}from"./entry.f8eaff67.js";import{R as t}from"./component-v2.f92db7c5.js";const w=_({__name:"ChallengeV2Demo",setup(g){const l={[t.Init]:"Click to Challenge",[t.Verified]:"Verified",[t.Expired]:"Expired",[t.Error]:"Error"},e=d();return(h,r)=>{const i=p,m=c;return f(),u(m,{modelValue:a(e),"onUpdate:modelValue":r[0]||(r[0]=o=>C(e)?e.value=o:null)},{default:n(({state:o})=>[V(i,null,{default:n(()=>[x(s(l[o])+s(a(e)?` ${a(e).slice(0,6)}...`:""),1)]),_:2},1024)]),_:1},8,["modelValue"])}}});export{w as default}; +import p from"./PrimaryButton.1a174aea.js";import{_ as c}from"./ChallengeV2.vue.35e1bf54.js";import{d as _,r as d,b as f,Y as u,w as n,g as V,G as x,t as s,L as a,Z as C}from"./entry.6e9008ac.js";import{R as t}from"./component-v2.819854c2.js";const w=_({__name:"ChallengeV2Demo",setup(g){const l={[t.Init]:"Click to Challenge",[t.Verified]:"Verified",[t.Expired]:"Expired",[t.Error]:"Error"},e=d();return(h,r)=>{const i=p,m=c;return f(),u(m,{modelValue:a(e),"onUpdate:modelValue":r[0]||(r[0]=o=>C(e)?e.value=o:null)},{default:n(({state:o})=>[V(i,null,{default:n(()=>[x(s(l[o])+s(a(e)?` ${a(e).slice(0,6)}...`:""),1)]),_:2},1024)]),_:1},8,["modelValue"])}}});export{w as default}; diff --git a/_nuxt/ChallengeV3.23bd74f8.js b/_nuxt/ChallengeV3.23bd74f8.js new file mode 100644 index 0000000000..4e73c3ddcf --- /dev/null +++ b/_nuxt/ChallengeV3.23bd74f8.js @@ -0,0 +1 @@ +import{_ as m}from"./ChallengeV3.vue.40872b47.js";import"./entry.6e9008ac.js";export{m as default}; diff --git a/_nuxt/ChallengeV3.a244e7ca.js b/_nuxt/ChallengeV3.a244e7ca.js deleted file mode 100644 index 53aac36642..0000000000 --- a/_nuxt/ChallengeV3.a244e7ca.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ChallengeV3.vue.3bc7c082.js";import"./entry.f8eaff67.js";export{m as default}; diff --git a/_nuxt/ChallengeV3.vue.3bc7c082.js b/_nuxt/ChallengeV3.vue.40872b47.js similarity index 81% rename from _nuxt/ChallengeV3.vue.3bc7c082.js rename to _nuxt/ChallengeV3.vue.40872b47.js index 60ce204e50..160ea15455 100644 --- a/_nuxt/ChallengeV3.vue.3bc7c082.js +++ b/_nuxt/ChallengeV3.vue.40872b47.js @@ -1 +1 @@ -import{at as l,ap as i,r as p,d as m,a8 as d,ar as f,b as x,Y as y,w as h,ab as v,al as C,am as V,L as _,an as w}from"./entry.f8eaff67.js";function g(s){const o=l(),e=i(),a=p();return{response:a,async execute(){return a.value=await e.execute(o,{action:s})}}}const P=m({__name:"ChallengeV3",props:{action:{},as:{default:"div"},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["update:modelValue"],setup(s,{emit:o}){const e=s,a=o,{response:n,execute:r}=g(e.action),u=d({response:n,execute:r});f(n,t=>{a("update:modelValue",t)});function c(){e.autoExecute&&r()}return(t,k)=>(x(),y(w(t.as),{onClick:c},{default:h(()=>[v(t.$slots,"default",C(V(_(u))))]),_:3}))}});export{P as _}; +import{at as l,ap as i,r as p,d as m,a8 as d,ar as f,b as x,Y as y,w as h,ab as v,al as C,am as V,L as _,an as w}from"./entry.6e9008ac.js";function g(s){const o=l(),e=i(),a=p();return{response:a,async execute(){return a.value=await e.execute(o,{action:s})}}}const P=m({__name:"ChallengeV3",props:{action:{},as:{default:"div"},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["update:modelValue"],setup(s,{emit:o}){const e=s,a=o,{response:n,execute:r}=g(e.action),u=d({response:n,execute:r});f(n,t=>{a("update:modelValue",t)});function c(){e.autoExecute&&r()}return(t,k)=>(x(),y(w(t.as),{onClick:c},{default:h(()=>[v(t.$slots,"default",C(V(_(u))))]),_:3}))}});export{P as _}; diff --git a/_nuxt/ChallengeV3Demo.49b7bdf6.js b/_nuxt/ChallengeV3Demo.3ad987d9.js similarity index 66% rename from _nuxt/ChallengeV3Demo.49b7bdf6.js rename to _nuxt/ChallengeV3Demo.3ad987d9.js index c3bd953ba5..936383580c 100644 --- a/_nuxt/ChallengeV3Demo.49b7bdf6.js +++ b/_nuxt/ChallengeV3Demo.3ad987d9.js @@ -1 +1 @@ -import m from"./PrimaryButton.bdf5d038.js";import{_ as c}from"./ChallengeV3.vue.3bc7c082.js";import{d as _,r as p,b as u,c as i,g as n,w as a,G as d,t as f,L as t,Z as V}from"./entry.f8eaff67.js";const B=_({__name:"ChallengeV3Demo",setup(x){const e=p();return(g,o)=>{const s=m,l=c;return u(),i("div",null,[n(l,{modelValue:t(e),"onUpdate:modelValue":o[0]||(o[0]=r=>V(e)?e.value=r:null),action:"submit"},{default:a(()=>[n(s,null,{default:a(()=>[d(f(t(e)?`Get response: ${t(e).slice(0,6)}...`:"click me"),1)]),_:1})]),_:1},8,["modelValue"])])}}});export{B as default}; +import m from"./PrimaryButton.1a174aea.js";import{_ as c}from"./ChallengeV3.vue.40872b47.js";import{d as _,r as p,b as u,c as i,g as n,w as a,G as d,t as f,L as t,Z as V}from"./entry.6e9008ac.js";const B=_({__name:"ChallengeV3Demo",setup(x){const e=p();return(g,o)=>{const s=m,l=c;return u(),i("div",null,[n(l,{modelValue:t(e),"onUpdate:modelValue":o[0]||(o[0]=r=>V(e)?e.value=r:null),action:"submit"},{default:a(()=>[n(s,null,{default:a(()=>[d(f(t(e)?`Get response: ${t(e).slice(0,6)}...`:"click me"),1)]),_:1})]),_:1},8,["modelValue"])])}}});export{B as default}; diff --git a/_nuxt/Checkbox.16145f77.js b/_nuxt/Checkbox.16145f77.js deleted file mode 100644 index cd5a610ddf..0000000000 --- a/_nuxt/Checkbox.16145f77.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./Checkbox.vue.330c01f0.js";import"./component-v2.f92db7c5.js";import"./entry.f8eaff67.js";export{o as default}; diff --git a/_nuxt/Checkbox.52c7056d.js b/_nuxt/Checkbox.52c7056d.js new file mode 100644 index 0000000000..e7bb8850ae --- /dev/null +++ b/_nuxt/Checkbox.52c7056d.js @@ -0,0 +1 @@ +import{_ as o}from"./Checkbox.vue.08968c81.js";import"./component-v2.819854c2.js";import"./entry.6e9008ac.js";export{o as default}; diff --git a/_nuxt/Checkbox.vue.330c01f0.js b/_nuxt/Checkbox.vue.08968c81.js similarity index 75% rename from _nuxt/Checkbox.vue.330c01f0.js rename to _nuxt/Checkbox.vue.08968c81.js index d1c8193a12..710337523d 100644 --- a/_nuxt/Checkbox.vue.330c01f0.js +++ b/_nuxt/Checkbox.vue.08968c81.js @@ -1 +1 @@ -import{u as r}from"./component-v2.f92db7c5.js";import{d,ak as m,b as i,Y as l,an as p}from"./entry.f8eaff67.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.819854c2.js";import{d,ak as m,b as i,Y as l,an as p}from"./entry.6e9008ac.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.a7a2260d.js b/_nuxt/CheckboxDemo.20e2ea8e.js similarity index 64% rename from _nuxt/CheckboxDemo.a7a2260d.js rename to _nuxt/CheckboxDemo.20e2ea8e.js index 61ce63b373..2dbc7f1f43 100644 --- a/_nuxt/CheckboxDemo.a7a2260d.js +++ b/_nuxt/CheckboxDemo.20e2ea8e.js @@ -1 +1 @@ -import{_ as c}from"./ThemeButton.vue.29558d85.js";import{_ as i}from"./Checkbox.vue.330c01f0.js";import{d as p,r as a,b as s,c as d,g as f,L as t,Z as m,e as _,t as k,Y as V}from"./entry.f8eaff67.js";import"./component-v2.f92db7c5.js";const g=p({__name:"CheckboxDemo",setup(v){const o=a("light"),l=a();return(h,e)=>{const r=c,u=i;return s(),d("div",null,[f(r,{modelValue:t(o),"onUpdate:modelValue":e[0]||(e[0]=n=>m(o)?o.value=n:null),onClick:e[1]||(e[1]=n=>l.value="")},null,8,["modelValue"]),_("div",null,k(t(l)?"Verified":"Please click the checkbox"),1),(s(),V(u,{key:t(o),modelValue:t(l),"onUpdate:modelValue":e[2]||(e[2]=n=>m(l)?l.value=n:null),theme:t(o)},null,8,["modelValue","theme"]))])}}});export{g as default}; +import{_ as c}from"./ThemeButton.vue.dc3349e7.js";import{_ as i}from"./Checkbox.vue.08968c81.js";import{d as p,r as a,b as s,c as d,g as f,L as t,Z as m,e as _,t as k,Y as V}from"./entry.6e9008ac.js";import"./component-v2.819854c2.js";const g=p({__name:"CheckboxDemo",setup(v){const o=a("light"),l=a();return(h,e)=>{const r=c,u=i;return s(),d("div",null,[f(r,{modelValue:t(o),"onUpdate:modelValue":e[0]||(e[0]=n=>m(o)?o.value=n:null),onClick:e[1]||(e[1]=n=>l.value="")},null,8,["modelValue"]),_("div",null,k(t(l)?"Verified":"Please click the checkbox"),1),(s(),V(u,{key:t(o),modelValue:t(l),"onUpdate:modelValue":e[2]||(e[2]=n=>m(l)?l.value=n:null),theme:t(o)},null,8,["modelValue","theme"]))])}}});export{g as default}; diff --git a/_nuxt/CodeBlock.618e269b.js b/_nuxt/CodeBlock.aa50e47a.js similarity index 70% rename from _nuxt/CodeBlock.618e269b.js rename to _nuxt/CodeBlock.aa50e47a.js index e3d9bc7cac..fb2fe4745e 100644 --- a/_nuxt/CodeBlock.618e269b.js +++ b/_nuxt/CodeBlock.aa50e47a.js @@ -1 +1 @@ -import{d as a,b as t,c as l,ab as s,n as c,k as n}from"./entry.f8eaff67.js";const d=a({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(o,r)=>(t(),l("div",{class:c(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[s(o.$slots,"default",{},void 0,!0)],2))}});const p=n(d,[["__scopeId","data-v-31606f9f"]]);export{p as default}; +import{d as a,b as t,c as l,ab as s,n as c,k as n}from"./entry.6e9008ac.js";const d=a({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(o,r)=>(t(),l("div",{class:c(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[s(o.$slots,"default",{},void 0,!0)],2))}});const p=n(d,[["__scopeId","data-v-31606f9f"]]);export{p as default}; diff --git a/_nuxt/CodeGroup.7c68c8b9.js b/_nuxt/CodeGroup.78b89ebd.js similarity index 88% rename from _nuxt/CodeGroup.7c68c8b9.js rename to _nuxt/CodeGroup.78b89ebd.js index 6da14cd25c..7555ba4bdf 100644 --- a/_nuxt/CodeGroup.7c68c8b9.js +++ b/_nuxt/CodeGroup.78b89ebd.js @@ -1 +1 @@ -import v from"./TabsHeader.a6f1ac79.js";import{d as o,Q as d,k as u}from"./entry.f8eaff67.js";const r=(n,i)=>n.type&&n.type.tag&&n.type.tag===i,b=o({data(){return{activeTabIndex:0,counter:0}},render(){var c,s;const n=((s=(c=this.$slots)==null?void 0:c.default)==null?void 0:s.call(c))||[],i=n.map((e,p)=>{var a,t,_;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((t=e==null?void 0:e.props)==null?void 0:t.label)||`${p}`,active:((_=e==null?void 0:e.props)==null?void 0:_.active)||!1,component:e}});return d("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[d(v,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:i,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),d("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,t;return d("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!r(e,"code")&&!r(e,"pre")}},[r(e,"code")||r(e,"pre")?e:d("div",{class:{"preview-canvas":!0}},[((t=(a=e.children)==null?void 0:a.default)==null?void 0:t.call(a))||e.children])])}))])}});const m=u(b,[["__scopeId","data-v-b8ed3fdc"]]);export{m as default}; +import v from"./TabsHeader.352fe39c.js";import{d as o,Q as d,k as u}from"./entry.6e9008ac.js";const r=(n,i)=>n.type&&n.type.tag&&n.type.tag===i,b=o({data(){return{activeTabIndex:0,counter:0}},render(){var c,s;const n=((s=(c=this.$slots)==null?void 0:c.default)==null?void 0:s.call(c))||[],i=n.map((e,p)=>{var a,t,_;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((t=e==null?void 0:e.props)==null?void 0:t.label)||`${p}`,active:((_=e==null?void 0:e.props)==null?void 0:_.active)||!1,component:e}});return d("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[d(v,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:i,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),d("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,t;return d("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!r(e,"code")&&!r(e,"pre")}},[r(e,"code")||r(e,"pre")?e:d("div",{class:{"preview-canvas":!0}},[((t=(a=e.children)==null?void 0:a.default)==null?void 0:t.call(a))||e.children])])}))])}});const m=u(b,[["__scopeId","data-v-b8ed3fdc"]]);export{m as default}; diff --git a/_nuxt/ComponentPlayground.979300a8.js b/_nuxt/ComponentPlayground.74572729.js similarity index 85% rename from _nuxt/ComponentPlayground.979300a8.js rename to _nuxt/ComponentPlayground.74572729.js index a3c7bb37df..eeccbbc636 100644 --- a/_nuxt/ComponentPlayground.979300a8.js +++ b/_nuxt/ComponentPlayground.74572729.js @@ -1 +1 @@ -import{L as u,aL as v,K as a,d as m,ac as S,b as $,c as I,n as w,p as P,i as C,e as x,k as f,ae as E,r as D,Q as c}from"./entry.f8eaff67.js";import j from"./ComponentPlaygroundData.3906b2ae.js";import"./TabsHeader.a6f1ac79.js";import"./ComponentPlaygroundProps.23c08a4e.js";import"./ProseH4.e0f717bb.js";import"./ProseCodeInline.e4bd4193.js";import"./Badge.43c6f127.js";import"./ProseP.2754d50f.js";import"./ComponentPlaygroundSlots.vue.cda37fd0.js";import"./ComponentPlaygroundTokens.vue.2576bb8c.js";async function z(e){const n=u(e);{const{data:o}=await v(`nuxt-component-meta${n?`-${n}`:""}`,()=>$fetch(`/api/component-meta${n?`/${n}`:""}`));return a(()=>o.value)}}const B=e=>(P("data-v-9dbf5846"),e=e(),C(),e),k=B(()=>x("div",{class:"ellipsis-item"},null,-1)),N=[k],V=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(e){const n=a(()=>((t=s)=>t.top)()),o=a(()=>((t=s)=>t.left)()),r=a(()=>((t=s)=>t.right)()),i=a(()=>((t=s)=>t.zIndex)()),l=a(()=>((t=s)=>t.width)()),g=a(()=>((t=s)=>t.height)()),y=a(()=>((t=s)=>`blur(${t.blur})`)()),h=a(()=>((t=s)=>{var d,p,_;return`linear-gradient(97.62deg, ${(d=t==null?void 0:t.colors)==null?void 0:d[0]} 2.27%, ${(p=t==null?void 0:t.colors)==null?void 0:p[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),s=e,{$pinceau:b}=S(s,void 0,{_cCN_top:n,_eih_insetInlineStart:o,_IfB_insetInlineEnd:r,_SsE_zIndex:i,_wj8_maxWidth:l,_t33_height:g,_Jfd_filter:y,_yUj_background:h});return(t,d)=>($(),I("div",{class:w(["ellipsis",[u(b)]])},N,2))}});const q=f(V,[["__scopeId","data-v-9dbf5846"]]),A=m({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(e){const n=a(()=>E(e.component)),o=D({...e.props}),r=await z(e.component);return{as:n,formProps:o,componentData:r}},render(e){const n=Object.entries(this.$slots).reduce((o,[r,i])=>{if(r.startsWith("component-")){const l=r.replace("component-","");o[l]=i}return o},{});return c("div",{class:"component-playground"},[c("div",{class:"component-playground-wrapper"},[c(q,{class:"component-playground-ellipsis",blur:"5vw",height:"100%",width:"100%"}),c(e.as,{...e.formProps,class:"component-playground-component"},{...n})]),c(j,{modelValue:e.formProps,componentData:e.componentData,"onUpdate:modelValue":o=>e.formProps=o})])}});const G=f(A,[["__scopeId","data-v-b9c7bb0c"]]);export{G as default}; +import{L as u,aL as v,K as a,d as m,ac as S,b as $,c as I,n as w,p as P,i as C,e as x,k as f,ae as E,r as D,Q as c}from"./entry.6e9008ac.js";import j from"./ComponentPlaygroundData.bd7d6e69.js";import"./TabsHeader.352fe39c.js";import"./ComponentPlaygroundProps.2ae5999c.js";import"./ProseH4.50ee811b.js";import"./ProseCodeInline.c02e94fd.js";import"./Badge.c215dd61.js";import"./ProseP.63fb3914.js";import"./ComponentPlaygroundSlots.vue.ed604ae0.js";import"./ComponentPlaygroundTokens.vue.c0f3734a.js";async function z(e){const n=u(e);{const{data:o}=await v(`nuxt-component-meta${n?`-${n}`:""}`,()=>$fetch(`/api/component-meta${n?`/${n}`:""}`));return a(()=>o.value)}}const B=e=>(P("data-v-9dbf5846"),e=e(),C(),e),k=B(()=>x("div",{class:"ellipsis-item"},null,-1)),N=[k],V=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(e){const n=a(()=>((t=s)=>t.top)()),o=a(()=>((t=s)=>t.left)()),r=a(()=>((t=s)=>t.right)()),i=a(()=>((t=s)=>t.zIndex)()),l=a(()=>((t=s)=>t.width)()),g=a(()=>((t=s)=>t.height)()),y=a(()=>((t=s)=>`blur(${t.blur})`)()),h=a(()=>((t=s)=>{var d,p,_;return`linear-gradient(97.62deg, ${(d=t==null?void 0:t.colors)==null?void 0:d[0]} 2.27%, ${(p=t==null?void 0:t.colors)==null?void 0:p[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),s=e,{$pinceau:b}=S(s,void 0,{_cCN_top:n,_eih_insetInlineStart:o,_IfB_insetInlineEnd:r,_SsE_zIndex:i,_wj8_maxWidth:l,_t33_height:g,_Jfd_filter:y,_yUj_background:h});return(t,d)=>($(),I("div",{class:w(["ellipsis",[u(b)]])},N,2))}});const q=f(V,[["__scopeId","data-v-9dbf5846"]]),A=m({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(e){const n=a(()=>E(e.component)),o=D({...e.props}),r=await z(e.component);return{as:n,formProps:o,componentData:r}},render(e){const n=Object.entries(this.$slots).reduce((o,[r,i])=>{if(r.startsWith("component-")){const l=r.replace("component-","");o[l]=i}return o},{});return c("div",{class:"component-playground"},[c("div",{class:"component-playground-wrapper"},[c(q,{class:"component-playground-ellipsis",blur:"5vw",height:"100%",width:"100%"}),c(e.as,{...e.formProps,class:"component-playground-component"},{...n})]),c(j,{modelValue:e.formProps,componentData:e.componentData,"onUpdate:modelValue":o=>e.formProps=o})])}});const G=f(A,[["__scopeId","data-v-b9c7bb0c"]]);export{G as default}; diff --git a/_nuxt/ComponentPlaygroundData.3906b2ae.js b/_nuxt/ComponentPlaygroundData.bd7d6e69.js similarity index 63% rename from _nuxt/ComponentPlaygroundData.3906b2ae.js rename to _nuxt/ComponentPlaygroundData.bd7d6e69.js index 58fbe4befc..72484fa6f4 100644 --- a/_nuxt/ComponentPlaygroundData.3906b2ae.js +++ b/_nuxt/ComponentPlaygroundData.bd7d6e69.js @@ -1 +1 @@ -import y from"./TabsHeader.a6f1ac79.js";import g from"./ComponentPlaygroundProps.23c08a4e.js";import{_ as v}from"./ComponentPlaygroundSlots.vue.cda37fd0.js";import{_ as x}from"./ComponentPlaygroundTokens.vue.2576bb8c.js";import{d as k,a0 as D,r as V,b as n,c as C,g as P,L as o,Y as m,Z as T,f as s,k as B}from"./entry.f8eaff67.js";import"./ProseH4.e0f717bb.js";import"./ProseCodeInline.e4bd4193.js";import"./Badge.43c6f127.js";import"./ProseP.2754d50f.js";const I={class:"component-playground-data"},j=k({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:p}){const a=D(t,"modelValue",p),e=V(0),r=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=l=>e.value=l;return(l,c)=>{const u=y,_=g,i=v,f=x;return n(),C("div",I,[P(u,{"active-tab-index":o(e),tabs:r,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),o(e)===0?(n(),m(_,{key:0,modelValue:o(a),"onUpdate:modelValue":c[0]||(c[0]=b=>T(a)?a.value=b:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):s("",!0),o(e)===1?(n(),m(i,{key:1,"component-data":t.componentData},null,8,["component-data"])):s("",!0),o(e)===2?(n(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):s("",!0)])}}});const Y=B(j,[["__scopeId","data-v-8b4ea980"]]);export{Y as default}; +import y from"./TabsHeader.352fe39c.js";import g from"./ComponentPlaygroundProps.2ae5999c.js";import{_ as v}from"./ComponentPlaygroundSlots.vue.ed604ae0.js";import{_ as x}from"./ComponentPlaygroundTokens.vue.c0f3734a.js";import{d as k,a0 as D,r as V,b as n,c as C,g as P,L as o,Y as m,Z as T,f as s,k as B}from"./entry.6e9008ac.js";import"./ProseH4.50ee811b.js";import"./ProseCodeInline.c02e94fd.js";import"./Badge.c215dd61.js";import"./ProseP.63fb3914.js";const I={class:"component-playground-data"},j=k({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:p}){const a=D(t,"modelValue",p),e=V(0),r=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=l=>e.value=l;return(l,c)=>{const u=y,_=g,i=v,f=x;return n(),C("div",I,[P(u,{"active-tab-index":o(e),tabs:r,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),o(e)===0?(n(),m(_,{key:0,modelValue:o(a),"onUpdate:modelValue":c[0]||(c[0]=b=>T(a)?a.value=b:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):s("",!0),o(e)===1?(n(),m(i,{key:1,"component-data":t.componentData},null,8,["component-data"])):s("",!0),o(e)===2?(n(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):s("",!0)])}}});const Y=B(j,[["__scopeId","data-v-8b4ea980"]]);export{Y as default}; diff --git a/_nuxt/ComponentPlaygroundProps.23c08a4e.js b/_nuxt/ComponentPlaygroundProps.2ae5999c.js similarity index 81% rename from _nuxt/ComponentPlaygroundProps.23c08a4e.js rename to _nuxt/ComponentPlaygroundProps.2ae5999c.js index 7f5974fb2c..4be571c745 100644 --- a/_nuxt/ComponentPlaygroundProps.23c08a4e.js +++ b/_nuxt/ComponentPlaygroundProps.2ae5999c.js @@ -1 +1 @@ -import k from"./ProseH4.e0f717bb.js";import b from"./ProseCodeInline.e4bd4193.js";import B from"./Badge.43c6f127.js";import q from"./ProseP.2754d50f.js";import{d as D,a0 as N,K as j,b as o,c as r,F as w,aC as F,L as d,e as m,g as l,w as s,G as _,t as u,Y as i,f as p,k as I}from"./entry.f8eaff67.js";const L={class:"component-playground-data-section"},O=["id"],E=["value","onChange"],G=D({__name:"ComponentPlaygroundProps",props:{modelValue:{type:Object,required:!0},componentData:{type:Object,required:!0}},emits:["update:modelValue"],setup(f,{emit:g}){const a=f,c=N(a,"modelValue",g),y=(t,n)=>{c.value={...c.value,[n]:t.target.value}},v=j(()=>{var t,n;return(n=(t=a==null?void 0:a.componentData)==null?void 0:t.meta)==null?void 0:n.props});return(t,n)=>{const x=k,C=b,P=B,h=q;return o(),r("div",L,[(o(!0),r(w,null,F(d(v),e=>(o(),r("div",{key:e.name},[m("div",{id:e.name,class:"prop-title"},[l(x,{id:e.name},{default:s(()=>[_(u(e.name),1)]),_:2},1032,["id"]),m("span",null,[l(C,null,{default:s(()=>[_(u(e.type),1)]),_:2},1024),e.required?p("",!0):(o(),i(P,{key:0},{default:s(()=>[_(" Required ")]),_:1}))])],8,O),e.description?(o(),i(h,{key:0},{default:s(()=>[_(u(e.description),1)]),_:2},1024)):p("",!0),m("input",{value:d(c)[e.name],onChange:V=>y(V,e.name)},null,40,E)]))),128))])}}});const Y=I(G,[["__scopeId","data-v-382fbe32"]]);export{Y as default}; +import k from"./ProseH4.50ee811b.js";import b from"./ProseCodeInline.c02e94fd.js";import B from"./Badge.c215dd61.js";import q from"./ProseP.63fb3914.js";import{d as D,a0 as N,K as j,b as o,c as r,F as w,aC as F,L as d,e as m,g as l,w as s,G as _,t as u,Y as i,f as p,k as I}from"./entry.6e9008ac.js";const L={class:"component-playground-data-section"},O=["id"],E=["value","onChange"],G=D({__name:"ComponentPlaygroundProps",props:{modelValue:{type:Object,required:!0},componentData:{type:Object,required:!0}},emits:["update:modelValue"],setup(f,{emit:g}){const a=f,c=N(a,"modelValue",g),y=(t,n)=>{c.value={...c.value,[n]:t.target.value}},v=j(()=>{var t,n;return(n=(t=a==null?void 0:a.componentData)==null?void 0:t.meta)==null?void 0:n.props});return(t,n)=>{const x=k,C=b,P=B,h=q;return o(),r("div",L,[(o(!0),r(w,null,F(d(v),e=>(o(),r("div",{key:e.name},[m("div",{id:e.name,class:"prop-title"},[l(x,{id:e.name},{default:s(()=>[_(u(e.name),1)]),_:2},1032,["id"]),m("span",null,[l(C,null,{default:s(()=>[_(u(e.type),1)]),_:2},1024),e.required?p("",!0):(o(),i(P,{key:0},{default:s(()=>[_(" Required ")]),_:1}))])],8,O),e.description?(o(),i(h,{key:0},{default:s(()=>[_(u(e.description),1)]),_:2},1024)):p("",!0),m("input",{value:d(c)[e.name],onChange:V=>y(V,e.name)},null,40,E)]))),128))])}}});const Y=I(G,[["__scopeId","data-v-382fbe32"]]);export{Y as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.1a831e97.js b/_nuxt/ComponentPlaygroundSlots.1a831e97.js new file mode 100644 index 0000000000..e0bab45a63 --- /dev/null +++ b/_nuxt/ComponentPlaygroundSlots.1a831e97.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundSlots.vue.ed604ae0.js";import"./entry.6e9008ac.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.5c18deff.js b/_nuxt/ComponentPlaygroundSlots.5c18deff.js deleted file mode 100644 index f37f140450..0000000000 --- a/_nuxt/ComponentPlaygroundSlots.5c18deff.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundSlots.vue.cda37fd0.js";import"./entry.f8eaff67.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.vue.cda37fd0.js b/_nuxt/ComponentPlaygroundSlots.vue.ed604ae0.js similarity index 80% rename from _nuxt/ComponentPlaygroundSlots.vue.cda37fd0.js rename to _nuxt/ComponentPlaygroundSlots.vue.ed604ae0.js index 71c8b26867..8c690a7b7d 100644 --- a/_nuxt/ComponentPlaygroundSlots.vue.cda37fd0.js +++ b/_nuxt/ComponentPlaygroundSlots.vue.ed604ae0.js @@ -1 +1 @@ -import{d as t,b as n,c as o,e as a,t as s}from"./entry.f8eaff67.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.6e9008ac.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.29d70b37.js b/_nuxt/ComponentPlaygroundTokens.29d70b37.js new file mode 100644 index 0000000000..bf1f4f4a8f --- /dev/null +++ b/_nuxt/ComponentPlaygroundTokens.29d70b37.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundTokens.vue.c0f3734a.js";import"./entry.6e9008ac.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundTokens.7b23e40b.js b/_nuxt/ComponentPlaygroundTokens.7b23e40b.js deleted file mode 100644 index ca764a767d..0000000000 --- a/_nuxt/ComponentPlaygroundTokens.7b23e40b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundTokens.vue.2576bb8c.js";import"./entry.f8eaff67.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundTokens.vue.2576bb8c.js b/_nuxt/ComponentPlaygroundTokens.vue.c0f3734a.js similarity index 77% rename from _nuxt/ComponentPlaygroundTokens.vue.2576bb8c.js rename to _nuxt/ComponentPlaygroundTokens.vue.c0f3734a.js index 872f34132f..a79d43d80a 100644 --- a/_nuxt/ComponentPlaygroundTokens.vue.2576bb8c.js +++ b/_nuxt/ComponentPlaygroundTokens.vue.c0f3734a.js @@ -1 +1 @@ -import{d as t,b as o,c as n,t as a}from"./entry.f8eaff67.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.6e9008ac.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.a827aeda.js b/_nuxt/ContentDoc.c28e9f53.js similarity index 86% rename from _nuxt/ContentDoc.a827aeda.js rename to _nuxt/ContentDoc.c28e9f53.js index 096eb8f901..10447b9693 100644 --- a/_nuxt/ContentDoc.a827aeda.js +++ b/_nuxt/ContentDoc.c28e9f53.js @@ -1 +1 @@ -import{d as C,l as g,ad as v,aO as D,s as w,Q as o,X as p}from"./entry.f8eaff67.js";import _ from"./ContentRenderer.eb54d0ce.js";import S from"./ContentQuery.3ce102e6.js";import"./ContentRendererMarkdown.vue.35734f79.js";const q=C({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(f){const{contentHead:c}=g().public.content,e=v(),{tag:m,excerpt:i,path:s,query:a,head:r}=f,u=r===void 0?c:r,l={...a||{},path:s||(a==null?void 0:a.path)||D(w().path),find:"one"},h=(t,n)=>o("pre",null,JSON.stringify({message:"You should use slots with ",slot:t,data:n},null,2));return o(S,l,{default:e!=null&&e.default?({data:t,refresh:n,isPartial:y})=>{var d;return u&&p(t),(d=e.default)==null?void 0:d.call(e,{doc:t,refresh:n,isPartial:y,excerpt:i,...this.$attrs})}:({data:t})=>(u&&p(t),o(_,{value:t,excerpt:i,tag:m,...this.$attrs},{empty:n=>e!=null&&e.empty?e.empty(n):h("default",t)})),empty:t=>{var n;return((n=e==null?void 0:e.empty)==null?void 0:n.call(e,t))||o("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":t=>{var n;return((n=e==null?void 0:e["not-found"])==null?void 0:n.call(e,t))||o("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),b=q;export{b as default}; +import{d as C,l as g,ad as v,aO as D,s as w,Q as o,X as p}from"./entry.6e9008ac.js";import _ from"./ContentRenderer.037efdfb.js";import S from"./ContentQuery.489bc247.js";import"./ContentRendererMarkdown.vue.080aad6d.js";const q=C({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(f){const{contentHead:c}=g().public.content,e=v(),{tag:m,excerpt:i,path:s,query:a,head:r}=f,u=r===void 0?c:r,l={...a||{},path:s||(a==null?void 0:a.path)||D(w().path),find:"one"},h=(t,n)=>o("pre",null,JSON.stringify({message:"You should use slots with ",slot:t,data:n},null,2));return o(S,l,{default:e!=null&&e.default?({data:t,refresh:n,isPartial:y})=>{var d;return u&&p(t),(d=e.default)==null?void 0:d.call(e,{doc:t,refresh:n,isPartial:y,excerpt:i,...this.$attrs})}:({data:t})=>(u&&p(t),o(_,{value:t,excerpt:i,tag:m,...this.$attrs},{empty:n=>e!=null&&e.empty?e.empty(n):h("default",t)})),empty:t=>{var n;return((n=e==null?void 0:e.empty)==null?void 0:n.call(e,t))||o("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":t=>{var n;return((n=e==null?void 0:e["not-found"])==null?void 0:n.call(e,t))||o("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),b=q;export{b as default}; diff --git a/_nuxt/ContentList.39dc1835.js b/_nuxt/ContentList.f495c5b3.js similarity index 84% rename from _nuxt/ContentList.39dc1835.js rename to _nuxt/ContentList.f495c5b3.js index 9a652d7c92..8682ca77c5 100644 --- a/_nuxt/ContentList.39dc1835.js +++ b/_nuxt/ContentList.f495c5b3.js @@ -1 +1 @@ -import m from"./ContentQuery.3ce102e6.js";import{d as c,ad as l,Q as r}from"./entry.f8eaff67.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.489bc247.js";import{d as c,ad as l,Q as r}from"./entry.6e9008ac.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.250350fe.js b/_nuxt/ContentNavigation.b76aa870.js similarity index 92% rename from _nuxt/ContentNavigation.250350fe.js rename to _nuxt/ContentNavigation.b76aa870.js index 2aebe6c394..6501097889 100644 --- a/_nuxt/ContentNavigation.250350fe.js +++ b/_nuxt/ContentNavigation.b76aa870.js @@ -1 +1 @@ -import{d,aP as l,K as v,m as f,W as p,aL as m,aR as g,aQ as h,ad as y,Q as u,H as _}from"./entry.f8eaff67.js";const C=d({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(i){const{query:a}=l(i),n=v(()=>{var t;return typeof((t=a.value)==null?void 0:t.params)=="function"?a.value.params():a.value});if(!n.value&&f("dd-navigation").value){const{navigation:t}=p();return{navigation:t}}const{data:o}=await m(`content-navigation-${h(n.value)}`,()=>g(n.value));return{navigation:o}},render(i){const a=y(),{navigation:n}=i,o=e=>u(_,{to:e._path},()=>e.title),t=(e,r)=>u("ul",r?{"data-level":r}:null,e.map(s=>s.children?u("li",null,[o(s),t(s.children,r+1)]):u("li",null,o(s)))),c=e=>t(e,0);return a!=null&&a.default?a.default({navigation:n,...this.$attrs}):c(n)}}),N=C;export{N as default}; +import{d,aP as l,K as v,m as f,W as p,aL as m,aR as g,aQ as h,ad as y,Q as u,H as _}from"./entry.6e9008ac.js";const C=d({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(i){const{query:a}=l(i),n=v(()=>{var t;return typeof((t=a.value)==null?void 0:t.params)=="function"?a.value.params():a.value});if(!n.value&&f("dd-navigation").value){const{navigation:t}=p();return{navigation:t}}const{data:o}=await m(`content-navigation-${h(n.value)}`,()=>g(n.value));return{navigation:o}},render(i){const a=y(),{navigation:n}=i,o=e=>u(_,{to:e._path},()=>e.title),t=(e,r)=>u("ul",r?{"data-level":r}:null,e.map(s=>s.children?u("li",null,[o(s),t(s.children,r+1)]):u("li",null,o(s)))),c=e=>t(e,0);return a!=null&&a.default?a.default({navigation:n,...this.$attrs}):c(n)}}),N=C;export{N as default}; diff --git a/_nuxt/ContentQuery.3ce102e6.js b/_nuxt/ContentQuery.489bc247.js similarity index 97% rename from _nuxt/ContentQuery.3ce102e6.js rename to _nuxt/ContentQuery.489bc247.js index 1992699090..a97432d407 100644 --- a/_nuxt/ContentQuery.3ce102e6.js +++ b/_nuxt/ContentQuery.489bc247.js @@ -1 +1 @@ -import{d as g,aP as C,K as S,l as b,a5 as Q,aL as _,q as m,aQ as k,ad as A,Q as N}from"./entry.f8eaff67.js";const O=g({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(i){const{path:t,only:r,without:o,where:u,sort:l,limit:d,skip:f,locale:s,find:h}=C(i),p=S(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),y=!b().public.content.experimental.advanceQuery;Q(()=>i,()=>n(),{deep:!0});const a=e=>y?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await _(`content-query-${k(i)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),u.value&&(e=e.where(u.value)),l.value&&(e=e.sort(l.value)),d.value&&(e=e.limit(d.value)),f.value&&(e=e.skip(f.value)),s.value&&(e=e.where({_locale:s.value})),h.value==="one"?e.findOne().then(a):h.value==="surround"?t.value?y?e.findSurround(t.value):e.withSurround(t.value).findOne().then(a):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(a)):e.find().then(a)});return{isPartial:p,data:v,refresh:n}},render(i){var c;const t=A(),{data:r,refresh:o,isPartial:u,path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v}=i,n={path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:u,props:n,...this.$attrs}):((w,q)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),P=O;export{P as default}; +import{d as g,aP as C,K as S,l as b,a5 as Q,aL as _,q as m,aQ as k,ad as A,Q as N}from"./entry.6e9008ac.js";const O=g({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(i){const{path:t,only:r,without:o,where:u,sort:l,limit:d,skip:f,locale:s,find:h}=C(i),p=S(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),y=!b().public.content.experimental.advanceQuery;Q(()=>i,()=>n(),{deep:!0});const a=e=>y?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await _(`content-query-${k(i)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),u.value&&(e=e.where(u.value)),l.value&&(e=e.sort(l.value)),d.value&&(e=e.limit(d.value)),f.value&&(e=e.skip(f.value)),s.value&&(e=e.where({_locale:s.value})),h.value==="one"?e.findOne().then(a):h.value==="surround"?t.value?y?e.findSurround(t.value):e.withSurround(t.value).findOne().then(a):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(a)):e.find().then(a)});return{isPartial:p,data:v,refresh:n}},render(i){var c;const t=A(),{data:r,refresh:o,isPartial:u,path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v}=i,n={path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:u,props:n,...this.$attrs}):((w,q)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),P=O;export{P as default}; diff --git a/_nuxt/ContentRenderer.eb54d0ce.js b/_nuxt/ContentRenderer.037efdfb.js similarity index 89% rename from _nuxt/ContentRenderer.eb54d0ce.js rename to _nuxt/ContentRenderer.037efdfb.js index ae9e70bbee..26594d2cc6 100644 --- a/_nuxt/ContentRenderer.eb54d0ce.js +++ b/_nuxt/ContentRenderer.037efdfb.js @@ -1 +1 @@ -import{_ as l}from"./ContentRendererMarkdown.vue.35734f79.js";import{d as o,a5 as s,ad as d,Q as f}from"./entry.f8eaff67.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.080aad6d.js";import{d as o,a5 as s,ad as d,Q as f}from"./entry.6e9008ac.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.832e3d2d.js b/_nuxt/ContentRendererMarkdown.832e3d2d.js deleted file mode 100644 index c30026b77c..0000000000 --- a/_nuxt/ContentRendererMarkdown.832e3d2d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ContentRendererMarkdown.vue.35734f79.js";import"./entry.f8eaff67.js";export{m as default}; diff --git a/_nuxt/ContentRendererMarkdown.d1d7ba15.js b/_nuxt/ContentRendererMarkdown.d1d7ba15.js new file mode 100644 index 0000000000..15e1b5a834 --- /dev/null +++ b/_nuxt/ContentRendererMarkdown.d1d7ba15.js @@ -0,0 +1 @@ +import{_ as m}from"./ContentRendererMarkdown.vue.080aad6d.js";import"./entry.6e9008ac.js";export{m as default}; diff --git a/_nuxt/ContentRendererMarkdown.vue.35734f79.js b/_nuxt/ContentRendererMarkdown.vue.080aad6d.js similarity index 99% rename from _nuxt/ContentRendererMarkdown.vue.35734f79.js rename to _nuxt/ContentRendererMarkdown.vue.080aad6d.js index e49c378fa0..7fe748f9ff 100644 --- a/_nuxt/ContentRendererMarkdown.vue.35734f79.js +++ b/_nuxt/ContentRendererMarkdown.vue.080aad6d.js @@ -1 +1 @@ -import{d as E,l as J,D as G,Q as R,ae as U,af as Q,ag as C,s as nn,ah as ln,ai as en,K as w,b as on,Y as tn,L as rn}from"./entry.f8eaff67.js";class x{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}x.prototype.property={};x.prototype.normal={};x.prototype.space=null;function B(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&pn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(A,mn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!A.test(a)){let i=a.replace(dn,hn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=M}return new r(t,l)}function hn(n){return"-"+n.toLowerCase()}function mn(n){return n.charAt(1).toUpperCase()}const fn=B([j,I,F,N,sn],"html");B([j,I,F,N,cn],"svg");const V=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],L="default",q=/^@|^v-on:/,W=/^:|^v-bind:/,K=/^v-model/,yn=["select","textarea","input"],vn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr"].map(n=>[n,`prose-${n}`])),bn=E({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},tag:{type:String,default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})}},async setup(n){var t,r;const{mdc:l}=J().public,o={...l.components.prose&&n.prose!==!1?vn:{},...l.components.map,...G(((r=(t=n.data)==null?void 0:t.mdc)==null?void 0:r.components)||{}),...n.components};return await Rn(n.body,{tags:o}),{tags:o}},render(n){var s,c;const{tags:l,tag:o,body:t,data:r}=n;if(!t)return null;const a={...r,tags:l};let i=o||((s=a.component)==null?void 0:s.name)||a.component||"div";return i=Y(i),R(i,{...(c=a.component)==null?void 0:c.props,...this.$attrs},X(t,R,a,a))}});function kn(n,l,o,t={}){var c;if(n.type==="text")return l(C,n.value);if(n.tag==="script")return l(C,$(n));const r=n.tag,a=typeof((c=n.props)==null?void 0:c.__ignoreMap)>"u"&&o.tags[r]||r;if(n.tag==="binding")return Cn(n,l,o,t);const i=Y(a);typeof i=="object"&&(i.tag=r);const s=xn(n,o);return l(i,s,X(n,l,o,{...t,...s}))}function $(n){var l,o;return n.type==="text"?n.value:(l=n.children)!=null&&l.length?`<${n.tag}>${((o=n.children)==null?void 0:o.map($).join(""))||""}`:`<${n.tag}>`}function Cn(n,l,o,t={}){var c;const r={...t,$route:()=>nn(),$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((c=n.props)==null?void 0:c.value.trim().split(a).filter(Boolean)).reduce((g,y)=>y in g?typeof g[y]=="function"?g[y]():g[y]:{},r);return l(C,s)}function X(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!Ln(c))return s[L].push(c),s;const g=Dn(c);return s[g]=s[g]||[],c.type==="element"&&s[g].push(...c.children||[]),s},{[L]:[]});return Object.entries(a).reduce((s,[c,g])=>(g.length&&(s[c]=()=>{const y=g.map(h=>kn(h,l,o,t));return Mn(y)}),s),{})}function xn(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(K.test(a)&&!yn.includes(o))return Sn(a,i,r,l);if(a==="v-bind")return wn(a,i,r,l);if(q.test(a))return Pn(a,i,r,l);if(W.test(a))return On(a,i,r,l);const{attribute:s}=gn(fn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function Sn(n,l,o,t){const r=h=>+h,a=h=>h.trim(),i=h=>h,s=n.replace(K,"").split(".").filter(h=>h).reduce((h,Z)=>(h[Z]=!0,h),{}),c="value",g=s.lazy?"change":"input",y=s.number?r:s.trim?a:i;return o[c]=S(l,t),o.on=o.on||{},o.on[g]=h=>t[l]=y(h),o}function wn(n,l,o,t){const r=S(l,t);return o=Object.assign(o,r),o}function Pn(n,l,o,t){return n=n.replace(q,""),o.on=o.on||{},o.on[n]=()=>S(l,t),o}function On(n,l,o,t){return n=n.replace(W,""),o[n]=S(l,t),o}const Y=n=>{if(!V.includes(n)&&!(n!=null&&n.render)){const l=U(Q(n),!1);if(typeof l=="object")return l}return n};function S(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?ln(n):o}function Dn(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||L}function Ln(n){return n.tag==="template"}function Mn(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===C&&(t==null?void 0:t.type)===C?t.children=t.children+o.children:l.push(o)}return l}async function Rn(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender)return;const a=U(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){var g;const i=r.tag;if(r.type==="text"||i==="binding")return[];const s=typeof((g=r.props)==null?void 0:g.__ignoreMap)>"u"&&a.tags[i]||i,c=[];r.type!=="root"&&!V.includes(s)&&c.push(s);for(const y of r.children||[])c.push(...t(y,a));return c}}const An=E({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=en().isEnabled(),t=w(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=w(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=w(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=bn;return on(),tn(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":rn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{An as _}; +import{d as E,l as J,D as G,Q as R,ae as U,af as Q,ag as C,s as nn,ah as ln,ai as en,K as w,b as on,Y as tn,L as rn}from"./entry.6e9008ac.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.89f8f243.js b/_nuxt/ContentSlot.89f8f243.js deleted file mode 100644 index bfba335750..0000000000 --- a/_nuxt/ContentSlot.89f8f243.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n}from"./MDCSlot.dc621394.js";import{d as o,Q as t}from"./entry.f8eaff67.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.93c89f7c.js b/_nuxt/ContentSlot.93c89f7c.js new file mode 100644 index 0000000000..1f8b7ceb21 --- /dev/null +++ b/_nuxt/ContentSlot.93c89f7c.js @@ -0,0 +1 @@ +import{_ as n}from"./MDCSlot.f4d0047d.js";import{d as o,Q as t}from"./entry.6e9008ac.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.a7fbdba9.js b/_nuxt/CopyButton.0ffff959.js similarity index 90% rename from _nuxt/CopyButton.a7fbdba9.js rename to _nuxt/CopyButton.0ffff959.js index 2e3c16ca37..650f81a731 100644 --- a/_nuxt/CopyButton.a7fbdba9.js +++ b/_nuxt/CopyButton.0ffff959.js @@ -1 +1 @@ -import{d as l,aE as i,r as u,b as e,c as d,L as m,Y as t,a1 as y}from"./entry.f8eaff67.js";const b=l({__name:"CopyButton",props:{content:{type:String,default:""}},setup(c){const a=c,{copy:s}=i(),o=u("init"),p=r=>{s(a.content).then(()=>{o.value="copied",setTimeout(()=>{o.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(r,f)=>{const n=y;return e(),d("button",{class:"copy rounded-lg bg-gray-800 px-2 py-2 font-mono text-xs font-semibold leading-none text-gray-400 focus:outline-none dark:bg-black",onClick:p},[m(o)==="copied"?(e(),t(n,{key:0,name:"fa-check",class:"h-4 w-4"})):(e(),t(n,{key:1,name:"fa-copy",class:"h-4 w-4"}))])}}});export{b as default}; +import{d as l,aE as i,r as u,b as e,c as d,L as m,Y as t,a1 as y}from"./entry.6e9008ac.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.f25f8425.js b/_nuxt/DocsAside.1f0aa950.js similarity index 89% rename from _nuxt/DocsAside.f25f8425.js rename to _nuxt/DocsAside.1f0aa950.js index efa6e7590a..70360dcbd8 100644 --- a/_nuxt/DocsAside.f25f8425.js +++ b/_nuxt/DocsAside.1f0aa950.js @@ -1 +1 @@ -import{d as r,au as l,b as o,c as u,L as n,Y as c,w as d,g as i,av as m,a1 as k,H as x,p as f,i as h,e as b,k as v}from"./entry.f8eaff67.js";const I=e=>(f("data-v-052bc4ea"),e=e(),h(),e),g=I(()=>b("span",{class:"text"},"Go back",-1)),w=r({__name:"DocsAside",setup(e){const{tree:s}=l();return(y,B)=>{var t;const _=m,a=k,p=x;return o(),u("nav",null,[((t=n(s))==null?void 0:t.length)>0?(o(),c(_,{key:0,links:n(s)},null,8,["links"])):(o(),c(p,{key:1,to:"/",class:"go-back-link"},{default:d(()=>[i(a,{name:"heroicons-outline:arrow-left",class:"icon"}),g]),_:1}))])}}});const A=v(w,[["__scopeId","data-v-052bc4ea"]]);export{A as default}; +import{d as r,au as l,b as o,c as u,L as n,Y as c,w as d,g as i,av as m,a1 as k,H as x,p as f,i as h,e as b,k as v}from"./entry.6e9008ac.js";const I=e=>(f("data-v-052bc4ea"),e=e(),h(),e),g=I(()=>b("span",{class:"text"},"Go back",-1)),w=r({__name:"DocsAside",setup(e){const{tree:s}=l();return(y,B)=>{var t;const _=m,a=k,p=x;return o(),u("nav",null,[((t=n(s))==null?void 0:t.length)>0?(o(),c(_,{key:0,links:n(s)},null,8,["links"])):(o(),c(p,{key:1,to:"/",class:"go-back-link"},{default:d(()=>[i(a,{name:"heroicons-outline:arrow-left",class:"icon"}),g]),_:1}))])}}});const A=v(w,[["__scopeId","data-v-052bc4ea"]]);export{A as default}; diff --git a/_nuxt/DocsPageBottom.6b61d989.js b/_nuxt/DocsPageBottom.b5f8d61a.js similarity index 87% rename from _nuxt/DocsPageBottom.6b61d989.js rename to _nuxt/DocsPageBottom.b5f8d61a.js index 2dd747a91c..ae67093003 100644 --- a/_nuxt/DocsPageBottom.6b61d989.js +++ b/_nuxt/DocsPageBottom.b5f8d61a.js @@ -1 +1 @@ -import{d as b,W as h,au as x,L as t,b as s,c as a,g as n,w as d,f as _,G as k,e as m,t as v,a1 as y,p as D,i as I,k as B}from"./entry.f8eaff67.js";import S from"./ProseA.7ab7686c.js";import{_ as w}from"./EditOnLink.vue.5b812da4.js";const C=e=>(D("data-v-2b2fba6f"),e=e(),I(),e),N={key:0,class:"docs-page-bottom"},V={key:0,class:"edit-link"},E=C(()=>m("span",null," Edit this page on GitHub ",-1)),P={key:1},G=b({__name:"DocsPageBottom",setup(e){const{page:o}=h(),{config:r}=x();return(L,T)=>{var c,p,i;const u=y,f=S,l=w;return t(o)?(s(),a("div",N,[(p=(c=t(r))==null?void 0:c.github)!=null&&p.edit?(s(),a("div",V,[n(u,{name:"uil:edit"}),n(l,{page:t(o)},{default:d(({url:g})=>[n(f,{to:g},{default:d(()=>[E]),_:2},1032,["to"])]),_:1},8,["page"])])):_("",!0),(i=t(o))!=null&&i.mtime?(s(),a("span",P,[k("Updated on "),m("b",null,v(new Intl.DateTimeFormat("en-US").format(Date.parse(t(o).mtime))),1)])):_("",!0)])):_("",!0)}}});const H=B(G,[["__scopeId","data-v-2b2fba6f"]]);export{H as default}; +import{d as b,W as h,au as x,L as t,b as s,c as a,g as n,w as d,f as _,G as k,e as m,t as v,a1 as y,p as D,i as I,k as B}from"./entry.6e9008ac.js";import S from"./ProseA.f9dc332a.js";import{_ as w}from"./EditOnLink.vue.1ceb4eeb.js";const C=e=>(D("data-v-2b2fba6f"),e=e(),I(),e),N={key:0,class:"docs-page-bottom"},V={key:0,class:"edit-link"},E=C(()=>m("span",null," Edit this page on GitHub ",-1)),P={key:1},G=b({__name:"DocsPageBottom",setup(e){const{page:o}=h(),{config:r}=x();return(L,T)=>{var c,p,i;const u=y,f=S,l=w;return t(o)?(s(),a("div",N,[(p=(c=t(r))==null?void 0:c.github)!=null&&p.edit?(s(),a("div",V,[n(u,{name:"uil:edit"}),n(l,{page:t(o)},{default:d(({url:g})=>[n(f,{to:g},{default:d(()=>[E]),_:2},1032,["to"])]),_:1},8,["page"])])):_("",!0),(i=t(o))!=null&&i.mtime?(s(),a("span",P,[k("Updated on "),m("b",null,v(new Intl.DateTimeFormat("en-US").format(Date.parse(t(o).mtime))),1)])):_("",!0)])):_("",!0)}}});const H=B(G,[["__scopeId","data-v-2b2fba6f"]]);export{H as default}; diff --git a/_nuxt/DocsPageLayout.d355e0e0.js b/_nuxt/DocsPageLayout.5268cc77.js similarity index 85% rename from _nuxt/DocsPageLayout.d355e0e0.js rename to _nuxt/DocsPageLayout.5268cc77.js index 057f8214cb..2c5a26534a 100644 --- a/_nuxt/DocsPageLayout.d355e0e0.js +++ b/_nuxt/DocsPageLayout.5268cc77.js @@ -1 +1 @@ -import O from"./DocsAside.f25f8425.js";import R from"./ProseCodeInline.e4bd4193.js";import{d as U,W,au as Y,s as q,K as m,r as V,m as J,o as Q,a6 as X,b as i,Y as A,w as h,L as t,c as g,g as r,f as y,e as p,ab as Z,G as x,t as ee,F as oe,n as k,ax as te,a1 as ae,ay as se,p as ne,i as ce,k as le}from"./entry.f8eaff67.js";import re from"./DocsPageBottom.6b61d989.js";import _e from"./DocsPrevNext.204f34a0.js";import ue from"./DocsToc.7c9520d8.js";import"./ProseA.7ab7686c.js";import"./EditOnLink.vue.5b812da4.js";import"./DocsTocLinks.4f56d0a1.js";const ie=d=>(ne("data-v-331382a7"),d=d(),ce(),d),pe={class:"page-body"},de={key:1,class:"toc"},me={class:"toc-wrapper"},fe=ie(()=>p("span",{class:"title"},"Table of Contents",-1)),ve=U({__name:"DocsPageLayout",setup(d){const{page:s}=W(),{config:f,tree:T}=Y(),L=q(),F=(e,o=!0)=>{var a;return typeof((a=s.value)==null?void 0:a[e])<"u"?s.value[e]:o},b=m(()=>{var e,o,a;return!s.value||((a=(o=(e=s.value)==null?void 0:e.body)==null?void 0:o.children)==null?void 0:a.length)>0}),P=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.toc)!==!1&&((l=(c=(a=(o=s.value)==null?void 0:o.body)==null?void 0:a.toc)==null?void 0:c.links)==null?void 0:l.length)>=2}),S=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.aside)!==!1&&(((o=T.value)==null?void 0:o.length)>1||((l=(c=(a=T.value)==null?void 0:a[0])==null?void 0:c.children)==null?void 0:l.length))}),H=m(()=>F("bottom",!0)),_=V(!1),n=V(null),v=()=>L.path.split("/").slice(0,2).join("/"),u=J("asideScroll",()=>{var e;return{parentPath:v(),scrollTop:((e=n.value)==null?void 0:e.scrollTop)||0}});function C(){n.value&&(n.value.scrollHeight===0&&setTimeout(C,0),n.value.scrollTop=u.value.scrollTop)}return Q(()=>{u.value.parentPath!==v()?(u.value.parentPath=v(),u.value.scrollTop=0):C()}),X(()=>{n.value&&(u.value.scrollTop=n.value.scrollTop)}),(e,o)=>{var D,w,B,N,I,$;const a=O,c=R,l=te,M=re,j=_e,z=ae,E=ue,G=se;return i(),A(G,{fluid:(w=(D=t(f))==null?void 0:D.main)==null?void 0:w.fluid,padded:(N=(B=t(f))==null?void 0:B.main)==null?void 0:N.padded,class:k(["docs-page-content",{fluid:($=(I=t(f))==null?void 0:I.main)==null?void 0:$.fluid,"has-toc":t(P),"has-aside":t(S)}])},{default:h(()=>[t(S)?(i(),g("aside",{key:0,ref_key:"asideNav",ref:n,class:"aside-nav"},[r(a,{class:"app-aside"})],512)):y("",!0),p("article",pe,[t(b)?Z(e.$slots,"default",{key:0},void 0,!0):(i(),A(l,{key:1,type:"info"},{default:h(()=>[x(" Start writing in "),r(c,null,{default:h(()=>[x("content/"+ee(t(s)._file),1)]),_:1}),x(" to see this page taking shape. ")]),_:1})),t(b)&&t(s)&&t(H)?(i(),g(oe,{key:2},[r(M),r(j)],64)):y("",!0)]),t(P)?(i(),g("div",de,[p("div",me,[p("button",{onClick:o[0]||(o[0]=K=>_.value=!t(_))},[fe,r(z,{name:"heroicons-outline:chevron-right",class:k(["icon",[t(_)&&"rotate"]])},null,8,["class"])]),p("div",{class:k(["docs-toc-wrapper",[t(_)&&"opened"]])},[r(E,{onMove:o[1]||(o[1]=K=>_.value=!1)})],2)])])):y("",!0)]),_:3},8,["fluid","padded","class"])}}});const Ce=le(ve,[["__scopeId","data-v-331382a7"]]);export{Ce as default}; +import O from"./DocsAside.1f0aa950.js";import R from"./ProseCodeInline.c02e94fd.js";import{d as U,W,au as Y,s as q,K as m,r as V,m as J,o as Q,a6 as X,b as i,Y as A,w as h,L as t,c as g,g as r,f as y,e as p,ab as Z,G as x,t as ee,F as oe,n as k,ax as te,a1 as ae,ay as se,p as ne,i as ce,k as le}from"./entry.6e9008ac.js";import re from"./DocsPageBottom.b5f8d61a.js";import _e from"./DocsPrevNext.0153bc02.js";import ue from"./DocsToc.503dfd3c.js";import"./ProseA.f9dc332a.js";import"./EditOnLink.vue.1ceb4eeb.js";import"./DocsTocLinks.cca405c3.js";const ie=d=>(ne("data-v-331382a7"),d=d(),ce(),d),pe={class:"page-body"},de={key:1,class:"toc"},me={class:"toc-wrapper"},fe=ie(()=>p("span",{class:"title"},"Table of Contents",-1)),ve=U({__name:"DocsPageLayout",setup(d){const{page:s}=W(),{config:f,tree:T}=Y(),L=q(),F=(e,o=!0)=>{var a;return typeof((a=s.value)==null?void 0:a[e])<"u"?s.value[e]:o},b=m(()=>{var e,o,a;return!s.value||((a=(o=(e=s.value)==null?void 0:e.body)==null?void 0:o.children)==null?void 0:a.length)>0}),P=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.toc)!==!1&&((l=(c=(a=(o=s.value)==null?void 0:o.body)==null?void 0:a.toc)==null?void 0:c.links)==null?void 0:l.length)>=2}),S=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.aside)!==!1&&(((o=T.value)==null?void 0:o.length)>1||((l=(c=(a=T.value)==null?void 0:a[0])==null?void 0:c.children)==null?void 0:l.length))}),H=m(()=>F("bottom",!0)),_=V(!1),n=V(null),v=()=>L.path.split("/").slice(0,2).join("/"),u=J("asideScroll",()=>{var e;return{parentPath:v(),scrollTop:((e=n.value)==null?void 0:e.scrollTop)||0}});function C(){n.value&&(n.value.scrollHeight===0&&setTimeout(C,0),n.value.scrollTop=u.value.scrollTop)}return Q(()=>{u.value.parentPath!==v()?(u.value.parentPath=v(),u.value.scrollTop=0):C()}),X(()=>{n.value&&(u.value.scrollTop=n.value.scrollTop)}),(e,o)=>{var D,w,B,N,I,$;const a=O,c=R,l=te,M=re,j=_e,z=ae,E=ue,G=se;return i(),A(G,{fluid:(w=(D=t(f))==null?void 0:D.main)==null?void 0:w.fluid,padded:(N=(B=t(f))==null?void 0:B.main)==null?void 0:N.padded,class:k(["docs-page-content",{fluid:($=(I=t(f))==null?void 0:I.main)==null?void 0:$.fluid,"has-toc":t(P),"has-aside":t(S)}])},{default:h(()=>[t(S)?(i(),g("aside",{key:0,ref_key:"asideNav",ref:n,class:"aside-nav"},[r(a,{class:"app-aside"})],512)):y("",!0),p("article",pe,[t(b)?Z(e.$slots,"default",{key:0},void 0,!0):(i(),A(l,{key:1,type:"info"},{default:h(()=>[x(" Start writing in "),r(c,null,{default:h(()=>[x("content/"+ee(t(s)._file),1)]),_:1}),x(" to see this page taking shape. ")]),_:1})),t(b)&&t(s)&&t(H)?(i(),g(oe,{key:2},[r(M),r(j)],64)):y("",!0)]),t(P)?(i(),g("div",de,[p("div",me,[p("button",{onClick:o[0]||(o[0]=K=>_.value=!t(_))},[fe,r(z,{name:"heroicons-outline:chevron-right",class:k(["icon",[t(_)&&"rotate"]])},null,8,["class"])]),p("div",{class:k(["docs-toc-wrapper",[t(_)&&"opened"]])},[r(E,{onMove:o[1]||(o[1]=K=>_.value=!1)})],2)])])):y("",!0)]),_:3},8,["fluid","padded","class"])}}});const Ce=le(ve,[["__scopeId","data-v-331382a7"]]);export{Ce as default}; diff --git a/_nuxt/DocsPrevNext.204f34a0.js b/_nuxt/DocsPrevNext.0153bc02.js similarity index 95% rename from _nuxt/DocsPrevNext.204f34a0.js rename to _nuxt/DocsPrevNext.0153bc02.js index 9105b57ee3..04bfa4c5b2 100644 --- a/_nuxt/DocsPrevNext.204f34a0.js +++ b/_nuxt/DocsPrevNext.0153bc02.js @@ -1 +1 @@ -import{d as y,W as f,L as t,b as n,c as r,Y as h,w as u,g as m,e as p,t as i,f as l,az as k,a1 as g,H as w,aA as N,k as b}from"./entry.f8eaff67.js";const C={key:0,class:"docs-prev-next"},B={class:"wrapper"},D={key:0,class:"directory"},P={class:"title"},V={key:1},F={class:"wrapper"},H={key:0,class:"directory"},I={class:"title"},L=y({__name:"DocsPrevNext",setup(j){const{prev:e,next:s,navigation:v}=f(),{navDirFromPath:x}=N(),_=d=>{var a;const c=x(d._path,v.value||[]);if(c&&c[0])return((a=c[0])==null?void 0:a._path)??"";{const o=d.split("/");return(o.length>1?o[o.length-2]:"").split("-").map(k).join(" ")}};return(d,c)=>{const a=g,o=w;return t(e)||t(s)?(n(),r("div",C,[t(e)&&t(e)._path?(n(),h(o,{key:0,to:t(e)._path,class:"prev"},{default:u(()=>[m(a,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),p("div",B,[_(t(e)._path)?(n(),r("span",D,i(_(t(e)._path)),1)):l("",!0),p("span",P,i(t(e).title),1)])]),_:1},8,["to"])):(n(),r("span",V)),t(s)&&t(s)._path?(n(),h(o,{key:2,to:t(s)._path,class:"next"},{default:u(()=>[p("div",F,[_(t(s)._path)?(n(),r("span",H,i(_(t(s)._path)),1)):l("",!0),p("span",I,i(t(s).title),1)]),m(a,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):l("",!0)])):l("",!0)}}});const E=b(L,[["__scopeId","data-v-9256bb11"]]);export{E as default}; +import{d as y,W as f,L as t,b as n,c as r,Y as h,w as u,g as m,e as p,t as i,f as l,az as k,a1 as g,H as w,aA as N,k as b}from"./entry.6e9008ac.js";const C={key:0,class:"docs-prev-next"},B={class:"wrapper"},D={key:0,class:"directory"},P={class:"title"},V={key:1},F={class:"wrapper"},H={key:0,class:"directory"},I={class:"title"},L=y({__name:"DocsPrevNext",setup(j){const{prev:e,next:s,navigation:v}=f(),{navDirFromPath:x}=N(),_=d=>{var a;const c=x(d._path,v.value||[]);if(c&&c[0])return((a=c[0])==null?void 0:a._path)??"";{const o=d.split("/");return(o.length>1?o[o.length-2]:"").split("-").map(k).join(" ")}};return(d,c)=>{const a=g,o=w;return t(e)||t(s)?(n(),r("div",C,[t(e)&&t(e)._path?(n(),h(o,{key:0,to:t(e)._path,class:"prev"},{default:u(()=>[m(a,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),p("div",B,[_(t(e)._path)?(n(),r("span",D,i(_(t(e)._path)),1)):l("",!0),p("span",P,i(t(e).title),1)])]),_:1},8,["to"])):(n(),r("span",V)),t(s)&&t(s)._path?(n(),h(o,{key:2,to:t(s)._path,class:"next"},{default:u(()=>[p("div",F,[_(t(s)._path)?(n(),r("span",H,i(_(t(s)._path)),1)):l("",!0),p("span",I,i(t(s).title),1)]),m(a,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):l("",!0)])):l("",!0)}}});const E=b(L,[["__scopeId","data-v-9256bb11"]]);export{E as default}; diff --git a/_nuxt/DocsToc.7c9520d8.js b/_nuxt/DocsToc.503dfd3c.js similarity index 80% rename from _nuxt/DocsToc.7c9520d8.js rename to _nuxt/DocsToc.503dfd3c.js index f50093240b..ccd2827f13 100644 --- a/_nuxt/DocsToc.7c9520d8.js +++ b/_nuxt/DocsToc.503dfd3c.js @@ -1 +1 @@ -import m from"./DocsTocLinks.4f56d0a1.js";import{d as l,W as u,b as c,c as _,L as a,F as f,g as v,f as k,p as x,i as g,e as p,k as h}from"./entry.f8eaff67.js";const C=e=>(x("data-v-6964a4e8"),e=e(),g(),e),I={class:"docs-toc"},T=C(()=>p("div",{class:"docs-toc-title"},[p("span",null,"Table of Contents")],-1)),y=l({__name:"DocsToc",emits:["move"],setup(e,{emit:d}){const{toc:o}=u(),r=d;return(B,t)=>{var s,n;const i=m;return c(),_("div",I,[(n=(s=a(o))==null?void 0:s.links)!=null&&n.length?(c(),_(f,{key:0},[T,v(i,{links:a(o).links,onMove:t[0]||(t[0]=D=>r("move"))},null,8,["links"])],64)):k("",!0)])}}});const V=h(y,[["__scopeId","data-v-6964a4e8"]]);export{V as default}; +import m from"./DocsTocLinks.cca405c3.js";import{d as l,W as u,b as c,c as _,L as a,F as f,g as v,f as k,p as x,i as g,e as p,k as h}from"./entry.6e9008ac.js";const C=e=>(x("data-v-6964a4e8"),e=e(),g(),e),I={class:"docs-toc"},T=C(()=>p("div",{class:"docs-toc-title"},[p("span",null,"Table of Contents")],-1)),y=l({__name:"DocsToc",emits:["move"],setup(e,{emit:d}){const{toc:o}=u(),r=d;return(B,t)=>{var s,n;const i=m;return c(),_("div",I,[(n=(s=a(o))==null?void 0:s.links)!=null&&n.length?(c(),_(f,{key:0},[T,v(i,{links:a(o).links,onMove:t[0]||(t[0]=D=>r("move"))},null,8,["links"])],64)):k("",!0)])}}});const V=h(y,[["__scopeId","data-v-6964a4e8"]]);export{V as default}; diff --git a/_nuxt/DocsTocLinks.4f56d0a1.js b/_nuxt/DocsTocLinks.cca405c3.js similarity index 96% rename from _nuxt/DocsTocLinks.4f56d0a1.js rename to _nuxt/DocsTocLinks.cca405c3.js index d630484360..4e3ee63cc0 100644 --- a/_nuxt/DocsTocLinks.4f56d0a1.js +++ b/_nuxt/DocsTocLinks.cca405c3.js @@ -1 +1 @@ -import{r as i,a5 as f,aB as g,a6 as y,d as k,u as b,b as u,c as m,F as x,aC as B,n as p,e as C,t as H,L as S,aD as A,Y as D,f as L,k as T}from"./entry.f8eaff67.js";const q=()=>{const a=i(),s=i([]),c=i([]),d=e=>e.forEach(t=>{const r=t.target.id;t.isIntersecting?s.value.push(r):s.value=s.value.filter(n=>n!==r)}),l=e=>e.forEach(t=>{a.value.observe(t)});return f(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>a.value=new IntersectionObserver(d)),y(()=>{var e;return(e=a.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:l}},M={class:"docs-toc-links"},$=["href","onClick"],w=k({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(a,{emit:s}){const c=s,d=b(),{activeHeadings:l,updateHeadings:e}=q();setTimeout(()=>{e([...document.querySelectorAll(".document-driven-page h1, .docus-content h1"),...document.querySelectorAll(".document-driven-page h2, .docus-content h2"),...document.querySelectorAll(".document-driven-page h3, .docus-content h3"),...document.querySelectorAll(".document-driven-page h4, .docus-content h4")])},300);function t(n){d.push(`#${n}`),c("move",n)}function r(n){c("move",n)}return(n,v)=>{const h=E;return u(),m("ul",M,[(u(!0),m(x,null,B(a.links,o=>(u(),m("li",{key:o.text,class:p([`depth-${o.depth}`])},[C("a",{href:`#${o.id}`,class:p([S(l).includes(o.id)&&"active"]),onClick:A(_=>t(o.id),["prevent"])},H(o.text),11,$),o.children?(u(),D(h,{key:0,links:o.children,onMove:v[0]||(v[0]=_=>r(_))},null,8,["links"])):L("",!0)],2))),128))])}}});const E=T(w,[["__scopeId","data-v-026480db"]]);export{E as default}; +import{r as i,a5 as f,aB as g,a6 as y,d as k,u as b,b as u,c as m,F as x,aC as B,n as p,e as C,t as H,L as S,aD as A,Y as D,f as L,k as T}from"./entry.6e9008ac.js";const q=()=>{const a=i(),s=i([]),c=i([]),d=e=>e.forEach(t=>{const r=t.target.id;t.isIntersecting?s.value.push(r):s.value=s.value.filter(n=>n!==r)}),l=e=>e.forEach(t=>{a.value.observe(t)});return f(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>a.value=new IntersectionObserver(d)),y(()=>{var e;return(e=a.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:l}},M={class:"docs-toc-links"},$=["href","onClick"],w=k({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(a,{emit:s}){const c=s,d=b(),{activeHeadings:l,updateHeadings:e}=q();setTimeout(()=>{e([...document.querySelectorAll(".document-driven-page h1, .docus-content h1"),...document.querySelectorAll(".document-driven-page h2, .docus-content h2"),...document.querySelectorAll(".document-driven-page h3, .docus-content h3"),...document.querySelectorAll(".document-driven-page h4, .docus-content h4")])},300);function t(n){d.push(`#${n}`),c("move",n)}function r(n){c("move",n)}return(n,v)=>{const h=E;return u(),m("ul",M,[(u(!0),m(x,null,B(a.links,o=>(u(),m("li",{key:o.text,class:p([`depth-${o.depth}`])},[C("a",{href:`#${o.id}`,class:p([S(l).includes(o.id)&&"active"]),onClick:A(_=>t(o.id),["prevent"])},H(o.text),11,$),o.children?(u(),D(h,{key:0,links:o.children,onMove:v[0]||(v[0]=_=>r(_))},null,8,["links"])):L("",!0)],2))),128))])}}});const E=T(w,[["__scopeId","data-v-026480db"]]);export{E as default}; diff --git a/_nuxt/DocumentDrivenEmpty.8740cc46.js b/_nuxt/DocumentDrivenEmpty.b70620da.js similarity index 77% rename from _nuxt/DocumentDrivenEmpty.8740cc46.js rename to _nuxt/DocumentDrivenEmpty.b70620da.js index c86928b699..74337e249c 100644 --- a/_nuxt/DocumentDrivenEmpty.8740cc46.js +++ b/_nuxt/DocumentDrivenEmpty.b70620da.js @@ -1 +1 @@ -import{d as n,Q as e}from"./entry.f8eaff67.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.6e9008ac.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.7f70560e.js b/_nuxt/DocumentDrivenNotFound.7767fbf5.js similarity index 81% rename from _nuxt/DocumentDrivenNotFound.7f70560e.js rename to _nuxt/DocumentDrivenNotFound.7767fbf5.js index 23c360f656..71c8966c21 100644 --- a/_nuxt/DocumentDrivenNotFound.7f70560e.js +++ b/_nuxt/DocumentDrivenNotFound.7767fbf5.js @@ -1 +1 @@ -import s from"./ButtonLink.7229d6e8.js";import{k as _,b as c,c as a,e,g as d,w as i,G as r,p,i as u}from"./entry.f8eaff67.js";const l={},t=o=>(p("data-v-581efae0"),o=o(),u(),o),f={class:"document-driven-not-found not-prose"},m=t(()=>e("p",null," 404 ",-1)),h={class:"content"},v=t(()=>e("div",{class:"text-section"},[e("h1",null," Not Found "),e("p",null," This is not the page you're looking for. ")],-1)),x={class:"button-section"};function k(o,g){const n=s;return c(),a("div",f,[e("main",null,[m,e("div",h,[v,e("div",x,[d(n,{href:"/",size:"large",variant:"primary"},{default:i(()=>[r(" Go back home ")]),_:1})])])])])}const B=_(l,[["render",k],["__scopeId","data-v-581efae0"]]);export{B as default}; +import s from"./ButtonLink.03ea21b7.js";import{k as _,b as c,c as a,e,g as d,w as i,G as r,p,i as u}from"./entry.6e9008ac.js";const l={},t=o=>(p("data-v-581efae0"),o=o(),u(),o),f={class:"document-driven-not-found not-prose"},m=t(()=>e("p",null," 404 ",-1)),h={class:"content"},v=t(()=>e("div",{class:"text-section"},[e("h1",null," Not Found "),e("p",null," This is not the page you're looking for. ")],-1)),x={class:"button-section"};function k(o,g){const n=s;return c(),a("div",f,[e("main",null,[m,e("div",h,[v,e("div",x,[d(n,{href:"/",size:"large",variant:"primary"},{default:i(()=>[r(" Go back home ")]),_:1})])])])])}const B=_(l,[["render",k],["__scopeId","data-v-581efae0"]]);export{B as default}; diff --git a/_nuxt/EditOnLink.00f6c8e5.js b/_nuxt/EditOnLink.00f6c8e5.js deleted file mode 100644 index aea1d1452b..0000000000 --- a/_nuxt/EditOnLink.00f6c8e5.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./EditOnLink.vue.5b812da4.js";import"./entry.f8eaff67.js";export{m as default}; diff --git a/_nuxt/EditOnLink.91d51018.js b/_nuxt/EditOnLink.91d51018.js new file mode 100644 index 0000000000..a5c52a211a --- /dev/null +++ b/_nuxt/EditOnLink.91d51018.js @@ -0,0 +1 @@ +import{_ as m}from"./EditOnLink.vue.1ceb4eeb.js";import"./entry.6e9008ac.js";export{m as default}; diff --git a/_nuxt/EditOnLink.vue.5b812da4.js b/_nuxt/EditOnLink.vue.1ceb4eeb.js similarity index 94% rename from _nuxt/EditOnLink.vue.5b812da4.js rename to _nuxt/EditOnLink.vue.1ceb4eeb.js index 6a175eb3fa..f5ed7ce9c2 100644 --- a/_nuxt/EditOnLink.vue.5b812da4.js +++ b/_nuxt/EditOnLink.vue.1ceb4eeb.js @@ -1 +1 @@ -import{d as v,x as u,K as d,aw as w,ad as p}from"./entry.f8eaff67.js";const S=v({props:{baseUrl:{type:String,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.baseUrl)||"https://github.com"},required:!1},owner:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.owner},required:!1},repo:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.repo},required:!1},branch:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.branch},required:!1},dir:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir},required:!1},source:{type:String,required:!1,default:void 0},page:{type:Object,required:!1,default:void 0},contentDir:{type:String,required:!1,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir)||"content"}},edit:{type:Boolean,required:!1,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.edit}}},setup(e){if(!e.owner||!e.repo||!e.branch)throw new Error("If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`.");const t=d(()=>{var h,b;let{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f}=e,s="";if((b=(h=u())==null?void 0:h.public)!=null&&b.content){let i;const{sources:g}=u().public.content;for(const y in g||[])if(e.page._id.startsWith(y)){i=g[y];break}(i==null?void 0:i.driver)==="github"&&(a=i.repo||e.repo||"",c=i.owner||e.owner||"",l=i.branch||e.branch||"main",f=i.dir||e.contentDir||"",s=i.prefix||"")}return{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f,prefix:s}}),r=d(()=>w(`${t.value.baseUrl}/${t.value.owner}/${t.value.repo}`)),o=d(()=>{var a;const n=[];return(a=e==null?void 0:e.page)!=null&&a._path?(t.value.contentDir&&n.push(t.value.contentDir),n.push(e.page._file.substring(t.value.prefix.length)),n):(e.dir&&n.push(e.dir),e.source&&n.push(e.source),n)});return{url:d(()=>{var a;const n=[r.value];return e.edit?n.push("edit"):n.push("tree"),n.push(((a=t==null?void 0:t.value)==null?void 0:a.branch)||"",...o.value),n.filter(Boolean).join("/")})}},render(e){var o;const{url:t}=e,r=p();return(o=r==null?void 0:r.default)==null?void 0:o.call(r,{url:t})}});export{S as _}; +import{d as v,x as u,K as d,aw as w,ad as p}from"./entry.6e9008ac.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.c7dd1fb1.js b/_nuxt/Ellipsis.9887d8a8.js similarity index 95% rename from _nuxt/Ellipsis.c7dd1fb1.js rename to _nuxt/Ellipsis.9887d8a8.js index 4d08005ddd..9d3aa1b19c 100644 --- a/_nuxt/Ellipsis.c7dd1fb1.js +++ b/_nuxt/Ellipsis.9887d8a8.js @@ -1 +1 @@ -import{d as m,K as n,ac as y,b as S,c as p,n as I,L as x,p as b,i as v,e as E,k as $}from"./entry.f8eaff67.js";const k=a=>(b("data-v-2490f91e"),a=a(),v(),a),w=k(()=>E("div",{class:"ellipsis-item"},null,-1)),z=[w],B=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(a){const c=n(()=>((t=e)=>t.top)()),l=n(()=>((t=e)=>t.left)()),o=n(()=>((t=e)=>t.right)()),d=n(()=>((t=e)=>t.zIndex)()),r=n(()=>((t=e)=>t.width)()),u=n(()=>((t=e)=>t.height)()),f=n(()=>((t=e)=>`blur(${t.blur})`)()),g=n(()=>((t=e)=>{var s,i,_;return`linear-gradient(97.62deg, ${(s=t==null?void 0:t.colors)==null?void 0:s[0]} 2.27%, ${(i=t==null?void 0:t.colors)==null?void 0:i[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),e=a,{$pinceau:h}=y(e,void 0,{_cCN_top:c,_eih_insetInlineStart:l,_IfB_insetInlineEnd:o,_SsE_zIndex:d,_wj8_maxWidth:r,_t33_height:u,_Jfd_filter:f,_yUj_background:g});return(t,s)=>(S(),p("div",{class:I(["ellipsis",[x(h)]])},z,2))}});const j=$(B,[["__scopeId","data-v-2490f91e"]]);export{j as default}; +import{d as m,K as n,ac as y,b as S,c as p,n as I,L as x,p as b,i as v,e as E,k as $}from"./entry.6e9008ac.js";const k=a=>(b("data-v-2490f91e"),a=a(),v(),a),w=k(()=>E("div",{class:"ellipsis-item"},null,-1)),z=[w],B=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(a){const c=n(()=>((t=e)=>t.top)()),l=n(()=>((t=e)=>t.left)()),o=n(()=>((t=e)=>t.right)()),d=n(()=>((t=e)=>t.zIndex)()),r=n(()=>((t=e)=>t.width)()),u=n(()=>((t=e)=>t.height)()),f=n(()=>((t=e)=>`blur(${t.blur})`)()),g=n(()=>((t=e)=>{var s,i,_;return`linear-gradient(97.62deg, ${(s=t==null?void 0:t.colors)==null?void 0:s[0]} 2.27%, ${(i=t==null?void 0:t.colors)==null?void 0:i[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),e=a,{$pinceau:h}=y(e,void 0,{_cCN_top:c,_eih_insetInlineStart:l,_IfB_insetInlineEnd:o,_SsE_zIndex:d,_wj8_maxWidth:r,_t33_height:u,_Jfd_filter:f,_yUj_background:g});return(t,s)=>(S(),p("div",{class:I(["ellipsis",[x(h)]])},z,2))}});const j=$(B,[["__scopeId","data-v-2490f91e"]]);export{j as default}; diff --git a/_nuxt/IconCSS.9a25cf43.js b/_nuxt/IconCSS.3999cc41.js similarity index 92% rename from _nuxt/IconCSS.9a25cf43.js rename to _nuxt/IconCSS.3999cc41.js index 81c97a108f..9c3ade3674 100644 --- a/_nuxt/IconCSS.9a25cf43.js +++ b/_nuxt/IconCSS.3999cc41.js @@ -1 +1 @@ -import{d as p,aT as m,x,K as o,b as S,c as f,aS as z,L as c,k as I}from"./entry.f8eaff67.js";const y=p({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(_){var r;m(n=>({"589837de":c(d)}));const e=x();(r=e==null?void 0:e.nuxtIcon)!=null&&r.aliases;const s=_,l=o(()=>{var n;return(((n=e==null?void 0:e.nuxtIcon)==null?void 0:n.aliases)||{})[s.name]||s.name}),d=o(()=>`url('https://api.iconify.design/${l.value.replace(":","/")}.svg')`),a=o(()=>{var t,i,u;if(!s.size&&typeof((t=e.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((i=e.nuxtIcon)!=null&&i.size))return;const n=s.size||((u=e.nuxtIcon)==null?void 0:u.size)||"1em";return String(Number(n))===n?`${n}px`:n});return(n,t)=>(S(),f("span",{style:z({width:c(a),height:c(a)})},null,4))}});const g=I(y,[["__scopeId","data-v-e9d3514d"]]);export{g as default}; +import{d as p,aT as m,x,K as o,b as S,c as f,aS as z,L as c,k as I}from"./entry.6e9008ac.js";const y=p({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(_){var r;m(n=>({"589837de":c(d)}));const e=x();(r=e==null?void 0:e.nuxtIcon)!=null&&r.aliases;const s=_,l=o(()=>{var n;return(((n=e==null?void 0:e.nuxtIcon)==null?void 0:n.aliases)||{})[s.name]||s.name}),d=o(()=>`url('https://api.iconify.design/${l.value.replace(":","/")}.svg')`),a=o(()=>{var t,i,u;if(!s.size&&typeof((t=e.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((i=e.nuxtIcon)!=null&&i.size))return;const n=s.size||((u=e.nuxtIcon)==null?void 0:u.size)||"1em";return String(Number(n))===n?`${n}px`:n});return(n,t)=>(S(),f("span",{style:z({width:c(a),height:c(a)})},null,4))}});const g=I(y,[["__scopeId","data-v-e9d3514d"]]);export{g as default}; diff --git a/_nuxt/IconCodeSandBox.01cc846f.js b/_nuxt/IconCodeSandBox.64211826.js similarity index 85% rename from _nuxt/IconCodeSandBox.01cc846f.js rename to _nuxt/IconCodeSandBox.64211826.js index feb1c54827..ba764e9990 100644 --- a/_nuxt/IconCodeSandBox.01cc846f.js +++ b/_nuxt/IconCodeSandBox.64211826.js @@ -1 +1 @@ -import{k as e,b as o,c as n,e as t}from"./entry.f8eaff67.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.6e9008ac.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.de9ec246.js b/_nuxt/IconDocus.0ca83eb2.js similarity index 91% rename from _nuxt/IconDocus.de9ec246.js rename to _nuxt/IconDocus.0ca83eb2.js index 1ce6cd4fbd..cbe6ab9303 100644 --- a/_nuxt/IconDocus.de9ec246.js +++ b/_nuxt/IconDocus.0ca83eb2.js @@ -1 +1 @@ -import{k as e,b as o,c,e as s}from"./entry.f8eaff67.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.6e9008ac.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.efc365bb.js b/_nuxt/IconNuxt.09aada78.js similarity index 94% rename from _nuxt/IconNuxt.efc365bb.js rename to _nuxt/IconNuxt.09aada78.js index daa7eaedb0..c90f6ed88b 100644 --- a/_nuxt/IconNuxt.efc365bb.js +++ b/_nuxt/IconNuxt.09aada78.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.f8eaff67.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.6e9008ac.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.efc365bb.js b/_nuxt/IconNuxtContent.09aada78.js similarity index 94% rename from _nuxt/IconNuxtContent.efc365bb.js rename to _nuxt/IconNuxtContent.09aada78.js index daa7eaedb0..c90f6ed88b 100644 --- a/_nuxt/IconNuxtContent.efc365bb.js +++ b/_nuxt/IconNuxtContent.09aada78.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.f8eaff67.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.6e9008ac.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.d1b344b5.js b/_nuxt/IconNuxtLabs.38266cdb.js similarity index 94% rename from _nuxt/IconNuxtLabs.d1b344b5.js rename to _nuxt/IconNuxtLabs.38266cdb.js index 1f3ced9d52..e2bad0a4c1 100644 --- a/_nuxt/IconNuxtLabs.d1b344b5.js +++ b/_nuxt/IconNuxtLabs.38266cdb.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.f8eaff67.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.6e9008ac.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.a13e6058.js b/_nuxt/IconNuxtStudio.e6a4e0f0.js similarity index 89% rename from _nuxt/IconNuxtStudio.a13e6058.js rename to _nuxt/IconNuxtStudio.e6a4e0f0.js index 60aadcc236..524d6d3757 100644 --- a/_nuxt/IconNuxtStudio.a13e6058.js +++ b/_nuxt/IconNuxtStudio.e6a4e0f0.js @@ -1 +1 @@ -import{k as c,b as t,c as o,p as s,i as _,e as n}from"./entry.f8eaff67.js";const a={},d=e=>(s("data-v-7086cbe4"),e=e(),_(),e),r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},p=d(()=>n("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1)),l=[p];function i(e,u){return t(),o("svg",r,l)}const f=c(a,[["render",i],["__scopeId","data-v-7086cbe4"]]);export{f as default}; +import{k as c,b as t,c as o,p as s,i as _,e as n}from"./entry.6e9008ac.js";const a={},d=e=>(s("data-v-7086cbe4"),e=e(),_(),e),r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},p=d(()=>n("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1)),l=[p];function i(e,u){return t(),o("svg",r,l)}const f=c(a,[["render",i],["__scopeId","data-v-7086cbe4"]]);export{f as default}; diff --git a/_nuxt/IconStackBlitz.591ac3bf.js b/_nuxt/IconStackBlitz.cd239bf7.js similarity index 82% rename from _nuxt/IconStackBlitz.591ac3bf.js rename to _nuxt/IconStackBlitz.cd239bf7.js index 3807539052..950ca15948 100644 --- a/_nuxt/IconStackBlitz.591ac3bf.js +++ b/_nuxt/IconStackBlitz.cd239bf7.js @@ -1 +1 @@ -import{k as e,b as t,c as o,e as c}from"./entry.f8eaff67.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.6e9008ac.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.b4feb3a1.js b/_nuxt/IconVueTelescope.a8fb2235.js similarity index 91% rename from _nuxt/IconVueTelescope.b4feb3a1.js rename to _nuxt/IconVueTelescope.a8fb2235.js index 79e102c95f..29932eebbc 100644 --- a/_nuxt/IconVueTelescope.b4feb3a1.js +++ b/_nuxt/IconVueTelescope.a8fb2235.js @@ -1 +1 @@ -import{k as e,b as t,c as l,e as o}from"./entry.f8eaff67.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.6e9008ac.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.e7587c07.js b/_nuxt/IndexDemo.5e489be3.js similarity index 75% rename from _nuxt/IndexDemo.e7587c07.js rename to _nuxt/IndexDemo.5e489be3.js index 5d91442253..7b10649bf0 100644 --- a/_nuxt/IndexDemo.e7587c07.js +++ b/_nuxt/IndexDemo.5e489be3.js @@ -1 +1 @@ -import a from"./Card.9f80de6f.js";import{k as n,b as r,c as _,e as s,g as d,w as o,G as e,$ as l}from"./entry.f8eaff67.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.72706e47.js";import{k as n,b as r,c as _,e as s,g as d,w as o,G as e,$ as l}from"./entry.6e9008ac.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.5f765a14.js b/_nuxt/List.3da2e8f3.js similarity index 85% rename from _nuxt/List.5f765a14.js rename to _nuxt/List.3da2e8f3.js index f3093fb5dd..b72923ae51 100644 --- a/_nuxt/List.5f765a14.js +++ b/_nuxt/List.3da2e8f3.js @@ -1 +1 @@ -import{aI as r,aJ as l,d as u,ad as p,K as _,Q as n,a1 as m,k as d}from"./entry.f8eaff67.js";import{_ as f}from"./MDCSlot.dc621394.js";const y=()=>({unwrap:r,flatUnwrap:l}),h={primary:"heroicons-outline:check",info:"heroicons-outline:information-circle",success:"heroicons-outline:check-circle",warning:"heroicons-outline:exclamation",danger:"heroicons-outline:exclamation-circle"},g=u({props:{icon:{type:String,default:null},type:{type:String,default:"primary",validator:e=>["primary","info","success","warning","danger"].includes(e)}},setup(e){const s=p(),{flatUnwrap:t,unwrap:o}=y(),c=_(()=>e.icon||h[e.type]);return()=>{const i=t((s.default&&s.default())??[],["ul"]).map(a=>o(a,["li"]));return n("ul",i.map(a=>n("li",[n("span",{class:`list-icon ${e.type}`},n(m,{name:c.value,class:"icon"})),n("span",n(f,{use:()=>a}))])))}}});const v=d(g,[["__scopeId","data-v-40141052"]]);export{v as default}; +import{aI as r,aJ as l,d as u,ad as p,K as _,Q as n,a1 as m,k as d}from"./entry.6e9008ac.js";import{_ as f}from"./MDCSlot.f4d0047d.js";const y=()=>({unwrap:r,flatUnwrap:l}),h={primary:"heroicons-outline:check",info:"heroicons-outline:information-circle",success:"heroicons-outline:check-circle",warning:"heroicons-outline:exclamation",danger:"heroicons-outline:exclamation-circle"},g=u({props:{icon:{type:String,default:null},type:{type:String,default:"primary",validator:e=>["primary","info","success","warning","danger"].includes(e)}},setup(e){const s=p(),{flatUnwrap:t,unwrap:o}=y(),c=_(()=>e.icon||h[e.type]);return()=>{const i=t((s.default&&s.default())??[],["ul"]).map(a=>o(a,["li"]));return n("ul",i.map(a=>n("li",[n("span",{class:`list-icon ${e.type}`},n(m,{name:c.value,class:"icon"})),n("span",n(f,{use:()=>a}))])))}}});const v=d(g,[["__scopeId","data-v-40141052"]]);export{v as default}; diff --git a/_nuxt/MDCSlot.dc621394.js b/_nuxt/MDCSlot.f4d0047d.js similarity index 91% rename from _nuxt/MDCSlot.dc621394.js rename to _nuxt/MDCSlot.f4d0047d.js index 9161227ab5..9d6b4ead48 100644 --- a/_nuxt/MDCSlot.dc621394.js +++ b/_nuxt/MDCSlot.f4d0047d.js @@ -1 +1 @@ -import{d as i,ad as u,K as f,Q as l,aJ as c,a7 as d}from"./entry.f8eaff67.js";const m=i({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(t){const{parent:s}=d(),{default:o}=u(),a=f(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:o,tags:a,parent:s}},render({use:t,unwrap:s,fallbackSlot:o,tags:a,parent:e}){var r;try{let n=t;return typeof t=="string"&&(n=(e==null?void 0:e.slots[t])||((r=e==null?void 0:e.parent)==null?void 0:r.slots[t]),console.warn(`Please set :use="$slots.${t}" in component to enable reactivity`)),n?s?c(n(),a):[n()]:o?o():l("div")}catch{return l("div")}}});export{m as _}; +import{d as i,ad as u,K as f,Q as l,aJ as c,a7 as d}from"./entry.6e9008ac.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.38f64eea.js b/_nuxt/Markdown.38f64eea.js deleted file mode 100644 index 9ca120e0ed..0000000000 --- a/_nuxt/Markdown.38f64eea.js +++ /dev/null @@ -1 +0,0 @@ -import s from"./ContentSlot.89f8f243.js";import{d as o,ad as u,K as f,a7 as m}from"./entry.f8eaff67.js";import"./MDCSlot.dc621394.js";const d=o({name:"Markdown",extends:s,setup(t){const{parent:e}=m(),{between:n,default:a}=u(),r=f(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:r,between:n,parent:e}}});export{d as default}; diff --git a/_nuxt/Markdown.729004fb.js b/_nuxt/Markdown.729004fb.js new file mode 100644 index 0000000000..c0858fb52d --- /dev/null +++ b/_nuxt/Markdown.729004fb.js @@ -0,0 +1 @@ +import s from"./ContentSlot.93c89f7c.js";import{d as o,ad as u,K as f,a7 as m}from"./entry.6e9008ac.js";import"./MDCSlot.f4d0047d.js";const d=o({name:"Markdown",extends:s,setup(t){const{parent:e}=m(),{between:n,default:a}=u(),r=f(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:r,between:n,parent:e}}});export{d as default}; diff --git a/_nuxt/Mermaid.3853fc51.js b/_nuxt/Mermaid.aeec835d.js similarity index 74% rename from _nuxt/Mermaid.3853fc51.js rename to _nuxt/Mermaid.aeec835d.js index c7cfcec8c1..4edf0ec6ca 100644 --- a/_nuxt/Mermaid.3853fc51.js +++ b/_nuxt/Mermaid.aeec835d.js @@ -1,2 +1,2 @@ -import{d as t,r as o,o as n,B as m,L as c,b as i,c as d,G as a,$ as l,f as p}from"./entry.f8eaff67.js";import{m as r}from"./mermaid.core.0bf3cbc4.js";import"./_commonjsHelpers.725317a4.js";const u={key:0,class:"mermaid"},x=t({__name:"Mermaid",setup(f){const e=o(!1);return n(async()=>{e.value=!0,await m(),r.initialize({startOnLoad:!1}),r.run({querySelector:".mermaid",suppressErrors:!1})}),(s,_)=>c(e)?(i(),d("pre",u,[a(" "),l(s.$slots,"default",{unwrap:"p"}),a(` +import{d as t,r as o,o as n,B as m,L as c,b as i,c as d,G as a,$ as l,f as p}from"./entry.6e9008ac.js";import{m as r}from"./mermaid.core.ebd445a5.js";import"./_commonjsHelpers.725317a4.js";const u={key:0,class:"mermaid"},x=t({__name:"Mermaid",setup(f){const e=o(!1);return n(async()=>{e.value=!0,await m(),r.initialize({startOnLoad:!1}),r.run({querySelector:".mermaid",suppressErrors:!1})}),(s,_)=>c(e)?(i(),d("pre",u,[a(" "),l(s.$slots,"default",{unwrap:"p"}),a(` `)])):p("",!0)}});export{x as default}; diff --git a/_nuxt/NuxtImg.ae446115.js b/_nuxt/NuxtImg.ae446115.js new file mode 100644 index 0000000000..e0784e2116 --- /dev/null +++ b/_nuxt/NuxtImg.ae446115.js @@ -0,0 +1 @@ +import{_ as m}from"./NuxtImg.vue.4d57c99d.js";import"./entry.6e9008ac.js";export{m as default}; diff --git a/_nuxt/NuxtImg.c6afbeab.js b/_nuxt/NuxtImg.c6afbeab.js deleted file mode 100644 index 32ae4074c8..0000000000 --- a/_nuxt/NuxtImg.c6afbeab.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./NuxtImg.vue.a13fd3ea.js";import"./entry.f8eaff67.js";export{m as default}; diff --git a/_nuxt/NuxtImg.vue.a13fd3ea.js b/_nuxt/NuxtImg.vue.4d57c99d.js similarity index 89% rename from _nuxt/NuxtImg.vue.a13fd3ea.js rename to _nuxt/NuxtImg.vue.4d57c99d.js index c50cf2f55e..491071de65 100644 --- a/_nuxt/NuxtImg.vue.a13fd3ea.js +++ b/_nuxt/NuxtImg.vue.4d57c99d.js @@ -1 +1 @@ -import{d as a,K as i,Q as e,aG as n,l as h}from"./entry.f8eaff67.js";const f=a({props:{src:{type:[String,Object],default:null}},setup(s){const r=t=>t&&t.startsWith("/")&&!t.startsWith("//")?n(t,h().app.baseURL):t;return{imgSrc:i(()=>{let t=s.src;try{t=JSON.parse(t)}catch{t=s.src}return typeof t=="string"?r(s.src):{light:r(t.light),dark:r(t.dark)}})}},render({imgSrc:s}){if(typeof s=="string")return e("img",{src:s,...this.$attrs});const r=[];return s.light&&r.push(e("img",{src:s.light,class:["dark-img"],...this.$attrs})),s.dark&&r.push(e("img",{src:s.dark,class:["light-img"],...this.$attrs})),r}});export{f as _}; +import{d as a,K as i,Q as e,aG as n,l as h}from"./entry.6e9008ac.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.c3076fbe.js b/_nuxt/PreviewLayout.0c5f3b1a.js similarity index 75% rename from _nuxt/PreviewLayout.c3076fbe.js rename to _nuxt/PreviewLayout.0c5f3b1a.js index dde18972f7..7f88b586db 100644 --- a/_nuxt/PreviewLayout.c3076fbe.js +++ b/_nuxt/PreviewLayout.0c5f3b1a.js @@ -1 +1 @@ -import{k as t,b as _,c as o,ab as s}from"./entry.f8eaff67.js";const r={},a={class:"preview-layout"};function n(e,c){return _(),o("div",a,[s(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",n],["__scopeId","data-v-ef0489ff"]]);export{d as default}; +import{k as t,b as _,c as o,ab as s}from"./entry.6e9008ac.js";const r={},a={class:"preview-layout"};function n(e,c){return _(),o("div",a,[s(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",n],["__scopeId","data-v-ef0489ff"]]);export{d as default}; diff --git a/_nuxt/PrimaryButton.bdf5d038.js b/_nuxt/PrimaryButton.1a174aea.js similarity index 75% rename from _nuxt/PrimaryButton.bdf5d038.js rename to _nuxt/PrimaryButton.1a174aea.js index 3bcf4ec662..adb558a279 100644 --- a/_nuxt/PrimaryButton.bdf5d038.js +++ b/_nuxt/PrimaryButton.1a174aea.js @@ -1 +1 @@ -import{k as t,b as o,c as n,ab as c}from"./entry.f8eaff67.js";const r={},s={"px-2":"","py-1":"",rounded:"","bg-teal-600":"","text-white":""};function _(e,a){return o(),n("button",s,[c(e.$slots,"default")])}const l=t(r,[["render",_]]);export{l as default}; +import{k as t,b as o,c as n,ab as c}from"./entry.6e9008ac.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.74a8ff78.js b/_nuxt/Props.ad77768d.js similarity index 87% rename from _nuxt/Props.74a8ff78.js rename to _nuxt/Props.ad77768d.js index 8e7d69dfe5..5b986d1b9b 100644 --- a/_nuxt/Props.74a8ff78.js +++ b/_nuxt/Props.ad77768d.js @@ -1 +1 @@ -import g from"./ProseTh.3854d30b.js";import B from"./ProseTr.c22b1a0f.js";import V from"./ProseThead.8f87b4e1.js";import C from"./ProseCodeInline.e4bd4193.js";import b from"./ProseTd.84dc810f.js";import N from"./ProseTbody.d1d2faec.js";import R from"./ProseTable.a73de42f.js";import{k as L,d as X,aK as E,aL as F,K as m,b as o,Y as l,w as e,g as s,G as d,f,c as K,F as S,aC as Y,t as c}from"./entry.f8eaff67.js";const A=X({props:{of:{type:String,default:void 0},required:{type:Boolean,default:void 0},values:{type:Boolean,default:void 0},description:{type:Boolean,default:void 0},default:{type:Boolean,default:void 0}},async setup(t){const k=`/api/component-meta/${E(t.of)}`,{data:h}=await F(t.of,()=>$fetch(k),"$LqtXXX1Enc"),i=m(()=>h.value.props.filter(a=>{var n;return!((n=a.tags)!=null&&n.ignore.includes(a))})),w=m(()=>{var a;return t.required!==void 0?t.required:(a=i.value)==null?void 0:a.find(n=>n.required!==void 0)}),q=m(()=>{var a;return t.values!==void 0?t.values:(a=i.value)==null?void 0:a.find(n=>n.values)}),r=m(()=>{var a;return t.description!==void 0?t.description:(a=i.value)==null?void 0:a.find(n=>n.description)}),y=m(()=>{var a;return t.default!==void 0?t.default:(a=i.value)==null?void 0:a.find(n=>n.default)});return{meta:h,properties:i,showRequired:w,showValues:q,showDescription:r,showDefault:y}}});function G(t,k,h,i,w,q){var v,D,P;const r=g,y=B,a=V,n=C,_=b,T=N,$=R;return t.meta&&((v=t.meta)!=null&&v.props)&&((P=(D=t.meta)==null?void 0:D.props)!=null&&P.length)?(o(),l($,{key:0},{default:e(()=>[s(a,null,{default:e(()=>[s(y,null,{default:e(()=>[s(r,null,{default:e(()=>[d("Prop")]),_:1}),s(r,null,{default:e(()=>[d("Type")]),_:1}),t.showRequired?(o(),l(r,{key:0},{default:e(()=>[d(" Required ")]),_:1})):f("",!0),t.showDefault?(o(),l(r,{key:1},{default:e(()=>[d(" Default ")]),_:1})):f("",!0),t.showValues?(o(),l(r,{key:2},{default:e(()=>[d(" Values ")]),_:1})):f("",!0),t.showDescription?(o(),l(r,{key:3},{default:e(()=>[d(" Description ")]),_:1})):f("",!0)]),_:1})]),_:1}),s(T,null,{default:e(()=>[(o(!0),K(S,null,Y(t.properties,u=>(o(),l(y,{key:u.name},{default:e(()=>[s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.name)||"?"),1)]),_:2},1024)]),_:2},1024),s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.type)||"?"),1)]),_:2},1024)]),_:2},1024),t.showRequired?(o(),l(_,{key:0},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.required==="?"?"?":u.required?"Yes":"No"),1)]),_:2},1024)]),_:2},1024)):f("",!0),t.showDefault?(o(),l(_,{key:1},{default:e(()=>[u.default?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.default)||"?"),1)]),_:2},1024)):f("",!0)]),_:2},1024)):f("",!0),t.showValues?(o(),l(_,{key:2},{default:e(()=>[u.values?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.values)||"?"),1)]),_:2},1024)):(o(),l(n,{key:1},{default:e(()=>[d(" - ")]),_:1}))]),_:2},1024)):f("",!0),t.showDescription?(o(),l(_,{key:3},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.description),1)]),_:2},1024)]),_:2},1024)):f("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):f("",!0)}const Q=L(A,[["render",G]]);export{Q as default}; +import g from"./ProseTh.75c6a267.js";import B from"./ProseTr.63e2587d.js";import V from"./ProseThead.8dd006b4.js";import C from"./ProseCodeInline.c02e94fd.js";import b from"./ProseTd.4ecd5b1a.js";import N from"./ProseTbody.b01b591a.js";import R from"./ProseTable.2fe80de4.js";import{k as L,d as X,aK as E,aL as F,K as m,b as o,Y as l,w as e,g as s,G as d,f,c as K,F as S,aC as Y,t as c}from"./entry.6e9008ac.js";const A=X({props:{of:{type:String,default:void 0},required:{type:Boolean,default:void 0},values:{type:Boolean,default:void 0},description:{type:Boolean,default:void 0},default:{type:Boolean,default:void 0}},async setup(t){const k=`/api/component-meta/${E(t.of)}`,{data:h}=await F(t.of,()=>$fetch(k),"$LqtXXX1Enc"),i=m(()=>h.value.props.filter(a=>{var n;return!((n=a.tags)!=null&&n.ignore.includes(a))})),w=m(()=>{var a;return t.required!==void 0?t.required:(a=i.value)==null?void 0:a.find(n=>n.required!==void 0)}),q=m(()=>{var a;return t.values!==void 0?t.values:(a=i.value)==null?void 0:a.find(n=>n.values)}),r=m(()=>{var a;return t.description!==void 0?t.description:(a=i.value)==null?void 0:a.find(n=>n.description)}),y=m(()=>{var a;return t.default!==void 0?t.default:(a=i.value)==null?void 0:a.find(n=>n.default)});return{meta:h,properties:i,showRequired:w,showValues:q,showDescription:r,showDefault:y}}});function G(t,k,h,i,w,q){var v,D,P;const r=g,y=B,a=V,n=C,_=b,T=N,$=R;return t.meta&&((v=t.meta)!=null&&v.props)&&((P=(D=t.meta)==null?void 0:D.props)!=null&&P.length)?(o(),l($,{key:0},{default:e(()=>[s(a,null,{default:e(()=>[s(y,null,{default:e(()=>[s(r,null,{default:e(()=>[d("Prop")]),_:1}),s(r,null,{default:e(()=>[d("Type")]),_:1}),t.showRequired?(o(),l(r,{key:0},{default:e(()=>[d(" Required ")]),_:1})):f("",!0),t.showDefault?(o(),l(r,{key:1},{default:e(()=>[d(" Default ")]),_:1})):f("",!0),t.showValues?(o(),l(r,{key:2},{default:e(()=>[d(" Values ")]),_:1})):f("",!0),t.showDescription?(o(),l(r,{key:3},{default:e(()=>[d(" Description ")]),_:1})):f("",!0)]),_:1})]),_:1}),s(T,null,{default:e(()=>[(o(!0),K(S,null,Y(t.properties,u=>(o(),l(y,{key:u.name},{default:e(()=>[s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.name)||"?"),1)]),_:2},1024)]),_:2},1024),s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.type)||"?"),1)]),_:2},1024)]),_:2},1024),t.showRequired?(o(),l(_,{key:0},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.required==="?"?"?":u.required?"Yes":"No"),1)]),_:2},1024)]),_:2},1024)):f("",!0),t.showDefault?(o(),l(_,{key:1},{default:e(()=>[u.default?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.default)||"?"),1)]),_:2},1024)):f("",!0)]),_:2},1024)):f("",!0),t.showValues?(o(),l(_,{key:2},{default:e(()=>[u.values?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.values)||"?"),1)]),_:2},1024)):(o(),l(n,{key:1},{default:e(()=>[d(" - ")]),_:1}))]),_:2},1024)):f("",!0),t.showDescription?(o(),l(_,{key:3},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.description),1)]),_:2},1024)]),_:2},1024)):f("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):f("",!0)}const Q=L(A,[["render",G]]);export{Q as default}; diff --git a/_nuxt/ProseA.7ab7686c.js b/_nuxt/ProseA.f9dc332a.js similarity index 84% rename from _nuxt/ProseA.7ab7686c.js rename to _nuxt/ProseA.f9dc332a.js index f27e3dba60..2541e738d1 100644 --- a/_nuxt/ProseA.7ab7686c.js +++ b/_nuxt/ProseA.f9dc332a.js @@ -1 +1 @@ -import{d as a,b as _,Y as n,w as r,ab as s,H as c,k as d}from"./entry.f8eaff67.js";const u=a({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(t){return(e,p)=>{const o=c;return _(),n(o,{to:t.href,target:t.target},{default:r(()=>[s(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","target"])}}});const l=d(u,[["__scopeId","data-v-a23c09bb"]]);export{l as default}; +import{d as a,b as _,Y as n,w as r,ab as s,H as c,k as d}from"./entry.6e9008ac.js";const u=a({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(t){return(e,p)=>{const o=c;return _(),n(o,{to:t.href,target:t.target},{default:r(()=>[s(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","target"])}}});const l=d(u,[["__scopeId","data-v-a23c09bb"]]);export{l as default}; diff --git a/_nuxt/ProseBlockquote.7c863169.js b/_nuxt/ProseBlockquote.0d710b43.js similarity index 72% rename from _nuxt/ProseBlockquote.7c863169.js rename to _nuxt/ProseBlockquote.0d710b43.js index 8ad841b506..5aca93161d 100644 --- a/_nuxt/ProseBlockquote.7c863169.js +++ b/_nuxt/ProseBlockquote.0d710b43.js @@ -1 +1 @@ -import{k as o,b as t,c,ab as _}from"./entry.f8eaff67.js";const r={};function s(e,n){return t(),c("blockquote",null,[_(e.$slots,"default",{},void 0,!0)])}const d=o(r,[["render",s],["__scopeId","data-v-eae89cdc"]]);export{d as default}; +import{k as o,b as t,c,ab as _}from"./entry.6e9008ac.js";const r={};function s(e,n){return t(),c("blockquote",null,[_(e.$slots,"default",{},void 0,!0)])}const d=o(r,[["render",s],["__scopeId","data-v-eae89cdc"]]);export{d as default}; diff --git a/_nuxt/ProseCode.8fb3ed8c.js b/_nuxt/ProseCode.a1a6964d.js similarity index 96% rename from _nuxt/ProseCode.8fb3ed8c.js rename to _nuxt/ProseCode.a1a6964d.js index 5995d945b9..afb8a7167a 100644 --- a/_nuxt/ProseCode.8fb3ed8c.js +++ b/_nuxt/ProseCode.a1a6964d.js @@ -1 +1 @@ -import{d as y,r as l,aE as k,aF as w,x,b as s,c as d,e as m,g as v,w as S,Y as _,L as f,T as b,n as C,a1 as $,p as I,i as P,k as h,t as z,f as N,ab as T}from"./entry.f8eaff67.js";const V=e=>(I("data-v-11c7dd38"),e=e(),P(),e),A=V(()=>m("span",{class:"sr-only"},"Copy to clipboard",-1)),E={class:"icon-wrapper"},M=y({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(e){const n=e,a=l(),{copy:t}=k();w(a,()=>{o.value==="copied"&&(o.value="init")});const{prose:c}=x(),o=l("init"),g=B=>{t(n.content).then(()=>{o.value="copied"}).catch(p=>{console.warn("Couldn't copy to clipboard!",p)})};return(B,p)=>{const u=$;return s(),d("button",{ref_key:"copyButtonRef",ref:a,class:C([(e.show||o.value==="copied")&&"show"]),onClick:g},[A,m("span",E,[v(b,{name:"fade"},{default:S(()=>{var r,i;return[o.value==="copied"?(s(),_(u,{key:0,name:(r=f(c).copyButton)==null?void 0:r.iconCopied,size:"18",class:"copied"},null,8,["name"])):(s(),_(u,{key:1,name:(i=f(c).copyButton)==null?void 0:i.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}});const R=h(M,[["__scopeId","data-v-11c7dd38"]]),D={key:0,class:"filename"},F=y({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]}},setup(e){const n=l(!1);return(a,t)=>{const c=R;return s(),d("div",{class:C([[`highlight-${e.language}`],"prose-code"]),onMouseenter:t[0]||(t[0]=o=>n.value=!0),onMouseleave:t[1]||(t[1]=o=>n.value=!1)},[e.filename?(s(),d("span",D,z(e.filename),1)):N("",!0),T(a.$slots,"default",{},void 0,!0),v(c,{show:n.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}});const O=h(F,[["__scopeId","data-v-262fd9e4"]]);export{O as default}; +import{d as y,r as l,aE as k,aF as w,x,b as s,c as d,e as m,g as v,w as S,Y as _,L as f,T as b,n as C,a1 as $,p as I,i as P,k as h,t as z,f as N,ab as T}from"./entry.6e9008ac.js";const V=e=>(I("data-v-11c7dd38"),e=e(),P(),e),A=V(()=>m("span",{class:"sr-only"},"Copy to clipboard",-1)),E={class:"icon-wrapper"},M=y({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(e){const n=e,a=l(),{copy:t}=k();w(a,()=>{o.value==="copied"&&(o.value="init")});const{prose:c}=x(),o=l("init"),g=B=>{t(n.content).then(()=>{o.value="copied"}).catch(p=>{console.warn("Couldn't copy to clipboard!",p)})};return(B,p)=>{const u=$;return s(),d("button",{ref_key:"copyButtonRef",ref:a,class:C([(e.show||o.value==="copied")&&"show"]),onClick:g},[A,m("span",E,[v(b,{name:"fade"},{default:S(()=>{var r,i;return[o.value==="copied"?(s(),_(u,{key:0,name:(r=f(c).copyButton)==null?void 0:r.iconCopied,size:"18",class:"copied"},null,8,["name"])):(s(),_(u,{key:1,name:(i=f(c).copyButton)==null?void 0:i.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}});const R=h(M,[["__scopeId","data-v-11c7dd38"]]),D={key:0,class:"filename"},F=y({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]}},setup(e){const n=l(!1);return(a,t)=>{const c=R;return s(),d("div",{class:C([[`highlight-${e.language}`],"prose-code"]),onMouseenter:t[0]||(t[0]=o=>n.value=!0),onMouseleave:t[1]||(t[1]=o=>n.value=!1)},[e.filename?(s(),d("span",D,z(e.filename),1)):N("",!0),T(a.$slots,"default",{},void 0,!0),v(c,{show:n.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}});const O=h(F,[["__scopeId","data-v-262fd9e4"]]);export{O as default}; diff --git a/_nuxt/ProseCodeInline.e4bd4193.js b/_nuxt/ProseCodeInline.c02e94fd.js similarity index 72% rename from _nuxt/ProseCodeInline.e4bd4193.js rename to _nuxt/ProseCodeInline.c02e94fd.js index ec1730ffb7..f42a107eb9 100644 --- a/_nuxt/ProseCodeInline.e4bd4193.js +++ b/_nuxt/ProseCodeInline.c02e94fd.js @@ -1 +1 @@ -import{k as _,b as n,c as t,ab as o}from"./entry.f8eaff67.js";const r={};function s(e,c){return n(),t("code",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-e743899b"]]);export{d as default}; +import{k as _,b as n,c as t,ab as o}from"./entry.6e9008ac.js";const r={};function s(e,c){return n(),t("code",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-e743899b"]]);export{d as default}; diff --git a/_nuxt/ProseEm.c8f402ae.js b/_nuxt/ProseEm.f1048b40.js similarity index 72% rename from _nuxt/ProseEm.c8f402ae.js rename to _nuxt/ProseEm.f1048b40.js index 7ec1d1c5cd..daebe9c99c 100644 --- a/_nuxt/ProseEm.c8f402ae.js +++ b/_nuxt/ProseEm.f1048b40.js @@ -1 +1 @@ -import{k as t,b as _,c as r,ab as s}from"./entry.f8eaff67.js";const n={};function o(e,a){return _(),r("em",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-e71d4541"]]);export{d as default}; +import{k as t,b as _,c as r,ab as s}from"./entry.6e9008ac.js";const n={};function o(e,a){return _(),r("em",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-e71d4541"]]);export{d as default}; diff --git a/_nuxt/ProseH1.09499c54.js b/_nuxt/ProseH1.5e16728b.js similarity index 91% rename from _nuxt/ProseH1.09499c54.js rename to _nuxt/ProseH1.5e16728b.js index 03d662d7a1..04276d52ce 100644 --- a/_nuxt/ProseH1.09499c54.js +++ b/_nuxt/ProseH1.5e16728b.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.f8eaff67.js";const g=["id"],b=i({__name:"ProseH1",props:{id:{}},setup(C){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h1",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-a6b5ed16"]]);export{y as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.6e9008ac.js";const g=["id"],b=i({__name:"ProseH1",props:{id:{}},setup(C){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h1",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-a6b5ed16"]]);export{y as default}; diff --git a/_nuxt/ProseH2.e6d5934a.js b/_nuxt/ProseH2.0e1f83fc.js similarity index 91% rename from _nuxt/ProseH2.e6d5934a.js rename to _nuxt/ProseH2.0e1f83fc.js index 47b8fd6894..207e059a2d 100644 --- a/_nuxt/ProseH2.e6d5934a.js +++ b/_nuxt/ProseH2.0e1f83fc.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.f8eaff67.js";const g=["id"],C=i({__name:"ProseH2",props:{id:{}},setup(H){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h2",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-1c268e02"]]);export{B as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.6e9008ac.js";const g=["id"],C=i({__name:"ProseH2",props:{id:{}},setup(H){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h2",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-1c268e02"]]);export{B as default}; diff --git a/_nuxt/ProseH3.a36ecc78.js b/_nuxt/ProseH3.764ccb77.js similarity index 91% rename from _nuxt/ProseH3.a36ecc78.js rename to _nuxt/ProseH3.764ccb77.js index b2c0849330..e4a82c52b1 100644 --- a/_nuxt/ProseH3.a36ecc78.js +++ b/_nuxt/ProseH3.764ccb77.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as f,Y as p,f as h,a1 as k,H as v,k as x}from"./entry.f8eaff67.js";const g=["id"],b=i({__name:"ProseH3",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h3",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),p(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c3af30bd"]]);export{y as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as f,Y as p,f as h,a1 as k,H as v,k as x}from"./entry.6e9008ac.js";const g=["id"],b=i({__name:"ProseH3",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h3",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),p(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c3af30bd"]]);export{y as default}; diff --git a/_nuxt/ProseH4.e0f717bb.js b/_nuxt/ProseH4.50ee811b.js similarity index 91% rename from _nuxt/ProseH4.e0f717bb.js rename to _nuxt/ProseH4.50ee811b.js index a0f7fb5b98..399020b94b 100644 --- a/_nuxt/ProseH4.e0f717bb.js +++ b/_nuxt/ProseH4.50ee811b.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as r,g as m,w as l,ab as f,Y as p,f as h,a1 as x,H as k,k as v}from"./entry.f8eaff67.js";const g=["id"],C=i({__name:"ProseH4",props:{id:{}},setup($){const{prose:e}=u(),_=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),c=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const s=x,d=k;return a(),r("h4",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),_.value?(a(),p(s,{key:0,name:c.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=v(C,[["__scopeId","data-v-8e1edaf9"]]);export{B as default}; +import{d as i,x as u,K as t,b as a,c as r,g as m,w as l,ab as f,Y as p,f as h,a1 as x,H as k,k as v}from"./entry.6e9008ac.js";const g=["id"],C=i({__name:"ProseH4",props:{id:{}},setup($){const{prose:e}=u(),_=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),c=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const s=x,d=k;return a(),r("h4",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),_.value?(a(),p(s,{key:0,name:c.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=v(C,[["__scopeId","data-v-8e1edaf9"]]);export{B as default}; diff --git a/_nuxt/ProseH5.462e6472.js b/_nuxt/ProseH5.a6809ff7.js similarity index 91% rename from _nuxt/ProseH5.462e6472.js rename to _nuxt/ProseH5.a6809ff7.js index 32defec0f8..90944b615b 100644 --- a/_nuxt/ProseH5.462e6472.js +++ b/_nuxt/ProseH5.a6809ff7.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.f8eaff67.js";const g=["id"],b=i({__name:"ProseH5",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h5",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c70a6b36"]]);export{y as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.6e9008ac.js";const g=["id"],b=i({__name:"ProseH5",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h5",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c70a6b36"]]);export{y as default}; diff --git a/_nuxt/ProseH6.f2787e88.js b/_nuxt/ProseH6.53cedd53.js similarity index 91% rename from _nuxt/ProseH6.f2787e88.js rename to _nuxt/ProseH6.53cedd53.js index 5e6ec663a5..bee2ed7d3e 100644 --- a/_nuxt/ProseH6.f2787e88.js +++ b/_nuxt/ProseH6.53cedd53.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.f8eaff67.js";const g=["id"],C=i({__name:"ProseH6",props:{id:{}},setup(H){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h6",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-d708d2d4"]]);export{B as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.6e9008ac.js";const g=["id"],C=i({__name:"ProseH6",props:{id:{}},setup(H){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h6",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-d708d2d4"]]);export{B as default}; diff --git a/_nuxt/ProseHr.e160faff.js b/_nuxt/ProseHr.f07102be.js similarity index 64% rename from _nuxt/ProseHr.e160faff.js rename to _nuxt/ProseHr.f07102be.js index 31519c7dd1..aff1858c20 100644 --- a/_nuxt/ProseHr.e160faff.js +++ b/_nuxt/ProseHr.f07102be.js @@ -1 +1 @@ -import{k as e,b as _,c as r}from"./entry.f8eaff67.js";const t={};function c(o,s){return _(),r("hr")}const n=e(t,[["render",c],["__scopeId","data-v-a0643f32"]]);export{n as default}; +import{k as e,b as _,c as r}from"./entry.6e9008ac.js";const t={};function c(o,s){return _(),r("hr")}const n=e(t,[["render",c],["__scopeId","data-v-a0643f32"]]);export{n as default}; diff --git a/_nuxt/ProseImg.218dfca9.js b/_nuxt/ProseImg.9b34cbb5.js similarity index 89% rename from _nuxt/ProseImg.218dfca9.js rename to _nuxt/ProseImg.9b34cbb5.js index 8fca874da9..267efefcd2 100644 --- a/_nuxt/ProseImg.218dfca9.js +++ b/_nuxt/ProseImg.9b34cbb5.js @@ -1 +1 @@ -import{d as a,K as n,aG as i,l as o,b as c,c as d,R as u,L as h,k as l}from"./entry.f8eaff67.js";const f=["src","alt","width","height"],m=a({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){const e=t,r=n(()=>{var s;return(s=e.src)!=null&&s.startsWith("/")&&!e.src.startsWith("//")?i(e.src,o().app.baseURL):e.src});return(s,_)=>(c(),d("img",u(s.$attrs,{src:h(r),alt:t.alt,width:t.width,height:t.height}),null,16,f))}});const p=l(m,[["__scopeId","data-v-59fa7d04"]]);export{p as default}; +import{d as a,K as n,aG as i,l as o,b as c,c as d,R as u,L as h,k as l}from"./entry.6e9008ac.js";const f=["src","alt","width","height"],m=a({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){const e=t,r=n(()=>{var s;return(s=e.src)!=null&&s.startsWith("/")&&!e.src.startsWith("//")?i(e.src,o().app.baseURL):e.src});return(s,_)=>(c(),d("img",u(s.$attrs,{src:h(r),alt:t.alt,width:t.width,height:t.height}),null,16,f))}});const p=l(m,[["__scopeId","data-v-59fa7d04"]]);export{p as default}; diff --git a/_nuxt/ProseLi.03432c14.js b/_nuxt/ProseLi.f70b7f0b.js similarity index 72% rename from _nuxt/ProseLi.03432c14.js rename to _nuxt/ProseLi.f70b7f0b.js index 02d2bb054a..63d8c9b185 100644 --- a/_nuxt/ProseLi.03432c14.js +++ b/_nuxt/ProseLi.f70b7f0b.js @@ -1 +1 @@ -import{k as t,b as _,c as r,ab as s}from"./entry.f8eaff67.js";const n={};function o(e,a){return _(),r("li",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-8d545697"]]);export{d as default}; +import{k as t,b as _,c as r,ab as s}from"./entry.6e9008ac.js";const n={};function o(e,a){return _(),r("li",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-8d545697"]]);export{d as default}; diff --git a/_nuxt/ProseOl.d6736659.js b/_nuxt/ProseOl.daad5f0e.js similarity index 72% rename from _nuxt/ProseOl.d6736659.js rename to _nuxt/ProseOl.daad5f0e.js index c753e1f1d4..d5088546d3 100644 --- a/_nuxt/ProseOl.d6736659.js +++ b/_nuxt/ProseOl.daad5f0e.js @@ -1 +1 @@ -import{k as t,b as _,c as o,ab as r}from"./entry.f8eaff67.js";const s={};function n(e,a){return _(),o("ol",null,[r(e.$slots,"default",{},void 0,!0)])}const l=t(s,[["render",n],["__scopeId","data-v-315a078b"]]);export{l as default}; +import{k as t,b as _,c as o,ab as r}from"./entry.6e9008ac.js";const s={};function n(e,a){return _(),o("ol",null,[r(e.$slots,"default",{},void 0,!0)])}const l=t(s,[["render",n],["__scopeId","data-v-315a078b"]]);export{l as default}; diff --git a/_nuxt/ProseP.2754d50f.js b/_nuxt/ProseP.63fb3914.js similarity index 72% rename from _nuxt/ProseP.2754d50f.js rename to _nuxt/ProseP.63fb3914.js index 96fe91ac90..acc2332ced 100644 --- a/_nuxt/ProseP.2754d50f.js +++ b/_nuxt/ProseP.63fb3914.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.f8eaff67.js";const r={};function s(e,c){return t(),n("p",null,[o(e.$slots,"default",{},void 0,!0)])}const f=_(r,[["render",s],["__scopeId","data-v-fb25b4f3"]]);export{f as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.6e9008ac.js";const r={};function s(e,c){return t(),n("p",null,[o(e.$slots,"default",{},void 0,!0)])}const f=_(r,[["render",s],["__scopeId","data-v-fb25b4f3"]]);export{f as default}; diff --git a/_nuxt/ProsePre.ae2a09bd.js b/_nuxt/ProsePre.74cb55c8.js similarity index 82% rename from _nuxt/ProsePre.ae2a09bd.js rename to _nuxt/ProsePre.74cb55c8.js index 244e11c66e..ccc0751807 100644 --- a/_nuxt/ProsePre.ae2a09bd.js +++ b/_nuxt/ProsePre.74cb55c8.js @@ -1 +1 @@ -import l from"./ProseCode.8fb3ed8c.js";import{d as n,b as s,Y as o,w as i,e as r,n as u,aS as g,ab as d}from"./entry.f8eaff67.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(t,c)=>{const a=l;return s(),o(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:i(()=>[r("pre",{class:u(t.$props.class),style:g(e.style)},[d(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; +import l from"./ProseCode.a1a6964d.js";import{d as n,b as s,Y as o,w as i,e as r,n as u,aS as g,ab as d}from"./entry.6e9008ac.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(t,c)=>{const a=l;return s(),o(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:i(()=>[r("pre",{class:u(t.$props.class),style:g(e.style)},[d(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; diff --git a/_nuxt/ProseStrong.45353d00.js b/_nuxt/ProseStrong.d88677c5.js similarity index 72% rename from _nuxt/ProseStrong.45353d00.js rename to _nuxt/ProseStrong.d88677c5.js index 0449d8cc18..396ff3cbfd 100644 --- a/_nuxt/ProseStrong.45353d00.js +++ b/_nuxt/ProseStrong.d88677c5.js @@ -1 +1 @@ -import{k as t,b as r,c as n,ab as o}from"./entry.f8eaff67.js";const s={};function _(e,a){return r(),n("strong",null,[o(e.$slots,"default",{},void 0,!0)])}const d=t(s,[["render",_],["__scopeId","data-v-293bb80f"]]);export{d as default}; +import{k as t,b as r,c as n,ab as o}from"./entry.6e9008ac.js";const s={};function _(e,a){return r(),n("strong",null,[o(e.$slots,"default",{},void 0,!0)])}const d=t(s,[["render",_],["__scopeId","data-v-293bb80f"]]);export{d as default}; diff --git a/_nuxt/ProseTable.a73de42f.js b/_nuxt/ProseTable.2fe80de4.js similarity index 77% rename from _nuxt/ProseTable.a73de42f.js rename to _nuxt/ProseTable.2fe80de4.js index 59e98bbd35..66a35161b6 100644 --- a/_nuxt/ProseTable.a73de42f.js +++ b/_nuxt/ProseTable.2fe80de4.js @@ -1 +1 @@ -import{k as t,b as _,c as s,e as a,ab as n}from"./entry.f8eaff67.js";const o={},c={class:"table-wrapper"};function r(e,d){return _(),s("div",c,[a("table",null,[n(e.$slots,"default",{},void 0,!0)])])}const f=t(o,[["render",r],["__scopeId","data-v-fbc01453"]]);export{f as default}; +import{k as t,b as _,c as s,e as a,ab as n}from"./entry.6e9008ac.js";const o={},c={class:"table-wrapper"};function r(e,d){return _(),s("div",c,[a("table",null,[n(e.$slots,"default",{},void 0,!0)])])}const f=t(o,[["render",r],["__scopeId","data-v-fbc01453"]]);export{f as default}; diff --git a/_nuxt/ProseTbody.d1d2faec.js b/_nuxt/ProseTbody.b01b591a.js similarity index 66% rename from _nuxt/ProseTbody.d1d2faec.js rename to _nuxt/ProseTbody.b01b591a.js index ad37deab84..85b484071d 100644 --- a/_nuxt/ProseTbody.d1d2faec.js +++ b/_nuxt/ProseTbody.b01b591a.js @@ -1 +1 @@ -import{k as t,b as n,c as o,ab as c}from"./entry.f8eaff67.js";const r={};function s(e,a){return n(),o("tbody",null,[c(e.$slots,"default")])}const l=t(r,[["render",s]]);export{l as default}; +import{k as t,b as n,c as o,ab as c}from"./entry.6e9008ac.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.84dc810f.js b/_nuxt/ProseTd.4ecd5b1a.js similarity index 72% rename from _nuxt/ProseTd.84dc810f.js rename to _nuxt/ProseTd.4ecd5b1a.js index 849dce4088..3ec45cba22 100644 --- a/_nuxt/ProseTd.84dc810f.js +++ b/_nuxt/ProseTd.4ecd5b1a.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.f8eaff67.js";const c={};function r(e,s){return t(),n("td",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(c,[["render",r],["__scopeId","data-v-e749cfe8"]]);export{d as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.6e9008ac.js";const c={};function r(e,s){return t(),n("td",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(c,[["render",r],["__scopeId","data-v-e749cfe8"]]);export{d as default}; diff --git a/_nuxt/ProseTh.3854d30b.js b/_nuxt/ProseTh.75c6a267.js similarity index 72% rename from _nuxt/ProseTh.3854d30b.js rename to _nuxt/ProseTh.75c6a267.js index 17e00ffe4a..65f1278abf 100644 --- a/_nuxt/ProseTh.3854d30b.js +++ b/_nuxt/ProseTh.75c6a267.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.f8eaff67.js";const r={};function s(e,c){return t(),n("th",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-d08e1929"]]);export{d as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.6e9008ac.js";const r={};function s(e,c){return t(),n("th",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-d08e1929"]]);export{d as default}; diff --git a/_nuxt/ProseThead.8f87b4e1.js b/_nuxt/ProseThead.8dd006b4.js similarity index 72% rename from _nuxt/ProseThead.8f87b4e1.js rename to _nuxt/ProseThead.8dd006b4.js index 5c168c729f..9bb08309bb 100644 --- a/_nuxt/ProseThead.8f87b4e1.js +++ b/_nuxt/ProseThead.8dd006b4.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.f8eaff67.js";const r={};function s(e,a){return t(),n("thead",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-7384b874"]]);export{d as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.6e9008ac.js";const r={};function s(e,a){return t(),n("thead",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-7384b874"]]);export{d as default}; diff --git a/_nuxt/ProseTr.c22b1a0f.js b/_nuxt/ProseTr.63e2587d.js similarity index 72% rename from _nuxt/ProseTr.c22b1a0f.js rename to _nuxt/ProseTr.63e2587d.js index 5b1c5b4c3c..dcd53dabe1 100644 --- a/_nuxt/ProseTr.c22b1a0f.js +++ b/_nuxt/ProseTr.63e2587d.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as r}from"./entry.f8eaff67.js";const o={};function s(e,c){return t(),n("tr",null,[r(e.$slots,"default",{},void 0,!0)])}const d=_(o,[["render",s],["__scopeId","data-v-8584fb94"]]);export{d as default}; +import{k as _,b as t,c as n,ab as r}from"./entry.6e9008ac.js";const o={};function s(e,c){return t(),n("tr",null,[r(e.$slots,"default",{},void 0,!0)])}const d=_(o,[["render",s],["__scopeId","data-v-8584fb94"]]);export{d as default}; diff --git a/_nuxt/ProseUl.186f054c.js b/_nuxt/ProseUl.a035f6e0.js similarity index 72% rename from _nuxt/ProseUl.186f054c.js rename to _nuxt/ProseUl.a035f6e0.js index dceb44b1e1..7fab4e5b1a 100644 --- a/_nuxt/ProseUl.186f054c.js +++ b/_nuxt/ProseUl.a035f6e0.js @@ -1 +1 @@ -import{k as t,b as _,c as r,ab as s}from"./entry.f8eaff67.js";const n={};function o(e,a){return _(),r("ul",null,[s(e.$slots,"default",{},void 0,!0)])}const l=t(n,[["render",o],["__scopeId","data-v-47f13bb3"]]);export{l as default}; +import{k as t,b as _,c as r,ab as s}from"./entry.6e9008ac.js";const n={};function o(e,a){return _(),r("ul",null,[s(e.$slots,"default",{},void 0,!0)])}const l=t(n,[["render",o],["__scopeId","data-v-47f13bb3"]]);export{l as default}; diff --git a/_nuxt/Sandbox.109228c0.js b/_nuxt/Sandbox.b7d18f1f.js similarity index 86% rename from _nuxt/Sandbox.109228c0.js rename to _nuxt/Sandbox.b7d18f1f.js index 1cbda55411..8b72d58092 100644 --- a/_nuxt/Sandbox.109228c0.js +++ b/_nuxt/Sandbox.b7d18f1f.js @@ -1 +1 @@ -import v from"./TabsHeader.a6f1ac79.js";import{d as x,aM as g,r as n,o as h,b as r,c as l,Y as S,L as c,f as y,k}from"./entry.f8eaff67.js";const $={class:"sandbox"},w=["src"],B={key:2},C=x({__name:"Sandbox",props:{src:{type:String,default:""},repo:{type:String,default:""},branch:{type:String,default:""},dir:{type:String,default:""},file:{type:String,default:"app.vue"}},setup(i){const e=i,b=g(),o={CodeSandBox:()=>`https://codesandbox.io/embed/github/${e.repo}/tree/${e.branch}/${e.dir}?hidenavigation=1&theme=${b.value}`,StackBlitz:()=>`https://stackblitz.com/github/${e.repo}/tree/${e.branch}/${e.dir}?embed=1&file=${e.file}&theme=${b.value}`},p=Object.keys(o).map(t=>({label:t})),d=n(-1),u=n(),s=n(""),a=n(""),_=t=>{a.value=t,s.value=e.src||o[a.value](),localStorage.setItem("docus_sandbox",t)},f=t=>{d.value=t,_(p[t].label)};return h(()=>{a.value=window.localStorage.getItem("docus_sandbox")||"CodeSandBox",s.value=e.src||o[a.value](),d.value=Object.keys(o).indexOf(a.value)}),(t,I)=>{const m=v;return r(),l("div",$,[i.src?y("",!0):(r(),S(m,{key:0,ref_key:"tabs",ref:u,"active-tab-index":c(d),tabs:c(p),"onUpdate:activeTabIndex":f},null,8,["active-tab-index","tabs"])),c(s)?(r(),l("iframe",{key:1,src:c(s),title:"Sandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin"},null,8,w)):(r(),l("span",B,"Loading Sandbox..."))])}}});const O=k(C,[["__scopeId","data-v-fb2fb419"]]);export{O as default}; +import v from"./TabsHeader.352fe39c.js";import{d as x,aM as g,r as n,o as h,b as r,c as l,Y as S,L as c,f as y,k}from"./entry.6e9008ac.js";const $={class:"sandbox"},w=["src"],B={key:2},C=x({__name:"Sandbox",props:{src:{type:String,default:""},repo:{type:String,default:""},branch:{type:String,default:""},dir:{type:String,default:""},file:{type:String,default:"app.vue"}},setup(i){const e=i,b=g(),o={CodeSandBox:()=>`https://codesandbox.io/embed/github/${e.repo}/tree/${e.branch}/${e.dir}?hidenavigation=1&theme=${b.value}`,StackBlitz:()=>`https://stackblitz.com/github/${e.repo}/tree/${e.branch}/${e.dir}?embed=1&file=${e.file}&theme=${b.value}`},p=Object.keys(o).map(t=>({label:t})),d=n(-1),u=n(),s=n(""),a=n(""),_=t=>{a.value=t,s.value=e.src||o[a.value](),localStorage.setItem("docus_sandbox",t)},f=t=>{d.value=t,_(p[t].label)};return h(()=>{a.value=window.localStorage.getItem("docus_sandbox")||"CodeSandBox",s.value=e.src||o[a.value](),d.value=Object.keys(o).indexOf(a.value)}),(t,I)=>{const m=v;return r(),l("div",$,[i.src?y("",!0):(r(),S(m,{key:0,ref_key:"tabs",ref:u,"active-tab-index":c(d),tabs:c(p),"onUpdate:activeTabIndex":f},null,8,["active-tab-index","tabs"])),c(s)?(r(),l("iframe",{key:1,src:c(s),title:"Sandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin"},null,8,w)):(r(),l("span",B,"Loading Sandbox..."))])}}});const O=k(C,[["__scopeId","data-v-fb2fb419"]]);export{O as default}; diff --git a/_nuxt/SourceLink.4ee3b127.js b/_nuxt/SourceLink.4ee3b127.js deleted file mode 100644 index eb4c63cb7f..0000000000 --- a/_nuxt/SourceLink.4ee3b127.js +++ /dev/null @@ -1 +0,0 @@ -import o from"./ProseP.2754d50f.js";import{d as r,b as t,Y as n}from"./entry.f8eaff67.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.52241891.js b/_nuxt/SourceLink.52241891.js new file mode 100644 index 0000000000..3c58a1f76c --- /dev/null +++ b/_nuxt/SourceLink.52241891.js @@ -0,0 +1 @@ +import o from"./ProseP.63fb3914.js";import{d as r,b as t,Y as n}from"./entry.6e9008ac.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.a6f1ac79.js b/_nuxt/TabsHeader.352fe39c.js similarity index 94% rename from _nuxt/TabsHeader.a6f1ac79.js rename to _nuxt/TabsHeader.352fe39c.js index 2f23d55c7e..95e0f210ee 100644 --- a/_nuxt/TabsHeader.a6f1ac79.js +++ b/_nuxt/TabsHeader.352fe39c.js @@ -1 +1 @@ -import{d as b,r as l,a5 as v,b as a,c as s,F as g,aC as x,e as u,f as y,ab as k,n as I,t as T,p as C,i as S,B as $,k as B}from"./entry.f8eaff67.js";const w=t=>(C("data-v-ad7417d7"),t=t(),S(),t),H={class:"tabs-header"},N=["onClick"],U=w(()=>u("span",{class:"tab"},null,-1)),q=[U],F=b({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:_}){const p=t,h=_,n=l(),r=l(),o=e=>{e&&(r.value.style.insetInlineStart=`${e.offsetLeft}px`,r.value.style.width=`${e.clientWidth}px`)},f=(e,d)=>{h("update:activeTabIndex",d),$(()=>o(e.target))};return v(n,e=>{e&&setTimeout(()=>{o(n.value.children[p.activeTabIndex])},50)},{immediate:!0}),(e,d)=>(a(),s("div",H,[t.tabs?(a(),s("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(a(!0),s(g,null,x(t.tabs,({label:c},i)=>(a(),s("button",{key:`${i}${c}`,class:I([t.activeTabIndex===i?"active":"not-active"]),onClick:m=>f(m,i)},T(c),11,N))),128)),u("span",{ref_key:"highlightUnderline",ref:r,class:"highlight-underline"},q,512)],512)):y("",!0),k(e.$slots,"footer",{},void 0,!0)]))}});const R=B(F,[["__scopeId","data-v-ad7417d7"]]);export{R as default}; +import{d as b,r as l,a5 as v,b as a,c as s,F as g,aC as x,e as u,f as y,ab as k,n as I,t as T,p as C,i as S,B as $,k as B}from"./entry.6e9008ac.js";const w=t=>(C("data-v-ad7417d7"),t=t(),S(),t),H={class:"tabs-header"},N=["onClick"],U=w(()=>u("span",{class:"tab"},null,-1)),q=[U],F=b({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:_}){const p=t,h=_,n=l(),r=l(),o=e=>{e&&(r.value.style.insetInlineStart=`${e.offsetLeft}px`,r.value.style.width=`${e.clientWidth}px`)},f=(e,d)=>{h("update:activeTabIndex",d),$(()=>o(e.target))};return v(n,e=>{e&&setTimeout(()=>{o(n.value.children[p.activeTabIndex])},50)},{immediate:!0}),(e,d)=>(a(),s("div",H,[t.tabs?(a(),s("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(a(!0),s(g,null,x(t.tabs,({label:c},i)=>(a(),s("button",{key:`${i}${c}`,class:I([t.activeTabIndex===i?"active":"not-active"]),onClick:m=>f(m,i)},T(c),11,N))),128)),u("span",{ref_key:"highlightUnderline",ref:r,class:"highlight-underline"},q,512)],512)):y("",!0),k(e.$slots,"footer",{},void 0,!0)]))}});const R=B(F,[["__scopeId","data-v-ad7417d7"]]);export{R as default}; diff --git a/_nuxt/Terminal.ce359b94.js b/_nuxt/Terminal.81666f30.js similarity index 89% rename from _nuxt/Terminal.ce359b94.js rename to _nuxt/Terminal.81666f30.js index 8a97da09eb..95e23aff26 100644 --- a/_nuxt/Terminal.ce359b94.js +++ b/_nuxt/Terminal.81666f30.js @@ -1,2 +1,2 @@ -import{d as v,aE as m,r as h,K as f,b as s,c as o,L as i,f as _,e,F as y,aC as C,p as k,i as g,t as x,k as S}from"./entry.f8eaff67.js";const n=t=>(k("data-v-1c0fc1e1"),t=t(),g(),t),b={key:0,class:"copied"},w=n(()=>e("div",{class:"scrim"},null,-1)),B=n(()=>e("div",{class:"content"}," Copied! ",-1)),I=[w,B],T=n(()=>e("div",{class:"header"},[e("div",{class:"controls"},[e("div"),e("div"),e("div")]),e("div",{class:"title"}," Bash ")],-1)),E={class:"window"},F=n(()=>e("span",{class:"sign"},"$",-1)),L={class:"content"},N={key:1,class:"prompt"},V=v({__name:"Terminal",props:{content:{type:[Array,String],required:!0}},setup(t){const a=t,{copy:p}=m(),c=h("init"),r=f(()=>typeof a.content=="string"?[a.content]:a.content),l=u=>{p(r.value.join(` +import{d as v,aE as m,r as h,K as f,b as s,c as o,L as i,f as _,e,F as y,aC as C,p as k,i as g,t as x,k as S}from"./entry.6e9008ac.js";const n=t=>(k("data-v-1c0fc1e1"),t=t(),g(),t),b={key:0,class:"copied"},w=n(()=>e("div",{class:"scrim"},null,-1)),B=n(()=>e("div",{class:"content"}," Copied! ",-1)),I=[w,B],T=n(()=>e("div",{class:"header"},[e("div",{class:"controls"},[e("div"),e("div"),e("div")]),e("div",{class:"title"}," Bash ")],-1)),E={class:"window"},F=n(()=>e("span",{class:"sign"},"$",-1)),L={class:"content"},N={key:1,class:"prompt"},V=v({__name:"Terminal",props:{content:{type:[Array,String],required:!0}},setup(t){const a=t,{copy:p}=m(),c=h("init"),r=f(()=>typeof a.content=="string"?[a.content]:a.content),l=u=>{p(r.value.join(` `)).then(()=>{c.value="copied",setTimeout(()=>{c.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(u,j)=>(s(),o("div",{class:"terminal",onClick:l},[i(c)==="copied"?(s(),o("div",b,I)):_("",!0),T,e("div",E,[(s(!0),o(y,null,C(i(r),d=>(s(),o("span",{key:d,class:"line"},[F,e("span",L,x(d),1)]))),128))]),i(c)!=="copied"?(s(),o("div",N," Click to copy ")):_("",!0)]))}});const A=S(V,[["__scopeId","data-v-1c0fc1e1"]]);export{A as default}; diff --git a/_nuxt/ThemeButton.995ddac1.js b/_nuxt/ThemeButton.995ddac1.js deleted file mode 100644 index 07fcee7ca1..0000000000 --- a/_nuxt/ThemeButton.995ddac1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ThemeButton.vue.29558d85.js";import"./entry.f8eaff67.js";export{m as default}; diff --git a/_nuxt/ThemeButton.c81c16cc.js b/_nuxt/ThemeButton.c81c16cc.js new file mode 100644 index 0000000000..9026f9fb2f --- /dev/null +++ b/_nuxt/ThemeButton.c81c16cc.js @@ -0,0 +1 @@ +import{_ as m}from"./ThemeButton.vue.dc3349e7.js";import"./entry.6e9008ac.js";export{m as default}; diff --git a/_nuxt/ThemeButton.vue.29558d85.js b/_nuxt/ThemeButton.vue.dc3349e7.js similarity index 87% rename from _nuxt/ThemeButton.vue.29558d85.js rename to _nuxt/ThemeButton.vue.dc3349e7.js index 9ce48df83d..9846f09f86 100644 --- a/_nuxt/ThemeButton.vue.29558d85.js +++ b/_nuxt/ThemeButton.vue.dc3349e7.js @@ -1 +1 @@ -import{d as s,a0 as c,b as r,c as l,g as m,L as o,G as p,t as u,a1 as i}from"./entry.f8eaff67.js";const x=s({__name:"ThemeButton",props:{modelValue:{}},emits:["update:modelValue"],setup(t){const e=c(t);function n(){e.value=e.value==="light"?"dark":"light"}return(d,g)=>{const a=i;return r(),l("button",{rounded:"","px-2":"","py-1":"","bg-gray-200":"","text-black":"",onClick:n},[m(a,{name:o(e)==="light"?"heroicons:sun":"heroicons:moon",size:"1.2rem"},null,8,["name"]),p(" Toggle theme: "+u(o(e)),1)])}}});export{x as _}; +import{d as s,a0 as c,b as r,c as l,g as m,L as o,G as p,t as u,a1 as i}from"./entry.6e9008ac.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.c59df8d8.js b/_nuxt/TokensPlayground.4dc097c6.js similarity index 74% rename from _nuxt/TokensPlayground.c59df8d8.js rename to _nuxt/TokensPlayground.4dc097c6.js index 51c8f605af..5ac0e135ff 100644 --- a/_nuxt/TokensPlayground.c59df8d8.js +++ b/_nuxt/TokensPlayground.4dc097c6.js @@ -1 +1 @@ -import{d as n,aN as a,b as s,c as t,e as o,t as r,L as c}from"./entry.f8eaff67.js";const m=n({__name:"TokensPlayground",setup(l){const{theme:e}=a();return(u,i)=>(s(),t("div",null,[o("pre",null,r(JSON.stringify(c(e),null,2)),1)]))}});export{m as default}; +import{d as n,aN as a,b as s,c as t,e as o,t as r,L as c}from"./entry.6e9008ac.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.e9bbb76c.js b/_nuxt/VeeValidateCheckbox.027e346a.js similarity index 80% rename from _nuxt/VeeValidateCheckbox.e9bbb76c.js rename to _nuxt/VeeValidateCheckbox.027e346a.js index e9b2c66977..ddc23d0736 100644 --- a/_nuxt/VeeValidateCheckbox.e9bbb76c.js +++ b/_nuxt/VeeValidateCheckbox.027e346a.js @@ -1 +1 @@ -import{_ as y}from"./Checkbox.vue.330c01f0.js";import g from"./PrimaryButton.bdf5d038.js";import{d as k,b as l,c as n,e as o,a2 as S,a3 as C,L as e,Z as d,t as p,f as _,g as f,w as B,G as N}from"./entry.f8eaff67.js";import{u as w,c as E,a as v,b as x}from"./index.esm.f4e6c2d4.js";import"./component-v2.f92db7c5.js";import"./_commonjsHelpers.725317a4.js";const M={key:0,class:"text-red"},$={key:0,class:"text-red"},G=k({__name:"VeeValidateCheckbox",setup(q){const{handleSubmit:b}=w({validationSchema:E({name:v().required(),recaptcha:v().required("Please verify you are human")})}),{value:r,errorMessage:u}=x("name"),{value:s,errorMessage:m}=x("recaptcha"),c=b(i=>{console.log(i)});return(i,a)=>{const V=y,h=g;return l(),n("form",{class:"flex flex-col gap-2",onSubmit:a[2]||(a[2]=(...t)=>e(c)&&e(c)(...t))},[o("div",null,[S(o("input",{"onUpdate:modelValue":a[0]||(a[0]=t=>d(r)?r.value=t:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[C,e(r)]]),e(u)?(l(),n("div",M,p(e(u)),1)):_("",!0)]),o("div",null,[f(V,{modelValue:e(s),"onUpdate:modelValue":a[1]||(a[1]=t=>d(s)?s.value=t:null)},null,8,["modelValue"]),e(m)?(l(),n("div",$,p(e(m)),1)):_("",!0)]),o("div",null,[f(h,{type:"submit"},{default:B(()=>[N("Submit")]),_:1})])],32)}}});export{G as default}; +import{_ as y}from"./Checkbox.vue.08968c81.js";import g from"./PrimaryButton.1a174aea.js";import{d as k,b as l,c as n,e as o,a2 as S,a3 as C,L as e,Z as d,t as p,f as _,g as f,w as B,G as N}from"./entry.6e9008ac.js";import{u as w,c as E,a as v,b as x}from"./index.esm.24d85c24.js";import"./component-v2.819854c2.js";import"./_commonjsHelpers.725317a4.js";const M={key:0,class:"text-red"},$={key:0,class:"text-red"},G=k({__name:"VeeValidateCheckbox",setup(q){const{handleSubmit:b}=w({validationSchema:E({name:v().required(),recaptcha:v().required("Please verify you are human")})}),{value:r,errorMessage:u}=x("name"),{value:s,errorMessage:m}=x("recaptcha"),c=b(i=>{console.log(i)});return(i,a)=>{const V=y,h=g;return l(),n("form",{class:"flex flex-col gap-2",onSubmit:a[2]||(a[2]=(...t)=>e(c)&&e(c)(...t))},[o("div",null,[S(o("input",{"onUpdate:modelValue":a[0]||(a[0]=t=>d(r)?r.value=t:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[C,e(r)]]),e(u)?(l(),n("div",M,p(e(u)),1)):_("",!0)]),o("div",null,[f(V,{modelValue:e(s),"onUpdate:modelValue":a[1]||(a[1]=t=>d(s)?s.value=t:null)},null,8,["modelValue"]),e(m)?(l(),n("div",$,p(e(m)),1)):_("",!0)]),o("div",null,[f(h,{type:"submit"},{default:B(()=>[N("Submit")]),_:1})])],32)}}});export{G as default}; diff --git a/_nuxt/VeeValidateInvisible.42833583.js b/_nuxt/VeeValidateInvisible.87dadd15.js similarity index 73% rename from _nuxt/VeeValidateInvisible.42833583.js rename to _nuxt/VeeValidateInvisible.87dadd15.js index 11608efcf3..d5692a9d9f 100644 --- a/_nuxt/VeeValidateInvisible.42833583.js +++ b/_nuxt/VeeValidateInvisible.87dadd15.js @@ -1 +1 @@ -import b from"./PrimaryButton.bdf5d038.js";import{_ as v}from"./ChallengeV2.vue.945a3d0f.js";import{d as x,r as g,a4 as y,b as u,c as i,e as n,a2 as S,a3 as h,L as a,Z as d,t as w,f as B,g as c,w as p,G as C}from"./entry.f8eaff67.js";import{u as N,c as k,a as $,b as D}from"./index.esm.f4e6c2d4.js";import"./component-v2.f92db7c5.js";import"./_commonjsHelpers.725317a4.js";const E={key:0,class:"text-red"},I=x({__name:"VeeValidateInvisible",setup(F){const{handleSubmit:f}=N({validationSchema:k({name:$().required()})}),{value:s,errorMessage:l}=D("name"),t=g(),r=f(async m=>{await y(t).changed(),console.log({...m,response:t.value})});return(m,e)=>{const _=b,V=v;return u(),i("form",{class:"flex flex-col gap-2",onSubmit:e[2]||(e[2]=(...o)=>a(r)&&a(r)(...o))},[n("div",null,[S(n("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>d(s)?s.value=o:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[h,a(s)]]),a(l)?(u(),i("div",E,w(a(l)),1)):B("",!0)]),n("div",null,[c(V,{modelValue:a(t),"onUpdate:modelValue":e[1]||(e[1]=o=>d(t)?t.value=o:null)},{default:p(()=>[c(_,{type:"submit"},{default:p(()=>[C("Submit")]),_:1})]),_:1},8,["modelValue"])])],32)}}});export{I as default}; +import b from"./PrimaryButton.1a174aea.js";import{_ as v}from"./ChallengeV2.vue.35e1bf54.js";import{d as x,r as g,a4 as y,b as u,c as i,e as n,a2 as S,a3 as h,L as a,Z as d,t as w,f as B,g as c,w as p,G as C}from"./entry.6e9008ac.js";import{u as N,c as k,a as $,b as D}from"./index.esm.24d85c24.js";import"./component-v2.819854c2.js";import"./_commonjsHelpers.725317a4.js";const E={key:0,class:"text-red"},I=x({__name:"VeeValidateInvisible",setup(F){const{handleSubmit:f}=N({validationSchema:k({name:$().required()})}),{value:s,errorMessage:l}=D("name"),t=g(),r=f(async m=>{await y(t).changed(),console.log({...m,response:t.value})});return(m,e)=>{const _=b,V=v;return u(),i("form",{class:"flex flex-col gap-2",onSubmit:e[2]||(e[2]=(...o)=>a(r)&&a(r)(...o))},[n("div",null,[S(n("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>d(s)?s.value=o:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[h,a(s)]]),a(l)?(u(),i("div",E,w(a(l)),1)):B("",!0)]),n("div",null,[c(V,{modelValue:a(t),"onUpdate:modelValue":e[1]||(e[1]=o=>d(t)?t.value=o:null)},{default:p(()=>[c(_,{type:"submit"},{default:p(()=>[C("Submit")]),_:1})]),_:1},8,["modelValue"])])],32)}}});export{I as default}; diff --git a/_nuxt/VideoPlayer.b91c280c.js b/_nuxt/VideoPlayer.f999f1e2.js similarity index 93% rename from _nuxt/VideoPlayer.b91c280c.js rename to _nuxt/VideoPlayer.f999f1e2.js index 118bbb77f4..dd405726a7 100644 --- a/_nuxt/VideoPlayer.b91c280c.js +++ b/_nuxt/VideoPlayer.f999f1e2.js @@ -1 +1 @@ -import{_}from"./NuxtImg.vue.a13fd3ea.js";import{d as f,K as i,r as m,b as s,c as a,L as e,Y as v,f as u,F as b,aC as h,n as k,p as g,i as w,e as x,k as B}from"./entry.f8eaff67.js";const C=t=>(g("data-v-6bf23cab"),t=t(),w(),t),I={key:1,class:"loaded"},S=["poster"],V=["src"],$=["src","type"],N=["autoplay","src"],P=C(()=>x("button",null,null,-1)),E=[P],F=f({__name:"VideoPlayer",props:{poster:{type:String,default:""},src:{type:String,default:""},sources:{type:Array,default:()=>[]},autoplay:{type:Boolean,default:!1}},setup(t){const r=t,c=i(()=>{if(r.src&&r.src.includes("youtube.com/watch")){const o=r.src.match(/\?v=([^&]*)/);return{name:"youtube",src:`https://www.youtube-nocookie.com/embed/${(o==null?void 0:o[1])||""}?autoplay=1`,poster:r.poster||`https://i3.ytimg.com/vi/${(o==null?void 0:o[1])||""}/hqdefault.jpg`}}}),p=m(!1);if(!r.src&&!r.sources.length)throw new Error("VideoPlayer: you need to provide either `src` or `sources` props");const d=i(()=>{var o,l;return r.src||((l=(o=r.sources)==null?void 0:o[0])==null?void 0:l.src)||!1});return(o,l)=>{const y=_;return s(),a("div",{class:k(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),v(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",I,[e(c)?e(c).name==="youtube"?(s(),a("iframe",{key:1,allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"true",autoplay:t.autoplay,src:e(c).src},null,8,N)):u("",!0):(s(),a("video",{key:0,poster:t.poster,controls:"",autoplay:""},[e(d)?(s(),a("source",{key:0,src:e(d)},null,8,V)):u("",!0),(s(!0),a(b,null,h(t.sources,n=>(s(),a("source",{key:n.src||n,src:n.src||n,type:n.type},null,8,$))),128))],8,S))])):u("",!0),e(p)?u("",!0):(s(),a("div",{key:2,class:"play-button",onClick:l[0]||(l[0]=n=>p.value=!0)},E))],2)}}});const q=B(F,[["__scopeId","data-v-6bf23cab"]]);export{q as default}; +import{_}from"./NuxtImg.vue.4d57c99d.js";import{d as f,K as i,r as m,b as s,c as a,L as e,Y as v,f as u,F as b,aC as h,n as k,p as g,i as w,e as x,k as B}from"./entry.6e9008ac.js";const C=t=>(g("data-v-6bf23cab"),t=t(),w(),t),I={key:1,class:"loaded"},S=["poster"],V=["src"],$=["src","type"],N=["autoplay","src"],P=C(()=>x("button",null,null,-1)),E=[P],F=f({__name:"VideoPlayer",props:{poster:{type:String,default:""},src:{type:String,default:""},sources:{type:Array,default:()=>[]},autoplay:{type:Boolean,default:!1}},setup(t){const r=t,c=i(()=>{if(r.src&&r.src.includes("youtube.com/watch")){const o=r.src.match(/\?v=([^&]*)/);return{name:"youtube",src:`https://www.youtube-nocookie.com/embed/${(o==null?void 0:o[1])||""}?autoplay=1`,poster:r.poster||`https://i3.ytimg.com/vi/${(o==null?void 0:o[1])||""}/hqdefault.jpg`}}}),p=m(!1);if(!r.src&&!r.sources.length)throw new Error("VideoPlayer: you need to provide either `src` or `sources` props");const d=i(()=>{var o,l;return r.src||((l=(o=r.sources)==null?void 0:o[0])==null?void 0:l.src)||!1});return(o,l)=>{const y=_;return s(),a("div",{class:k(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),v(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",I,[e(c)?e(c).name==="youtube"?(s(),a("iframe",{key:1,allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"true",autoplay:t.autoplay,src:e(c).src},null,8,N)):u("",!0):(s(),a("video",{key:0,poster:t.poster,controls:"",autoplay:""},[e(d)?(s(),a("source",{key:0,src:e(d)},null,8,V)):u("",!0),(s(!0),a(b,null,h(t.sources,n=>(s(),a("source",{key:n.src||n,src:n.src||n,type:n.type},null,8,$))),128))],8,S))])):u("",!0),e(p)?u("",!0):(s(),a("div",{key:2,class:"play-button",onClick:l[0]||(l[0]=n=>p.value=!0)},E))],2)}}});const q=B(F,[["__scopeId","data-v-6bf23cab"]]);export{q as default}; diff --git a/_nuxt/VoltaBoard.49ea757e.js b/_nuxt/VoltaBoard.b036a22f.js similarity index 79% rename from _nuxt/VoltaBoard.49ea757e.js rename to _nuxt/VoltaBoard.b036a22f.js index f184a77778..52130bc2b2 100644 --- a/_nuxt/VoltaBoard.49ea757e.js +++ b/_nuxt/VoltaBoard.b036a22f.js @@ -1 +1 @@ -import{d as r,K as s,b as n,c as a,L as c}from"./entry.f8eaff67.js";const _=["src"],d=r({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=s(()=>`https://volta.net/embed/${t.token}`);return(l,p)=>(n(),a("iframe",{src:c(o),class:"w-full"},null,8,_))}});export{d as default}; +import{d as r,K as s,b as n,c as a,L as c}from"./entry.6e9008ac.js";const _=["src"],d=r({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=s(()=>`https://volta.net/embed/${t.token}`);return(l,p)=>(n(),a("iframe",{src:c(o),class:"w-full"},null,8,_))}});export{d as default}; diff --git a/_nuxt/arc.9766e99d.js b/_nuxt/arc.1826e296.js similarity index 96% rename from _nuxt/arc.9766e99d.js rename to _nuxt/arc.1826e296.js index e82e852d7d..589db0e736 100644 --- a/_nuxt/arc.9766e99d.js +++ b/_nuxt/arc.1826e296.js @@ -1 +1 @@ -import{w as ln,c as B}from"./path.53f90ab3.js";import{ao as an,ap as H,aq as q,ar as rn,as as y,am as on,at as L,au as _,av as un,aw as t,ax as sn,ay as tn,az as fn}from"./mermaid.core.0bf3cbc4.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function xn(l,h,E,z,v,A,C,a){var I=E-l,i=z-h,n=C-v,m=a-A,r=m*I-n*i;if(!(r*ru*u+G*G&&(S=P,j=x),{cx:S,cy:j,x01:-n,y01:-m,x11:S*(v/T-1),y11:j*(v/T-1)}}function vn(){var l=cn,h=yn,E=B(0),z=null,v=gn,A=mn,C=pn,a=null,I=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=A.apply(this,arguments)-rn,F=un(c-f),o=c>f;if(a||(a=n=I()),sy))a.moveTo(0,0);else if(F>on-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*H(c),r*q(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,R=f,T=c,w=F,O=F,S=C.apply(this,arguments)/2,j=S>y&&(z?+z.apply(this,arguments):L(r*r+s*s)),P=_(un(s-r)/2,+E.apply(this,arguments)),x=P,d=P,e,u;if(j>y){var G=sn(j/r*q(S)),M=sn(j/s*q(S));(w-=G*2)>y?(G*=o?1:-1,R+=G,T-=G):(w=0,R=T=(f+c)/2),(O-=M*2)>y?(M*=o?1:-1,p+=M,g-=M):(O=0,p=g=(f+c)/2)}var J=s*H(p),K=s*q(p),N=r*H(T),Q=r*q(T);if(P>y){var U=s*H(g),V=s*q(g),X=r*H(R),Y=r*q(R),D;if(Fy?d>y?(e=W(X,Y,J,K,s,d,o),u=W(U,V,N,Q,s,d,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),dy)||!(w>y)?a.lineTo(N,Q):x>y?(e=W(N,Q,U,V,r,-x,o),u=W(J,K,X,Y,r,-x,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),xu*u+G*G&&(S=P,j=x),{cx:S,cy:j,x01:-n,y01:-m,x11:S*(v/T-1),y11:j*(v/T-1)}}function vn(){var l=cn,h=yn,E=B(0),z=null,v=gn,A=mn,C=pn,a=null,I=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=A.apply(this,arguments)-rn,F=un(c-f),o=c>f;if(a||(a=n=I()),sy))a.moveTo(0,0);else if(F>on-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*H(c),r*q(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,R=f,T=c,w=F,O=F,S=C.apply(this,arguments)/2,j=S>y&&(z?+z.apply(this,arguments):L(r*r+s*s)),P=_(un(s-r)/2,+E.apply(this,arguments)),x=P,d=P,e,u;if(j>y){var G=sn(j/r*q(S)),M=sn(j/s*q(S));(w-=G*2)>y?(G*=o?1:-1,R+=G,T-=G):(w=0,R=T=(f+c)/2),(O-=M*2)>y?(M*=o?1:-1,p+=M,g-=M):(O=0,p=g=(f+c)/2)}var J=s*H(p),K=s*q(p),N=r*H(T),Q=r*q(T);if(P>y){var U=s*H(g),V=s*q(g),X=r*H(R),Y=r*q(R),D;if(Fy?d>y?(e=W(X,Y,J,K,s,d,o),u=W(U,V,N,Q,s,d,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),dy)||!(w>y)?a.lineTo(N,Q):x>y?(e=W(N,Q,U,V,r,-x,o),u=W(J,K,X,Y,r,-x,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),x"u"&&(S.yylloc={});var se=S.yylloc;h.push(se);var Ye=S.options&&S.options.ranges;typeof Mt.yy.parseError=="function"?this.parseError=Mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var X;return X=g.pop()||S.lex()||ge,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,Lt,N,ae,Bt={},Xt,z,be,Wt;;){if(Lt=m[m.length-1],this.defaultActions[Lt]?N=this.defaultActions[Lt]:((M===null||typeof M>"u")&&(M=Ie()),N=Vt[Lt]&&Vt[Lt][M]),typeof N>"u"||!N.length||!N[0]){var re="";Wt=[];for(Xt in Vt[Lt])this.terminals_[Xt]&&Xt>Ne&&Wt.push("'"+this.terminals_[Xt]+"'");S.showPosition?re="Parse error on line "+(Pt+1)+`: +import{s as Ve,g as je,a as Ue,b as Fe,c as Ut,d as Ee,e as ze,f as Xe,h as Yt,i as Qt,l as _e,j as We,k as ke,w as Qe,n as le,o as xe}from"./mermaid.core.ebd445a5.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";var qt=function(){var e=function(Ot,_,x,m){for(x=x||{},m=Ot.length;m--;x[Ot[m]]=_);return x},t=[1,6],n=[1,7],o=[1,8],l=[1,9],i=[1,16],a=[1,11],r=[1,12],s=[1,13],u=[1,14],y=[1,15],d=[1,27],p=[1,33],C=[1,34],T=[1,35],R=[1,36],D=[1,37],L=[1,72],Y=[1,73],Q=[1,74],H=[1,75],q=[1,76],G=[1,77],K=[1,78],J=[1,38],Z=[1,39],$=[1,40],tt=[1,41],et=[1,42],it=[1,43],nt=[1,44],st=[1,45],at=[1,46],rt=[1,47],lt=[1,48],ot=[1,49],ct=[1,50],ht=[1,51],ut=[1,52],dt=[1,53],ft=[1,54],pt=[1,55],yt=[1,56],gt=[1,57],bt=[1,59],_t=[1,60],xt=[1,61],mt=[1,62],vt=[1,63],Et=[1,64],kt=[1,65],At=[1,66],Ct=[1,67],wt=[1,68],Tt=[1,69],Nt=[24,52],$t=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],It=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],v=[1,94],E=[1,95],k=[1,96],A=[1,97],w=[15,24,52],fe=[7,8,9,10,18,22,25,26,27,28],pe=[15,24,43,52],zt=[15,24,43,52,86,87,89,90],Dt=[15,43],te=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(_,x,m,g,O,h,Vt){var f=h.length-1;switch(O){case 4:g.setDirection("TB");break;case 5:g.setDirection("BT");break;case 6:g.setDirection("RL");break;case 7:g.setDirection("LR");break;case 11:g.parseDirective("%%{","open_directive");break;case 12:break;case 13:h[f]=h[f].trim().replace(/'/g,'"'),g.parseDirective(h[f],"arg_directive");break;case 14:g.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:g.setC4Type(h[f-3]);break;case 26:g.setTitle(h[f].substring(6)),this.$=h[f].substring(6);break;case 27:g.setAccDescription(h[f].substring(15)),this.$=h[f].substring(15);break;case 28:this.$=h[f].trim(),g.setTitle(this.$);break;case 29:case 30:this.$=h[f].trim(),g.setAccDescription(this.$);break;case 35:case 36:h[f].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...h[f]),this.$=h[f];break;case 37:g.addPersonOrSystemBoundary(...h[f]),this.$=h[f];break;case 38:h[f].splice(2,0,"CONTAINER"),g.addContainerBoundary(...h[f]),this.$=h[f];break;case 39:g.addDeploymentNode("node",...h[f]),this.$=h[f];break;case 40:g.addDeploymentNode("nodeL",...h[f]),this.$=h[f];break;case 41:g.addDeploymentNode("nodeR",...h[f]),this.$=h[f];break;case 42:g.popBoundaryParseStack();break;case 46:g.addPersonOrSystem("person",...h[f]),this.$=h[f];break;case 47:g.addPersonOrSystem("external_person",...h[f]),this.$=h[f];break;case 48:g.addPersonOrSystem("system",...h[f]),this.$=h[f];break;case 49:g.addPersonOrSystem("system_db",...h[f]),this.$=h[f];break;case 50:g.addPersonOrSystem("system_queue",...h[f]),this.$=h[f];break;case 51:g.addPersonOrSystem("external_system",...h[f]),this.$=h[f];break;case 52:g.addPersonOrSystem("external_system_db",...h[f]),this.$=h[f];break;case 53:g.addPersonOrSystem("external_system_queue",...h[f]),this.$=h[f];break;case 54:g.addContainer("container",...h[f]),this.$=h[f];break;case 55:g.addContainer("container_db",...h[f]),this.$=h[f];break;case 56:g.addContainer("container_queue",...h[f]),this.$=h[f];break;case 57:g.addContainer("external_container",...h[f]),this.$=h[f];break;case 58:g.addContainer("external_container_db",...h[f]),this.$=h[f];break;case 59:g.addContainer("external_container_queue",...h[f]),this.$=h[f];break;case 60:g.addComponent("component",...h[f]),this.$=h[f];break;case 61:g.addComponent("component_db",...h[f]),this.$=h[f];break;case 62:g.addComponent("component_queue",...h[f]),this.$=h[f];break;case 63:g.addComponent("external_component",...h[f]),this.$=h[f];break;case 64:g.addComponent("external_component_db",...h[f]),this.$=h[f];break;case 65:g.addComponent("external_component_queue",...h[f]),this.$=h[f];break;case 67:g.addRel("rel",...h[f]),this.$=h[f];break;case 68:g.addRel("birel",...h[f]),this.$=h[f];break;case 69:g.addRel("rel_u",...h[f]),this.$=h[f];break;case 70:g.addRel("rel_d",...h[f]),this.$=h[f];break;case 71:g.addRel("rel_l",...h[f]),this.$=h[f];break;case 72:g.addRel("rel_r",...h[f]),this.$=h[f];break;case 73:g.addRel("rel_b",...h[f]),this.$=h[f];break;case 74:h[f].splice(0,1),g.addRel("rel",...h[f]),this.$=h[f];break;case 75:g.updateElStyle("update_el_style",...h[f]),this.$=h[f];break;case 76:g.updateRelStyle("update_rel_style",...h[f]),this.$=h[f];break;case 77:g.updateLayoutConfig("update_layout_config",...h[f]),this.$=h[f];break;case 78:this.$=[h[f]];break;case 79:h[f].unshift(h[f-1]),this.$=h[f];break;case 80:case 82:this.$=h[f].trim();break;case 81:let Pt={};Pt[h[f-1].trim()]=h[f].trim(),this.$=Pt;break;case 83:this.$="";break}},table:[{3:1,4:2,5:3,6:4,7:t,8:n,9:o,10:l,11:5,12:10,18:i,22:a,25:r,26:s,27:u,28:y},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:t,8:n,9:o,10:l,11:5,12:10,18:i,22:a,25:r,26:s,27:u,28:y},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:d},e([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:79,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:80,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:81,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:82,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},e(Nt,[2,20],{53:32,39:58,40:70,42:71,30:87,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt}),e(Nt,[2,21]),e($t,[2,23],{15:[1,88]}),e(Nt,[2,43],{15:[1,89]}),e(It,[2,26]),e(It,[2,27]),{35:[1,90]},{37:[1,91]},e(It,[2,30]),{45:92,85:93,86:v,87:E,89:k,90:A},{45:98,85:93,86:v,87:E,89:k,90:A},{45:99,85:93,86:v,87:E,89:k,90:A},{45:100,85:93,86:v,87:E,89:k,90:A},{45:101,85:93,86:v,87:E,89:k,90:A},{45:102,85:93,86:v,87:E,89:k,90:A},{45:103,85:93,86:v,87:E,89:k,90:A},{45:104,85:93,86:v,87:E,89:k,90:A},{45:105,85:93,86:v,87:E,89:k,90:A},{45:106,85:93,86:v,87:E,89:k,90:A},{45:107,85:93,86:v,87:E,89:k,90:A},{45:108,85:93,86:v,87:E,89:k,90:A},{45:109,85:93,86:v,87:E,89:k,90:A},{45:110,85:93,86:v,87:E,89:k,90:A},{45:111,85:93,86:v,87:E,89:k,90:A},{45:112,85:93,86:v,87:E,89:k,90:A},{45:113,85:93,86:v,87:E,89:k,90:A},{45:114,85:93,86:v,87:E,89:k,90:A},{45:115,85:93,86:v,87:E,89:k,90:A},{45:116,85:93,86:v,87:E,89:k,90:A},e(w,[2,66]),{45:117,85:93,86:v,87:E,89:k,90:A},{45:118,85:93,86:v,87:E,89:k,90:A},{45:119,85:93,86:v,87:E,89:k,90:A},{45:120,85:93,86:v,87:E,89:k,90:A},{45:121,85:93,86:v,87:E,89:k,90:A},{45:122,85:93,86:v,87:E,89:k,90:A},{45:123,85:93,86:v,87:E,89:k,90:A},{45:124,85:93,86:v,87:E,89:k,90:A},{45:125,85:93,86:v,87:E,89:k,90:A},{45:126,85:93,86:v,87:E,89:k,90:A},{45:127,85:93,86:v,87:E,89:k,90:A},{30:128,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{15:[1,130],43:[1,129]},{45:131,85:93,86:v,87:E,89:k,90:A},{45:132,85:93,86:v,87:E,89:k,90:A},{45:133,85:93,86:v,87:E,89:k,90:A},{45:134,85:93,86:v,87:E,89:k,90:A},{45:135,85:93,86:v,87:E,89:k,90:A},{45:136,85:93,86:v,87:E,89:k,90:A},{45:137,85:93,86:v,87:E,89:k,90:A},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},e(fe,[2,9]),{14:142,21:d},{21:[2,13]},{1:[2,15]},e(Nt,[2,22]),e($t,[2,24],{31:31,29:143,32:p,33:C,34:T,36:R,38:D}),e(Nt,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:p,33:C,34:T,36:R,38:D,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt}),e(It,[2,28]),e(It,[2,29]),e(w,[2,46]),e(pe,[2,78],{85:93,45:145,86:v,87:E,89:k,90:A}),e(zt,[2,80]),{88:[1,146]},e(zt,[2,82]),e(zt,[2,83]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,59]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),e(w,[2,71]),e(w,[2,72]),e(w,[2,73]),e(w,[2,74]),e(w,[2,75]),e(w,[2,76]),e(w,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},e(Dt,[2,35]),e(Dt,[2,36]),e(Dt,[2,37]),e(Dt,[2,38]),e(Dt,[2,39]),e(Dt,[2,40]),e(Dt,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},e($t,[2,25]),e(Nt,[2,45]),e(pe,[2,79]),e(zt,[2,81]),e(w,[2,31]),e(w,[2,42]),e(te,[2,32]),e(te,[2,33],{15:[1,152]}),e(fe,[2,10]),e(te,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(_,x){if(x.recoverable)this.trace(_);else{var m=new Error(_);throw m.hash=x,m}},parse:function(_){var x=this,m=[0],g=[],O=[null],h=[],Vt=this.table,f="",Pt=0,ye=0,Ne=2,ge=1,Be=h.slice.call(arguments,1),S=Object.create(this.lexer),Mt={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(Mt.yy[ne]=this.yy[ne]);S.setInput(_,Mt.yy),Mt.yy.lexer=S,Mt.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var se=S.yylloc;h.push(se);var Ye=S.options&&S.options.ranges;typeof Mt.yy.parseError=="function"?this.parseError=Mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var X;return X=g.pop()||S.lex()||ge,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,Lt,N,ae,Bt={},Xt,z,be,Wt;;){if(Lt=m[m.length-1],this.defaultActions[Lt]?N=this.defaultActions[Lt]:((M===null||typeof M>"u")&&(M=Ie()),N=Vt[Lt]&&Vt[Lt][M]),typeof N>"u"||!N.length||!N[0]){var re="";Wt=[];for(Xt in Vt[Lt])this.terminals_[Xt]&&Xt>Ne&&Wt.push("'"+this.terminals_[Xt]+"'");S.showPosition?re="Parse error on line "+(Pt+1)+`: `+S.showPosition()+` Expecting `+Wt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":re="Parse error on line "+(Pt+1)+": Unexpected "+(M==ge?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(re,{text:S.match,token:this.terminals_[M]||M,line:S.yylineno,loc:se,expected:Wt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Lt+", token: "+M);switch(N[0]){case 1:m.push(M),O.push(S.yytext),h.push(S.yylloc),m.push(N[1]),M=null,ye=S.yyleng,f=S.yytext,Pt=S.yylineno,se=S.yylloc;break;case 2:if(z=this.productions_[N[1]][1],Bt.$=O[O.length-z],Bt._$={first_line:h[h.length-(z||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(z||1)].first_column,last_column:h[h.length-1].last_column},Ye&&(Bt._$.range=[h[h.length-(z||1)].range[0],h[h.length-1].range[1]]),ae=this.performAction.apply(Bt,[f,ye,Pt,Mt.yy,N[1],O,h].concat(Be)),typeof ae<"u")return ae;z&&(m=m.slice(0,-1*z*2),O=O.slice(0,-1*z),h=h.slice(0,-1*z)),m.push(this.productions_[N[1]][0]),O.push(Bt.$),h.push(Bt._$),be=Vt[m[m.length-2]][m[m.length-1]],m.push(be);break;case 3:return!0}}return!0}},Le=function(){var Ot={EOF:1,parseError:function(x,m){if(this.yy.parser)this.yy.parser.parseError(x,m);else throw new Error(x)},setInput:function(_,x){return this.yy=x||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var x=_.match(/(?:\r\n?|\n).*/g);return x?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var x=_.length,m=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===g.length?this.yylloc.first_column:0)+g[g.length-m.length].length-m[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),x=new Array(_.length+1).join("-");return _+this.upcomingInput()+` diff --git a/_nuxt/classDiagram-634fc78b.4faf8b4a.js b/_nuxt/classDiagram-634fc78b.f82e16b1.js similarity index 92% rename from _nuxt/classDiagram-634fc78b.4faf8b4a.js rename to _nuxt/classDiagram-634fc78b.f82e16b1.js index 963913bbf5..e1b37fd192 100644 --- a/_nuxt/classDiagram-634fc78b.4faf8b4a.js +++ b/_nuxt/classDiagram-634fc78b.f82e16b1.js @@ -1 +1 @@ -import{p as W,d as M,s as H}from"./styles-16907e1b.8a3d979f.js";import{c as S,l as d,i as u,j as X}from"./mermaid.core.0bf3cbc4.js";import{G as Y,l as Z}from"./layout.e30182f8.js";import{s as l}from"./svgDraw-2526cba0.cff159e4.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./line.7016ab98.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";let h={};const g=20,p=function(e){const s=Object.entries(h).find(k=>k[1].label===e);if(s)return s[0]},$=function(e){e.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},D=function(e,s,k,a){const c=S().class;h={},d.info("Rendering diagram "+e);const L=S().securityLevel;let y;L==="sandbox"&&(y=u("#i"+s));const x=L==="sandbox"?u(y.nodes()[0].contentDocument.body):u("body"),n=x.select(`[id='${s}']`);$(n);const r=new Y({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const m=a.db.getClasses(),N=Object.keys(m);for(const t of N){const o=m[t],i=l.drawClass(n,o,c,a);h[i.id]=i,r.setNode(i.id,i),d.info("Org height: "+i.height)}a.db.getRelations().forEach(function(t){d.info("tjoho"+p(t.id1)+p(t.id2)+JSON.stringify(t)),r.setEdge(p(t.id1),p(t.id2),{relation:t},t.title||"DEFAULT")}),a.db.getNotes().forEach(function(t){d.debug(`Adding note: ${JSON.stringify(t)}`);const o=l.drawNote(n,t,c,a);h[o.id]=o,r.setNode(o.id,o),t.class&&t.class in m&&r.setEdge(t.id,p(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),Z(r),r.nodes().forEach(function(t){t!==void 0&&r.node(t)!==void 0&&(d.debug("Node "+t+": "+JSON.stringify(r.node(t))),x.select("#"+(a.db.lookUpDomId(t)||t)).attr("transform","translate("+(r.node(t).x-r.node(t).width/2)+","+(r.node(t).y-r.node(t).height/2)+" )"))}),r.edges().forEach(function(t){t!==void 0&&r.edge(t)!==void 0&&(d.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r.edge(t))),l.drawEdge(n,r.edge(t),r.edge(t).relation,c,a))});const f=n.node().getBBox(),E=f.width+g*2,b=f.height+g*2;X(n,b,E,c.useMaxWidth);const w=`${f.x-g} ${f.y-g} ${E} ${b}`;d.debug(`viewBox ${w}`),n.attr("viewBox",w)},B={draw:D},z={parser:W,db:M,renderer:B,styles:H,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,M.clear()}};export{z as diagram}; +import{p as W,d as M,s as H}from"./styles-16907e1b.c4f33ec5.js";import{c as S,l as d,i as u,j as X}from"./mermaid.core.ebd445a5.js";import{G as Y,l as Z}from"./layout.6ca81b77.js";import{s as l}from"./svgDraw-2526cba0.2cced117.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./line.56665913.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";let h={};const g=20,p=function(e){const s=Object.entries(h).find(k=>k[1].label===e);if(s)return s[0]},$=function(e){e.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},D=function(e,s,k,a){const c=S().class;h={},d.info("Rendering diagram "+e);const L=S().securityLevel;let y;L==="sandbox"&&(y=u("#i"+s));const x=L==="sandbox"?u(y.nodes()[0].contentDocument.body):u("body"),n=x.select(`[id='${s}']`);$(n);const r=new Y({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const m=a.db.getClasses(),N=Object.keys(m);for(const t of N){const o=m[t],i=l.drawClass(n,o,c,a);h[i.id]=i,r.setNode(i.id,i),d.info("Org height: "+i.height)}a.db.getRelations().forEach(function(t){d.info("tjoho"+p(t.id1)+p(t.id2)+JSON.stringify(t)),r.setEdge(p(t.id1),p(t.id2),{relation:t},t.title||"DEFAULT")}),a.db.getNotes().forEach(function(t){d.debug(`Adding note: ${JSON.stringify(t)}`);const o=l.drawNote(n,t,c,a);h[o.id]=o,r.setNode(o.id,o),t.class&&t.class in m&&r.setEdge(t.id,p(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),Z(r),r.nodes().forEach(function(t){t!==void 0&&r.node(t)!==void 0&&(d.debug("Node "+t+": "+JSON.stringify(r.node(t))),x.select("#"+(a.db.lookUpDomId(t)||t)).attr("transform","translate("+(r.node(t).x-r.node(t).width/2)+","+(r.node(t).y-r.node(t).height/2)+" )"))}),r.edges().forEach(function(t){t!==void 0&&r.edge(t)!==void 0&&(d.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r.edge(t))),l.drawEdge(n,r.edge(t),r.edge(t).relation,c,a))});const f=n.node().getBBox(),E=f.width+g*2,b=f.height+g*2;X(n,b,E,c.useMaxWidth);const w=`${f.x-g} ${f.y-g} ${E} ${b}`;d.debug(`viewBox ${w}`),n.attr("viewBox",w)},B={draw:D},z={parser:W,db:M,renderer:B,styles:H,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,M.clear()}};export{z as diagram}; diff --git a/_nuxt/classDiagram-v2-72bddc41.57c3851e.js b/_nuxt/classDiagram-v2-72bddc41.f4d236d4.js similarity index 90% rename from _nuxt/classDiagram-v2-72bddc41.57c3851e.js rename to _nuxt/classDiagram-v2-72bddc41.f4d236d4.js index 9e479b32fe..95a8d894db 100644 --- a/_nuxt/classDiagram-v2-72bddc41.57c3851e.js +++ b/_nuxt/classDiagram-v2-72bddc41.f4d236d4.js @@ -1,2 +1,2 @@ -import{p as _,d as k,s as M}from"./styles-16907e1b.8a3d979f.js";import{l as p,c as a,i as w,z as R,u as B,t as C,p as D,q as G,n as E}from"./mermaid.core.0bf3cbc4.js";import{G as I}from"./layout.e30182f8.js";import{r as $}from"./index-5219d011.a0e167f8.js";import"./createText-1f5f8f92.b8d15877.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./edges-2e77835f.9fcf4ce3.js";import"./svgDraw-2526cba0.cff159e4.js";import"./line.7016ab98.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const A=s=>E.sanitizeText(s,a());let S={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const z=function(s,o,f,n){const e=Object.keys(s);p.info("keys:",e),p.info(s),e.forEach(function(i){var l,r;const t=s[i];let y="";t.cssClasses.length>0&&(y=y+" "+t.cssClasses.join(" "));const c={labelStyle:"",style:""},m=t.label??t.id,d=0,u="class_box",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),classData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.domId,tooltip:n.db.getTooltip(t.id)||"",haveCallback:t.haveCallback,link:t.link,width:t.type==="group"?500:void 0,type:t.type,padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};o.setNode(t.id,b),p.info("setNode",b)})},q=function(s,o,f,n){p.info(s),s.forEach(function(e,i){var l,r;const t=e,y="",c={labelStyle:"",style:""},m=t.text,d=0,u="note",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),noteData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.id,tooltip:"",type:"note",padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};if(o.setNode(t.id,b),p.info("setNode",b),!t.class||!(t.class in n))return;const v=f+i,g={id:`edgeNote${v}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:C(S.curve,D)};o.setEdge(t.id,t.class,g,v)})},F=function(s,o){const f=a().flowchart;let n=0;s.forEach(function(e){var i;n++;const l={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:"id"+n,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:L(e.relation.type1),arrowTypeEnd:L(e.relation.type2),style:"fill:none",labelStyle:"",curve:C(f==null?void 0:f.curve,D)};if(p.info(l,e),e.style!==void 0){const r=G(e.style);l.style=r.style,l.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",((i=a().flowchart)==null?void 0:i.htmlLabels)??a().htmlLabels?(l.labelType="html",l.label=''+e.text+""):(l.labelType="text",l.label=e.text.replace(E.lineBreakRegex,` +import{p as _,d as k,s as M}from"./styles-16907e1b.c4f33ec5.js";import{l as p,c as a,i as w,z as R,u as B,t as C,p as D,q as G,n as E}from"./mermaid.core.ebd445a5.js";import{G as I}from"./layout.6ca81b77.js";import{r as $}from"./index-5219d011.b2f10b44.js";import"./createText-1f5f8f92.68559ab5.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./edges-2e77835f.697716b4.js";import"./svgDraw-2526cba0.2cced117.js";import"./line.56665913.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const A=s=>E.sanitizeText(s,a());let S={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const z=function(s,o,f,n){const e=Object.keys(s);p.info("keys:",e),p.info(s),e.forEach(function(i){var l,r;const t=s[i];let y="";t.cssClasses.length>0&&(y=y+" "+t.cssClasses.join(" "));const c={labelStyle:"",style:""},m=t.label??t.id,d=0,u="class_box",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),classData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.domId,tooltip:n.db.getTooltip(t.id)||"",haveCallback:t.haveCallback,link:t.link,width:t.type==="group"?500:void 0,type:t.type,padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};o.setNode(t.id,b),p.info("setNode",b)})},q=function(s,o,f,n){p.info(s),s.forEach(function(e,i){var l,r;const t=e,y="",c={labelStyle:"",style:""},m=t.text,d=0,u="note",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),noteData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.id,tooltip:"",type:"note",padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};if(o.setNode(t.id,b),p.info("setNode",b),!t.class||!(t.class in n))return;const v=f+i,g={id:`edgeNote${v}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:C(S.curve,D)};o.setEdge(t.id,t.class,g,v)})},F=function(s,o){const f=a().flowchart;let n=0;s.forEach(function(e){var i;n++;const l={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:"id"+n,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:L(e.relation.type1),arrowTypeEnd:L(e.relation.type2),style:"fill:none",labelStyle:"",curve:C(f==null?void 0:f.curve,D)};if(p.info(l,e),e.style!==void 0){const r=G(e.style);l.style=r.style,l.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",((i=a().flowchart)==null?void 0:i.htmlLabels)??a().htmlLabels?(l.labelType="html",l.label=''+e.text+""):(l.labelType="text",l.label=e.text.replace(E.lineBreakRegex,` `),e.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),o.setEdge(e.id1,e.id2,l,n)})},H=function(s){S={...S,...s}},P=function(s,o,f,n){p.info("Drawing class - ",o);const e=a().flowchart??a().class,i=a().securityLevel;p.info("config:",e);const l=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,t=new I({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:l,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),y=n.db.getClasses(),c=n.db.getRelations(),m=n.db.getNotes();p.info(c),z(y,t,o,n),F(c,t),q(m,t,c.length+1,y);let d;i==="sandbox"&&(d=w("#i"+o));const u=i==="sandbox"?w(d.nodes()[0].contentDocument.body):w("body"),b=u.select(`[id="${o}"]`),v=u.select("#"+o+" g");if($(v,t,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",o),R.insertTitle(b,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,n.db.getDiagramTitle()),B(t,b,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const g=i==="sandbox"?d.nodes()[0].contentDocument:document,N=g.querySelectorAll('[id="'+o+'"] .edgeLabel .label');for(const x of N){const T=x.getBBox(),h=g.createElementNS("http://www.w3.org/2000/svg","rect");h.setAttribute("rx",0),h.setAttribute("ry",0),h.setAttribute("width",T.width),h.setAttribute("height",T.height),x.insertBefore(h,x.firstChild)}}};function L(s){let o;switch(s){case 0:o="aggregation";break;case 1:o="extension";break;case 2:o="composition";break;case 3:o="dependency";break;case 4:o="lollipop";break;default:o="none"}return o}const V={setConf:H,draw:P},le={parser:_,db:k,renderer:V,styles:M,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,k.clear()}};export{le as diagram}; diff --git a/_nuxt/client-db.755352fd.js b/_nuxt/client-db.75ee831a.js similarity index 99% rename from _nuxt/client-db.755352fd.js rename to _nuxt/client-db.75ee831a.js index 1e1dc8f5d5..d1e6427c06 100644 --- a/_nuxt/client-db.755352fd.js +++ b/_nuxt/client-db.75ee831a.js @@ -1 +1 @@ -import{ah as _,aU as W,aV as j,aW as E,aX as B,aY as T,aZ as $,a_ as P,a$ as x,aw as J,af as k,l as M,b0 as H,ai as N,aG as b,j as G}from"./entry.f8eaff67.js";import{c as q}from"./_commonjsHelpers.725317a4.js";const Z="memory",F=()=>{const r=new Map;return{name:Z,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function V(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function p(r,...t){try{return V(r(...t))}catch(n){return Promise.reject(n)}}function X(r){const t=typeof r;return r===null||t!=="object"&&t!=="function"}function Q(r){const t=Object.getPrototypeOf(r);return!t||t.isPrototypeOf(Object)}function K(r){if(X(r))return String(r);if(Q(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return K(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Y(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const C="base64:";function ee(r){if(typeof r=="string")return r;Y();const t=Buffer.from(r).toString("base64");return C+t}function te(r){return typeof r!="string"||!r.startsWith(C)?r:(Y(),Buffer.from(r.slice(C.length),"base64"))}const re=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function ne(r,t){if(t=A(t),!t)return r;const n={...r};for(const a of re)n[a]=(l="",...u)=>r[a](t+l,...u);return n.getKeys=(a="",...l)=>r.getKeys(t+a,...l).then(u=>u.map(o=>o.slice(t.length))),n}function d(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ie(...r){return d(r.join(":"))}function A(r){return r=d(r),r?r+":":""}const ae="memory",se=()=>{const r=new Map;return{name:ae,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function oe(r={}){const t={mounts:{"":r.driver||se()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of t.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:t.mounts[i]};return{base:"",relativeKey:e,driver:t.mounts[""]}},a=(e,i)=>t.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:t.mounts[s]})),l=(e,i)=>{if(t.watching){i=d(i);for(const s of t.watchListeners)s(e,i)}},u=async()=>{if(!t.watching){t.watching=!0;for(const e in t.mounts)t.unwatch[e]=await D(t.mounts[e],l,e)}},o=async()=>{if(t.watching){for(const e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},h=(e,i,s)=>{const c=new Map,f=m=>{let y=c.get(m.base);return y||(y={driver:m.driver,base:m.base,items:[]},c.set(m.base,y)),y};for(const m of e){const y=typeof m=="string",v=d(y?m:m.key),w=y?void 0:m.value,I=y||!m.options?i:{...i,...m.options},O=n(v);f(O).items.push({key:v,value:w,relativeKey:O.relativeKey,options:I})}return Promise.all([...c.values()].map(m=>s(m))).then(m=>m.flat())},g={hasItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.hasItem,s,i)},getItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.getItem,s,i).then(f=>_(f))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(c=>({key:c.relativeKey,options:c.options})),i).then(c=>c.map(f=>({key:ie(s.base,f.key),value:_(f.value)}))):Promise.all(s.items.map(c=>p(s.driver.getItem,c.relativeKey,c.options).then(f=>({key:c.key,value:_(f)})))))},getItemRaw(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return c.getItemRaw?p(c.getItemRaw,s,i):p(c.getItem,s,i).then(f=>te(f))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=d(e);const{relativeKey:c,driver:f}=n(e);f.setItem&&(await p(f.setItem,c,K(i),s),f.watch||l("update",e))},async setItems(e,i){await h(e,i,async s=>{s.driver.setItems&&await p(s.driver.setItems,s.items.map(c=>({key:c.relativeKey,value:K(c.value),options:c.options})),i),s.driver.setItem&&await Promise.all(s.items.map(c=>p(s.driver.setItem,c.relativeKey,K(c.value),c.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=d(e);const{relativeKey:c,driver:f}=n(e);if(f.setItemRaw)await p(f.setItemRaw,c,i,s);else if(f.setItem)await p(f.setItem,c,ee(i),s);else return;f.watch||l("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=d(e);const{relativeKey:s,driver:c}=n(e);c.removeItem&&(await p(c.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(c.removeItem,s+"$",i),c.watch||l("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=d(e);const{relativeKey:s,driver:c}=n(e),f=Object.create(null);if(c.getMeta&&Object.assign(f,await p(c.getMeta,s,i)),!i.nativeOnly){const m=await p(c.getItem,s+"$",i).then(y=>_(y));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=A(e);const s=a(e,!0);let c=[];const f=[];for(const m of s){const v=(await p(m.driver.getKeys,m.relativeBase,i)).map(w=>m.mountpoint+d(w)).filter(w=>!c.some(I=>w.startsWith(I)));f.push(...v),c=[m.mountpoint,...c.filter(w=>!w.startsWith(m.mountpoint))]}return e?f.filter(m=>m.startsWith(e)&&!m.endsWith("$")):f.filter(m=>!m.endsWith("$"))},async clear(e,i={}){e=A(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const c=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(c.map(f=>s.driver.removeItem(f,i)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>L(e)))},async watch(e){return await u(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(i=>i!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,i){if(e=A(e),e&&t.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((s,c)=>c.length-s.length)),t.mounts[e]=i,t.watching&&Promise.resolve(D(i,l,e)).then(s=>{t.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=A(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),i&&await L(t.mounts[e]),t.mountpoints=t.mountpoints.filter(s=>s!==e),delete t.mounts[e])},getMount(e=""){e=d(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=d(e),a(e,i.parents).map(c=>({driver:c.driver,base:c.mountpoint}))}};return g}function D(r,t,n){return r.watch?r.watch((a,l)=>t(a,n+l)):()=>{}}async function L(r){typeof r.dispose=="function"&&await p(r.dispose)}function ue(r={}){const t=ce(n,r.operators);function n(a,l){return typeof l!="object"||l instanceof RegExp?t.$eq(a,l):Object.keys(l||{}).every(u=>{const o=l[u];if(u.startsWith("$")&&t[u]){const h=t[u];return typeof h=="function"?h(a,o):!1}return n(W(a,u),o)})}return n}function ce(r,t={}){return{$match:(n,a)=>r(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!r(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(l=>r(n,l))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(l=>r(n,l))),$in:(n,a)=>E(a).some(l=>Array.isArray(n)?r(n,{$contains:l}):r(n,l)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),E(a).every(l=>n.includes(l))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),E(a).every(l=>n.includes(l.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(l=>n.includes(l))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const l=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=l?new RegExp(l[1],l[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...t||{}}}function le(r){const t=ue(),n=(u,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=u.findIndex(c=>t(c,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((c,f)=>u[i-h+f+ +(f>=h)]||null)},a=[(u,o)=>{const h=u.result.filter(g=>E(o.where).every(e=>t(g,e)));return{...u,result:h,total:h.length}},(u,o)=>E(o.sort).forEach(h=>T(u.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(x(h.only))(i),o.surround=i}return o}],l=[(u,o)=>{if(o.skip)return{...u,result:u.result.slice(o.skip),skip:o.skip}},(u,o)=>{if(o.limit)return{...u,result:u.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const c=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(m=>m._path))==null?void 0:s._path),f=g.find(m=>m._path===J(c,"_dir"));f&&(o.dirConfig={_path:f._path,...P(["_"])(f)})}return o},(u,o)=>({...u,result:$(P(o.without))(u.result)}),(u,o)=>({...u,result:$(x(o.only))(u.result)})];return async u=>{const o=await r(),h=u.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,c)=>c(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=l.reduce((s,c)=>c(s,h,o)||s,e);return h.first?{...B(["skip","limit","total"])(i),result:i.result[0]}:i}}function U(r){const t=le(r);return async n=>{var u;const a=n.params(),l=await t(n);return a.surround?l==null?void 0:l.surround:(l!=null&&l.dirConfig&&(l.result={_path:(u=l.dirConfig)==null?void 0:u._path,...l.result,_dir:l.dirConfig}),l==null?void 0:l.result)}}var fe={exports:{}};(function(r,t){(function(n,a,l){r.exports=l(),r.exports.default=l()})("slugify",q,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function l(u,o){if(typeof u!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=u.normalize().split("").reduce(function(s,c){var f=h[c];return f===void 0&&(f=n[c]),f===void 0&&(f=c),f===g&&(f=" "),s+f.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return l.extend=function(u){Object.assign(n,u)},l})})(fe);const me=r=>r.split(/[\s-]/g).map(k).join(" ");function he(r,t){const{navigation:n}=M().public.content,a=u=>({...pe(["title",...n.fields])(u),...de(u==null?void 0:u.navigation)?u.navigation:{}}),l=r.sort((u,o)=>u._path.localeCompare(o._path)).reduce((u,o)=>{const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!g[g.length-1].match(/([1-9][0-9]*\.)?index.md/g),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=t[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return u;if(o._path!=="/"){const m=i(o);s.children.push(m)}Object.assign(s,a(f))}return h.length===1?(u.push(s),u):(h.slice(0,-1).reduce((f,m,y)=>{const v="/"+h.slice(0,y+1).join("/"),w=t[v];if(typeof(w==null?void 0:w.navigation)<"u"&&!w.navigation)return[];let I=f.find(O=>O._path===v);return I||(I={title:me(m),_path:v,_file:o._file,children:[],...a(w)},f.push(I)),I.children},u).push(s),u)},[]);return z(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function z(r){var n;const t=r.sort((a,l)=>ge.compare(a._file,l._file));for(const a of t)(n=a.children)!=null&&n.length?z(a.children):delete a.children,delete a._file;return r}function pe(r){return t=>(t=t||{},r&&r.length?r.filter(n=>typeof t[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:t[a]}),{}):t)}function de(r){return Object.prototype.toString.call(r)==="[object Object]"}const ye=r=>b(r,M().public.content.api.baseURL),we=ne(oe({driver:F()}),"@content");function ve(r){async function t(){const n=new Set(await r.getKeys("cache:")),a=N().getPreviewToken();if(a){const u=await r.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(u.ignoreSources)){const g=u.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await r.getKeys(`${a}:`),h=await Promise.all(o.map(g=>r.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(u=>r.getItem(u)))}return{storage:r,fetch:U(t),query:n=>H(U(t),{initialParams:n,legacy:!0})}}let R=null,S=null;async function Ie(){return S?await S:R||(S=Ae(),R=await S),R}async function Ae(){const r=G(),{content:t}=M().public,n=ve(we),a=await n.storage.getItem("integrity");if(t.integrity!==+(a||0)){const{contents:l,navigation:u}=await $fetch(ye(t.integrity?`cache.${t.integrity}.json`:"cache.json"));await Promise.all(l.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",u),await n.storage.setItem("integrity",t.integrity)}return await r.callHook("content:storage",n.storage),n}async function _e(r){const t=await Ie();if(!N().getPreviewToken()&&Object.keys(r||{}).length===0)return t.storage.getItem("navigation");const n=await t.query(r).where({_partial:!1,navigation:{$ne:!1}}).find(),l=(await t.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((u,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return u[h]={...o,...o.body},u},{});return he(n,l)}export{we as contentStorage,ve as createDB,_e as generateNavigation,Ie as useContentDatabase}; +import{ah as _,aU as W,aV as j,aW as E,aX as B,aY as T,aZ as $,a_ as P,a$ as x,aw as J,af as k,l as M,b0 as H,ai as N,aG as b,j as G}from"./entry.6e9008ac.js";import{c as q}from"./_commonjsHelpers.725317a4.js";const Z="memory",F=()=>{const r=new Map;return{name:Z,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function V(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function p(r,...t){try{return V(r(...t))}catch(n){return Promise.reject(n)}}function X(r){const t=typeof r;return r===null||t!=="object"&&t!=="function"}function Q(r){const t=Object.getPrototypeOf(r);return!t||t.isPrototypeOf(Object)}function K(r){if(X(r))return String(r);if(Q(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return K(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Y(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const C="base64:";function ee(r){if(typeof r=="string")return r;Y();const t=Buffer.from(r).toString("base64");return C+t}function te(r){return typeof r!="string"||!r.startsWith(C)?r:(Y(),Buffer.from(r.slice(C.length),"base64"))}const re=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function ne(r,t){if(t=A(t),!t)return r;const n={...r};for(const a of re)n[a]=(l="",...u)=>r[a](t+l,...u);return n.getKeys=(a="",...l)=>r.getKeys(t+a,...l).then(u=>u.map(o=>o.slice(t.length))),n}function d(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ie(...r){return d(r.join(":"))}function A(r){return r=d(r),r?r+":":""}const ae="memory",se=()=>{const r=new Map;return{name:ae,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function oe(r={}){const t={mounts:{"":r.driver||se()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of t.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:t.mounts[i]};return{base:"",relativeKey:e,driver:t.mounts[""]}},a=(e,i)=>t.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:t.mounts[s]})),l=(e,i)=>{if(t.watching){i=d(i);for(const s of t.watchListeners)s(e,i)}},u=async()=>{if(!t.watching){t.watching=!0;for(const e in t.mounts)t.unwatch[e]=await D(t.mounts[e],l,e)}},o=async()=>{if(t.watching){for(const e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},h=(e,i,s)=>{const c=new Map,f=m=>{let y=c.get(m.base);return y||(y={driver:m.driver,base:m.base,items:[]},c.set(m.base,y)),y};for(const m of e){const y=typeof m=="string",v=d(y?m:m.key),w=y?void 0:m.value,I=y||!m.options?i:{...i,...m.options},O=n(v);f(O).items.push({key:v,value:w,relativeKey:O.relativeKey,options:I})}return Promise.all([...c.values()].map(m=>s(m))).then(m=>m.flat())},g={hasItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.hasItem,s,i)},getItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.getItem,s,i).then(f=>_(f))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(c=>({key:c.relativeKey,options:c.options})),i).then(c=>c.map(f=>({key:ie(s.base,f.key),value:_(f.value)}))):Promise.all(s.items.map(c=>p(s.driver.getItem,c.relativeKey,c.options).then(f=>({key:c.key,value:_(f)})))))},getItemRaw(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return c.getItemRaw?p(c.getItemRaw,s,i):p(c.getItem,s,i).then(f=>te(f))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=d(e);const{relativeKey:c,driver:f}=n(e);f.setItem&&(await p(f.setItem,c,K(i),s),f.watch||l("update",e))},async setItems(e,i){await h(e,i,async s=>{s.driver.setItems&&await p(s.driver.setItems,s.items.map(c=>({key:c.relativeKey,value:K(c.value),options:c.options})),i),s.driver.setItem&&await Promise.all(s.items.map(c=>p(s.driver.setItem,c.relativeKey,K(c.value),c.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=d(e);const{relativeKey:c,driver:f}=n(e);if(f.setItemRaw)await p(f.setItemRaw,c,i,s);else if(f.setItem)await p(f.setItem,c,ee(i),s);else return;f.watch||l("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=d(e);const{relativeKey:s,driver:c}=n(e);c.removeItem&&(await p(c.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(c.removeItem,s+"$",i),c.watch||l("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=d(e);const{relativeKey:s,driver:c}=n(e),f=Object.create(null);if(c.getMeta&&Object.assign(f,await p(c.getMeta,s,i)),!i.nativeOnly){const m=await p(c.getItem,s+"$",i).then(y=>_(y));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=A(e);const s=a(e,!0);let c=[];const f=[];for(const m of s){const v=(await p(m.driver.getKeys,m.relativeBase,i)).map(w=>m.mountpoint+d(w)).filter(w=>!c.some(I=>w.startsWith(I)));f.push(...v),c=[m.mountpoint,...c.filter(w=>!w.startsWith(m.mountpoint))]}return e?f.filter(m=>m.startsWith(e)&&!m.endsWith("$")):f.filter(m=>!m.endsWith("$"))},async clear(e,i={}){e=A(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const c=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(c.map(f=>s.driver.removeItem(f,i)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>L(e)))},async watch(e){return await u(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(i=>i!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,i){if(e=A(e),e&&t.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((s,c)=>c.length-s.length)),t.mounts[e]=i,t.watching&&Promise.resolve(D(i,l,e)).then(s=>{t.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=A(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),i&&await L(t.mounts[e]),t.mountpoints=t.mountpoints.filter(s=>s!==e),delete t.mounts[e])},getMount(e=""){e=d(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=d(e),a(e,i.parents).map(c=>({driver:c.driver,base:c.mountpoint}))}};return g}function D(r,t,n){return r.watch?r.watch((a,l)=>t(a,n+l)):()=>{}}async function L(r){typeof r.dispose=="function"&&await p(r.dispose)}function ue(r={}){const t=ce(n,r.operators);function n(a,l){return typeof l!="object"||l instanceof RegExp?t.$eq(a,l):Object.keys(l||{}).every(u=>{const o=l[u];if(u.startsWith("$")&&t[u]){const h=t[u];return typeof h=="function"?h(a,o):!1}return n(W(a,u),o)})}return n}function ce(r,t={}){return{$match:(n,a)=>r(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!r(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(l=>r(n,l))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(l=>r(n,l))),$in:(n,a)=>E(a).some(l=>Array.isArray(n)?r(n,{$contains:l}):r(n,l)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),E(a).every(l=>n.includes(l))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),E(a).every(l=>n.includes(l.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(l=>n.includes(l))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const l=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=l?new RegExp(l[1],l[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...t||{}}}function le(r){const t=ue(),n=(u,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=u.findIndex(c=>t(c,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((c,f)=>u[i-h+f+ +(f>=h)]||null)},a=[(u,o)=>{const h=u.result.filter(g=>E(o.where).every(e=>t(g,e)));return{...u,result:h,total:h.length}},(u,o)=>E(o.sort).forEach(h=>T(u.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(x(h.only))(i),o.surround=i}return o}],l=[(u,o)=>{if(o.skip)return{...u,result:u.result.slice(o.skip),skip:o.skip}},(u,o)=>{if(o.limit)return{...u,result:u.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const c=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(m=>m._path))==null?void 0:s._path),f=g.find(m=>m._path===J(c,"_dir"));f&&(o.dirConfig={_path:f._path,...P(["_"])(f)})}return o},(u,o)=>({...u,result:$(P(o.without))(u.result)}),(u,o)=>({...u,result:$(x(o.only))(u.result)})];return async u=>{const o=await r(),h=u.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,c)=>c(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=l.reduce((s,c)=>c(s,h,o)||s,e);return h.first?{...B(["skip","limit","total"])(i),result:i.result[0]}:i}}function U(r){const t=le(r);return async n=>{var u;const a=n.params(),l=await t(n);return a.surround?l==null?void 0:l.surround:(l!=null&&l.dirConfig&&(l.result={_path:(u=l.dirConfig)==null?void 0:u._path,...l.result,_dir:l.dirConfig}),l==null?void 0:l.result)}}var fe={exports:{}};(function(r,t){(function(n,a,l){r.exports=l(),r.exports.default=l()})("slugify",q,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function l(u,o){if(typeof u!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=u.normalize().split("").reduce(function(s,c){var f=h[c];return f===void 0&&(f=n[c]),f===void 0&&(f=c),f===g&&(f=" "),s+f.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return l.extend=function(u){Object.assign(n,u)},l})})(fe);const me=r=>r.split(/[\s-]/g).map(k).join(" ");function he(r,t){const{navigation:n}=M().public.content,a=u=>({...pe(["title",...n.fields])(u),...de(u==null?void 0:u.navigation)?u.navigation:{}}),l=r.sort((u,o)=>u._path.localeCompare(o._path)).reduce((u,o)=>{const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!g[g.length-1].match(/([1-9][0-9]*\.)?index.md/g),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=t[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return u;if(o._path!=="/"){const m=i(o);s.children.push(m)}Object.assign(s,a(f))}return h.length===1?(u.push(s),u):(h.slice(0,-1).reduce((f,m,y)=>{const v="/"+h.slice(0,y+1).join("/"),w=t[v];if(typeof(w==null?void 0:w.navigation)<"u"&&!w.navigation)return[];let I=f.find(O=>O._path===v);return I||(I={title:me(m),_path:v,_file:o._file,children:[],...a(w)},f.push(I)),I.children},u).push(s),u)},[]);return z(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function z(r){var n;const t=r.sort((a,l)=>ge.compare(a._file,l._file));for(const a of t)(n=a.children)!=null&&n.length?z(a.children):delete a.children,delete a._file;return r}function pe(r){return t=>(t=t||{},r&&r.length?r.filter(n=>typeof t[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:t[a]}),{}):t)}function de(r){return Object.prototype.toString.call(r)==="[object Object]"}const ye=r=>b(r,M().public.content.api.baseURL),we=ne(oe({driver:F()}),"@content");function ve(r){async function t(){const n=new Set(await r.getKeys("cache:")),a=N().getPreviewToken();if(a){const u=await r.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(u.ignoreSources)){const g=u.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await r.getKeys(`${a}:`),h=await Promise.all(o.map(g=>r.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(u=>r.getItem(u)))}return{storage:r,fetch:U(t),query:n=>H(U(t),{initialParams:n,legacy:!0})}}let R=null,S=null;async function Ie(){return S?await S:R||(S=Ae(),R=await S),R}async function Ae(){const r=G(),{content:t}=M().public,n=ve(we),a=await n.storage.getItem("integrity");if(t.integrity!==+(a||0)){const{contents:l,navigation:u}=await $fetch(ye(t.integrity?`cache.${t.integrity}.json`:"cache.json"));await Promise.all(l.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",u),await n.storage.setItem("integrity",t.integrity)}return await r.callHook("content:storage",n.storage),n}async function _e(r){const t=await Ie();if(!N().getPreviewToken()&&Object.keys(r||{}).length===0)return t.storage.getItem("navigation");const n=await t.query(r).where({_partial:!1,navigation:{$ne:!1}}).find(),l=(await t.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((u,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return u[h]={...o,...o.body},u},{});return he(n,l)}export{we as contentStorage,ve as createDB,_e as generateNavigation,Ie as useContentDatabase}; diff --git a/_nuxt/component-v2.f92db7c5.js b/_nuxt/component-v2.819854c2.js similarity index 95% rename from _nuxt/component-v2.f92db7c5.js rename to _nuxt/component-v2.819854c2.js index fd005c51a2..a05cc79178 100644 --- a/_nuxt/component-v2.f92db7c5.js +++ b/_nuxt/component-v2.819854c2.js @@ -1 +1 @@ -import{ao as b,r as v,ap as K,aq as C,ar as g,as as x,K as y,a5 as D}from"./entry.f8eaff67.js";var c=(r=>(r.Init="init",r.Verified="verified",r.Expired="expired",r.Error="error",r))(c||{});function R({root:r=v(),options:f={}}){const e=b(),n=v(),t=K(),a=x(),s=x(),u=x(),l=C(r),i=v("init");return g(l,async p=>{const d=await t.render(p,{...f,sitekey:e,callback:a.trigger,"expired-callback":s.trigger,"error-callback":u.trigger});n.value=d}),a.on(()=>{i.value="verified"}),s.on(()=>{i.value="expired"}),u.on(()=>{i.value="error"}),{root:l,widgetID:n,execute(){typeof n.value<"u"&&t.execute(n.value)},reset(){i.value="init",typeof n.value<"u"&&t.reset(n.value)},state:i,onVerify:a.on,onExpired:s.on,onError:u.on}}function q(r,f,e){const{root:n,state:t,widgetID:a,onError:s,onExpired:u,onVerify:l,reset:i,execute:p}=R({options:r||{}}),d=y(()=>t.value===c.Expired),V=y(()=>t.value===c.Error),w=y(()=>t.value===c.Verified);return g(a,o=>{e("load",o),e("update:widgetId",o)}),D(f,(o,I)=>{!o&&I&&!d.value&&E()}),u(()=>{e("update:modelValue",null),e("expired",a.value)}),s(o=>{e("error",o)}),l(o=>{e("success",o),e("update:modelValue",o)}),{root:n,widgetID:a,state:t,isError:V,isExpired:d,isVerified:w,reset:E,execute:p};function E(){i(),k()}function k(){e("update:modelValue",null)}}export{c as R,q as u}; +import{ao as b,r as v,ap as K,aq as C,ar as g,as as x,K as y,a5 as D}from"./entry.6e9008ac.js";var c=(r=>(r.Init="init",r.Verified="verified",r.Expired="expired",r.Error="error",r))(c||{});function R({root:r=v(),options:f={}}){const e=b(),n=v(),t=K(),a=x(),s=x(),u=x(),l=C(r),i=v("init");return g(l,async p=>{const d=await t.render(p,{...f,sitekey:e,callback:a.trigger,"expired-callback":s.trigger,"error-callback":u.trigger});n.value=d}),a.on(()=>{i.value="verified"}),s.on(()=>{i.value="expired"}),u.on(()=>{i.value="error"}),{root:l,widgetID:n,execute(){typeof n.value<"u"&&t.execute(n.value)},reset(){i.value="init",typeof n.value<"u"&&t.reset(n.value)},state:i,onVerify:a.on,onExpired:s.on,onError:u.on}}function q(r,f,e){const{root:n,state:t,widgetID:a,onError:s,onExpired:u,onVerify:l,reset:i,execute:p}=R({options:r||{}}),d=y(()=>t.value===c.Expired),V=y(()=>t.value===c.Error),w=y(()=>t.value===c.Verified);return g(a,o=>{e("load",o),e("update:widgetId",o)}),D(f,(o,I)=>{!o&&I&&!d.value&&E()}),u(()=>{e("update:modelValue",null),e("expired",a.value)}),s(o=>{e("error",o)}),l(o=>{e("success",o),e("update:modelValue",o)}),{root:n,widgetID:a,state:t,isError:V,isExpired:d,isVerified:w,reset:E,execute:p};function E(){i(),k()}function k(){e("update:modelValue",null)}}export{c as R,q as u}; diff --git a/_nuxt/createText-1f5f8f92.b8d15877.js b/_nuxt/createText-1f5f8f92.68559ab5.js similarity index 99% rename from _nuxt/createText-1f5f8f92.b8d15877.js rename to _nuxt/createText-1f5f8f92.68559ab5.js index 37b2a0433c..0b4f514dd6 100644 --- a/_nuxt/createText-1f5f8f92.b8d15877.js +++ b/_nuxt/createText-1f5f8f92.68559ab5.js @@ -1,4 +1,4 @@ -import{l as lt,$ as ut}from"./mermaid.core.0bf3cbc4.js";var it=/\r\n?/g,ot=/\t/g,ct=/\f/g,J=function(t){return t.replace(it,` +import{l as lt,$ as ut}from"./mermaid.core.ebd445a5.js";var it=/\r\n?/g,ot=/\t/g,ct=/\f/g,J=function(t){return t.replace(it,` `).replace(ct,"").replace(ot," ")},Q=function(t,e){var r=t||{};if(e!=null)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r},V=function(t,e){var r=Object.keys(t).filter(function(i){var u=t[i];if(u==null||u.match==null)return!1;var c=u.order;return(typeof c!="number"||!isFinite(c))&&typeof console<"u"&&console.warn("simple-markdown: Invalid order for rule `"+i+"`: "+String(c)),!0});r.sort(function(i,u){var c=t[i],f=t[u],s=c.order,p=f.order;if(s!==p)return s-p;var h=c.quality?0:1,g=f.quality?0:1;return h!==g?h-g:iu?1:0});var a,l=function i(u,c){var f=[];for(c=c||a,a=c;u;){var s=null,p=null,h=null,g=NaN,S=0,x=r[0],y=t[x];do{var E=y.order,b=c.prevCapture==null?"":c.prevCapture[0],k=y.match(u,c,b);if(k){var A=y.quality?y.quality(k,c,b):0;A<=g||(s=x,p=y,h=k,g=A)}S++,x=r[S],y=t[x]}while(y&&(!h||y.order===E&&y.quality));if(p==null||h==null)throw new Error("Could not find a matching rule for the below content. The rule with highest `order` should always match content provided to it. Check the definition of `match` for '"+r[r.length-1]+`'. It seems to not match the following source: `+u);if(h.index)throw new Error("`match` must return a capture starting at index 0 (the current parse index). Did you forget a ^ at the start of the RegExp?");var w=p.parse(h,i,c);if(Array.isArray(w))Array.prototype.push.apply(f,w);else{if(w==null||typeof w!="object")throw new Error("parse() function returned invalid parse result: '".concat(w,"'"));w.type==null&&(w.type=s),f.push(w)}c.prevCapture=h,u=u.substring(c.prevCapture[0].length)}return f},o=function(u,c){return a=Q(c,e),!a.inline&&!a.disableAutoBlockNewlines&&(u=u+` diff --git a/_nuxt/debug.26c8edff.js b/_nuxt/debug.01f40c9a.js similarity index 89% rename from _nuxt/debug.26c8edff.js rename to _nuxt/debug.01f40c9a.js index bc5533b75c..b54aafb338 100644 --- a/_nuxt/debug.26c8edff.js +++ b/_nuxt/debug.01f40c9a.js @@ -1,2 +1,2 @@ -import{B as a}from"./entry.f8eaff67.js";function d(t){let o=[],i=!1;const s=(u,l)=>{const{loc:e}=l,n=[`🔑 ${u}`];e!=null&&e.file&&(n.push(""),n.push(`🔗 ${e.file}`)),e!=null&&e.type&&(n.push(""),n.push(`❓ Missing token inside a ${e.type==="v"?"variant":"computed style or CSS prop"}.`)),o.push(n.join(` +import{B as a}from"./entry.6e9008ac.js";function d(t){let o=[],i=!1;const s=(u,l)=>{const{loc:e}=l,n=[`🔑 ${u}`];e!=null&&e.file&&(n.push(""),n.push(`🔗 ${e.file}`)),e!=null&&e.type&&(n.push(""),n.push(`❓ Missing token inside a ${e.type==="v"?"variant":"computed style or CSS prop"}.`)),o.push(n.join(` `)),i||(a(()=>{console.log("🖌️ Pinceau `runtime` encountered some errors!"),o.forEach(r=>{console.log(r)}),console.log("‼️ This warning will be hidden from production and can be disabled using `dev: false` option.")}),i=!0)};t.onNotFound=s}export{d as usePinceauRuntimeDebug}; diff --git a/_nuxt/default.9862ffa1.js b/_nuxt/default.9862ffa1.js new file mode 100644 index 0000000000..646df5bbb1 --- /dev/null +++ b/_nuxt/default.9862ffa1.js @@ -0,0 +1 @@ +import e from"./DocsPageLayout.5268cc77.js";import{m as r}from"./mermaid.core.ebd445a5.js";import{d as a,o as m,Y as i,w as n,b as p,ab as s}from"./entry.6e9008ac.js";import"./DocsAside.1f0aa950.js";import"./ProseCodeInline.c02e94fd.js";import"./DocsPageBottom.b5f8d61a.js";import"./ProseA.f9dc332a.js";import"./EditOnLink.vue.1ceb4eeb.js";import"./DocsPrevNext.0153bc02.js";import"./DocsToc.503dfd3c.js";import"./DocsTocLinks.cca405c3.js";import"./_commonjsHelpers.725317a4.js";const M=a({__name:"default",setup(u){return m(()=>{r.initialize({startOnLoad:!0,theme:"forest",flowchart:{useMaxWidth:!0}})}),(t,_)=>{const o=e;return p(),i(o,null,{default:n(()=>[s(t.$slots,"default")]),_:3})}}});export{M as default}; diff --git a/_nuxt/default.b29feca1.js b/_nuxt/default.b29feca1.js deleted file mode 100644 index beb22aad24..0000000000 --- a/_nuxt/default.b29feca1.js +++ /dev/null @@ -1 +0,0 @@ -import e from"./DocsPageLayout.d355e0e0.js";import{m as r}from"./mermaid.core.0bf3cbc4.js";import{d as a,o as m,Y as i,w as n,b as p,ab as s}from"./entry.f8eaff67.js";import"./DocsAside.f25f8425.js";import"./ProseCodeInline.e4bd4193.js";import"./DocsPageBottom.6b61d989.js";import"./ProseA.7ab7686c.js";import"./EditOnLink.vue.5b812da4.js";import"./DocsPrevNext.204f34a0.js";import"./DocsToc.7c9520d8.js";import"./DocsTocLinks.4f56d0a1.js";import"./_commonjsHelpers.725317a4.js";const M=a({__name:"default",setup(u){return m(()=>{r.initialize({startOnLoad:!0,theme:"forest",flowchart:{useMaxWidth:!0}})}),(t,_)=>{const o=e;return p(),i(o,null,{default:n(()=>[s(t.$slots,"default")]),_:3})}}});export{M as default}; diff --git a/_nuxt/document-driven.e18e82f7.js b/_nuxt/document-driven.ccfa0ab8.js similarity index 84% rename from _nuxt/document-driven.e18e82f7.js rename to _nuxt/document-driven.ccfa0ab8.js index 95dcfed13f..2306cc2918 100644 --- a/_nuxt/document-driven.e18e82f7.js +++ b/_nuxt/document-driven.ccfa0ab8.js @@ -1 +1 @@ -import h from"./DocumentDrivenEmpty.8740cc46.js";import L from"./ContentRenderer.eb54d0ce.js";import R from"./DocumentDrivenNotFound.7f70560e.js";import{j as g,d as c,I as x,P as C,s as b,J as k,K as B,L as u,r as N,M as y,N as S,O as T,Q as l,T as j,R as A,B as w,S as D,U as E,V as O,l as H,W as $,X as q,c as I,g as f,w as _,b as d,Y as v}from"./entry.f8eaff67.js";import"./ContentRendererMarkdown.vue.35734f79.js";import"./ButtonLink.7229d6e8.js";const M=c({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(o,n){const e=await y[o.name]().then(t=>t.default||t);return()=>l(e,o.layoutProps,n.slots)}}),V=c({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null}},setup(o,n){const e=g(),t=x(C),a=t===b()?k():t,s=B(()=>u(o.name)??a.meta.layout??"default"),r=N();n.expose({layoutRef:r});const m=e.deferHydration();return()=>{const p=s.value&&s.value in y,i=a.meta.layoutTransition??S;return T(j,p&&i,{default:()=>l(D,{suspensible:!0,onResolve:()=>{w(m)}},{default:()=>l(F,{layoutProps:A(n.attrs,{ref:r}),key:s.value||void 0,name:s.value,shouldProvide:!o.name,hasTransition:!!i},n.slots)})}).default()}}}),F=c({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(o,n){const e=o.name;return o.shouldProvide&&E(O,{isCurrent:t=>e===(t.meta.layout??"default")}),()=>{var t,a;return!e||typeof e=="string"&&!(e in y)?(a=(t=n.slots).default)==null?void 0:a.call(t):l(M,{key:e,layoutProps:o.layoutProps,name:e},n.slots)}}}),J={class:"document-driven-page"},z=c({__name:"document-driven",setup(o){const{contentHead:n}=H().public.content,{page:e,layout:t}=$();return e.value,n&&q(e),(a,s)=>{const r=h,m=L,p=R,i=V;return d(),I("div",J,[f(i,{name:u(t)||"default"},{default:_(()=>[u(e)?(d(),v(m,{key:u(e)._id,value:u(e)},{empty:_(({value:P})=>[f(r,{value:P},null,8,["value"])]),_:1},8,["value"])):(d(),v(p,{key:1}))]),_:1},8,["name"])])}}});export{z as default}; +import h from"./DocumentDrivenEmpty.b70620da.js";import L from"./ContentRenderer.037efdfb.js";import R from"./DocumentDrivenNotFound.7767fbf5.js";import{j as g,d as c,I as x,P as C,s as b,J as k,K as B,L as u,r as N,M as y,N as S,O as T,Q as l,T as j,R as A,B as w,S as D,U as E,V as O,l as H,W as $,X as q,c as I,g as f,w as _,b as d,Y as v}from"./entry.6e9008ac.js";import"./ContentRendererMarkdown.vue.080aad6d.js";import"./ButtonLink.03ea21b7.js";const M=c({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(o,n){const e=await y[o.name]().then(t=>t.default||t);return()=>l(e,o.layoutProps,n.slots)}}),V=c({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null}},setup(o,n){const e=g(),t=x(C),a=t===b()?k():t,s=B(()=>u(o.name)??a.meta.layout??"default"),r=N();n.expose({layoutRef:r});const m=e.deferHydration();return()=>{const p=s.value&&s.value in y,i=a.meta.layoutTransition??S;return T(j,p&&i,{default:()=>l(D,{suspensible:!0,onResolve:()=>{w(m)}},{default:()=>l(F,{layoutProps:A(n.attrs,{ref:r}),key:s.value||void 0,name:s.value,shouldProvide:!o.name,hasTransition:!!i},n.slots)})}).default()}}}),F=c({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(o,n){const e=o.name;return o.shouldProvide&&E(O,{isCurrent:t=>e===(t.meta.layout??"default")}),()=>{var t,a;return!e||typeof e=="string"&&!(e in y)?(a=(t=n.slots).default)==null?void 0:a.call(t):l(M,{key:e,layoutProps:o.layoutProps,name:e},n.slots)}}}),J={class:"document-driven-page"},z=c({__name:"document-driven",setup(o){const{contentHead:n}=H().public.content,{page:e,layout:t}=$();return e.value,n&&q(e),(a,s)=>{const r=h,m=L,p=R,i=V;return d(),I("div",J,[f(i,{name:u(t)||"default"},{default:_(()=>[u(e)?(d(),v(m,{key:u(e)._id,value:u(e)},{empty:_(({value:P})=>[f(r,{value:P},null,8,["value"])]),_:1},8,["value"])):(d(),v(p,{key:1}))]),_:1},8,["name"])])}}});export{z as default}; diff --git a/_nuxt/edges-2e77835f.9fcf4ce3.js b/_nuxt/edges-2e77835f.697716b4.js similarity index 99% rename from _nuxt/edges-2e77835f.9fcf4ce3.js rename to _nuxt/edges-2e77835f.697716b4.js index ca82a44057..46f05a0bfa 100644 --- a/_nuxt/edges-2e77835f.9fcf4ce3.js +++ b/_nuxt/edges-2e77835f.697716b4.js @@ -1,4 +1,4 @@ -import{r as R,c as w,d as z,$ as D,i as L,l as y,z as U,a3 as Q}from"./mermaid.core.0bf3cbc4.js";import{c as P}from"./createText-1f5f8f92.b8d15877.js";import{p as V}from"./svgDraw-2526cba0.cff159e4.js";import{l as et}from"./line.7016ab98.js";const st=(r,t,e,l)=>{t.forEach(a=>{bt[a](r,e,l)})},it=(r,t,e)=>{y.trace("Making markers for ",e),r.append("defs").append("marker").attr("id",t+"-extensionStart").attr("class","marker extension "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.append("defs").append("marker").attr("id",t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},lt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-compositionStart").attr("class","marker composition "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},nt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ct=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},ht=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},ot=(r,t)=>{r.append("marker").attr("id",t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 12 20").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ft=(r,t)=>{r.append("marker").attr("id",t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(r,t)=>{r.append("marker").attr("id",t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},dt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},bt={extension:it,composition:lt,aggregation:nt,dependency:ct,lollipop:ht,point:ot,circle:ft,cross:pt,barb:dt},Kt=st;function xt(r,t){t&&r.attr("style",t)}function yt(r){const t=L(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),e=t.append("xhtml:div"),l=r.label,a=r.isNode?"nodeLabel":"edgeLabel";return e.html('"+l+""),xt(e,r.labelStyle),e.style("display","inline-block"),e.style("white-space","nowrap"),e.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const gt=(r,t,e,l)=>{let a=r||"";if(typeof a=="object"&&(a=a[0]),R(w().flowchart.htmlLabels)){a=a.replace(/\\n|\n/g,"
"),y.info("vertexText"+a);const s={isNode:l,label:D(a).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return yt(s)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",t.replace("color:","fill:"));let i=[];typeof a=="string"?i=a.split(/\\n|\n|/gi):Array.isArray(a)?i=a:i=[];for(const n of i){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),e?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),s.appendChild(c)}return s}},T=gt,S=(r,t,e,l)=>{let a;const s=t.useHtmlLabels||R(w().flowchart.htmlLabels);e?a=e:a="node default";const i=r.insert("g").attr("class",a).attr("id",t.domId||t.id),n=i.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=P(n,z(D(c),w()),{useHtmlLabels:s,width:t.width||w().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(T(z(D(c),w()),t.labelStyle,!1,l));let f=h.getBBox();if(R(w().flowchart.htmlLabels)){const p=h.children[0],d=L(h);f=p.getBoundingClientRect(),d.attr("width",f.width),d.attr("height",f.height)}const b=t.padding/2;return s?n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):n.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:i,bbox:f,halfPadding:b,label:n}},m=(r,t)=>{const e=t.node().getBBox();r.width=e.width,r.height=e.height};function _(r,t,e,l){return r.insert("polygon",":first-child").attr("points",l.map(function(a){return a.x+","+a.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function ut(r,t){return r.intersect(t)}function tt(r,t,e,l){var a=r.x,s=r.y,i=a-l.x,n=s-l.y,c=Math.sqrt(t*t*n*n+e*e*i*i),o=Math.abs(t*e*i/c);l.x0}function kt(r,t,e){var l=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){i=Math.min(i,d.x),n=Math.min(n,d.y)}):(i=Math.min(i,t.x),n=Math.min(n,t.y));for(var c=l-r.width/2-i,o=a-r.height/2-n,h=0;h1&&s.sort(function(d,x){var g=d.x-e.x,k=d.y-e.y,H=Math.sqrt(g*g+k*k),$=x.x-e.x,B=x.y-e.y,X=Math.sqrt($*$+B*B);return H{var e=r.x,l=r.y,a=t.x-e,s=t.y-l,i=r.width/2,n=r.height/2,c,o;return Math.abs(s)*i>Math.abs(a)*n?(s<0&&(n=-n),c=s===0?0:n*a/s,o=n):(a<0&&(i=-i),c=i,o=a===0?0:i*s/a),{x:e+c,y:l+o}},Lt=vt,u={node:ut,circle:wt,ellipse:tt,polygon:kt,rect:Lt},St=(r,t)=>{t.useHtmlLabels||w().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:l,bbox:a,halfPadding:s}=S(r,t,"node "+t.classes,!0);y.info("Classes = ",t.classes);const i=l.insert("rect",":first-child");return i.attr("rx",t.rx).attr("ry",t.ry).attr("x",-a.width/2-s).attr("y",-a.height/2-s).attr("width",a.width+t.padding).attr("height",a.height+t.padding),m(t,i),t.intersect=function(n){return u.rect(t,n)},l},Et=St,q=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=a+s,n=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];y.info("Question main (Circle)");const c=_(e,i,i,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return y.warn("Intersect called"),u.polygon(t,n,o)},e},Bt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=28,a=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}];return e.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(i){return u.circle(t,14,i)},e},Mt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=4,s=l.height+t.padding,i=s/a,n=l.width+2*i+t.padding,c=[{x:i,y:0},{x:n-i,y:0},{x:n,y:-s/2},{x:n-i,y:-s},{x:i,y:-s},{x:0,y:-s/2}],o=_(e,n,s,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return u.polygon(t,c,h)},e},Ct=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-s/2,y:0},{x:a,y:0},{x:a,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return _(e,a,s,i).attr("style",t.style),t.width=a+s,t.height=s,t.intersect=function(c){return u.polygon(t,i,c)},e},Tt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Rt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:2*s/6,y:0},{x:a+s/6,y:0},{x:a-2*s/6,y:-s},{x:-s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Ht=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a+2*s/6,y:0},{x:a-s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},It=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:-2*s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},_t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a+s/2,y:0},{x:a,y:-s/2},{x:a+s/2,y:-s},{x:0,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},$t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=a/2,i=s/(2.5+a/50),n=l.height+i+t.padding,c="M 0,"+i+" a "+s+","+i+" 0,0,0 "+a+" 0 a "+s+","+i+" 0,0,0 "+-a+" 0 l 0,"+n+" a "+s+","+i+" 0,0,0 "+a+" 0 l 0,"+-n,o=e.attr("label-offset-y",i).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-a/2+","+-(n/2+i)+")");return m(t,o),t.intersect=function(h){const f=u.rect(t,h),b=f.x-t.x;if(s!=0&&(Math.abs(b)t.height/2-i)){let p=i*i*(1-b*b/(s*s));p!=0&&(p=Math.sqrt(p)),p=i-p,h.y-t.y>0&&(p=-p),f.y+=p}return f},e},Nt=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,"node "+t.classes,!0),s=e.insert("rect",":first-child"),i=l.width+t.padding,n=l.height+t.padding;if(s.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-a).attr("y",-l.height/2-a).attr("width",i).attr("height",n),t.props){const c=new Set(Object.keys(t.props));t.props.borders&&(rt(s,t.props.borders,i,n),c.delete("borders")),c.forEach(o=>{y.warn(`Unknown node property ${o}`)})}return m(t,s),t.intersect=function(c){return u.rect(t,c)},e},Wt=(r,t)=>{const{shapeSvg:e}=S(r,t,"label",!0);y.trace("Classes = ",t.classes);const l=e.insert("rect",":first-child"),a=0,s=0;if(l.attr("width",a).attr("height",s),e.attr("class","label edgeLabel"),t.props){const i=new Set(Object.keys(t.props));t.props.borders&&(rt(l,t.props.borders,a,s),i.delete("borders")),i.forEach(n=>{y.warn(`Unknown node property ${n}`)})}return m(t,l),t.intersect=function(i){return u.rect(t,i)},e};function rt(r,t,e,l){const a=[],s=n=>{a.push(n,0)},i=n=>{a.push(0,n)};t.includes("t")?(y.debug("add top border"),s(e)):i(e),t.includes("r")?(y.debug("add right border"),s(l)):i(l),t.includes("b")?(y.debug("add bottom border"),s(e)):i(e),t.includes("l")?(y.debug("add left border"),s(l)):i(l),r.attr("stroke-dasharray",a.join(" "))}const Xt=(r,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const l=r.insert("g").attr("class",e).attr("id",t.domId||t.id),a=l.insert("rect",":first-child"),s=l.insert("line"),i=l.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,y.info("Label text abc79",c,n,typeof n=="object");const o=i.node().appendChild(T(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(R(w().flowchart.htmlLabels)){const x=o.children[0],g=L(o);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}y.info("Text 2",n);const f=n.slice(1,n.length);let b=o.getBBox();const p=i.node().appendChild(T(f.join?f.join("
"):f,t.labelStyle,!0,!0));if(R(w().flowchart.htmlLabels)){const x=p.children[0],g=L(p);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}const d=t.padding/2;return L(p).attr("transform","translate( "+(h.width>b.width?0:(b.width-h.width)/2)+", "+(b.height+d+5)+")"),L(o).attr("transform","translate( "+(h.width{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.height+t.padding,s=l.width+a/4+t.padding,i=e.insert("rect",":first-child").attr("style",t.style).attr("rx",a/2).attr("ry",a/2).attr("x",-s/2).attr("y",-a/2).attr("width",s).attr("height",a);return m(t,i),t.intersect=function(n){return u.rect(t,n)},e},Ut=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=e.insert("circle",":first-child");return s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("Circle main"),m(t,s),t.intersect=function(i){return y.info("Circle intersect",t,l.width/2+a,i),u.circle(t,l.width/2+a,i)},e},At=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=5,i=e.insert("g",":first-child"),n=i.insert("circle"),c=i.insert("circle");return n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a+s).attr("width",l.width+t.padding+s*2).attr("height",l.height+t.padding+s*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return y.info("DoubleCircle intersect",t,l.width/2+a+s,o),u.circle(t,l.width/2+a+s,o)},e},Ot=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a,y:0},{x:a,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},jt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,l),t.intersect=function(a){return u.circle(t,7,a)},e},F=(r,t,e)=>{const l=r.insert("g").attr("class","node default").attr("id",t.domId||t.id);let a=70,s=10;e==="LR"&&(a=10,s=70);const i=l.append("rect").attr("x",-1*a/2).attr("y",-1*s/2).attr("width",a).attr("height",s).attr("class","fork-join");return m(t,i),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return u.rect(t,n)},l},Dt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child"),a=e.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),l.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,a),t.intersect=function(s){return u.circle(t,7,s)},e},Zt=(r,t)=>{const e=t.padding/2,l=4,a=8;let s;t.classes?s="node "+t.classes:s="node default";const i=r.insert("g").attr("class",s).attr("id",t.domId||t.id),n=i.insert("rect",":first-child"),c=i.insert("line"),o=i.insert("line");let h=0,f=l;const b=i.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],x=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",g=b.node().appendChild(T(x,t.labelStyle,!0,!0));let k=g.getBBox();if(R(w().flowchart.htmlLabels)){const E=g.children[0],M=L(g);k=E.getBoundingClientRect(),M.attr("width",k.width),M.attr("height",k.height)}t.classData.annotations[0]&&(f+=k.height+l,h+=k.width);let H=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(w().flowchart.htmlLabels?H+="<"+t.classData.type+">":H+="<"+t.classData.type+">");const $=b.node().appendChild(T(H,t.labelStyle,!0,!0));L($).attr("class","classTitle");let B=$.getBBox();if(R(w().flowchart.htmlLabels)){const E=$.children[0],M=L($);B=E.getBoundingClientRect(),M.attr("width",B.width),M.attr("height",B.height)}f+=B.height+l,B.width>h&&(h=B.width);const X=[];t.classData.members.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,X.push(I)}),f+=a;const Z=[];if(t.classData.methods.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,Z.push(I)}),f+=a,d){let E=(h-k.width)/2;L(g).attr("transform","translate( "+(-1*h/2+E)+", "+-1*f/2+")"),p=k.height+l}let at=(h-B.width)/2;return L($).attr("transform","translate( "+(-1*h/2+at)+", "+(-1*f/2+p)+")"),p+=B.height+l,c.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,X.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p+a/2)+")"),p+=B.height+l}),p+=a,o.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,Z.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p)+")"),p+=B.height+l}),n.attr("class","outer title-state").attr("x",-h/2-e).attr("y",-(f/2)-e).attr("width",h+t.padding).attr("height",f+t.padding),m(t,n),t.intersect=function(E){return u.rect(t,E)},i},K={rhombus:q,question:q,rect:Nt,labelRect:Wt,rectWithTitle:Xt,choice:Bt,circle:Ut,doublecircle:At,stadium:Yt,hexagon:Mt,rect_left_inv_arrow:Ct,lean_right:Tt,lean_left:Rt,trapezoid:Ht,inv_trapezoid:It,rect_right_inv_arrow:_t,cylinder:$t,start:jt,end:Dt,note:Et,subroutine:Ot,fork:F,join:F,class_box:Zt};let W={};const Gt=(r,t,e)=>{let l,a;if(t.link){let s;w().securityLevel==="sandbox"?s="_top":t.linkTarget&&(s=t.linkTarget||"_blank"),l=r.insert("svg:a").attr("xlink:href",t.link).attr("target",s),a=K[t.shape](l,t,e)}else a=K[t.shape](r,t,e),l=a;return t.tooltip&&a.attr("title",t.tooltip),t.class&&a.attr("class","node default "+t.class),W[t.id]=l,t.haveCallback&&W[t.id].attr("class",W[t.id].attr("class")+" clickable"),l},Pt=(r,t)=>{W[t.id]=r},tr=()=>{W={}},rr=r=>{const t=W[r.id];y.trace("Transforming node",r.diff,r,"translate("+(r.x-r.width/2-5)+", "+r.width/2+")");const e=8,l=r.diff||0;return r.clusterNode?t.attr("transform","translate("+(r.x+l-r.width/2)+", "+(r.y-r.height/2-e)+")"):t.attr("transform","translate("+r.x+", "+r.y+")"),l};let O={},v={};const ar=()=>{O={},v={}},er=(r,t)=>{const e=R(w().flowchart.htmlLabels),l=t.labelType==="markdown"?P(r,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):T(t.label,t.labelStyle);y.info("abc82",t,t.labelType);const a=r.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(l);let i=l.getBBox();if(e){const c=l.children[0],o=L(l);i=c.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}s.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),O[t.id]=a,t.width=i.width,t.height=i.height;let n;if(t.startLabelLeft){const c=T(t.startLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startLeft=o,A(n,t.startLabelLeft)}if(t.startLabelRight){const c=T(t.startLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startRight=o,A(n,t.startLabelRight)}if(t.endLabelLeft){const c=T(t.endLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endLeft=o,A(n,t.endLabelLeft)}if(t.endLabelRight){const c=T(t.endLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endRight=o,A(n,t.endLabelRight)}return l};function A(r,t){w().flowchart.htmlLabels&&r&&(r.style.width=t.length*9+"px",r.style.height="12px")}const sr=(r,t)=>{y.info("Moving label abc78 ",r.id,r.label,O[r.id]);let e=t.updatedPath?t.updatedPath:t.originalPath;if(r.label){const l=O[r.id];let a=r.x,s=r.y;if(e){const i=U.calcLabelPosition(e);y.info("Moving label "+r.label+" from (",a,",",s,") to (",i.x,",",i.y,") abc78"),t.updatedPath&&(a=i.x,s=i.y)}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelLeft){const l=v[r.id].startLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelRight){const l=v[r.id].startRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelLeft){const l=v[r.id].endLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelRight){const l=v[r.id].endRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}},zt=(r,t)=>{const e=r.x,l=r.y,a=Math.abs(t.x-e),s=Math.abs(t.y-l),i=r.width/2,n=r.height/2;return a>=i||s>=n},Qt=(r,t,e)=>{y.warn(`intersection calc abc89: +import{r as R,c as w,d as z,$ as D,i as L,l as y,z as U,a3 as Q}from"./mermaid.core.ebd445a5.js";import{c as P}from"./createText-1f5f8f92.68559ab5.js";import{p as V}from"./svgDraw-2526cba0.2cced117.js";import{l as et}from"./line.56665913.js";const st=(r,t,e,l)=>{t.forEach(a=>{bt[a](r,e,l)})},it=(r,t,e)=>{y.trace("Making markers for ",e),r.append("defs").append("marker").attr("id",t+"-extensionStart").attr("class","marker extension "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.append("defs").append("marker").attr("id",t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},lt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-compositionStart").attr("class","marker composition "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},nt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ct=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},ht=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},ot=(r,t)=>{r.append("marker").attr("id",t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 12 20").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ft=(r,t)=>{r.append("marker").attr("id",t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(r,t)=>{r.append("marker").attr("id",t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},dt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},bt={extension:it,composition:lt,aggregation:nt,dependency:ct,lollipop:ht,point:ot,circle:ft,cross:pt,barb:dt},Kt=st;function xt(r,t){t&&r.attr("style",t)}function yt(r){const t=L(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),e=t.append("xhtml:div"),l=r.label,a=r.isNode?"nodeLabel":"edgeLabel";return e.html('"+l+""),xt(e,r.labelStyle),e.style("display","inline-block"),e.style("white-space","nowrap"),e.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const gt=(r,t,e,l)=>{let a=r||"";if(typeof a=="object"&&(a=a[0]),R(w().flowchart.htmlLabels)){a=a.replace(/\\n|\n/g,"
"),y.info("vertexText"+a);const s={isNode:l,label:D(a).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return yt(s)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",t.replace("color:","fill:"));let i=[];typeof a=="string"?i=a.split(/\\n|\n|/gi):Array.isArray(a)?i=a:i=[];for(const n of i){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),e?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),s.appendChild(c)}return s}},T=gt,S=(r,t,e,l)=>{let a;const s=t.useHtmlLabels||R(w().flowchart.htmlLabels);e?a=e:a="node default";const i=r.insert("g").attr("class",a).attr("id",t.domId||t.id),n=i.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=P(n,z(D(c),w()),{useHtmlLabels:s,width:t.width||w().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(T(z(D(c),w()),t.labelStyle,!1,l));let f=h.getBBox();if(R(w().flowchart.htmlLabels)){const p=h.children[0],d=L(h);f=p.getBoundingClientRect(),d.attr("width",f.width),d.attr("height",f.height)}const b=t.padding/2;return s?n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):n.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:i,bbox:f,halfPadding:b,label:n}},m=(r,t)=>{const e=t.node().getBBox();r.width=e.width,r.height=e.height};function _(r,t,e,l){return r.insert("polygon",":first-child").attr("points",l.map(function(a){return a.x+","+a.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function ut(r,t){return r.intersect(t)}function tt(r,t,e,l){var a=r.x,s=r.y,i=a-l.x,n=s-l.y,c=Math.sqrt(t*t*n*n+e*e*i*i),o=Math.abs(t*e*i/c);l.x0}function kt(r,t,e){var l=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){i=Math.min(i,d.x),n=Math.min(n,d.y)}):(i=Math.min(i,t.x),n=Math.min(n,t.y));for(var c=l-r.width/2-i,o=a-r.height/2-n,h=0;h1&&s.sort(function(d,x){var g=d.x-e.x,k=d.y-e.y,H=Math.sqrt(g*g+k*k),$=x.x-e.x,B=x.y-e.y,X=Math.sqrt($*$+B*B);return H{var e=r.x,l=r.y,a=t.x-e,s=t.y-l,i=r.width/2,n=r.height/2,c,o;return Math.abs(s)*i>Math.abs(a)*n?(s<0&&(n=-n),c=s===0?0:n*a/s,o=n):(a<0&&(i=-i),c=i,o=a===0?0:i*s/a),{x:e+c,y:l+o}},Lt=vt,u={node:ut,circle:wt,ellipse:tt,polygon:kt,rect:Lt},St=(r,t)=>{t.useHtmlLabels||w().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:l,bbox:a,halfPadding:s}=S(r,t,"node "+t.classes,!0);y.info("Classes = ",t.classes);const i=l.insert("rect",":first-child");return i.attr("rx",t.rx).attr("ry",t.ry).attr("x",-a.width/2-s).attr("y",-a.height/2-s).attr("width",a.width+t.padding).attr("height",a.height+t.padding),m(t,i),t.intersect=function(n){return u.rect(t,n)},l},Et=St,q=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=a+s,n=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];y.info("Question main (Circle)");const c=_(e,i,i,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return y.warn("Intersect called"),u.polygon(t,n,o)},e},Bt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=28,a=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}];return e.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(i){return u.circle(t,14,i)},e},Mt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=4,s=l.height+t.padding,i=s/a,n=l.width+2*i+t.padding,c=[{x:i,y:0},{x:n-i,y:0},{x:n,y:-s/2},{x:n-i,y:-s},{x:i,y:-s},{x:0,y:-s/2}],o=_(e,n,s,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return u.polygon(t,c,h)},e},Ct=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-s/2,y:0},{x:a,y:0},{x:a,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return _(e,a,s,i).attr("style",t.style),t.width=a+s,t.height=s,t.intersect=function(c){return u.polygon(t,i,c)},e},Tt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Rt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:2*s/6,y:0},{x:a+s/6,y:0},{x:a-2*s/6,y:-s},{x:-s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Ht=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a+2*s/6,y:0},{x:a-s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},It=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:-2*s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},_t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a+s/2,y:0},{x:a,y:-s/2},{x:a+s/2,y:-s},{x:0,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},$t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=a/2,i=s/(2.5+a/50),n=l.height+i+t.padding,c="M 0,"+i+" a "+s+","+i+" 0,0,0 "+a+" 0 a "+s+","+i+" 0,0,0 "+-a+" 0 l 0,"+n+" a "+s+","+i+" 0,0,0 "+a+" 0 l 0,"+-n,o=e.attr("label-offset-y",i).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-a/2+","+-(n/2+i)+")");return m(t,o),t.intersect=function(h){const f=u.rect(t,h),b=f.x-t.x;if(s!=0&&(Math.abs(b)t.height/2-i)){let p=i*i*(1-b*b/(s*s));p!=0&&(p=Math.sqrt(p)),p=i-p,h.y-t.y>0&&(p=-p),f.y+=p}return f},e},Nt=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,"node "+t.classes,!0),s=e.insert("rect",":first-child"),i=l.width+t.padding,n=l.height+t.padding;if(s.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-a).attr("y",-l.height/2-a).attr("width",i).attr("height",n),t.props){const c=new Set(Object.keys(t.props));t.props.borders&&(rt(s,t.props.borders,i,n),c.delete("borders")),c.forEach(o=>{y.warn(`Unknown node property ${o}`)})}return m(t,s),t.intersect=function(c){return u.rect(t,c)},e},Wt=(r,t)=>{const{shapeSvg:e}=S(r,t,"label",!0);y.trace("Classes = ",t.classes);const l=e.insert("rect",":first-child"),a=0,s=0;if(l.attr("width",a).attr("height",s),e.attr("class","label edgeLabel"),t.props){const i=new Set(Object.keys(t.props));t.props.borders&&(rt(l,t.props.borders,a,s),i.delete("borders")),i.forEach(n=>{y.warn(`Unknown node property ${n}`)})}return m(t,l),t.intersect=function(i){return u.rect(t,i)},e};function rt(r,t,e,l){const a=[],s=n=>{a.push(n,0)},i=n=>{a.push(0,n)};t.includes("t")?(y.debug("add top border"),s(e)):i(e),t.includes("r")?(y.debug("add right border"),s(l)):i(l),t.includes("b")?(y.debug("add bottom border"),s(e)):i(e),t.includes("l")?(y.debug("add left border"),s(l)):i(l),r.attr("stroke-dasharray",a.join(" "))}const Xt=(r,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const l=r.insert("g").attr("class",e).attr("id",t.domId||t.id),a=l.insert("rect",":first-child"),s=l.insert("line"),i=l.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,y.info("Label text abc79",c,n,typeof n=="object");const o=i.node().appendChild(T(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(R(w().flowchart.htmlLabels)){const x=o.children[0],g=L(o);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}y.info("Text 2",n);const f=n.slice(1,n.length);let b=o.getBBox();const p=i.node().appendChild(T(f.join?f.join("
"):f,t.labelStyle,!0,!0));if(R(w().flowchart.htmlLabels)){const x=p.children[0],g=L(p);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}const d=t.padding/2;return L(p).attr("transform","translate( "+(h.width>b.width?0:(b.width-h.width)/2)+", "+(b.height+d+5)+")"),L(o).attr("transform","translate( "+(h.width{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.height+t.padding,s=l.width+a/4+t.padding,i=e.insert("rect",":first-child").attr("style",t.style).attr("rx",a/2).attr("ry",a/2).attr("x",-s/2).attr("y",-a/2).attr("width",s).attr("height",a);return m(t,i),t.intersect=function(n){return u.rect(t,n)},e},Ut=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=e.insert("circle",":first-child");return s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("Circle main"),m(t,s),t.intersect=function(i){return y.info("Circle intersect",t,l.width/2+a,i),u.circle(t,l.width/2+a,i)},e},At=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=5,i=e.insert("g",":first-child"),n=i.insert("circle"),c=i.insert("circle");return n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a+s).attr("width",l.width+t.padding+s*2).attr("height",l.height+t.padding+s*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return y.info("DoubleCircle intersect",t,l.width/2+a+s,o),u.circle(t,l.width/2+a+s,o)},e},Ot=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a,y:0},{x:a,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},jt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,l),t.intersect=function(a){return u.circle(t,7,a)},e},F=(r,t,e)=>{const l=r.insert("g").attr("class","node default").attr("id",t.domId||t.id);let a=70,s=10;e==="LR"&&(a=10,s=70);const i=l.append("rect").attr("x",-1*a/2).attr("y",-1*s/2).attr("width",a).attr("height",s).attr("class","fork-join");return m(t,i),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return u.rect(t,n)},l},Dt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child"),a=e.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),l.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,a),t.intersect=function(s){return u.circle(t,7,s)},e},Zt=(r,t)=>{const e=t.padding/2,l=4,a=8;let s;t.classes?s="node "+t.classes:s="node default";const i=r.insert("g").attr("class",s).attr("id",t.domId||t.id),n=i.insert("rect",":first-child"),c=i.insert("line"),o=i.insert("line");let h=0,f=l;const b=i.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],x=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",g=b.node().appendChild(T(x,t.labelStyle,!0,!0));let k=g.getBBox();if(R(w().flowchart.htmlLabels)){const E=g.children[0],M=L(g);k=E.getBoundingClientRect(),M.attr("width",k.width),M.attr("height",k.height)}t.classData.annotations[0]&&(f+=k.height+l,h+=k.width);let H=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(w().flowchart.htmlLabels?H+="<"+t.classData.type+">":H+="<"+t.classData.type+">");const $=b.node().appendChild(T(H,t.labelStyle,!0,!0));L($).attr("class","classTitle");let B=$.getBBox();if(R(w().flowchart.htmlLabels)){const E=$.children[0],M=L($);B=E.getBoundingClientRect(),M.attr("width",B.width),M.attr("height",B.height)}f+=B.height+l,B.width>h&&(h=B.width);const X=[];t.classData.members.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,X.push(I)}),f+=a;const Z=[];if(t.classData.methods.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,Z.push(I)}),f+=a,d){let E=(h-k.width)/2;L(g).attr("transform","translate( "+(-1*h/2+E)+", "+-1*f/2+")"),p=k.height+l}let at=(h-B.width)/2;return L($).attr("transform","translate( "+(-1*h/2+at)+", "+(-1*f/2+p)+")"),p+=B.height+l,c.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,X.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p+a/2)+")"),p+=B.height+l}),p+=a,o.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,Z.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p)+")"),p+=B.height+l}),n.attr("class","outer title-state").attr("x",-h/2-e).attr("y",-(f/2)-e).attr("width",h+t.padding).attr("height",f+t.padding),m(t,n),t.intersect=function(E){return u.rect(t,E)},i},K={rhombus:q,question:q,rect:Nt,labelRect:Wt,rectWithTitle:Xt,choice:Bt,circle:Ut,doublecircle:At,stadium:Yt,hexagon:Mt,rect_left_inv_arrow:Ct,lean_right:Tt,lean_left:Rt,trapezoid:Ht,inv_trapezoid:It,rect_right_inv_arrow:_t,cylinder:$t,start:jt,end:Dt,note:Et,subroutine:Ot,fork:F,join:F,class_box:Zt};let W={};const Gt=(r,t,e)=>{let l,a;if(t.link){let s;w().securityLevel==="sandbox"?s="_top":t.linkTarget&&(s=t.linkTarget||"_blank"),l=r.insert("svg:a").attr("xlink:href",t.link).attr("target",s),a=K[t.shape](l,t,e)}else a=K[t.shape](r,t,e),l=a;return t.tooltip&&a.attr("title",t.tooltip),t.class&&a.attr("class","node default "+t.class),W[t.id]=l,t.haveCallback&&W[t.id].attr("class",W[t.id].attr("class")+" clickable"),l},Pt=(r,t)=>{W[t.id]=r},tr=()=>{W={}},rr=r=>{const t=W[r.id];y.trace("Transforming node",r.diff,r,"translate("+(r.x-r.width/2-5)+", "+r.width/2+")");const e=8,l=r.diff||0;return r.clusterNode?t.attr("transform","translate("+(r.x+l-r.width/2)+", "+(r.y-r.height/2-e)+")"):t.attr("transform","translate("+r.x+", "+r.y+")"),l};let O={},v={};const ar=()=>{O={},v={}},er=(r,t)=>{const e=R(w().flowchart.htmlLabels),l=t.labelType==="markdown"?P(r,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):T(t.label,t.labelStyle);y.info("abc82",t,t.labelType);const a=r.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(l);let i=l.getBBox();if(e){const c=l.children[0],o=L(l);i=c.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}s.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),O[t.id]=a,t.width=i.width,t.height=i.height;let n;if(t.startLabelLeft){const c=T(t.startLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startLeft=o,A(n,t.startLabelLeft)}if(t.startLabelRight){const c=T(t.startLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startRight=o,A(n,t.startLabelRight)}if(t.endLabelLeft){const c=T(t.endLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endLeft=o,A(n,t.endLabelLeft)}if(t.endLabelRight){const c=T(t.endLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endRight=o,A(n,t.endLabelRight)}return l};function A(r,t){w().flowchart.htmlLabels&&r&&(r.style.width=t.length*9+"px",r.style.height="12px")}const sr=(r,t)=>{y.info("Moving label abc78 ",r.id,r.label,O[r.id]);let e=t.updatedPath?t.updatedPath:t.originalPath;if(r.label){const l=O[r.id];let a=r.x,s=r.y;if(e){const i=U.calcLabelPosition(e);y.info("Moving label "+r.label+" from (",a,",",s,") to (",i.x,",",i.y,") abc78"),t.updatedPath&&(a=i.x,s=i.y)}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelLeft){const l=v[r.id].startLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelRight){const l=v[r.id].startRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelLeft){const l=v[r.id].endLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelRight){const l=v[r.id].endRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}},zt=(r,t)=>{const e=r.x,l=r.y,a=Math.abs(t.x-e),s=Math.abs(t.y-l),i=r.width/2,n=r.height/2;return a>=i||s>=n},Qt=(r,t,e)=>{y.warn(`intersection calc abc89: outsidePoint: ${JSON.stringify(t)} insidePoint : ${JSON.stringify(e)} node : x:${r.x} y:${r.y} w:${r.width} h:${r.height}`);const l=r.x,a=r.y,s=Math.abs(l-e.x),i=r.width/2;let n=e.xMath.abs(l-t.x)*c){let f=e.y{y.warn("abc88 cutPathAtIntersect",r,t);let e=[],l=r[0],a=!1;return r.forEach(s=>{if(y.info("abc88 checking point",s,t),!zt(t,s)&&!a){const i=Qt(t,l,s);y.warn("abc88 inside",s,l,i),y.warn("abc88 intersection",i);let n=!1;e.forEach(c=>{n=n||c.x===i.x&&c.y===i.y}),e.some(c=>c.x===i.x&&c.y===i.y)?y.warn("abc88 no intersect",i,e):e.push(i),a=!0}else y.warn("abc88 outside",s,l),l=s,a||e.push(s)}),y.warn("abc88 returning points",e),e},ir=function(r,t,e,l,a,s){let i=e.points,n=!1;const c=s.node(t.v);var o=s.node(t.w);y.info("abc88 InsertEdge: ",e),o.intersect&&c.intersect&&(i=i.slice(1,e.points.length-1),i.unshift(c.intersect(i[0])),y.info("Last point",i[i.length-1],o,o.intersect(i[i.length-1])),i.push(o.intersect(i[i.length-1]))),e.toCluster&&(y.info("to cluster abc88",l[e.toCluster]),i=G(e.points,l[e.toCluster].node),n=!0),e.fromCluster&&(y.info("from cluster abc88",l[e.fromCluster]),i=G(i.reverse(),l[e.fromCluster].node).reverse(),n=!0);const h=i.filter(k=>!Number.isNaN(k.y));let f;a==="graph"||a==="flowchart"?f=e.curve||Q:f=Q;const b=et().x(function(k){return k.x}).y(function(k){return k.y}).curve(f);let p;switch(e.thickness){case"normal":p="edge-thickness-normal";break;case"thick":p="edge-thickness-thick";break;case"invisible":p="edge-thickness-thick";break;default:p=""}switch(e.pattern){case"solid":p+=" edge-pattern-solid";break;case"dotted":p+=" edge-pattern-dotted";break;case"dashed":p+=" edge-pattern-dashed";break}const d=r.append("path").attr("d",b(h)).attr("id",e.id).attr("class"," "+p+(e.classes?" "+e.classes:"")).attr("style",e.style);let x="";switch((w().flowchart.arrowMarkerAbsolute||w().state.arrowMarkerAbsolute)&&(x=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,x=x.replace(/\(/g,"\\("),x=x.replace(/\)/g,"\\)")),y.info("arrowTypeStart",e.arrowTypeStart),y.info("arrowTypeEnd",e.arrowTypeEnd),e.arrowTypeStart){case"arrow_cross":d.attr("marker-start","url("+x+"#"+a+"-crossStart)");break;case"arrow_point":d.attr("marker-start","url("+x+"#"+a+"-pointStart)");break;case"arrow_barb":d.attr("marker-start","url("+x+"#"+a+"-barbStart)");break;case"arrow_circle":d.attr("marker-start","url("+x+"#"+a+"-circleStart)");break;case"aggregation":d.attr("marker-start","url("+x+"#"+a+"-aggregationStart)");break;case"extension":d.attr("marker-start","url("+x+"#"+a+"-extensionStart)");break;case"composition":d.attr("marker-start","url("+x+"#"+a+"-compositionStart)");break;case"dependency":d.attr("marker-start","url("+x+"#"+a+"-dependencyStart)");break;case"lollipop":d.attr("marker-start","url("+x+"#"+a+"-lollipopStart)");break}switch(e.arrowTypeEnd){case"arrow_cross":d.attr("marker-end","url("+x+"#"+a+"-crossEnd)");break;case"arrow_point":d.attr("marker-end","url("+x+"#"+a+"-pointEnd)");break;case"arrow_barb":d.attr("marker-end","url("+x+"#"+a+"-barbEnd)");break;case"arrow_circle":d.attr("marker-end","url("+x+"#"+a+"-circleEnd)");break;case"aggregation":d.attr("marker-end","url("+x+"#"+a+"-aggregationEnd)");break;case"extension":d.attr("marker-end","url("+x+"#"+a+"-extensionEnd)");break;case"composition":d.attr("marker-end","url("+x+"#"+a+"-compositionEnd)");break;case"dependency":d.attr("marker-end","url("+x+"#"+a+"-dependencyEnd)");break;case"lollipop":d.attr("marker-end","url("+x+"#"+a+"-lollipopEnd)");break}let g={};return n&&(g.updatedPath=i),g.originalPath=e.points,g};export{Gt as a,er as b,ir as c,sr as d,tr as e,ar as f,T as g,Lt as h,Kt as i,S as l,rr as p,Pt as s,m as u}; diff --git a/_nuxt/entry.f8eaff67.js b/_nuxt/entry.6e9008ac.js similarity index 95% rename from _nuxt/entry.f8eaff67.js rename to _nuxt/entry.6e9008ac.js index d2544fb710..3942763b8a 100644 --- a/_nuxt/entry.f8eaff67.js +++ b/_nuxt/entry.6e9008ac.js @@ -1,10 +1,10 @@ -function Di(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const Te={},kn=[],dt=()=>{},dh=()=>!1,hh=/^on[^a-z]/,Dr=e=>hh.test(e),Hi=e=>e.startsWith("onUpdate:"),$e=Object.assign,ji=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ph=Object.prototype.hasOwnProperty,pe=(e,t)=>ph.call(e,t),re=Array.isArray,On=e=>Hr(e)==="[object Map]",Ql=e=>Hr(e)==="[object Set]",mh=e=>Hr(e)==="[object RegExp]",ie=e=>typeof e=="function",xe=e=>typeof e=="string",Vo=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",Fi=e=>(Ce(e)||ie(e))&&ie(e.then)&&ie(e.catch),Jl=Object.prototype.toString,Hr=e=>Jl.call(e),gh=e=>Hr(e).slice(8,-1),Zl=e=>Hr(e)==="[object Object]",Bi=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hr=Di(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},yh=/-(\w)/g,wt=zo(e=>e.replace(yh,(t,n)=>n?n.toUpperCase():"")),_h=/\B([A-Z])/g,wn=zo(e=>e.replace(_h,"-$1").toLowerCase()),Uo=zo(e=>e.charAt(0).toUpperCase()+e.slice(1)),gs=zo(e=>e?`on${Uo(e)}`:""),gn=(e,t)=>!Object.is(e,t),Ln=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},js=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Yl=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Da;const Fs=()=>Da||(Da=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Qn(e){if(re(e)){const t={};for(let n=0;n{if(n){const r=n.split(bh);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function je(e){let t="";if(xe(e))t=e;else if(re(e))for(let n=0;nxe(e)?e:e==null?"":re(e)||Ce(e)&&(e.toString===Jl||!ie(e.toString))?JSON.stringify(e,Xl,2):String(e),Xl=(e,t)=>t&&t.__v_isRef?Xl(e,t.value):On(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o])=>(n[`${r} =>`]=o,n),{})}:Ql(t)?{[`Set(${t.size})`]:[...t.values()]}:Ce(t)&&!re(t)&&!Zl(t)?String(t):t;let Ge;class eu{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ge;try{return Ge=this,t()}finally{Ge=n}}}on(){Ge=this}off(){Ge=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},tu=e=>(e.w&Gt)>0,nu=e=>(e.n&Gt)>0,Sh=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(u==="length"||!Vo(u)&&u>=c)&&a.push(l)})}else switch(n!==void 0&&a.push(i.get(n)),t){case"add":re(e)?Bi(n)&&a.push(i.get("length")):(a.push(i.get(pn)),On(e)&&a.push(i.get(Vs)));break;case"delete":re(e)||(a.push(i.get(pn)),On(e)&&a.push(i.get(Vs)));break;case"set":On(e)&&a.push(i.get(pn));break}if(a.length===1)a[0]&&zs(a[0]);else{const c=[];for(const l of a)l&&c.push(...l);zs(Vi(c))}}function zs(e,t){const n=re(e)?e:[...e];for(const r of n)r.computed&&ja(r);for(const r of n)r.computed||ja(r)}function ja(e,t){(e!==ut||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Ih(e,t){var n;return(n=_o.get(e))==null?void 0:n.get(t)}const kh=Di("__proto__,__v_isRef,__isVue"),su=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vo)),Fa=Oh();function Oh(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=me(this);for(let s=0,i=this.length;s{e[t]=function(...n){Jn();const r=me(this)[t].apply(this,n);return Zn(),r}}),e}function Lh(e){const t=me(this);return Qe(t,"has",e),t.hasOwnProperty(e)}class iu{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const o=this._isReadonly,s=this._shallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw"&&r===(o?s?Wh:uu:s?lu:cu).get(t))return t;const i=re(t);if(!o){if(i&&pe(Fa,n))return Reflect.get(Fa,n,r);if(n==="hasOwnProperty")return Lh}const a=Reflect.get(t,n,r);return(Vo(n)?su.has(n):kh(n))||(o||Qe(t,"get",n),s)?a:Se(a)?i&&Bi(n)?a:a.value:Ce(a)?o?qo(a):tt(a):a}}class au extends iu{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(yn(s)&&Se(s)&&!Se(r))return!1;if(!this._shallow&&(!vo(r)&&!yn(r)&&(s=me(s),r=me(r)),!re(t)&&Se(s)&&!Se(r)))return s.value=r,!0;const i=re(t)&&Bi(n)?Number(n)e,Wo=e=>Reflect.getPrototypeOf(e);function Ur(e,t,n=!1,r=!1){e=e.__v_raw;const o=me(e),s=me(t);n||(gn(t,s)&&Qe(o,"get",t),Qe(o,"get",s));const{has:i}=Wo(o),a=r?Ui:n?qi:Cr;if(i.call(o,t))return a(e.get(t));if(i.call(o,s))return a(e.get(s));e!==o&&e.get(t)}function Kr(e,t=!1){const n=this.__v_raw,r=me(n),o=me(e);return t||(gn(e,o)&&Qe(r,"has",e),Qe(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Wr(e,t=!1){return e=e.__v_raw,!t&&Qe(me(e),"iterate",pn),Reflect.get(e,"size",e)}function Ba(e){e=me(e);const t=me(this);return Wo(t).has.call(t,e)||(t.add(e),It(t,"add",e,e)),this}function Va(e,t){t=me(t);const n=me(this),{has:r,get:o}=Wo(n);let s=r.call(n,e);s||(e=me(e),s=r.call(n,e));const i=o.call(n,e);return n.set(e,t),s?gn(t,i)&&It(n,"set",e,t):It(n,"add",e,t),this}function za(e){const t=me(this),{has:n,get:r}=Wo(t);let o=n.call(t,e);o||(e=me(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&It(t,"delete",e,void 0),s}function Ua(){const e=me(this),t=e.size!==0,n=e.clear();return t&&It(e,"clear",void 0,void 0),n}function qr(e,t){return function(r,o){const s=this,i=s.__v_raw,a=me(i),c=t?Ui:e?qi:Cr;return!e&&Qe(a,"iterate",pn),i.forEach((l,u)=>r.call(o,c(l),c(u),s))}}function Qr(e,t,n){return function(...r){const o=this.__v_raw,s=me(o),i=On(s),a=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,l=o[e](...r),u=n?Ui:t?qi:Cr;return!t&&Qe(s,"iterate",c?Vs:pn),{next(){const{value:f,done:d}=l.next();return d?{value:f,done:d}:{value:a?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function Ht(e){return function(...t){return e==="delete"?!1:this}}function Hh(){const e={get(s){return Ur(this,s)},get size(){return Wr(this)},has:Kr,add:Ba,set:Va,delete:za,clear:Ua,forEach:qr(!1,!1)},t={get(s){return Ur(this,s,!1,!0)},get size(){return Wr(this)},has:Kr,add:Ba,set:Va,delete:za,clear:Ua,forEach:qr(!1,!0)},n={get(s){return Ur(this,s,!0)},get size(){return Wr(this,!0)},has(s){return Kr.call(this,s,!0)},add:Ht("add"),set:Ht("set"),delete:Ht("delete"),clear:Ht("clear"),forEach:qr(!0,!1)},r={get(s){return Ur(this,s,!0,!0)},get size(){return Wr(this,!0)},has(s){return Kr.call(this,s,!0)},add:Ht("add"),set:Ht("set"),delete:Ht("delete"),clear:Ht("clear"),forEach:qr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=Qr(s,!1,!1),n[s]=Qr(s,!0,!1),t[s]=Qr(s,!1,!0),r[s]=Qr(s,!0,!0)}),[e,n,t,r]}const[jh,Fh,Bh,Vh]=Hh();function Ki(e,t){const n=t?e?Vh:Bh:e?Fh:jh;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(pe(n,o)&&o in r?n:r,o,s)}const zh={get:Ki(!1,!1)},Uh={get:Ki(!1,!0)},Kh={get:Ki(!0,!1)},cu=new WeakMap,lu=new WeakMap,uu=new WeakMap,Wh=new WeakMap;function qh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qh(e){return e.__v_skip||!Object.isExtensible(e)?0:qh(gh(e))}function tt(e){return yn(e)?e:Wi(e,!1,Mh,zh,cu)}function Qt(e){return Wi(e,!1,Dh,Uh,lu)}function qo(e){return Wi(e,!0,Nh,Kh,uu)}function Wi(e,t,n,r,o){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Qh(e);if(i===0)return e;const a=new Proxy(e,i===2?r:n);return o.set(e,a),a}function $n(e){return yn(e)?$n(e.__v_raw):!!(e&&e.__v_isReactive)}function yn(e){return!!(e&&e.__v_isReadonly)}function vo(e){return!!(e&&e.__v_isShallow)}function fu(e){return $n(e)||yn(e)}function me(e){const t=e&&e.__v_raw;return t?me(t):e}function du(e){return yo(e,"__v_skip",!0),e}const Cr=e=>Ce(e)?tt(e):e,qi=e=>Ce(e)?qo(e):e;function Qi(e){qt&&ut&&(e=me(e),ou(e.dep||(e.dep=Vi())))}function Ji(e,t){e=me(e);const n=e.dep;n&&zs(n)}function Se(e){return!!(e&&e.__v_isRef===!0)}function ce(e){return hu(e,!1)}function kt(e){return hu(e,!0)}function hu(e,t){return Se(e)?e:new Jh(e,t)}class Jh{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:me(t),this._value=n?t:Cr(t)}get value(){return Qi(this),this._value}set value(t){const n=this.__v_isShallow||vo(t)||yn(t);t=n?t:me(t),gn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Cr(t),Ji(this))}}function M(e){return Se(e)?e.value:e}const Zh={get:(e,t,n)=>M(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Se(o)&&!Se(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function pu(e){return $n(e)?e:new Proxy(e,Zh)}class Yh{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Qi(this),()=>Ji(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function mu(e){return new Yh(e)}function rx(e){const t=re(e)?new Array(e.length):{};for(const n in e)t[n]=gu(e,n);return t}class Gh{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ih(me(this._object),this._key)}}class Xh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Qo(e,t,n){return Se(e)?e:ie(e)?new Xh(e):Ce(e)&&arguments.length>1?gu(e,t,n):ce(e)}function gu(e,t,n){const r=e[t];return Se(r)?r:new Gh(e,t,n)}class ep{constructor(t,n,r,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new zi(t,()=>{this._dirty||(this._dirty=!0,Ji(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=me(this);return Qi(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function tp(e,t,n=!1){let r,o;const s=ie(e);return s?(r=e,o=dt):(r=e.get,o=e.set),new ep(r,o,s||!o,n)}function np(e,...t){}function Jt(e,t,n,r){let o;try{o=r?e(...r):e()}catch(s){Yn(s,t,n)}return o}function it(e,t,n,r){if(ie(e)){const s=Jt(e,t,n,r);return s&&Fi(s)&&s.catch(i=>{Yn(i,t,n)}),s}const o=[];for(let s=0;s>>1,o=He[r],s=Pr(o);svt&&He.splice(t,1)}function Ks(e){re(e)?Mn.push(...e):(!At||!At.includes(e,e.allowRecurse?ln+1:ln))&&Mn.push(e),_u()}function Ka(e,t=Tr?vt+1:0){for(;tPr(n)-Pr(r)),ln=0;lne.id==null?1/0:e.id,ip=(e,t)=>{const n=Pr(e)-Pr(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function vu(e){Us=!1,Tr=!0,He.sort(ip);const t=dt;try{for(vt=0;vtxe(h)?h.trim():h)),f&&(o=n.map(js))}let a,c=r[a=gs(t)]||r[a=gs(wt(t))];!c&&s&&(c=r[a=gs(wn(t))]),c&&it(c,e,6,o);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,it(l,e,6,o)}}function bu(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},a=!1;if(!ie(e)){const c=l=>{const u=bu(l,t,!0);u&&(a=!0,$e(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!s&&!a?(Ce(e)&&r.set(e,null),null):(re(s)?s.forEach(c=>i[c]=null):$e(i,s),Ce(e)&&r.set(e,i),i)}function Zo(e,t){return!e||!Dr(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,wn(t))||pe(e,t))}let Me=null,Yo=null;function wo(e){const t=Me;return Me=e,Yo=e&&e.type.__scopeId||null,t}function wu(e){Yo=e}function Eu(){Yo=null}function Je(e,t=Me,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&sc(-1);const s=wo(t);let i;try{i=e(...o)}finally{wo(s),r._d&&sc(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function ys(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[i],slots:a,attrs:c,emit:l,render:u,renderCache:f,data:d,setupState:h,ctx:m,inheritAttrs:p}=e;let y,b;const v=wo(e);try{if(n.shapeFlag&4){const _=o||r;y=ot(u.call(_,_,f,s,h,d,m)),b=c}else{const _=t;y=ot(_.length>1?_(s,{attrs:c,slots:a,emit:l}):_(s,null)),b=t.props?c:lp(c)}}catch(_){gr.length=0,Yn(_,e,1),y=oe(Ke)}let g=y;if(b&&p!==!1){const _=Object.keys(b),{shapeFlag:P}=g;_.length&&P&7&&(i&&_.some(Hi)&&(b=up(b,i)),g=Lt(g,b))}return n.dirs&&(g=Lt(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),y=g,wo(v),y}function cp(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Dr(n))&&((t||(t={}))[n]=e[n]);return t},up=(e,t)=>{const n={};for(const r in e)(!Hi(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function fp(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:a,patchFlag:c}=t,l=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Wa(r,i,l):!!i;if(c&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense,hp={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,s,i,a,c,l){e==null?pp(t,n,r,o,s,i,a,c,l):mp(e,t,n,r,o,i,a,c,l)},hydrate:gp,create:Xi,normalize:yp},xu=hp;function xr(e,t){const n=e.props&&e.props[t];ie(n)&&n()}function pp(e,t,n,r,o,s,i,a,c){const{p:l,o:{createElement:u}}=c,f=u("div"),d=e.suspense=Xi(e,o,r,t,f,n,s,i,a,c);l(null,d.pendingBranch=e.ssContent,f,null,r,d,s,i),d.deps>0?(xr(e,"onPending"),xr(e,"onFallback"),l(null,e.ssFallback,t,n,r,null,s,i),Nn(d,e.ssFallback)):d.resolve(!1,!0)}function mp(e,t,n,r,o,s,i,a,{p:c,um:l,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:m,pendingBranch:p,isInFallback:y,isHydrating:b}=f;if(p)f.pendingBranch=d,ft(d,p)?(c(p,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():y&&(c(m,h,n,r,o,null,s,i,a),Nn(f,h))):(f.pendingId++,b?(f.isHydrating=!1,f.activeBranch=p):l(p,o,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),y?(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():(c(m,h,n,r,o,null,s,i,a),Nn(f,h))):m&&ft(d,m)?(c(m,d,n,r,o,f,s,i,a),f.resolve(!0)):(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0&&f.resolve()));else if(m&&ft(d,m))c(m,d,n,r,o,f,s,i,a),Nn(f,d);else if(xr(t,"onPending"),f.pendingBranch=d,f.pendingId++,c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0)f.resolve();else{const{timeout:v,pendingId:g}=f;v>0?setTimeout(()=>{f.pendingId===g&&f.fallback(h)},v):v===0&&f.fallback(h)}}function Xi(e,t,n,r,o,s,i,a,c,l,u=!1){const{p:f,m:d,um:h,n:m,o:{parentNode:p,remove:y}}=l;let b;const v=_p(e);v&&t!=null&&t.pendingBranch&&(b=t.pendingId,t.deps++);const g=e.props?Yl(e.props.timeout):void 0,_={vnode:e,parent:t,parentComponent:n,isSVG:i,container:r,hiddenContainer:o,anchor:s,deps:0,pendingId:0,timeout:typeof g=="number"?g:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(P=!1,S=!1){const{vnode:I,activeBranch:k,pendingBranch:H,pendingId:R,effects:T,parentComponent:C,container:x}=_;let V=!1;if(_.isHydrating)_.isHydrating=!1;else if(!P){V=k&&H.transition&&H.transition.mode==="out-in",V&&(k.transition.afterLeave=()=>{R===_.pendingId&&(d(H,x,J,0),Ks(T))});let{anchor:J}=_;k&&(J=m(k),h(k,C,_,!0)),V||d(H,x,J,0)}Nn(_,H),_.pendingBranch=null,_.isInFallback=!1;let Q=_.parent,B=!1;for(;Q;){if(Q.pendingBranch){Q.effects.push(...T),B=!0;break}Q=Q.parent}!B&&!V&&Ks(T),_.effects=[],v&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!S&&t.resolve()),xr(I,"onResolve")},fallback(P){if(!_.pendingBranch)return;const{vnode:S,activeBranch:I,parentComponent:k,container:H,isSVG:R}=_;xr(S,"onFallback");const T=m(I),C=()=>{_.isInFallback&&(f(null,P,H,T,k,null,R,a,c),Nn(_,P))},x=P.transition&&P.transition.mode==="out-in";x&&(I.transition.afterLeave=C),_.isInFallback=!0,h(I,k,null,!0),x||C()},move(P,S,I){_.activeBranch&&d(_.activeBranch,P,S,I),_.container=P},next(){return _.activeBranch&&m(_.activeBranch)},registerDep(P,S){const I=!!_.pendingBranch;I&&_.deps++;const k=P.vnode.el;P.asyncDep.catch(H=>{Yn(H,P,0)}).then(H=>{if(P.isUnmounted||_.isUnmounted||_.pendingId!==P.suspenseId)return;P.asyncResolved=!0;const{vnode:R}=P;Gs(P,H,!1),k&&(R.el=k);const T=!k&&P.subTree.el;S(P,R,p(k||P.subTree.el),k?null:m(P.subTree),_,i,c),T&&y(T),Yi(P,R.el),I&&--_.deps===0&&_.resolve()})},unmount(P,S){_.isUnmounted=!0,_.activeBranch&&h(_.activeBranch,n,P,S),_.pendingBranch&&h(_.pendingBranch,n,P,S)}};return _}function gp(e,t,n,r,o,s,i,a,c){const l=t.suspense=Xi(t,r,n,e.parentNode,document.createElement("div"),null,o,s,i,a,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,s,i);return l.deps===0&&l.resolve(!1,!0),u}function yp(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Qa(r?n.default:n),e.ssFallback=r?Qa(n.fallback):oe(Ke)}function Qa(e){let t;if(ie(e)){const n=Vn&&e._c;n&&(e._d=!1,q()),e=e(),n&&(e._d=!0,t=st,Xu())}return re(e)&&(e=cp(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Au(e,t){t&&t.pendingBranch?re(e)?t.effects.push(...e):t.effects.push(e):Ks(e)}function Nn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e,o=n.el=t.el;r&&r.subTree===n&&(r.vnode.el=o,Yi(r,o))}function _p(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}function vp(e,t){return Xo(e,null,t)}function bp(e,t){return Xo(e,null,{flush:"post"})}const Jr={};function ge(e,t,n){return Xo(e,t,n)}function Xo(e,t,{immediate:n,deep:r,flush:o,onTrack:s,onTrigger:i}=Te){var a;const c=Ko()===((a=ke)==null?void 0:a.scope)?ke:null;let l,u=!1,f=!1;if(Se(e)?(l=()=>e.value,u=vo(e)):$n(e)?(l=()=>e,r=!0):re(e)?(f=!0,u=e.some(_=>$n(_)||vo(_)),l=()=>e.map(_=>{if(Se(_))return _.value;if($n(_))return hn(_);if(ie(_))return Jt(_,c,2)})):ie(e)?t?l=()=>Jt(e,c,2):l=()=>{if(!(c&&c.isUnmounted))return d&&d(),it(e,c,3,[h])}:l=dt,t&&r){const _=l;l=()=>hn(_())}let d,h=_=>{d=v.onStop=()=>{Jt(_,c,4)}},m;if(Un)if(h=dt,t?n&&it(t,c,3,[l(),f?[]:void 0,h]):l(),o==="sync"){const _=um();m=_.__watcherHandles||(_.__watcherHandles=[])}else return dt;let p=f?new Array(e.length).fill(Jr):Jr;const y=()=>{if(v.active)if(t){const _=v.run();(r||u||(f?_.some((P,S)=>gn(P,p[S])):gn(_,p)))&&(d&&d(),it(t,c,3,[_,p===Jr?void 0:f&&p[0]===Jr?[]:p,h]),p=_)}else v.run()};y.allowRecurse=!!t;let b;o==="sync"?b=y:o==="post"?b=()=>Ne(y,c&&c.suspense):(y.pre=!0,c&&(y.id=c.uid),b=()=>Jo(y));const v=new zi(l,b);t?n?y():p=v.run():o==="post"?Ne(v.run.bind(v),c&&c.suspense):v.run();const g=()=>{v.stop(),c&&c.scope&&ji(c.scope.effects,v)};return m&&m.push(g),g}function wp(e,t,n){const r=this.proxy,o=xe(e)?e.includes(".")?Su(r,e):()=>r[e]:e.bind(r,r);let s;ie(t)?s=t:(s=t.handler,n=t);const i=ke;Xt(this);const a=Xo(o,s.bind(r),n);return i?Xt(i):Zt(),a}function Su(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{hn(n,t)});else if(Zl(e))for(const n in e)hn(e[n],t);return e}function Ru(e,t){const n=Me;if(n===null)return e;const r=ns(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),Gn(()=>{e.isUnmounting=!0}),e}const rt=[Function,Array],Iu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:rt,onEnter:rt,onAfterEnter:rt,onEnterCancelled:rt,onBeforeLeave:rt,onLeave:rt,onAfterLeave:rt,onLeaveCancelled:rt,onBeforeAppear:rt,onAppear:rt,onAfterAppear:rt,onAppearCancelled:rt},Cp={name:"BaseTransition",props:Iu,setup(e,{slots:t}){const n=pt(),r=Ep();let o;return()=>{const s=t.default&&Ou(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1){for(const p of s)if(p.type!==Ke){i=p;break}}const a=me(e),{mode:c}=a;if(r.isLeaving)return _s(i);const l=Ja(i);if(!l)return _s(i);const u=Ws(l,a,r,n);Eo(l,u);const f=n.subTree,d=f&&Ja(f);let h=!1;const{getTransitionKey:m}=l.type;if(m){const p=m();o===void 0?o=p:p!==o&&(o=p,h=!0)}if(d&&d.type!==Ke&&(!ft(l,d)||h)){const p=Ws(d,a,r,n);if(Eo(d,p),c==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},_s(i);c==="in-out"&&l.type!==Ke&&(p.delayLeave=(y,b,v)=>{const g=ku(r,d);g[String(d.key)]=d,y[zt]=()=>{b(),y[zt]=void 0,delete u.delayedLeave},u.delayedLeave=v})}return i}}},Tp=Cp;function ku(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ws(e,t,n,r){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:f,onLeave:d,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:p,onAppear:y,onAfterAppear:b,onAppearCancelled:v}=t,g=String(e.key),_=ku(n,e),P=(k,H)=>{k&&it(k,r,9,H)},S=(k,H)=>{const R=H[1];P(k,H),re(k)?k.every(T=>T.length<=1)&&R():k.length<=1&&R()},I={mode:s,persisted:i,beforeEnter(k){let H=a;if(!n.isMounted)if(o)H=p||a;else return;k[zt]&&k[zt](!0);const R=_[g];R&&ft(e,R)&&R.el[zt]&&R.el[zt](),P(H,[k])},enter(k){let H=c,R=l,T=u;if(!n.isMounted)if(o)H=y||c,R=b||l,T=v||u;else return;let C=!1;const x=k[Zr]=V=>{C||(C=!0,V?P(T,[k]):P(R,[k]),I.delayedLeave&&I.delayedLeave(),k[Zr]=void 0)};H?S(H,[k,x]):x()},leave(k,H){const R=String(e.key);if(k[Zr]&&k[Zr](!0),n.isUnmounting)return H();P(f,[k]);let T=!1;const C=k[zt]=x=>{T||(T=!0,H(),x?P(m,[k]):P(h,[k]),k[zt]=void 0,_[R]===e&&delete _[R])};_[R]=e,d?S(d,[k,C]):C()},clone(k){return Ws(k,t,n,r)}};return I}function _s(e){if(jr(e))return e=Lt(e),e.children=null,e}function Ja(e){return jr(e)?e.children?e.children[0]:void 0:e}function Eo(e,t){e.shapeFlag&6&&e.component?Eo(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ou(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s$e({name:e.name},t,{setup:e}))():e}const mn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function N(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:a}=e;let c=null,l,u=0;const f=()=>(u++,c=null,d()),d=()=>{let h;return c||(h=c=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),a)return new Promise((p,y)=>{a(m,()=>p(f()),()=>y(m),u+1)});throw m}).then(m=>h!==c&&c?c:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),l=m,m)))};return Ae({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return l},setup(){const h=ke;if(l)return()=>vs(l,h);const m=v=>{c=null,Yn(v,h,13,!r)};if(i&&h.suspense||Un)return d().then(v=>()=>vs(v,h)).catch(v=>(m(v),()=>r?oe(r,{error:v}):null));const p=ce(!1),y=ce(),b=ce(!!o);return o&&setTimeout(()=>{b.value=!1},o),s!=null&&setTimeout(()=>{if(!p.value&&!y.value){const v=new Error(`Async component timed out after ${s}ms.`);m(v),y.value=v}},s),d().then(()=>{p.value=!0,h.parent&&jr(h.parent.vnode)&&Jo(h.parent.update)}).catch(v=>{m(v),y.value=v}),()=>{if(p.value&&l)return vs(l,h);if(y.value&&r)return oe(r,{error:y.value});if(n&&!b.value)return oe(n)}}})}function vs(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=oe(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const jr=e=>e.type.__isKeepAlive,Pp={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=pt(),r=n.ctx;if(!r.renderer)return()=>{const v=t.default&&t.default();return v&&v.length===1?v[0]:v};const o=new Map,s=new Set;let i=null;const a=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:f}}}=r,d=f("div");r.activate=(v,g,_,P,S)=>{const I=v.component;l(v,g,_,0,a),c(I.vnode,v,g,_,I,a,P,v.slotScopeIds,S),Ne(()=>{I.isDeactivated=!1,I.a&&Ln(I.a);const k=v.props&&v.props.onVnodeMounted;k&&qe(k,I.parent,v)},a)},r.deactivate=v=>{const g=v.component;l(v,d,null,1,a),Ne(()=>{g.da&&Ln(g.da);const _=v.props&&v.props.onVnodeUnmounted;_&&qe(_,g.parent,v),g.isDeactivated=!0},a)};function h(v){bs(v),u(v,n,a,!0)}function m(v){o.forEach((g,_)=>{const P=Xs(g.type);P&&(!v||!v(P))&&p(_)})}function p(v){const g=o.get(v);!i||!ft(g,i)?h(g):i&&bs(i),o.delete(v),s.delete(v)}ge(()=>[e.include,e.exclude],([v,g])=>{v&&m(_=>cr(v,_)),g&&m(_=>!cr(g,_))},{flush:"post",deep:!0});let y=null;const b=()=>{y!=null&&o.set(y,ws(n.subTree))};return Nt(b),Du(b),Gn(()=>{o.forEach(v=>{const{subTree:g,suspense:_}=n,P=ws(g);if(v.type===P.type&&v.key===P.key){bs(P);const S=P.component.da;S&&Ne(S,_);return}h(v)})}),()=>{if(y=null,!t.default)return null;const v=t.default(),g=v[0];if(v.length>1)return i=null,v;if(!zn(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let _=ws(g);const P=_.type,S=Xs(mn(_)?_.type.__asyncResolved||{}:P),{include:I,exclude:k,max:H}=e;if(I&&(!S||!cr(I,S))||k&&S&&cr(k,S))return i=_,g;const R=_.key==null?P:_.key,T=o.get(R);return _.el&&(_=Lt(_),g.shapeFlag&128&&(g.ssContent=_)),y=R,T?(_.el=T.el,_.component=T.component,_.transition&&Eo(_,_.transition),_.shapeFlag|=512,s.delete(R),s.add(R)):(s.add(R),H&&s.size>parseInt(H,10)&&p(s.values().next().value)),_.shapeFlag|=256,i=_,Pu(g.type)?g:_}}},xp=Pp;function cr(e,t){return re(e)?e.some(n=>cr(n,t)):xe(e)?e.split(",").includes(t):mh(e)?e.test(t):!1}function Lu(e,t){Mu(e,"a",t)}function $u(e,t){Mu(e,"da",t)}function Mu(e,t,n=ke){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(es(t,r,n),n){let o=n.parent;for(;o&&o.parent;)jr(o.parent.vnode)&&Ap(r,t,n,o),o=o.parent}}function Ap(e,t,n,r){const o=es(t,e,r,!0);Ar(()=>{ji(r[t],o)},n)}function bs(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ws(e){return e.shapeFlag&128?e.ssContent:e}function es(e,t,n=ke,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Jn(),Xt(n);const a=it(t,n,e,i);return Zt(),Zn(),a});return r?o.unshift(s):o.push(s),s}}const Mt=e=>(t,n=ke)=>(!Un||e==="sp")&&es(e,(...r)=>t(...r),n),Nu=Mt("bm"),Nt=Mt("m"),Sp=Mt("bu"),Du=Mt("u"),Gn=Mt("bum"),Ar=Mt("um"),Rp=Mt("sp"),Ip=Mt("rtg"),kp=Mt("rtc");function Hu(e,t=ke){es("ec",e,t)}function Fn(e,t,n,r){let o;const s=n&&n[r];if(re(e)||xe(e)){o=new Array(e.length);for(let i=0,a=e.length;it(i,a,void 0,s&&s[a]));else{const i=Object.keys(e);o=new Array(i.length);for(let a=0,c=i.length;azn(t)?!(t.type===Ke||t.type===Pe&&!ju(t.children)):!0)?e:null}const qs=e=>e?rf(e)?ns(e)||e.proxy:qs(e.parent):null,pr=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>qs(e.parent),$root:e=>qs(e.root),$emit:e=>e.emit,$options:e=>ea(e),$forceUpdate:e=>e.f||(e.f=()=>Jo(e.update)),$nextTick:e=>e.n||(e.n=Et.bind(e.proxy)),$watch:e=>wp.bind(e)}),Es=(e,t)=>e!==Te&&!e.__isScriptSetup&&pe(e,t),Op={get({_:e},t){const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:a,appContext:c}=e;let l;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(Es(r,t))return i[t]=1,r[t];if(o!==Te&&pe(o,t))return i[t]=2,o[t];if((l=e.propsOptions[0])&&pe(l,t))return i[t]=3,s[t];if(n!==Te&&pe(n,t))return i[t]=4,n[t];Qs&&(i[t]=0)}}const u=pr[t];let f,d;if(u)return t==="$attrs"&&Qe(e,"get",t),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==Te&&pe(n,t))return i[t]=4,n[t];if(d=c.config.globalProperties,pe(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return Es(o,t)?(o[t]=n,!0):r!==Te&&pe(r,t)?(r[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let a;return!!n[i]||e!==Te&&pe(e,i)||Es(t,i)||(a=s[0])&&pe(a,i)||pe(r,i)||pe(pr,i)||pe(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ox(){return Lp().slots}function Lp(){const e=pt();return e.setupContext||(e.setupContext=sf(e))}function Za(e){return re(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Fu(e){const t=pt();let n=e();return Zt(),Fi(n)&&(n=n.catch(r=>{throw Xt(t),r})),[n,()=>Xt(t)]}let Qs=!0;function $p(e){const t=ea(e),n=e.proxy,r=e.ctx;Qs=!1,t.beforeCreate&&Ya(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:a,provide:c,inject:l,created:u,beforeMount:f,mounted:d,beforeUpdate:h,updated:m,activated:p,deactivated:y,beforeDestroy:b,beforeUnmount:v,destroyed:g,unmounted:_,render:P,renderTracked:S,renderTriggered:I,errorCaptured:k,serverPrefetch:H,expose:R,inheritAttrs:T,components:C,directives:x,filters:V}=t;if(l&&Mp(l,r,null),i)for(const J in i){const U=i[J];ie(U)&&(r[J]=U.bind(n))}if(o){const J=o.call(n,n);Ce(J)&&(e.data=tt(J))}if(Qs=!0,s)for(const J in s){const U=s[J],he=ie(U)?U.bind(n,n):ie(U.get)?U.get.bind(n,n):dt,Oe=!ie(U)&&ie(U.set)?U.set.bind(n):dt,Le=ee({get:he,set:Oe});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>Le.value,set:we=>Le.value=we})}if(a)for(const J in a)Bu(a[J],r,n,J);if(c){const J=ie(c)?c.call(n):c;Reflect.ownKeys(J).forEach(U=>{Dn(U,J[U])})}u&&Ya(u,e,"c");function B(J,U){re(U)?U.forEach(he=>J(he.bind(n))):U&&J(U.bind(n))}if(B(Nu,f),B(Nt,d),B(Sp,h),B(Du,m),B(Lu,p),B($u,y),B(Hu,k),B(kp,S),B(Ip,I),B(Gn,v),B(Ar,_),B(Rp,H),re(R))if(R.length){const J=e.exposed||(e.exposed={});R.forEach(U=>{Object.defineProperty(J,U,{get:()=>n[U],set:he=>n[U]=he})})}else e.exposed||(e.exposed={});P&&e.render===dt&&(e.render=P),T!=null&&(e.inheritAttrs=T),C&&(e.components=C),x&&(e.directives=x)}function Mp(e,t,n=dt){re(e)&&(e=Js(e));for(const r in e){const o=e[r];let s;Ce(o)?"default"in o?s=De(o.from||r,o.default,!0):s=De(o.from||r):s=De(o),Se(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Ya(e,t,n){it(re(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Bu(e,t,n,r){const o=r.includes(".")?Su(n,r):()=>n[r];if(xe(e)){const s=t[e];ie(s)&&ge(o,s)}else if(ie(e))ge(o,e.bind(n));else if(Ce(e))if(re(e))e.forEach(s=>Bu(s,t,n,r));else{const s=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(s)&&ge(o,s,e)}}function ea(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,a=s.get(t);let c;return a?c=a:!o.length&&!n&&!r?c=t:(c={},o.length&&o.forEach(l=>Co(c,l,i,!0)),Co(c,t,i)),Ce(t)&&s.set(t,c),c}function Co(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Co(e,s,n,!0),o&&o.forEach(i=>Co(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=Np[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Np={data:Ga,props:Xa,emits:Xa,methods:lr,computed:lr,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:lr,directives:lr,watch:Hp,provide:Ga,inject:Dp};function Ga(e,t){return t?e?function(){return $e(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function Dp(e,t){return lr(Js(e),Js(t))}function Js(e){if(re(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(r&&r.proxy):t}}function zu(){return!!(ke||Me||Rr)}function Bp(e,t,n,r=!1){const o={},s={};yo(s,ts,1),e.propsDefaults=Object.create(null),Uu(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Qt(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Vp(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,a=me(o),[c]=e.propsOptions;let l=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[d,h]=Ku(f,t,!0);$e(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!c)return Ce(e)&&r.set(e,kn),kn;if(re(s))for(let u=0;u-1,h[1]=p<0||m-1||pe(h,"default"))&&a.push(f)}}}const l=[i,a];return Ce(e)&&r.set(e,l),l}function ec(e){return e[0]!=="$"}function tc(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function nc(e,t){return tc(e)===tc(t)}function rc(e,t){return re(t)?t.findIndex(n=>nc(n,e)):ie(t)&&nc(t,e)?0:-1}const Wu=e=>e[0]==="_"||e==="$stable",ta=e=>re(e)?e.map(ot):[ot(e)],zp=(e,t,n)=>{if(t._n)return t;const r=Je((...o)=>ta(t(...o)),n);return r._c=!1,r},qu=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Wu(o))continue;const s=e[o];if(ie(s))t[o]=zp(o,s,r);else if(s!=null){const i=ta(s);t[o]=()=>i}}},Qu=(e,t)=>{const n=ta(t);e.slots.default=()=>n},Up=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=me(t),yo(t,"_",n)):qu(t,e.slots={})}else e.slots={},t&&Qu(e,t);yo(e.slots,ts,1)},Kp=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Te;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:($e(o,t),!n&&a===1&&delete o._):(s=!t.$stable,qu(t,o)),i=t}else t&&(Qu(e,t),i={default:1});if(s)for(const a in o)!Wu(a)&&i[a]==null&&delete o[a]};function To(e,t,n,r,o=!1){if(re(e)){e.forEach((d,h)=>To(d,t&&(re(t)?t[h]:t),n,r,o));return}if(mn(r)&&!o)return;const s=r.shapeFlag&4?ns(r.component)||r.component.proxy:r.el,i=o?null:s,{i:a,r:c}=e,l=t&&t.r,u=a.refs===Te?a.refs={}:a.refs,f=a.setupState;if(l!=null&&l!==c&&(xe(l)?(u[l]=null,pe(f,l)&&(f[l]=null)):Se(l)&&(l.value=null)),ie(c))Jt(c,a,12,[i,u]);else{const d=xe(c),h=Se(c);if(d||h){const m=()=>{if(e.f){const p=d?pe(f,c)?f[c]:u[c]:c.value;o?re(p)&&ji(p,s):re(p)?p.includes(s)||p.push(s):d?(u[c]=[s],pe(f,c)&&(f[c]=u[c])):(c.value=[s],e.k&&(u[e.k]=c.value))}else d?(u[c]=i,pe(f,c)&&(f[c]=i)):h&&(c.value=i,e.k&&(u[e.k]=i))};i?(m.id=-1,Ne(m,n)):m()}}}let jt=!1;const Yr=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Gr=e=>e.nodeType===8;function Wp(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:a,insert:c,createComment:l}}=e,u=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),bo(),_._vnode=g;return}jt=!1,f(_.firstChild,g,null,null,null),bo(),_._vnode=g,jt&&console.error("Hydration completed but contains mismatches.")},f=(g,_,P,S,I,k=!1)=>{const H=Gr(g)&&g.data==="[",R=()=>p(g,_,P,S,I,H),{type:T,ref:C,shapeFlag:x,patchFlag:V}=_;let Q=g.nodeType;_.el=g,V===-2&&(k=!1,_.dynamicChildren=null);let B=null;switch(T){case Bn:Q!==3?_.children===""?(c(_.el=o(""),i(g),g),B=g):B=R():(g.data!==_.children&&(jt=!0,g.data=_.children),B=s(g));break;case Ke:v(g)?(B=s(g),b(_.el=g.content.firstChild,g,P)):Q!==8||H?B=R():B=s(g);break;case Hn:if(H&&(g=s(g),Q=g.nodeType),Q===1||Q===3){B=g;const J=!_.children.length;for(let U=0;U<_.staticCount;U++)J&&(_.children+=B.nodeType===1?B.outerHTML:B.data),U===_.staticCount-1&&(_.anchor=B),B=s(B);return H?s(B):B}else R();break;case Pe:H?B=m(g,_,P,S,I,k):B=R();break;default:if(x&1)(Q!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!v(g)?B=R():B=d(g,_,P,S,I,k);else if(x&6){_.slotScopeIds=I;const J=i(g);if(H?B=y(g):Gr(g)&&g.data==="teleport start"?B=y(g,g.data,"teleport end"):B=s(g),t(_,J,null,P,S,Yr(J),k),mn(_)){let U;H?(U=oe(Pe),U.anchor=B?B.previousSibling:J.lastChild):U=g.nodeType===3?Xn(""):oe("div"),U.el=g,_.component.subTree=U}}else x&64?Q!==8?B=R():B=_.type.hydrate(g,_,P,S,I,k,e,h):x&128&&(B=_.type.hydrate(g,_,P,S,Yr(i(g)),I,k,e,f))}return C!=null&&To(C,null,S,_),B},d=(g,_,P,S,I,k)=>{k=k||!!_.dynamicChildren;const{type:H,props:R,patchFlag:T,shapeFlag:C,dirs:x,transition:V}=_,Q=H==="input"&&x||H==="option";if(Q||T!==-1){if(x&&_t(_,null,P,"created"),R)if(Q||!k||T&48)for(const U in R)(Q&&U.endsWith("value")||Dr(U)&&!hr(U))&&r(g,U,null,R[U],!1,void 0,P);else R.onClick&&r(g,"onClick",null,R.onClick,!1,void 0,P);let B;(B=R&&R.onVnodeBeforeMount)&&qe(B,P,_);let J=!1;if(v(g)){J=Zu(S,V)&&P&&P.vnode.props&&P.vnode.props.appear;const U=g.content.firstChild;J&&V.beforeEnter(U),b(U,g,P),_.el=g=U}if(x&&_t(_,null,P,"beforeMount"),((B=R&&R.onVnodeMounted)||x||J)&&Au(()=>{B&&qe(B,P,_),J&&V.enter(g),x&&_t(_,null,P,"mounted")},S),C&16&&!(R&&(R.innerHTML||R.textContent))){let U=h(g.firstChild,_,g,P,S,I,k);for(;U;){jt=!0;const he=U;U=U.nextSibling,a(he)}}else C&8&&g.textContent!==_.children&&(jt=!0,g.textContent=_.children)}return g.nextSibling},h=(g,_,P,S,I,k,H)=>{H=H||!!_.dynamicChildren;const R=_.children,T=R.length;for(let C=0;C{const{slotScopeIds:H}=_;H&&(I=I?I.concat(H):H);const R=i(g),T=h(s(g),_,R,P,S,I,k);return T&&Gr(T)&&T.data==="]"?s(_.anchor=T):(jt=!0,c(_.anchor=l("]"),R,T),T)},p=(g,_,P,S,I,k)=>{if(jt=!0,_.el=null,k){const T=y(g);for(;;){const C=s(g);if(C&&C!==T)a(C);else break}}const H=s(g),R=i(g);return a(g),n(null,_,R,H,P,S,Yr(R),I),H},y=(g,_="[",P="]")=>{let S=0;for(;g;)if(g=s(g),g&&Gr(g)&&(g.data===_&&S++,g.data===P)){if(S===0)return s(g);S--}return g},b=(g,_,P)=>{const S=_.parentNode;S&&S.replaceChild(g,_);let I=P;for(;I;)I.vnode.el===_&&(I.vnode.el=I.subTree.el=g),I=I.parent},v=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[u,f]}const Ne=Au;function qp(e){return Ju(e)}function Qp(e){return Ju(e,Wp)}function Ju(e,t){const n=Fs();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:a,createComment:c,setText:l,setElementText:u,parentNode:f,nextSibling:d,setScopeId:h=dt,insertStaticContent:m}=e,p=(w,E,A,O=null,D=null,j=null,Z=!1,z=null,K=!!E.dynamicChildren)=>{if(w===E)return;w&&!ft(w,E)&&(O=$(w),we(w,D,j,!0),w=null),E.patchFlag===-2&&(K=!1,E.dynamicChildren=null);const{type:F,ref:te,shapeFlag:G}=E;switch(F){case Bn:y(w,E,A,O);break;case Ke:b(w,E,A,O);break;case Hn:w==null&&v(E,A,O,Z);break;case Pe:C(w,E,A,O,D,j,Z,z,K);break;default:G&1?P(w,E,A,O,D,j,Z,z,K):G&6?x(w,E,A,O,D,j,Z,z,K):(G&64||G&128)&&F.process(w,E,A,O,D,j,Z,z,K,W)}te!=null&&D&&To(te,w&&w.ref,j,E||w,!E)},y=(w,E,A,O)=>{if(w==null)r(E.el=a(E.children),A,O);else{const D=E.el=w.el;E.children!==w.children&&l(D,E.children)}},b=(w,E,A,O)=>{w==null?r(E.el=c(E.children||""),A,O):E.el=w.el},v=(w,E,A,O)=>{[w.el,w.anchor]=m(w.children,E,A,O,w.el,w.anchor)},g=({el:w,anchor:E},A,O)=>{let D;for(;w&&w!==E;)D=d(w),r(w,A,O),w=D;r(E,A,O)},_=({el:w,anchor:E})=>{let A;for(;w&&w!==E;)A=d(w),o(w),w=A;o(E)},P=(w,E,A,O,D,j,Z,z,K)=>{Z=Z||E.type==="svg",w==null?S(E,A,O,D,j,Z,z,K):H(w,E,D,j,Z,z,K)},S=(w,E,A,O,D,j,Z,z)=>{let K,F;const{type:te,props:G,shapeFlag:ne,transition:le,dirs:fe}=w;if(K=w.el=i(w.type,j,G&&G.is,G),ne&8?u(K,w.children):ne&16&&k(w.children,K,null,O,D,j&&te!=="foreignObject",Z,z),fe&&_t(w,null,O,"created"),I(K,w,w.scopeId,Z,O),G){for(const be in G)be!=="value"&&!hr(be)&&s(K,be,null,G[be],j,w.children,O,D,Re);"value"in G&&s(K,"value",null,G.value),(F=G.onVnodeBeforeMount)&&qe(F,O,w)}fe&&_t(w,null,O,"beforeMount");const Ee=Zu(D,le);Ee&&le.beforeEnter(K),r(K,E,A),((F=G&&G.onVnodeMounted)||Ee||fe)&&Ne(()=>{F&&qe(F,O,w),Ee&&le.enter(K),fe&&_t(w,null,O,"mounted")},D)},I=(w,E,A,O,D)=>{if(A&&h(w,A),O)for(let j=0;j{for(let F=K;F{const z=E.el=w.el;let{patchFlag:K,dynamicChildren:F,dirs:te}=E;K|=w.patchFlag&16;const G=w.props||Te,ne=E.props||Te;let le;A&&rn(A,!1),(le=ne.onVnodeBeforeUpdate)&&qe(le,A,E,w),te&&_t(E,w,A,"beforeUpdate"),A&&rn(A,!0);const fe=D&&E.type!=="foreignObject";if(F?R(w.dynamicChildren,F,z,A,O,fe,j):Z||U(w,E,z,null,A,O,fe,j,!1),K>0){if(K&16)T(z,E,G,ne,A,O,D);else if(K&2&&G.class!==ne.class&&s(z,"class",null,ne.class,D),K&4&&s(z,"style",G.style,ne.style,D),K&8){const Ee=E.dynamicProps;for(let be=0;be{le&&qe(le,A,E,w),te&&_t(E,w,A,"updated")},O)},R=(w,E,A,O,D,j,Z)=>{for(let z=0;z{if(A!==O){if(A!==Te)for(const z in A)!hr(z)&&!(z in O)&&s(w,z,A[z],null,Z,E.children,D,j,Re);for(const z in O){if(hr(z))continue;const K=O[z],F=A[z];K!==F&&z!=="value"&&s(w,z,F,K,Z,E.children,D,j,Re)}"value"in O&&s(w,"value",A.value,O.value)}},C=(w,E,A,O,D,j,Z,z,K)=>{const F=E.el=w?w.el:a(""),te=E.anchor=w?w.anchor:a("");let{patchFlag:G,dynamicChildren:ne,slotScopeIds:le}=E;le&&(z=z?z.concat(le):le),w==null?(r(F,A,O),r(te,A,O),k(E.children,A,te,D,j,Z,z,K)):G>0&&G&64&&ne&&w.dynamicChildren?(R(w.dynamicChildren,ne,A,D,j,Z,z),(E.key!=null||D&&E===D.subTree)&&na(w,E,!0)):U(w,E,A,te,D,j,Z,z,K)},x=(w,E,A,O,D,j,Z,z,K)=>{E.slotScopeIds=z,w==null?E.shapeFlag&512?D.ctx.activate(E,A,O,Z,K):V(E,A,O,D,j,Z,K):Q(w,E,K)},V=(w,E,A,O,D,j,Z)=>{const z=w.component=om(w,O,D);if(jr(w)&&(z.ctx.renderer=W),sm(z),z.asyncDep){if(D&&D.registerDep(z,B),!w.el){const K=z.subTree=oe(Ke);b(null,K,E,A)}return}B(z,w,E,A,D,j,Z)},Q=(w,E,A)=>{const O=E.component=w.component;if(fp(w,E,A))if(O.asyncDep&&!O.asyncResolved){J(O,E,A);return}else O.next=E,sp(O.update),O.update();else E.el=w.el,O.vnode=E},B=(w,E,A,O,D,j,Z)=>{const z=()=>{if(w.isMounted){let{next:te,bu:G,u:ne,parent:le,vnode:fe}=w,Ee=te,be;rn(w,!1),te?(te.el=fe.el,J(w,te,Z)):te=fe,G&&Ln(G),(be=te.props&&te.props.onVnodeBeforeUpdate)&&qe(be,le,te,fe),rn(w,!0);const Ie=ys(w),lt=w.subTree;w.subTree=Ie,p(lt,Ie,f(lt.el),$(lt),w,D,j),te.el=Ie.el,Ee===null&&Yi(w,Ie.el),ne&&Ne(ne,D),(be=te.props&&te.props.onVnodeUpdated)&&Ne(()=>qe(be,le,te,fe),D)}else{let te;const{el:G,props:ne}=E,{bm:le,m:fe,parent:Ee}=w,be=mn(E);if(rn(w,!1),le&&Ln(le),!be&&(te=ne&&ne.onVnodeBeforeMount)&&qe(te,Ee,E),rn(w,!0),G&&_e){const Ie=()=>{w.subTree=ys(w),_e(G,w.subTree,w,D,null)};be?E.type.__asyncLoader().then(()=>!w.isUnmounted&&Ie()):Ie()}else{const Ie=w.subTree=ys(w);p(null,Ie,A,O,w,D,j),E.el=Ie.el}if(fe&&Ne(fe,D),!be&&(te=ne&&ne.onVnodeMounted)){const Ie=E;Ne(()=>qe(te,Ee,Ie),D)}(E.shapeFlag&256||Ee&&mn(Ee.vnode)&&Ee.vnode.shapeFlag&256)&&w.a&&Ne(w.a,D),w.isMounted=!0,E=A=O=null}},K=w.effect=new zi(z,()=>Jo(F),w.scope),F=w.update=()=>K.run();F.id=w.uid,rn(w,!0),F()},J=(w,E,A)=>{E.component=w;const O=w.vnode.props;w.vnode=E,w.next=null,Vp(w,E.props,O,A),Kp(w,E.children,A),Jn(),Ka(),Zn()},U=(w,E,A,O,D,j,Z,z,K=!1)=>{const F=w&&w.children,te=w?w.shapeFlag:0,G=E.children,{patchFlag:ne,shapeFlag:le}=E;if(ne>0){if(ne&128){Oe(F,G,A,O,D,j,Z,z,K);return}else if(ne&256){he(F,G,A,O,D,j,Z,z,K);return}}le&8?(te&16&&Re(F,D,j),G!==F&&u(A,G)):te&16?le&16?Oe(F,G,A,O,D,j,Z,z,K):Re(F,D,j,!0):(te&8&&u(A,""),le&16&&k(G,A,O,D,j,Z,z,K))},he=(w,E,A,O,D,j,Z,z,K)=>{w=w||kn,E=E||kn;const F=w.length,te=E.length,G=Math.min(F,te);let ne;for(ne=0;nete?Re(w,D,j,!0,!1,G):k(E,A,O,D,j,Z,z,K,G)},Oe=(w,E,A,O,D,j,Z,z,K)=>{let F=0;const te=E.length;let G=w.length-1,ne=te-1;for(;F<=G&&F<=ne;){const le=w[F],fe=E[F]=K?Ut(E[F]):ot(E[F]);if(ft(le,fe))p(le,fe,A,null,D,j,Z,z,K);else break;F++}for(;F<=G&&F<=ne;){const le=w[G],fe=E[ne]=K?Ut(E[ne]):ot(E[ne]);if(ft(le,fe))p(le,fe,A,null,D,j,Z,z,K);else break;G--,ne--}if(F>G){if(F<=ne){const le=ne+1,fe=lene)for(;F<=G;)we(w[F],D,j,!0),F++;else{const le=F,fe=F,Ee=new Map;for(F=fe;F<=ne;F++){const Ye=E[F]=K?Ut(E[F]):ot(E[F]);Ye.key!=null&&Ee.set(Ye.key,F)}let be,Ie=0;const lt=ne-fe+1;let Tn=!1,$a=0;const tr=new Array(lt);for(F=0;F=lt){we(Ye,D,j,!0);continue}let gt;if(Ye.key!=null)gt=Ee.get(Ye.key);else for(be=fe;be<=ne;be++)if(tr[be-fe]===0&&ft(Ye,E[be])){gt=be;break}gt===void 0?we(Ye,D,j,!0):(tr[gt-fe]=F+1,gt>=$a?$a=gt:Tn=!0,p(Ye,E[gt],A,null,D,j,Z,z,K),Ie++)}const Ma=Tn?Jp(tr):kn;for(be=Ma.length-1,F=lt-1;F>=0;F--){const Ye=fe+F,gt=E[Ye],Na=Ye+1{const{el:j,type:Z,transition:z,children:K,shapeFlag:F}=w;if(F&6){Le(w.component.subTree,E,A,O);return}if(F&128){w.suspense.move(E,A,O);return}if(F&64){Z.move(w,E,A,W);return}if(Z===Pe){r(j,E,A);for(let G=0;Gz.enter(j),D);else{const{leave:G,delayLeave:ne,afterLeave:le}=z,fe=()=>r(j,E,A),Ee=()=>{G(j,()=>{fe(),le&&le()})};ne?ne(j,fe,Ee):Ee()}else r(j,E,A)},we=(w,E,A,O=!1,D=!1)=>{const{type:j,props:Z,ref:z,children:K,dynamicChildren:F,shapeFlag:te,patchFlag:G,dirs:ne}=w;if(z!=null&&To(z,null,A,w,!0),te&256){E.ctx.deactivate(w);return}const le=te&1&&ne,fe=!mn(w);let Ee;if(fe&&(Ee=Z&&Z.onVnodeBeforeUnmount)&&qe(Ee,E,w),te&6)mt(w.component,A,O);else{if(te&128){w.suspense.unmount(A,O);return}le&&_t(w,null,E,"beforeUnmount"),te&64?w.type.remove(w,E,A,D,W,O):F&&(j!==Pe||G>0&&G&64)?Re(F,E,A,!1,!0):(j===Pe&&G&384||!D&&te&16)&&Re(K,E,A),O&&ze(w)}(fe&&(Ee=Z&&Z.onVnodeUnmounted)||le)&&Ne(()=>{Ee&&qe(Ee,E,w),le&&_t(w,null,E,"unmounted")},A)},ze=w=>{const{type:E,el:A,anchor:O,transition:D}=w;if(E===Pe){nt(A,O);return}if(E===Hn){_(w);return}const j=()=>{o(A),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(w.shapeFlag&1&&D&&!D.persisted){const{leave:Z,delayLeave:z}=D,K=()=>Z(A,j);z?z(w.el,j,K):K()}else j()},nt=(w,E)=>{let A;for(;w!==E;)A=d(w),o(w),w=A;o(E)},mt=(w,E,A)=>{const{bum:O,scope:D,update:j,subTree:Z,um:z}=w;O&&Ln(O),D.stop(),j&&(j.active=!1,we(Z,w,E,A)),z&&Ne(z,E),Ne(()=>{w.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&w.asyncDep&&!w.asyncResolved&&w.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},Re=(w,E,A,O=!1,D=!1,j=0)=>{for(let Z=j;Zw.shapeFlag&6?$(w.component.subTree):w.shapeFlag&128?w.suspense.next():d(w.anchor||w.el),Y=(w,E,A)=>{w==null?E._vnode&&we(E._vnode,null,null,!0):p(E._vnode||null,w,E,null,null,null,A),Ka(),bo(),E._vnode=w},W={p,um:we,m:Le,r:ze,mt:V,mc:k,pc:U,pbc:R,n:$,o:e};let X,_e;return t&&([X,_e]=t(W)),{render:Y,hydrate:X,createApp:Fp(Y,X)}}function rn({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Zu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function na(e,t,n=!1){const r=e.children,o=t.children;if(re(r)&&re(o))for(let s=0;s>1,e[n[a]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}const Zp=e=>e.__isTeleport,mr=e=>e&&(e.disabled||e.disabled===""),oc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ys=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},Yp={__isTeleport:!0,process(e,t,n,r,o,s,i,a,c,l){const{mc:u,pc:f,pbc:d,o:{insert:h,querySelector:m,createText:p,createComment:y}}=l,b=mr(t.props);let{shapeFlag:v,children:g,dynamicChildren:_}=t;if(e==null){const P=t.el=p(""),S=t.anchor=p("");h(P,n,r),h(S,n,r);const I=t.target=Ys(t.props,m),k=t.targetAnchor=p("");I&&(h(k,I),i=i||oc(I));const H=(R,T)=>{v&16&&u(g,R,T,o,s,i,a,c)};b?H(n,S):I&&H(I,k)}else{t.el=e.el;const P=t.anchor=e.anchor,S=t.target=e.target,I=t.targetAnchor=e.targetAnchor,k=mr(e.props),H=k?n:S,R=k?P:I;if(i=i||oc(S),_?(d(e.dynamicChildren,_,H,o,s,i,a),na(e,t,!0)):c||f(e,t,H,R,o,s,i,a,!1),b)k?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xr(t,n,P,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const T=t.target=Ys(t.props,m);T&&Xr(t,T,null,l,0)}else k&&Xr(t,S,I,l,1)}Gu(t)},remove(e,t,n,r,{um:o,o:{remove:s}},i){const{shapeFlag:a,children:c,anchor:l,targetAnchor:u,target:f,props:d}=e;if(f&&s(u),i&&s(l),a&16){const h=i||!mr(d);for(let m=0;m0?st||kn:null,Xu(),Vn>0&&st&&st.push(e),e}function ue(e,t,n,r,o,s){return ef(se(e,t,n,r,o,s,!0))}function de(e,t,n,r,o){return ef(oe(e,t,n,r,o,!0))}function zn(e){return e?e.__v_isVNode===!0:!1}function ft(e,t){return e.type===t.type&&e.key===t.key}const ts="__vInternal",tf=({key:e})=>e??null,io=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Se(e)||ie(e)?{i:Me,r:e,k:t,f:!!n}:e:null);function se(e,t=null,n=null,r=0,o=null,s=e===Pe?0:1,i=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tf(t),ref:t&&io(t),scopeId:Yo,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Me};return a?(ra(c,n),s&128&&e.normalize(c)):n&&(c.shapeFlag|=xe(n)?8:16),Vn>0&&!i&&st&&(c.patchFlag>0||s&6)&&c.patchFlag!==32&&st.push(c),c}const oe=Xp;function Xp(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Cu)&&(e=Ke),zn(e)){const a=Lt(e,t,!0);return n&&ra(a,n),Vn>0&&!s&&st&&(a.shapeFlag&6?st[st.indexOf(e)]=a:st.push(a)),a.patchFlag|=-2,a}if(cm(e)&&(e=e.__vccOpts),t){t=nf(t);let{class:a,style:c}=t;a&&!xe(a)&&(t.class=je(a)),Ce(c)&&(fu(c)&&!re(c)&&(c=$e({},c)),t.style=Qn(c))}const i=xe(e)?1:Pu(e)?128:Zp(e)?64:Ce(e)?4:ie(e)?2:0;return se(e,t,n,r,o,i,s,!0)}function nf(e){return e?fu(e)||ts in e?$e({},e):e:null}function Lt(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:i}=e,a=t?tm(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&tf(a),ref:t&&t.ref?n&&o?re(o)?o.concat(io(t)):[o,io(t)]:io(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Pe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Lt(e.ssContent),ssFallback:e.ssFallback&&Lt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Xn(e=" ",t=0){return oe(Bn,null,e,t)}function em(e,t){const n=oe(Hn,null,e);return n.staticCount=t,n}function Fe(e="",t=!1){return t?(q(),de(Ke,null,e)):oe(Ke,null,e)}function ot(e){return e==null||typeof e=="boolean"?oe(Ke):re(e)?oe(Pe,null,e.slice()):typeof e=="object"?Ut(e):oe(Bn,null,String(e))}function Ut(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Lt(e)}function ra(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(re(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),ra(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(ts in t)?t._ctx=Me:o===3&&Me&&(Me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:Me},n=32):(t=String(t),r&64?(n=16,t=[Xn(t)]):n=8);e.children=t,e.shapeFlag|=n}function tm(...e){const t={};for(let n=0;nke||Me;let oa,Pn,ic="__VUE_INSTANCE_SETTERS__";(Pn=Fs()[ic])||(Pn=Fs()[ic]=[]),Pn.push(e=>ke=e),oa=e=>{Pn.length>1?Pn.forEach(t=>t(e)):Pn[0](e)};const Xt=e=>{oa(e),e.scope.on()},Zt=()=>{ke&&ke.scope.off(),oa(null)};function rf(e){return e.vnode.shapeFlag&4}let Un=!1;function sm(e,t=!1){Un=t;const{props:n,children:r}=e.vnode,o=rf(e);Bp(e,n,o,t),Up(e,r);const s=o?im(e,t):void 0;return Un=!1,s}function im(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=du(new Proxy(e.ctx,Op));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?sf(e):null;Xt(e),Jn();const s=Jt(r,e,0,[e.props,o]);if(Zn(),Zt(),Fi(s)){if(s.then(Zt,Zt),t)return s.then(i=>{Gs(e,i,t)}).catch(i=>{Yn(i,e,0)});e.asyncDep=s}else Gs(e,s,t)}else of(e,t)}function Gs(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.setupState=pu(t)),of(e,n)}let ac;function of(e,t,n){const r=e.type;if(!e.render){if(!t&&ac&&!r.render){const o=r.template||ea(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:c}=r,l=$e($e({isCustomElement:s,delimiters:a},i),c);r.render=ac(o,l)}}e.render=r.render||dt}{Xt(e),Jn();try{$p(e)}finally{Zn(),Zt()}}}function am(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Qe(e,"get","$attrs"),t[n]}}))}function sf(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return am(e)},slots:e.slots,emit:e.emit,expose:t}}function ns(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(pu(du(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pr)return pr[n](e)},has(t,n){return n in t||n in pr}}))}function Xs(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function cm(e){return ie(e)&&"__vccOpts"in e}const ee=(e,t)=>tp(e,t,Un);function et(e,t,n){const r=arguments.length;return r===2?Ce(t)&&!re(t)?zn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&zn(n)&&(n=[n]),oe(e,t,n))}const lm=Symbol.for("v-scx"),um=()=>De(lm),af="3.3.8",fm="http://www.w3.org/2000/svg",un=typeof document<"u"?document:null,cc=un&&un.createElement("template"),dm={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?un.createElementNS(fm,e):un.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>un.createTextNode(e),createComment:e=>un.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>un.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{cc.innerHTML=r?`${e}`:e;const a=cc.content;if(r){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ft="transition",nr="animation",Ir=Symbol("_vtc"),sa=(e,{slots:t})=>et(Tp,hm(e),t);sa.displayName="Transition";const cf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};sa.props=$e({},Iu,cf);const on=(e,t=[])=>{re(e)?e.forEach(n=>n(...t)):e&&e(...t)},lc=e=>e?re(e)?e.some(t=>t.length>1):e.length>1:!1;function hm(e){const t={};for(const C in e)C in cf||(t[C]=e[C]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:l=i,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=pm(o),p=m&&m[0],y=m&&m[1],{onBeforeEnter:b,onEnter:v,onEnterCancelled:g,onLeave:_,onLeaveCancelled:P,onBeforeAppear:S=b,onAppear:I=v,onAppearCancelled:k=g}=t,H=(C,x,V)=>{sn(C,x?u:a),sn(C,x?l:i),V&&V()},R=(C,x)=>{C._isLeaving=!1,sn(C,f),sn(C,h),sn(C,d),x&&x()},T=C=>(x,V)=>{const Q=C?I:v,B=()=>H(x,C,V);on(Q,[x,B]),uc(()=>{sn(x,C?c:s),Bt(x,C?u:a),lc(Q)||fc(x,r,p,B)})};return $e(t,{onBeforeEnter(C){on(b,[C]),Bt(C,s),Bt(C,i)},onBeforeAppear(C){on(S,[C]),Bt(C,c),Bt(C,l)},onEnter:T(!1),onAppear:T(!0),onLeave(C,x){C._isLeaving=!0;const V=()=>R(C,x);Bt(C,f),ym(),Bt(C,d),uc(()=>{C._isLeaving&&(sn(C,f),Bt(C,h),lc(_)||fc(C,r,y,V))}),on(_,[C,V])},onEnterCancelled(C){H(C,!1),on(g,[C])},onAppearCancelled(C){H(C,!0),on(k,[C])},onLeaveCancelled(C){R(C),on(P,[C])}})}function pm(e){if(e==null)return null;if(Ce(e))return[Cs(e.enter),Cs(e.leave)];{const t=Cs(e);return[t,t]}}function Cs(e){return Yl(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ir]||(e[Ir]=new Set)).add(t)}function sn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ir];n&&(n.delete(t),n.size||(e[Ir]=void 0))}function uc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let mm=0;function fc(e,t,n,r){const o=e._endId=++mm,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:a,propCount:c}=gm(e,t);if(!i)return r();const l=i+"end";let u=0;const f=()=>{e.removeEventListener(l,d),s()},d=h=>{h.target===e&&++u>=c&&f()};setTimeout(()=>{u(n[m]||"").split(", "),o=r(`${Ft}Delay`),s=r(`${Ft}Duration`),i=dc(o,s),a=r(`${nr}Delay`),c=r(`${nr}Duration`),l=dc(a,c);let u=null,f=0,d=0;t===Ft?i>0&&(u=Ft,f=i,d=s.length):t===nr?l>0&&(u=nr,f=l,d=c.length):(f=Math.max(i,l),u=f>0?i>l?Ft:nr:null,d=u?u===Ft?s.length:c.length:0);const h=u===Ft&&/\b(transform|all)(,|$)/.test(r(`${Ft}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:h}}function dc(e,t){for(;e.lengthhc(n)+hc(e[r])))}function hc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ym(){return document.body.offsetHeight}function _m(e,t,n){const r=e[Ir];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ia=Symbol("_vod"),vm={beforeMount(e,{value:t},{transition:n}){e[ia]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):rr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),rr(e,!0),r.enter(e)):r.leave(e,()=>{rr(e,!1)}):rr(e,t))},beforeUnmount(e,{value:t}){rr(e,t)}};function rr(e,t){e.style.display=t?e[ia]:"none"}function bm(e,t,n){const r=e.style,o=xe(n);if(n&&!o){if(t&&!xe(t))for(const s in t)n[s]==null&&ei(r,s,"");for(const s in n)ei(r,s,n[s])}else{const s=r.display;o?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),ia in e&&(r.display=s)}}const pc=/\s*!important$/;function ei(e,t,n){if(re(n))n.forEach(r=>ei(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=wm(e,t);pc.test(n)?e.setProperty(wn(r),n.replace(pc,""),"important"):e[r]=n}}const mc=["Webkit","Moz","ms"],Ts={};function wm(e,t){const n=Ts[t];if(n)return n;let r=wt(t);if(r!=="filter"&&r in e)return Ts[t]=r;r=Uo(r);for(let o=0;oPs||(Am.then(()=>Ps=0),Ps=Date.now());function Rm(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;it(Im(r,n.value),t,5,[r])};return n.value=e,n.attached=Sm(),n}function Im(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 vc=/^on[a-z]/,km=(e,t,n,r,o=!1,s,i,a,c)=>{t==="class"?_m(e,r,o):t==="style"?bm(e,n,r):Dr(t)?Hi(t)||Pm(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Om(e,t,r,o))?Cm(e,t,r,s,i,a,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Em(e,t,r,o))};function Om(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&vc.test(t)&&ie(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||vc.test(t)&&xe(n)?!1:t in e}function sx(e){const t=pt();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(s=>ni(s,o))},r=()=>{const o=e(t.proxy);ti(t.subTree,o),n(o)};bp(r),Nt(()=>{const o=new MutationObserver(r);o.observe(t.subTree.el.parentNode,{childList:!0}),Ar(()=>o.disconnect())})}function ti(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ti(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)ni(e.el,t);else if(e.type===Pe)e.children.forEach(n=>ti(n,t));else if(e.type===Hn){let{el:n,anchor:r}=e;for(;n&&(ni(n,t),n!==r);)n=n.nextSibling}}function ni(e,t){if(e.nodeType===1){const n=e.style;for(const r in t)n.setProperty(`--${r}`,t[r])}}const bc=e=>{const t=e.props["onUpdate:modelValue"]||!1;return re(t)?n=>Ln(t,n):t};function Lm(e){e.target.composing=!0}function wc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xs=Symbol("_assign"),$m={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[xs]=bc(o);const s=r||o.props&&o.props.type==="number";An(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=js(a)),e[xs](a)}),n&&An(e,"change",()=>{e.value=e.value.trim()}),t||(An(e,"compositionstart",Lm),An(e,"compositionend",wc),An(e,"change",wc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e[xs]=bc(s),e.composing||document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===t||(o||e.type==="number")&&js(e.value)===t))return;const i=t??"";e.value!==i&&(e.value=i)}},Mm=["ctrl","shift","alt","meta"],Nm={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)=>Mm.some(n=>e[`${n}Key`]&&!t.includes(n))},ur=(e,t)=>(n,...r)=>{for(let o=0;on=>{if(!("key"in n))return;const r=wn(n.key);if(t.some(o=>o===r||Dm[o]===r))return e(n)},lf=$e({patchProp:km},dm);let yr,Ec=!1;function Hm(){return yr||(yr=qp(lf))}function jm(){return yr=Ec?yr:Qp(lf),Ec=!0,yr}const Fm=(...e)=>{const t=Hm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=uf(r);if(!o)return;const s=t._component;!ie(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},Bm=(...e)=>{const t=jm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=uf(r);if(o)return n(o,!0,o instanceof SVGElement)},t};function uf(e){return xe(e)?document.querySelector(e):e}const Vm=/#/g,zm=/&/g,Um=/=/g,aa=/\+/g,Km=/%5e/gi,Wm=/%60/gi,qm=/%7c/gi,Qm=/%20/gi;function Jm(e){return encodeURI(""+e).replace(qm,"|")}function ri(e){return Jm(typeof e=="string"?e:JSON.stringify(e)).replace(aa,"%2B").replace(Qm,"+").replace(Vm,"%23").replace(zm,"%26").replace(Wm,"`").replace(Km,"^")}function Ss(e){return ri(e).replace(Um,"%3D")}function Po(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Zm(e){return Po(e.replace(aa," "))}function Ym(e){return Po(e.replace(aa," "))}function ff(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=Zm(r[1]);if(o==="__proto__"||o==="constructor")continue;const s=Ym(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 Gm(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Ss(e)}=${ri(n)}`).join("&"):`${Ss(e)}=${ri(t)}`:Ss(e)}function Xm(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>Gm(t,e[t])).filter(Boolean).join("&")}const eg=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,tg=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,ng=/^([/\\]\s*){2,}[^/\\]/;function en(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?eg.test(e):tg.test(e)||(t.acceptRelative?ng.test(e):!1)}const rg=/^[\s\0]*(blob|data|javascript|vbscript):$/i;function og(e){return!!e&&rg.test(e)}const sg=/\/$|\/\?/;function oi(e="",t=!1){return t?sg.test(e):e.endsWith("/")}function _n(e="",t=!1){if(!t)return(oi(e)?e.slice(0,-1):e)||"/";if(!oi(e,!0))return e||"/";const[n,...r]=e.split("?");return(n.slice(0,-1)||"/")+(r.length>0?`?${r.join("?")}`:"")}function xo(e="",t=!1){if(!t)return e.endsWith("/")?e:e+"/";if(oi(e,!0))return e||"/";const[n,...r]=e.split("?");return n+"/"+(r.length>0?`?${r.join("?")}`:"")}function ig(e=""){return e.startsWith("/")}function si(e=""){return ig(e)?e:"/"+e}function df(e,t){if(pf(t)||en(e))return e;const n=_n(t);return e.startsWith(n)?e:Cn(n,e)}function Cc(e,t){if(pf(t))return e;const n=_n(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function hf(e,t){const n=Fr(e),r={...ff(n.search),...t};return n.search=Xm(r),ug(n)}function pf(e){return!e||e==="/"}function ag(e){return e&&e!=="/"}const cg=/^\.?\//;function Cn(e,...t){let n=e||"";for(const r of t.filter(o=>ag(o)))if(n){const o=r.replace(cg,"");n=xo(n)+o}else n=r;return n}function lg(e,t,n={}){return n.trailingSlash||(e=xo(e),t=xo(t)),n.leadingSlash||(e=si(e),t=si(t)),n.encoding||(e=Po(e),t=Po(t)),e===t}function Fr(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/);if(n){const[,f,d=""]=n;return{protocol:f,pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!en(e,{acceptRelative:!0}))return t?Fr(t+e):Tc(e);const[,r="",o,s=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,i="",a=""]=s.match(/([^#/?]*)(.*)?/)||[],{pathname:c,search:l,hash:u}=Tc(a.replace(/\/(?=[A-Za-z]:)/,""));return{protocol:r,auth:o?o.slice(0,Math.max(0,o.length-1)):"",host:i,pathname:c,search:l,hash:u}}function Tc(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function ug(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 fg=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Ao=fg().app,dg=()=>Ao.baseURL,hg=()=>Ao.buildAssetsDir,ca=(...e)=>Cn(mf(),hg(),...e),mf=(...e)=>{const t=Ao.cdnURL||Ao.baseURL;return e.length?Cn(t,...e):t};globalThis.__buildAssetsURL=ca,globalThis.__publicAssetsURL=mf;const pg=/"(?:_|\\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*:/,mg=/"(?: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*:/,gg=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function yg(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){_g(e);return}return t}function _g(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function kr(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.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(!gg.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(pg.test(e)||mg.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,yg)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}class vg extends Error{constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!this.cause&&(this.cause=n.cause)}}function bg(e){var c,l,u,f,d;const t=((c=e.error)==null?void 0:c.message)||((l=e.error)==null?void 0:l.toString())||"",n=((u=e.request)==null?void 0:u.method)||((f=e.options)==null?void 0:f.method)||"GET",r=((d=e.request)==null?void 0:d.url)||String(e.request)||"/",o=`[${n}] ${JSON.stringify(r)}`,s=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${o}: ${s}${t?` ${t}`:""}`,a=new vg(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 wg=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function Pc(e="GET"){return wg.has(e.toUpperCase())}function Eg(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 Cg=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Tg=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Pg(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Tg.test(t)?"json":Cg.has(t)||t.startsWith("text/")?"text":"blob"}function xg(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 Ag=new Set([408,409,425,429,500,502,503,504]),Sg=new Set([101,204,205,304]);function gf(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function o(a){const c=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!c){let u;typeof a.options.retry=="number"?u=a.options.retry:u=Pc(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(u>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):Ag.has(f))){const d=a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),s(a.request,{...a.options,retry:u-1,timeout:a.options.timeout})}}const l=bg(a);throw Error.captureStackTrace&&Error.captureStackTrace(l,s),l}const s=async function(c,l={}){var d;const u={request:c,options:xg(l,e.defaults,n),response:void 0,error:void 0};if(u.options.method=(d=u.options.method)==null?void 0:d.toUpperCase(),u.options.onRequest&&await u.options.onRequest(u),typeof u.request=="string"&&(u.options.baseURL&&(u.request=df(u.request,u.options.baseURL)),(u.options.query||u.options.params)&&(u.request=hf(u.request,{...u.options.params,...u.options.query}))),u.options.body&&Pc(u.options.method)&&(Eg(u.options.body)?(u.options.body=typeof u.options.body=="string"?u.options.body:JSON.stringify(u.options.body),u.options.headers=new n(u.options.headers||{}),u.options.headers.has("content-type")||u.options.headers.set("content-type","application/json"),u.options.headers.has("accept")||u.options.headers.set("accept","application/json")):("pipeTo"in u.options.body&&typeof u.options.body.pipeTo=="function"||typeof u.options.body.pipe=="function")&&("duplex"in u.options||(u.options.duplex="half"))),!u.options.signal&&u.options.timeout){const h=new r;setTimeout(()=>h.abort(),u.options.timeout),u.options.signal=h.signal}try{u.response=await t(u.request,u.options)}catch(h){return u.error=h,u.options.onRequestError&&await u.options.onRequestError(u),await o(u)}if(u.response.body&&!Sg.has(u.response.status)&&u.options.method!=="HEAD"){const h=(u.options.parseResponse?"json":u.options.responseType)||Pg(u.response.headers.get("content-type")||"");switch(h){case"json":{const m=await u.response.text(),p=u.options.parseResponse||kr;u.response._data=p(m);break}case"stream":{u.response._data=u.response.body;break}default:u.response._data=await u.response[h]()}}return u.options.onResponse&&await u.options.onResponse(u),!u.options.ignoreResponseError&&u.response.status>=400&&u.response.status<600?(u.options.onResponseError&&await u.options.onResponseError(u),await o(u)):u.response},i=async function(c,l){return(await s(c,l))._data};return i.raw=s,i.native=(...a)=>t(...a),i.create=(a={})=>gf({...e,defaults:{...e.defaults,...a}}),i}const la=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")}(),Rg=la.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),Ig=la.Headers,kg=la.AbortController,Og=gf({fetch:Rg,Headers:Ig,AbortController:kg}),Lg=Og;globalThis.$fetch||(globalThis.$fetch=Lg.create({baseURL:dg()}));function ii(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?ii(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const $g={run:e=>e()},Mg=()=>$g,yf=typeof console.createTask<"u"?console.createTask:Mg;function Ng(e,t){const n=t.shift(),r=yf(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function Dg(e,t){const n=t.shift(),r=yf(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function Rs(e,t){for(const n of[...e])n(t)}class Hg{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=ii(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=ii(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Ng,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Dg,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 _f(){return new Hg}function jg(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let o;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?o=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>{if(o&&t===void 0){const i=o.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=s();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>s(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return o?o.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const c=()=>{t=i},l=()=>t===i?c:void 0;ai.add(l);try{const u=o?o.run(i,a):a();return n||(t=void 0),await u}finally{ai.delete(l)}}}}function Fg(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=jg({...e,...r})),t[n],t[n]}}}const So=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},xc="__unctx__",Bg=So[xc]||(So[xc]=Fg()),Vg=(e,t={})=>Bg.get(e,t),Ac="__unctx_async_handlers__",ai=So[Ac]||(So[Ac]=new Set);function Or(e){const t=[];for(const o of ai){const s=o();s&&t.push(s)}const n=()=>{for(const o of t)o()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(o=>{throw n(),o})),[r,n]}const vf=Vg("nuxt-app",{asyncContext:!1}),zg="__nuxt_plugin";function Ug(e){let t=0;const n={_scope:xh(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.8.1"},get vue(){return n.vueApp.version}},payload:tt({data:{},state:{},_errors:{},...window.__NUXT__??{}}),static:{data:{}},runWithContext:o=>n._scope.run(()=>bf(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=_f(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(o,s)=>{const i="$"+o;eo(n,i,s),eo(n.vueApp.config.globalProperties,i,s)},eo(n.vueApp,"$nuxt",n),eo(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener("nuxt.preloadError",s=>{n.callHook("app:chunkError",{error:s.payload})}),window.useNuxtApp=window.useNuxtApp||ye;const o=n.hook("app:error",(...s)=>{console.error("[nuxt] error caught during app initialization",...s)});n.hook("app:mounted",o)}const r=tt(n.payload.config);return n.provide("config",r),n}async function Kg(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 Wg(e,t){const n=[],r=[];for(const o of t){const s=Kg(e,o);o.parallel?n.push(s.catch(i=>r.push(i))):await s}if(await Promise.all(n),r.length)throw r[0]}/*! @__NO_SIDE_EFFECTS__ */function Be(e){return typeof e=="function"?e:(delete e.name,Object.assign(e.setup||(()=>{}),e,{[zg]:!0}))}function bf(e,t,n){const r=()=>n?t(...n):t();return vf.set(e),e.vueApp.runWithContext(r)}/*! @__NO_SIDE_EFFECTS__ */function ye(){var t;let e;if(zu()&&(e=(t=pt())==null?void 0:t.appContext.app.$nuxt),e=e||vf.tryUse(),!e)throw new Error("[nuxt] instance unavailable");return e}/*! @__NO_SIDE_EFFECTS__ */function Ze(){return ye().$config}function eo(e,t,n){Object.defineProperty(e,t,{get:()=>n})}const qg="modulepreload",Qg=function(e,t){return e[0]==="."?new URL(e,t).href:e},Sc={},Jg=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=Qg(s,r),s in Sc)return;Sc[s]=!0;const i=s.endsWith(".css"),a=i?'[rel="stylesheet"]':"";if(!!r)for(let u=o.length-1;u>=0;u--){const f=o[u];if(f.href===s&&(!i||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${a}`))return;const l=document.createElement("link");if(l.rel=i?"stylesheet":qg,i||(l.as="script",l.crossOrigin=""),l.href=s,document.head.appendChild(l),i)return new Promise((u,f)=>{l.addEventListener("load",u),l.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},L=(...e)=>Jg(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Zg=-1,Yg=-2,Gg=-3,Xg=-4,ey=-5,ty=-6;function ny(e,t){return ry(JSON.parse(e),t)}function ry(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===Zg)return;if(s===Gg)return NaN;if(s===Xg)return 1/0;if(s===ey)return-1/0;if(s===ty)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const a=n[s];if(!a||typeof a!="object")r[s]=a;else if(Array.isArray(a))if(typeof a[0]=="string"){const c=a[0],l=t==null?void 0:t[c];if(l)return r[s]=l(o(a[1]));switch(c){case"Date":r[s]=new Date(a[1]);break;case"Set":const u=new Set;r[s]=u;for(let h=1;h>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Rc(e){return e._h||ua(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function Ef(e,t){const{props:n,tag:r}=e;if(ay.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 Ic(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function ly(e,t,n){const r={tag:e,props:await Cf(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return wf.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent"].includes(o)||sy.includes(r.tag))&&(r[o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.props.children&&(r.innerHTML=r.props.children,delete r.props.children),r.tag==="script"&&(typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),r.innerHTML&&["application/ld+json","application/json"].includes(r.props.type)&&(r.innerHTML=r.innerHTML.replace(/({...r,props:{...r.props,content:o}})):r}function uy(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 Cf(e,t){for(const n of Object.keys(e)){if(n==="class"){e[n]=uy(e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!wf.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 fy=10;async function dy(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&iy.includes(n)).forEach(([n,r])=>{const o=oy(r);t.push(...o.map(s=>ly(n,s,e)).flat())}),(await Promise.all(t)).flat().filter(Boolean).map((n,r)=>(n._e=e._i,e.mode&&(n._m=e.mode),n._p=(e._i<c&&c[l]||void 0,t):a=t[i],typeof a<"u"?(a||"").replace(/"/g,'\\"'):!1}let o=e;try{o=decodeURI(e)}catch{}return(o.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(i=>{const a=r(i.slice(1));typeof a=="string"&&(e=e.replace(new RegExp(`\\${i}(\\W|$)`,"g"),(c,l)=>`${a}${l}`).trim())}),e.includes(Vt)&&(e.endsWith(Vt)&&(e=e.slice(0,-Vt.length).trim()),e.startsWith(Vt)&&(e=e.slice(Vt.length).trim()),e=e.replace(new RegExp(`\\${Vt}\\s*\\${Vt}`,"g"),Vt),e=co(e,{separator:n},n)),e}async function py(e){const t={tag:e.tagName.toLowerCase(),props:await Cf(e.getAttributeNames().reduce((n,r)=>({...n,[r]:e.getAttribute(r)}),{})),innerHTML:e.innerHTML};return t._d=Ef(t),t}async function Pf(e,t={}){var u;const n=t.document||e.resolvedOptions.document;if(!n)return;const r={shouldRender:e.dirty,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!r.shouldRender)return;const o=(await e.resolveTags()).map(f=>({tag:f,id:ao.includes(f.tag)?Rc(f):f.tag,shouldRender:!0}));let s=e._dom;if(!s){s={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const f of["body","head"]){const d=(u=n==null?void 0:n[f])==null?void 0:u.children;for(const h of[...d].filter(m=>ao.includes(m.tagName.toLowerCase())))s.elMap[h.getAttribute("data-hid")||Rc(await py(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 b=`attr:${p}`;if(p==="class")for(const v of(y||"").split(" ").filter(Boolean))m&&i(f,`${b}:${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,b,()=>d.removeAttribute(p))})}const c=[],l={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const f of o){const{tag:d,shouldRender:h,id:m}=f;if(h){if(d.tag==="title"){n.title=d.textContent;continue}f.$el=f.$el||s.elMap[m],f.$el?a(f):ao.includes(d.tag)&&c.push(f)}}for(const f of c){const d=f.tag.tagPosition||"head";f.$el=n.createElement(f.tag.tag),a(f),l[d]=l[d]||n.createDocumentFragment(),l[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);l.head&&n.head.appendChild(l.head),l.bodyOpen&&n.body.insertBefore(l.bodyOpen,n.body.firstChild),l.bodyClose&&n.body.appendChild(l.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function my(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await Pf(e,t),delete e._domUpdatePromise,r()}))}function gy(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){my(s,e)}}}}}const yy=["templateParams","htmlAttrs","bodyAttrs"],_y={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=Ef(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&&yy.includes(r.tag)&&(a="merge"),a==="merge"){const c=s.props;["class","style"].forEach(l=>{r.props[l]&&c[l]&&(l==="style"&&!c[l].endsWith(";")&&(c[l]+=";"),r.props[l]=`${c[l]} ${r.props[l]}`)}),t[o].props={...c,...r.props};return}else if(r._e===s._e){s._duped=s._duped||[],r._d=`${s._d}:${s._duped.length+1}`,s._duped.push(r);return}else if(Ro(r)>Ro(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(ao.includes(r.tag)&&i===0){delete t[o];return}t[o]=r});const n=[];Object.values(t).forEach(r=>{const o=r._duped;delete r._duped,n.push(r),o&&n.push(...o)}),e.tags=n,e.tags=e.tags.filter(r=>!(r.tag==="meta"&&(r.props.name||r.props.property)&&!r.props.content))}}},vy={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"}})}}},by=["script","link","bodyAttrs"];function wy(e){const t={},n={};return Object.entries(e.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"?(Tf.includes(r)&&(t[r]=`this.dataset.${r} = true`),n[r]=o):t[r]=o}),{props:t,eventHandlers:n}}const Ey=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags)if(by.includes(n.tag)){const{props:r,eventHandlers:o}=wy(n);n.props=r,Object.keys(o).length&&((n.props.src||n.props.href)&&(n.key=n.key||ua(n.props.src||n.props.href)),n._eventHandlers=o)}},"dom:renderTag":function(t,n,r){if(!t.tag._eventHandlers)return;const o=t.tag.tag==="bodyAttrs"?n.defaultView:t.$el;Object.entries(t.tag._eventHandlers).forEach(([s,i])=>{const a=`${t.tag._d||t.tag._p}:${s}`,c=s.slice(2).toLowerCase(),l=`data-h-${c}`;if(r(t.id,a,()=>{}),t.$el.hasAttribute(l))return;t.$el.setAttribute(l,"");let u;const f=d=>{i(d),u==null||u.disconnect()};s in t.$el.dataset?f(new Event(s.replace("on",""))):Tf.includes(s)&&typeof MutationObserver<"u"?(u=new MutationObserver(d=>{d.some(m=>m.attributeName===`data-${s}`)&&(f(new Event(s.replace("on",""))),u==null||u.disconnect())}),u.observe(t.$el,{attributes:!0})):o.addEventListener(c,f),r(t.id,a,()=>{u==null||u.disconnect(),o.removeEventListener(c,f),t.$el.removeAttribute(l)})})}}}),Cy=["link","style","script","noscript"],Ty={hooks:{"tag:normalise":({tag:e})=>{e.key&&Cy.includes(e.tag)&&(e.props["data-hid"]=e._h=ua(e.key))}}},Py={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 hy)for(const o of e.tags.filter(s=>typeof s.tagPriority=="string"&&s.tagPriority.startsWith(n))){const s=t(o.tagPriority.replace(n,""));typeof s<"u"&&(o._p=s+r)}e.tags.sort((n,r)=>n._p-r._p).sort((n,r)=>Ro(n)-Ro(r))}}},xy={meta:"content",link:"href",htmlAttrs:"lang"},Ay=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=co(s.pageTitle||r||"",s,i);for(const c of n.filter(l=>l.processTemplateParams!==!1)){const l=xy[c.tag];l&&typeof c.props[l]=="string"?c.props[l]=co(c.props[l],s,i):(c.processTemplateParams===!0||["titleTemplate","title"].includes(c.tag))&&["innerHTML","textContent"].forEach(u=>{typeof c[u]=="string"&&(c[u]=co(c[u],s,i))})}e._templateParams=s,e._separator=i,t.tags=n.filter(c=>c.tag!=="templateParams")}}}),Sy={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=Ic(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=Ic(t[n].textContent);o!==null&&(t[n].textContent=o,t[n].tag="title",n=-1)}n!==-1&&delete t[n],e.tags=t.filter(Boolean)}}};let xf;function Ry(e={}){const t=Iy(e);return t.use(gy()),xf=t}function Lc(e,t){return!e||e==="server"&&t||e==="client"&&!t}function Iy(e={}){const t=_f();t.addHooks(e.hooks||{}),e.document=e.document||(cy?document:void 0);const n=!e.document,r=()=>{a.dirty=!0,t.callHook("entries:updated",a)};let o=0,s=[];const i=[],a={plugins:i,dirty:!1,resolvedOptions:e,hooks:t,headEntries(){return s},use(c){const l=typeof c=="function"?c(a):c;(!l.key||!i.some(u=>u.key===l.key))&&(i.push(l),Lc(l.mode,n)&&t.addHooks(l.hooks||{}))},push(c,l){l==null||delete l.head;const u={_i:o++,input:c,...l};return Lc(u.mode,n)&&(s.push(u),r()),{dispose(){s=s.filter(f=>f._i!==u._i),t.callHook("entries:updated",a),r()},patch(f){s=s.map(d=>(d._i===u._i&&(d.input=u.input=f),d)),r()}}},async resolveTags(){const c={tags:[],entries:[...s]};await t.callHook("entries:resolve",c);for(const l of c.entries){const u=l.resolvedInput||l.input;if(l.resolvedInput=await(l.transform?l.transform(u):u),l.resolvedInput)for(const f of await dy(l)){const d={tag:f,entry:l,resolvedOptions:a.resolvedOptions};await t.callHook("tag:normalise",d),c.tags.push(d.tag)}}return await t.callHook("tags:beforeResolve",c),await t.callHook("tags:resolve",c),c.tags},ssr:n};return[_y,vy,Ey,Ty,Py,Ay,Sy,...(e==null?void 0:e.plugins)||[]].forEach(c=>a.use(c)),a.hooks.callHook("init",a),a}function ky(){return xf}const Oy=af.startsWith("3");function Ly(e){return typeof e=="function"?e():M(e)}function Io(e,t=""){if(e instanceof Promise)return e;const n=Ly(e);return!e||!n?n:Array.isArray(n)?n.map(r=>Io(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,M(o)]:[r,Io(o,r)])):n}const $y={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=Io(t.input)}}},Af="usehead";function My(e){return{install(n){Oy&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Af,e))}}.install}function Ny(e={}){e.domDelayFn=e.domDelayFn||(n=>Et(()=>setTimeout(()=>n(),0)));const t=Ry(e);return t.use($y),t.install=My(t),t}const ci=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},li="__unhead_injection_handler__";function Dy(e){ci[li]=e}function Hy(){if(li in ci)return ci[li]();const e=De(Af);return e||ky()}function Lr(e,t={}){const n=t.head||Hy();if(n)return n.ssr?n.push(e,t):jy(n,e,t)}function jy(e,t,n={}){const r=ce(!1),o=ce({});vp(()=>{o.value=r.value?{}:Io(t)});const s=e.push(o.value,n);return ge(o,a=>{s.patch(a)}),pt()&&(Gn(()=>{s.dispose()}),$u(()=>{r.value=!0}),Lu(()=>{r.value=!1})),s}const to=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Fy(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n={},o=(t||{}).decode||zy;let s=0;for(;sRf(t,e)}}function Sf(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,Sf(o)])):new Map(Object.entries(e[n]));return t}function Wy(e){return Ky(Sf(e))}function Rf(e,t){const n=[];for(const[o,s]of Mc(t.wildcard))e.startsWith(o)&&n.push(s);for(const[o,s]of Mc(t.dynamic))if(e.startsWith(o+"/")){const i="/"+e.slice(o.length).split("/").splice(2).join("/");n.push(...Rf(i,s))}const r=t.static.get(e);return r&&n.push(r),n.filter(Boolean)}function Mc(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function ui(e,t,n=".",r){if(!Is(t))return ui(e,{},n,r);const o=Object.assign({},t);for(const s in e){if(s==="__proto__"||s==="constructor")continue;const i=e[s];i!=null&&(r&&r(o,s,i,n)||(Array.isArray(i)&&Array.isArray(o[s])?o[s]=[...i,...o[s]]:Is(i)&&Is(o[s])?o[s]=ui(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function 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.toStringTag in e)&&!(Symbol.iterator in e)}function If(e){return(...t)=>t.reduce((n,r)=>ui(n,r,"",e),{})}const jn=If(),qy=If((e,t,n)=>{if(e[t]!==void 0&&typeof n=="function")return e[t]=n(e[t]),!0});function Qy(e,t){try{return t in e}catch{return!1}}var Jy=Object.defineProperty,Zy=(e,t,n)=>t in e?Jy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cn=(e,t,n)=>(Zy(e,typeof t!="symbol"?t+"":t,n),n);class fi extends Error{constructor(t,n={}){super(t,n),cn(this,"statusCode",500),cn(this,"fatal",!1),cn(this,"unhandled",!1),cn(this,"statusMessage"),cn(this,"data"),cn(this,"cause"),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:hi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=kf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}cn(fi,"__h3_error__",!0);function di(e){if(typeof e=="string")return new fi(e);if(Yy(e))return e;const t=new fi(e.message??e.statusMessage??"",{cause:e.cause||e});if(Qy(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=hi(e.statusCode,t.statusCode):e.status&&(t.statusCode=hi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;kf(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 Yy(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const Gy=/[^\u0009\u0020-\u007E]/g;function kf(e=""){return e.replace(Gy,"")}function hi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Xy=Symbol("layout-meta"),rs=Symbol("route"),os=()=>Qo(ye().payload,"error"),In=e=>{const t=ss(e);try{const n=ye(),r=os();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},e_=async(e={})=>{const t=ye(),n=os();t.callHook("app:error:cleared",e),e.redirect&&await ct().replace(e.redirect),n.value=null},t_=e=>!!(e&&typeof e=="object"&&"__nuxt_error"in e),ss=e=>{const t=di(e);return t.__nuxt_error=!0,t},ct=()=>{var e;return(e=ye())==null?void 0:e.$router},at=()=>zu()?De(rs,ye()._route):ye()._route;/*! @__NO_SIDE_EFFECTS__ */const n_=(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},r_=()=>{try{if(ye()._processingMiddleware)return!0}catch{return!0}return!1},Of=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:hf(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){{const{target:a="_blank",windowFeatures:c={}}=t.open,l=Object.entries(c).filter(([u,f])=>f!==void 0).map(([u,f])=>`${u.toLowerCase()}=${f}`).join(", ");open(n,a,l)}return Promise.resolve()}const r=(t==null?void 0:t.external)||en(n,{acceptRelative:!0});if(r){if(!(t!=null&&t.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const a=Fr(n).protocol;if(a&&og(a))throw new Error(`Cannot navigate to a URL with '${a}' protocol.`)}const o=r_();if(!r&&o)return e;const s=ct(),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)},o_={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}}},s_={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}}},i_={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},a_={},c_={nuxt:{buildId:"a90fa8e4-75ee-4e3b-a6c1-e66bf9d06218"}},l_=qy(o_,s_,i_,a_,c_);function fa(){const e=ye();return e._appConfig||(e._appConfig=tt(l_)),e._appConfig}const ix=!1,pi=!1,u_=!1,f_={componentName:"NuxtLink"},d_={deep:!0},h_="#__nuxt";let lo,Lf;function p_(){var t;const e=(t=fa().nuxt)==null?void 0:t.buildId;return lo=$fetch(ca(`builds/meta/${e}.json`)),lo.then(n=>{Lf=Wy(n.matcher)}),lo}function is(){return lo||p_()}async function $f(e){return await is(),jn({},...Lf.matchAll(e).reverse())}function Nc(e,t={}){const n=m_(e,t),r=ye(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=g_(e).then(s=>s?Mf(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const Dc="json";function m_(e,t={}){const n=new URL(e,"http://localhost");if(n.search)throw new Error("Payload URL cannot contain search params: "+e);if(n.host!=="localhost"||en(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():"");return Cn(Ze().app.baseURL,n.pathname,r?`_payload.${r}.${Dc}`:`_payload.${Dc}`)}async function Mf(e){const t=fetch(e).then(n=>n.text().then(Nf));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function g_(e=at().path){if((await is()).prerendered.includes(e))return!0;const n=await $f(e);return!!n.prerender&&!n.redirect}let no=null;async function y_(){if(no)return no;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=Nf(e.textContent||""),n=e.dataset.src?await Mf(e.dataset.src):void 0;return no={...t,...n,...window.__NUXT__},no}function Nf(e){return ny(e,ye()._payloadRevivers)}function __(e,t){ye()._payloadRevivers[e]=t}const Hc={NuxtError:e=>ss(e),EmptyShallowRef:e=>kt(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),EmptyRef:e=>ce(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),ShallowRef:e=>kt(e),ShallowReactive:e=>Qt(e),Ref:e=>ce(e),Reactive:e=>tt(e)},v_=Be({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in Hc)__(r,Hc[r]);Object.assign(e.payload,([t,n]=Or(()=>e.runWithContext(y_)),t=await t,n(),t)),window.__NUXT__=e.payload}}),b_=[],w_=Be({name:"nuxt:head",enforce:"pre",setup(e){const t=Ny({plugins:b_});Dy(()=>ye().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await Pf(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)}}});/*! +function Di(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const Te={},kn=[],dt=()=>{},dh=()=>!1,hh=/^on[^a-z]/,Dr=e=>hh.test(e),Hi=e=>e.startsWith("onUpdate:"),$e=Object.assign,ji=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ph=Object.prototype.hasOwnProperty,pe=(e,t)=>ph.call(e,t),re=Array.isArray,On=e=>Hr(e)==="[object Map]",Ql=e=>Hr(e)==="[object Set]",mh=e=>Hr(e)==="[object RegExp]",ie=e=>typeof e=="function",xe=e=>typeof e=="string",Vo=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",Fi=e=>(Ce(e)||ie(e))&&ie(e.then)&&ie(e.catch),Jl=Object.prototype.toString,Hr=e=>Jl.call(e),gh=e=>Hr(e).slice(8,-1),Zl=e=>Hr(e)==="[object Object]",Bi=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hr=Di(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},yh=/-(\w)/g,wt=zo(e=>e.replace(yh,(t,n)=>n?n.toUpperCase():"")),_h=/\B([A-Z])/g,wn=zo(e=>e.replace(_h,"-$1").toLowerCase()),Uo=zo(e=>e.charAt(0).toUpperCase()+e.slice(1)),gs=zo(e=>e?`on${Uo(e)}`:""),gn=(e,t)=>!Object.is(e,t),Ln=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},js=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Yl=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Da;const Fs=()=>Da||(Da=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Qn(e){if(re(e)){const t={};for(let n=0;n{if(n){const r=n.split(bh);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function je(e){let t="";if(xe(e))t=e;else if(re(e))for(let n=0;nxe(e)?e:e==null?"":re(e)||Ce(e)&&(e.toString===Jl||!ie(e.toString))?JSON.stringify(e,Xl,2):String(e),Xl=(e,t)=>t&&t.__v_isRef?Xl(e,t.value):On(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o])=>(n[`${r} =>`]=o,n),{})}:Ql(t)?{[`Set(${t.size})`]:[...t.values()]}:Ce(t)&&!re(t)&&!Zl(t)?String(t):t;let Ge;class eu{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ge;try{return Ge=this,t()}finally{Ge=n}}}on(){Ge=this}off(){Ge=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},tu=e=>(e.w&Gt)>0,nu=e=>(e.n&Gt)>0,Sh=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(u==="length"||!Vo(u)&&u>=c)&&a.push(l)})}else switch(n!==void 0&&a.push(i.get(n)),t){case"add":re(e)?Bi(n)&&a.push(i.get("length")):(a.push(i.get(pn)),On(e)&&a.push(i.get(Vs)));break;case"delete":re(e)||(a.push(i.get(pn)),On(e)&&a.push(i.get(Vs)));break;case"set":On(e)&&a.push(i.get(pn));break}if(a.length===1)a[0]&&zs(a[0]);else{const c=[];for(const l of a)l&&c.push(...l);zs(Vi(c))}}function zs(e,t){const n=re(e)?e:[...e];for(const r of n)r.computed&&ja(r);for(const r of n)r.computed||ja(r)}function ja(e,t){(e!==ut||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Ih(e,t){var n;return(n=_o.get(e))==null?void 0:n.get(t)}const kh=Di("__proto__,__v_isRef,__isVue"),su=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vo)),Fa=Oh();function Oh(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=me(this);for(let s=0,i=this.length;s{e[t]=function(...n){Jn();const r=me(this)[t].apply(this,n);return Zn(),r}}),e}function Lh(e){const t=me(this);return Qe(t,"has",e),t.hasOwnProperty(e)}class iu{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const o=this._isReadonly,s=this._shallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw"&&r===(o?s?Wh:uu:s?lu:cu).get(t))return t;const i=re(t);if(!o){if(i&&pe(Fa,n))return Reflect.get(Fa,n,r);if(n==="hasOwnProperty")return Lh}const a=Reflect.get(t,n,r);return(Vo(n)?su.has(n):kh(n))||(o||Qe(t,"get",n),s)?a:Se(a)?i&&Bi(n)?a:a.value:Ce(a)?o?qo(a):tt(a):a}}class au extends iu{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(yn(s)&&Se(s)&&!Se(r))return!1;if(!this._shallow&&(!vo(r)&&!yn(r)&&(s=me(s),r=me(r)),!re(t)&&Se(s)&&!Se(r)))return s.value=r,!0;const i=re(t)&&Bi(n)?Number(n)e,Wo=e=>Reflect.getPrototypeOf(e);function Ur(e,t,n=!1,r=!1){e=e.__v_raw;const o=me(e),s=me(t);n||(gn(t,s)&&Qe(o,"get",t),Qe(o,"get",s));const{has:i}=Wo(o),a=r?Ui:n?qi:Cr;if(i.call(o,t))return a(e.get(t));if(i.call(o,s))return a(e.get(s));e!==o&&e.get(t)}function Kr(e,t=!1){const n=this.__v_raw,r=me(n),o=me(e);return t||(gn(e,o)&&Qe(r,"has",e),Qe(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Wr(e,t=!1){return e=e.__v_raw,!t&&Qe(me(e),"iterate",pn),Reflect.get(e,"size",e)}function Ba(e){e=me(e);const t=me(this);return Wo(t).has.call(t,e)||(t.add(e),It(t,"add",e,e)),this}function Va(e,t){t=me(t);const n=me(this),{has:r,get:o}=Wo(n);let s=r.call(n,e);s||(e=me(e),s=r.call(n,e));const i=o.call(n,e);return n.set(e,t),s?gn(t,i)&&It(n,"set",e,t):It(n,"add",e,t),this}function za(e){const t=me(this),{has:n,get:r}=Wo(t);let o=n.call(t,e);o||(e=me(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&It(t,"delete",e,void 0),s}function Ua(){const e=me(this),t=e.size!==0,n=e.clear();return t&&It(e,"clear",void 0,void 0),n}function qr(e,t){return function(r,o){const s=this,i=s.__v_raw,a=me(i),c=t?Ui:e?qi:Cr;return!e&&Qe(a,"iterate",pn),i.forEach((l,u)=>r.call(o,c(l),c(u),s))}}function Qr(e,t,n){return function(...r){const o=this.__v_raw,s=me(o),i=On(s),a=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,l=o[e](...r),u=n?Ui:t?qi:Cr;return!t&&Qe(s,"iterate",c?Vs:pn),{next(){const{value:f,done:d}=l.next();return d?{value:f,done:d}:{value:a?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function Ht(e){return function(...t){return e==="delete"?!1:this}}function Hh(){const e={get(s){return Ur(this,s)},get size(){return Wr(this)},has:Kr,add:Ba,set:Va,delete:za,clear:Ua,forEach:qr(!1,!1)},t={get(s){return Ur(this,s,!1,!0)},get size(){return Wr(this)},has:Kr,add:Ba,set:Va,delete:za,clear:Ua,forEach:qr(!1,!0)},n={get(s){return Ur(this,s,!0)},get size(){return Wr(this,!0)},has(s){return Kr.call(this,s,!0)},add:Ht("add"),set:Ht("set"),delete:Ht("delete"),clear:Ht("clear"),forEach:qr(!0,!1)},r={get(s){return Ur(this,s,!0,!0)},get size(){return Wr(this,!0)},has(s){return Kr.call(this,s,!0)},add:Ht("add"),set:Ht("set"),delete:Ht("delete"),clear:Ht("clear"),forEach:qr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=Qr(s,!1,!1),n[s]=Qr(s,!0,!1),t[s]=Qr(s,!1,!0),r[s]=Qr(s,!0,!0)}),[e,n,t,r]}const[jh,Fh,Bh,Vh]=Hh();function Ki(e,t){const n=t?e?Vh:Bh:e?Fh:jh;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(pe(n,o)&&o in r?n:r,o,s)}const zh={get:Ki(!1,!1)},Uh={get:Ki(!1,!0)},Kh={get:Ki(!0,!1)},cu=new WeakMap,lu=new WeakMap,uu=new WeakMap,Wh=new WeakMap;function qh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qh(e){return e.__v_skip||!Object.isExtensible(e)?0:qh(gh(e))}function tt(e){return yn(e)?e:Wi(e,!1,Mh,zh,cu)}function Qt(e){return Wi(e,!1,Dh,Uh,lu)}function qo(e){return Wi(e,!0,Nh,Kh,uu)}function Wi(e,t,n,r,o){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Qh(e);if(i===0)return e;const a=new Proxy(e,i===2?r:n);return o.set(e,a),a}function $n(e){return yn(e)?$n(e.__v_raw):!!(e&&e.__v_isReactive)}function yn(e){return!!(e&&e.__v_isReadonly)}function vo(e){return!!(e&&e.__v_isShallow)}function fu(e){return $n(e)||yn(e)}function me(e){const t=e&&e.__v_raw;return t?me(t):e}function du(e){return yo(e,"__v_skip",!0),e}const Cr=e=>Ce(e)?tt(e):e,qi=e=>Ce(e)?qo(e):e;function Qi(e){qt&&ut&&(e=me(e),ou(e.dep||(e.dep=Vi())))}function Ji(e,t){e=me(e);const n=e.dep;n&&zs(n)}function Se(e){return!!(e&&e.__v_isRef===!0)}function ce(e){return hu(e,!1)}function kt(e){return hu(e,!0)}function hu(e,t){return Se(e)?e:new Jh(e,t)}class Jh{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:me(t),this._value=n?t:Cr(t)}get value(){return Qi(this),this._value}set value(t){const n=this.__v_isShallow||vo(t)||yn(t);t=n?t:me(t),gn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Cr(t),Ji(this))}}function M(e){return Se(e)?e.value:e}const Zh={get:(e,t,n)=>M(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Se(o)&&!Se(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function pu(e){return $n(e)?e:new Proxy(e,Zh)}class Yh{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Qi(this),()=>Ji(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function mu(e){return new Yh(e)}function rx(e){const t=re(e)?new Array(e.length):{};for(const n in e)t[n]=gu(e,n);return t}class Gh{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ih(me(this._object),this._key)}}class Xh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Qo(e,t,n){return Se(e)?e:ie(e)?new Xh(e):Ce(e)&&arguments.length>1?gu(e,t,n):ce(e)}function gu(e,t,n){const r=e[t];return Se(r)?r:new Gh(e,t,n)}class ep{constructor(t,n,r,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new zi(t,()=>{this._dirty||(this._dirty=!0,Ji(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=me(this);return Qi(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function tp(e,t,n=!1){let r,o;const s=ie(e);return s?(r=e,o=dt):(r=e.get,o=e.set),new ep(r,o,s||!o,n)}function np(e,...t){}function Jt(e,t,n,r){let o;try{o=r?e(...r):e()}catch(s){Yn(s,t,n)}return o}function it(e,t,n,r){if(ie(e)){const s=Jt(e,t,n,r);return s&&Fi(s)&&s.catch(i=>{Yn(i,t,n)}),s}const o=[];for(let s=0;s>>1,o=He[r],s=Pr(o);svt&&He.splice(t,1)}function Ks(e){re(e)?Mn.push(...e):(!At||!At.includes(e,e.allowRecurse?ln+1:ln))&&Mn.push(e),_u()}function Ka(e,t=Tr?vt+1:0){for(;tPr(n)-Pr(r)),ln=0;lne.id==null?1/0:e.id,ip=(e,t)=>{const n=Pr(e)-Pr(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function vu(e){Us=!1,Tr=!0,He.sort(ip);const t=dt;try{for(vt=0;vtxe(h)?h.trim():h)),f&&(o=n.map(js))}let a,c=r[a=gs(t)]||r[a=gs(wt(t))];!c&&s&&(c=r[a=gs(wn(t))]),c&&it(c,e,6,o);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,it(l,e,6,o)}}function bu(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},a=!1;if(!ie(e)){const c=l=>{const u=bu(l,t,!0);u&&(a=!0,$e(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!s&&!a?(Ce(e)&&r.set(e,null),null):(re(s)?s.forEach(c=>i[c]=null):$e(i,s),Ce(e)&&r.set(e,i),i)}function Zo(e,t){return!e||!Dr(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,wn(t))||pe(e,t))}let Me=null,Yo=null;function wo(e){const t=Me;return Me=e,Yo=e&&e.type.__scopeId||null,t}function wu(e){Yo=e}function Eu(){Yo=null}function Je(e,t=Me,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&sc(-1);const s=wo(t);let i;try{i=e(...o)}finally{wo(s),r._d&&sc(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function ys(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[i],slots:a,attrs:c,emit:l,render:u,renderCache:f,data:d,setupState:h,ctx:m,inheritAttrs:p}=e;let y,b;const v=wo(e);try{if(n.shapeFlag&4){const _=o||r;y=ot(u.call(_,_,f,s,h,d,m)),b=c}else{const _=t;y=ot(_.length>1?_(s,{attrs:c,slots:a,emit:l}):_(s,null)),b=t.props?c:lp(c)}}catch(_){gr.length=0,Yn(_,e,1),y=oe(Ke)}let g=y;if(b&&p!==!1){const _=Object.keys(b),{shapeFlag:P}=g;_.length&&P&7&&(i&&_.some(Hi)&&(b=up(b,i)),g=Lt(g,b))}return n.dirs&&(g=Lt(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),y=g,wo(v),y}function cp(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Dr(n))&&((t||(t={}))[n]=e[n]);return t},up=(e,t)=>{const n={};for(const r in e)(!Hi(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function fp(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:a,patchFlag:c}=t,l=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Wa(r,i,l):!!i;if(c&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense,hp={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,s,i,a,c,l){e==null?pp(t,n,r,o,s,i,a,c,l):mp(e,t,n,r,o,i,a,c,l)},hydrate:gp,create:Xi,normalize:yp},xu=hp;function xr(e,t){const n=e.props&&e.props[t];ie(n)&&n()}function pp(e,t,n,r,o,s,i,a,c){const{p:l,o:{createElement:u}}=c,f=u("div"),d=e.suspense=Xi(e,o,r,t,f,n,s,i,a,c);l(null,d.pendingBranch=e.ssContent,f,null,r,d,s,i),d.deps>0?(xr(e,"onPending"),xr(e,"onFallback"),l(null,e.ssFallback,t,n,r,null,s,i),Nn(d,e.ssFallback)):d.resolve(!1,!0)}function mp(e,t,n,r,o,s,i,a,{p:c,um:l,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:m,pendingBranch:p,isInFallback:y,isHydrating:b}=f;if(p)f.pendingBranch=d,ft(d,p)?(c(p,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():y&&(c(m,h,n,r,o,null,s,i,a),Nn(f,h))):(f.pendingId++,b?(f.isHydrating=!1,f.activeBranch=p):l(p,o,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),y?(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():(c(m,h,n,r,o,null,s,i,a),Nn(f,h))):m&&ft(d,m)?(c(m,d,n,r,o,f,s,i,a),f.resolve(!0)):(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0&&f.resolve()));else if(m&&ft(d,m))c(m,d,n,r,o,f,s,i,a),Nn(f,d);else if(xr(t,"onPending"),f.pendingBranch=d,f.pendingId++,c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0)f.resolve();else{const{timeout:v,pendingId:g}=f;v>0?setTimeout(()=>{f.pendingId===g&&f.fallback(h)},v):v===0&&f.fallback(h)}}function Xi(e,t,n,r,o,s,i,a,c,l,u=!1){const{p:f,m:d,um:h,n:m,o:{parentNode:p,remove:y}}=l;let b;const v=_p(e);v&&t!=null&&t.pendingBranch&&(b=t.pendingId,t.deps++);const g=e.props?Yl(e.props.timeout):void 0,_={vnode:e,parent:t,parentComponent:n,isSVG:i,container:r,hiddenContainer:o,anchor:s,deps:0,pendingId:0,timeout:typeof g=="number"?g:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(P=!1,S=!1){const{vnode:I,activeBranch:k,pendingBranch:H,pendingId:R,effects:T,parentComponent:C,container:x}=_;let V=!1;if(_.isHydrating)_.isHydrating=!1;else if(!P){V=k&&H.transition&&H.transition.mode==="out-in",V&&(k.transition.afterLeave=()=>{R===_.pendingId&&(d(H,x,J,0),Ks(T))});let{anchor:J}=_;k&&(J=m(k),h(k,C,_,!0)),V||d(H,x,J,0)}Nn(_,H),_.pendingBranch=null,_.isInFallback=!1;let Q=_.parent,B=!1;for(;Q;){if(Q.pendingBranch){Q.effects.push(...T),B=!0;break}Q=Q.parent}!B&&!V&&Ks(T),_.effects=[],v&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!S&&t.resolve()),xr(I,"onResolve")},fallback(P){if(!_.pendingBranch)return;const{vnode:S,activeBranch:I,parentComponent:k,container:H,isSVG:R}=_;xr(S,"onFallback");const T=m(I),C=()=>{_.isInFallback&&(f(null,P,H,T,k,null,R,a,c),Nn(_,P))},x=P.transition&&P.transition.mode==="out-in";x&&(I.transition.afterLeave=C),_.isInFallback=!0,h(I,k,null,!0),x||C()},move(P,S,I){_.activeBranch&&d(_.activeBranch,P,S,I),_.container=P},next(){return _.activeBranch&&m(_.activeBranch)},registerDep(P,S){const I=!!_.pendingBranch;I&&_.deps++;const k=P.vnode.el;P.asyncDep.catch(H=>{Yn(H,P,0)}).then(H=>{if(P.isUnmounted||_.isUnmounted||_.pendingId!==P.suspenseId)return;P.asyncResolved=!0;const{vnode:R}=P;Gs(P,H,!1),k&&(R.el=k);const T=!k&&P.subTree.el;S(P,R,p(k||P.subTree.el),k?null:m(P.subTree),_,i,c),T&&y(T),Yi(P,R.el),I&&--_.deps===0&&_.resolve()})},unmount(P,S){_.isUnmounted=!0,_.activeBranch&&h(_.activeBranch,n,P,S),_.pendingBranch&&h(_.pendingBranch,n,P,S)}};return _}function gp(e,t,n,r,o,s,i,a,c){const l=t.suspense=Xi(t,r,n,e.parentNode,document.createElement("div"),null,o,s,i,a,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,s,i);return l.deps===0&&l.resolve(!1,!0),u}function yp(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Qa(r?n.default:n),e.ssFallback=r?Qa(n.fallback):oe(Ke)}function Qa(e){let t;if(ie(e)){const n=Vn&&e._c;n&&(e._d=!1,q()),e=e(),n&&(e._d=!0,t=st,Xu())}return re(e)&&(e=cp(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Au(e,t){t&&t.pendingBranch?re(e)?t.effects.push(...e):t.effects.push(e):Ks(e)}function Nn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e,o=n.el=t.el;r&&r.subTree===n&&(r.vnode.el=o,Yi(r,o))}function _p(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}function vp(e,t){return Xo(e,null,t)}function bp(e,t){return Xo(e,null,{flush:"post"})}const Jr={};function ge(e,t,n){return Xo(e,t,n)}function Xo(e,t,{immediate:n,deep:r,flush:o,onTrack:s,onTrigger:i}=Te){var a;const c=Ko()===((a=ke)==null?void 0:a.scope)?ke:null;let l,u=!1,f=!1;if(Se(e)?(l=()=>e.value,u=vo(e)):$n(e)?(l=()=>e,r=!0):re(e)?(f=!0,u=e.some(_=>$n(_)||vo(_)),l=()=>e.map(_=>{if(Se(_))return _.value;if($n(_))return hn(_);if(ie(_))return Jt(_,c,2)})):ie(e)?t?l=()=>Jt(e,c,2):l=()=>{if(!(c&&c.isUnmounted))return d&&d(),it(e,c,3,[h])}:l=dt,t&&r){const _=l;l=()=>hn(_())}let d,h=_=>{d=v.onStop=()=>{Jt(_,c,4)}},m;if(Un)if(h=dt,t?n&&it(t,c,3,[l(),f?[]:void 0,h]):l(),o==="sync"){const _=um();m=_.__watcherHandles||(_.__watcherHandles=[])}else return dt;let p=f?new Array(e.length).fill(Jr):Jr;const y=()=>{if(v.active)if(t){const _=v.run();(r||u||(f?_.some((P,S)=>gn(P,p[S])):gn(_,p)))&&(d&&d(),it(t,c,3,[_,p===Jr?void 0:f&&p[0]===Jr?[]:p,h]),p=_)}else v.run()};y.allowRecurse=!!t;let b;o==="sync"?b=y:o==="post"?b=()=>Ne(y,c&&c.suspense):(y.pre=!0,c&&(y.id=c.uid),b=()=>Jo(y));const v=new zi(l,b);t?n?y():p=v.run():o==="post"?Ne(v.run.bind(v),c&&c.suspense):v.run();const g=()=>{v.stop(),c&&c.scope&&ji(c.scope.effects,v)};return m&&m.push(g),g}function wp(e,t,n){const r=this.proxy,o=xe(e)?e.includes(".")?Su(r,e):()=>r[e]:e.bind(r,r);let s;ie(t)?s=t:(s=t.handler,n=t);const i=ke;Xt(this);const a=Xo(o,s.bind(r),n);return i?Xt(i):Zt(),a}function Su(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{hn(n,t)});else if(Zl(e))for(const n in e)hn(e[n],t);return e}function Ru(e,t){const n=Me;if(n===null)return e;const r=ns(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),Gn(()=>{e.isUnmounting=!0}),e}const rt=[Function,Array],Iu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:rt,onEnter:rt,onAfterEnter:rt,onEnterCancelled:rt,onBeforeLeave:rt,onLeave:rt,onAfterLeave:rt,onLeaveCancelled:rt,onBeforeAppear:rt,onAppear:rt,onAfterAppear:rt,onAppearCancelled:rt},Cp={name:"BaseTransition",props:Iu,setup(e,{slots:t}){const n=pt(),r=Ep();let o;return()=>{const s=t.default&&Ou(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1){for(const p of s)if(p.type!==Ke){i=p;break}}const a=me(e),{mode:c}=a;if(r.isLeaving)return _s(i);const l=Ja(i);if(!l)return _s(i);const u=Ws(l,a,r,n);Eo(l,u);const f=n.subTree,d=f&&Ja(f);let h=!1;const{getTransitionKey:m}=l.type;if(m){const p=m();o===void 0?o=p:p!==o&&(o=p,h=!0)}if(d&&d.type!==Ke&&(!ft(l,d)||h)){const p=Ws(d,a,r,n);if(Eo(d,p),c==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},_s(i);c==="in-out"&&l.type!==Ke&&(p.delayLeave=(y,b,v)=>{const g=ku(r,d);g[String(d.key)]=d,y[zt]=()=>{b(),y[zt]=void 0,delete u.delayedLeave},u.delayedLeave=v})}return i}}},Tp=Cp;function ku(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ws(e,t,n,r){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:f,onLeave:d,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:p,onAppear:y,onAfterAppear:b,onAppearCancelled:v}=t,g=String(e.key),_=ku(n,e),P=(k,H)=>{k&&it(k,r,9,H)},S=(k,H)=>{const R=H[1];P(k,H),re(k)?k.every(T=>T.length<=1)&&R():k.length<=1&&R()},I={mode:s,persisted:i,beforeEnter(k){let H=a;if(!n.isMounted)if(o)H=p||a;else return;k[zt]&&k[zt](!0);const R=_[g];R&&ft(e,R)&&R.el[zt]&&R.el[zt](),P(H,[k])},enter(k){let H=c,R=l,T=u;if(!n.isMounted)if(o)H=y||c,R=b||l,T=v||u;else return;let C=!1;const x=k[Zr]=V=>{C||(C=!0,V?P(T,[k]):P(R,[k]),I.delayedLeave&&I.delayedLeave(),k[Zr]=void 0)};H?S(H,[k,x]):x()},leave(k,H){const R=String(e.key);if(k[Zr]&&k[Zr](!0),n.isUnmounting)return H();P(f,[k]);let T=!1;const C=k[zt]=x=>{T||(T=!0,H(),x?P(m,[k]):P(h,[k]),k[zt]=void 0,_[R]===e&&delete _[R])};_[R]=e,d?S(d,[k,C]):C()},clone(k){return Ws(k,t,n,r)}};return I}function _s(e){if(jr(e))return e=Lt(e),e.children=null,e}function Ja(e){return jr(e)?e.children?e.children[0]:void 0:e}function Eo(e,t){e.shapeFlag&6&&e.component?Eo(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ou(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s$e({name:e.name},t,{setup:e}))():e}const mn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function N(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:a}=e;let c=null,l,u=0;const f=()=>(u++,c=null,d()),d=()=>{let h;return c||(h=c=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),a)return new Promise((p,y)=>{a(m,()=>p(f()),()=>y(m),u+1)});throw m}).then(m=>h!==c&&c?c:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),l=m,m)))};return Ae({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return l},setup(){const h=ke;if(l)return()=>vs(l,h);const m=v=>{c=null,Yn(v,h,13,!r)};if(i&&h.suspense||Un)return d().then(v=>()=>vs(v,h)).catch(v=>(m(v),()=>r?oe(r,{error:v}):null));const p=ce(!1),y=ce(),b=ce(!!o);return o&&setTimeout(()=>{b.value=!1},o),s!=null&&setTimeout(()=>{if(!p.value&&!y.value){const v=new Error(`Async component timed out after ${s}ms.`);m(v),y.value=v}},s),d().then(()=>{p.value=!0,h.parent&&jr(h.parent.vnode)&&Jo(h.parent.update)}).catch(v=>{m(v),y.value=v}),()=>{if(p.value&&l)return vs(l,h);if(y.value&&r)return oe(r,{error:y.value});if(n&&!b.value)return oe(n)}}})}function vs(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=oe(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const jr=e=>e.type.__isKeepAlive,Pp={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=pt(),r=n.ctx;if(!r.renderer)return()=>{const v=t.default&&t.default();return v&&v.length===1?v[0]:v};const o=new Map,s=new Set;let i=null;const a=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:f}}}=r,d=f("div");r.activate=(v,g,_,P,S)=>{const I=v.component;l(v,g,_,0,a),c(I.vnode,v,g,_,I,a,P,v.slotScopeIds,S),Ne(()=>{I.isDeactivated=!1,I.a&&Ln(I.a);const k=v.props&&v.props.onVnodeMounted;k&&qe(k,I.parent,v)},a)},r.deactivate=v=>{const g=v.component;l(v,d,null,1,a),Ne(()=>{g.da&&Ln(g.da);const _=v.props&&v.props.onVnodeUnmounted;_&&qe(_,g.parent,v),g.isDeactivated=!0},a)};function h(v){bs(v),u(v,n,a,!0)}function m(v){o.forEach((g,_)=>{const P=Xs(g.type);P&&(!v||!v(P))&&p(_)})}function p(v){const g=o.get(v);!i||!ft(g,i)?h(g):i&&bs(i),o.delete(v),s.delete(v)}ge(()=>[e.include,e.exclude],([v,g])=>{v&&m(_=>cr(v,_)),g&&m(_=>!cr(g,_))},{flush:"post",deep:!0});let y=null;const b=()=>{y!=null&&o.set(y,ws(n.subTree))};return Nt(b),Du(b),Gn(()=>{o.forEach(v=>{const{subTree:g,suspense:_}=n,P=ws(g);if(v.type===P.type&&v.key===P.key){bs(P);const S=P.component.da;S&&Ne(S,_);return}h(v)})}),()=>{if(y=null,!t.default)return null;const v=t.default(),g=v[0];if(v.length>1)return i=null,v;if(!zn(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let _=ws(g);const P=_.type,S=Xs(mn(_)?_.type.__asyncResolved||{}:P),{include:I,exclude:k,max:H}=e;if(I&&(!S||!cr(I,S))||k&&S&&cr(k,S))return i=_,g;const R=_.key==null?P:_.key,T=o.get(R);return _.el&&(_=Lt(_),g.shapeFlag&128&&(g.ssContent=_)),y=R,T?(_.el=T.el,_.component=T.component,_.transition&&Eo(_,_.transition),_.shapeFlag|=512,s.delete(R),s.add(R)):(s.add(R),H&&s.size>parseInt(H,10)&&p(s.values().next().value)),_.shapeFlag|=256,i=_,Pu(g.type)?g:_}}},xp=Pp;function cr(e,t){return re(e)?e.some(n=>cr(n,t)):xe(e)?e.split(",").includes(t):mh(e)?e.test(t):!1}function Lu(e,t){Mu(e,"a",t)}function $u(e,t){Mu(e,"da",t)}function Mu(e,t,n=ke){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(es(t,r,n),n){let o=n.parent;for(;o&&o.parent;)jr(o.parent.vnode)&&Ap(r,t,n,o),o=o.parent}}function Ap(e,t,n,r){const o=es(t,e,r,!0);Ar(()=>{ji(r[t],o)},n)}function bs(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ws(e){return e.shapeFlag&128?e.ssContent:e}function es(e,t,n=ke,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Jn(),Xt(n);const a=it(t,n,e,i);return Zt(),Zn(),a});return r?o.unshift(s):o.push(s),s}}const Mt=e=>(t,n=ke)=>(!Un||e==="sp")&&es(e,(...r)=>t(...r),n),Nu=Mt("bm"),Nt=Mt("m"),Sp=Mt("bu"),Du=Mt("u"),Gn=Mt("bum"),Ar=Mt("um"),Rp=Mt("sp"),Ip=Mt("rtg"),kp=Mt("rtc");function Hu(e,t=ke){es("ec",e,t)}function Fn(e,t,n,r){let o;const s=n&&n[r];if(re(e)||xe(e)){o=new Array(e.length);for(let i=0,a=e.length;it(i,a,void 0,s&&s[a]));else{const i=Object.keys(e);o=new Array(i.length);for(let a=0,c=i.length;azn(t)?!(t.type===Ke||t.type===Pe&&!ju(t.children)):!0)?e:null}const qs=e=>e?rf(e)?ns(e)||e.proxy:qs(e.parent):null,pr=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>qs(e.parent),$root:e=>qs(e.root),$emit:e=>e.emit,$options:e=>ea(e),$forceUpdate:e=>e.f||(e.f=()=>Jo(e.update)),$nextTick:e=>e.n||(e.n=Et.bind(e.proxy)),$watch:e=>wp.bind(e)}),Es=(e,t)=>e!==Te&&!e.__isScriptSetup&&pe(e,t),Op={get({_:e},t){const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:a,appContext:c}=e;let l;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(Es(r,t))return i[t]=1,r[t];if(o!==Te&&pe(o,t))return i[t]=2,o[t];if((l=e.propsOptions[0])&&pe(l,t))return i[t]=3,s[t];if(n!==Te&&pe(n,t))return i[t]=4,n[t];Qs&&(i[t]=0)}}const u=pr[t];let f,d;if(u)return t==="$attrs"&&Qe(e,"get",t),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==Te&&pe(n,t))return i[t]=4,n[t];if(d=c.config.globalProperties,pe(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return Es(o,t)?(o[t]=n,!0):r!==Te&&pe(r,t)?(r[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let a;return!!n[i]||e!==Te&&pe(e,i)||Es(t,i)||(a=s[0])&&pe(a,i)||pe(r,i)||pe(pr,i)||pe(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ox(){return Lp().slots}function Lp(){const e=pt();return e.setupContext||(e.setupContext=sf(e))}function Za(e){return re(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Fu(e){const t=pt();let n=e();return Zt(),Fi(n)&&(n=n.catch(r=>{throw Xt(t),r})),[n,()=>Xt(t)]}let Qs=!0;function $p(e){const t=ea(e),n=e.proxy,r=e.ctx;Qs=!1,t.beforeCreate&&Ya(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:a,provide:c,inject:l,created:u,beforeMount:f,mounted:d,beforeUpdate:h,updated:m,activated:p,deactivated:y,beforeDestroy:b,beforeUnmount:v,destroyed:g,unmounted:_,render:P,renderTracked:S,renderTriggered:I,errorCaptured:k,serverPrefetch:H,expose:R,inheritAttrs:T,components:C,directives:x,filters:V}=t;if(l&&Mp(l,r,null),i)for(const J in i){const U=i[J];ie(U)&&(r[J]=U.bind(n))}if(o){const J=o.call(n,n);Ce(J)&&(e.data=tt(J))}if(Qs=!0,s)for(const J in s){const U=s[J],he=ie(U)?U.bind(n,n):ie(U.get)?U.get.bind(n,n):dt,Oe=!ie(U)&&ie(U.set)?U.set.bind(n):dt,Le=ee({get:he,set:Oe});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>Le.value,set:we=>Le.value=we})}if(a)for(const J in a)Bu(a[J],r,n,J);if(c){const J=ie(c)?c.call(n):c;Reflect.ownKeys(J).forEach(U=>{Dn(U,J[U])})}u&&Ya(u,e,"c");function B(J,U){re(U)?U.forEach(he=>J(he.bind(n))):U&&J(U.bind(n))}if(B(Nu,f),B(Nt,d),B(Sp,h),B(Du,m),B(Lu,p),B($u,y),B(Hu,k),B(kp,S),B(Ip,I),B(Gn,v),B(Ar,_),B(Rp,H),re(R))if(R.length){const J=e.exposed||(e.exposed={});R.forEach(U=>{Object.defineProperty(J,U,{get:()=>n[U],set:he=>n[U]=he})})}else e.exposed||(e.exposed={});P&&e.render===dt&&(e.render=P),T!=null&&(e.inheritAttrs=T),C&&(e.components=C),x&&(e.directives=x)}function Mp(e,t,n=dt){re(e)&&(e=Js(e));for(const r in e){const o=e[r];let s;Ce(o)?"default"in o?s=De(o.from||r,o.default,!0):s=De(o.from||r):s=De(o),Se(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Ya(e,t,n){it(re(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Bu(e,t,n,r){const o=r.includes(".")?Su(n,r):()=>n[r];if(xe(e)){const s=t[e];ie(s)&&ge(o,s)}else if(ie(e))ge(o,e.bind(n));else if(Ce(e))if(re(e))e.forEach(s=>Bu(s,t,n,r));else{const s=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(s)&&ge(o,s,e)}}function ea(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,a=s.get(t);let c;return a?c=a:!o.length&&!n&&!r?c=t:(c={},o.length&&o.forEach(l=>Co(c,l,i,!0)),Co(c,t,i)),Ce(t)&&s.set(t,c),c}function Co(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Co(e,s,n,!0),o&&o.forEach(i=>Co(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=Np[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Np={data:Ga,props:Xa,emits:Xa,methods:lr,computed:lr,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:lr,directives:lr,watch:Hp,provide:Ga,inject:Dp};function Ga(e,t){return t?e?function(){return $e(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function Dp(e,t){return lr(Js(e),Js(t))}function Js(e){if(re(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(r&&r.proxy):t}}function zu(){return!!(ke||Me||Rr)}function Bp(e,t,n,r=!1){const o={},s={};yo(s,ts,1),e.propsDefaults=Object.create(null),Uu(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Qt(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Vp(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,a=me(o),[c]=e.propsOptions;let l=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[d,h]=Ku(f,t,!0);$e(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!c)return Ce(e)&&r.set(e,kn),kn;if(re(s))for(let u=0;u-1,h[1]=p<0||m-1||pe(h,"default"))&&a.push(f)}}}const l=[i,a];return Ce(e)&&r.set(e,l),l}function ec(e){return e[0]!=="$"}function tc(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function nc(e,t){return tc(e)===tc(t)}function rc(e,t){return re(t)?t.findIndex(n=>nc(n,e)):ie(t)&&nc(t,e)?0:-1}const Wu=e=>e[0]==="_"||e==="$stable",ta=e=>re(e)?e.map(ot):[ot(e)],zp=(e,t,n)=>{if(t._n)return t;const r=Je((...o)=>ta(t(...o)),n);return r._c=!1,r},qu=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Wu(o))continue;const s=e[o];if(ie(s))t[o]=zp(o,s,r);else if(s!=null){const i=ta(s);t[o]=()=>i}}},Qu=(e,t)=>{const n=ta(t);e.slots.default=()=>n},Up=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=me(t),yo(t,"_",n)):qu(t,e.slots={})}else e.slots={},t&&Qu(e,t);yo(e.slots,ts,1)},Kp=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Te;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:($e(o,t),!n&&a===1&&delete o._):(s=!t.$stable,qu(t,o)),i=t}else t&&(Qu(e,t),i={default:1});if(s)for(const a in o)!Wu(a)&&i[a]==null&&delete o[a]};function To(e,t,n,r,o=!1){if(re(e)){e.forEach((d,h)=>To(d,t&&(re(t)?t[h]:t),n,r,o));return}if(mn(r)&&!o)return;const s=r.shapeFlag&4?ns(r.component)||r.component.proxy:r.el,i=o?null:s,{i:a,r:c}=e,l=t&&t.r,u=a.refs===Te?a.refs={}:a.refs,f=a.setupState;if(l!=null&&l!==c&&(xe(l)?(u[l]=null,pe(f,l)&&(f[l]=null)):Se(l)&&(l.value=null)),ie(c))Jt(c,a,12,[i,u]);else{const d=xe(c),h=Se(c);if(d||h){const m=()=>{if(e.f){const p=d?pe(f,c)?f[c]:u[c]:c.value;o?re(p)&&ji(p,s):re(p)?p.includes(s)||p.push(s):d?(u[c]=[s],pe(f,c)&&(f[c]=u[c])):(c.value=[s],e.k&&(u[e.k]=c.value))}else d?(u[c]=i,pe(f,c)&&(f[c]=i)):h&&(c.value=i,e.k&&(u[e.k]=i))};i?(m.id=-1,Ne(m,n)):m()}}}let jt=!1;const Yr=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Gr=e=>e.nodeType===8;function Wp(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:a,insert:c,createComment:l}}=e,u=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),bo(),_._vnode=g;return}jt=!1,f(_.firstChild,g,null,null,null),bo(),_._vnode=g,jt&&console.error("Hydration completed but contains mismatches.")},f=(g,_,P,S,I,k=!1)=>{const H=Gr(g)&&g.data==="[",R=()=>p(g,_,P,S,I,H),{type:T,ref:C,shapeFlag:x,patchFlag:V}=_;let Q=g.nodeType;_.el=g,V===-2&&(k=!1,_.dynamicChildren=null);let B=null;switch(T){case Bn:Q!==3?_.children===""?(c(_.el=o(""),i(g),g),B=g):B=R():(g.data!==_.children&&(jt=!0,g.data=_.children),B=s(g));break;case Ke:v(g)?(B=s(g),b(_.el=g.content.firstChild,g,P)):Q!==8||H?B=R():B=s(g);break;case Hn:if(H&&(g=s(g),Q=g.nodeType),Q===1||Q===3){B=g;const J=!_.children.length;for(let U=0;U<_.staticCount;U++)J&&(_.children+=B.nodeType===1?B.outerHTML:B.data),U===_.staticCount-1&&(_.anchor=B),B=s(B);return H?s(B):B}else R();break;case Pe:H?B=m(g,_,P,S,I,k):B=R();break;default:if(x&1)(Q!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!v(g)?B=R():B=d(g,_,P,S,I,k);else if(x&6){_.slotScopeIds=I;const J=i(g);if(H?B=y(g):Gr(g)&&g.data==="teleport start"?B=y(g,g.data,"teleport end"):B=s(g),t(_,J,null,P,S,Yr(J),k),mn(_)){let U;H?(U=oe(Pe),U.anchor=B?B.previousSibling:J.lastChild):U=g.nodeType===3?Xn(""):oe("div"),U.el=g,_.component.subTree=U}}else x&64?Q!==8?B=R():B=_.type.hydrate(g,_,P,S,I,k,e,h):x&128&&(B=_.type.hydrate(g,_,P,S,Yr(i(g)),I,k,e,f))}return C!=null&&To(C,null,S,_),B},d=(g,_,P,S,I,k)=>{k=k||!!_.dynamicChildren;const{type:H,props:R,patchFlag:T,shapeFlag:C,dirs:x,transition:V}=_,Q=H==="input"&&x||H==="option";if(Q||T!==-1){if(x&&_t(_,null,P,"created"),R)if(Q||!k||T&48)for(const U in R)(Q&&U.endsWith("value")||Dr(U)&&!hr(U))&&r(g,U,null,R[U],!1,void 0,P);else R.onClick&&r(g,"onClick",null,R.onClick,!1,void 0,P);let B;(B=R&&R.onVnodeBeforeMount)&&qe(B,P,_);let J=!1;if(v(g)){J=Zu(S,V)&&P&&P.vnode.props&&P.vnode.props.appear;const U=g.content.firstChild;J&&V.beforeEnter(U),b(U,g,P),_.el=g=U}if(x&&_t(_,null,P,"beforeMount"),((B=R&&R.onVnodeMounted)||x||J)&&Au(()=>{B&&qe(B,P,_),J&&V.enter(g),x&&_t(_,null,P,"mounted")},S),C&16&&!(R&&(R.innerHTML||R.textContent))){let U=h(g.firstChild,_,g,P,S,I,k);for(;U;){jt=!0;const he=U;U=U.nextSibling,a(he)}}else C&8&&g.textContent!==_.children&&(jt=!0,g.textContent=_.children)}return g.nextSibling},h=(g,_,P,S,I,k,H)=>{H=H||!!_.dynamicChildren;const R=_.children,T=R.length;for(let C=0;C{const{slotScopeIds:H}=_;H&&(I=I?I.concat(H):H);const R=i(g),T=h(s(g),_,R,P,S,I,k);return T&&Gr(T)&&T.data==="]"?s(_.anchor=T):(jt=!0,c(_.anchor=l("]"),R,T),T)},p=(g,_,P,S,I,k)=>{if(jt=!0,_.el=null,k){const T=y(g);for(;;){const C=s(g);if(C&&C!==T)a(C);else break}}const H=s(g),R=i(g);return a(g),n(null,_,R,H,P,S,Yr(R),I),H},y=(g,_="[",P="]")=>{let S=0;for(;g;)if(g=s(g),g&&Gr(g)&&(g.data===_&&S++,g.data===P)){if(S===0)return s(g);S--}return g},b=(g,_,P)=>{const S=_.parentNode;S&&S.replaceChild(g,_);let I=P;for(;I;)I.vnode.el===_&&(I.vnode.el=I.subTree.el=g),I=I.parent},v=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[u,f]}const Ne=Au;function qp(e){return Ju(e)}function Qp(e){return Ju(e,Wp)}function Ju(e,t){const n=Fs();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:a,createComment:c,setText:l,setElementText:u,parentNode:f,nextSibling:d,setScopeId:h=dt,insertStaticContent:m}=e,p=(w,E,A,O=null,D=null,j=null,Z=!1,z=null,K=!!E.dynamicChildren)=>{if(w===E)return;w&&!ft(w,E)&&(O=$(w),we(w,D,j,!0),w=null),E.patchFlag===-2&&(K=!1,E.dynamicChildren=null);const{type:F,ref:te,shapeFlag:G}=E;switch(F){case Bn:y(w,E,A,O);break;case Ke:b(w,E,A,O);break;case Hn:w==null&&v(E,A,O,Z);break;case Pe:C(w,E,A,O,D,j,Z,z,K);break;default:G&1?P(w,E,A,O,D,j,Z,z,K):G&6?x(w,E,A,O,D,j,Z,z,K):(G&64||G&128)&&F.process(w,E,A,O,D,j,Z,z,K,W)}te!=null&&D&&To(te,w&&w.ref,j,E||w,!E)},y=(w,E,A,O)=>{if(w==null)r(E.el=a(E.children),A,O);else{const D=E.el=w.el;E.children!==w.children&&l(D,E.children)}},b=(w,E,A,O)=>{w==null?r(E.el=c(E.children||""),A,O):E.el=w.el},v=(w,E,A,O)=>{[w.el,w.anchor]=m(w.children,E,A,O,w.el,w.anchor)},g=({el:w,anchor:E},A,O)=>{let D;for(;w&&w!==E;)D=d(w),r(w,A,O),w=D;r(E,A,O)},_=({el:w,anchor:E})=>{let A;for(;w&&w!==E;)A=d(w),o(w),w=A;o(E)},P=(w,E,A,O,D,j,Z,z,K)=>{Z=Z||E.type==="svg",w==null?S(E,A,O,D,j,Z,z,K):H(w,E,D,j,Z,z,K)},S=(w,E,A,O,D,j,Z,z)=>{let K,F;const{type:te,props:G,shapeFlag:ne,transition:le,dirs:fe}=w;if(K=w.el=i(w.type,j,G&&G.is,G),ne&8?u(K,w.children):ne&16&&k(w.children,K,null,O,D,j&&te!=="foreignObject",Z,z),fe&&_t(w,null,O,"created"),I(K,w,w.scopeId,Z,O),G){for(const be in G)be!=="value"&&!hr(be)&&s(K,be,null,G[be],j,w.children,O,D,Re);"value"in G&&s(K,"value",null,G.value),(F=G.onVnodeBeforeMount)&&qe(F,O,w)}fe&&_t(w,null,O,"beforeMount");const Ee=Zu(D,le);Ee&&le.beforeEnter(K),r(K,E,A),((F=G&&G.onVnodeMounted)||Ee||fe)&&Ne(()=>{F&&qe(F,O,w),Ee&&le.enter(K),fe&&_t(w,null,O,"mounted")},D)},I=(w,E,A,O,D)=>{if(A&&h(w,A),O)for(let j=0;j{for(let F=K;F{const z=E.el=w.el;let{patchFlag:K,dynamicChildren:F,dirs:te}=E;K|=w.patchFlag&16;const G=w.props||Te,ne=E.props||Te;let le;A&&rn(A,!1),(le=ne.onVnodeBeforeUpdate)&&qe(le,A,E,w),te&&_t(E,w,A,"beforeUpdate"),A&&rn(A,!0);const fe=D&&E.type!=="foreignObject";if(F?R(w.dynamicChildren,F,z,A,O,fe,j):Z||U(w,E,z,null,A,O,fe,j,!1),K>0){if(K&16)T(z,E,G,ne,A,O,D);else if(K&2&&G.class!==ne.class&&s(z,"class",null,ne.class,D),K&4&&s(z,"style",G.style,ne.style,D),K&8){const Ee=E.dynamicProps;for(let be=0;be{le&&qe(le,A,E,w),te&&_t(E,w,A,"updated")},O)},R=(w,E,A,O,D,j,Z)=>{for(let z=0;z{if(A!==O){if(A!==Te)for(const z in A)!hr(z)&&!(z in O)&&s(w,z,A[z],null,Z,E.children,D,j,Re);for(const z in O){if(hr(z))continue;const K=O[z],F=A[z];K!==F&&z!=="value"&&s(w,z,F,K,Z,E.children,D,j,Re)}"value"in O&&s(w,"value",A.value,O.value)}},C=(w,E,A,O,D,j,Z,z,K)=>{const F=E.el=w?w.el:a(""),te=E.anchor=w?w.anchor:a("");let{patchFlag:G,dynamicChildren:ne,slotScopeIds:le}=E;le&&(z=z?z.concat(le):le),w==null?(r(F,A,O),r(te,A,O),k(E.children,A,te,D,j,Z,z,K)):G>0&&G&64&&ne&&w.dynamicChildren?(R(w.dynamicChildren,ne,A,D,j,Z,z),(E.key!=null||D&&E===D.subTree)&&na(w,E,!0)):U(w,E,A,te,D,j,Z,z,K)},x=(w,E,A,O,D,j,Z,z,K)=>{E.slotScopeIds=z,w==null?E.shapeFlag&512?D.ctx.activate(E,A,O,Z,K):V(E,A,O,D,j,Z,K):Q(w,E,K)},V=(w,E,A,O,D,j,Z)=>{const z=w.component=om(w,O,D);if(jr(w)&&(z.ctx.renderer=W),sm(z),z.asyncDep){if(D&&D.registerDep(z,B),!w.el){const K=z.subTree=oe(Ke);b(null,K,E,A)}return}B(z,w,E,A,D,j,Z)},Q=(w,E,A)=>{const O=E.component=w.component;if(fp(w,E,A))if(O.asyncDep&&!O.asyncResolved){J(O,E,A);return}else O.next=E,sp(O.update),O.update();else E.el=w.el,O.vnode=E},B=(w,E,A,O,D,j,Z)=>{const z=()=>{if(w.isMounted){let{next:te,bu:G,u:ne,parent:le,vnode:fe}=w,Ee=te,be;rn(w,!1),te?(te.el=fe.el,J(w,te,Z)):te=fe,G&&Ln(G),(be=te.props&&te.props.onVnodeBeforeUpdate)&&qe(be,le,te,fe),rn(w,!0);const Ie=ys(w),lt=w.subTree;w.subTree=Ie,p(lt,Ie,f(lt.el),$(lt),w,D,j),te.el=Ie.el,Ee===null&&Yi(w,Ie.el),ne&&Ne(ne,D),(be=te.props&&te.props.onVnodeUpdated)&&Ne(()=>qe(be,le,te,fe),D)}else{let te;const{el:G,props:ne}=E,{bm:le,m:fe,parent:Ee}=w,be=mn(E);if(rn(w,!1),le&&Ln(le),!be&&(te=ne&&ne.onVnodeBeforeMount)&&qe(te,Ee,E),rn(w,!0),G&&_e){const Ie=()=>{w.subTree=ys(w),_e(G,w.subTree,w,D,null)};be?E.type.__asyncLoader().then(()=>!w.isUnmounted&&Ie()):Ie()}else{const Ie=w.subTree=ys(w);p(null,Ie,A,O,w,D,j),E.el=Ie.el}if(fe&&Ne(fe,D),!be&&(te=ne&&ne.onVnodeMounted)){const Ie=E;Ne(()=>qe(te,Ee,Ie),D)}(E.shapeFlag&256||Ee&&mn(Ee.vnode)&&Ee.vnode.shapeFlag&256)&&w.a&&Ne(w.a,D),w.isMounted=!0,E=A=O=null}},K=w.effect=new zi(z,()=>Jo(F),w.scope),F=w.update=()=>K.run();F.id=w.uid,rn(w,!0),F()},J=(w,E,A)=>{E.component=w;const O=w.vnode.props;w.vnode=E,w.next=null,Vp(w,E.props,O,A),Kp(w,E.children,A),Jn(),Ka(),Zn()},U=(w,E,A,O,D,j,Z,z,K=!1)=>{const F=w&&w.children,te=w?w.shapeFlag:0,G=E.children,{patchFlag:ne,shapeFlag:le}=E;if(ne>0){if(ne&128){Oe(F,G,A,O,D,j,Z,z,K);return}else if(ne&256){he(F,G,A,O,D,j,Z,z,K);return}}le&8?(te&16&&Re(F,D,j),G!==F&&u(A,G)):te&16?le&16?Oe(F,G,A,O,D,j,Z,z,K):Re(F,D,j,!0):(te&8&&u(A,""),le&16&&k(G,A,O,D,j,Z,z,K))},he=(w,E,A,O,D,j,Z,z,K)=>{w=w||kn,E=E||kn;const F=w.length,te=E.length,G=Math.min(F,te);let ne;for(ne=0;nete?Re(w,D,j,!0,!1,G):k(E,A,O,D,j,Z,z,K,G)},Oe=(w,E,A,O,D,j,Z,z,K)=>{let F=0;const te=E.length;let G=w.length-1,ne=te-1;for(;F<=G&&F<=ne;){const le=w[F],fe=E[F]=K?Ut(E[F]):ot(E[F]);if(ft(le,fe))p(le,fe,A,null,D,j,Z,z,K);else break;F++}for(;F<=G&&F<=ne;){const le=w[G],fe=E[ne]=K?Ut(E[ne]):ot(E[ne]);if(ft(le,fe))p(le,fe,A,null,D,j,Z,z,K);else break;G--,ne--}if(F>G){if(F<=ne){const le=ne+1,fe=lene)for(;F<=G;)we(w[F],D,j,!0),F++;else{const le=F,fe=F,Ee=new Map;for(F=fe;F<=ne;F++){const Ye=E[F]=K?Ut(E[F]):ot(E[F]);Ye.key!=null&&Ee.set(Ye.key,F)}let be,Ie=0;const lt=ne-fe+1;let Tn=!1,$a=0;const tr=new Array(lt);for(F=0;F=lt){we(Ye,D,j,!0);continue}let gt;if(Ye.key!=null)gt=Ee.get(Ye.key);else for(be=fe;be<=ne;be++)if(tr[be-fe]===0&&ft(Ye,E[be])){gt=be;break}gt===void 0?we(Ye,D,j,!0):(tr[gt-fe]=F+1,gt>=$a?$a=gt:Tn=!0,p(Ye,E[gt],A,null,D,j,Z,z,K),Ie++)}const Ma=Tn?Jp(tr):kn;for(be=Ma.length-1,F=lt-1;F>=0;F--){const Ye=fe+F,gt=E[Ye],Na=Ye+1{const{el:j,type:Z,transition:z,children:K,shapeFlag:F}=w;if(F&6){Le(w.component.subTree,E,A,O);return}if(F&128){w.suspense.move(E,A,O);return}if(F&64){Z.move(w,E,A,W);return}if(Z===Pe){r(j,E,A);for(let G=0;Gz.enter(j),D);else{const{leave:G,delayLeave:ne,afterLeave:le}=z,fe=()=>r(j,E,A),Ee=()=>{G(j,()=>{fe(),le&&le()})};ne?ne(j,fe,Ee):Ee()}else r(j,E,A)},we=(w,E,A,O=!1,D=!1)=>{const{type:j,props:Z,ref:z,children:K,dynamicChildren:F,shapeFlag:te,patchFlag:G,dirs:ne}=w;if(z!=null&&To(z,null,A,w,!0),te&256){E.ctx.deactivate(w);return}const le=te&1&&ne,fe=!mn(w);let Ee;if(fe&&(Ee=Z&&Z.onVnodeBeforeUnmount)&&qe(Ee,E,w),te&6)mt(w.component,A,O);else{if(te&128){w.suspense.unmount(A,O);return}le&&_t(w,null,E,"beforeUnmount"),te&64?w.type.remove(w,E,A,D,W,O):F&&(j!==Pe||G>0&&G&64)?Re(F,E,A,!1,!0):(j===Pe&&G&384||!D&&te&16)&&Re(K,E,A),O&&ze(w)}(fe&&(Ee=Z&&Z.onVnodeUnmounted)||le)&&Ne(()=>{Ee&&qe(Ee,E,w),le&&_t(w,null,E,"unmounted")},A)},ze=w=>{const{type:E,el:A,anchor:O,transition:D}=w;if(E===Pe){nt(A,O);return}if(E===Hn){_(w);return}const j=()=>{o(A),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(w.shapeFlag&1&&D&&!D.persisted){const{leave:Z,delayLeave:z}=D,K=()=>Z(A,j);z?z(w.el,j,K):K()}else j()},nt=(w,E)=>{let A;for(;w!==E;)A=d(w),o(w),w=A;o(E)},mt=(w,E,A)=>{const{bum:O,scope:D,update:j,subTree:Z,um:z}=w;O&&Ln(O),D.stop(),j&&(j.active=!1,we(Z,w,E,A)),z&&Ne(z,E),Ne(()=>{w.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&w.asyncDep&&!w.asyncResolved&&w.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},Re=(w,E,A,O=!1,D=!1,j=0)=>{for(let Z=j;Zw.shapeFlag&6?$(w.component.subTree):w.shapeFlag&128?w.suspense.next():d(w.anchor||w.el),Y=(w,E,A)=>{w==null?E._vnode&&we(E._vnode,null,null,!0):p(E._vnode||null,w,E,null,null,null,A),Ka(),bo(),E._vnode=w},W={p,um:we,m:Le,r:ze,mt:V,mc:k,pc:U,pbc:R,n:$,o:e};let X,_e;return t&&([X,_e]=t(W)),{render:Y,hydrate:X,createApp:Fp(Y,X)}}function rn({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Zu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function na(e,t,n=!1){const r=e.children,o=t.children;if(re(r)&&re(o))for(let s=0;s>1,e[n[a]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}const Zp=e=>e.__isTeleport,mr=e=>e&&(e.disabled||e.disabled===""),oc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ys=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},Yp={__isTeleport:!0,process(e,t,n,r,o,s,i,a,c,l){const{mc:u,pc:f,pbc:d,o:{insert:h,querySelector:m,createText:p,createComment:y}}=l,b=mr(t.props);let{shapeFlag:v,children:g,dynamicChildren:_}=t;if(e==null){const P=t.el=p(""),S=t.anchor=p("");h(P,n,r),h(S,n,r);const I=t.target=Ys(t.props,m),k=t.targetAnchor=p("");I&&(h(k,I),i=i||oc(I));const H=(R,T)=>{v&16&&u(g,R,T,o,s,i,a,c)};b?H(n,S):I&&H(I,k)}else{t.el=e.el;const P=t.anchor=e.anchor,S=t.target=e.target,I=t.targetAnchor=e.targetAnchor,k=mr(e.props),H=k?n:S,R=k?P:I;if(i=i||oc(S),_?(d(e.dynamicChildren,_,H,o,s,i,a),na(e,t,!0)):c||f(e,t,H,R,o,s,i,a,!1),b)k?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xr(t,n,P,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const T=t.target=Ys(t.props,m);T&&Xr(t,T,null,l,0)}else k&&Xr(t,S,I,l,1)}Gu(t)},remove(e,t,n,r,{um:o,o:{remove:s}},i){const{shapeFlag:a,children:c,anchor:l,targetAnchor:u,target:f,props:d}=e;if(f&&s(u),i&&s(l),a&16){const h=i||!mr(d);for(let m=0;m0?st||kn:null,Xu(),Vn>0&&st&&st.push(e),e}function ue(e,t,n,r,o,s){return ef(se(e,t,n,r,o,s,!0))}function de(e,t,n,r,o){return ef(oe(e,t,n,r,o,!0))}function zn(e){return e?e.__v_isVNode===!0:!1}function ft(e,t){return e.type===t.type&&e.key===t.key}const ts="__vInternal",tf=({key:e})=>e??null,io=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Se(e)||ie(e)?{i:Me,r:e,k:t,f:!!n}:e:null);function se(e,t=null,n=null,r=0,o=null,s=e===Pe?0:1,i=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tf(t),ref:t&&io(t),scopeId:Yo,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Me};return a?(ra(c,n),s&128&&e.normalize(c)):n&&(c.shapeFlag|=xe(n)?8:16),Vn>0&&!i&&st&&(c.patchFlag>0||s&6)&&c.patchFlag!==32&&st.push(c),c}const oe=Xp;function Xp(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Cu)&&(e=Ke),zn(e)){const a=Lt(e,t,!0);return n&&ra(a,n),Vn>0&&!s&&st&&(a.shapeFlag&6?st[st.indexOf(e)]=a:st.push(a)),a.patchFlag|=-2,a}if(cm(e)&&(e=e.__vccOpts),t){t=nf(t);let{class:a,style:c}=t;a&&!xe(a)&&(t.class=je(a)),Ce(c)&&(fu(c)&&!re(c)&&(c=$e({},c)),t.style=Qn(c))}const i=xe(e)?1:Pu(e)?128:Zp(e)?64:Ce(e)?4:ie(e)?2:0;return se(e,t,n,r,o,i,s,!0)}function nf(e){return e?fu(e)||ts in e?$e({},e):e:null}function Lt(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:i}=e,a=t?tm(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&tf(a),ref:t&&t.ref?n&&o?re(o)?o.concat(io(t)):[o,io(t)]:io(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Pe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Lt(e.ssContent),ssFallback:e.ssFallback&&Lt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Xn(e=" ",t=0){return oe(Bn,null,e,t)}function em(e,t){const n=oe(Hn,null,e);return n.staticCount=t,n}function Fe(e="",t=!1){return t?(q(),de(Ke,null,e)):oe(Ke,null,e)}function ot(e){return e==null||typeof e=="boolean"?oe(Ke):re(e)?oe(Pe,null,e.slice()):typeof e=="object"?Ut(e):oe(Bn,null,String(e))}function Ut(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Lt(e)}function ra(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(re(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),ra(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(ts in t)?t._ctx=Me:o===3&&Me&&(Me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:Me},n=32):(t=String(t),r&64?(n=16,t=[Xn(t)]):n=8);e.children=t,e.shapeFlag|=n}function tm(...e){const t={};for(let n=0;nke||Me;let oa,Pn,ic="__VUE_INSTANCE_SETTERS__";(Pn=Fs()[ic])||(Pn=Fs()[ic]=[]),Pn.push(e=>ke=e),oa=e=>{Pn.length>1?Pn.forEach(t=>t(e)):Pn[0](e)};const Xt=e=>{oa(e),e.scope.on()},Zt=()=>{ke&&ke.scope.off(),oa(null)};function rf(e){return e.vnode.shapeFlag&4}let Un=!1;function sm(e,t=!1){Un=t;const{props:n,children:r}=e.vnode,o=rf(e);Bp(e,n,o,t),Up(e,r);const s=o?im(e,t):void 0;return Un=!1,s}function im(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=du(new Proxy(e.ctx,Op));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?sf(e):null;Xt(e),Jn();const s=Jt(r,e,0,[e.props,o]);if(Zn(),Zt(),Fi(s)){if(s.then(Zt,Zt),t)return s.then(i=>{Gs(e,i,t)}).catch(i=>{Yn(i,e,0)});e.asyncDep=s}else Gs(e,s,t)}else of(e,t)}function Gs(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.setupState=pu(t)),of(e,n)}let ac;function of(e,t,n){const r=e.type;if(!e.render){if(!t&&ac&&!r.render){const o=r.template||ea(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:c}=r,l=$e($e({isCustomElement:s,delimiters:a},i),c);r.render=ac(o,l)}}e.render=r.render||dt}{Xt(e),Jn();try{$p(e)}finally{Zn(),Zt()}}}function am(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Qe(e,"get","$attrs"),t[n]}}))}function sf(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return am(e)},slots:e.slots,emit:e.emit,expose:t}}function ns(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(pu(du(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pr)return pr[n](e)},has(t,n){return n in t||n in pr}}))}function Xs(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function cm(e){return ie(e)&&"__vccOpts"in e}const ee=(e,t)=>tp(e,t,Un);function et(e,t,n){const r=arguments.length;return r===2?Ce(t)&&!re(t)?zn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&zn(n)&&(n=[n]),oe(e,t,n))}const lm=Symbol.for("v-scx"),um=()=>De(lm),af="3.3.8",fm="http://www.w3.org/2000/svg",un=typeof document<"u"?document:null,cc=un&&un.createElement("template"),dm={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?un.createElementNS(fm,e):un.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>un.createTextNode(e),createComment:e=>un.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>un.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{cc.innerHTML=r?`${e}`:e;const a=cc.content;if(r){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ft="transition",nr="animation",Ir=Symbol("_vtc"),sa=(e,{slots:t})=>et(Tp,hm(e),t);sa.displayName="Transition";const cf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};sa.props=$e({},Iu,cf);const on=(e,t=[])=>{re(e)?e.forEach(n=>n(...t)):e&&e(...t)},lc=e=>e?re(e)?e.some(t=>t.length>1):e.length>1:!1;function hm(e){const t={};for(const C in e)C in cf||(t[C]=e[C]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:l=i,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=pm(o),p=m&&m[0],y=m&&m[1],{onBeforeEnter:b,onEnter:v,onEnterCancelled:g,onLeave:_,onLeaveCancelled:P,onBeforeAppear:S=b,onAppear:I=v,onAppearCancelled:k=g}=t,H=(C,x,V)=>{sn(C,x?u:a),sn(C,x?l:i),V&&V()},R=(C,x)=>{C._isLeaving=!1,sn(C,f),sn(C,h),sn(C,d),x&&x()},T=C=>(x,V)=>{const Q=C?I:v,B=()=>H(x,C,V);on(Q,[x,B]),uc(()=>{sn(x,C?c:s),Bt(x,C?u:a),lc(Q)||fc(x,r,p,B)})};return $e(t,{onBeforeEnter(C){on(b,[C]),Bt(C,s),Bt(C,i)},onBeforeAppear(C){on(S,[C]),Bt(C,c),Bt(C,l)},onEnter:T(!1),onAppear:T(!0),onLeave(C,x){C._isLeaving=!0;const V=()=>R(C,x);Bt(C,f),ym(),Bt(C,d),uc(()=>{C._isLeaving&&(sn(C,f),Bt(C,h),lc(_)||fc(C,r,y,V))}),on(_,[C,V])},onEnterCancelled(C){H(C,!1),on(g,[C])},onAppearCancelled(C){H(C,!0),on(k,[C])},onLeaveCancelled(C){R(C),on(P,[C])}})}function pm(e){if(e==null)return null;if(Ce(e))return[Cs(e.enter),Cs(e.leave)];{const t=Cs(e);return[t,t]}}function Cs(e){return Yl(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ir]||(e[Ir]=new Set)).add(t)}function sn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ir];n&&(n.delete(t),n.size||(e[Ir]=void 0))}function uc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let mm=0;function fc(e,t,n,r){const o=e._endId=++mm,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:a,propCount:c}=gm(e,t);if(!i)return r();const l=i+"end";let u=0;const f=()=>{e.removeEventListener(l,d),s()},d=h=>{h.target===e&&++u>=c&&f()};setTimeout(()=>{u(n[m]||"").split(", "),o=r(`${Ft}Delay`),s=r(`${Ft}Duration`),i=dc(o,s),a=r(`${nr}Delay`),c=r(`${nr}Duration`),l=dc(a,c);let u=null,f=0,d=0;t===Ft?i>0&&(u=Ft,f=i,d=s.length):t===nr?l>0&&(u=nr,f=l,d=c.length):(f=Math.max(i,l),u=f>0?i>l?Ft:nr:null,d=u?u===Ft?s.length:c.length:0);const h=u===Ft&&/\b(transform|all)(,|$)/.test(r(`${Ft}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:h}}function dc(e,t){for(;e.lengthhc(n)+hc(e[r])))}function hc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ym(){return document.body.offsetHeight}function _m(e,t,n){const r=e[Ir];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ia=Symbol("_vod"),vm={beforeMount(e,{value:t},{transition:n}){e[ia]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):rr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),rr(e,!0),r.enter(e)):r.leave(e,()=>{rr(e,!1)}):rr(e,t))},beforeUnmount(e,{value:t}){rr(e,t)}};function rr(e,t){e.style.display=t?e[ia]:"none"}function bm(e,t,n){const r=e.style,o=xe(n);if(n&&!o){if(t&&!xe(t))for(const s in t)n[s]==null&&ei(r,s,"");for(const s in n)ei(r,s,n[s])}else{const s=r.display;o?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),ia in e&&(r.display=s)}}const pc=/\s*!important$/;function ei(e,t,n){if(re(n))n.forEach(r=>ei(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=wm(e,t);pc.test(n)?e.setProperty(wn(r),n.replace(pc,""),"important"):e[r]=n}}const mc=["Webkit","Moz","ms"],Ts={};function wm(e,t){const n=Ts[t];if(n)return n;let r=wt(t);if(r!=="filter"&&r in e)return Ts[t]=r;r=Uo(r);for(let o=0;oPs||(Am.then(()=>Ps=0),Ps=Date.now());function Rm(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;it(Im(r,n.value),t,5,[r])};return n.value=e,n.attached=Sm(),n}function Im(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 vc=/^on[a-z]/,km=(e,t,n,r,o=!1,s,i,a,c)=>{t==="class"?_m(e,r,o):t==="style"?bm(e,n,r):Dr(t)?Hi(t)||Pm(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Om(e,t,r,o))?Cm(e,t,r,s,i,a,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Em(e,t,r,o))};function Om(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&vc.test(t)&&ie(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||vc.test(t)&&xe(n)?!1:t in e}function sx(e){const t=pt();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(s=>ni(s,o))},r=()=>{const o=e(t.proxy);ti(t.subTree,o),n(o)};bp(r),Nt(()=>{const o=new MutationObserver(r);o.observe(t.subTree.el.parentNode,{childList:!0}),Ar(()=>o.disconnect())})}function ti(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ti(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)ni(e.el,t);else if(e.type===Pe)e.children.forEach(n=>ti(n,t));else if(e.type===Hn){let{el:n,anchor:r}=e;for(;n&&(ni(n,t),n!==r);)n=n.nextSibling}}function ni(e,t){if(e.nodeType===1){const n=e.style;for(const r in t)n.setProperty(`--${r}`,t[r])}}const bc=e=>{const t=e.props["onUpdate:modelValue"]||!1;return re(t)?n=>Ln(t,n):t};function Lm(e){e.target.composing=!0}function wc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xs=Symbol("_assign"),$m={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[xs]=bc(o);const s=r||o.props&&o.props.type==="number";An(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=js(a)),e[xs](a)}),n&&An(e,"change",()=>{e.value=e.value.trim()}),t||(An(e,"compositionstart",Lm),An(e,"compositionend",wc),An(e,"change",wc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e[xs]=bc(s),e.composing||document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===t||(o||e.type==="number")&&js(e.value)===t))return;const i=t??"";e.value!==i&&(e.value=i)}},Mm=["ctrl","shift","alt","meta"],Nm={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)=>Mm.some(n=>e[`${n}Key`]&&!t.includes(n))},ur=(e,t)=>(n,...r)=>{for(let o=0;on=>{if(!("key"in n))return;const r=wn(n.key);if(t.some(o=>o===r||Dm[o]===r))return e(n)},lf=$e({patchProp:km},dm);let yr,Ec=!1;function Hm(){return yr||(yr=qp(lf))}function jm(){return yr=Ec?yr:Qp(lf),Ec=!0,yr}const Fm=(...e)=>{const t=Hm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=uf(r);if(!o)return;const s=t._component;!ie(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},Bm=(...e)=>{const t=jm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=uf(r);if(o)return n(o,!0,o instanceof SVGElement)},t};function uf(e){return xe(e)?document.querySelector(e):e}const Vm=/#/g,zm=/&/g,Um=/=/g,aa=/\+/g,Km=/%5e/gi,Wm=/%60/gi,qm=/%7c/gi,Qm=/%20/gi;function Jm(e){return encodeURI(""+e).replace(qm,"|")}function ri(e){return Jm(typeof e=="string"?e:JSON.stringify(e)).replace(aa,"%2B").replace(Qm,"+").replace(Vm,"%23").replace(zm,"%26").replace(Wm,"`").replace(Km,"^")}function Ss(e){return ri(e).replace(Um,"%3D")}function Po(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Zm(e){return Po(e.replace(aa," "))}function Ym(e){return Po(e.replace(aa," "))}function ff(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=Zm(r[1]);if(o==="__proto__"||o==="constructor")continue;const s=Ym(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 Gm(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Ss(e)}=${ri(n)}`).join("&"):`${Ss(e)}=${ri(t)}`:Ss(e)}function Xm(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>Gm(t,e[t])).filter(Boolean).join("&")}const eg=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,tg=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,ng=/^([/\\]\s*){2,}[^/\\]/;function en(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?eg.test(e):tg.test(e)||(t.acceptRelative?ng.test(e):!1)}const rg=/^[\s\0]*(blob|data|javascript|vbscript):$/i;function og(e){return!!e&&rg.test(e)}const sg=/\/$|\/\?/;function oi(e="",t=!1){return t?sg.test(e):e.endsWith("/")}function _n(e="",t=!1){if(!t)return(oi(e)?e.slice(0,-1):e)||"/";if(!oi(e,!0))return e||"/";const[n,...r]=e.split("?");return(n.slice(0,-1)||"/")+(r.length>0?`?${r.join("?")}`:"")}function xo(e="",t=!1){if(!t)return e.endsWith("/")?e:e+"/";if(oi(e,!0))return e||"/";const[n,...r]=e.split("?");return n+"/"+(r.length>0?`?${r.join("?")}`:"")}function ig(e=""){return e.startsWith("/")}function si(e=""){return ig(e)?e:"/"+e}function df(e,t){if(pf(t)||en(e))return e;const n=_n(t);return e.startsWith(n)?e:Cn(n,e)}function Cc(e,t){if(pf(t))return e;const n=_n(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function hf(e,t){const n=Fr(e),r={...ff(n.search),...t};return n.search=Xm(r),ug(n)}function pf(e){return!e||e==="/"}function ag(e){return e&&e!=="/"}const cg=/^\.?\//;function Cn(e,...t){let n=e||"";for(const r of t.filter(o=>ag(o)))if(n){const o=r.replace(cg,"");n=xo(n)+o}else n=r;return n}function lg(e,t,n={}){return n.trailingSlash||(e=xo(e),t=xo(t)),n.leadingSlash||(e=si(e),t=si(t)),n.encoding||(e=Po(e),t=Po(t)),e===t}function Fr(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/);if(n){const[,f,d=""]=n;return{protocol:f,pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!en(e,{acceptRelative:!0}))return t?Fr(t+e):Tc(e);const[,r="",o,s=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,i="",a=""]=s.match(/([^#/?]*)(.*)?/)||[],{pathname:c,search:l,hash:u}=Tc(a.replace(/\/(?=[A-Za-z]:)/,""));return{protocol:r,auth:o?o.slice(0,Math.max(0,o.length-1)):"",host:i,pathname:c,search:l,hash:u}}function Tc(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function ug(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 fg=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Ao=fg().app,dg=()=>Ao.baseURL,hg=()=>Ao.buildAssetsDir,ca=(...e)=>Cn(mf(),hg(),...e),mf=(...e)=>{const t=Ao.cdnURL||Ao.baseURL;return e.length?Cn(t,...e):t};globalThis.__buildAssetsURL=ca,globalThis.__publicAssetsURL=mf;const pg=/"(?:_|\\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*:/,mg=/"(?: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*:/,gg=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function yg(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){_g(e);return}return t}function _g(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function kr(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.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(!gg.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(pg.test(e)||mg.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,yg)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}class vg extends Error{constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!this.cause&&(this.cause=n.cause)}}function bg(e){var c,l,u,f,d;const t=((c=e.error)==null?void 0:c.message)||((l=e.error)==null?void 0:l.toString())||"",n=((u=e.request)==null?void 0:u.method)||((f=e.options)==null?void 0:f.method)||"GET",r=((d=e.request)==null?void 0:d.url)||String(e.request)||"/",o=`[${n}] ${JSON.stringify(r)}`,s=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${o}: ${s}${t?` ${t}`:""}`,a=new vg(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 wg=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function Pc(e="GET"){return wg.has(e.toUpperCase())}function Eg(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 Cg=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Tg=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Pg(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Tg.test(t)?"json":Cg.has(t)||t.startsWith("text/")?"text":"blob"}function xg(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 Ag=new Set([408,409,425,429,500,502,503,504]),Sg=new Set([101,204,205,304]);function gf(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function o(a){const c=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!c){let u;typeof a.options.retry=="number"?u=a.options.retry:u=Pc(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(u>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):Ag.has(f))){const d=a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),s(a.request,{...a.options,retry:u-1,timeout:a.options.timeout})}}const l=bg(a);throw Error.captureStackTrace&&Error.captureStackTrace(l,s),l}const s=async function(c,l={}){var d;const u={request:c,options:xg(l,e.defaults,n),response:void 0,error:void 0};if(u.options.method=(d=u.options.method)==null?void 0:d.toUpperCase(),u.options.onRequest&&await u.options.onRequest(u),typeof u.request=="string"&&(u.options.baseURL&&(u.request=df(u.request,u.options.baseURL)),(u.options.query||u.options.params)&&(u.request=hf(u.request,{...u.options.params,...u.options.query}))),u.options.body&&Pc(u.options.method)&&(Eg(u.options.body)?(u.options.body=typeof u.options.body=="string"?u.options.body:JSON.stringify(u.options.body),u.options.headers=new n(u.options.headers||{}),u.options.headers.has("content-type")||u.options.headers.set("content-type","application/json"),u.options.headers.has("accept")||u.options.headers.set("accept","application/json")):("pipeTo"in u.options.body&&typeof u.options.body.pipeTo=="function"||typeof u.options.body.pipe=="function")&&("duplex"in u.options||(u.options.duplex="half"))),!u.options.signal&&u.options.timeout){const h=new r;setTimeout(()=>h.abort(),u.options.timeout),u.options.signal=h.signal}try{u.response=await t(u.request,u.options)}catch(h){return u.error=h,u.options.onRequestError&&await u.options.onRequestError(u),await o(u)}if(u.response.body&&!Sg.has(u.response.status)&&u.options.method!=="HEAD"){const h=(u.options.parseResponse?"json":u.options.responseType)||Pg(u.response.headers.get("content-type")||"");switch(h){case"json":{const m=await u.response.text(),p=u.options.parseResponse||kr;u.response._data=p(m);break}case"stream":{u.response._data=u.response.body;break}default:u.response._data=await u.response[h]()}}return u.options.onResponse&&await u.options.onResponse(u),!u.options.ignoreResponseError&&u.response.status>=400&&u.response.status<600?(u.options.onResponseError&&await u.options.onResponseError(u),await o(u)):u.response},i=async function(c,l){return(await s(c,l))._data};return i.raw=s,i.native=(...a)=>t(...a),i.create=(a={})=>gf({...e,defaults:{...e.defaults,...a}}),i}const la=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")}(),Rg=la.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),Ig=la.Headers,kg=la.AbortController,Og=gf({fetch:Rg,Headers:Ig,AbortController:kg}),Lg=Og;globalThis.$fetch||(globalThis.$fetch=Lg.create({baseURL:dg()}));function ii(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?ii(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const $g={run:e=>e()},Mg=()=>$g,yf=typeof console.createTask<"u"?console.createTask:Mg;function Ng(e,t){const n=t.shift(),r=yf(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function Dg(e,t){const n=t.shift(),r=yf(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function Rs(e,t){for(const n of[...e])n(t)}class Hg{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=ii(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=ii(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Ng,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Dg,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 _f(){return new Hg}function jg(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let o;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?o=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>{if(o&&t===void 0){const i=o.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=s();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>s(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return o?o.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const c=()=>{t=i},l=()=>t===i?c:void 0;ai.add(l);try{const u=o?o.run(i,a):a();return n||(t=void 0),await u}finally{ai.delete(l)}}}}function Fg(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=jg({...e,...r})),t[n],t[n]}}}const So=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},xc="__unctx__",Bg=So[xc]||(So[xc]=Fg()),Vg=(e,t={})=>Bg.get(e,t),Ac="__unctx_async_handlers__",ai=So[Ac]||(So[Ac]=new Set);function Or(e){const t=[];for(const o of ai){const s=o();s&&t.push(s)}const n=()=>{for(const o of t)o()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(o=>{throw n(),o})),[r,n]}const vf=Vg("nuxt-app",{asyncContext:!1}),zg="__nuxt_plugin";function Ug(e){let t=0;const n={_scope:xh(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.8.1"},get vue(){return n.vueApp.version}},payload:tt({data:{},state:{},_errors:{},...window.__NUXT__??{}}),static:{data:{}},runWithContext:o=>n._scope.run(()=>bf(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=_f(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(o,s)=>{const i="$"+o;eo(n,i,s),eo(n.vueApp.config.globalProperties,i,s)},eo(n.vueApp,"$nuxt",n),eo(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener("nuxt.preloadError",s=>{n.callHook("app:chunkError",{error:s.payload})}),window.useNuxtApp=window.useNuxtApp||ye;const o=n.hook("app:error",(...s)=>{console.error("[nuxt] error caught during app initialization",...s)});n.hook("app:mounted",o)}const r=tt(n.payload.config);return n.provide("config",r),n}async function Kg(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 Wg(e,t){const n=[],r=[];for(const o of t){const s=Kg(e,o);o.parallel?n.push(s.catch(i=>r.push(i))):await s}if(await Promise.all(n),r.length)throw r[0]}/*! @__NO_SIDE_EFFECTS__ */function Be(e){return typeof e=="function"?e:(delete e.name,Object.assign(e.setup||(()=>{}),e,{[zg]:!0}))}function bf(e,t,n){const r=()=>n?t(...n):t();return vf.set(e),e.vueApp.runWithContext(r)}/*! @__NO_SIDE_EFFECTS__ */function ye(){var t;let e;if(zu()&&(e=(t=pt())==null?void 0:t.appContext.app.$nuxt),e=e||vf.tryUse(),!e)throw new Error("[nuxt] instance unavailable");return e}/*! @__NO_SIDE_EFFECTS__ */function Ze(){return ye().$config}function eo(e,t,n){Object.defineProperty(e,t,{get:()=>n})}const qg="modulepreload",Qg=function(e,t){return e[0]==="."?new URL(e,t).href:e},Sc={},Jg=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=Qg(s,r),s in Sc)return;Sc[s]=!0;const i=s.endsWith(".css"),a=i?'[rel="stylesheet"]':"";if(!!r)for(let u=o.length-1;u>=0;u--){const f=o[u];if(f.href===s&&(!i||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${a}`))return;const l=document.createElement("link");if(l.rel=i?"stylesheet":qg,i||(l.as="script",l.crossOrigin=""),l.href=s,document.head.appendChild(l),i)return new Promise((u,f)=>{l.addEventListener("load",u),l.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},L=(...e)=>Jg(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Zg=-1,Yg=-2,Gg=-3,Xg=-4,ey=-5,ty=-6;function ny(e,t){return ry(JSON.parse(e),t)}function ry(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===Zg)return;if(s===Gg)return NaN;if(s===Xg)return 1/0;if(s===ey)return-1/0;if(s===ty)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const a=n[s];if(!a||typeof a!="object")r[s]=a;else if(Array.isArray(a))if(typeof a[0]=="string"){const c=a[0],l=t==null?void 0:t[c];if(l)return r[s]=l(o(a[1]));switch(c){case"Date":r[s]=new Date(a[1]);break;case"Set":const u=new Set;r[s]=u;for(let h=1;h>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Rc(e){return e._h||ua(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function Ef(e,t){const{props:n,tag:r}=e;if(ay.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 Ic(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function ly(e,t,n){const r={tag:e,props:await Cf(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return wf.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent"].includes(o)||sy.includes(r.tag))&&(r[o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.props.children&&(r.innerHTML=r.props.children,delete r.props.children),r.tag==="script"&&(typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),r.innerHTML&&["application/ld+json","application/json"].includes(r.props.type)&&(r.innerHTML=r.innerHTML.replace(/({...r,props:{...r.props,content:o}})):r}function uy(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 Cf(e,t){for(const n of Object.keys(e)){if(n==="class"){e[n]=uy(e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!wf.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 fy=10;async function dy(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&iy.includes(n)).forEach(([n,r])=>{const o=oy(r);t.push(...o.map(s=>ly(n,s,e)).flat())}),(await Promise.all(t)).flat().filter(Boolean).map((n,r)=>(n._e=e._i,e.mode&&(n._m=e.mode),n._p=(e._i<c&&c[l]||void 0,t):a=t[i],typeof a<"u"?(a||"").replace(/"/g,'\\"'):!1}let o=e;try{o=decodeURI(e)}catch{}return(o.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(i=>{const a=r(i.slice(1));typeof a=="string"&&(e=e.replace(new RegExp(`\\${i}(\\W|$)`,"g"),(c,l)=>`${a}${l}`).trim())}),e.includes(Vt)&&(e.endsWith(Vt)&&(e=e.slice(0,-Vt.length).trim()),e.startsWith(Vt)&&(e=e.slice(Vt.length).trim()),e=e.replace(new RegExp(`\\${Vt}\\s*\\${Vt}`,"g"),Vt),e=co(e,{separator:n},n)),e}async function py(e){const t={tag:e.tagName.toLowerCase(),props:await Cf(e.getAttributeNames().reduce((n,r)=>({...n,[r]:e.getAttribute(r)}),{})),innerHTML:e.innerHTML};return t._d=Ef(t),t}async function Pf(e,t={}){var u;const n=t.document||e.resolvedOptions.document;if(!n)return;const r={shouldRender:e.dirty,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!r.shouldRender)return;const o=(await e.resolveTags()).map(f=>({tag:f,id:ao.includes(f.tag)?Rc(f):f.tag,shouldRender:!0}));let s=e._dom;if(!s){s={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const f of["body","head"]){const d=(u=n==null?void 0:n[f])==null?void 0:u.children;for(const h of[...d].filter(m=>ao.includes(m.tagName.toLowerCase())))s.elMap[h.getAttribute("data-hid")||Rc(await py(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 b=`attr:${p}`;if(p==="class")for(const v of(y||"").split(" ").filter(Boolean))m&&i(f,`${b}:${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,b,()=>d.removeAttribute(p))})}const c=[],l={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const f of o){const{tag:d,shouldRender:h,id:m}=f;if(h){if(d.tag==="title"){n.title=d.textContent;continue}f.$el=f.$el||s.elMap[m],f.$el?a(f):ao.includes(d.tag)&&c.push(f)}}for(const f of c){const d=f.tag.tagPosition||"head";f.$el=n.createElement(f.tag.tag),a(f),l[d]=l[d]||n.createDocumentFragment(),l[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);l.head&&n.head.appendChild(l.head),l.bodyOpen&&n.body.insertBefore(l.bodyOpen,n.body.firstChild),l.bodyClose&&n.body.appendChild(l.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function my(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await Pf(e,t),delete e._domUpdatePromise,r()}))}function gy(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){my(s,e)}}}}}const yy=["templateParams","htmlAttrs","bodyAttrs"],_y={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=Ef(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&&yy.includes(r.tag)&&(a="merge"),a==="merge"){const c=s.props;["class","style"].forEach(l=>{r.props[l]&&c[l]&&(l==="style"&&!c[l].endsWith(";")&&(c[l]+=";"),r.props[l]=`${c[l]} ${r.props[l]}`)}),t[o].props={...c,...r.props};return}else if(r._e===s._e){s._duped=s._duped||[],r._d=`${s._d}:${s._duped.length+1}`,s._duped.push(r);return}else if(Ro(r)>Ro(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(ao.includes(r.tag)&&i===0){delete t[o];return}t[o]=r});const n=[];Object.values(t).forEach(r=>{const o=r._duped;delete r._duped,n.push(r),o&&n.push(...o)}),e.tags=n,e.tags=e.tags.filter(r=>!(r.tag==="meta"&&(r.props.name||r.props.property)&&!r.props.content))}}},vy={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"}})}}},by=["script","link","bodyAttrs"];function wy(e){const t={},n={};return Object.entries(e.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"?(Tf.includes(r)&&(t[r]=`this.dataset.${r} = true`),n[r]=o):t[r]=o}),{props:t,eventHandlers:n}}const Ey=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags)if(by.includes(n.tag)){const{props:r,eventHandlers:o}=wy(n);n.props=r,Object.keys(o).length&&((n.props.src||n.props.href)&&(n.key=n.key||ua(n.props.src||n.props.href)),n._eventHandlers=o)}},"dom:renderTag":function(t,n,r){if(!t.tag._eventHandlers)return;const o=t.tag.tag==="bodyAttrs"?n.defaultView:t.$el;Object.entries(t.tag._eventHandlers).forEach(([s,i])=>{const a=`${t.tag._d||t.tag._p}:${s}`,c=s.slice(2).toLowerCase(),l=`data-h-${c}`;if(r(t.id,a,()=>{}),t.$el.hasAttribute(l))return;t.$el.setAttribute(l,"");let u;const f=d=>{i(d),u==null||u.disconnect()};s in t.$el.dataset?f(new Event(s.replace("on",""))):Tf.includes(s)&&typeof MutationObserver<"u"?(u=new MutationObserver(d=>{d.some(m=>m.attributeName===`data-${s}`)&&(f(new Event(s.replace("on",""))),u==null||u.disconnect())}),u.observe(t.$el,{attributes:!0})):o.addEventListener(c,f),r(t.id,a,()=>{u==null||u.disconnect(),o.removeEventListener(c,f),t.$el.removeAttribute(l)})})}}}),Cy=["link","style","script","noscript"],Ty={hooks:{"tag:normalise":({tag:e})=>{e.key&&Cy.includes(e.tag)&&(e.props["data-hid"]=e._h=ua(e.key))}}},Py={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 hy)for(const o of e.tags.filter(s=>typeof s.tagPriority=="string"&&s.tagPriority.startsWith(n))){const s=t(o.tagPriority.replace(n,""));typeof s<"u"&&(o._p=s+r)}e.tags.sort((n,r)=>n._p-r._p).sort((n,r)=>Ro(n)-Ro(r))}}},xy={meta:"content",link:"href",htmlAttrs:"lang"},Ay=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=co(s.pageTitle||r||"",s,i);for(const c of n.filter(l=>l.processTemplateParams!==!1)){const l=xy[c.tag];l&&typeof c.props[l]=="string"?c.props[l]=co(c.props[l],s,i):(c.processTemplateParams===!0||["titleTemplate","title"].includes(c.tag))&&["innerHTML","textContent"].forEach(u=>{typeof c[u]=="string"&&(c[u]=co(c[u],s,i))})}e._templateParams=s,e._separator=i,t.tags=n.filter(c=>c.tag!=="templateParams")}}}),Sy={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=Ic(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=Ic(t[n].textContent);o!==null&&(t[n].textContent=o,t[n].tag="title",n=-1)}n!==-1&&delete t[n],e.tags=t.filter(Boolean)}}};let xf;function Ry(e={}){const t=Iy(e);return t.use(gy()),xf=t}function Lc(e,t){return!e||e==="server"&&t||e==="client"&&!t}function Iy(e={}){const t=_f();t.addHooks(e.hooks||{}),e.document=e.document||(cy?document:void 0);const n=!e.document,r=()=>{a.dirty=!0,t.callHook("entries:updated",a)};let o=0,s=[];const i=[],a={plugins:i,dirty:!1,resolvedOptions:e,hooks:t,headEntries(){return s},use(c){const l=typeof c=="function"?c(a):c;(!l.key||!i.some(u=>u.key===l.key))&&(i.push(l),Lc(l.mode,n)&&t.addHooks(l.hooks||{}))},push(c,l){l==null||delete l.head;const u={_i:o++,input:c,...l};return Lc(u.mode,n)&&(s.push(u),r()),{dispose(){s=s.filter(f=>f._i!==u._i),t.callHook("entries:updated",a),r()},patch(f){s=s.map(d=>(d._i===u._i&&(d.input=u.input=f),d)),r()}}},async resolveTags(){const c={tags:[],entries:[...s]};await t.callHook("entries:resolve",c);for(const l of c.entries){const u=l.resolvedInput||l.input;if(l.resolvedInput=await(l.transform?l.transform(u):u),l.resolvedInput)for(const f of await dy(l)){const d={tag:f,entry:l,resolvedOptions:a.resolvedOptions};await t.callHook("tag:normalise",d),c.tags.push(d.tag)}}return await t.callHook("tags:beforeResolve",c),await t.callHook("tags:resolve",c),c.tags},ssr:n};return[_y,vy,Ey,Ty,Py,Ay,Sy,...(e==null?void 0:e.plugins)||[]].forEach(c=>a.use(c)),a.hooks.callHook("init",a),a}function ky(){return xf}const Oy=af.startsWith("3");function Ly(e){return typeof e=="function"?e():M(e)}function Io(e,t=""){if(e instanceof Promise)return e;const n=Ly(e);return!e||!n?n:Array.isArray(n)?n.map(r=>Io(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,M(o)]:[r,Io(o,r)])):n}const $y={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=Io(t.input)}}},Af="usehead";function My(e){return{install(n){Oy&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Af,e))}}.install}function Ny(e={}){e.domDelayFn=e.domDelayFn||(n=>Et(()=>setTimeout(()=>n(),0)));const t=Ry(e);return t.use($y),t.install=My(t),t}const ci=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},li="__unhead_injection_handler__";function Dy(e){ci[li]=e}function Hy(){if(li in ci)return ci[li]();const e=De(Af);return e||ky()}function Lr(e,t={}){const n=t.head||Hy();if(n)return n.ssr?n.push(e,t):jy(n,e,t)}function jy(e,t,n={}){const r=ce(!1),o=ce({});vp(()=>{o.value=r.value?{}:Io(t)});const s=e.push(o.value,n);return ge(o,a=>{s.patch(a)}),pt()&&(Gn(()=>{s.dispose()}),$u(()=>{r.value=!0}),Lu(()=>{r.value=!1})),s}const to=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Fy(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n={},o=(t||{}).decode||zy;let s=0;for(;sRf(t,e)}}function Sf(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,Sf(o)])):new Map(Object.entries(e[n]));return t}function Wy(e){return Ky(Sf(e))}function Rf(e,t){const n=[];for(const[o,s]of Mc(t.wildcard))e.startsWith(o)&&n.push(s);for(const[o,s]of Mc(t.dynamic))if(e.startsWith(o+"/")){const i="/"+e.slice(o.length).split("/").splice(2).join("/");n.push(...Rf(i,s))}const r=t.static.get(e);return r&&n.push(r),n.filter(Boolean)}function Mc(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function ui(e,t,n=".",r){if(!Is(t))return ui(e,{},n,r);const o=Object.assign({},t);for(const s in e){if(s==="__proto__"||s==="constructor")continue;const i=e[s];i!=null&&(r&&r(o,s,i,n)||(Array.isArray(i)&&Array.isArray(o[s])?o[s]=[...i,...o[s]]:Is(i)&&Is(o[s])?o[s]=ui(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function 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.toStringTag in e)&&!(Symbol.iterator in e)}function If(e){return(...t)=>t.reduce((n,r)=>ui(n,r,"",e),{})}const jn=If(),qy=If((e,t,n)=>{if(e[t]!==void 0&&typeof n=="function")return e[t]=n(e[t]),!0});function Qy(e,t){try{return t in e}catch{return!1}}var Jy=Object.defineProperty,Zy=(e,t,n)=>t in e?Jy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cn=(e,t,n)=>(Zy(e,typeof t!="symbol"?t+"":t,n),n);class fi extends Error{constructor(t,n={}){super(t,n),cn(this,"statusCode",500),cn(this,"fatal",!1),cn(this,"unhandled",!1),cn(this,"statusMessage"),cn(this,"data"),cn(this,"cause"),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:hi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=kf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}cn(fi,"__h3_error__",!0);function di(e){if(typeof e=="string")return new fi(e);if(Yy(e))return e;const t=new fi(e.message??e.statusMessage??"",{cause:e.cause||e});if(Qy(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=hi(e.statusCode,t.statusCode):e.status&&(t.statusCode=hi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;kf(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 Yy(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const Gy=/[^\u0009\u0020-\u007E]/g;function kf(e=""){return e.replace(Gy,"")}function hi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Xy=Symbol("layout-meta"),rs=Symbol("route"),os=()=>Qo(ye().payload,"error"),In=e=>{const t=ss(e);try{const n=ye(),r=os();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},e_=async(e={})=>{const t=ye(),n=os();t.callHook("app:error:cleared",e),e.redirect&&await ct().replace(e.redirect),n.value=null},t_=e=>!!(e&&typeof e=="object"&&"__nuxt_error"in e),ss=e=>{const t=di(e);return t.__nuxt_error=!0,t},ct=()=>{var e;return(e=ye())==null?void 0:e.$router},at=()=>zu()?De(rs,ye()._route):ye()._route;/*! @__NO_SIDE_EFFECTS__ */const n_=(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},r_=()=>{try{if(ye()._processingMiddleware)return!0}catch{return!0}return!1},Of=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:hf(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){{const{target:a="_blank",windowFeatures:c={}}=t.open,l=Object.entries(c).filter(([u,f])=>f!==void 0).map(([u,f])=>`${u.toLowerCase()}=${f}`).join(", ");open(n,a,l)}return Promise.resolve()}const r=(t==null?void 0:t.external)||en(n,{acceptRelative:!0});if(r){if(!(t!=null&&t.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const a=Fr(n).protocol;if(a&&og(a))throw new Error(`Cannot navigate to a URL with '${a}' protocol.`)}const o=r_();if(!r&&o)return e;const s=ct(),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)},o_={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}}},s_={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}}},i_={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},a_={},c_={nuxt:{buildId:"b316505b-8fe3-452b-913a-4d318aa3155b"}},l_=qy(o_,s_,i_,a_,c_);function fa(){const e=ye();return e._appConfig||(e._appConfig=tt(l_)),e._appConfig}const ix=!1,pi=!1,u_=!1,f_={componentName:"NuxtLink"},d_={deep:!0},h_="#__nuxt";let lo,Lf;function p_(){var t;const e=(t=fa().nuxt)==null?void 0:t.buildId;return lo=$fetch(ca(`builds/meta/${e}.json`)),lo.then(n=>{Lf=Wy(n.matcher)}),lo}function is(){return lo||p_()}async function $f(e){return await is(),jn({},...Lf.matchAll(e).reverse())}function Nc(e,t={}){const n=m_(e,t),r=ye(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=g_(e).then(s=>s?Mf(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const Dc="json";function m_(e,t={}){const n=new URL(e,"http://localhost");if(n.search)throw new Error("Payload URL cannot contain search params: "+e);if(n.host!=="localhost"||en(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():"");return Cn(Ze().app.baseURL,n.pathname,r?`_payload.${r}.${Dc}`:`_payload.${Dc}`)}async function Mf(e){const t=fetch(e).then(n=>n.text().then(Nf));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function g_(e=at().path){if((await is()).prerendered.includes(e))return!0;const n=await $f(e);return!!n.prerender&&!n.redirect}let no=null;async function y_(){if(no)return no;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=Nf(e.textContent||""),n=e.dataset.src?await Mf(e.dataset.src):void 0;return no={...t,...n,...window.__NUXT__},no}function Nf(e){return ny(e,ye()._payloadRevivers)}function __(e,t){ye()._payloadRevivers[e]=t}const Hc={NuxtError:e=>ss(e),EmptyShallowRef:e=>kt(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),EmptyRef:e=>ce(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),ShallowRef:e=>kt(e),ShallowReactive:e=>Qt(e),Ref:e=>ce(e),Reactive:e=>tt(e)},v_=Be({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in Hc)__(r,Hc[r]);Object.assign(e.payload,([t,n]=Or(()=>e.runWithContext(y_)),t=await t,n(),t)),window.__NUXT__=e.payload}}),b_=[],w_=Be({name:"nuxt:head",enforce:"pre",setup(e){const t=Ny({plugins:b_});Dy(()=>ye().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await Pf(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 Sn=typeof window<"u";function E_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ve=Object.assign;function ks(e,t){const n={};for(const r in t){const o=t[r];n[r]=ht(o)?o.map(e):e(o)}return n}const _r=()=>{},ht=Array.isArray,C_=/\/$/,T_=e=>e.replace(C_,"");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=S_(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function P_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function jc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function x_(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])&&Df(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 Df(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!A_(e[n],t[n]))return!1;return!0}function A_(e,t){return ht(e)?Fc(e,t):ht(t)?Fc(t,e):e===t}function Fc(e,t){return ht(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function S_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var $r;(function(e){e.pop="pop",e.push="push"})($r||($r={}));var vr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(vr||(vr={}));function R_(e){if(!e)if(Sn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),T_(e)}const I_=/^[^#]+#/;function k_(e,t){return e.replace(I_,"#")+t}function O_(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 as=()=>({left:window.pageXOffset,top:window.pageYOffset});function L_(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=O_(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 Bc(e,t){return(history.state?history.state.position-t:-1)+e}const mi=new Map;function $_(e,t){mi.set(e,t)}function M_(e){const t=mi.get(e);return mi.delete(e),t}let N_=()=>location.protocol+"//"+location.host;function Hf(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,c=o.slice(a);return c[0]!=="/"&&(c="/"+c),jc(c,"")}return jc(n,e)+r+o}function D_(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const h=Hf(e,location),m=n.value,p=t.value;let y=0;if(d){if(n.value=h,t.value=d,i&&i===m){i=null;return}y=p?d.position-p.position:0}else r(h);o.forEach(b=>{b(n.value,m,{delta:y,type:$r.pop,direction:y?y>0?vr.forward:vr.back:vr.unknown})})};function c(){i=n.value}function l(d){o.push(d);const h=()=>{const m=o.indexOf(d);m>-1&&o.splice(m,1)};return s.push(h),h}function u(){const{history:d}=window;d.state&&d.replaceState(ve({},d.state,{scroll:as()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:f}}function Vc(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?as():null}}function H_(e){const{history:t,location:n}=window,r={value:Hf(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(c,l,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:N_()+e+c;try{t[u?"replaceState":"pushState"](l,"",d),o.value=l}catch(h){console.error(h),n[u?"replace":"assign"](d)}}function i(c,l){const u=ve({},t.state,Vc(o.value.back,c,o.value.forward,!0),l,{position:o.value.position});s(c,u,!0),r.value=c}function a(c,l){const u=ve({},o.value,t.state,{forward:c,scroll:as()});s(u.current,u,!0);const f=ve({},Vc(r.value,c,null),{position:u.position+1},l);s(c,f,!1),r.value=c}return{location:r,state:o,push:a,replace:i}}function jf(e){e=R_(e);const t=H_(e),n=D_(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:k_.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 j_(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),jf(e)}function F_(e){return typeof e=="string"||e&&typeof e=="object"}function Ff(e){return typeof e=="string"||typeof e=="symbol"}const yt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Bf=Symbol("");var 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,[Bf]:!0},t)}function Ct(e,t){return e instanceof Error&&Bf in e&&(t==null||!!(e.type&t))}const Uc="[^/]+?",B_={sensitive:!1,strict:!1,start:!0,end:!0},V_=/[.+*?^${}()[\]/\\]/g;function z_(e,t){const n=ve({},B_,t),r=[];let o=n.start?"^":"";const s=[];for(const l of e){const u=l.length?[]:[90];n.strict&&!l.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function K_(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const W_={type:0,value:""},q_=/[a-zA-Z0-9_]/;function Q_(e){if(!e)return[[]];if(e==="/")return[[W_]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,c,l="",u="";function f(){l&&(n===0?s.push({type:0,value:l}):n===1||n===2||n===3?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{i(v)}:_r}function i(u){if(Ff(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function c(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Vf(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!qc(u)&&r.set(u.record.name,u)}function l(u,f){let d,h={},m,p;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw Wn(1,{location:u});p=d.record.name,h=ve(Wc(f.params,d.keys.filter(v=>!v.optional).map(v=>v.name)),u.params&&Wc(u.params,d.keys.map(v=>v.name))),m=d.stringify(h)}else if("path"in u)m=u.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:u,currentLocation:f});p=d.record.name,h=ve({},f.params,u.params),m=d.stringify(h)}const y=[];let b=d;for(;b;)y.unshift(b.record),b=b.parent;return{name:p,path:m,params:h,matched:y,meta:X_(y)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:l,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function Wc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Y_(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:G_(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 G_(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 qc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function X_(e){return e.reduce((t,n)=>ve(t,n.meta),{})}function Qc(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Vf(e,t){return t.children.some(n=>n===e||Vf(e,n))}const zf=/#/g,ev=/&/g,tv=/\//g,nv=/=/g,rv=/\?/g,Uf=/\+/g,ov=/%5B/g,sv=/%5D/g,Kf=/%5E/g,iv=/%60/g,Wf=/%7B/g,av=/%7C/g,qf=/%7D/g,cv=/%20/g;function da(e){return encodeURI(""+e).replace(av,"|").replace(ov,"[").replace(sv,"]")}function lv(e){return da(e).replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function gi(e){return da(e).replace(Uf,"%2B").replace(cv,"+").replace(zf,"%23").replace(ev,"%26").replace(iv,"`").replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function uv(e){return gi(e).replace(nv,"%3D")}function fv(e){return da(e).replace(zf,"%23").replace(rv,"%3F")}function dv(e){return e==null?"":fv(e).replace(tv,"%2F")}function ko(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function hv(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&gi(s)):[r&&gi(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function pv(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ht(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const mv=Symbol(""),Zc=Symbol(""),ha=Symbol(""),pa=Symbol(""),yi=Symbol("");function or(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Kt(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const c=f=>{f===!1?a(Wn(4,{from:n,to:t})):f instanceof Error?a(f):F_(f)?a(Wn(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},l=e.call(r&&r.instances[o],t,n,c);let u=Promise.resolve(l);e.length<3&&(u=u.then(c)),u.catch(f=>a(f))})}function Ls(e,t,n,r){const o=[];for(const s of e)for(const i in s.components){let a=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(gv(a)){const l=(a.__vccOpts||a)[t];l&&o.push(Kt(l,n,r,s,i))}else{let c=a();o.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const u=E_(l)?l.default:l;s.components[i]=u;const d=(u.__vccOpts||u)[t];return d&&Kt(d,n,r,s,i)()}))}}return o}function gv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Yc(e){const t=De(ha),n=De(pa),r=ee(()=>t.resolve(M(e.to))),o=ee(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(Kn.bind(null,u));if(d>-1)return d;const h=Gc(c[l-2]);return l>1&&Gc(u)===h&&f[f.length-1].path!==h?f.findIndex(Kn.bind(null,c[l-2])):d}),s=ee(()=>o.value>-1&&bv(n.params,r.value.params)),i=ee(()=>o.value>-1&&o.value===n.matched.length-1&&Df(n.params,r.value.params));function a(c={}){return vv(c)?t[M(e.replace)?"replace":"push"](M(e.to)).catch(_r):Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const yv=Ae({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Yc,setup(e,{slots:t}){const n=tt(Yc(e)),{options:r}=De(ha),o=ee(()=>({[Xc(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Xc(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:et("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),_v=yv;function vv(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 bv(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ht(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Gc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Xc=(e,t,n)=>e??t??n,wv=Ae({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=De(yi),o=ee(()=>e.route||r.value),s=De(Zc,0),i=ee(()=>{let l=M(s);const{matched:u}=o.value;let f;for(;(f=u[l])&&!f.components;)l++;return l}),a=ee(()=>o.value.matched[i.value]);Dn(Zc,ee(()=>i.value+1)),Dn(mv,a),Dn(yi,o);const c=ce();return ge(()=>[c.value,a.value,e.name],([l,u,f],[d,h,m])=>{u&&(u.instances[f]=l,h&&h!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),l&&u&&(!h||!Kn(u,h)||!d)&&(u.enterCallbacks[f]||[]).forEach(p=>p(l))},{flush:"post"}),()=>{const l=o.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return el(n.default,{Component:d,route:l});const h=f.props[u],m=h?h===!0?l.params:typeof h=="function"?h(l):h:null,y=et(d,ve({},m,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return el(n.default,{Component:y,route:l})||y}}});function el(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qf=wv;function Ev(e){const t=Z_(e.routes,e),n=e.parseQuery||hv,r=e.stringifyQuery||Jc,o=e.history,s=or(),i=or(),a=or(),c=kt(yt);let l=yt;Sn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ks.bind(null,$=>""+$),f=ks.bind(null,dv),d=ks.bind(null,ko);function h($,Y){let W,X;return Ff($)?(W=t.getRecordMatcher($),X=Y):X=$,t.addRoute(X,W)}function m($){const Y=t.getRecordMatcher($);Y&&t.removeRoute(Y)}function p(){return t.getRoutes().map($=>$.record)}function y($){return!!t.getRecordMatcher($)}function b($,Y){if(Y=ve({},Y||c.value),typeof $=="string"){const A=Os(n,$,Y.path),O=t.resolve({path:A.path},Y),D=o.createHref(A.fullPath);return ve(A,O,{params:d(O.params),hash:ko(A.hash),redirectedFrom:void 0,href:D})}let W;if("path"in $)W=ve({},$,{path:Os(n,$.path,Y.path).path});else{const A=ve({},$.params);for(const O in A)A[O]==null&&delete A[O];W=ve({},$,{params:f(A)}),Y.params=f(Y.params)}const X=t.resolve(W,Y),_e=$.hash||"";X.params=u(d(X.params));const w=P_(r,ve({},$,{hash:lv(_e),path:X.path})),E=o.createHref(w);return ve({fullPath:w,hash:_e,query:r===Jc?pv($.query):$.query||{}},X,{redirectedFrom:void 0,href:E})}function v($){return typeof $=="string"?Os(n,$,c.value.path):ve({},$)}function g($,Y){if(l!==$)return Wn(8,{from:Y,to:$})}function _($){return I($)}function P($){return _(ve(v($),{replace:!0}))}function S($){const Y=$.matched[$.matched.length-1];if(Y&&Y.redirect){const{redirect:W}=Y;let X=typeof W=="function"?W($):W;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=v(X):{path:X},X.params={}),ve({query:$.query,hash:$.hash,params:"path"in X?{}:$.params},X)}}function I($,Y){const W=l=b($),X=c.value,_e=$.state,w=$.force,E=$.replace===!0,A=S(W);if(A)return I(ve(v(A),{state:typeof A=="object"?ve({},_e,A.state):_e,force:w,replace:E}),Y||W);const O=W;O.redirectedFrom=Y;let D;return!w&&x_(r,X,W)&&(D=Wn(16,{to:O,from:X}),Le(X,X,!0,!1)),(D?Promise.resolve(D):R(O,X)).catch(j=>Ct(j)?Ct(j,2)?j:Oe(j):U(j,O,X)).then(j=>{if(j){if(Ct(j,2))return I(ve({replace:E},v(j.to),{state:typeof j.to=="object"?ve({},_e,j.to.state):_e,force:w}),Y||O)}else j=C(O,X,!0,E,_e);return T(O,X,j),j})}function k($,Y){const W=g($,Y);return W?Promise.reject(W):Promise.resolve()}function H($){const Y=nt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext($):$()}function R($,Y){let W;const[X,_e,w]=Cv($,Y);W=Ls(X.reverse(),"beforeRouteLeave",$,Y);for(const A of X)A.leaveGuards.forEach(O=>{W.push(Kt(O,$,Y))});const E=k.bind(null,$,Y);return W.push(E),Re(W).then(()=>{W=[];for(const A of s.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).then(()=>{W=Ls(_e,"beforeRouteUpdate",$,Y);for(const A of _e)A.updateGuards.forEach(O=>{W.push(Kt(O,$,Y))});return W.push(E),Re(W)}).then(()=>{W=[];for(const A of w)if(A.beforeEnter)if(ht(A.beforeEnter))for(const O of A.beforeEnter)W.push(Kt(O,$,Y));else W.push(Kt(A.beforeEnter,$,Y));return W.push(E),Re(W)}).then(()=>($.matched.forEach(A=>A.enterCallbacks={}),W=Ls(w,"beforeRouteEnter",$,Y),W.push(E),Re(W))).then(()=>{W=[];for(const A of i.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).catch(A=>Ct(A,8)?A:Promise.reject(A))}function T($,Y,W){a.list().forEach(X=>H(()=>X($,Y,W)))}function C($,Y,W,X,_e){const w=g($,Y);if(w)return w;const E=Y===yt,A=Sn?history.state:{};W&&(X||E?o.replace($.fullPath,ve({scroll:E&&A&&A.scroll},_e)):o.push($.fullPath,_e)),c.value=$,Le($,Y,W,E),Oe()}let x;function V(){x||(x=o.listen(($,Y,W)=>{if(!mt.listening)return;const X=b($),_e=S(X);if(_e){I(ve(_e,{replace:!0}),X).catch(_r);return}l=X;const w=c.value;Sn&&$_(Bc(w.fullPath,W.delta),as()),R(X,w).catch(E=>Ct(E,12)?E:Ct(E,2)?(I(E.to,X).then(A=>{Ct(A,20)&&!W.delta&&W.type===$r.pop&&o.go(-1,!1)}).catch(_r),Promise.reject()):(W.delta&&o.go(-W.delta,!1),U(E,X,w))).then(E=>{E=E||C(X,w,!1),E&&(W.delta&&!Ct(E,8)?o.go(-W.delta,!1):W.type===$r.pop&&Ct(E,20)&&o.go(-1,!1)),T(X,w,E)}).catch(_r)}))}let Q=or(),B=or(),J;function U($,Y,W){Oe($);const X=B.list();return X.length?X.forEach(_e=>_e($,Y,W)):console.error($),Promise.reject($)}function he(){return J&&c.value!==yt?Promise.resolve():new Promise(($,Y)=>{Q.add([$,Y])})}function Oe($){return J||(J=!$,V(),Q.list().forEach(([Y,W])=>$?W($):Y()),Q.reset()),$}function Le($,Y,W,X){const{scrollBehavior:_e}=e;if(!Sn||!_e)return Promise.resolve();const w=!W&&M_(Bc($.fullPath,0))||(X||!W)&&history.state&&history.state.scroll||null;return Et().then(()=>_e($,Y,w)).then(E=>E&&L_(E)).catch(E=>U(E,$,Y))}const we=$=>o.go($);let ze;const nt=new Set,mt={currentRoute:c,listening:!0,addRoute:h,removeRoute:m,hasRoute:y,getRoutes:p,resolve:b,options:e,push:_,replace:P,go:we,back:()=>we(-1),forward:()=>we(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:B.add,isReady:he,install($){const Y=this;$.component("RouterLink",_v),$.component("RouterView",Qf),$.config.globalProperties.$router=Y,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),Sn&&!ze&&c.value===yt&&(ze=!0,_(o.location).catch(_e=>{}));const W={};for(const _e in yt)Object.defineProperty(W,_e,{get:()=>c.value[_e],enumerable:!0});$.provide(ha,Y),$.provide(pa,Qt(W)),$.provide(yi,c);const X=$.unmount;nt.add($),$.unmount=function(){nt.delete($),nt.size<1&&(l=yt,x&&x(),x=null,c.value=yt,ze=!1,J=!1),X()}}};function Re($){return $.reduce((Y,W)=>Y.then(()=>H(W)),Promise.resolve())}return mt}function Cv(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iKn(l,a))?r.push(a):n.push(a));const c=e.matched[i];c&&(t.matched.find(l=>Kn(l,c))||o.push(c))}return[n,r,o]}function ax(){return De(pa)}const tl=[{name:"slug",path:"/:slug(.*)*",meta:{},alias:[],redirect:void 0,component:()=>L(()=>import("./document-driven.e18e82f7.js"),["./document-driven.e18e82f7.js","./DocumentDrivenEmpty.8740cc46.js","./ContentRenderer.eb54d0ce.js","./ContentRendererMarkdown.vue.35734f79.js","./DocumentDrivenNotFound.7f70560e.js","./ButtonLink.7229d6e8.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default||e)}],Tv={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}}}},Pv=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?et(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function nl(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 xv(e,t){return e===t?!1:nl(e)!==nl(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 Av={scrollBehavior(e,t,n){var l;const r=ye(),o=((l=ct().options)==null?void 0:l.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&xv(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:rl(e.hash),behavior:o}}const a=u=>!!(u.meta.pageTransition??pi),c=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(u=>{r.hooks.hookOnce(c,async()=>{await Et(),e.hash&&(s={el:e.hash,top:rl(e.hash),behavior:o}),u(s)})})}};function rl(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}const Sv={hashMode:!1,scrollBehaviorType:"auto"},We={...Sv,...Av,...Tv},Rv=async e=>{var c;let t,n;if(!((c=e.meta)!=null&&c.validate))return;const r=ye(),o=ct();if(([t,n]=Or(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=ss({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`}),a=o.beforeResolve(l=>{if(a(),l===e){const u=o.afterEach(async()=>{u(),await r.runWithContext(()=>In(i)),window.history.pushState({},"",e.fullPath)});return!1}})},Iv=async e=>{let t,n;const r=([t,n]=Or(()=>$f(e.path)),t=await t,n(),t);if(r.redirect)return r.redirect},kv=[Rv,Iv],br={};function Ov(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const l=s.includes(e.slice(i))?e.slice(i).length:1;let u=s.slice(l);return u[0]!=="/"&&(u="/"+u),Cc(u,"")}const a=Cc(r,e),c=!n||lg(a,n,{trailingSlash:!0})?a:n;return c+(c.includes("?")?"":o)+s}const Lv=Be({name:"nuxt:router",enforce:"pre",async setup(e){var p,y;let t,n,r=Ze().app.baseURL;We.hashMode&&!r.includes("#")&&(r+="#");const o=((p=We.history)==null?void 0:p.call(We,r))??(We.hashMode?j_(r):jf(r)),s=((y=We.routes)==null?void 0:y.call(We,tl))??tl;let i;const a=Ov(r,window.location,e.payload.path),c=Ev({...We,scrollBehavior:(b,v,g)=>{var _;if(v===yt){i=g;return}return c.options.scrollBehavior=We.scrollBehavior,(_=We.scrollBehavior)==null?void 0:_.call(We,b,yt,i||g)},history:o,routes:s});e.vueApp.use(c);const l=kt(c.currentRoute.value);c.afterEach((b,v)=>{l.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=kt(c.resolve(a)),f=()=>{u.value=c.currentRoute.value};e.hook("page:finish",f),c.afterEach((b,v)=>{var g,_,P,S;((_=(g=b.matched[0])==null?void 0:g.components)==null?void 0:_.default)===((S=(P=v.matched[0])==null?void 0:P.components)==null?void 0:S.default)&&f()});const d={};for(const b in u.value)Object.defineProperty(d,b,{get:()=>u.value[b]});e._route=Qt(d),e._middleware=e._middleware||{global:[],named:{}};const h=os();try{[t,n]=Or(()=>c.isReady()),await t,n()}catch(b){[t,n]=Or(()=>e.runWithContext(()=>In(b))),await t,n()}const m=e.payload.state._layout;return c.beforeEach(async(b,v)=>{var g;b.meta=tt(b.meta),e.isHydrating&&m&&!yn(b.meta.layout)&&(b.meta.layout=m),e._processingMiddleware=!0;{const _=new Set([...kv,...e._middleware.global]);for(const P of b.matched){const S=P.meta.middleware;if(S)if(Array.isArray(S))for(const I of S)_.add(I);else _.add(S)}for(const P of _){const S=typeof P=="string"?e._middleware.named[P]||await((g=br[P])==null?void 0:g.call(br).then(k=>k.default||k)):P;if(!S)throw new Error(`Unknown route middleware: '${P}'.`);const I=await e.runWithContext(()=>S(b,v));if(!e.payload.serverRendered&&e.isHydrating&&(I===!1||I instanceof Error)){const k=I||di({statusCode:404,statusMessage:`Page Not Found: ${a}`});return await e.runWithContext(()=>In(k)),!1}if(I!==!0&&(I||I===!1))return I}}}),c.onError(()=>{delete e._processingMiddleware}),c.afterEach(async(b,v,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(e_),b.matched.length===0&&await e.runWithContext(()=>In(di({statusCode:404,fatal:!1,statusMessage:`Page not found: ${b.fullPath}`})))}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(a),name:void 0,force:!0}),c.options.scrollBehavior=We.scrollBehavior}catch(b){await e.runWithContext(()=>In(b))}}),{provide:{router:c}}}}),_i=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),$v=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),cs=e=>{const t=ye();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{_i(e)}):_i(e)},Mv=Be({name:"nuxt:payload",setup(e){ct().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Nc(t.path);r&&Object.assign(e.static.data,r.data)}),cs(()=>{var t;e.hooks.hook("link:prefetch",async n=>{Fr(n).protocol||await Nc(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(is,1e3)})}}),Nv=N(()=>L(()=>import("./ChallengeV2Demo.9cce430c.js"),["./ChallengeV2Demo.9cce430c.js","./PrimaryButton.bdf5d038.js","./ChallengeV2.vue.945a3d0f.js","./component-v2.f92db7c5.js"],import.meta.url).then(e=>e.default)),Dv=N(()=>L(()=>import("./ChallengeV3Demo.49b7bdf6.js"),["./ChallengeV3Demo.49b7bdf6.js","./PrimaryButton.bdf5d038.js","./ChallengeV3.vue.3bc7c082.js"],import.meta.url).then(e=>e.default)),Hv=N(()=>L(()=>import("./CheckboxDemo.a7a2260d.js"),["./CheckboxDemo.a7a2260d.js","./ThemeButton.vue.29558d85.js","./Checkbox.vue.330c01f0.js","./component-v2.f92db7c5.js"],import.meta.url).then(e=>e.default)),jv=N(()=>L(()=>import("./IndexDemo.e7587c07.js"),["./IndexDemo.e7587c07.js","./Card.9f80de6f.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),Fv=N(()=>L(()=>import("./Mermaid.3853fc51.js"),["./Mermaid.3853fc51.js","./mermaid.core.0bf3cbc4.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),Bv=N(()=>L(()=>import("./PrimaryButton.bdf5d038.js"),[],import.meta.url).then(e=>e.default)),Vv=N(()=>L(()=>import("./ThemeButton.995ddac1.js"),["./ThemeButton.995ddac1.js","./ThemeButton.vue.29558d85.js"],import.meta.url).then(e=>e.default)),zv=N(()=>L(()=>import("./VeeValidateCheckbox.e9bbb76c.js"),["./VeeValidateCheckbox.e9bbb76c.js","./Checkbox.vue.330c01f0.js","./component-v2.f92db7c5.js","./PrimaryButton.bdf5d038.js","./index.esm.f4e6c2d4.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),Uv=N(()=>L(()=>import("./VeeValidateInvisible.42833583.js"),["./VeeValidateInvisible.42833583.js","./PrimaryButton.bdf5d038.js","./ChallengeV2.vue.945a3d0f.js","./component-v2.f92db7c5.js","./index.esm.f4e6c2d4.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),Kv=N(()=>L(()=>Promise.resolve().then(()=>kC),void 0,import.meta.url).then(e=>e.default)),Wv=N(()=>L(()=>Promise.resolve().then(()=>ZP),void 0,import.meta.url).then(e=>e.default)),qv=N(()=>L(()=>Promise.resolve().then(()=>VP),void 0,import.meta.url).then(e=>e.default)),Qv=N(()=>L(()=>Promise.resolve().then(()=>fC),void 0,import.meta.url).then(e=>e.default)),Jv=N(()=>L(()=>Promise.resolve().then(()=>CC),void 0,import.meta.url).then(e=>e.default)),Zv=N(()=>L(()=>Promise.resolve().then(()=>xC),void 0,import.meta.url).then(e=>e.default)),Yv=N(()=>L(()=>Promise.resolve().then(()=>ex),void 0,import.meta.url).then(e=>e.default)),Gv=N(()=>L(()=>Promise.resolve().then(()=>Ww),void 0,import.meta.url).then(e=>e.default)),Xv=N(()=>L(()=>Promise.resolve().then(()=>AP),void 0,import.meta.url).then(e=>e.default)),e0=N(()=>L(()=>Promise.resolve().then(()=>tC),void 0,import.meta.url).then(e=>e.default)),t0=N(()=>L(()=>import("./DocumentDrivenNotFound.7f70560e.js"),["./DocumentDrivenNotFound.7f70560e.js","./ButtonLink.7229d6e8.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default)),n0=N(()=>L(()=>import("./Ellipsis.c7dd1fb1.js"),["./Ellipsis.c7dd1fb1.js","./Ellipsis.96015b79.css"],import.meta.url).then(e=>e.default)),r0=N(()=>L(()=>Promise.resolve().then(()=>yC),void 0,import.meta.url).then(e=>e.default)),o0=N(()=>L(()=>Promise.resolve().then(()=>$P),void 0,import.meta.url).then(e=>e.default)),s0=N(()=>L(()=>import("./DocsAside.f25f8425.js"),["./DocsAside.f25f8425.js","./DocsAside.214f9128.css"],import.meta.url).then(e=>e.default)),i0=N(()=>L(()=>Promise.resolve().then(()=>aC),void 0,import.meta.url).then(e=>e.default)),a0=N(()=>L(()=>import("./DocsPageBottom.6b61d989.js"),["./DocsPageBottom.6b61d989.js","./ProseA.7ab7686c.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.5b812da4.js","./DocsPageBottom.995408e3.css"],import.meta.url).then(e=>e.default)),c0=N(()=>L(()=>import("./DocsPageLayout.d355e0e0.js"),["./DocsPageLayout.d355e0e0.js","./DocsAside.f25f8425.js","./DocsAside.214f9128.css","./ProseCodeInline.e4bd4193.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.6b61d989.js","./ProseA.7ab7686c.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.5b812da4.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.204f34a0.js","./DocsPrevNext.5cd1832c.css","./DocsToc.7c9520d8.js","./DocsTocLinks.4f56d0a1.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css"],import.meta.url).then(e=>e.default)),l0=N(()=>L(()=>import("./DocsPrevNext.204f34a0.js"),["./DocsPrevNext.204f34a0.js","./DocsPrevNext.5cd1832c.css"],import.meta.url).then(e=>e.default)),u0=N(()=>L(()=>import("./DocsToc.7c9520d8.js"),["./DocsToc.7c9520d8.js","./DocsTocLinks.4f56d0a1.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css"],import.meta.url).then(e=>e.default)),f0=N(()=>L(()=>import("./DocsTocLinks.4f56d0a1.js"),["./DocsTocLinks.4f56d0a1.js","./DocsTocLinks.18d3dd4c.css"],import.meta.url).then(e=>e.default)),d0=N(()=>L(()=>import("./EditOnLink.00f6c8e5.js"),["./EditOnLink.00f6c8e5.js","./EditOnLink.vue.5b812da4.js"],import.meta.url).then(e=>e.default)),h0=N(()=>L(()=>import("./SourceLink.4ee3b127.js"),["./SourceLink.4ee3b127.js","./ProseP.2754d50f.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),p0=N(()=>L(()=>import("./ProseA.7ab7686c.js"),["./ProseA.7ab7686c.js","./ProseA.3ccdc3d4.css"],import.meta.url).then(e=>e.default)),m0=N(()=>L(()=>import("./ProseBlockquote.7c863169.js"),["./ProseBlockquote.7c863169.js","./ProseBlockquote.9b44c541.css"],import.meta.url).then(e=>e.default)),g0=N(()=>L(()=>import("./ProseCode.8fb3ed8c.js"),["./ProseCode.8fb3ed8c.js","./ProseCode.4d67527c.css"],import.meta.url).then(e=>e.default)),y0=N(()=>L(()=>import("./ProseCodeInline.e4bd4193.js"),["./ProseCodeInline.e4bd4193.js","./ProseCodeInline.9cb11e30.css"],import.meta.url).then(e=>e.default)),_0=N(()=>L(()=>import("./ProseEm.c8f402ae.js"),["./ProseEm.c8f402ae.js","./ProseEm.f450adf9.css"],import.meta.url).then(e=>e.default)),v0=N(()=>L(()=>import("./ProseH1.09499c54.js"),["./ProseH1.09499c54.js","./ProseH1.947db9d1.css"],import.meta.url).then(e=>e.default)),b0=N(()=>L(()=>import("./ProseH2.e6d5934a.js"),["./ProseH2.e6d5934a.js","./ProseH2.7deacf3b.css"],import.meta.url).then(e=>e.default)),w0=N(()=>L(()=>import("./ProseH3.a36ecc78.js"),["./ProseH3.a36ecc78.js","./ProseH3.a54ffcda.css"],import.meta.url).then(e=>e.default)),E0=N(()=>L(()=>import("./ProseH4.e0f717bb.js"),["./ProseH4.e0f717bb.js","./ProseH4.c1de1bd7.css"],import.meta.url).then(e=>e.default)),C0=N(()=>L(()=>import("./ProseH5.462e6472.js"),["./ProseH5.462e6472.js","./ProseH5.c1fb54ee.css"],import.meta.url).then(e=>e.default)),T0=N(()=>L(()=>import("./ProseH6.f2787e88.js"),["./ProseH6.f2787e88.js","./ProseH6.ffba47c6.css"],import.meta.url).then(e=>e.default)),P0=N(()=>L(()=>import("./ProseHr.e160faff.js"),["./ProseHr.e160faff.js","./ProseHr.51d378cd.css"],import.meta.url).then(e=>e.default)),x0=N(()=>L(()=>import("./ProseImg.218dfca9.js"),["./ProseImg.218dfca9.js","./ProseImg.9ec4cf0b.css"],import.meta.url).then(e=>e.default)),A0=N(()=>L(()=>import("./ProseLi.03432c14.js"),["./ProseLi.03432c14.js","./ProseLi.56cd83cc.css"],import.meta.url).then(e=>e.default)),S0=N(()=>L(()=>import("./ProseOl.d6736659.js"),["./ProseOl.d6736659.js","./ProseOl.8e9c36b1.css"],import.meta.url).then(e=>e.default)),R0=N(()=>L(()=>import("./ProseP.2754d50f.js"),["./ProseP.2754d50f.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),I0=N(()=>L(()=>import("./ProseStrong.45353d00.js"),["./ProseStrong.45353d00.js","./ProseStrong.a14f2f4f.css"],import.meta.url).then(e=>e.default)),k0=N(()=>L(()=>import("./ProseTable.a73de42f.js"),["./ProseTable.a73de42f.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),O0=N(()=>L(()=>import("./ProseTbody.d1d2faec.js"),[],import.meta.url).then(e=>e.default)),L0=N(()=>L(()=>import("./ProseTd.84dc810f.js"),["./ProseTd.84dc810f.js","./ProseTd.8301ae56.css"],import.meta.url).then(e=>e.default)),$0=N(()=>L(()=>import("./ProseTh.3854d30b.js"),["./ProseTh.3854d30b.js","./ProseTh.366c0ecd.css"],import.meta.url).then(e=>e.default)),M0=N(()=>L(()=>import("./ProseThead.8f87b4e1.js"),["./ProseThead.8f87b4e1.js","./ProseThead.ff3d08af.css"],import.meta.url).then(e=>e.default)),N0=N(()=>L(()=>import("./ProseTr.c22b1a0f.js"),["./ProseTr.c22b1a0f.js","./ProseTr.16cbe189.css"],import.meta.url).then(e=>e.default)),D0=N(()=>L(()=>import("./ProseUl.186f054c.js"),["./ProseUl.186f054c.js","./ProseUl.c5b3f77f.css"],import.meta.url).then(e=>e.default)),H0=N(()=>L(()=>Promise.resolve().then(()=>Hw),void 0,import.meta.url).then(e=>e.default)),j0=N(()=>L(()=>import("./Badge.43c6f127.js"),["./Badge.43c6f127.js","./Badge.af82fbb4.css"],import.meta.url).then(e=>e.default)),F0=N(()=>L(()=>import("./ButtonLink.7229d6e8.js"),["./ButtonLink.7229d6e8.js","./ButtonLink.f5436705.css"],import.meta.url).then(e=>e.default)),B0=N(()=>L(()=>import("./Callout.f8d3c1a8.js"),["./Callout.f8d3c1a8.js","./Callout.07cf69f8.css"],import.meta.url).then(e=>e.default)),V0=N(()=>L(()=>import("./CodeBlock.618e269b.js"),["./CodeBlock.618e269b.js","./CodeBlock.991bd354.css"],import.meta.url).then(e=>e.default)),z0=N(()=>L(()=>import("./CodeGroup.7c68c8b9.js"),["./CodeGroup.7c68c8b9.js","./TabsHeader.a6f1ac79.js","./TabsHeader.a07a7b39.css","./CodeGroup.0e4e4f50.css"],import.meta.url).then(e=>e.default)),U0=N(()=>L(()=>Promise.resolve().then(()=>NP),void 0,import.meta.url).then(e=>e.default)),K0=N(()=>L(()=>import("./CopyButton.a7fbdba9.js"),[],import.meta.url).then(e=>e.default)),W0=N(()=>L(()=>import("./List.5f765a14.js"),["./List.5f765a14.js","./MDCSlot.dc621394.js","./List.df356ce6.css"],import.meta.url).then(e=>e.default)),q0=N(()=>L(()=>import("./NuxtImg.c6afbeab.js"),["./NuxtImg.c6afbeab.js","./NuxtImg.vue.a13fd3ea.js"],import.meta.url).then(e=>e.default)),Q0=N(()=>L(()=>import("./Props.74a8ff78.js"),["./Props.74a8ff78.js","./ProseTh.3854d30b.js","./ProseTh.366c0ecd.css","./ProseTr.c22b1a0f.js","./ProseTr.16cbe189.css","./ProseThead.8f87b4e1.js","./ProseThead.ff3d08af.css","./ProseCodeInline.e4bd4193.js","./ProseCodeInline.9cb11e30.css","./ProseTd.84dc810f.js","./ProseTd.8301ae56.css","./ProseTbody.d1d2faec.js","./ProseTable.a73de42f.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),J0=N(()=>L(()=>import("./Sandbox.109228c0.js"),["./Sandbox.109228c0.js","./TabsHeader.a6f1ac79.js","./TabsHeader.a07a7b39.css","./Sandbox.c3073fa3.css"],import.meta.url).then(e=>e.default)),Z0=N(()=>L(()=>import("./TabsHeader.a6f1ac79.js"),["./TabsHeader.a6f1ac79.js","./TabsHeader.a07a7b39.css"],import.meta.url).then(e=>e.default)),Y0=N(()=>L(()=>import("./Terminal.ce359b94.js"),["./Terminal.ce359b94.js","./Terminal.67df3c7d.css"],import.meta.url).then(e=>e.default)),G0=N(()=>L(()=>import("./VideoPlayer.b91c280c.js"),["./VideoPlayer.b91c280c.js","./NuxtImg.vue.a13fd3ea.js","./VideoPlayer.9ead91bb.css"],import.meta.url).then(e=>e.default)),X0=N(()=>L(()=>import("./IconCodeSandBox.01cc846f.js"),[],import.meta.url).then(e=>e.default)),eb=N(()=>L(()=>import("./IconDocus.de9ec246.js"),[],import.meta.url).then(e=>e.default)),tb=N(()=>L(()=>import("./IconNuxt.efc365bb.js"),[],import.meta.url).then(e=>e.default)),nb=N(()=>L(()=>import("./IconNuxtContent.efc365bb.js"),[],import.meta.url).then(e=>e.default)),rb=N(()=>L(()=>import("./IconNuxtLabs.d1b344b5.js"),[],import.meta.url).then(e=>e.default)),ob=N(()=>L(()=>import("./IconNuxtStudio.a13e6058.js"),["./IconNuxtStudio.a13e6058.js","./IconNuxtStudio.a5c35f12.css"],import.meta.url).then(e=>e.default)),sb=N(()=>L(()=>import("./IconStackBlitz.591ac3bf.js"),[],import.meta.url).then(e=>e.default)),ib=N(()=>L(()=>import("./IconVueTelescope.b4feb3a1.js"),[],import.meta.url).then(e=>e.default)),ab=N(()=>L(()=>import("./BlockHero.69ef09ba.js"),["./BlockHero.69ef09ba.js","./ButtonLink.7229d6e8.js","./ButtonLink.f5436705.css","./Terminal.ce359b94.js","./Terminal.67df3c7d.css","./VideoPlayer.b91c280c.js","./NuxtImg.vue.a13fd3ea.js","./VideoPlayer.9ead91bb.css","./BlockHero.48386f60.css"],import.meta.url).then(e=>e.default)),cb=N(()=>L(()=>import("./Card.9f80de6f.js"),["./Card.9f80de6f.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),lb=N(()=>L(()=>import("./CardGrid.188c9126.js"),["./CardGrid.188c9126.js","./CardGrid.3325d323.css"],import.meta.url).then(e=>e.default)),ub=N(()=>L(()=>import("./VoltaBoard.49ea757e.js"),["./VoltaBoard.49ea757e.js","./VoltaBoard.a5d6b336.css"],import.meta.url).then(e=>e.default)),fb=N(()=>L(()=>import("./ComponentPlayground.979300a8.js"),["./ComponentPlayground.979300a8.js","./ComponentPlaygroundData.3906b2ae.js","./TabsHeader.a6f1ac79.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.23c08a4e.js","./ProseH4.e0f717bb.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.e4bd4193.js","./ProseCodeInline.9cb11e30.css","./Badge.43c6f127.js","./Badge.af82fbb4.css","./ProseP.2754d50f.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.cda37fd0.js","./ComponentPlaygroundTokens.vue.2576bb8c.js","./ComponentPlaygroundData.a33f5743.css","./ComponentPlayground.ace5ef70.css"],import.meta.url).then(e=>e.default)),db=N(()=>L(()=>import("./ComponentPlaygroundData.3906b2ae.js"),["./ComponentPlaygroundData.3906b2ae.js","./TabsHeader.a6f1ac79.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.23c08a4e.js","./ProseH4.e0f717bb.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.e4bd4193.js","./ProseCodeInline.9cb11e30.css","./Badge.43c6f127.js","./Badge.af82fbb4.css","./ProseP.2754d50f.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.cda37fd0.js","./ComponentPlaygroundTokens.vue.2576bb8c.js","./ComponentPlaygroundData.a33f5743.css"],import.meta.url).then(e=>e.default)),hb=N(()=>L(()=>import("./ComponentPlaygroundProps.23c08a4e.js"),["./ComponentPlaygroundProps.23c08a4e.js","./ProseH4.e0f717bb.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.e4bd4193.js","./ProseCodeInline.9cb11e30.css","./Badge.43c6f127.js","./Badge.af82fbb4.css","./ProseP.2754d50f.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css"],import.meta.url).then(e=>e.default)),pb=N(()=>L(()=>import("./ComponentPlaygroundSlots.5c18deff.js"),["./ComponentPlaygroundSlots.5c18deff.js","./ComponentPlaygroundSlots.vue.cda37fd0.js"],import.meta.url).then(e=>e.default)),mb=N(()=>L(()=>import("./ComponentPlaygroundTokens.7b23e40b.js"),["./ComponentPlaygroundTokens.7b23e40b.js","./ComponentPlaygroundTokens.vue.2576bb8c.js"],import.meta.url).then(e=>e.default)),gb=N(()=>L(()=>import("./PreviewLayout.c3076fbe.js"),["./PreviewLayout.c3076fbe.js","./PreviewLayout.8b7fcbc8.css"],import.meta.url).then(e=>e.default)),yb=N(()=>L(()=>import("./TokensPlayground.c59df8d8.js"),[],import.meta.url).then(e=>e.default)),_b=N(()=>L(()=>import("./ContentDoc.a827aeda.js"),["./ContentDoc.a827aeda.js","./ContentRenderer.eb54d0ce.js","./ContentRendererMarkdown.vue.35734f79.js","./ContentQuery.3ce102e6.js"],import.meta.url).then(e=>e.default)),vb=N(()=>L(()=>import("./ContentList.39dc1835.js"),["./ContentList.39dc1835.js","./ContentQuery.3ce102e6.js"],import.meta.url).then(e=>e.default)),bb=N(()=>L(()=>import("./ContentNavigation.250350fe.js"),[],import.meta.url).then(e=>e.default)),wb=N(()=>L(()=>import("./ContentQuery.3ce102e6.js"),[],import.meta.url).then(e=>e.default)),Eb=N(()=>L(()=>import("./ContentRenderer.eb54d0ce.js"),["./ContentRenderer.eb54d0ce.js","./ContentRendererMarkdown.vue.35734f79.js"],import.meta.url).then(e=>e.default)),Cb=N(()=>L(()=>import("./ContentRendererMarkdown.832e3d2d.js"),["./ContentRendererMarkdown.832e3d2d.js","./ContentRendererMarkdown.vue.35734f79.js"],import.meta.url).then(e=>e.default)),Tb=N(()=>L(()=>import("./ContentSlot.89f8f243.js"),["./ContentSlot.89f8f243.js","./MDCSlot.dc621394.js"],import.meta.url).then(e=>e.default)),Pb=N(()=>L(()=>import("./DocumentDrivenEmpty.8740cc46.js"),[],import.meta.url).then(e=>e.default)),xb=N(()=>L(()=>import("./Markdown.38f64eea.js"),["./Markdown.38f64eea.js","./ContentSlot.89f8f243.js","./MDCSlot.dc621394.js"],import.meta.url).then(e=>e.default)),Ab=N(()=>L(()=>import("./ProsePre.ae2a09bd.js"),["./ProsePre.ae2a09bd.js","./ProseCode.8fb3ed8c.js","./ProseCode.4d67527c.css","./ProsePre.e63e49c6.css"],import.meta.url).then(e=>e.default)),Sb=N(()=>L(()=>import("./Checkbox.16145f77.js"),["./Checkbox.16145f77.js","./Checkbox.vue.330c01f0.js","./component-v2.f92db7c5.js"],import.meta.url).then(e=>e.default)),Rb=N(()=>L(()=>import("./ChallengeV2.155fd653.js"),["./ChallengeV2.155fd653.js","./ChallengeV2.vue.945a3d0f.js","./component-v2.f92db7c5.js"],import.meta.url).then(e=>e.default)),Ib=N(()=>L(()=>import("./ChallengeV3.a244e7ca.js"),["./ChallengeV3.a244e7ca.js","./ChallengeV3.vue.3bc7c082.js"],import.meta.url).then(e=>e.default)),kb=N(()=>L(()=>Promise.resolve().then(()=>XE),void 0,import.meta.url).then(e=>e.default)),Ob=N(()=>L(()=>import("./IconCSS.9a25cf43.js"),["./IconCSS.9a25cf43.js","./IconCSS.23e2cb26.css"],import.meta.url).then(e=>e.default)),Lb=[["ChallengeV2Demo",Nv],["ChallengeV3Demo",Dv],["CheckboxDemo",Hv],["IndexDemo",jv],["Mermaid",Fv],["PrimaryButton",Bv],["ThemeButton",Vv],["VeeValidateCheckbox",zv],["VeeValidateInvisible",Uv],["AppDocSearch",Kv],["AppFooter",Wv],["AppHeader",qv],["AppHeaderDialog",Qv],["AppHeaderLogo",Jv],["AppHeaderNavigation",Zv],["AppLayout",Yv],["AppLoadingBar",Gv],["AppSearch",Xv],["AppSocialIcons",e0],["DocumentDrivenNotFound",t0],["Ellipsis",n0],["Logo",r0],["ThemeSelect",o0],["DocsAside",s0],["DocsAsideTree",i0],["DocsPageBottom",a0],["DocsPageLayout",c0],["DocsPrevNext",l0],["DocsToc",u0],["DocsTocLinks",f0],["EditOnLink",d0],["SourceLink",h0],["ProseA",p0],["ProseBlockquote",m0],["ProseCode",g0],["ProseCodeInline",y0],["ProseEm",_0],["ProseH1",v0],["ProseH2",b0],["ProseH3",w0],["ProseH4",E0],["ProseH5",C0],["ProseH6",T0],["ProseHr",P0],["ProseImg",x0],["ProseLi",A0],["ProseOl",S0],["ProseP",R0],["ProseStrong",I0],["ProseTable",k0],["ProseTbody",O0],["ProseTd",L0],["ProseTh",$0],["ProseThead",M0],["ProseTr",N0],["ProseUl",D0],["Alert",H0],["Badge",j0],["ButtonLink",F0],["Callout",B0],["CodeBlock",V0],["CodeGroup",z0],["Container",U0],["CopyButton",K0],["List",W0],["NuxtImg",q0],["Props",Q0],["Sandbox",J0],["TabsHeader",Z0],["Terminal",Y0],["VideoPlayer",G0],["IconCodeSandBox",X0],["IconDocus",eb],["IconNuxt",tb],["IconNuxtContent",nb],["IconNuxtLabs",rb],["IconNuxtStudio",ob],["IconStackBlitz",sb],["IconVueTelescope",ib],["BlockHero",ab],["Card",cb],["CardGrid",lb],["VoltaBoard",ub],["ComponentPlayground",fb],["ComponentPlaygroundData",db],["ComponentPlaygroundProps",hb],["ComponentPlaygroundSlots",pb],["ComponentPlaygroundTokens",mb],["PreviewLayout",gb],["TokensPlayground",yb],["ContentDoc",_b],["ContentList",vb],["ContentNavigation",bb],["ContentQuery",wb],["ContentRenderer",Eb],["ContentRendererMarkdown",Cb],["MDCSlot",Tb],["DocumentDrivenEmpty",Pb],["Markdown",xb],["ProsePre",Ab],["RecaptchaCheckbox",Sb],["RecaptchaChallengeV2",Rb],["RecaptchaChallengeV3",Ib],["Icon",kb],["IconCSS",Ob]],$b=Be({name:"nuxt:global-components",setup(e){for(const[t,n]of Lb)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),fr={default:()=>L(()=>import("./default.b29feca1.js"),["./default.b29feca1.js","./DocsPageLayout.d355e0e0.js","./DocsAside.f25f8425.js","./DocsAside.214f9128.css","./ProseCodeInline.e4bd4193.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.6b61d989.js","./ProseA.7ab7686c.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.5b812da4.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.204f34a0.js","./DocsPrevNext.5cd1832c.css","./DocsToc.7c9520d8.js","./DocsTocLinks.4f56d0a1.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css","./mermaid.core.0bf3cbc4.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default||e),page:()=>L(()=>import("./page.952890e5.js"),["./page.952890e5.js","./page.6f89b326.css"],import.meta.url).then(e=>e.default||e)},Mb=Be({name:"nuxt:prefetch",setup(e){const t=ct();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof fr[r]=="function"&&await fr[r]()})}),e.hooks.hook("link:prefetch",n=>{var i,a,c,l;if(en(n))return;const r=t.resolve(n);if(!r)return;const o=(i=r==null?void 0:r.meta)==null?void 0:i.layout;let s=Array.isArray((a=r==null?void 0:r.meta)==null?void 0:a.middleware)?(c=r==null?void 0:r.meta)==null?void 0:c.middleware:[(l=r==null?void 0:r.meta)==null?void 0:l.middleware];s=s.filter(u=>typeof u=="string");for(const u of s)typeof br[u]=="function"&&br[u]();o&&typeof fr[o]=="function"&&fr[o]()})}}),Nb=["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"],Db=/\d/,Hb=["-","_","/","."];function jb(e=""){if(!Db.test(e))return e.toUpperCase()===e}function Jf(e,t){const n=t??Hb,r=[];if(!e||typeof e!="string")return r;let o="",s,i;for(const a of e){const c=n.includes(a);if(c===!0){r.push(o),o="",s=void 0;continue}const l=jb(a);if(i===!1){if(s===!1&&l===!0){r.push(o),o=a,s=l;continue}if(s===!0&&l===!1&&o.length>1){const u=o[o.length-1];r.push(o.slice(0,Math.max(0,o.length-1))),o=u+a,s=l;continue}}o+=a,s=l,i=c}return r.push(o),r}function Fb(e){return e?e[0].toUpperCase()+e.slice(1):""}function Bb(e){return e?(Array.isArray(e)?e:Jf(e)).map(t=>Fb(t)).join(""):""}function vi(e,t){return e?(Array.isArray(e)?e:Jf(e)).map(n=>n.toLowerCase()).join(t??"-"):""}function Vb(...e){var h;const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);let[n,r,o={}]=e;if(typeof n!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof r!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=ye(),i=()=>null,a=()=>s.isHydrating?s.payload.data[n]:s.static.data[n];o.server=o.server??!0,o.default=o.default??i,o.getCachedData=o.getCachedData??a,o.lazy=o.lazy??!1,o.immediate=o.immediate??!0,o.deep=o.deep??d_.deep;const c=()=>![null,void 0].includes(o.getCachedData(n));if(!s._asyncData[n]||!o.immediate){(h=s.payload._errors)[n]??(h[n]=null);const m=o.deep?ce:kt;s._asyncData[n]={data:m(o.getCachedData(n)??o.default()),pending:ce(!c()),error:Qo(s.payload._errors,n),status:ce("idle")}}const l={...s._asyncData[n]};l.refresh=l.execute=(m={})=>{if(s._asyncDataPromises[n]){if(m.dedupe===!1)return s._asyncDataPromises[n];s._asyncDataPromises[n].cancelled=!0}if((m._initial||s.isHydrating&&m._initial!==!1)&&c())return Promise.resolve(o.getCachedData(n));l.pending.value=!0,l.status.value="pending";const p=new Promise((y,b)=>{try{y(r(s))}catch(v){b(v)}}).then(y=>{if(p.cancelled)return s._asyncDataPromises[n];let b=y;o.transform&&(b=o.transform(y)),o.pick&&(b=Ub(b,o.pick)),l.data.value=b,l.error.value=null,l.status.value="success"}).catch(y=>{if(p.cancelled)return s._asyncDataPromises[n];l.error.value=y,l.data.value=M(o.default()),l.status.value="error"}).finally(()=>{p.cancelled||(l.pending.value=!1,s.payload.data[n]=l.data.value,l.error.value&&(s.payload._errors[n]=ss(l.error.value)),delete s._asyncDataPromises[n])});return s._asyncDataPromises[n]=p,s._asyncDataPromises[n]};const u=()=>l.refresh({_initial:!0}),f=o.server!==!1&&s.payload.serverRendered;{const m=pt();if(m&&!m._nuxtOnBeforeMountCbs){m._nuxtOnBeforeMountCbs=[];const y=m._nuxtOnBeforeMountCbs;m&&(Nu(()=>{y.forEach(b=>{b()}),y.splice(0,y.length)}),Ar(()=>y.splice(0,y.length)))}f&&s.isHydrating&&(l.error.value||c())?(l.pending.value=!1,l.status.value=l.error.value?"error":"success"):m&&(s.payload.serverRendered&&s.isHydrating||o.lazy)&&o.immediate?m._nuxtOnBeforeMountCbs.push(u):o.immediate&&u(),o.watch&&ge(o.watch,()=>l.refresh());const p=s.hook("app:data:refresh",async y=>{(!y||y.includes(n))&&await l.refresh()});m&&Ar(p)}const d=Promise.resolve(s._asyncDataPromises[n]).then(()=>l);return Object.assign(d,l),d}function zb(...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 Vb(n,r,{...o,lazy:!0},null)}async function cx(e){await new Promise(n=>cs(n));const t=e?Array.isArray(e)?e:[e]:void 0;await ye().hooks.callHookParallel("app:data:refresh",t)}function Ub(e,t){const n={};for(const r of t)n[r]=e[r];return n}const Kb="$s";function Rt(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const o=Kb+n,s=ye(),i=Qo(s.payload.state,o);if(i.value===void 0&&r){const a=r();if(Se(a))return s.payload.state[o]=a,a;i.value=a}return i}const ol=Object.freeze({ignoreUnknown:!1,respectType:!1,respectFunctionNames:!1,respectFunctionProperties:!1,unorderedObjects:!0,unorderedArrays:!1,unorderedSets:!1,excludeKeys:void 0,excludeValues:void 0,replacer:void 0});function Wb(e,t){t?t={...ol,...t}:t=ol;const n=Zf(t);return n.dispatch(e),n.toString()}const qb=Object.freeze(["prototype","__proto__","constructor"]);function Zf(e){let t="",n=new Map;const r=o=>{t+=o};return{toString(){return t},getContext(){return n},dispatch(o){return e.replacer&&(o=e.replacer(o)),this[o===null?"null":typeof o](o)},object(o){if(o&&typeof o.toJSON=="function")return this.object(o.toJSON());const s=Object.prototype.toString.call(o);let i="";const a=s.length;a<10?i="unknown:["+s+"]":i=s.slice(8,a-1),i=i.toLowerCase();let c=null;if((c=n.get(o))===void 0)n.set(o,n.size);else return this.dispatch("[CIRCULAR:"+c+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(o))return r("buffer:"),r(o.toString("utf8"));if(i!=="object"&&i!=="function"&&i!=="asyncfunction")this[i]?this[i](o):e.ignoreUnknown||this.unkown(o,i);else{let l=Object.keys(o);e.unorderedObjects&&(l=l.sort());let u=[];e.respectType!==!1&&!sl(o)&&(u=qb),e.excludeKeys&&(l=l.filter(d=>!e.excludeKeys(d)),u=u.filter(d=>!e.excludeKeys(d))),r("object:"+(l.length+u.length)+":");const f=d=>{this.dispatch(d),r(":"),e.excludeValues||this.dispatch(o[d]),r(",")};for(const d of l)f(d);for(const d of u)f(d)}},array(o,s){if(s=s===void 0?e.unorderedArrays!==!1:s,r("array:"+o.length+":"),!s||o.length<=1){for(const c of o)this.dispatch(c);return}const i=new Map,a=o.map(c=>{const l=Zf(e);l.dispatch(c);for(const[u,f]of l.getContext())i.set(u,f);return l.toString()});return n=i,a.sort(),this.array(a,!1)},date(o){return r("date:"+o.toJSON())},symbol(o){return r("symbol:"+o.toString())},unkown(o,s){if(r(s),!!o&&(r(":"),o&&typeof o.entries=="function"))return this.array(Array.from(o.entries()),!0)},error(o){return r("error:"+o.toString())},boolean(o){return r("bool:"+o)},string(o){r("string:"+o.length+":"),r(o)},function(o){r("fn:"),sl(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 + */const Sn=typeof window<"u";function E_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ve=Object.assign;function ks(e,t){const n={};for(const r in t){const o=t[r];n[r]=ht(o)?o.map(e):e(o)}return n}const _r=()=>{},ht=Array.isArray,C_=/\/$/,T_=e=>e.replace(C_,"");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=S_(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function P_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function jc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function x_(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])&&Df(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 Df(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!A_(e[n],t[n]))return!1;return!0}function A_(e,t){return ht(e)?Fc(e,t):ht(t)?Fc(t,e):e===t}function Fc(e,t){return ht(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function S_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var $r;(function(e){e.pop="pop",e.push="push"})($r||($r={}));var vr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(vr||(vr={}));function R_(e){if(!e)if(Sn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),T_(e)}const I_=/^[^#]+#/;function k_(e,t){return e.replace(I_,"#")+t}function O_(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 as=()=>({left:window.pageXOffset,top:window.pageYOffset});function L_(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=O_(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 Bc(e,t){return(history.state?history.state.position-t:-1)+e}const mi=new Map;function $_(e,t){mi.set(e,t)}function M_(e){const t=mi.get(e);return mi.delete(e),t}let N_=()=>location.protocol+"//"+location.host;function Hf(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,c=o.slice(a);return c[0]!=="/"&&(c="/"+c),jc(c,"")}return jc(n,e)+r+o}function D_(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const h=Hf(e,location),m=n.value,p=t.value;let y=0;if(d){if(n.value=h,t.value=d,i&&i===m){i=null;return}y=p?d.position-p.position:0}else r(h);o.forEach(b=>{b(n.value,m,{delta:y,type:$r.pop,direction:y?y>0?vr.forward:vr.back:vr.unknown})})};function c(){i=n.value}function l(d){o.push(d);const h=()=>{const m=o.indexOf(d);m>-1&&o.splice(m,1)};return s.push(h),h}function u(){const{history:d}=window;d.state&&d.replaceState(ve({},d.state,{scroll:as()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:f}}function Vc(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?as():null}}function H_(e){const{history:t,location:n}=window,r={value:Hf(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(c,l,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:N_()+e+c;try{t[u?"replaceState":"pushState"](l,"",d),o.value=l}catch(h){console.error(h),n[u?"replace":"assign"](d)}}function i(c,l){const u=ve({},t.state,Vc(o.value.back,c,o.value.forward,!0),l,{position:o.value.position});s(c,u,!0),r.value=c}function a(c,l){const u=ve({},o.value,t.state,{forward:c,scroll:as()});s(u.current,u,!0);const f=ve({},Vc(r.value,c,null),{position:u.position+1},l);s(c,f,!1),r.value=c}return{location:r,state:o,push:a,replace:i}}function jf(e){e=R_(e);const t=H_(e),n=D_(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:k_.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 j_(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),jf(e)}function F_(e){return typeof e=="string"||e&&typeof e=="object"}function Ff(e){return typeof e=="string"||typeof e=="symbol"}const yt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Bf=Symbol("");var 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,[Bf]:!0},t)}function Ct(e,t){return e instanceof Error&&Bf in e&&(t==null||!!(e.type&t))}const Uc="[^/]+?",B_={sensitive:!1,strict:!1,start:!0,end:!0},V_=/[.+*?^${}()[\]/\\]/g;function z_(e,t){const n=ve({},B_,t),r=[];let o=n.start?"^":"";const s=[];for(const l of e){const u=l.length?[]:[90];n.strict&&!l.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function K_(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const W_={type:0,value:""},q_=/[a-zA-Z0-9_]/;function Q_(e){if(!e)return[[]];if(e==="/")return[[W_]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,c,l="",u="";function f(){l&&(n===0?s.push({type:0,value:l}):n===1||n===2||n===3?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{i(v)}:_r}function i(u){if(Ff(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function c(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Vf(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!qc(u)&&r.set(u.record.name,u)}function l(u,f){let d,h={},m,p;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw Wn(1,{location:u});p=d.record.name,h=ve(Wc(f.params,d.keys.filter(v=>!v.optional).map(v=>v.name)),u.params&&Wc(u.params,d.keys.map(v=>v.name))),m=d.stringify(h)}else if("path"in u)m=u.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:u,currentLocation:f});p=d.record.name,h=ve({},f.params,u.params),m=d.stringify(h)}const y=[];let b=d;for(;b;)y.unshift(b.record),b=b.parent;return{name:p,path:m,params:h,matched:y,meta:X_(y)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:l,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function Wc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Y_(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:G_(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 G_(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 qc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function X_(e){return e.reduce((t,n)=>ve(t,n.meta),{})}function Qc(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Vf(e,t){return t.children.some(n=>n===e||Vf(e,n))}const zf=/#/g,ev=/&/g,tv=/\//g,nv=/=/g,rv=/\?/g,Uf=/\+/g,ov=/%5B/g,sv=/%5D/g,Kf=/%5E/g,iv=/%60/g,Wf=/%7B/g,av=/%7C/g,qf=/%7D/g,cv=/%20/g;function da(e){return encodeURI(""+e).replace(av,"|").replace(ov,"[").replace(sv,"]")}function lv(e){return da(e).replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function gi(e){return da(e).replace(Uf,"%2B").replace(cv,"+").replace(zf,"%23").replace(ev,"%26").replace(iv,"`").replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function uv(e){return gi(e).replace(nv,"%3D")}function fv(e){return da(e).replace(zf,"%23").replace(rv,"%3F")}function dv(e){return e==null?"":fv(e).replace(tv,"%2F")}function ko(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function hv(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&gi(s)):[r&&gi(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function pv(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ht(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const mv=Symbol(""),Zc=Symbol(""),ha=Symbol(""),pa=Symbol(""),yi=Symbol("");function or(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Kt(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const c=f=>{f===!1?a(Wn(4,{from:n,to:t})):f instanceof Error?a(f):F_(f)?a(Wn(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},l=e.call(r&&r.instances[o],t,n,c);let u=Promise.resolve(l);e.length<3&&(u=u.then(c)),u.catch(f=>a(f))})}function Ls(e,t,n,r){const o=[];for(const s of e)for(const i in s.components){let a=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(gv(a)){const l=(a.__vccOpts||a)[t];l&&o.push(Kt(l,n,r,s,i))}else{let c=a();o.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const u=E_(l)?l.default:l;s.components[i]=u;const d=(u.__vccOpts||u)[t];return d&&Kt(d,n,r,s,i)()}))}}return o}function gv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Yc(e){const t=De(ha),n=De(pa),r=ee(()=>t.resolve(M(e.to))),o=ee(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(Kn.bind(null,u));if(d>-1)return d;const h=Gc(c[l-2]);return l>1&&Gc(u)===h&&f[f.length-1].path!==h?f.findIndex(Kn.bind(null,c[l-2])):d}),s=ee(()=>o.value>-1&&bv(n.params,r.value.params)),i=ee(()=>o.value>-1&&o.value===n.matched.length-1&&Df(n.params,r.value.params));function a(c={}){return vv(c)?t[M(e.replace)?"replace":"push"](M(e.to)).catch(_r):Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const yv=Ae({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Yc,setup(e,{slots:t}){const n=tt(Yc(e)),{options:r}=De(ha),o=ee(()=>({[Xc(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Xc(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:et("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),_v=yv;function vv(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 bv(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ht(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Gc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Xc=(e,t,n)=>e??t??n,wv=Ae({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=De(yi),o=ee(()=>e.route||r.value),s=De(Zc,0),i=ee(()=>{let l=M(s);const{matched:u}=o.value;let f;for(;(f=u[l])&&!f.components;)l++;return l}),a=ee(()=>o.value.matched[i.value]);Dn(Zc,ee(()=>i.value+1)),Dn(mv,a),Dn(yi,o);const c=ce();return ge(()=>[c.value,a.value,e.name],([l,u,f],[d,h,m])=>{u&&(u.instances[f]=l,h&&h!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),l&&u&&(!h||!Kn(u,h)||!d)&&(u.enterCallbacks[f]||[]).forEach(p=>p(l))},{flush:"post"}),()=>{const l=o.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return el(n.default,{Component:d,route:l});const h=f.props[u],m=h?h===!0?l.params:typeof h=="function"?h(l):h:null,y=et(d,ve({},m,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return el(n.default,{Component:y,route:l})||y}}});function el(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qf=wv;function Ev(e){const t=Z_(e.routes,e),n=e.parseQuery||hv,r=e.stringifyQuery||Jc,o=e.history,s=or(),i=or(),a=or(),c=kt(yt);let l=yt;Sn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ks.bind(null,$=>""+$),f=ks.bind(null,dv),d=ks.bind(null,ko);function h($,Y){let W,X;return Ff($)?(W=t.getRecordMatcher($),X=Y):X=$,t.addRoute(X,W)}function m($){const Y=t.getRecordMatcher($);Y&&t.removeRoute(Y)}function p(){return t.getRoutes().map($=>$.record)}function y($){return!!t.getRecordMatcher($)}function b($,Y){if(Y=ve({},Y||c.value),typeof $=="string"){const A=Os(n,$,Y.path),O=t.resolve({path:A.path},Y),D=o.createHref(A.fullPath);return ve(A,O,{params:d(O.params),hash:ko(A.hash),redirectedFrom:void 0,href:D})}let W;if("path"in $)W=ve({},$,{path:Os(n,$.path,Y.path).path});else{const A=ve({},$.params);for(const O in A)A[O]==null&&delete A[O];W=ve({},$,{params:f(A)}),Y.params=f(Y.params)}const X=t.resolve(W,Y),_e=$.hash||"";X.params=u(d(X.params));const w=P_(r,ve({},$,{hash:lv(_e),path:X.path})),E=o.createHref(w);return ve({fullPath:w,hash:_e,query:r===Jc?pv($.query):$.query||{}},X,{redirectedFrom:void 0,href:E})}function v($){return typeof $=="string"?Os(n,$,c.value.path):ve({},$)}function g($,Y){if(l!==$)return Wn(8,{from:Y,to:$})}function _($){return I($)}function P($){return _(ve(v($),{replace:!0}))}function S($){const Y=$.matched[$.matched.length-1];if(Y&&Y.redirect){const{redirect:W}=Y;let X=typeof W=="function"?W($):W;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=v(X):{path:X},X.params={}),ve({query:$.query,hash:$.hash,params:"path"in X?{}:$.params},X)}}function I($,Y){const W=l=b($),X=c.value,_e=$.state,w=$.force,E=$.replace===!0,A=S(W);if(A)return I(ve(v(A),{state:typeof A=="object"?ve({},_e,A.state):_e,force:w,replace:E}),Y||W);const O=W;O.redirectedFrom=Y;let D;return!w&&x_(r,X,W)&&(D=Wn(16,{to:O,from:X}),Le(X,X,!0,!1)),(D?Promise.resolve(D):R(O,X)).catch(j=>Ct(j)?Ct(j,2)?j:Oe(j):U(j,O,X)).then(j=>{if(j){if(Ct(j,2))return I(ve({replace:E},v(j.to),{state:typeof j.to=="object"?ve({},_e,j.to.state):_e,force:w}),Y||O)}else j=C(O,X,!0,E,_e);return T(O,X,j),j})}function k($,Y){const W=g($,Y);return W?Promise.reject(W):Promise.resolve()}function H($){const Y=nt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext($):$()}function R($,Y){let W;const[X,_e,w]=Cv($,Y);W=Ls(X.reverse(),"beforeRouteLeave",$,Y);for(const A of X)A.leaveGuards.forEach(O=>{W.push(Kt(O,$,Y))});const E=k.bind(null,$,Y);return W.push(E),Re(W).then(()=>{W=[];for(const A of s.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).then(()=>{W=Ls(_e,"beforeRouteUpdate",$,Y);for(const A of _e)A.updateGuards.forEach(O=>{W.push(Kt(O,$,Y))});return W.push(E),Re(W)}).then(()=>{W=[];for(const A of w)if(A.beforeEnter)if(ht(A.beforeEnter))for(const O of A.beforeEnter)W.push(Kt(O,$,Y));else W.push(Kt(A.beforeEnter,$,Y));return W.push(E),Re(W)}).then(()=>($.matched.forEach(A=>A.enterCallbacks={}),W=Ls(w,"beforeRouteEnter",$,Y),W.push(E),Re(W))).then(()=>{W=[];for(const A of i.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).catch(A=>Ct(A,8)?A:Promise.reject(A))}function T($,Y,W){a.list().forEach(X=>H(()=>X($,Y,W)))}function C($,Y,W,X,_e){const w=g($,Y);if(w)return w;const E=Y===yt,A=Sn?history.state:{};W&&(X||E?o.replace($.fullPath,ve({scroll:E&&A&&A.scroll},_e)):o.push($.fullPath,_e)),c.value=$,Le($,Y,W,E),Oe()}let x;function V(){x||(x=o.listen(($,Y,W)=>{if(!mt.listening)return;const X=b($),_e=S(X);if(_e){I(ve(_e,{replace:!0}),X).catch(_r);return}l=X;const w=c.value;Sn&&$_(Bc(w.fullPath,W.delta),as()),R(X,w).catch(E=>Ct(E,12)?E:Ct(E,2)?(I(E.to,X).then(A=>{Ct(A,20)&&!W.delta&&W.type===$r.pop&&o.go(-1,!1)}).catch(_r),Promise.reject()):(W.delta&&o.go(-W.delta,!1),U(E,X,w))).then(E=>{E=E||C(X,w,!1),E&&(W.delta&&!Ct(E,8)?o.go(-W.delta,!1):W.type===$r.pop&&Ct(E,20)&&o.go(-1,!1)),T(X,w,E)}).catch(_r)}))}let Q=or(),B=or(),J;function U($,Y,W){Oe($);const X=B.list();return X.length?X.forEach(_e=>_e($,Y,W)):console.error($),Promise.reject($)}function he(){return J&&c.value!==yt?Promise.resolve():new Promise(($,Y)=>{Q.add([$,Y])})}function Oe($){return J||(J=!$,V(),Q.list().forEach(([Y,W])=>$?W($):Y()),Q.reset()),$}function Le($,Y,W,X){const{scrollBehavior:_e}=e;if(!Sn||!_e)return Promise.resolve();const w=!W&&M_(Bc($.fullPath,0))||(X||!W)&&history.state&&history.state.scroll||null;return Et().then(()=>_e($,Y,w)).then(E=>E&&L_(E)).catch(E=>U(E,$,Y))}const we=$=>o.go($);let ze;const nt=new Set,mt={currentRoute:c,listening:!0,addRoute:h,removeRoute:m,hasRoute:y,getRoutes:p,resolve:b,options:e,push:_,replace:P,go:we,back:()=>we(-1),forward:()=>we(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:B.add,isReady:he,install($){const Y=this;$.component("RouterLink",_v),$.component("RouterView",Qf),$.config.globalProperties.$router=Y,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),Sn&&!ze&&c.value===yt&&(ze=!0,_(o.location).catch(_e=>{}));const W={};for(const _e in yt)Object.defineProperty(W,_e,{get:()=>c.value[_e],enumerable:!0});$.provide(ha,Y),$.provide(pa,Qt(W)),$.provide(yi,c);const X=$.unmount;nt.add($),$.unmount=function(){nt.delete($),nt.size<1&&(l=yt,x&&x(),x=null,c.value=yt,ze=!1,J=!1),X()}}};function Re($){return $.reduce((Y,W)=>Y.then(()=>H(W)),Promise.resolve())}return mt}function Cv(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iKn(l,a))?r.push(a):n.push(a));const c=e.matched[i];c&&(t.matched.find(l=>Kn(l,c))||o.push(c))}return[n,r,o]}function ax(){return De(pa)}const tl=[{name:"slug",path:"/:slug(.*)*",meta:{},alias:[],redirect:void 0,component:()=>L(()=>import("./document-driven.ccfa0ab8.js"),["./document-driven.ccfa0ab8.js","./DocumentDrivenEmpty.b70620da.js","./ContentRenderer.037efdfb.js","./ContentRendererMarkdown.vue.080aad6d.js","./DocumentDrivenNotFound.7767fbf5.js","./ButtonLink.03ea21b7.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default||e)}],Tv={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}}}},Pv=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?et(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function nl(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 xv(e,t){return e===t?!1:nl(e)!==nl(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 Av={scrollBehavior(e,t,n){var l;const r=ye(),o=((l=ct().options)==null?void 0:l.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&xv(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:rl(e.hash),behavior:o}}const a=u=>!!(u.meta.pageTransition??pi),c=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(u=>{r.hooks.hookOnce(c,async()=>{await Et(),e.hash&&(s={el:e.hash,top:rl(e.hash),behavior:o}),u(s)})})}};function rl(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}const Sv={hashMode:!1,scrollBehaviorType:"auto"},We={...Sv,...Av,...Tv},Rv=async e=>{var c;let t,n;if(!((c=e.meta)!=null&&c.validate))return;const r=ye(),o=ct();if(([t,n]=Or(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=ss({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`}),a=o.beforeResolve(l=>{if(a(),l===e){const u=o.afterEach(async()=>{u(),await r.runWithContext(()=>In(i)),window.history.pushState({},"",e.fullPath)});return!1}})},Iv=async e=>{let t,n;const r=([t,n]=Or(()=>$f(e.path)),t=await t,n(),t);if(r.redirect)return r.redirect},kv=[Rv,Iv],br={};function Ov(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const l=s.includes(e.slice(i))?e.slice(i).length:1;let u=s.slice(l);return u[0]!=="/"&&(u="/"+u),Cc(u,"")}const a=Cc(r,e),c=!n||lg(a,n,{trailingSlash:!0})?a:n;return c+(c.includes("?")?"":o)+s}const Lv=Be({name:"nuxt:router",enforce:"pre",async setup(e){var p,y;let t,n,r=Ze().app.baseURL;We.hashMode&&!r.includes("#")&&(r+="#");const o=((p=We.history)==null?void 0:p.call(We,r))??(We.hashMode?j_(r):jf(r)),s=((y=We.routes)==null?void 0:y.call(We,tl))??tl;let i;const a=Ov(r,window.location,e.payload.path),c=Ev({...We,scrollBehavior:(b,v,g)=>{var _;if(v===yt){i=g;return}return c.options.scrollBehavior=We.scrollBehavior,(_=We.scrollBehavior)==null?void 0:_.call(We,b,yt,i||g)},history:o,routes:s});e.vueApp.use(c);const l=kt(c.currentRoute.value);c.afterEach((b,v)=>{l.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=kt(c.resolve(a)),f=()=>{u.value=c.currentRoute.value};e.hook("page:finish",f),c.afterEach((b,v)=>{var g,_,P,S;((_=(g=b.matched[0])==null?void 0:g.components)==null?void 0:_.default)===((S=(P=v.matched[0])==null?void 0:P.components)==null?void 0:S.default)&&f()});const d={};for(const b in u.value)Object.defineProperty(d,b,{get:()=>u.value[b]});e._route=Qt(d),e._middleware=e._middleware||{global:[],named:{}};const h=os();try{[t,n]=Or(()=>c.isReady()),await t,n()}catch(b){[t,n]=Or(()=>e.runWithContext(()=>In(b))),await t,n()}const m=e.payload.state._layout;return c.beforeEach(async(b,v)=>{var g;b.meta=tt(b.meta),e.isHydrating&&m&&!yn(b.meta.layout)&&(b.meta.layout=m),e._processingMiddleware=!0;{const _=new Set([...kv,...e._middleware.global]);for(const P of b.matched){const S=P.meta.middleware;if(S)if(Array.isArray(S))for(const I of S)_.add(I);else _.add(S)}for(const P of _){const S=typeof P=="string"?e._middleware.named[P]||await((g=br[P])==null?void 0:g.call(br).then(k=>k.default||k)):P;if(!S)throw new Error(`Unknown route middleware: '${P}'.`);const I=await e.runWithContext(()=>S(b,v));if(!e.payload.serverRendered&&e.isHydrating&&(I===!1||I instanceof Error)){const k=I||di({statusCode:404,statusMessage:`Page Not Found: ${a}`});return await e.runWithContext(()=>In(k)),!1}if(I!==!0&&(I||I===!1))return I}}}),c.onError(()=>{delete e._processingMiddleware}),c.afterEach(async(b,v,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(e_),b.matched.length===0&&await e.runWithContext(()=>In(di({statusCode:404,fatal:!1,statusMessage:`Page not found: ${b.fullPath}`})))}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(a),name:void 0,force:!0}),c.options.scrollBehavior=We.scrollBehavior}catch(b){await e.runWithContext(()=>In(b))}}),{provide:{router:c}}}}),_i=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),$v=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),cs=e=>{const t=ye();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{_i(e)}):_i(e)},Mv=Be({name:"nuxt:payload",setup(e){ct().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Nc(t.path);r&&Object.assign(e.static.data,r.data)}),cs(()=>{var t;e.hooks.hook("link:prefetch",async n=>{Fr(n).protocol||await Nc(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(is,1e3)})}}),Nv=N(()=>L(()=>import("./ChallengeV2Demo.5be079a6.js"),["./ChallengeV2Demo.5be079a6.js","./PrimaryButton.1a174aea.js","./ChallengeV2.vue.35e1bf54.js","./component-v2.819854c2.js"],import.meta.url).then(e=>e.default)),Dv=N(()=>L(()=>import("./ChallengeV3Demo.3ad987d9.js"),["./ChallengeV3Demo.3ad987d9.js","./PrimaryButton.1a174aea.js","./ChallengeV3.vue.40872b47.js"],import.meta.url).then(e=>e.default)),Hv=N(()=>L(()=>import("./CheckboxDemo.20e2ea8e.js"),["./CheckboxDemo.20e2ea8e.js","./ThemeButton.vue.dc3349e7.js","./Checkbox.vue.08968c81.js","./component-v2.819854c2.js"],import.meta.url).then(e=>e.default)),jv=N(()=>L(()=>import("./IndexDemo.5e489be3.js"),["./IndexDemo.5e489be3.js","./Card.72706e47.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),Fv=N(()=>L(()=>import("./Mermaid.aeec835d.js"),["./Mermaid.aeec835d.js","./mermaid.core.ebd445a5.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),Bv=N(()=>L(()=>import("./PrimaryButton.1a174aea.js"),[],import.meta.url).then(e=>e.default)),Vv=N(()=>L(()=>import("./ThemeButton.c81c16cc.js"),["./ThemeButton.c81c16cc.js","./ThemeButton.vue.dc3349e7.js"],import.meta.url).then(e=>e.default)),zv=N(()=>L(()=>import("./VeeValidateCheckbox.027e346a.js"),["./VeeValidateCheckbox.027e346a.js","./Checkbox.vue.08968c81.js","./component-v2.819854c2.js","./PrimaryButton.1a174aea.js","./index.esm.24d85c24.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),Uv=N(()=>L(()=>import("./VeeValidateInvisible.87dadd15.js"),["./VeeValidateInvisible.87dadd15.js","./PrimaryButton.1a174aea.js","./ChallengeV2.vue.35e1bf54.js","./component-v2.819854c2.js","./index.esm.24d85c24.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),Kv=N(()=>L(()=>Promise.resolve().then(()=>kC),void 0,import.meta.url).then(e=>e.default)),Wv=N(()=>L(()=>Promise.resolve().then(()=>ZP),void 0,import.meta.url).then(e=>e.default)),qv=N(()=>L(()=>Promise.resolve().then(()=>VP),void 0,import.meta.url).then(e=>e.default)),Qv=N(()=>L(()=>Promise.resolve().then(()=>fC),void 0,import.meta.url).then(e=>e.default)),Jv=N(()=>L(()=>Promise.resolve().then(()=>CC),void 0,import.meta.url).then(e=>e.default)),Zv=N(()=>L(()=>Promise.resolve().then(()=>xC),void 0,import.meta.url).then(e=>e.default)),Yv=N(()=>L(()=>Promise.resolve().then(()=>ex),void 0,import.meta.url).then(e=>e.default)),Gv=N(()=>L(()=>Promise.resolve().then(()=>Ww),void 0,import.meta.url).then(e=>e.default)),Xv=N(()=>L(()=>Promise.resolve().then(()=>AP),void 0,import.meta.url).then(e=>e.default)),e0=N(()=>L(()=>Promise.resolve().then(()=>tC),void 0,import.meta.url).then(e=>e.default)),t0=N(()=>L(()=>import("./DocumentDrivenNotFound.7767fbf5.js"),["./DocumentDrivenNotFound.7767fbf5.js","./ButtonLink.03ea21b7.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default)),n0=N(()=>L(()=>import("./Ellipsis.9887d8a8.js"),["./Ellipsis.9887d8a8.js","./Ellipsis.96015b79.css"],import.meta.url).then(e=>e.default)),r0=N(()=>L(()=>Promise.resolve().then(()=>yC),void 0,import.meta.url).then(e=>e.default)),o0=N(()=>L(()=>Promise.resolve().then(()=>$P),void 0,import.meta.url).then(e=>e.default)),s0=N(()=>L(()=>import("./DocsAside.1f0aa950.js"),["./DocsAside.1f0aa950.js","./DocsAside.214f9128.css"],import.meta.url).then(e=>e.default)),i0=N(()=>L(()=>Promise.resolve().then(()=>aC),void 0,import.meta.url).then(e=>e.default)),a0=N(()=>L(()=>import("./DocsPageBottom.b5f8d61a.js"),["./DocsPageBottom.b5f8d61a.js","./ProseA.f9dc332a.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.1ceb4eeb.js","./DocsPageBottom.995408e3.css"],import.meta.url).then(e=>e.default)),c0=N(()=>L(()=>import("./DocsPageLayout.5268cc77.js"),["./DocsPageLayout.5268cc77.js","./DocsAside.1f0aa950.js","./DocsAside.214f9128.css","./ProseCodeInline.c02e94fd.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.b5f8d61a.js","./ProseA.f9dc332a.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.1ceb4eeb.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.0153bc02.js","./DocsPrevNext.5cd1832c.css","./DocsToc.503dfd3c.js","./DocsTocLinks.cca405c3.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css"],import.meta.url).then(e=>e.default)),l0=N(()=>L(()=>import("./DocsPrevNext.0153bc02.js"),["./DocsPrevNext.0153bc02.js","./DocsPrevNext.5cd1832c.css"],import.meta.url).then(e=>e.default)),u0=N(()=>L(()=>import("./DocsToc.503dfd3c.js"),["./DocsToc.503dfd3c.js","./DocsTocLinks.cca405c3.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css"],import.meta.url).then(e=>e.default)),f0=N(()=>L(()=>import("./DocsTocLinks.cca405c3.js"),["./DocsTocLinks.cca405c3.js","./DocsTocLinks.18d3dd4c.css"],import.meta.url).then(e=>e.default)),d0=N(()=>L(()=>import("./EditOnLink.91d51018.js"),["./EditOnLink.91d51018.js","./EditOnLink.vue.1ceb4eeb.js"],import.meta.url).then(e=>e.default)),h0=N(()=>L(()=>import("./SourceLink.52241891.js"),["./SourceLink.52241891.js","./ProseP.63fb3914.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),p0=N(()=>L(()=>import("./ProseA.f9dc332a.js"),["./ProseA.f9dc332a.js","./ProseA.3ccdc3d4.css"],import.meta.url).then(e=>e.default)),m0=N(()=>L(()=>import("./ProseBlockquote.0d710b43.js"),["./ProseBlockquote.0d710b43.js","./ProseBlockquote.9b44c541.css"],import.meta.url).then(e=>e.default)),g0=N(()=>L(()=>import("./ProseCode.a1a6964d.js"),["./ProseCode.a1a6964d.js","./ProseCode.4d67527c.css"],import.meta.url).then(e=>e.default)),y0=N(()=>L(()=>import("./ProseCodeInline.c02e94fd.js"),["./ProseCodeInline.c02e94fd.js","./ProseCodeInline.9cb11e30.css"],import.meta.url).then(e=>e.default)),_0=N(()=>L(()=>import("./ProseEm.f1048b40.js"),["./ProseEm.f1048b40.js","./ProseEm.f450adf9.css"],import.meta.url).then(e=>e.default)),v0=N(()=>L(()=>import("./ProseH1.5e16728b.js"),["./ProseH1.5e16728b.js","./ProseH1.947db9d1.css"],import.meta.url).then(e=>e.default)),b0=N(()=>L(()=>import("./ProseH2.0e1f83fc.js"),["./ProseH2.0e1f83fc.js","./ProseH2.7deacf3b.css"],import.meta.url).then(e=>e.default)),w0=N(()=>L(()=>import("./ProseH3.764ccb77.js"),["./ProseH3.764ccb77.js","./ProseH3.a54ffcda.css"],import.meta.url).then(e=>e.default)),E0=N(()=>L(()=>import("./ProseH4.50ee811b.js"),["./ProseH4.50ee811b.js","./ProseH4.c1de1bd7.css"],import.meta.url).then(e=>e.default)),C0=N(()=>L(()=>import("./ProseH5.a6809ff7.js"),["./ProseH5.a6809ff7.js","./ProseH5.c1fb54ee.css"],import.meta.url).then(e=>e.default)),T0=N(()=>L(()=>import("./ProseH6.53cedd53.js"),["./ProseH6.53cedd53.js","./ProseH6.ffba47c6.css"],import.meta.url).then(e=>e.default)),P0=N(()=>L(()=>import("./ProseHr.f07102be.js"),["./ProseHr.f07102be.js","./ProseHr.51d378cd.css"],import.meta.url).then(e=>e.default)),x0=N(()=>L(()=>import("./ProseImg.9b34cbb5.js"),["./ProseImg.9b34cbb5.js","./ProseImg.9ec4cf0b.css"],import.meta.url).then(e=>e.default)),A0=N(()=>L(()=>import("./ProseLi.f70b7f0b.js"),["./ProseLi.f70b7f0b.js","./ProseLi.56cd83cc.css"],import.meta.url).then(e=>e.default)),S0=N(()=>L(()=>import("./ProseOl.daad5f0e.js"),["./ProseOl.daad5f0e.js","./ProseOl.8e9c36b1.css"],import.meta.url).then(e=>e.default)),R0=N(()=>L(()=>import("./ProseP.63fb3914.js"),["./ProseP.63fb3914.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),I0=N(()=>L(()=>import("./ProseStrong.d88677c5.js"),["./ProseStrong.d88677c5.js","./ProseStrong.a14f2f4f.css"],import.meta.url).then(e=>e.default)),k0=N(()=>L(()=>import("./ProseTable.2fe80de4.js"),["./ProseTable.2fe80de4.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),O0=N(()=>L(()=>import("./ProseTbody.b01b591a.js"),[],import.meta.url).then(e=>e.default)),L0=N(()=>L(()=>import("./ProseTd.4ecd5b1a.js"),["./ProseTd.4ecd5b1a.js","./ProseTd.8301ae56.css"],import.meta.url).then(e=>e.default)),$0=N(()=>L(()=>import("./ProseTh.75c6a267.js"),["./ProseTh.75c6a267.js","./ProseTh.366c0ecd.css"],import.meta.url).then(e=>e.default)),M0=N(()=>L(()=>import("./ProseThead.8dd006b4.js"),["./ProseThead.8dd006b4.js","./ProseThead.ff3d08af.css"],import.meta.url).then(e=>e.default)),N0=N(()=>L(()=>import("./ProseTr.63e2587d.js"),["./ProseTr.63e2587d.js","./ProseTr.16cbe189.css"],import.meta.url).then(e=>e.default)),D0=N(()=>L(()=>import("./ProseUl.a035f6e0.js"),["./ProseUl.a035f6e0.js","./ProseUl.c5b3f77f.css"],import.meta.url).then(e=>e.default)),H0=N(()=>L(()=>Promise.resolve().then(()=>Hw),void 0,import.meta.url).then(e=>e.default)),j0=N(()=>L(()=>import("./Badge.c215dd61.js"),["./Badge.c215dd61.js","./Badge.af82fbb4.css"],import.meta.url).then(e=>e.default)),F0=N(()=>L(()=>import("./ButtonLink.03ea21b7.js"),["./ButtonLink.03ea21b7.js","./ButtonLink.f5436705.css"],import.meta.url).then(e=>e.default)),B0=N(()=>L(()=>import("./Callout.94ccb473.js"),["./Callout.94ccb473.js","./Callout.07cf69f8.css"],import.meta.url).then(e=>e.default)),V0=N(()=>L(()=>import("./CodeBlock.aa50e47a.js"),["./CodeBlock.aa50e47a.js","./CodeBlock.991bd354.css"],import.meta.url).then(e=>e.default)),z0=N(()=>L(()=>import("./CodeGroup.78b89ebd.js"),["./CodeGroup.78b89ebd.js","./TabsHeader.352fe39c.js","./TabsHeader.a07a7b39.css","./CodeGroup.0e4e4f50.css"],import.meta.url).then(e=>e.default)),U0=N(()=>L(()=>Promise.resolve().then(()=>NP),void 0,import.meta.url).then(e=>e.default)),K0=N(()=>L(()=>import("./CopyButton.0ffff959.js"),[],import.meta.url).then(e=>e.default)),W0=N(()=>L(()=>import("./List.3da2e8f3.js"),["./List.3da2e8f3.js","./MDCSlot.f4d0047d.js","./List.df356ce6.css"],import.meta.url).then(e=>e.default)),q0=N(()=>L(()=>import("./NuxtImg.ae446115.js"),["./NuxtImg.ae446115.js","./NuxtImg.vue.4d57c99d.js"],import.meta.url).then(e=>e.default)),Q0=N(()=>L(()=>import("./Props.ad77768d.js"),["./Props.ad77768d.js","./ProseTh.75c6a267.js","./ProseTh.366c0ecd.css","./ProseTr.63e2587d.js","./ProseTr.16cbe189.css","./ProseThead.8dd006b4.js","./ProseThead.ff3d08af.css","./ProseCodeInline.c02e94fd.js","./ProseCodeInline.9cb11e30.css","./ProseTd.4ecd5b1a.js","./ProseTd.8301ae56.css","./ProseTbody.b01b591a.js","./ProseTable.2fe80de4.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),J0=N(()=>L(()=>import("./Sandbox.b7d18f1f.js"),["./Sandbox.b7d18f1f.js","./TabsHeader.352fe39c.js","./TabsHeader.a07a7b39.css","./Sandbox.c3073fa3.css"],import.meta.url).then(e=>e.default)),Z0=N(()=>L(()=>import("./TabsHeader.352fe39c.js"),["./TabsHeader.352fe39c.js","./TabsHeader.a07a7b39.css"],import.meta.url).then(e=>e.default)),Y0=N(()=>L(()=>import("./Terminal.81666f30.js"),["./Terminal.81666f30.js","./Terminal.67df3c7d.css"],import.meta.url).then(e=>e.default)),G0=N(()=>L(()=>import("./VideoPlayer.f999f1e2.js"),["./VideoPlayer.f999f1e2.js","./NuxtImg.vue.4d57c99d.js","./VideoPlayer.9ead91bb.css"],import.meta.url).then(e=>e.default)),X0=N(()=>L(()=>import("./IconCodeSandBox.64211826.js"),[],import.meta.url).then(e=>e.default)),eb=N(()=>L(()=>import("./IconDocus.0ca83eb2.js"),[],import.meta.url).then(e=>e.default)),tb=N(()=>L(()=>import("./IconNuxt.09aada78.js"),[],import.meta.url).then(e=>e.default)),nb=N(()=>L(()=>import("./IconNuxtContent.09aada78.js"),[],import.meta.url).then(e=>e.default)),rb=N(()=>L(()=>import("./IconNuxtLabs.38266cdb.js"),[],import.meta.url).then(e=>e.default)),ob=N(()=>L(()=>import("./IconNuxtStudio.e6a4e0f0.js"),["./IconNuxtStudio.e6a4e0f0.js","./IconNuxtStudio.a5c35f12.css"],import.meta.url).then(e=>e.default)),sb=N(()=>L(()=>import("./IconStackBlitz.cd239bf7.js"),[],import.meta.url).then(e=>e.default)),ib=N(()=>L(()=>import("./IconVueTelescope.a8fb2235.js"),[],import.meta.url).then(e=>e.default)),ab=N(()=>L(()=>import("./BlockHero.550389fd.js"),["./BlockHero.550389fd.js","./ButtonLink.03ea21b7.js","./ButtonLink.f5436705.css","./Terminal.81666f30.js","./Terminal.67df3c7d.css","./VideoPlayer.f999f1e2.js","./NuxtImg.vue.4d57c99d.js","./VideoPlayer.9ead91bb.css","./BlockHero.48386f60.css"],import.meta.url).then(e=>e.default)),cb=N(()=>L(()=>import("./Card.72706e47.js"),["./Card.72706e47.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),lb=N(()=>L(()=>import("./CardGrid.c99509ca.js"),["./CardGrid.c99509ca.js","./CardGrid.3325d323.css"],import.meta.url).then(e=>e.default)),ub=N(()=>L(()=>import("./VoltaBoard.b036a22f.js"),["./VoltaBoard.b036a22f.js","./VoltaBoard.a5d6b336.css"],import.meta.url).then(e=>e.default)),fb=N(()=>L(()=>import("./ComponentPlayground.74572729.js"),["./ComponentPlayground.74572729.js","./ComponentPlaygroundData.bd7d6e69.js","./TabsHeader.352fe39c.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.2ae5999c.js","./ProseH4.50ee811b.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.c02e94fd.js","./ProseCodeInline.9cb11e30.css","./Badge.c215dd61.js","./Badge.af82fbb4.css","./ProseP.63fb3914.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.ed604ae0.js","./ComponentPlaygroundTokens.vue.c0f3734a.js","./ComponentPlaygroundData.a33f5743.css","./ComponentPlayground.ace5ef70.css"],import.meta.url).then(e=>e.default)),db=N(()=>L(()=>import("./ComponentPlaygroundData.bd7d6e69.js"),["./ComponentPlaygroundData.bd7d6e69.js","./TabsHeader.352fe39c.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.2ae5999c.js","./ProseH4.50ee811b.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.c02e94fd.js","./ProseCodeInline.9cb11e30.css","./Badge.c215dd61.js","./Badge.af82fbb4.css","./ProseP.63fb3914.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.ed604ae0.js","./ComponentPlaygroundTokens.vue.c0f3734a.js","./ComponentPlaygroundData.a33f5743.css"],import.meta.url).then(e=>e.default)),hb=N(()=>L(()=>import("./ComponentPlaygroundProps.2ae5999c.js"),["./ComponentPlaygroundProps.2ae5999c.js","./ProseH4.50ee811b.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.c02e94fd.js","./ProseCodeInline.9cb11e30.css","./Badge.c215dd61.js","./Badge.af82fbb4.css","./ProseP.63fb3914.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css"],import.meta.url).then(e=>e.default)),pb=N(()=>L(()=>import("./ComponentPlaygroundSlots.1a831e97.js"),["./ComponentPlaygroundSlots.1a831e97.js","./ComponentPlaygroundSlots.vue.ed604ae0.js"],import.meta.url).then(e=>e.default)),mb=N(()=>L(()=>import("./ComponentPlaygroundTokens.29d70b37.js"),["./ComponentPlaygroundTokens.29d70b37.js","./ComponentPlaygroundTokens.vue.c0f3734a.js"],import.meta.url).then(e=>e.default)),gb=N(()=>L(()=>import("./PreviewLayout.0c5f3b1a.js"),["./PreviewLayout.0c5f3b1a.js","./PreviewLayout.8b7fcbc8.css"],import.meta.url).then(e=>e.default)),yb=N(()=>L(()=>import("./TokensPlayground.4dc097c6.js"),[],import.meta.url).then(e=>e.default)),_b=N(()=>L(()=>import("./ContentDoc.c28e9f53.js"),["./ContentDoc.c28e9f53.js","./ContentRenderer.037efdfb.js","./ContentRendererMarkdown.vue.080aad6d.js","./ContentQuery.489bc247.js"],import.meta.url).then(e=>e.default)),vb=N(()=>L(()=>import("./ContentList.f495c5b3.js"),["./ContentList.f495c5b3.js","./ContentQuery.489bc247.js"],import.meta.url).then(e=>e.default)),bb=N(()=>L(()=>import("./ContentNavigation.b76aa870.js"),[],import.meta.url).then(e=>e.default)),wb=N(()=>L(()=>import("./ContentQuery.489bc247.js"),[],import.meta.url).then(e=>e.default)),Eb=N(()=>L(()=>import("./ContentRenderer.037efdfb.js"),["./ContentRenderer.037efdfb.js","./ContentRendererMarkdown.vue.080aad6d.js"],import.meta.url).then(e=>e.default)),Cb=N(()=>L(()=>import("./ContentRendererMarkdown.d1d7ba15.js"),["./ContentRendererMarkdown.d1d7ba15.js","./ContentRendererMarkdown.vue.080aad6d.js"],import.meta.url).then(e=>e.default)),Tb=N(()=>L(()=>import("./ContentSlot.93c89f7c.js"),["./ContentSlot.93c89f7c.js","./MDCSlot.f4d0047d.js"],import.meta.url).then(e=>e.default)),Pb=N(()=>L(()=>import("./DocumentDrivenEmpty.b70620da.js"),[],import.meta.url).then(e=>e.default)),xb=N(()=>L(()=>import("./Markdown.729004fb.js"),["./Markdown.729004fb.js","./ContentSlot.93c89f7c.js","./MDCSlot.f4d0047d.js"],import.meta.url).then(e=>e.default)),Ab=N(()=>L(()=>import("./ProsePre.74cb55c8.js"),["./ProsePre.74cb55c8.js","./ProseCode.a1a6964d.js","./ProseCode.4d67527c.css","./ProsePre.e63e49c6.css"],import.meta.url).then(e=>e.default)),Sb=N(()=>L(()=>import("./Checkbox.52c7056d.js"),["./Checkbox.52c7056d.js","./Checkbox.vue.08968c81.js","./component-v2.819854c2.js"],import.meta.url).then(e=>e.default)),Rb=N(()=>L(()=>import("./ChallengeV2.9df738fc.js"),["./ChallengeV2.9df738fc.js","./ChallengeV2.vue.35e1bf54.js","./component-v2.819854c2.js"],import.meta.url).then(e=>e.default)),Ib=N(()=>L(()=>import("./ChallengeV3.23bd74f8.js"),["./ChallengeV3.23bd74f8.js","./ChallengeV3.vue.40872b47.js"],import.meta.url).then(e=>e.default)),kb=N(()=>L(()=>Promise.resolve().then(()=>XE),void 0,import.meta.url).then(e=>e.default)),Ob=N(()=>L(()=>import("./IconCSS.3999cc41.js"),["./IconCSS.3999cc41.js","./IconCSS.23e2cb26.css"],import.meta.url).then(e=>e.default)),Lb=[["ChallengeV2Demo",Nv],["ChallengeV3Demo",Dv],["CheckboxDemo",Hv],["IndexDemo",jv],["Mermaid",Fv],["PrimaryButton",Bv],["ThemeButton",Vv],["VeeValidateCheckbox",zv],["VeeValidateInvisible",Uv],["AppDocSearch",Kv],["AppFooter",Wv],["AppHeader",qv],["AppHeaderDialog",Qv],["AppHeaderLogo",Jv],["AppHeaderNavigation",Zv],["AppLayout",Yv],["AppLoadingBar",Gv],["AppSearch",Xv],["AppSocialIcons",e0],["DocumentDrivenNotFound",t0],["Ellipsis",n0],["Logo",r0],["ThemeSelect",o0],["DocsAside",s0],["DocsAsideTree",i0],["DocsPageBottom",a0],["DocsPageLayout",c0],["DocsPrevNext",l0],["DocsToc",u0],["DocsTocLinks",f0],["EditOnLink",d0],["SourceLink",h0],["ProseA",p0],["ProseBlockquote",m0],["ProseCode",g0],["ProseCodeInline",y0],["ProseEm",_0],["ProseH1",v0],["ProseH2",b0],["ProseH3",w0],["ProseH4",E0],["ProseH5",C0],["ProseH6",T0],["ProseHr",P0],["ProseImg",x0],["ProseLi",A0],["ProseOl",S0],["ProseP",R0],["ProseStrong",I0],["ProseTable",k0],["ProseTbody",O0],["ProseTd",L0],["ProseTh",$0],["ProseThead",M0],["ProseTr",N0],["ProseUl",D0],["Alert",H0],["Badge",j0],["ButtonLink",F0],["Callout",B0],["CodeBlock",V0],["CodeGroup",z0],["Container",U0],["CopyButton",K0],["List",W0],["NuxtImg",q0],["Props",Q0],["Sandbox",J0],["TabsHeader",Z0],["Terminal",Y0],["VideoPlayer",G0],["IconCodeSandBox",X0],["IconDocus",eb],["IconNuxt",tb],["IconNuxtContent",nb],["IconNuxtLabs",rb],["IconNuxtStudio",ob],["IconStackBlitz",sb],["IconVueTelescope",ib],["BlockHero",ab],["Card",cb],["CardGrid",lb],["VoltaBoard",ub],["ComponentPlayground",fb],["ComponentPlaygroundData",db],["ComponentPlaygroundProps",hb],["ComponentPlaygroundSlots",pb],["ComponentPlaygroundTokens",mb],["PreviewLayout",gb],["TokensPlayground",yb],["ContentDoc",_b],["ContentList",vb],["ContentNavigation",bb],["ContentQuery",wb],["ContentRenderer",Eb],["ContentRendererMarkdown",Cb],["MDCSlot",Tb],["DocumentDrivenEmpty",Pb],["Markdown",xb],["ProsePre",Ab],["RecaptchaCheckbox",Sb],["RecaptchaChallengeV2",Rb],["RecaptchaChallengeV3",Ib],["Icon",kb],["IconCSS",Ob]],$b=Be({name:"nuxt:global-components",setup(e){for(const[t,n]of Lb)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),fr={default:()=>L(()=>import("./default.9862ffa1.js"),["./default.9862ffa1.js","./DocsPageLayout.5268cc77.js","./DocsAside.1f0aa950.js","./DocsAside.214f9128.css","./ProseCodeInline.c02e94fd.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.b5f8d61a.js","./ProseA.f9dc332a.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.1ceb4eeb.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.0153bc02.js","./DocsPrevNext.5cd1832c.css","./DocsToc.503dfd3c.js","./DocsTocLinks.cca405c3.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css","./mermaid.core.ebd445a5.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default||e),page:()=>L(()=>import("./page.963a5d71.js"),["./page.963a5d71.js","./page.6f89b326.css"],import.meta.url).then(e=>e.default||e)},Mb=Be({name:"nuxt:prefetch",setup(e){const t=ct();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof fr[r]=="function"&&await fr[r]()})}),e.hooks.hook("link:prefetch",n=>{var i,a,c,l;if(en(n))return;const r=t.resolve(n);if(!r)return;const o=(i=r==null?void 0:r.meta)==null?void 0:i.layout;let s=Array.isArray((a=r==null?void 0:r.meta)==null?void 0:a.middleware)?(c=r==null?void 0:r.meta)==null?void 0:c.middleware:[(l=r==null?void 0:r.meta)==null?void 0:l.middleware];s=s.filter(u=>typeof u=="string");for(const u of s)typeof br[u]=="function"&&br[u]();o&&typeof fr[o]=="function"&&fr[o]()})}}),Nb=["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"],Db=/\d/,Hb=["-","_","/","."];function jb(e=""){if(!Db.test(e))return e.toUpperCase()===e}function Jf(e,t){const n=t??Hb,r=[];if(!e||typeof e!="string")return r;let o="",s,i;for(const a of e){const c=n.includes(a);if(c===!0){r.push(o),o="",s=void 0;continue}const l=jb(a);if(i===!1){if(s===!1&&l===!0){r.push(o),o=a,s=l;continue}if(s===!0&&l===!1&&o.length>1){const u=o[o.length-1];r.push(o.slice(0,Math.max(0,o.length-1))),o=u+a,s=l;continue}}o+=a,s=l,i=c}return r.push(o),r}function Fb(e){return e?e[0].toUpperCase()+e.slice(1):""}function Bb(e){return e?(Array.isArray(e)?e:Jf(e)).map(t=>Fb(t)).join(""):""}function vi(e,t){return e?(Array.isArray(e)?e:Jf(e)).map(n=>n.toLowerCase()).join(t??"-"):""}function Vb(...e){var h;const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);let[n,r,o={}]=e;if(typeof n!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof r!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=ye(),i=()=>null,a=()=>s.isHydrating?s.payload.data[n]:s.static.data[n];o.server=o.server??!0,o.default=o.default??i,o.getCachedData=o.getCachedData??a,o.lazy=o.lazy??!1,o.immediate=o.immediate??!0,o.deep=o.deep??d_.deep;const c=()=>![null,void 0].includes(o.getCachedData(n));if(!s._asyncData[n]||!o.immediate){(h=s.payload._errors)[n]??(h[n]=null);const m=o.deep?ce:kt;s._asyncData[n]={data:m(o.getCachedData(n)??o.default()),pending:ce(!c()),error:Qo(s.payload._errors,n),status:ce("idle")}}const l={...s._asyncData[n]};l.refresh=l.execute=(m={})=>{if(s._asyncDataPromises[n]){if(m.dedupe===!1)return s._asyncDataPromises[n];s._asyncDataPromises[n].cancelled=!0}if((m._initial||s.isHydrating&&m._initial!==!1)&&c())return Promise.resolve(o.getCachedData(n));l.pending.value=!0,l.status.value="pending";const p=new Promise((y,b)=>{try{y(r(s))}catch(v){b(v)}}).then(y=>{if(p.cancelled)return s._asyncDataPromises[n];let b=y;o.transform&&(b=o.transform(y)),o.pick&&(b=Ub(b,o.pick)),l.data.value=b,l.error.value=null,l.status.value="success"}).catch(y=>{if(p.cancelled)return s._asyncDataPromises[n];l.error.value=y,l.data.value=M(o.default()),l.status.value="error"}).finally(()=>{p.cancelled||(l.pending.value=!1,s.payload.data[n]=l.data.value,l.error.value&&(s.payload._errors[n]=ss(l.error.value)),delete s._asyncDataPromises[n])});return s._asyncDataPromises[n]=p,s._asyncDataPromises[n]};const u=()=>l.refresh({_initial:!0}),f=o.server!==!1&&s.payload.serverRendered;{const m=pt();if(m&&!m._nuxtOnBeforeMountCbs){m._nuxtOnBeforeMountCbs=[];const y=m._nuxtOnBeforeMountCbs;m&&(Nu(()=>{y.forEach(b=>{b()}),y.splice(0,y.length)}),Ar(()=>y.splice(0,y.length)))}f&&s.isHydrating&&(l.error.value||c())?(l.pending.value=!1,l.status.value=l.error.value?"error":"success"):m&&(s.payload.serverRendered&&s.isHydrating||o.lazy)&&o.immediate?m._nuxtOnBeforeMountCbs.push(u):o.immediate&&u(),o.watch&&ge(o.watch,()=>l.refresh());const p=s.hook("app:data:refresh",async y=>{(!y||y.includes(n))&&await l.refresh()});m&&Ar(p)}const d=Promise.resolve(s._asyncDataPromises[n]).then(()=>l);return Object.assign(d,l),d}function zb(...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 Vb(n,r,{...o,lazy:!0},null)}async function cx(e){await new Promise(n=>cs(n));const t=e?Array.isArray(e)?e:[e]:void 0;await ye().hooks.callHookParallel("app:data:refresh",t)}function Ub(e,t){const n={};for(const r of t)n[r]=e[r];return n}const Kb="$s";function Rt(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const o=Kb+n,s=ye(),i=Qo(s.payload.state,o);if(i.value===void 0&&r){const a=r();if(Se(a))return s.payload.state[o]=a,a;i.value=a}return i}const ol=Object.freeze({ignoreUnknown:!1,respectType:!1,respectFunctionNames:!1,respectFunctionProperties:!1,unorderedObjects:!0,unorderedArrays:!1,unorderedSets:!1,excludeKeys:void 0,excludeValues:void 0,replacer:void 0});function Wb(e,t){t?t={...ol,...t}:t=ol;const n=Zf(t);return n.dispatch(e),n.toString()}const qb=Object.freeze(["prototype","__proto__","constructor"]);function Zf(e){let t="",n=new Map;const r=o=>{t+=o};return{toString(){return t},getContext(){return n},dispatch(o){return e.replacer&&(o=e.replacer(o)),this[o===null?"null":typeof o](o)},object(o){if(o&&typeof o.toJSON=="function")return this.object(o.toJSON());const s=Object.prototype.toString.call(o);let i="";const a=s.length;a<10?i="unknown:["+s+"]":i=s.slice(8,a-1),i=i.toLowerCase();let c=null;if((c=n.get(o))===void 0)n.set(o,n.size);else return this.dispatch("[CIRCULAR:"+c+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(o))return r("buffer:"),r(o.toString("utf8"));if(i!=="object"&&i!=="function"&&i!=="asyncfunction")this[i]?this[i](o):e.ignoreUnknown||this.unkown(o,i);else{let l=Object.keys(o);e.unorderedObjects&&(l=l.sort());let u=[];e.respectType!==!1&&!sl(o)&&(u=qb),e.excludeKeys&&(l=l.filter(d=>!e.excludeKeys(d)),u=u.filter(d=>!e.excludeKeys(d))),r("object:"+(l.length+u.length)+":");const f=d=>{this.dispatch(d),r(":"),e.excludeValues||this.dispatch(o[d]),r(",")};for(const d of l)f(d);for(const d of u)f(d)}},array(o,s){if(s=s===void 0?e.unorderedArrays!==!1:s,r("array:"+o.length+":"),!s||o.length<=1){for(const c of o)this.dispatch(c);return}const i=new Map,a=o.map(c=>{const l=Zf(e);l.dispatch(c);for(const[u,f]of l.getContext())i.set(u,f);return l.toString()});return n=i,a.sort(),this.array(a,!1)},date(o){return r("date:"+o.toJSON())},symbol(o){return r("symbol:"+o.toString())},unkown(o,s){if(r(s),!!o&&(r(":"),o&&typeof o.entries=="function"))return this.array(Array.from(o.entries()),!0)},error(o){return r("error:"+o.toString())},boolean(o){return r("bool:"+o)},string(o){r("string:"+o.length+":"),r(o)},function(o){r("fn:"),sl(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 Yf="[native code] }",Qb=Yf.length;function sl(e){return typeof e!="function"?!1:Function.prototype.toString.call(e).slice(-Qb)===Yf}class Yt{constructor(t,n){t=this.words=t||[],this.sigBytes=n===void 0?t.length*4:n}toString(t){return(t||Jb).stringify(this)}concat(t){if(this.clamp(),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];return this.sigBytes+=t.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Yt([...this.words])}}const Jb={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("")}},Zb={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("")}},Yb={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new Yt(n,t)}},Gb={parse(e){return Yb.parse(unescape(encodeURIComponent(e)))}};class Xb{constructor(){this._data=new Yt,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Yt,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=Gb.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,P=an[d-2],S=(P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10;an[d]=_+an[d-7]+S+an[d-16]}const h=c&l^~c&u,m=o&s^o&i^s&i,p=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),y=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),b=f+y+h+t1[d]+an[d],v=p+m;f=u,u=l,l=c,c=a+b|0,a=i,i=s,s=o,o=b+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]+l|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0}finalize(t){super.finalize(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function r1(e){return new n1().finalize(e).toString(Zb)}function Oo(e,t={}){const n=typeof e=="string"?e:Wb(e,t);return r1(n).slice(0,10)}const o1={path:"/",watch:!0,decode:e=>kr(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function uo(e,t){var c;const n={...o1,...t},r=s1(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=s?void 0:r[e]??((c=n.default)==null?void 0:c.call(n)),a=o&&!s?c1(i,o):ce(i);{const l=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${e}`),u=()=>{a1(e,a.value,n),l==null||l.postMessage(n.encode(a.value))};let f=!1;Ko()&&En(()=>{f=!0,u(),l==null||l.close()}),l&&(l.onmessage=d=>{f=!0,a.value=n.decode(d.data),Et(()=>{f=!1})}),n.watch?ge(a,()=>{f||u()},{deep:n.watch!=="shallow"}):u()}return a}function s1(e={}){return Fy(document.cookie,e)}function i1(e,t,n={}){return t==null?$c(e,t,{...n,maxAge:-1}):$c(e,t,n)}function a1(e,t,n={}){document.cookie=i1(e,t,n)}function c1(e,t){let n;return En(()=>{clearTimeout(n)}),mu((r,o)=>({get(){return r(),e},set(s){clearTimeout(n),n=setTimeout(()=>{e=void 0,o()},t),e=s,o()}}))}const l1=async e=>{const t=ye();e=Array.isArray(e)?e:[e],await Promise.all(e.map(n=>f1(t.vueApp._context.components[n])))},u1=e=>l1(e);function f1(e){if(e!=null&&e.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Gf(e,t=ct()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(n)))return;const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>Gf(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 d1(e={}){const t=e.path||window.location.pathname;let n={};try{n=kr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires)e.find(t=>t!==void 0),p1="noopener noreferrer";/*! @__NO_SIDE_EFFECTS__ */function m1(e){const t=e.componentName||"NuxtLink",n=(r,o)=>{if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;const s=e.trailingSlash==="append"?xo:_n;if(typeof r=="string")return s(r,!0);const i="path"in r?r.path:o(r).path;return{...r,name:void 0,path:s(i,!0)}};return Ae({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(r,{slots:o}){const s=ct(),i=Ze(),a=ee(()=>{const h=r.to||r.href||"";return n(h,s.resolve)}),c=ee(()=>typeof a.value=="string"&&en(a.value,{acceptRelative:!0})),l=ee(()=>r.external||r.target&&r.target!=="_self"?!0:typeof a.value=="object"?!1:a.value===""||c.value),u=ce(!1),f=ce(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"&&!y1()){const m=ye();let p,y=null;Nt(()=>{const b=g1();cs(()=>{p=_i(()=>{var v;(v=f==null?void 0:f.value)!=null&&v.tagName&&(y=b.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(()=>{}),!l.value&&Gf(a.value,s).catch(()=>{})]),u.value=!0}))})})}),Gn(()=>{p&&$v(p),y==null||y(),y=null})}return()=>{var b,v;if(!l.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||(u.value&&(g.class=r.prefetchedClass||e.prefetchedClass),g.rel=r.rel),et(dp("RouterLink"),g,o.default)}const h=typeof a.value=="object"?((b=s.resolve(a.value))==null?void 0:b.href)??null:a.value&&!r.external&&!c.value?n(Cn(i.app.baseURL,a.value),s.resolve):a.value||null,m=r.target||null,p=r.noRel?null:h1(r.rel,e.externalRelAttribute,h?p1:"")||null,y=()=>Of(h,{replace:r.replace});return r.custom?o.default?o.default({href:h,navigate:y,get route(){if(!h)return;const g=Fr(h);return{path:g.pathname,fullPath:g.pathname,get query(){return ff(g.search)},hash:g.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:h}},rel:p,target:m,isExternal:l.value,isActive:!1,isExactActive:!1}):null:et("a",{ref:f,href:h,rel:p,target:m},(v=o.default)==null?void 0:v.call(o))}}})}const Br=m1(f_);function g1(){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 l=n.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&l&&l()}})),n.set(s,i),t.observe(s),()=>{n.delete(s),t.unobserve(s),n.size===0&&(t.disconnect(),t=null)});return e._observer={observe:r}}function y1(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const Rn=()=>{const e=Rt("dd-pages",()=>kt(Qt({}))),t=Rt("dd-surrounds",()=>kt(Qt({}))),n=Rt("dd-navigation"),r=Rt("dd-globals",()=>kt(Qt({})));return{pages:e,surrounds:t,navigation:n,globals:r}},Vr=()=>{const{navigation:e,pages:t,surrounds:n,globals:r}=Rn(),o=ee(()=>_n(at().path)),s=ee(()=>t.value[o.value]),i=ee(()=>n.value[o.value]),a=ee(()=>{var h,m;return(m=(h=s==null?void 0:s.value)==null?void 0:h.body)==null?void 0:m.toc}),c=ee(()=>{var h;return(h=s.value)==null?void 0:h._type}),l=ee(()=>{var h;return(h=s.value)==null?void 0:h.excerpt}),u=ee(()=>{var h;return(h=s.value)==null?void 0:h.layout}),f=ee(()=>{var h;return(h=i.value)==null?void 0:h[1]}),d=ee(()=>{var h;return(h=i.value)==null?void 0:h[0]});return{globals:r,navigation:e,surround:i,page:s,excerpt:l,toc:a,type:c,layout:u,next:f,prev:d}},Xf=e=>{if(!e.children)return e._path;for(const t of(e==null?void 0:e.children)||[]){const n=Xf(t);if(n)return n}},ed=(e,t)=>{for(const n of t){if(n._path===e&&!n._id)return n.children;if(n.children){const r=ed(e,n.children);if(r)return r}}},td=(e,t)=>{for(const n of t){if(n._path===e)return n;if(n.children){const r=td(e,n.children);if(r)return r}}},_1=(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},ma=()=>({navBottomLink:Xf,navDirFromPath:ed,navPageFromPath:td,navKeyFromPath:_1});function ga(e){return JSON.stringify(e,v1)}function v1(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const nd=e=>{let t=ga(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("/")},ya=()=>({isEnabled:()=>{const r=at().query;return Object.prototype.hasOwnProperty.call(r,"preview")&&!r.preview?!1:!!(r.preview||uo("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>uo("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:r=>{uo("previewToken").value=r,at().query.preview=r||"",r?sessionStorage.setItem("previewToken",r):sessionStorage.removeItem("previewToken"),window.location.reload()}}),Lo=e=>df(e,Ze().public.content.api.baseURL),rd=()=>{const{experimental:e}=Ze().public.content;return e.clientDB?!0:ya().isEnabled()},al=(e,t)=>t.split(".").reduce((n,r)=>n&&n[r],e),_a=(e,t)=>Object.keys(e).filter(t).reduce((n,r)=>Object.assign(n,{[r]:e[r]}),{}),lx=e=>t=>e&&e.length?_a(t,n=>!e.includes(n)):t,ux=e=>t=>Array.isArray(t)?t.map(n=>e(n)):e(t),od=e=>{const t=[],n=[];for(const r of e)["$","_"].includes(r)?t.push(r):n.push(r);return{prefixes:t,properties:n}},fx=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=od(e);return _a(t,o=>!r.includes(o)&&!n.includes(o[0]))},dx=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=od(e);return _a(t,o=>r.includes(o)||n.includes(o[0]))},hx=(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=[al(s,o),al(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},px=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},Tt=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],b1=["sort","where","only","without"];function w1(e,t={}){const n={};for(const i of Object.keys(t.initialParams||{}))n[i]=b1.includes(i)?Tt(t.initialParams[i]):t.initialParams[i];const r=(i,a=c=>c)=>(...c)=>(n[i]=a(...c),s),o=i=>{var a;return t.legacy?i!=null&&i.surround?i.surround:i&&(i!=null&&i.dirConfig&&(i.result={_path:(a=i.dirConfig)==null?void 0:a._path,...i.result,_dir:i.dirConfig}),i!=null&&i._path||Array.isArray(i)||!Object.prototype.hasOwnProperty.call(i,"result")?i:i==null?void 0:i.result):i},s={params:()=>({...n,...n.where?{where:[...Tt(n.where)]}:{},...n.sort?{sort:[...Tt(n.sort)]}:{}}),only:r("only",Tt),without:r("without",Tt),where:r("where",i=>[...Tt(n.where),...Tt(i)]),sort:r("sort",i=>[...Tt(n.sort),...Tt(i)]),limit:r("limit",i=>parseInt(String(i),10)),skip:r("skip",i=>parseInt(String(i),10)),find:()=>e(s).then(o),findOne:()=>e(r("first")(!0)).then(o),count:()=>e(r("count")(!0)).then(o),locale:i=>s.where({_locale:i}),withSurround:r("surround",(i,a)=>({query:i,...a})),withDirConfig:()=>r("dirConfig")(!0)};return t.legacy&&(s.findSurround=(i,a)=>s.withSurround(i,a).find().then(o)),s}const E1=()=>async e=>{const{content:t}=Ze().public,n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/query/${`${Oo(n)}.${t.integrity}`}/${nd(n)}.json`):Lo(`/query/${Oo(n)}.${t.integrity}.json`);if(rd())return(await L(()=>import("./client-db.755352fd.js"),["./client-db.755352fd.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.useContentDatabase())).fetch(e);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ga(n),previewToken:ya().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function fo(e,...t){const{content:n}=Ze().public,r=w1(E1(),{initialParams:typeof e!="string"?e:{},legacy:!0});let o;typeof e=="string"&&(o=si(Cn(e,...t)));const s=r.params;return r.params=()=>{var a,c,l;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:_n(o)}):i.where.push({_path:new RegExp(`^${o.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(a=i.sort)!=null&&a.length||(i.sort=[{_file:1,$numeric:!0}]),n.locales.length&&((l=(c=i.where)==null?void 0:c.find(f=>f._locale))!=null&&l._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const C1=async e=>{const{content:t}=Ze().public;typeof(e==null?void 0:e.params)!="function"&&(e=fo(e));const n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/navigation/${`${Oo(n)}.${t.integrity}`}/${nd(n)}.json`):Lo(`/navigation/${Oo(n)}.${t.integrity}.json`);if(rd())return(await L(()=>import("./client-db.755352fd.js"),["./client-db.755352fd.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ga(n),previewToken:ya().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},T1=Be(e=>{var l,u,f,d;const t=(u=(l=Ze())==null?void 0:l.public)==null?void 0:u.content.documentDriven,n=(d=(f=Ze())==null?void 0:f.public)==null?void 0:d.content.experimental.clientDB,{navigation:r,pages:o,globals:s,surrounds:i}=Rn(),a=(h,m,p,y)=>{var b;if(m&&(m!=null&&m.layout))return m.layout;if(h.matched.length&&((b=h.matched[0].meta)!=null&&b.layout))return h.matched[0].meta.layout;if(p&&m){const{navKeyFromPath:v}=ma(),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=_n(h.path),b=[];if(t.navigation&&p.navigation!==!1){const v=()=>{const{navigation:g}=Rn();return g.value&&!m?g.value:C1().then(_=>(g.value=_,_)).catch(()=>null)};b.push(v)}else b.push(()=>Promise.resolve(null));if(t.globals){const v=()=>{const{globals:g}=Rn();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(([_,P])=>{if(!m&&g.value[_])return g.value[_];let S="findOne";return P!=null&&P.type&&(S=P.type),fo(P)[S]().catch(()=>null)})).then(_=>_.reduce((P,S,I)=>{const k=Object.keys(t.globals)[I];return P[k]=S,P},{}))};b.push(v)}else b.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:_}=Rn();return!m&&_.value[y]&&_.value[y]._path===y?_.value[y]:fo().where(v).findOne().catch(()=>null)};b.push(g)}else b.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:_}=Rn();return!m&&_.value[y]?_.value[y]:fo().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(v).catch(()=>null)};b.push(g)}else b.push(()=>Promise.resolve(null));return await Promise.all(b.map(v=>v())).then(async([v,g,_,P])=>{var I,k;v&&(r.value=v),g&&(s.value=g),P&&(i.value[y]=P);const S=(_==null?void 0:_.redirect)||((k=(I=_==null?void 0:_._dir)==null?void 0:I.navigation)==null?void 0:k.redirect);if(S)return o.value[y]=_,S;if(_){const H=a(h,_,v,g),R=fr[H];R&&typeof R=="function"&&await R(),h.meta.layout=H,_.layout=H}o.value[y]=_,await e.callHook("content:document-driven:finish",{route:h,dedup:m,page:_,navigation:v,globals:g,surround:P})})};{const h=ct();e.hook("link:prefetch",m=>{if(!(m in o.value)&&!en(m)){const p=h.resolve(m);p.matched.length>0&&c(p)}}),e.hooks.hook("content:document-driven:finish",({page:m})=>{var p;(p=m==null?void 0:m.body)!=null&&p.children&&sd(m.body.children)})}n_(async(h,m)=>{if(!n&&h.path===m.path){if(!h.meta.layout){const y=_n(h.path);o.value[y]&&(h.meta.layout=o.value[y].layout)}return}const p=await c(h,!1);if(p)return en(p)?bf(e,Of,[p,{external:!0}]):p}),e.hook("app:data:refresh",async()=>await c(at(),!0))});function sd(e){for(const t of e)if(t.children&&sd(t.children),t.type==="element"&&t.tag){const n=Bb(t.tag);for(const r of["Prose"+n,n])Nb.includes(r)&&u1(r)}}const P1=Be(e=>{const t=Ze().public.studio||{},n=at(),r=uo("previewToken",{sameSite:"none",secure:!0}),o=Rt("studio-client-db",()=>null);async function s(){const i=await L(()=>import("./useStudio.8cba1fae.js"),["./useStudio.8cba1fae.js","./useStudio.5fa23b79.css"],import.meta.url).then(l=>l.useStudio),{mountPreviewUI:a,initiateIframeCommunication:c}=i();a(),c()}if(t.apiURL){if(Object.prototype.hasOwnProperty.call(n.query,"preview")&&!n.query.preview||!n.query.preview&&!r.value)return;n.query.preview&&(r.value=String(n.query.preview)),window.sessionStorage.setItem("previewToken",String(r.value)),e.hook("content:storage",i=>{o.value=i}),e.hook("app:mounted",async()=>{await s()})}});let va=(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 id=new RegExp("\\{([^}]+)\\}","g"),x1="@dark",A1="@light",S1="@initial";function cl(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]=cd(e[o],t,n)}}return r}function R1(e={},t={}){const n={key:"attributes.variable",onNotFound:!1,...t};function r(o=void 0,s){if(!o)return M(e);const i={...n,...s},{key:a,onNotFound:c}=i,l=$o(M(e),o);if(!l&&typeof c=="function"){c(o,i);return}return a?l&&(l[a]?l[a]:$o(l,a)):l}return r.bind(this)}function ld(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 I1(e,t,n,r,o=[],s,i){var c;const a=O1(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=k1(e,t,o,s,i),{[e]:t}))}function k1(e,t,n,r,o){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(s=>ll(e,s,n,r,o)).join(","):t=ll(e,t,n,r,o)),t}function ll(e,t,n,r,o){return typeof t=="number"?t:(t.match(id)&&(t=ud(e,t,n,r,o)),t==="{}"?"":t)}function ud(e,t,n,r,o){return typeof t!="string"||(t=t.replace(id,(s,i)=>{const a=ld(i),c=`var(${a})`;if(n.includes(a))return c;const l=r.$tokens(i,{key:void 0,loc:o}),u=typeof l=="string"?l:(l==null?void 0:l.variable)||(l==null?void 0:l.value);return u||c})),t}function O1(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===x1)return s("dark");if(e===A1)return s("light");if(e===S1){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 L1(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}`} } }`} +`)},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 Yf="[native code] }",Qb=Yf.length;function sl(e){return typeof e!="function"?!1:Function.prototype.toString.call(e).slice(-Qb)===Yf}class Yt{constructor(t,n){t=this.words=t||[],this.sigBytes=n===void 0?t.length*4:n}toString(t){return(t||Jb).stringify(this)}concat(t){if(this.clamp(),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];return this.sigBytes+=t.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Yt([...this.words])}}const Jb={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("")}},Zb={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("")}},Yb={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new Yt(n,t)}},Gb={parse(e){return Yb.parse(unescape(encodeURIComponent(e)))}};class Xb{constructor(){this._data=new Yt,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Yt,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=Gb.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,P=an[d-2],S=(P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10;an[d]=_+an[d-7]+S+an[d-16]}const h=c&l^~c&u,m=o&s^o&i^s&i,p=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),y=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),b=f+y+h+t1[d]+an[d],v=p+m;f=u,u=l,l=c,c=a+b|0,a=i,i=s,s=o,o=b+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]+l|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0}finalize(t){super.finalize(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function r1(e){return new n1().finalize(e).toString(Zb)}function Oo(e,t={}){const n=typeof e=="string"?e:Wb(e,t);return r1(n).slice(0,10)}const o1={path:"/",watch:!0,decode:e=>kr(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function uo(e,t){var c;const n={...o1,...t},r=s1(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=s?void 0:r[e]??((c=n.default)==null?void 0:c.call(n)),a=o&&!s?c1(i,o):ce(i);{const l=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${e}`),u=()=>{a1(e,a.value,n),l==null||l.postMessage(n.encode(a.value))};let f=!1;Ko()&&En(()=>{f=!0,u(),l==null||l.close()}),l&&(l.onmessage=d=>{f=!0,a.value=n.decode(d.data),Et(()=>{f=!1})}),n.watch?ge(a,()=>{f||u()},{deep:n.watch!=="shallow"}):u()}return a}function s1(e={}){return Fy(document.cookie,e)}function i1(e,t,n={}){return t==null?$c(e,t,{...n,maxAge:-1}):$c(e,t,n)}function a1(e,t,n={}){document.cookie=i1(e,t,n)}function c1(e,t){let n;return En(()=>{clearTimeout(n)}),mu((r,o)=>({get(){return r(),e},set(s){clearTimeout(n),n=setTimeout(()=>{e=void 0,o()},t),e=s,o()}}))}const l1=async e=>{const t=ye();e=Array.isArray(e)?e:[e],await Promise.all(e.map(n=>f1(t.vueApp._context.components[n])))},u1=e=>l1(e);function f1(e){if(e!=null&&e.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Gf(e,t=ct()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(n)))return;const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>Gf(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 d1(e={}){const t=e.path||window.location.pathname;let n={};try{n=kr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires)e.find(t=>t!==void 0),p1="noopener noreferrer";/*! @__NO_SIDE_EFFECTS__ */function m1(e){const t=e.componentName||"NuxtLink",n=(r,o)=>{if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;const s=e.trailingSlash==="append"?xo:_n;if(typeof r=="string")return s(r,!0);const i="path"in r?r.path:o(r).path;return{...r,name:void 0,path:s(i,!0)}};return Ae({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(r,{slots:o}){const s=ct(),i=Ze(),a=ee(()=>{const h=r.to||r.href||"";return n(h,s.resolve)}),c=ee(()=>typeof a.value=="string"&&en(a.value,{acceptRelative:!0})),l=ee(()=>r.external||r.target&&r.target!=="_self"?!0:typeof a.value=="object"?!1:a.value===""||c.value),u=ce(!1),f=ce(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"&&!y1()){const m=ye();let p,y=null;Nt(()=>{const b=g1();cs(()=>{p=_i(()=>{var v;(v=f==null?void 0:f.value)!=null&&v.tagName&&(y=b.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(()=>{}),!l.value&&Gf(a.value,s).catch(()=>{})]),u.value=!0}))})})}),Gn(()=>{p&&$v(p),y==null||y(),y=null})}return()=>{var b,v;if(!l.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||(u.value&&(g.class=r.prefetchedClass||e.prefetchedClass),g.rel=r.rel),et(dp("RouterLink"),g,o.default)}const h=typeof a.value=="object"?((b=s.resolve(a.value))==null?void 0:b.href)??null:a.value&&!r.external&&!c.value?n(Cn(i.app.baseURL,a.value),s.resolve):a.value||null,m=r.target||null,p=r.noRel?null:h1(r.rel,e.externalRelAttribute,h?p1:"")||null,y=()=>Of(h,{replace:r.replace});return r.custom?o.default?o.default({href:h,navigate:y,get route(){if(!h)return;const g=Fr(h);return{path:g.pathname,fullPath:g.pathname,get query(){return ff(g.search)},hash:g.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:h}},rel:p,target:m,isExternal:l.value,isActive:!1,isExactActive:!1}):null:et("a",{ref:f,href:h,rel:p,target:m},(v=o.default)==null?void 0:v.call(o))}}})}const Br=m1(f_);function g1(){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 l=n.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&l&&l()}})),n.set(s,i),t.observe(s),()=>{n.delete(s),t.unobserve(s),n.size===0&&(t.disconnect(),t=null)});return e._observer={observe:r}}function y1(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const Rn=()=>{const e=Rt("dd-pages",()=>kt(Qt({}))),t=Rt("dd-surrounds",()=>kt(Qt({}))),n=Rt("dd-navigation"),r=Rt("dd-globals",()=>kt(Qt({})));return{pages:e,surrounds:t,navigation:n,globals:r}},Vr=()=>{const{navigation:e,pages:t,surrounds:n,globals:r}=Rn(),o=ee(()=>_n(at().path)),s=ee(()=>t.value[o.value]),i=ee(()=>n.value[o.value]),a=ee(()=>{var h,m;return(m=(h=s==null?void 0:s.value)==null?void 0:h.body)==null?void 0:m.toc}),c=ee(()=>{var h;return(h=s.value)==null?void 0:h._type}),l=ee(()=>{var h;return(h=s.value)==null?void 0:h.excerpt}),u=ee(()=>{var h;return(h=s.value)==null?void 0:h.layout}),f=ee(()=>{var h;return(h=i.value)==null?void 0:h[1]}),d=ee(()=>{var h;return(h=i.value)==null?void 0:h[0]});return{globals:r,navigation:e,surround:i,page:s,excerpt:l,toc:a,type:c,layout:u,next:f,prev:d}},Xf=e=>{if(!e.children)return e._path;for(const t of(e==null?void 0:e.children)||[]){const n=Xf(t);if(n)return n}},ed=(e,t)=>{for(const n of t){if(n._path===e&&!n._id)return n.children;if(n.children){const r=ed(e,n.children);if(r)return r}}},td=(e,t)=>{for(const n of t){if(n._path===e)return n;if(n.children){const r=td(e,n.children);if(r)return r}}},_1=(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},ma=()=>({navBottomLink:Xf,navDirFromPath:ed,navPageFromPath:td,navKeyFromPath:_1});function ga(e){return JSON.stringify(e,v1)}function v1(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const nd=e=>{let t=ga(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("/")},ya=()=>({isEnabled:()=>{const r=at().query;return Object.prototype.hasOwnProperty.call(r,"preview")&&!r.preview?!1:!!(r.preview||uo("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>uo("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:r=>{uo("previewToken").value=r,at().query.preview=r||"",r?sessionStorage.setItem("previewToken",r):sessionStorage.removeItem("previewToken"),window.location.reload()}}),Lo=e=>df(e,Ze().public.content.api.baseURL),rd=()=>{const{experimental:e}=Ze().public.content;return e.clientDB?!0:ya().isEnabled()},al=(e,t)=>t.split(".").reduce((n,r)=>n&&n[r],e),_a=(e,t)=>Object.keys(e).filter(t).reduce((n,r)=>Object.assign(n,{[r]:e[r]}),{}),lx=e=>t=>e&&e.length?_a(t,n=>!e.includes(n)):t,ux=e=>t=>Array.isArray(t)?t.map(n=>e(n)):e(t),od=e=>{const t=[],n=[];for(const r of e)["$","_"].includes(r)?t.push(r):n.push(r);return{prefixes:t,properties:n}},fx=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=od(e);return _a(t,o=>!r.includes(o)&&!n.includes(o[0]))},dx=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=od(e);return _a(t,o=>r.includes(o)||n.includes(o[0]))},hx=(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=[al(s,o),al(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},px=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},Tt=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],b1=["sort","where","only","without"];function w1(e,t={}){const n={};for(const i of Object.keys(t.initialParams||{}))n[i]=b1.includes(i)?Tt(t.initialParams[i]):t.initialParams[i];const r=(i,a=c=>c)=>(...c)=>(n[i]=a(...c),s),o=i=>{var a;return t.legacy?i!=null&&i.surround?i.surround:i&&(i!=null&&i.dirConfig&&(i.result={_path:(a=i.dirConfig)==null?void 0:a._path,...i.result,_dir:i.dirConfig}),i!=null&&i._path||Array.isArray(i)||!Object.prototype.hasOwnProperty.call(i,"result")?i:i==null?void 0:i.result):i},s={params:()=>({...n,...n.where?{where:[...Tt(n.where)]}:{},...n.sort?{sort:[...Tt(n.sort)]}:{}}),only:r("only",Tt),without:r("without",Tt),where:r("where",i=>[...Tt(n.where),...Tt(i)]),sort:r("sort",i=>[...Tt(n.sort),...Tt(i)]),limit:r("limit",i=>parseInt(String(i),10)),skip:r("skip",i=>parseInt(String(i),10)),find:()=>e(s).then(o),findOne:()=>e(r("first")(!0)).then(o),count:()=>e(r("count")(!0)).then(o),locale:i=>s.where({_locale:i}),withSurround:r("surround",(i,a)=>({query:i,...a})),withDirConfig:()=>r("dirConfig")(!0)};return t.legacy&&(s.findSurround=(i,a)=>s.withSurround(i,a).find().then(o)),s}const E1=()=>async e=>{const{content:t}=Ze().public,n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/query/${`${Oo(n)}.${t.integrity}`}/${nd(n)}.json`):Lo(`/query/${Oo(n)}.${t.integrity}.json`);if(rd())return(await L(()=>import("./client-db.75ee831a.js"),["./client-db.75ee831a.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.useContentDatabase())).fetch(e);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ga(n),previewToken:ya().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function fo(e,...t){const{content:n}=Ze().public,r=w1(E1(),{initialParams:typeof e!="string"?e:{},legacy:!0});let o;typeof e=="string"&&(o=si(Cn(e,...t)));const s=r.params;return r.params=()=>{var a,c,l;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:_n(o)}):i.where.push({_path:new RegExp(`^${o.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(a=i.sort)!=null&&a.length||(i.sort=[{_file:1,$numeric:!0}]),n.locales.length&&((l=(c=i.where)==null?void 0:c.find(f=>f._locale))!=null&&l._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const C1=async e=>{const{content:t}=Ze().public;typeof(e==null?void 0:e.params)!="function"&&(e=fo(e));const n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/navigation/${`${Oo(n)}.${t.integrity}`}/${nd(n)}.json`):Lo(`/navigation/${Oo(n)}.${t.integrity}.json`);if(rd())return(await L(()=>import("./client-db.75ee831a.js"),["./client-db.75ee831a.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ga(n),previewToken:ya().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},T1=Be(e=>{var l,u,f,d;const t=(u=(l=Ze())==null?void 0:l.public)==null?void 0:u.content.documentDriven,n=(d=(f=Ze())==null?void 0:f.public)==null?void 0:d.content.experimental.clientDB,{navigation:r,pages:o,globals:s,surrounds:i}=Rn(),a=(h,m,p,y)=>{var b;if(m&&(m!=null&&m.layout))return m.layout;if(h.matched.length&&((b=h.matched[0].meta)!=null&&b.layout))return h.matched[0].meta.layout;if(p&&m){const{navKeyFromPath:v}=ma(),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=_n(h.path),b=[];if(t.navigation&&p.navigation!==!1){const v=()=>{const{navigation:g}=Rn();return g.value&&!m?g.value:C1().then(_=>(g.value=_,_)).catch(()=>null)};b.push(v)}else b.push(()=>Promise.resolve(null));if(t.globals){const v=()=>{const{globals:g}=Rn();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(([_,P])=>{if(!m&&g.value[_])return g.value[_];let S="findOne";return P!=null&&P.type&&(S=P.type),fo(P)[S]().catch(()=>null)})).then(_=>_.reduce((P,S,I)=>{const k=Object.keys(t.globals)[I];return P[k]=S,P},{}))};b.push(v)}else b.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:_}=Rn();return!m&&_.value[y]&&_.value[y]._path===y?_.value[y]:fo().where(v).findOne().catch(()=>null)};b.push(g)}else b.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:_}=Rn();return!m&&_.value[y]?_.value[y]:fo().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(v).catch(()=>null)};b.push(g)}else b.push(()=>Promise.resolve(null));return await Promise.all(b.map(v=>v())).then(async([v,g,_,P])=>{var I,k;v&&(r.value=v),g&&(s.value=g),P&&(i.value[y]=P);const S=(_==null?void 0:_.redirect)||((k=(I=_==null?void 0:_._dir)==null?void 0:I.navigation)==null?void 0:k.redirect);if(S)return o.value[y]=_,S;if(_){const H=a(h,_,v,g),R=fr[H];R&&typeof R=="function"&&await R(),h.meta.layout=H,_.layout=H}o.value[y]=_,await e.callHook("content:document-driven:finish",{route:h,dedup:m,page:_,navigation:v,globals:g,surround:P})})};{const h=ct();e.hook("link:prefetch",m=>{if(!(m in o.value)&&!en(m)){const p=h.resolve(m);p.matched.length>0&&c(p)}}),e.hooks.hook("content:document-driven:finish",({page:m})=>{var p;(p=m==null?void 0:m.body)!=null&&p.children&&sd(m.body.children)})}n_(async(h,m)=>{if(!n&&h.path===m.path){if(!h.meta.layout){const y=_n(h.path);o.value[y]&&(h.meta.layout=o.value[y].layout)}return}const p=await c(h,!1);if(p)return en(p)?bf(e,Of,[p,{external:!0}]):p}),e.hook("app:data:refresh",async()=>await c(at(),!0))});function sd(e){for(const t of e)if(t.children&&sd(t.children),t.type==="element"&&t.tag){const n=Bb(t.tag);for(const r of["Prose"+n,n])Nb.includes(r)&&u1(r)}}const P1=Be(e=>{const t=Ze().public.studio||{},n=at(),r=uo("previewToken",{sameSite:"none",secure:!0}),o=Rt("studio-client-db",()=>null);async function s(){const i=await L(()=>import("./useStudio.62af6f7a.js"),["./useStudio.62af6f7a.js","./useStudio.5fa23b79.css"],import.meta.url).then(l=>l.useStudio),{mountPreviewUI:a,initiateIframeCommunication:c}=i();a(),c()}if(t.apiURL){if(Object.prototype.hasOwnProperty.call(n.query,"preview")&&!n.query.preview||!n.query.preview&&!r.value)return;n.query.preview&&(r.value=String(n.query.preview)),window.sessionStorage.setItem("previewToken",String(r.value)),e.hook("content:storage",i=>{o.value=i}),e.hook("app:mounted",async()=>{await s()})}});let va=(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 id=new RegExp("\\{([^}]+)\\}","g"),x1="@dark",A1="@light",S1="@initial";function cl(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]=cd(e[o],t,n)}}return r}function R1(e={},t={}){const n={key:"attributes.variable",onNotFound:!1,...t};function r(o=void 0,s){if(!o)return M(e);const i={...n,...s},{key:a,onNotFound:c}=i,l=$o(M(e),o);if(!l&&typeof c=="function"){c(o,i);return}return a?l&&(l[a]?l[a]:$o(l,a)):l}return r.bind(this)}function ld(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 I1(e,t,n,r,o=[],s,i){var c;const a=O1(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=k1(e,t,o,s,i),{[e]:t}))}function k1(e,t,n,r,o){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(s=>ll(e,s,n,r,o)).join(","):t=ll(e,t,n,r,o)),t}function ll(e,t,n,r,o){return typeof t=="number"?t:(t.match(id)&&(t=ud(e,t,n,r,o)),t==="{}"?"":t)}function ud(e,t,n,r,o){return typeof t!="string"||(t=t.replace(id,(s,i)=>{const a=ld(i),c=`var(${a})`;if(n.includes(a))return c;const l=r.$tokens(i,{key:void 0,loc:o}),u=typeof l=="string"?l:(l==null?void 0:l.variable)||(l==null?void 0:l.value);return u||c})),t}function O1(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===x1)return s("dark");if(e===A1)return s("light");if(e===S1){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 L1(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 ul=/\s*,\s*(?![^()]*\))/,$1=(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:M1}}=Object,N1=(e,t=void 0)=>{const n=new WeakSet,r=(s,i,a,c,l,u,f)=>{for(let d=0;d{let u="";for(const f in s){const d=f.charCodeAt(0)===64,h=f.charCodeAt(0)===45&&f.charCodeAt(1)===45;for(const m of d&&Array.isArray(s[f])?s[f]:[s[f]]){if(t&&(f!==c||m!==l)){const y=t(f,m,s,i);if(y!==null){u+=typeof y=="object"&&y?o(y,i,a,f,m):y??"";continue}}if(typeof m=="object"&&m&&m.toString===M1){n.has(i)&&(n.delete(i),u+="}");const y=Object(f);let b;d?(b=i,u+=o(m,b,a.concat(y))):(b=i.length?$1(i,f.split(ul)):f.split(ul),u+=o(m,b,a)),n.has(y)&&(n.delete(y),u+="}"),n.has(b)&&(n.delete(b),u+="}")}else u=r(u,i,a,f,m,d,h)}}return u};return o(e,[],[])},fd=".phy[--]";function D1(e,t={},n,r){const o=ce(),s=ce(t),i={},a=(m,p)=>N1(m,(y,b,v,g)=>I1(y,b,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 b=`pinceau-runtime${r?`-${r}`:""}`,v=m.document;if(p=v.querySelector(`style#${b}`),!p){const g=v.createElement("style");g.id=b,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)||H1(),y?l(y):void 0}function l(m){var y,b;const p={};for(const v of Object.entries(((y=m==null?void 0:m.sheet)==null?void 0:y.cssRules)||((b=o.value)==null?void 0:b.cssRules)||{})){const[g,_]=v,P=j1(_);if(!P||!P.uid)continue;p[P.uid]||(p[P.uid]={});const S=o.value.insertRule(_.cssText,Number(g));p[P.uid][P.type]=o.value.cssRules.item(S)}return m&&m.remove(),p}function u(){return o.value?Object.entries(o.value.cssRules).reduce((m,[,p])=>(m+=`${p==null?void 0:p.cssText} `||"",m),""):""}function f(m,p,y,b,v){if(!Object.keys(y).length)return;const g=a({"@media":{[fd]:{"--puid":`${m}-${p}`},...y}},v);if(!g)return;b&&d(b);const _=o.value.insertRule(g);return o.value.cssRules[_]}function d(m){const p=Object.values(o.value.cssRules).indexOf(m);if(!(typeof p>"u"||isNaN(p)))try{o.value.deleteRule(p)}catch{}}const h=c();return{stringify:a,cache:i,pushDeclaration:f,deleteRule:d,sheet:o,toString:u,hydratableRules:h}}function H1(){return{cssRules:[],insertRule(e,t=this.cssRules.length){return this.cssRules.splice(t,1,{cssText:e}),t},deleteRule(e){delete this.cssRules[e]}}}function j1(e){const t=e.cssRules&&e.cssRules.length?Object.entries(e==null?void 0:e.cssRules).find(([s,i])=>i.selectorText===fd):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 F1(e,t,n){var a,c,l;let r;const o=(a=e==null?void 0:e.vnode)==null?void 0:a.el;o&&o.classList?o.classList.forEach(u=>{r||u.startsWith("pc-")&&(r=u.split("pc-")[1])}):r=va(6);const s=(l=(c=e==null?void 0:e.vnode)==null?void 0:c.type)==null?void 0:l.__scopeId,i={uid:r,componentId:s?`[${s}]`:"",uniqueClassName:`pc-${r}`};return t.value.c=i.uniqueClassName,ee(()=>i)}function B1(e,t={},n){const r=ce(),o=ce(e||{});t=Object.assign({key:"variable"},t||{});const s=R1(o,t);let i={};c();function a(p){var y;for(const b of p.styleSheets)if((y=b==null?void 0:b.ownerNode)!=null&&y.textContent.includes("--pinceau-mq"))return b.ownerNode}function c(){var y;const p=globalThis||window;if(p&&p.document){let b=document.querySelector("#pinceau-theme");b||(b=a(document)),r.value=b==null?void 0:b.sheet,r.value&&l((y=r.value)==null?void 0:y.cssRules)}}function l(p){i={},Object.entries(p||{}).forEach(([y,b])=>{var g,_;if((b==null?void 0:b.type)!==4&&!((g=b==null?void 0:b.cssText)!=null&&g.includes("--pinceau-mq")))return!1;let v="initial";(_=b.cssText.match(/--([\w-]+)\s*:\s*(.+?);/gm))==null||_.forEach(P=>{var H;const[S,I]=P.replace(";","").split(/:\s(.*)/s);if(S==="--pinceau-mq"){if(v=I,!i[I]){const R=(H=Object.entries((b==null?void 0:b.cssRules)||{}).find(([T,C])=>C==null?void 0:C.cssText.includes(`--pinceau-mq: ${I}`)))==null?void 0:H[1];R&&(i[I]=R)}return}const k=[...S.substring(2).split("-")];cl(o.value,k,h(k,I,S,v))})})}function u(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)||{})])),b=cd(p||{},y,!0);ad(b,(g,_,P)=>f(P,g.value))}function f(p,y,b="initial"){var _;if(typeof y=="object"){Object.entries(y).forEach(([P,S])=>f(p,S,P));return}const v=ld(p);i!=null&&i[b]||m(b);const g=ud(void 0,y,[],{$tokens:s});cl(o.value,p,h(p,g,v,b)),(_=i==null?void 0:i[b])==null||_.style.setProperty(v,g)}function d(p){return ee({get(){return $o(o.value,`${p}.value`)},set(y){f(p,y)}})}function h(p,y,b,v="initial"){const g={value:y,variable:`var(${b})`},_=$o(o.value,p);return _&&!b.startsWith("--media")&&(typeof(_==null?void 0:_.value)=="object"?g.value={..._.value,[v]:y}:g.value={initial:_.value,[v]:y}),g}function m(p){if(i!=null&&i[p])return i==null?void 0:i[p];const y=L1(p,"",o.value,n),b=r.value.insertRule(y,r.value.cssRules.length);return i[p]=r.value.cssRules.item(b).cssRules[0],i[p]}return{$tokens:s,updateToken:f,updateTheme:u,reactiveToken:d,resolveStylesheet:c,theme:o}}function V1(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=z1(e.value,a),o=n.pushDeclaration(e.value.uid,"c",a,o,{...r,type:"c"})},{immediate:!o,deep:!0}),En(()=>o&&n.deleteRule(o))}function z1(e,t){const n={},r=`.${e.uniqueClassName}${e.componentId}`;if(t&&Object.keys(t).length){n[r]=n[r]||{};for(const[o,s]of Object.entries(t)){const i=M(s);if(o==="css"){n[r]=Object.assign(n[r],i);continue}if(typeof i=="object")for(const[a,c]of Object.entries(i)){const l=M(c);if(!l)continue;a==="initial"&&(n[r]||(n[r]={}),n[r]||(n[r]={}),n[r][`--${o}`]=l);const u=`@${a}`;n[u]||(n[u]={}),n[u][r]||(n[u][r]={}),n[u][r][`--${vi(o)}`]=l}else{const a=M(i);a&&(n[r][`--${vi(o)}`]=a)}}}return n}const U1=(e,t,n,r,o,s)=>{var l,u;let i=(u=(l=r.hydratableRules)==null?void 0:l[e.value.uid])==null?void 0:u.v;const a=ee(()=>t?W1(e.value,n,t):{}),c=ce([]);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-${va(6)}`;const{declaration:m,classes:p}=K1(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}),En(()=>{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 K1(e,t,n,r){var i,a;let o=[];const s={};if(r&&Object.keys(r).length){const c=`.${e}`;for(const[l,u]of Object.entries(r))if(typeof u=="object")for(const[f,d]of Object.entries(u)){const h=(d==null?void 0:d.toString())||d,m=n[l][h];if(!m)continue;if(s[c]||(s[c]={}),typeof m=="string"||Array.isArray(m)||m!=null&&m.$class){const y=typeof m=="string"||Array.isArray(m)?m:m.$class;o=[...o,...typeof y=="string"?y.split(" "):y],delete m.$class}f==="initial"&&(s[c]||(s[c]={}),s[c]=jn(s[c],m));const p=`@${f}`;s[p]||(s[p]={}),s[p][c]||(s[p][c]={}),s[p][c]=jn(s[p][c],m)}else{const f=((i=u==null?void 0:u.toString)==null?void 0:i.call(u))||u,d=(a=n==null?void 0:n[l])==null?void 0:a[f];if(!d)continue;s[c]||(s[c]={}),s[c]=jn(s[c],d)}}return{declaration:s,classes:o}}function W1(e,t,n){if(!t||!n)return{};let r=e.componentId;const o=Object.entries(t).reduce((s,[i,a])=>(n[i]&&(typeof a=="object"?Object.entries(a).forEach(([c,l])=>r+=`${i}:${c}:${l}|`):r+=`${i}:${a}|`,s[i]=a),s),{});return{cacheId:r,variantsProps:o}}function q1(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=Q1(e.value,c),o&&n.deleteRule(o),o=n.pushDeclaration(e.value.uid,"p",c,o,{...r,type:"c"})},{immediate:!o}),En(()=>o&&n.deleteRule(o))}function Q1(e,t){const n={};if(t){const r=`.${e.uniqueClassName}${e.componentId}`;n[r]=Object.assign(n[r]||{},t)}return n}const J1={theme:{},utils:{},tokensHelperConfig:{},multiApp:!1,colorSchemeMode:"media",dev:!1},Z1={install(e,t){t=Object.assign(J1,t);const{theme:n,tokensHelperConfig:r,dev:o,multiApp:s,colorSchemeMode:i,utils:a}=t,c=B1(n,r,i),l=s?va(6):void 0,u=D1(c.$tokens,a,i,l);function f(d={},h,m){const p=pt();let y;const b=ce({v:"",c:""}),v=F1(p,b);m&&Object.keys(m).length>0&&V1(v,m,u,y);let g;if(h&&Object.keys(h).length>0){const{variantsClasses:_}=U1(v,h,d,u,b,y);g=_}return d!=null&&d.css&&Object.keys(d==null?void 0:d.css).length>0&&q1(v,d,u,y),{$pinceau:ee(()=>{var _;return[b.value.v,b.value.c,(_=g==null?void 0:g.value)==null?void 0:_.join(" ")].join(" ")})}}e.config.globalProperties.$pinceauRuntime=f,e.config.globalProperties.$pinceauTheme=c,e.config.globalProperties.$pinceauSsr={get:()=>u.toString()},e.provide("pinceauRuntime",f),e.provide("pinceauTheme",c)}};function Y1(e,t,n){return De("pinceauRuntime")(e,t,n)}function mx(){return De("pinceauTheme")}function gx(e,t=!1){return{type:[String,Object],default:e,required:t}}const G1=e=>({marginTop:e,marginBottom:e}),X1=e=>({marginLeft:e,marginRight:e}),ew=e=>({paddingTop:e,paddingBottom:e}),tw=e=>({paddingLeft:e,paddingRight:e}),nw={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},rw=e=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":e}),ow=e=>({fontSize:`{text.${e}.fontSize}`,lineHeight:`{text.${e}.lineHeight}`}),sw=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`}}}}),iw={my:G1,mx:X1,py:ew,px:tw,truncate:nw,lineClamp:rw,text:ow,stateColors:sw},aw=Be(async e=>e.vueApp.use(Z1,{colorSchemeMode:"class",utils:iw})),cw="__NUXT_COLOR_MODE__",lw="ColorScheme",uw="theme",fw="nuxt-color-mode",Pt=window[cw],dw=Be(e=>{const t=Rt("color-mode",()=>tt({preference:Pt.preference,value:Pt.value,unknown:!1,forced:!1})).value;Lr({htmlAttrs:{[`data-${uw}`]:ee(()=>t.value)}}),ct().afterEach(o=>{const s=o.meta.colorMode;s&&s!=="system"?(t.value=s,t.forced=!0):(s==="system"&&console.warn("You cannot force the colorMode to system at the page level."),t.forced=!1,t.value=t.preference==="system"?Pt.getColorScheme():t.preference)});let n;function r(){n||!window.matchMedia||(n=window.matchMedia("(prefers-color-scheme: dark)"),n.addEventListener("change",()=>{!t.forced&&t.preference==="system"&&(t.value=Pt.getColorScheme())}))}ge(()=>t.preference,o=>{var s;t.forced||(o==="system"?(t.value=Pt.getColorScheme(),r()):t.value=o,(s=window.localStorage)==null||s.setItem(fw,o))},{immediate:!0}),ge(()=>t.value,(o,s)=>{Pt.removeColorScheme(s),Pt.addColorScheme(o)}),t.preference==="system"&&r(),e.hook("app:mounted",()=>{t.unknown&&(t.preference=Pt.preference,t.value=Pt.value,t.unknown=!1)}),e.provide("colorMode",t)});function qn(e,...t){np(`[vue-recaptcha]: ${e}`,...t)}function ls(e,t){if(!e)throw qn(t),new Error(`Invariant violation: ${t}`)}const dd="vue-recaptcha-context";function us(){const e=De(dd);if(!e)throw qn("You may forget to `use` vue-recaptcha plugin"),new Error("useRecaptcha() is called without provider.");return e}function yx(){return us().proxy}function _x(){const e=us();return ls(e.options.v2SiteKey,"Your config is not compatible with recaptcha v2, please provide v2SiteKey"),e.options.v2SiteKey}function vx(){const e=us();return ls(e.options.v3SiteKey,"Your config is not compatible with recaptcha v3, please provide v3SiteKey"),e.options.v3SiteKey}function hw(e){var t;return ls(e.v2SiteKey||e.v3SiteKey,"You didn't pass v2SiteKey or v3SiteKey to plugin, which may be a mistake"),{...e,loaderOptions:{...e.loaderOptions,params:{...(t=e.loaderOptions)==null?void 0:t.params,render:e.v3SiteKey??"explicit"}}}}function pw(){const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}function mw(e){return t=>e(gw(t))}function gw(e){return{...e,recaptchaApiURL:e.recaptchaApiURL??(e.useRecaptchaNet?"https://www.recaptcha.net/recaptcha/api.js":"https://www.google.com/recaptcha/api.js")}}const fs=pw(),ho="__vueRecaptchaLoaded";typeof window<"u"&&(window[ho]=()=>{fs.resolve()});function yw(e){return new URLSearchParams(_w(e)).toString()}function _w(e){const t=jn(e,{onload:ho,render:"explicit"});return t.render==="onload"&&(qn("passing `onload` as `render` param is not allowed"),t.render="explicit"),t.onload!==ho&&(qn("passing `onload` param with other value is not allowed"),t.onload=ho),vw(t)}function vw(e){return Object.entries(e).filter(t=>typeof t[1]=="string")}function hd(){if(typeof window>"u")return!1;const e=Object.hasOwn(window,"grecaptcha")&&Object.hasOwn(window.grecaptcha,"execute");return e&&fs.resolve(),e}function bw(e,t){function n(){ls(e.value,"ReCAPTCHA is not loaded")}async function r(){await fs.promise,e.value=!0}return{async render(o,s){return await r(),t().render(o,s)},reset(o){typeof o>"u"||(n(),t().reset(o))},async execute(o,s){if(!(typeof o>"u"))return await r(),t().execute(o,s)}}}function ww(e,{getRecaptcha:t=()=>window.grecaptcha}={}){return{install(n,r){const o=ce(!1);async function s(){await fs.promise,o.value=!0}s().catch(a=>qn("fail to load reCAPTCHA script",a)),hd();const i=hw(r);n.provide(dd,{isReady:o,scriptInjected:!1,proxy:bw(o,t),useScriptProvider:e(i.loaderOptions),options:i})}}}const Ew=mw(e=>()=>{Lr({link:[{key:"vue-recaptcha-google",rel:"preconnect",href:e.useRecaptchaNet?"https://www.recaptcha.net":"https://www.google.com"},{key:"vue-recaptcha-gstatic",rel:"preconnect",href:"https://www.gstatic.com",crossorigin:""}],script:[{key:"vue-recaptcha",src:`${e.recaptchaApiURL}?${yw(e.params)}`,async:!0,defer:!0,nonce:e.nonce}]})});function pd(e){return Ko()?(En(e),!0):!1}function bx(){const e=new Set,t=o=>{e.delete(o)};return{on:o=>{e.add(o);const s=()=>t(o);return pd(s),{off:s}},off:t,trigger:o=>Promise.all(Array.from(e).map(s=>s(o)))}}function xt(e){return typeof e=="function"?e():M(e)}const Cw=()=>{};function wx(...e){if(e.length!==1)return Qo(...e);const t=e[0];return typeof t=="function"?qo(mu(()=>({get:t,set:Cw}))):ce(t)}function Ex(e,t,n){return ge(e,(r,o,s)=>{r&&t(r,o,s)},n)}function Tw(){const e=us();e.scriptInjected?qn("`useRecaptchaProvider` is used multiple time"):(e.scriptInjected=!0,e.useScriptProvider(),Nt(()=>{hd()}))}const Pw=ww(Ew),xw=Be(({vueApp:e})=>{const{public:{recaptcha:t}}=Ze();e.use(Pw,t)});const Aw=Be(()=>{}),Sw=Be({name:"nuxt:chunk-reload",setup(e){const t=ct(),n=Ze(),r=new Set;t.beforeEach(()=>{r.clear()}),e.hook("app:chunkError",({error:s})=>{r.add(s)});function o(s){const a="href"in s&&s.href.startsWith("#")?n.app.baseURL+s.href:Cn(n.app.baseURL,s.fullPath);d1({path:a,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),Rw=Be(e=>{let t;async function n(){const r=await is();t&&clearTimeout(t),t=setTimeout(n,1e3*60*60);const o=await $fetch(ca("builds/latest.json"));o.id!==r.id&&e.hooks.callHook("app:manifest:update",o)}cs(()=>{t=setTimeout(n,1e3*60*60)})}),Iw=Be(e=>{const t=ce(!1),n=()=>t.value=!0,r=()=>t.value=!1,o=()=>t.value=!t.value;return e.$router.afterEach(()=>setTimeout(r,50)),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}}}}),kw=Be(()=>{navigator&&navigator.userAgent&&navigator.userAgent.match(/Win[a-z0-9]*;/)&&document.documentElement.classList.add("docus-scrollbars")}),Ow=[v_,w_,Lv,Mv,$b,Mb,T1,P1,aw,dw,xw,Aw,Sw,Rw,Iw,kw],Lw=["p","h1","h2","h3","h4","h5","h6","li"];function Mo(e,t){return e.type===t||typeof e.type=="object"&&e.type.tag===t||e.tag===t}function ba(e){return Mo(e,"text")||Mo(e,Symbol.for("v-txt"))}function md(e){var t;return Array.isArray(e.children)||typeof e.children=="string"?e.children:typeof((t=e.children)==null?void 0:t.default)=="function"?e.children.default():[]}function bi(e){if(!e)return"";if(Array.isArray(e))return e.map(bi).join("");if(ba(e))return e.children||e.value||"";const t=md(e);return Array.isArray(t)?t.map(bi).filter(Boolean).join(""):""}function gd(e,t=[]){if(Array.isArray(e))return e.flatMap(r=>gd(r,t));let n=e;return t.some(r=>r==="*"||Mo(e,r))&&(n=md(e)||e,!Array.isArray(n)&&Lw.some(r=>Mo(e,r))&&(n=[n])),n}function yd(e,t=[]){return e=Array.isArray(e)?e:[e],t.length?e.flatMap(n=>yd(gd(n,[t[0]]),t.slice(1))).filter(n=>!(ba(n)&&bi(n).trim()==="")):e}function $w(e,t=[]){return typeof t=="string"&&(t=t.split(",").map(n=>n.trim()).filter(Boolean)),t.length?yd(e,t).reduce((n,r)=>(ba(r)?typeof n[n.length-1]=="string"?n[n.length-1]+=r.children:n.push(r.children):n.push(r),n),[]):e}const Mw=(e,t,n,...r)=>e[t]?Sr({...e,[t]:()=>$w(e[t](),n==null?void 0:n.unwrap)},t,n,...r):Sr(e,t,n,...r),Nw={class:"alert-content"},Dw=Ae({__name:"Alert",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(t,n)=>(q(),ue("div",{class:je(["alert",[e.type]])},[se("div",Nw,[Mw(t.$slots,"default",{unwrap:"p"},void 0,!0)])],2))}});const Ve=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},_d=Ve(Dw,[["__scopeId","data-v-ed5d92b1"]]),Hw=Object.freeze(Object.defineProperty({__proto__:null,default:_d},Symbol.toStringTag,{value:"Module"})),jw=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),wi=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&jw(e.route,n));return typeof r=="function"?r(e.route):r},Fw=(e,t)=>({default:()=>e?et(xp,e===!0?{}:e,t):t}),Bw=Ae({name:"RouteProvider",props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const o in e.route)Object.defineProperty(r,o,{get:()=>t===e.renderKey?e.route[o]:n[o]});return Dn(rs,Qt(r)),()=>et(e.vnode,{ref:e.vnodeRef})}}),Vw=Ae({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,expose:n}){const r=ye(),o=ce(),s=De(rs,null);n({pageRef:o});const i=De(Xy,null);let a;const c=r.deferHydration();return()=>et(Qf,{name:e.name,route:e.route,...t},{default:l=>{const u=Kw(s,l.route,l.Component),f=s&&s.matched.length===l.route.matched.length;if(!l.Component){if(a&&!f)return a;c();return}if(a&&i&&!i.isCurrent(l.route))return a;if(u&&s&&(!i||i!=null&&i.isCurrent(s)))return f?a:null;const d=wi(l,e.pageKey),h=!!(e.transition??l.route.meta.pageTransition??pi),m=h&&Uw([e.transition,l.route.meta.pageTransition,pi,{onAfterLeave:()=>{r.callHook("page:transition:finish",l.Component)}}].filter(Boolean));return a=Pv(sa,h&&m,Fw(e.keepalive??l.route.meta.keepalive??u_,et(xu,{suspensible:!0,onPending:()=>r.callHook("page:start",l.Component),onResolve:()=>{Et(()=>r.callHook("page:finish",l.Component).finally(c))}},{default:()=>et(Bw,{key:d||void 0,vnode:l.Component,route:l.route,renderKey:d||void 0,trackRootNodes:h,vnodeRef:o})}))).default(),a}})}});function zw(e){return Array.isArray(e)?e:e?[e]:[]}function Uw(e){const t=e.map(n=>({...n,onAfterLeave:zw(n.onAfterLeave)}));return jn(...t)}function Kw(e,t,n){if(!e)return!1;const r=t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((o,s)=>{var i,a,c;return((i=o.components)==null?void 0:i.default)!==((c=(a=e.matched[s])==null?void 0:a.components)==null?void 0:c.default)})||n&&wi({route:t,Component:n})!==wi({route:e,Component:n})}const vd={__name:"AppLoadingBar",props:{throttle:{type:Number,default:200},duration:{type:Number,default:2e3}},setup(e){const t=e,n=ye(),r=tt({percent:0,show:!1,canSucceed:!0});let o=null,s=null,i;function a(){o&&clearInterval(o),s&&clearTimeout(s),o=null}function c(){r.show||(a(),r.percent=0,r.canSucceed=!0,t.throttle?s=setTimeout(d,t.throttle):d())}function l(h){r.percent=Math.min(100,Math.floor(r.percent+h))}function u(){r.percent=100,f()}function f(){a(),setTimeout(()=>{r.show=!1,setTimeout(()=>{r.percent=0},400)},500)}function d(){r.show=!0,i=1e4/Math.floor(t.duration),o=setInterval(()=>{l(i)},100)}return n.hook("content:middleware:start",c),n.hook("page:start",c),n.hook("page:finish",u),Gn(()=>a),(h,m)=>(q(),ue("div",{class:je(["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))}},Ww=Object.freeze(Object.defineProperty({__proto__:null,default:vd},Symbol.toStringTag,{value:"Module"})),bd=Object.freeze({left:0,top:0,width:16,height:16}),wd=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),wa=Object.freeze({...bd,...wd});Object.freeze({...wa,body:"",hidden:!1});({...bd});const Ed=Object.freeze({width:null,height:null}),Cd=Object.freeze({...Ed,...wd});function qw(e,t){const n={...e};for(const r in t){const o=t[r],s=typeof o;r in Ed?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const Qw=/[\s,]+/;function Jw(e,t){t.split(Qw).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function Zw(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 Yw=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Gw=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function fl(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(Yw);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=Gw.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 Xw=e=>e==="unset"||e==="undefined"||e==="none";function eE(e,t){const n={...wa,...e},r={...Cd,...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,b=m.vFlip;let v=m.rotate;y?b?v+=2:(p.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),p.push("scale(-1 1)"),o.top=o.left=0):b&&(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,l=o.height;let u,f;i===null?(f=a===null?"1em":a==="auto"?l:a,u=fl(f,c/l)):(u=i==="auto"?c:i,f=a===null?fl(u,l/c):a==="auto"?l:a);const d={},h=(m,p)=>{Xw(p)||(d[m]=p.toString())};return h("width",u),h("height",f),d.viewBox=o.left.toString()+" "+o.top.toString()+" "+c.toString()+" "+l.toString(),{attributes:d,body:s}}const tE=/\sid="(\S+)"/g,nE="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let rE=0;function oE(e,t=nE){const n=[];let r;for(;r=tE.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+(rE++).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 iE(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,'+iE(e)+'")'}const dl={...Cd,inline:!1},cE={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},lE={display:"inline-block"},Ei={backgroundColor:"currentColor"},Td={backgroundColor:"transparent"},hl={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},pl={webkitMask:Ei,mask:Ei,background:Td};for(const e in pl){const t=pl[e];for(const n in hl)t[e+n]=hl[n]}const po={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";po[e+"-flip"]=t,po[e.slice(0,1)+"-flip"]=t,po[e+"Flip"]=t});function ml(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const uE=(e,t)=>{const n=qw(dl,t),r={...cE},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"&&Jw(n,y);break;case"color":s.color=y;break;case"rotate":typeof y=="string"?n[p]=Zw(y):typeof y=="number"&&(n[p]=y);break;case"ariaHidden":case"aria-hidden":y!==!0&&y!=="true"&&delete r["aria-hidden"];break;default:{const b=po[p];b?(y===!0||y==="true"||y===1)&&(n[b]=!0):dl[p]===void 0&&(r[p]=y)}}}const c=eE(e,n),l=c.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...a},Object.assign(r,l);let p=0,y=t.id;return typeof y=="string"&&(y=y.replace(/-/g,"_")),r.innerHTML=oE(c.body,y?()=>y+"ID"+p++:"iconifyVue"),et("svg",r)}const{body:u,width:f,height:d}=e,h=o==="mask"||(o==="bg"?!1:u.indexOf("currentColor")!==-1),m=sE(u,{...l,width:f+"",height:d+""});return r.style={...s,"--svg":aE(m),width:ml(l.width),height:ml(l.height),...lE,...h?Ei:Td,...a},et("span",r)},fE=Object.create(null),dE=Ae({inheritAttrs:!1,render(){const e=this.$attrs,t=e.icon,n=typeof t=="string"?fE[t]:typeof t=="object"?t:null;return n===null||typeof n!="object"||typeof n.body!="string"?this.$slots.default?this.$slots.default():null:uE({...wa,...n},e)}}),wr=/^[a-z0-9]+(-[a-z0-9]+)*$/,ds=(e,t,n,r="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const a=o.pop(),c=o.pop(),l={provider:o.length>0?o[0]:r,prefix:c,name:a};return t&&!mo(l)?null:l}const s=o[0],i=s.split("-");if(i.length>1){const a={provider:r,prefix:i.shift(),name:i.join("-")};return t&&!mo(a)?null:a}if(n&&r===""){const a={provider:r,prefix:"",name:s};return t&&!mo(a,n)?null:a}return null},mo=(e,t)=>e?!!((e.provider===""||e.provider.match(wr))&&(t&&e.prefix===""||e.prefix.match(wr))&&e.name.match(wr)):!1,Pd=Object.freeze({left:0,top:0,width:16,height:16}),No=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Ea=Object.freeze({...Pd,...No}),Ci=Object.freeze({...Ea,body:"",hidden:!1});function hE(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 gl(e,t){const n=hE(e,t);for(const r in Ci)r in No?r in e&&!(r in n)&&(n[r]=No[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function pE(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=gl(r[a]||o[a],s)}return i(t),n.forEach(i),gl(e,s)}function xd(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=pE(e);for(const o in r){const s=r[o];s&&(t(o,mE(e,o,s)),n.push(o))}return n}const gE={provider:"",aliases:{},not_found:{},...Pd};function $s(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Ad(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!$s(e,gE))return null;const n=t.icons;for(const o in n){const s=n[o];if(!o.match(wr)||typeof s.body!="string"||!$s(s,Ci))return null}const r=t.aliases||Object.create(null);for(const o in r){const s=r[o],i=s.parent;if(!o.match(wr)||typeof i!="string"||!n[i]&&!r[i]||!$s(s,Ci))return null}return t}const yl=Object.create(null);function yE(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function vn(e,t){const n=yl[e]||(yl[e]=Object.create(null));return n[t]||(n[t]=yE(e,t))}function Ca(e,t){return Ad(t)?xd(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function _E(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let Mr=!1;function Sd(e){return typeof e=="boolean"&&(Mr=e),Mr}function vE(e){const t=typeof e=="string"?ds(e,!0,Mr):e;if(t){const n=vn(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function bE(e,t){const n=ds(e,!0,Mr);if(!n)return!1;const r=vn(n.provider,n.prefix);return _E(r,n.name,t)}function wE(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),Mr&&!t&&!e.prefix){let o=!1;return Ad(e)&&(e.prefix="",xd(e,(s,i)=>{i&&bE(s,i)&&(o=!0)})),o}const n=e.prefix;if(!mo({provider:t,prefix:n,name:"a"}))return!1;const r=vn(t,n);return!!Ca(r,e)}const EE=Object.freeze({width:null,height:null}),CE=Object.freeze({...EE,...No});""+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);const Ti=Object.create(null);function TE(e,t){Ti[e]=t}function Pi(e){return Ti[e]||Ti[""]}function Ta(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 Pa=Object.create(null),sr=["https://api.simplesvg.com","https://api.unisvg.com"],go=[];for(;sr.length>0;)sr.length===1||Math.random()>.5?go.push(sr.shift()):go.push(sr.pop());Pa[""]=Ta({resources:["https://api.iconify.design"].concat(go)});function PE(e,t){const n=Ta(t);return n===null?!1:(Pa[e]=n,!0)}function xa(e){return Pa[e]}const xE=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let _l=xE();function AE(e,t){const n=xa(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 SE(e){return e===404}const RE=(e,t,n)=>{const r=[],o=AE(e,t),s="icons";let i={type:s,provider:e,prefix:t,icons:[]},a=0;return n.forEach((c,l)=>{a+=c.length+1,a>=o&&l>0&&(r.push(i),i={type:s,provider:e,prefix:t,icons:[]},a=c.length),i.icons.push(c)}),r.push(i),r};function IE(e){if(typeof e=="string"){const t=xa(e);if(t)return t.path}return"/"}const kE=(e,t,n)=>{if(!_l){n("abort",424);return}let r=IE(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;_l(e+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(SE(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)})},OE={prepare:RE,send:kE};function LE(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,s)=>o.provider!==s.provider?o.provider.localeCompare(s.provider):o.prefix!==s.prefix?o.prefix.localeCompare(s.prefix):o.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return e.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const s=o.provider,i=o.prefix,a=o.name,c=n[s]||(n[s]=Object.create(null)),l=c[i]||(c[i]=vn(s,i));let u;a in l.icons?u=t.loaded:i===""||l.missing.has(a)?u=t.missing:u=t.pending;const f={provider:s,prefix:i,name:a};u.push(f)}),t}function Rd(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==t))})}function $E(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,o=e.prefix;t.forEach(s=>{const i=s.icons,a=i.pending.length;i.pending=i.pending.filter(c=>{if(c.prefix!==o)return!0;const l=c.name;if(e.icons[l])i.loaded.push({provider:r,prefix:o,name:l});else if(e.missing.has(l))i.missing.push({provider:r,prefix:o,name:l});else return n=!0,!0;return!1}),i.pending.length!==a&&(n||Rd([e],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let ME=0;function NE(e,t,n){const r=ME++,o=Rd.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 DE(e,t=!0,n=!1){const r=[];return e.forEach(o=>{const s=typeof o=="string"?ds(o,t,n):o;s&&r.push(s)}),r}var HE={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function jE(e,t,n,r){const o=e.resources.length,s=e.random?Math.floor(Math.random()*o):e.index;let i;if(e.random){let S=e.resources.slice(0);for(i=[];S.length>1;){const I=Math.floor(Math.random()*S.length);i.push(S[I]),S=S.slice(0,I).concat(S.slice(I+1))}i=i.concat(S)}else i=e.resources.slice(s).concat(e.resources.slice(0,s));const a=Date.now();let c="pending",l=0,u,f=null,d=[],h=[];typeof r=="function"&&h.push(r);function m(){f&&(clearTimeout(f),f=null)}function p(){c==="pending"&&(c="aborted"),m(),d.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),d=[]}function y(S,I){I&&(h=[]),typeof S=="function"&&h.push(S)}function b(){return{startTime:a,payload:t,status:c,queriesSent:l,queriesPending:d.length,subscribe:y,abort:p}}function v(){c="failed",h.forEach(S=>{S(void 0,u)})}function g(){d.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),d=[]}function _(S,I,k){const H=I!=="success";switch(d=d.filter(R=>R!==S),c){case"pending":break;case"failed":if(H||!e.dataAfterTimeout)return;break;default:return}if(I==="abort"){u=k,v();return}if(H){u=k,d.length||(i.length?P():v());return}if(m(),g(),!e.random){const R=e.resources.indexOf(S.resource);R!==-1&&R!==e.index&&(e.index=R)}c="completed",h.forEach(R=>{R(k)})}function P(){if(c!=="pending")return;m();const S=i.shift();if(S===void 0){if(d.length){f=setTimeout(()=>{m(),c==="pending"&&(g(),v())},e.timeout);return}v();return}const I={status:"pending",resource:S,callback:(k,H)=>{_(I,k,H)}};d.push(I),l++,f=setTimeout(P,e.rotate),n(S,t,I.callback)}return setTimeout(P),b}function Id(e){const t={...HE,...e};let n=[];function r(){n=n.filter(a=>a().status==="pending")}function o(a,c,l){const u=jE(t,a,c,(f,d)=>{r(),l&&l(f,d)});return n.push(u),u}function s(a){return n.find(c=>a(c))||null}return{query:o,find:s,setIndex:a=>{t.index=a},getIndex:()=>t.index,cleanup:r}}function vl(){}const Ms=Object.create(null);function FE(e){if(!Ms[e]){const t=xa(e);if(!t)return;const n=Id(t),r={config:t,redundancy:n};Ms[e]=r}return Ms[e]}function BE(e,t,n){let r,o;if(typeof e=="string"){const s=Pi(e);if(!s)return n(void 0,424),vl;o=s.send;const i=FE(e);i&&(r=i.redundancy)}else{const s=Ta(e);if(s){r=Id(s);const i=e.resources?e.resources[0]:"",a=Pi(i);a&&(o=a.send)}}return!r||!o?(n(void 0,424),vl):r.query(t,o,n)().abort}const bl="iconify2",Nr="iconify",kd=Nr+"-count",wl=Nr+"-version",Od=36e5,VE=168;function xi(e,t){try{return e.getItem(t)}catch{}}function Aa(e,t,n){try{return e.setItem(t,n),!0}catch{}}function El(e,t){try{e.removeItem(t)}catch{}}function Ai(e,t){return Aa(e,kd,t.toString())}function Si(e){return parseInt(xi(e,kd))||0}const hs={local:!0,session:!0},Ld={local:new Set,session:new Set};let Sa=!1;function zE(e){Sa=e}let ro=typeof window>"u"?{}:window;function $d(e){const t=e+"Storage";try{if(ro&&ro[t]&&typeof ro[t].length=="number")return ro[t]}catch{}hs[e]=!1}function Md(e,t){const n=$d(e);if(!n)return;const r=xi(n,wl);if(r!==bl){if(r){const a=Si(n);for(let c=0;c{const c=Nr+a.toString(),l=xi(n,c);if(typeof l=="string"){try{const u=JSON.parse(l);if(typeof u=="object"&&typeof u.cached=="number"&&u.cached>o&&typeof u.provider=="string"&&typeof u.data=="object"&&typeof u.data.prefix=="string"&&t(u,a))return!0}catch{}El(n,c)}};let i=Si(n);for(let a=i-1;a>=0;a--)s(a)||(a===i-1?(i--,Ai(n,i)):Ld[e].add(a))}function Nd(){if(!Sa){zE(!0);for(const e in hs)Md(e,t=>{const n=t.data,r=t.provider,o=n.prefix,s=vn(r,o);if(!Ca(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function UE(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in hs)Md(r,o=>{const s=o.data;return o.provider!==e.provider||s.prefix!==e.prefix||s.lastModified===t});return!0}function KE(e,t){Sa||Nd();function n(r){let o;if(!hs[r]||!(o=$d(r)))return;const s=Ld[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=Si(o),!Ai(o,i+1))return;const a={cached:Math.floor(Date.now()/Od),provider:e.provider,data:t};return Aa(o,Nr+i.toString(),JSON.stringify(a))}t.lastModified&&!UE(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function Cl(){}function WE(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,$E(e)}))}function qE(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,o=e.iconsToLoad;delete e.iconsToLoad;let s;if(!o||!(s=Pi(n)))return;s.prepare(n,r,o).forEach(a=>{BE(n,a,c=>{if(typeof c!="object")a.icons.forEach(l=>{e.missing.add(l)});else try{const l=Ca(e,c);if(!l.length)return;const u=e.pendingIcons;u&&l.forEach(f=>{u.delete(f)}),KE(e,c)}catch(l){console.error(l)}WE(e)})})}))}const QE=(e,t)=>{const n=DE(e,!0,Sd()),r=LE(n);if(!r.pending.length){let c=!0;return t&&setTimeout(()=>{c&&t(r.loaded,r.missing,r.pending,Cl)}),()=>{c=!1}}const o=Object.create(null),s=[];let i,a;return r.pending.forEach(c=>{const{provider:l,prefix:u}=c;if(u===a&&l===i)return;i=l,a=u,s.push(vn(l,u));const f=o[l]||(o[l]=Object.create(null));f[u]||(f[u]=[])}),r.pending.forEach(c=>{const{provider:l,prefix:u,name:f}=c,d=vn(l,u),h=d.pendingIcons||(d.pendingIcons=new Set);h.has(f)||(h.add(f),o[l][u].push(f))}),s.forEach(c=>{const{provider:l,prefix:u}=c;o[l][u].length&&qE(c,o[l][u])}),t?NE(t,r,s):Cl},JE=e=>new Promise((t,n)=>{const r=typeof e=="string"?ds(e,!0):e;if(!r){n(e);return}QE([r||e],o=>{if(o.length&&r){const s=vE(r);if(s){t({...Ea,...s});return}}n(e)})});({...CE});const Tl={backgroundColor:"currentColor"},ZE={backgroundColor:"transparent"},Pl={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},xl={webkitMask:Tl,mask:Tl,background:ZE};for(const e in xl){const t=xl[e];for(const n in Pl)t[e+n]=Pl[n]}const Ns={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";Ns[e+"-flip"]=t,Ns[e.slice(0,1)+"-flip"]=t,Ns[e+"Flip"]=t});Sd(!0);TE("",OE);if(typeof document<"u"&&typeof window<"u"){Nd();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"||!wE(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;PE(n,o)||console.error(r)}catch{console.error(r)}}}}({...Ea});const YE=["width","height"],GE=Ae({__name:"Icon",props:{name:{type:String,required:!0},size:{type:String,default:""}},async setup(e){var m;let t,n;const r=ye(),o=fa();(m=o==null?void 0:o.nuxtIcon)!=null&&m.aliases;const s=e,i=Rt("icons",()=>({})),a=ce(!1),c=ee(()=>{var p;return(((p=o.nuxtIcon)==null?void 0:p.aliases)||{})[s.name]||s.name}),l=ee(()=>{var p;return(p=i.value)==null?void 0:p[c.value]}),u=ee(()=>r.vueApp.component(c.value)),f=ee(()=>{var y,b,v;if(!s.size&&typeof((y=o.nuxtIcon)==null?void 0:y.size)=="boolean"&&!((b=o.nuxtIcon)!=null&&b.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;u.value||(p=i.value)!=null&&p[c.value]||(a.value=!0,i.value[c.value]=await JE(c.value).catch(()=>{}),a.value=!1)}return ge(()=>c.value,h),!u.value&&([t,n]=Fu(()=>h()),t=await t,n()),(p,y)=>M(a)?(q(),ue("span",{key:0,class:je(M(d)),width:M(f),height:M(f)},null,10,YE)):M(l)?(q(),de(M(dE),{key:1,icon:M(l),class:je(M(d)),width:M(f),height:M(f)},null,8,["icon","class","width","height"])):M(u)?(q(),de(Go(M(u)),{key:2,class:je(M(d)),width:M(f),height:M(f)},null,8,["class","width","height"])):(q(),ue("span",{key:3,class:je(M(d)),style:Qn({fontSize:M(f),lineHeight:M(f),width:M(f),height:M(f)})},Ot(e.name),7))}});const Dt=Ve(GE,[["__scopeId","data-v-92518cc2"]]),XE=Object.freeze(Object.defineProperty({__proto__:null,default:Dt},Symbol.toStringTag,{value:"Module"})),tn=()=>{const e=ee(()=>{var l;return((l=fa())==null?void 0:l.docus)||{}}),{navPageFromPath:t,navDirFromPath:n,navKeyFromPath:r}=ma(),{navigation:o,page:s}=Vr(),i=at(),a=ee(()=>{var m,p,y,b,v,g,_,P,S,I,k;const l=((m=e==null?void 0:e.value)==null?void 0:m.titleTemplate)||r((p=s==null?void 0:s.value)==null?void 0:p._path,"titleTemplate",o.value||[])||`%s · ${((y=e==null?void 0:e.value)==null?void 0:y.title)||"Docus"}`,u=((b=e==null?void 0:e.value)==null?void 0:b.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=((_=e==null?void 0:e.value)==null?void 0:_.footer)||{};return{...e.value,titleTemplate:l,main:{...u,...r(i.path,"main",o.value||[]),...(P=s.value)==null?void 0:P.main},header:{...f,...r(i.path,"header",o.value||[]),...(S=s.value)==null?void 0:S.header},aside:{...d,...r(i.path,"aside",o.value||[]),...(I=s.value)==null?void 0:I.aside},footer:{...h,...r(i.path,"footer",o.value||[]),...(k=s.value)==null?void 0:k.footer}}});return{tree:ee(()=>{var h,m,p,y,b;let l=o.value||[];const u=i.path,f=((m=(h=a==null?void 0:a.value)==null?void 0:h.aside)==null?void 0:m.level)||0,d=((y=(p=a==null?void 0:a.value)==null?void 0:p.aside)==null?void 0:y.exclude)||[];if(f){const g=u.split("/").splice(0,1+f).join("/");l=n(g,l)||[],Array.isArray(l)||(l=[l])}if(l.length===0){if(l=t(((b=s.value)==null?void 0:b._path)||"/",o.value||[]),!l)return[];Array.isArray(l)||(l=[l])}return l.filter(v=>!d.includes(v._path))}),config:a}},eC=Ae({__name:"AppSocialIcons",setup(e){const t=["twitter","facebook","instagram","tiktok","youtube","github","medium"],{config:n}=tn(),r=ee(()=>Object.entries(n.value.socials||{}).map(([o,s])=>typeof s=="object"?s:typeof s=="string"&&s&&t.includes(o)?{href:/^https?:\/\//.test(s)?s:`https://${o}.com/${s}`,icon:`fa-brands:${o}`,label:s,rel:"noopener noreferrer"}:null).filter(Boolean));return(o,s)=>{const i=Dt,a=Br;return q(!0),ue(Pe,null,Fn(M(r),c=>(q(),de(a,{key:c.label,rel:c.rel,title:c.label,"aria-label":c.label,href:c.href,target:"_blank"},{default:Je(()=>[c.icon?(q(),de(i,{key:0,name:c.icon},null,8,["name"])):Fe("",!0)]),_:2},1032,["rel","title","aria-label","href"]))),128)}}});const ps=Ve(eC,[["__scopeId","data-v-14409a5c"]]),tC=Object.freeze(Object.defineProperty({__proto__:null,default:ps},Symbol.toStringTag,{value:"Module"})),nC={class:"docs-aside-tree"},rC=["onClick"],oC={class:"content"},sC={class:"content"},iC=Ae({__name:"DocsAsideTree",props:{links:{type:Array,default:()=>[]},level:{type:Number,default:0},max:{type:Number,default:null},parent:{type:Object,default:null}},setup(e){var l;const t=e,n=at(),{config:r}=tn(),o=Rt(`docus-docs-aside-collapse-map-${((l=t.parent)==null?void 0:l._path)||"/"}`,()=>t.level===0?{}:t.links.filter(u=>!!u.children).reduce((u,f)=>(u[f._path]=!0,u),{})),s=u=>n.path===u._path,i=u=>{var f,d,h,m;if(u.children){if(typeof o.value[u._path]<"u")return o.value[u._path];if([!0,!1].includes((f=u==null?void 0:u.aside)==null?void 0:f.collapsed))return u.aside.collapsed;if(u!=null&&u.collapsed)return u==null?void 0:u.collapsed;if((h=(d=r==null?void 0:r.value)==null?void 0:d.aside)!=null&&h.collapsed)return(m=r.value.aside)==null?void 0:m.collapsed}return!1},a=u=>o.value[u._path]=!i(u),c=ee(()=>t.links.some(u=>u.children));return(u,f)=>{const d=Dt,h=Br,m=Ra;return q(),ue("ul",nC,[(q(!0),ue(Pe,null,Fn(e.links,p=>{var y,b,v,g,_;return q(),ue("li",{key:p._path,class:je({"has-parent-icon":(y=e.parent)==null?void 0:y.icon,"has-children":e.level>0&&p.children,bordered:e.level>0||!M(c),active:s(p)})},[p.children?(q(),ue("button",{key:0,class:"title-collapsible-button",onClick:P=>a(p)},[se("span",oC,[(b=p==null?void 0:p.navigation)!=null&&b.icon||p.icon?(q(),de(d,{key:0,name:((v=p==null?void 0:p.navigation)==null?void 0:v.icon)||p.icon,class:"icon"},null,8,["name"])):Fe("",!0),se("span",null,Ot(((g=p==null?void 0:p.navigation)==null?void 0:g.title)||p.title||p._path),1)]),se("span",null,[oe(d,{name:i(p)?"lucide:chevrons-up-down":"lucide:chevrons-down-up",class:"collapsible-icon"},null,8,["name"])])],8,rC)):(q(),de(h,{key:1,to:p.redirect?p.redirect:p._path,class:je(["link",{padded:e.level>0||!M(c),active:s(p)}]),exact:p.exact},{default:Je(()=>{var P,S,I;return[se("span",sC,[(P=p==null?void 0:p.navigation)!=null&&P.icon||p.icon?(q(),de(d,{key:0,name:((S=p==null?void 0:p.navigation)==null?void 0:S.icon)||p.icon,class:"icon"},null,8,["name"])):Fe("",!0),se("span",null,Ot(((I=p==null?void 0:p.navigation)==null?void 0:I.title)||p.title||p._path),1)])]}),_:2},1032,["to","exact","class"])),(_=p.children)!=null&&_.length&&(e.max===null||e.level+1{const{$menu:e}=ye();return e},cC={class:"wrapper"},lC={class:"icons"},uC=Ae({__name:"AppHeaderDialog",setup(e){const{navigation:t}=Vr(),{config:n}=tn(),r=ce(!1),o=ee(()=>{var c;return((c=n.value.aside)==null?void 0:c.exclude)||[]}),s=ee(()=>(t.value||[]).filter(c=>!o.value.includes(c._path))),{close:i,open:a}=Dd();return ge(r,c=>c?a():i()),(c,l)=>{const u=Dt,f=ps,d=Ra;return q(),ue(Pe,null,[se("button",{"aria-label":"Menu",onClick:l[0]||(l[0]=h=>r.value=!0)},[oe(u,{name:"heroicons-outline:menu","aria-hidden":"”true”"})]),(q(),de(Yu,{to:"body"},[M(r)?(q(),ue("nav",{key:0,class:"dialog",onClick:l[3]||(l[3]=h=>r.value=!1)},[se("div",{onClick:l[2]||(l[2]=ur(()=>{},["stop"]))},[se("div",cC,[se("button",{"aria-label":"Menu",onClick:l[1]||(l[1]=h=>r.value=!1)},[oe(u,{name:"heroicons-outline:x","aria-hidden":"”true”"})]),se("div",lC,[oe(f)])]),oe(d,{links:M(s)},null,8,["links"])])])):Fe("",!0)]))],64)}}});const Hd=Ve(uC,[["__scopeId","data-v-701eabae"]]),fC=Object.freeze(Object.defineProperty({__proto__:null,default:Hd},Symbol.toStringTag,{value:"Module"}));const dC={},hC={viewBox:"0 0 167 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},pC=em('',7),mC=[pC];function gC(e,t){return q(),ue("svg",hC,mC)}const jd=Ve(dC,[["render",gC],["__scopeId","data-v-37ee13f0"]]),yC=Object.freeze(Object.defineProperty({__proto__:null,default:jd},Symbol.toStringTag,{value:"Module"})),_C={key:0,class:"logo"},vC=["src"],bC=["src"],wC={key:1,class:"title"},EC=Ae({__name:"AppHeaderLogo",setup(e){const{config:t}=tn(),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=jd,a=Br;return q(),de(a,{class:"navbar-logo",to:"/","aria-label":M(r)},{default:Je(()=>[M(n)?(q(),ue("span",_C,[typeof M(n)=="string"?(q(),de(Go(M(n)),{key:0})):M(n).light&&M(n).dark?(q(),ue(Pe,{key:1},[se("img",{src:M(n).light,alt:"",class:"light-img"},null,8,vC),se("img",{src:M(n).dark,alt:"",class:"dark-img"},null,8,bC)],64)):M(n)?(q(),de(i,{key:2})):Fe("",!0)])):(q(),ue("span",wC,Ot(M(r)),1))]),_:1},8,["aria-label"])}}});const Fd=Ve(EC,[["__scopeId","data-v-93f413e9"]]),CC=Object.freeze(Object.defineProperty({__proto__:null,default:Fd},Symbol.toStringTag,{value:"Module"})),TC={key:0},PC=Ae({__name:"AppHeaderNavigation",setup(e){const t=at(),{navBottomLink:n}=ma(),{navigation:r}=Vr(),{config:o}=tn(),s=ee(()=>{var l;return!!((l=o.value.aside)!=null&&l.level)}),i=ee(()=>{var l;return((l=o.value.header)==null?void 0:l.exclude)||[]}),a=ee(()=>(r.value||[]).filter(l=>!i.value.includes(l._path))),c=l=>l.exact?t.fullPath===l._path:t.fullPath.startsWith(l._path);return(l,u)=>{const f=Dt,d=Br;return M(s)?(q(),ue("nav",TC,[se("ul",null,[(q(!0),ue(Pe,null,Fn(M(a),h=>(q(),ue("li",{key:h._path},[oe(d,{class:je(["link",{active:c(h)}]),to:h.redirect?h.redirect:M(n)(h)},{default:Je(()=>{var m,p;return[h.icon&&((p=(m=M(o))==null?void 0:m.header)!=null&&p.showLinkIcon)?(q(),de(f,{key:0,name:h.icon},null,8,["name"])):Fe("",!0),Xn(" "+Ot(h.title),1)]}),_:2},1032,["to","class"])]))),128))])])):Fe("",!0)}}});const Bd=Ve(PC,[["__scopeId","data-v-132dbb47"]]),xC=Object.freeze(Object.defineProperty({__proto__:null,default:Bd},Symbol.toStringTag,{value:"Module"})),Vd=()=>{const{$docSearch:e}=ye();return e||{hasDocSearch:ce(!1)}},zd=e=>(wu("data-v-a87a80ab"),e=e(),Eu(),e),AC={class:"content"},SC=zd(()=>se("span",null,"Search",-1)),RC=zd(()=>se("span",null,[se("kbd",null,"⌘"),se("kbd",null,"K")],-1)),IC=Ae({__name:"AppDocSearch",setup(e){const{element:t}=Vd(),n=()=>t.value.querySelector("button").click();return(r,o)=>{const s=Dt;return q(),ue("button",{type:"button","aria-label":"Search",onClick:n},[se("span",AC,[oe(s,{name:"heroicons-outline:search"}),SC,RC])])}}});const Ud=Ve(IC,[["__scopeId","data-v-a87a80ab"]]),kC=Object.freeze(Object.defineProperty({__proto__:null,default:Ud},Symbol.toStringTag,{value:"Module"}));function $t(e){return Array.isArray?Array.isArray(e):qd(e)==="[object Array]"}const OC=1/0;function LC(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-OC?"-0":t}function $C(e){return e==null?"":LC(e)}function bt(e){return typeof e=="string"}function Kd(e){return typeof e=="number"}function MC(e){return e===!0||e===!1||NC(e)&&qd(e)=="[object Boolean]"}function Wd(e){return typeof e=="object"}function NC(e){return Wd(e)&&e!==null}function Xe(e){return e!=null}function Ds(e){return!e.trim().length}function qd(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const DC="Incorrect 'index' type",HC=e=>`Invalid value for key ${e}`,jC=e=>`Pattern length exceeds max of ${e}.`,FC=e=>`Missing ${e} property in key`,BC=e=>`Property 'weight' in key '${e}' must be a positive integer`,Al=Object.prototype.hasOwnProperty;class VC{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(r=>{let o=Qd(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 Qd(e){let t=null,n=null,r=null,o=1,s=null;if(bt(e)||$t(e))r=e,t=Sl(e),n=Ri(e);else{if(!Al.call(e,"name"))throw new Error(FC("name"));const i=e.name;if(r=i,Al.call(e,"weight")&&(o=e.weight,o<=0))throw new Error(BC(i));t=Sl(i),n=Ri(i),s=e.getFn}return{path:t,id:n,weight:o,src:r,getFn:s}}function Sl(e){return $t(e)?e:e.split(".")}function Ri(e){return $t(e)?e.join("."):e}function zC(e,t){let n=[],r=!1;const o=(s,i,a)=>{if(Xe(s))if(!i[a])n.push(s);else{let c=i[a];const l=s[c];if(!Xe(l))return;if(a===i.length-1&&(bt(l)||Kd(l)||MC(l)))n.push($C(l));else if($t(l)){r=!0;for(let u=0,f=l.length;ue.score===t.score?e.idx{this._keysMap[n.id]=r})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,bt(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();bt(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,r=this.size();n{let i=o.getFn?o.getFn(t):this.getFn(t,o.path);if(Xe(i)){if($t(i)){let a=[];const c=[{nestedArrIndex:-1,value:i}];for(;c.length;){const{nestedArrIndex:l,value:u}=c.pop();if(Xe(u))if(bt(u)&&!Ds(u)){let f={v:u,i:l,n:this.norm.get(u)};a.push(f)}else $t(u)&&u.forEach((f,d)=>{c.push({nestedArrIndex:d,value:f})})}r.$[s]=a}else if(bt(i)&&!Ds(i)){let a={v:i,n:this.norm.get(i)};r.$[s]=a}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function Jd(e,t,{getFn:n=ae.getFn,fieldNormWeight:r=ae.fieldNormWeight}={}){const o=new Ia({getFn:n,fieldNormWeight:r});return o.setKeys(e.map(Qd)),o.setSources(t),o.create(),o}function ZC(e,{getFn:t=ae.getFn,fieldNormWeight:n=ae.fieldNormWeight}={}){const{keys:r,records:o}=e,s=new Ia({getFn:t,fieldNormWeight:n});return s.setKeys(r),s.setIndexRecords(o),s}function oo(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:o=ae.distance,ignoreLocation:s=ae.ignoreLocation}={}){const i=t/e.length;if(s)return i;const a=Math.abs(r-n);return o?i+a/o:a?1:i}function YC(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 GC(e,t,n,{location:r=ae.location,distance:o=ae.distance,threshold:s=ae.threshold,findAllMatches:i=ae.findAllMatches,minMatchCharLength:a=ae.minMatchCharLength,includeMatches:c=ae.includeMatches,ignoreLocation:l=ae.ignoreLocation}={}){if(t.length>fn)throw new Error(jC(fn));const u=t.length,f=e.length,d=Math.max(0,Math.min(r,f));let h=s,m=d;const p=a>1||c,y=p?Array(f):[];let b;for(;(b=e.indexOf(t,m))>-1;){let I=oo(t,{currentLocation:b,expectedLocation:d,distance:o,ignoreLocation:l});if(h=Math.min(I,h),m=b+u,p){let k=0;for(;k=R;V-=1){let Q=V-1,B=n[e.charAt(Q)];if(p&&(y[Q]=+!!B),C[V]=(C[V+1]<<1|1)&B,I&&(C[V]|=(v[V+1]|v[V])<<1|1|v[V+1]),C[V]&P&&(g=oo(t,{errors:I,currentLocation:Q,expectedLocation:d,distance:o,ignoreLocation:l}),g<=h)){if(h=g,m=Q,m<=d)break;R=Math.max(1,2*d-m)}}if(oo(t,{errors:I+1,currentLocation:d,expectedLocation:d,distance:o,ignoreLocation:l})>h)break;v=C}const S={isMatch:m>=0,score:Math.max(.001,g)};if(p){const I=YC(y,a);I.length?c&&(S.indices=I):S.isMatch=!1}return S}function XC(e){let t={};for(let n=0,r=e.length;n{this.chunks.push({pattern:d,alphabet:XC(d),startIndex:h})},f=this.pattern.length;if(f>fn){let d=0;const h=f%fn,m=f-h;for(;d{const{isMatch:b,score:v,indices:g}=GC(t,m,p,{location:o+y,distance:s,threshold:i,findAllMatches:a,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});b&&(d=!0),f+=v,b&&g&&(u=[...u,...g])});let h={isMatch:d,score:d?f/this.chunks.length:1};return d&&r&&(h.indices=u),h}}class nn{constructor(t){this.pattern=t}static isMultiMatch(t){return Rl(t,this.multiRegex)}static isSingleMatch(t){return Rl(t,this.singleRegex)}search(){}}function Rl(e,t){const n=e.match(t);return n?n[1]:null}class eT extends nn{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 tT extends nn{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 nT extends nn{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 rT extends nn{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 oT extends nn{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 nn{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 Yd extends nn{constructor(t,{location:n=ae.location,threshold:r=ae.threshold,distance:o=ae.distance,includeMatches:s=ae.includeMatches,findAllMatches:i=ae.findAllMatches,minMatchCharLength:a=ae.minMatchCharLength,isCaseSensitive:c=ae.isCaseSensitive,ignoreLocation:l=ae.ignoreLocation}={}){super(t),this._bitapSearch=new Zd(t,{location:n,threshold:r,distance:o,includeMatches:s,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:c,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Gd extends nn{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,r;const o=[],s=this.pattern.length;for(;(r=t.indexOf(this.pattern,n))>-1;)n=r+s,o.push([r,n-1]);const i=!!o.length;return{isMatch:i,score:i?0:1,indices:o}}}const Ii=[eT,Gd,nT,rT,sT,oT,tT,Yd],Il=Ii.length,iT=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,aT="|";function cT(e,t={}){return e.split(aT).map(n=>{let r=n.trim().split(iT).filter(s=>s&&!!s.trim()),o=[];for(let s=0,i=r.length;s!!(e[Do.AND]||e[Do.OR]),dT=e=>!!e[Li.PATH],hT=e=>!$t(e)&&Wd(e)&&!$i(e),kl=e=>({[Do.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Xd(e,t,{auto:n=!0}={}){const r=o=>{let s=Object.keys(o);const i=dT(o);if(!i&&s.length>1&&!$i(o))return r(kl(o));if(hT(o)){const c=i?o[Li.PATH]:s[0],l=i?o[Li.PATTERN]:o[c];if(!bt(l))throw new Error(HC(c));const u={keyId:Ri(c),pattern:l};return n&&(u.searcher=Oi(l,t)),u}let a={children:[],operator:s[0]};return s.forEach(c=>{const l=o[c];$t(l)&&l.forEach(u=>{a.children.push(r(u))})}),a};return $i(e)||(e=kl(e)),r(e)}function pT(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=[],Xe(n)&&n.forEach(r=>{if(!Xe(r.indices)||!r.indices.length)return;const{indices:o,value:s}=r;let i={indices:o,value:s};r.key&&(i.key=r.key.src),r.idx>-1&&(i.refIndex=r.idx),t.matches.push(i)})}function gT(e,t){t.score=e.score}function yT(e,t,{includeMatches:n=ae.includeMatches,includeScore:r=ae.includeScore}={}){const o=[];return n&&o.push(mT),r&&o.push(gT),e.map(s=>{const{idx:i}=s,a={item:t[i],refIndex:i};return o.length&&o.forEach(c=>{c(s,a)}),a})}class er{constructor(t,n={},r){this.options={...ae,...n},this.options.useExtendedSearch,this._keyStore=new VC(this.options.keys),this.setCollection(t,r)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Ia))throw new Error(DC);this._myIndex=n||Jd(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Xe(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let r=0,o=this._docs.length;r-1&&(c=c.slice(0,n)),yT(c,this._docs,{includeMatches:r,includeScore:o})}_searchStringList(t){const n=Oi(t,this.options),{records:r}=this._myIndex,o=[];return r.forEach(({v:s,i,n:a})=>{if(!Xe(s))return;const{isMatch:c,score:l,indices:u}=n.searchIn(s);c&&o.push({item:s,idx:i,matches:[{score:l,value:s,norm:a,indices:u}]})}),o}_searchLogical(t){const n=Xd(t,this.options),r=(a,c,l)=>{if(!a.children){const{keyId:f,searcher:d}=a,h=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(c,f),searcher:d});return h&&h.length?[{idx:l,item:c,matches:h}]:[]}const u=[];for(let f=0,d=a.children.length;f{if(Xe(a)){let l=r(n,a,c);l.length&&(s[c]||(s[c]={idx:c,item:a,matches:[]},i.push(s[c])),l.forEach(({matches:u})=>{s[c].matches.push(...u)}))}}),i}_searchObjectList(t){const n=Oi(t,this.options),{keys:r,records:o}=this._myIndex,s=[];return o.forEach(({$:i,i:a})=>{if(!Xe(i))return;let c=[];r.forEach((l,u)=>{c.push(...this._findMatches({key:l,value:i[u],searcher:n}))}),c.length&&s.push({idx:a,item:i,matches:c})}),s}_findMatches({key:t,value:n,searcher:r}){if(!Xe(n))return[];let o=[];if($t(n))n.forEach(({v:s,i,n:a})=>{if(!Xe(s))return;const{isMatch:c,score:l,indices:u}=r.searchIn(s);c&&o.push({score:l,key:t,value:s,idx:i,norm:a,indices:u})});else{const{v:s,n:i}=n,{isMatch:a,score:c,indices:l}=r.searchIn(s);a&&o.push({score:c,key:t,value:s,norm:i,indices:l})}return o}}er.version="6.6.2";er.createIndex=Jd;er.parseIndex=ZC;er.config=ae;er.parseQuery=Xd;fT(uT);function _T(e,t,n){const r=()=>{var i,a;return new er((i=xt(t))!=null?i:[],(a=xt(n))==null?void 0:a.fuseOptions)},o=ce(r());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,l)=>({item:c,refIndex:l}));const a=i==null?void 0:i.resultLimit;return o.value.search(xt(e),a?{limit:a}:void 0)});return{fuse:o,results:s}}function vT(e){var t;const n=xt(e);return(t=n==null?void 0:n.$el)!=null?t:n}/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE @@ -13,4 +13,4 @@ Use "options.replacer" or "options.ignoreUnknown" * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE */function Ll(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 $l(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()}},FT=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},BT=function(t){return(t==null?void 0:t.key)==="Escape"||(t==null?void 0:t.key)==="Esc"||(t==null?void 0:t.keyCode)===27},Er=function(t){return(t==null?void 0:t.key)==="Tab"||(t==null?void 0:t.keyCode)===9},VT=function(t){return Er(t)&&!t.shiftKey},zT=function(t){return Er(t)&&t.shiftKey},Nl=function(t){return setTimeout(t,0)},Dl=function(t,n){var r=-1;return t.every(function(o,s){return n(o)?(r=s,!1):!0}),r},ir=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?x-1:0),Q=1;Q=0)T=r.activeElement;else{var C=i.tabbableGroups[0],x=C&&C.firstTabbableNode;T=x||u("fallbackFocus")}if(!T)throw new Error("Your focus-trap needs to have at least one focusable element");return T},d=function(){if(i.containerGroups=i.containers.map(function(T){var C=$T(T,s.tabbableOptions),x=MT(T,s.tabbableOptions),V=C.length>0?C[0]:void 0,Q=C.length>0?C[C.length-1]:void 0,B=x.find(function(he){return xn(he)}),J=x.slice().reverse().find(function(he){return xn(he)}),U=!!C.find(function(he){return dn(he)>0});return{container:T,tabbableNodes:C,focusableNodes:x,posTabIndexesFound:U,firstTabbableNode:V,lastTabbableNode:Q,firstDomTabbableNode:B,lastDomTabbableNode:J,nextTabbableNode:function(Oe){var Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,we=C.indexOf(Oe);return we<0?Le?x.slice(x.indexOf(Oe)+1).find(function(ze){return xn(ze)}):x.slice(0,x.indexOf(Oe)).reverse().find(function(ze){return xn(ze)}):C[we+(Le?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(T){return T.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!u("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(T){return T.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},h=function R(T){if(T!==!1&&T!==r.activeElement){if(!T||!T.focus){R(f());return}T.focus({preventScroll:!!s.preventScroll}),i.mostRecentlyFocusedNode=T,FT(T)&&T.select()}},m=function(T){var C=u("setReturnFocus",T);return C||(C===!1?!1:T)},p=function(T){var C=T.target,x=T.event,V=T.isBackward,Q=V===void 0?!1:V;C=C||so(x),d();var B=null;if(i.tabbableGroups.length>0){var J=l(C,x),U=J>=0?i.containerGroups[J]:void 0;if(J<0)Q?B=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:B=i.tabbableGroups[0].firstTabbableNode;else if(Q){var he=Dl(i.tabbableGroups,function(mt){var Re=mt.firstTabbableNode;return C===Re});if(he<0&&(U.container===C||Hs(C,s.tabbableOptions)&&!xn(C,s.tabbableOptions)&&!U.nextTabbableNode(C,!1))&&(he=J),he>=0){var Oe=he===0?i.tabbableGroups.length-1:he-1,Le=i.tabbableGroups[Oe];B=dn(C)>=0?Le.lastTabbableNode:Le.lastDomTabbableNode}else Er(x)||(B=U.nextTabbableNode(C,!1))}else{var we=Dl(i.tabbableGroups,function(mt){var Re=mt.lastTabbableNode;return C===Re});if(we<0&&(U.container===C||Hs(C,s.tabbableOptions)&&!xn(C,s.tabbableOptions)&&!U.nextTabbableNode(C))&&(we=J),we>=0){var ze=we===i.tabbableGroups.length-1?0:we+1,nt=i.tabbableGroups[ze];B=dn(C)>=0?nt.firstTabbableNode:nt.firstDomTabbableNode}else Er(x)||(B=U.nextTabbableNode(C))}}else B=u("fallbackFocus");return B},y=function(T){var C=so(T);if(!(l(C,T)>=0)){if(ir(s.clickOutsideDeactivates,T)){a.deactivate({returnFocus:s.returnFocusOnDeactivate});return}ir(s.allowOutsideClick,T)||T.preventDefault()}},b=function(T){var C=so(T),x=l(C,T)>=0;if(x||C instanceof Document)x&&(i.mostRecentlyFocusedNode=C);else{T.stopImmediatePropagation();var V,Q=!0;if(i.mostRecentlyFocusedNode)if(dn(i.mostRecentlyFocusedNode)>0){var B=l(i.mostRecentlyFocusedNode),J=i.containerGroups[B].tabbableNodes;if(J.length>0){var U=J.findIndex(function(he){return he===i.mostRecentlyFocusedNode});U>=0&&(s.isKeyForward(i.recentNavEvent)?U+1=0&&(V=J[U-1],Q=!1))}}else i.containerGroups.some(function(he){return he.tabbableNodes.some(function(Oe){return dn(Oe)>0})})||(Q=!1);else Q=!1;Q&&(V=p({target:i.mostRecentlyFocusedNode,isBackward:s.isKeyBackward(i.recentNavEvent)})),h(V||i.mostRecentlyFocusedNode||f())}i.recentNavEvent=void 0},v=function(T){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=T;var x=p({event:T,isBackward:C});x&&(Er(T)&&T.preventDefault(),h(x))},g=function(T){if(BT(T)&&ir(s.escapeDeactivates,T)!==!1){T.preventDefault(),a.deactivate();return}(s.isKeyForward(T)||s.isKeyBackward(T))&&v(T,s.isKeyBackward(T))},_=function(T){var C=so(T);l(C,T)>=0||ir(s.clickOutsideDeactivates,T)||ir(s.allowOutsideClick,T)||(T.preventDefault(),T.stopImmediatePropagation())},P=function(){if(i.active)return Ml.activateTrap(o,a),i.delayInitialFocusTimer=s.delayInitialFocus?Nl(function(){h(f())}):h(f()),r.addEventListener("focusin",b,!0),r.addEventListener("mousedown",y,{capture:!0,passive:!1}),r.addEventListener("touchstart",y,{capture:!0,passive:!1}),r.addEventListener("click",_,{capture:!0,passive:!1}),r.addEventListener("keydown",g,{capture:!0,passive:!1}),a},S=function(){if(i.active)return r.removeEventListener("focusin",b,!0),r.removeEventListener("mousedown",y,!0),r.removeEventListener("touchstart",y,!0),r.removeEventListener("click",_,!0),r.removeEventListener("keydown",g,!0),a},I=function(T){var C=T.some(function(x){var V=Array.from(x.removedNodes);return V.some(function(Q){return Q===i.mostRecentlyFocusedNode})});C&&h(f())},k=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(I):void 0,H=function(){k&&(k.disconnect(),i.active&&!i.paused&&i.containers.map(function(T){k.observe(T,{subtree:!0,childList:!0})}))};return a={get active(){return i.active},get paused(){return i.paused},activate:function(T){if(i.active)return this;var C=c(T,"onActivate"),x=c(T,"onPostActivate"),V=c(T,"checkCanFocusTrap");V||d(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,C==null||C();var Q=function(){V&&d(),P(),H(),x==null||x()};return V?(V(i.containers.concat()).then(Q,Q),this):(Q(),this)},deactivate:function(T){if(!i.active)return this;var C=$l({onDeactivate:s.onDeactivate,onPostDeactivate:s.onPostDeactivate,checkCanReturnFocus:s.checkCanReturnFocus},T);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,S(),i.active=!1,i.paused=!1,H(),Ml.deactivateTrap(o,a);var x=c(C,"onDeactivate"),V=c(C,"onPostDeactivate"),Q=c(C,"checkCanReturnFocus"),B=c(C,"returnFocus","returnFocusOnDeactivate");x==null||x();var J=function(){Nl(function(){B&&h(m(i.nodeFocusedBeforeActivation)),V==null||V()})};return B&&Q?(Q(m(i.nodeFocusedBeforeActivation)).then(J,J),this):(J(),this)},pause:function(T){if(i.paused||!i.active)return this;var C=c(T,"onPause"),x=c(T,"onPostPause");return i.paused=!0,C==null||C(),S(),H(),x==null||x(),this},unpause:function(T){if(!i.paused||!i.active)return this;var C=c(T,"onUnpause"),x=c(T,"onPostUnpause");return i.paused=!1,C==null||C(),d(),P(),H(),x==null||x(),this},updateContainerElements:function(T){var C=[].concat(T).filter(Boolean);return i.containers=C.map(function(x){return typeof x=="string"?r.querySelector(x):x}),i.active&&d(),H(),this}},a.updateContainerElements(t),a};function WT(e,t={}){let n;const{immediate:r,...o}=t,s=ce(!1),i=ce(!1),a=f=>n&&n.activate(f),c=f=>n&&n.deactivate(f),l=()=>{n&&(n.pause(),i.value=!0)},u=()=>{n&&(n.unpause(),i.value=!1)};return ge(()=>vT(e),f=>{f&&(n=KT(f,{...o,onActivate(){s.value=!0,t.onActivate&&t.onActivate()},onDeactivate(){s.value=!1,t.onDeactivate&&t.onDeactivate()}}),r&&a())},{flush:"post"}),pd(()=>c()),{hasFocus:s,isPaused:i,activate:a,deactivate:c,pause:l,unpause:u}}var Hl;const ms=typeof window<"u",qT=e=>typeof e<"u",QT=e=>typeof e=="function",JT=e=>typeof e=="string",ka=()=>{},ZT=ms&&((Hl=window==null?void 0:window.navigator)==null?void 0:Hl.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function St(e){return typeof e=="function"?e():M(e)}function jl(e,t=!1,n="Timeout"){return new Promise((r,o)=>{setTimeout(t?()=>o(n):r,e)})}function YT(e){return e}function ih(e){return Ko()?(En(e),!0):!1}function GT(e,t=!0){pt()?Nt(e):t?e():Et(e)}function Ni(e,t=!1){function n(f,{flush:d="sync",deep:h=!1,timeout:m,throwOnTimeout:p}={}){let y=null;const v=[new Promise(g=>{y=ge(e,_=>{f(_)!==t&&(y==null||y(),g(_))},{flush:d,deep:h,immediate:!0})})];return m!=null&&v.push(jl(m,p).then(()=>St(e)).finally(()=>y==null?void 0:y())),Promise.race(v)}function r(f,d){if(!Se(f))return n(_=>_===f,d);const{flush:h="sync",deep:m=!1,timeout:p,throwOnTimeout:y}=d??{};let b=null;const g=[new Promise(_=>{b=ge([e,f],([P,S])=>{t!==(P===S)&&(b==null||b(),_(P))},{flush:h,deep:m,immediate:!0})})];return p!=null&&g.push(jl(p,y).then(()=>St(e)).finally(()=>(b==null||b(),St(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(St(f))},d)}function l(f){return u(1,f)}function u(f=1,d){let h=-1;return n(()=>(h+=1,h>=f),d)}return Array.isArray(St(e))?{toMatch:n,toContains:c,changed:l,changedTimes:u,get not(){return Ni(e,!t)}}:{toMatch:n,toBe:r,toBeTruthy:o,toBeNull:s,toBeNaN:a,toBeUndefined:i,changed:l,changedTimes:u,get not(){return Ni(e,!t)}}}function Cx(e){return Ni(e)}function XT(e,t,n={}){const{immediate:r=!0}=n,o=ce(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,i()}function c(...l){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...l)},St(t))}return r&&(o.value=!0,ms&&c()),ih(a),{isPending:qo(o),start:c,stop:a}}function dr(e){var t;const n=St(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oa=ms?window:void 0,eP=ms?window.navigator:void 0;function Wt(...e){let t,n,r,o;if(JT(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=Oa):[t,n,r,o]=e,!t)return ka;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(u=>u()),s.length=0},a=(u,f,d,h)=>(u.addEventListener(f,d,h),()=>u.removeEventListener(f,d,h)),c=ge(()=>[dr(t),St(o)],([u,f])=>{i(),u&&s.push(...n.flatMap(d=>r.map(h=>a(u,d,h,f))))},{immediate:!0,flush:"post"}),l=()=>{c(),i()};return ih(l),l}let Fl=!1;function Tx(e,t,n={}){const{window:r=Oa,ignore:o=[],capture:s=!0,detectIframe:i=!1}=n;if(!r)return;ZT&&!Fl&&(Fl=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",ka)));let a=!0;const c=d=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(m=>m===d.target||d.composedPath().includes(m));{const m=dr(h);return m&&(d.target===m||d.composedPath().includes(m))}}),u=[Wt(r,"click",d=>{const h=dr(e);if(!(!h||h===d.target||d.composedPath().includes(h))){if(d.detail===0&&(a=!c(d)),!a){a=!0;return}t(d)}},{passive:!0,capture:s}),Wt(r,"pointerdown",d=>{const h=dr(e);h&&(a=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),i&&Wt(r,"blur",d=>{var h;const m=dr(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>u.forEach(d=>d())}function tP(e,t=!1){const n=ce(),r=()=>n.value=!!e();return r(),GT(r,t),n}function Px(e={}){const{navigator:t=eP,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=["copy","cut"],a=tP(()=>t&&"clipboard"in t),c=ee(()=>a.value||s),l=ce(""),u=ce(!1),f=XT(()=>u.value=!1,o);function d(){a.value?t.clipboard.readText().then(y=>{l.value=y}):l.value=p()}if(c.value&&n)for(const y of i)Wt(y,d);async function h(y=St(r)){c.value&&y!=null&&(a.value?await t.clipboard.writeText(y):m(y),l.value=y,u.value=!0,f.start())}function m(y){const b=document.createElement("textarea");b.value=y??"",b.style.position="absolute",b.style.opacity="0",document.body.appendChild(b),b.select(),document.execCommand("copy"),b.remove()}function p(){var y,b,v;return(v=(b=(y=document==null?void 0:document.getSelection)==null?void 0:y.call(document))==null?void 0:b.toString())!=null?v:""}return{isSupported:c,text:l,copied:u,copy:h}}function nP(e){return JSON.parse(JSON.stringify(e))}const Bl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Vl="__vueuse_ssr_handlers__";Bl[Vl]=Bl[Vl]||{};const rP={ctrl:"control",command:"meta",cmd:"meta",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright"};function oP(e={}){const{reactive:t=!1,target:n=Oa,aliasMap:r=rP,passive:o=!0,onEventFired:s=ka}=e,i=tt(new Set),a={toJSON(){return{}},current:i},c=t?tt(a):a,l=new Set,u=new Set;function f(p,y){p in c&&(t?c[p]=y:c[p].value=y)}function d(){i.clear();for(const p of u)f(p,!1)}function h(p,y){var b,v;const g=(b=p.key)==null?void 0:b.toLowerCase(),P=[(v=p.code)==null?void 0:v.toLowerCase(),g].filter(Boolean);g&&(y?i.add(g):i.delete(g));for(const S of P)u.add(S),f(S,y);g==="meta"&&!y?(l.forEach(S=>{i.delete(S),f(S,!1)}),l.clear()):typeof p.getModifierState=="function"&&p.getModifierState("Meta")&&y&&[...i,...P].forEach(S=>l.add(S))}Wt(n,"keydown",p=>(h(p,!0),s(p)),{passive:o}),Wt(n,"keyup",p=>(h(p,!1),s(p)),{passive:o}),Wt("blur",d,{passive:!0}),Wt("focus",d,{passive:!0});const m=new Proxy(c,{get(p,y,b){if(typeof y!="string")return Reflect.get(p,y,b);if(y=y.toLowerCase(),y in r&&(y=r[y]),!(y in c))if(/[+_-]/.test(y)){const g=y.split(/[+_-]/g).map(_=>_.trim());c[y]=ee(()=>g.every(_=>M(m[_])))}else c[y]=ce(!1);const v=Reflect.get(p,y,b);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 sP=Object.defineProperty,Ul=Object.getOwnPropertySymbols,iP=Object.prototype.hasOwnProperty,aP=Object.prototype.propertyIsEnumerable,Kl=(e,t,n)=>t in e?sP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cP=(e,t)=>{for(var n in t||(t={}))iP.call(t,n)&&Kl(e,n,t[n]);if(Ul)for(var n of Ul(t))aP.call(t,n)&&Kl(e,n,t[n]);return e};const lP={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]};cP({linear:YT},lP);function xx(e,t,n,r={}){var o,s,i;const{clone:a=!1,passive:c=!1,eventName:l,deep:u=!1,defaultValue:f}=r,d=pt(),h=n||(d==null?void 0:d.emit)||((o=d==null?void 0:d.$emit)==null?void 0:o.bind(d))||((i=(s=d==null?void 0:d.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(d==null?void 0:d.proxy));let m=l;t||(t="modelValue"),m=l||m||`update:${t.toString()}`;const p=b=>a?QT(a)?a(b):nP(b):b,y=()=>qT(e[t])?p(e[t]):f;if(c){const b=y(),v=ce(b);return ge(()=>e[t],g=>v.value=p(g)),ge(v,g=>{(g!==e[t]||u)&&h(m,g)},{deep:u}),v}else return ee({get(){return y()},set(b){h(m,b)}})}const zr=e=>(wu("data-v-0c43b394"),e=e(),Eu(),e),uP={class:"content"},fP=zr(()=>se("span",null,"Search",-1)),dP=zr(()=>se("span",null,[se("kbd",null,"⌘"),se("kbd",null,"K")],-1)),hP={class:"search-input"},pP=["onKeydown"],mP=["id","onMouseenter"],gP={class:"search-result-content-wrapper"},yP={class:"search-result-content-head"},_P={key:2},vP=zr(()=>se("span",{class:"arrow",innerHTML:"→"},null,-1)),bP={key:0,class:"search-result-content-preview"},wP=zr(()=>se("span",null,"“",-1)),EP=["innerHTML"],CP=zr(()=>se("span",null,"“",-1)),TP={key:1,class:"search-results empty"},PP={key:2,class:"search-results empty"},xP=Ae({__name:"AppSearch",props:{fuse:{type:Object,default:()=>({fuseOptions:{keys:["title","description","keywords","body"],ignoreLocation:!0,threshold:0,includeMatches:!0,includeScore:!0},matchAllWhenSearchEmpty:!0})}},async setup(e){let t,n;const r=e,o=ce(""),s=ce(),i=ce(),a=ce(),c=ce(-1),l=ce(!1),{close:u,open:f}=Dd(),{activate:d,deactivate:h}=WT(s),{navigation:m}=Vr(),{meta_K:p,Escape:y}=oP(),{data:b}=([t,n]=Fu(()=>zb("search-api",()=>$fetch("/api/search",{parseResponse:JSON.parse}))),t=await t,n(),t),{results:v}=_T(o,b,r.fuse);function g(R,T,C){for(const x of R){if(x._path===T)return{directoryTitle:C.title,directoryIcon:C.icon};if(x.children){const V=g(x.children,T,x);if(V)return V}}}function _(R){let T;for(const C of m.value)if(C.children){const x=g(C.children,R,C);x&&(T=x)}return T}function P(R,T){const{indices:C,value:x}=T||{indices:[],value:""};if(R===x)return"";let V="",Q=0;C.forEach(J=>{const U=J[1]+1,he=U-J[0]>=o.value.length;V+=[x.substring(Q,J[0]),he&&"",x.substring(J[0],U),he&&""].filter(Boolean).join(""),Q=U}),V+=x.substring(Q);const B=V.indexOf("");return B>60&&(V=`${V.substring(B-60)}`),`${V}”`}function S(){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 k(R){var x,V;const T=(V=(x=v==null?void 0:v.value)==null?void 0:x[R])==null?void 0:V.item,C=T==null?void 0:T.path;C&&(l.value=!1,ct().push(C))}function H(){var R,T;o.value?(o.value="",c.value=-1,(T=(R=i.value)==null?void 0:R.focus)==null||T.call(R)):l.value=!1}return Nt(()=>{const R=at();R.query.q&&(l.value=!0,o.value=R.query.q)}),ge(c,R=>{var C,x,V,Q;const T=(V=(x=(C=v==null?void 0:v.value)==null?void 0:C[R])==null?void 0:x.item)==null?void 0:V.id;T&&((Q=document.querySelector(`[id="${T}"]`))==null||Q.scrollIntoView({block:"nearest"}))}),ge(o,R=>{c.value=0}),ge(l,R=>{R?(f(),Et(()=>{d()})):(o.value="",c.value=-1,h(),u())}),ge(p,R=>{R&&(l.value=!l.value)}),ge(y,()=>{l.value&&(l.value=!1)}),(R,T)=>{const C=Dt;return q(),ue(Pe,null,[se("button",{type:"button","aria-label":"Search",onClick:T[0]||(T[0]=x=>l.value=!0)},[se("span",uP,[oe(C,{name:"heroicons-outline:search"}),fP,dP])]),(q(),de(Yu,{to:"body"},[M(l)?(q(),ue("div",{key:0,ref_key:"searchContentRef",ref:s,class:"search-content",onClick:T[5]||(T[5]=x=>l.value=!1)},[se("div",{class:"search-window",onClick:T[4]||(T[4]=ur(()=>{},["stop"]))},[se("div",hP,[oe(C,{name:"heroicons-outline:search",class:"search-icon"}),Ru(se("input",{ref_key:"searchInputRef",ref:i,"onUpdate:modelValue":T[1]||(T[1]=x=>Se(o)?o.value=x:null),type:"text",placeholder:"Search documentation",onKeydown:[As(ur(I,["prevent"]),["up"]),As(ur(S,["prevent"]),["down"]),T[2]||(T[2]=As(x=>k(M(c)),["enter"]))]},null,40,pP),[[$m,M(o)]]),se("button",{class:"close-button",onClick:H},[oe(C,{name:"heroicons:x-mark",class:"close-icon"})])]),M(v).length>0?(q(),ue("div",{key:0,ref_key:"resultsAreaRef",ref:a,class:"search-results"},[(q(!0),ue(Pe,null,Fn(M(v),(x,V)=>{var Q,B,J,U,he,Oe,Le,we,ze,nt;return q(),ue("div",{id:x.item.id,key:x.item.id,class:je(["search-result",{selected:M(c)===V}]),onClick:T[3]||(T[3]=mt=>k(M(c))),onMouseenter:ur(mt=>c.value=V,["prevent"])},[se("div",gP,[se("div",yP,[(B=_((Q=x==null?void 0:x.item)==null?void 0:Q.path))!=null&&B.directoryIcon?(q(),de(C,{key:0,name:(U=_((J=x==null?void 0:x.item)==null?void 0:J.path))==null?void 0:U.directoryIcon},null,8,["name"])):(q(),de(C,{key:1,name:"solar:documents-bold-duotone"})),(Oe=_((he=x==null?void 0:x.item)==null?void 0:he.path))!=null&&Oe.directoryTitle?(q(),ue("span",_P,[Xn(Ot((we=_((Le=x==null?void 0:x.item)==null?void 0:Le.path))==null?void 0:we.directoryTitle)+" ",1),vP])):Fe("",!0),se("span",null,Ot(x.item.title),1)]),(ze=x==null?void 0:x.matches)!=null&&ze[0]?(q(),ue("p",bP,[wP,se("span",{innerHTML:`${P(M(o),(nt=x==null?void 0:x.matches)==null?void 0:nt[0])}`},null,8,EP),CP])):Fe("",!0)])],42,mP)}),128))],512)):M(o)?(q(),ue("div",PP," No results found. Try another query ")):(q(),ue("div",TP," Type your query to search docs "))])],512)):Fe("",!0)]))],64)}}});const ah=Ve(xP,[["__scopeId","data-v-0c43b394"]]),AP=Object.freeze(Object.defineProperty({__proto__:null,default:ah},Symbol.toStringTag,{value:"Module"})),SP=Ae({name:"ClientOnly",inheritAttrs:!1,props:["fallback","placeholder","placeholderTag","fallbackTag"],setup(e,{slots:t,attrs:n}){const r=ce(!1);return Nt(()=>{r.value=!0}),o=>{var c;if(r.value)return(c=t.default)==null?void 0:c.call(t);const s=t.fallback||t.placeholder;if(s)return s();const i=o.fallback||o.placeholder||"",a=o.fallbackTag||o.placeholderTag||"span";return ue(a,n,i)}}}),RP={name:lw,props:{placeholder:String,tag:{type:String,default:"span"}}};function IP(e,t,n,r,o,s){const i=SP;return q(),de(i,{placeholder:n.placeholder,"placeholder-tag":n.tag},{default:Je(()=>[Sr(e.$slots,"default")]),_:3},8,["placeholder","placeholder-tag"])}const kP=Ve(RP,[["render",IP]]),OP=()=>Rt("color-mode").value,LP=Ae({__name:"ThemeSelect",setup(e){const t=OP(),n=()=>{const r=["system","light","dark"],s=(r.indexOf(t.preference)+1)%r.length;t.preference=r[s]};return(r,o)=>{const s=Dt,i=kP;return q(),ue("button",{"aria-label":"Color Mode",onClick:n},[oe(i,{placeholder:"..."},{default:Je(()=>[M(t).preference==="dark"?(q(),de(s,{key:0,name:"uil:moon"})):M(t).preference==="light"?(q(),de(s,{key:1,name:"uil:sun"})):(q(),de(s,{key:2,name:"uil:desktop"}))]),_:1})])}}});const ch=Ve(LP,[["__scopeId","data-v-8c5f6b44"]]),$P=Object.freeze(Object.defineProperty({__proto__:null,default:ch},Symbol.toStringTag,{value:"Module"})),MP=Ae({__name:"Container",props:{as:{type:String,required:!1,default:"div"},padded:{required:!1,type:[Boolean,Object],default:!0},fluid:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const t=e,n={padded:{true:{px:"{elements.container.padding.mobile}","@xs":{px:"{elements.container.padding.xs}"},"@sm":{px:"{elements.container.padding.sm}"},"@md":{px:"{elements.container.padding.md}"}}},fluid:{true:{},false:{maxWidth:"{elements.container.maxWidth}"}}},{$pinceau:r}=Y1(t,n,void 0);return(o,s)=>(q(),de(Go(e.as),{class:je(["container",[M(r)]])},{default:Je(()=>[Sr(o.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}});const La=Ve(MP,[["__scopeId","data-v-6fad1fba"]]),NP=Object.freeze(Object.defineProperty({__proto__:null,default:La},Symbol.toStringTag,{value:"Module"})),DP={class:"section left"},HP={class:"section center"},jP={class:"section right"},FP={class:"social-icons"},BP=Ae({__name:"AppHeader",props:{},setup(e){const{config:t}=tn(),{navigation:n}=Vr(),{hasDocSearch:r}=Vd(),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=Hd,c=Fd,l=Bd,u=Ud,f=ah,d=ch,h=ps,m=La;return q(),ue("header",{class:je({"has-dialog":M(o)})},[oe(m,{fluid:(y=(p=M(t))==null?void 0:p.header)==null?void 0:y.fluid},{default:Je(()=>[se("div",DP,[M(o)?(q(),de(a,{key:0})):Fe("",!0),oe(c)]),se("div",HP,[M(o)?(q(),de(c,{key:0})):Fe("",!0),oe(l)]),se("div",jP,[M(r)?(q(),de(u,{key:0})):(q(),de(f,{key:1,fuse:M(t).fuse},null,8,["fuse"])),oe(d),se("div",FP,[oe(h)])])]),_:1},8,["fluid"])],2)}}});const lh=Ve(BP,[["__scopeId","data-v-9e920cd4"]]),VP=Object.freeze(Object.defineProperty({__proto__:null,default:lh},Symbol.toStringTag,{value:"Module"})),zP={class:"left"},UP=["href"],KP={key:1},WP={class:"center"},qP={class:"right"},QP=["aria-label","href","rel"],JP=Ae({__name:"AppFooter",setup(e){const{config:t}=tn(),n=ce(null),r=ee(()=>{var a,c;return((c=(a=t.value)==null?void 0:a.footer)==null?void 0:c.iconLinks)||[]}),o=ee(()=>{var a,c;return((c=(a=t.value)==null?void 0:a.footer)==null?void 0:c.textLinks)||[]}),s=ee(()=>{var a;return Object.entries(((a=t.value)==null?void 0:a.socials)||{}).filter(([,c])=>c).length}),i=ee(()=>n.value?s.value:0);return(a,c)=>{var h,m;const l=Dt,u=Br,f=ps,d=La;return q(),ue("footer",null,[oe(d,{fluid:(m=(h=M(t))==null?void 0:h.footer)==null?void 0:m.fluid,padded:"",class:"footer-container"},{default:Je(()=>{var p,y,b,v,g,_,P,S,I,k,H,R,T,C;return[se("div",zP,[(y=(p=M(t))==null?void 0:p.footer)!=null&&y.credits?(q(),ue("a",{key:0,href:((g=(v=(b=M(t))==null?void 0:b.footer)==null?void 0:v.credits)==null?void 0:g.href)||"#",rel:"noopener",target:"_blank"},[(S=(P=(_=M(t))==null?void 0:_.footer)==null?void 0:P.credits)!=null&&S.icon?(q(),de(l,{key:0,name:(H=(k=(I=M(t))==null?void 0:I.footer)==null?void 0:k.credits)==null?void 0:H.icon,class:"left-icon"},null,8,["name"])):Fe("",!0),(C=(T=(R=M(t))==null?void 0:R.footer)==null?void 0:T.credits)!=null&&C.text?(q(),ue("p",KP,Ot(M(t).footer.credits.text),1)):Fe("",!0)],8,UP)):Fe("",!0)]),se("div",WP,[(q(!0),ue(Pe,null,Fn(M(o),x=>(q(),de(u,{key:x.href,class:"text-link","aria-label":x.text,href:x.href,target:(x==null?void 0:x.target)||"_self",rel:(x==null?void 0:x.rel)||"noopener noreferrer"},{default:Je(()=>[Xn(Ot(x.text),1)]),_:2},1032,["aria-label","href","target","rel"]))),128))]),se("div",qP,[(q(!0),ue(Pe,null,Fn(M(r).slice(0,6-M(i)),x=>(q(),ue("a",{key:x.label,class:"icon-link","aria-label":x.label,href:x.href,target:"_blank",rel:(x==null?void 0:x.rel)||"noopener noreferrer"},[oe(l,{name:x.icon},null,8,["name"])],8,QP))),128)),oe(f,{ref_key:"socialIcons",ref:n},null,512)])]}),_:1},8,["fluid"])])}}});const uh=Ve(JP,[["__scopeId","data-v-351b46b1"]]),ZP=Object.freeze(Object.defineProperty({__proto__:null,default:uh},Symbol.toStringTag,{value:"Module"})),YP=(e,t=at())=>{const n=M(e),r=Ze();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(l=>l.name==="description").length===0&&i.meta.push({name:"description",content:c}),i!=null&&i.image||(s==null||s.image),Et(()=>Lr(i))},{immediate:!0})},GP={class:"app-layout"},XP=Ae({__name:"AppLayout",setup(e){const{config:t}=tn();return Lr({titleTemplate:t.value.titleTemplate,meta:[{name:"twitter:card",content:"summary_large_image"}]}),ge(()=>t.value.titleTemplate,()=>Lr({titleTemplate:t.value.titleTemplate})),YP(t.value),(n,r)=>{const o=vd,s=lh,i=uh;return q(),ue("div",GP,[oe(o),oe(s),se("main",null,[Sr(n.$slots,"default",{},void 0,!0)]),oe(i)])}}});const fh=Ve(XP,[["__scopeId","data-v-47c944a3"]]),ex=Object.freeze(Object.defineProperty({__proto__:null,default:fh},Symbol.toStringTag,{value:"Module"})),tx=Ae({__name:"app",setup(e){return Tw(),(t,n)=>{const r=_d,o=Vw,s=fh;return q(),ue("div",null,[oe(r,{type:"warning"},{default:Je(()=>[Xn("Currently you are viewing v3 document of vue-recaptcha which is still in development")]),_:1}),oe(s,null,{default:Je(()=>[oe(o)]),_:1})])}}}),nx={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error;(n.stack||"").split(` `).splice(1).map(f=>({text:f.replace("webpack:/","").replace(".vue",".js").trim(),internal:f.includes("node_modules")&&!f.includes(".cache")||f.includes("internal")||f.includes("new Promise")})).map(f=>`${f.text}`).join(` -`);const r=Number(n.statusCode||500),o=r===404,s=n.statusMessage??(o?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,u=o?N(()=>L(()=>import("./error-404.3bfad3c7.js"),["./error-404.3bfad3c7.js","./error-404.ab4c8550.css"],import.meta.url).then(f=>f.default||f)):N(()=>L(()=>import("./error-500.fb95fa91.js"),["./error-500.fb95fa91.js","./error-500.b8346758.css"],import.meta.url).then(f=>f.default||f));return(f,d)=>(q(),de(M(u),Ch(nf({statusCode:M(r),statusMessage:M(s),description:M(i),stack:M(a)})),null,16))}},Wl={__name:"nuxt-root",setup(e){const t=()=>null,n=ye(),r=n.deferHydration(),o=!1;Dn(rs,at()),n.hooks.callHookWith(a=>a.map(c=>c()),"vue:setup");const s=os();Hu((a,c,l)=>{if(n.hooks.callHook("vue:error",a,c,l).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),t_(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>In(a)),!1});const i=!1;return(a,c)=>(q(),de(xu,{onResolve:M(r)},{default:Je(()=>[M(s)?(q(),de(M(nx),{key:0,error:M(s)},null,8,["error"])):M(i)?(q(),de(M(t),{key:1,context:M(i)},null,8,["context"])):M(o)?(q(),de(Go(M(o)),{key:2})):(q(),de(M(tx),{key:3}))]),_:1},8,["onResolve"]))}};let ql;{let e;ql=async function(){var s,i;if(e)return e;const r=!!((s=window.__NUXT__)!=null&&s.serverRendered||((i=document.getElementById("__NUXT_DATA__"))==null?void 0:i.dataset.ssr)==="true")?Bm(Wl):Fm(Wl),o=Ug({vueApp:r});try{await Wg(o,Ow)}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(h_),await o.hooks.callHook("app:mounted",r),await Et()}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}return r},e=ql().catch(t=>{console.error("Error while mounting app:",t)})}export{Mw as $,Rn as A,Et as B,cx as C,me as D,Lr as E,Pe as F,Xn as G,Br as H,De as I,ax as J,ee as K,M as L,fr as M,ix as N,Pv as O,rs as P,et as Q,tm as R,xu as S,sa as T,Dn as U,Xy as V,Vr as W,YP as X,de as Y,Se as Z,L as _,Ar as a,dx as a$,xx as a0,Dt as a1,Ru as a2,$m as a3,Cx as a4,ge as a5,Gn as a6,pt as a7,tt as a8,vp as a9,ma as aA,Nu as aB,Fn as aC,ur as aD,Px as aE,Tx as aF,df as aG,vm as aH,gd as aI,$w as aJ,vi as aK,Vb as aL,OP as aM,mx as aN,xo as aO,rx as aP,Oo as aQ,C1 as aR,Qn as aS,sx as aT,al as aU,px as aV,Tt as aW,lx as aX,hx as aY,ux as aZ,fx as a_,du as aa,Sr as ab,Y1 as ac,ox as ad,dp as ae,Bb as af,Bn as ag,kr as ah,ya as ai,gx as aj,Qo as ak,Ch as al,nf as am,Go as an,_x as ao,yx as ap,wx as aq,Ex as ar,bx as as,vx as at,tn as au,Ra as av,Cn as aw,_d as ax,La as ay,Fb as az,q as b,w1 as b0,ue as c,Ae as d,se as e,Fe as f,oe as g,uo as h,Eu as i,ye as j,Ve as k,Ze as l,Rt as m,je as n,Nt as o,wu as p,fo as q,ce as r,at as s,Ot as t,ct as u,bf as v,Je as w,fa as x,jn as y,Fm as z}; +`);const r=Number(n.statusCode||500),o=r===404,s=n.statusMessage??(o?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,u=o?N(()=>L(()=>import("./error-404.6c057df9.js"),["./error-404.6c057df9.js","./error-404.ab4c8550.css"],import.meta.url).then(f=>f.default||f)):N(()=>L(()=>import("./error-500.01b83cd2.js"),["./error-500.01b83cd2.js","./error-500.b8346758.css"],import.meta.url).then(f=>f.default||f));return(f,d)=>(q(),de(M(u),Ch(nf({statusCode:M(r),statusMessage:M(s),description:M(i),stack:M(a)})),null,16))}},Wl={__name:"nuxt-root",setup(e){const t=()=>null,n=ye(),r=n.deferHydration(),o=!1;Dn(rs,at()),n.hooks.callHookWith(a=>a.map(c=>c()),"vue:setup");const s=os();Hu((a,c,l)=>{if(n.hooks.callHook("vue:error",a,c,l).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),t_(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>In(a)),!1});const i=!1;return(a,c)=>(q(),de(xu,{onResolve:M(r)},{default:Je(()=>[M(s)?(q(),de(M(nx),{key:0,error:M(s)},null,8,["error"])):M(i)?(q(),de(M(t),{key:1,context:M(i)},null,8,["context"])):M(o)?(q(),de(Go(M(o)),{key:2})):(q(),de(M(tx),{key:3}))]),_:1},8,["onResolve"]))}};let ql;{let e;ql=async function(){var s,i;if(e)return e;const r=!!((s=window.__NUXT__)!=null&&s.serverRendered||((i=document.getElementById("__NUXT_DATA__"))==null?void 0:i.dataset.ssr)==="true")?Bm(Wl):Fm(Wl),o=Ug({vueApp:r});try{await Wg(o,Ow)}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(h_),await o.hooks.callHook("app:mounted",r),await Et()}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}return r},e=ql().catch(t=>{console.error("Error while mounting app:",t)})}export{Mw as $,Rn as A,Et as B,cx as C,me as D,Lr as E,Pe as F,Xn as G,Br as H,De as I,ax as J,ee as K,M as L,fr as M,ix as N,Pv as O,rs as P,et as Q,tm as R,xu as S,sa as T,Dn as U,Xy as V,Vr as W,YP as X,de as Y,Se as Z,L as _,Ar as a,dx as a$,xx as a0,Dt as a1,Ru as a2,$m as a3,Cx as a4,ge as a5,Gn as a6,pt as a7,tt as a8,vp as a9,ma as aA,Nu as aB,Fn as aC,ur as aD,Px as aE,Tx as aF,df as aG,vm as aH,gd as aI,$w as aJ,vi as aK,Vb as aL,OP as aM,mx as aN,xo as aO,rx as aP,Oo as aQ,C1 as aR,Qn as aS,sx as aT,al as aU,px as aV,Tt as aW,lx as aX,hx as aY,ux as aZ,fx as a_,du as aa,Sr as ab,Y1 as ac,ox as ad,dp as ae,Bb as af,Bn as ag,kr as ah,ya as ai,gx as aj,Qo as ak,Ch as al,nf as am,Go as an,_x as ao,yx as ap,wx as aq,Ex as ar,bx as as,vx as at,tn as au,Ra as av,Cn as aw,_d as ax,La as ay,Fb as az,q as b,w1 as b0,ue as c,Ae as d,se as e,Fe as f,oe as g,uo as h,Eu as i,ye as j,Ve as k,Ze as l,Rt as m,je as n,Nt as o,wu as p,fo as q,ce as r,at as s,Ot as t,ct as u,bf as v,Je as w,fa as x,jn as y,Fm as z}; diff --git a/_nuxt/erDiagram-20cc9db4.e364cd38.js b/_nuxt/erDiagram-20cc9db4.012ba04e.js similarity index 99% rename from _nuxt/erDiagram-20cc9db4.e364cd38.js rename to _nuxt/erDiagram-20cc9db4.012ba04e.js index 08553f3261..714a3b8d20 100644 --- a/_nuxt/erDiagram-20cc9db4.e364cd38.js +++ b/_nuxt/erDiagram-20cc9db4.012ba04e.js @@ -1,4 +1,4 @@ -import{c as U,s as xt,g as kt,b as Ot,a as bt,x as Rt,y as Nt,e as Tt,l as tt,A as vt,i as at,z as At,j as Mt,a3 as It,a4 as wt}from"./mermaid.core.0bf3cbc4.js";import{G as St,l as Bt}from"./layout.e30182f8.js";import{l as Dt}from"./line.7016ab98.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const Lt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Ct(t){return typeof t=="string"&&Lt.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function Yt(t,r=0){return(A[t[r+0]]+A[t[r+1]]+A[t[r+2]]+A[t[r+3]]+"-"+A[t[r+4]]+A[t[r+5]]+"-"+A[t[r+6]]+A[t[r+7]]+"-"+A[t[r+8]]+A[t[r+9]]+"-"+A[t[r+10]]+A[t[r+11]]+A[t[r+12]]+A[t[r+13]]+A[t[r+14]]+A[t[r+15]]).toLowerCase()}function Zt(t){if(!Ct(t))throw TypeError("Invalid UUID");let r;const e=new Uint8Array(16);return e[0]=(r=parseInt(t.slice(0,8),16))>>>24,e[1]=r>>>16&255,e[2]=r>>>8&255,e[3]=r&255,e[4]=(r=parseInt(t.slice(9,13),16))>>>8,e[5]=r&255,e[6]=(r=parseInt(t.slice(14,18),16))>>>8,e[7]=r&255,e[8]=(r=parseInt(t.slice(19,23),16))>>>8,e[9]=r&255,e[10]=(r=parseInt(t.slice(24,36),16))/1099511627776&255,e[11]=r/4294967296&255,e[12]=r>>>24&255,e[13]=r>>>16&255,e[14]=r>>>8&255,e[15]=r&255,e}function Ft(t){t=unescape(encodeURIComponent(t));const r=[];for(let e=0;e>>32-r}function zt(t){const r=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;O=E,E=g,g=st(_,30)>>>0,_=h,h=D}e[0]=e[0]+h>>>0,e[1]=e[1]+_>>>0,e[2]=e[2]+g>>>0,e[3]=e[3]+E>>>0,e[4]=e[4]+O>>>0}return[e[0]>>24&255,e[0]>>16&255,e[0]>>8&255,e[0]&255,e[1]>>24&255,e[1]>>16&255,e[1]>>8&255,e[1]&255,e[2]>>24&255,e[2]>>16&255,e[2]>>8&255,e[2]&255,e[3]>>24&255,e[3]>>16&255,e[3]>>8&255,e[3]&255,e[4]>>24&255,e[4]>>16&255,e[4]>>8&255,e[4]&255]}const Gt=Ut("v5",80,zt),Kt=Gt;var ot=function(){var t=function(v,n,s,d){for(s=s||{},d=v.length;d--;s[v[d]]=n);return s},r=[1,2],e=[1,5],a=[6,9,11,23,25,27,29,30,31,51],c=[1,17],p=[1,18],f=[1,19],l=[1,20],h=[1,21],_=[1,22],g=[1,25],E=[1,30],O=[1,31],y=[1,32],M=[1,33],D=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,51],V=[1,45],z=[30,31,48,49],L=[4,6,9,11,23,25,27,29,30,31,51],R=[44,45,46,47],N=[22,37],T=[1,65],x=[1,64],S=[22,37,39,41],C={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,NON_IDENTIFYING:48,IDENTIFYING:49,WORD:50,open_directive:51,type_directive:52,arg_directive:53,close_directive:54,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"NON_IDENTIFYING",49:"IDENTIFYING",50:"WORD",51:"open_directive",52:"type_directive",53:"arg_directive",54:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,s,d,u,m,i,X){var o=i.length-1;switch(m){case 1:break;case 3:this.$=[];break;case 4:i[o-1].push(i[o]),this.$=i[o-1];break;case 5:case 6:this.$=i[o];break;case 7:case 8:this.$=[];break;case 12:u.addEntity(i[o-4]),u.addEntity(i[o-2]),u.addRelationship(i[o-4],i[o],i[o-2],i[o-3]);break;case 13:u.addEntity(i[o-3]),u.addAttributes(i[o-3],i[o-1]);break;case 14:u.addEntity(i[o-2]);break;case 15:u.addEntity(i[o]);break;case 16:case 17:this.$=i[o].trim(),u.setAccTitle(this.$);break;case 18:case 19:this.$=i[o].trim(),u.setAccDescription(this.$);break;case 20:case 43:this.$=i[o];break;case 21:case 41:case 42:this.$=i[o].replace(/"/g,"");break;case 22:case 30:this.$=[i[o]];break;case 23:i[o].push(i[o-1]),this.$=i[o];break;case 24:this.$={attributeType:i[o-1],attributeName:i[o]};break;case 25:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeKeyTypeList:i[o]};break;case 26:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeComment:i[o]};break;case 27:this.$={attributeType:i[o-3],attributeName:i[o-2],attributeKeyTypeList:i[o-1],attributeComment:i[o]};break;case 28:case 29:case 32:this.$=i[o];break;case 31:i[o-2].push(i[o]),this.$=i[o-2];break;case 33:this.$=i[o].replace(/"/g,"");break;case 34:this.$={cardA:i[o],relType:i[o-1],cardB:i[o-2]};break;case 35:this.$=u.Cardinality.ZERO_OR_ONE;break;case 36:this.$=u.Cardinality.ZERO_OR_MORE;break;case 37:this.$=u.Cardinality.ONE_OR_MORE;break;case 38:this.$=u.Cardinality.ONLY_ONE;break;case 39:this.$=u.Identification.NON_IDENTIFYING;break;case 40:this.$=u.Identification.IDENTIFYING;break;case 44:u.parseDirective("%%{","open_directive");break;case 45:u.parseDirective(i[o],"type_directive");break;case 46:i[o]=i[o].trim().replace(/'/g,'"'),u.parseDirective(i[o],"arg_directive");break;case 47:u.parseDirective("}%%","close_directive","er");break}},table:[{3:1,4:r,7:3,12:4,51:e},{1:[3]},t(a,[2,3],{5:6}),{3:7,4:r,7:3,12:4,51:e},{13:8,52:[1,9]},{52:[2,44]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},{1:[2,2]},{14:23,15:[1,24],54:g},t([15,54],[2,45]),t(a,[2,8],{1:[2,1]}),t(a,[2,4]),{7:15,10:26,12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},t(a,[2,6]),t(a,[2,7]),t(a,[2,11]),t(a,[2,15],{18:27,42:29,20:[1,28],44:E,45:O,46:y,47:M}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(a,[2,19]),t(D,[2,20]),t(D,[2,21]),{11:[1,37]},{16:38,53:[1,39]},{11:[2,47]},t(a,[2,5]),{17:40,30:h,31:_},{21:41,22:[1,42],32:43,33:44,37:V},{43:46,48:[1,47],49:[1,48]},t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(z,[2,38]),t(a,[2,16]),t(a,[2,17]),t(a,[2,18]),t(L,[2,9]),{14:49,54:g},{54:[2,46]},{15:[1,50]},{22:[1,51]},t(a,[2,14]),{21:52,22:[2,22],32:43,33:44,37:V},{34:53,37:[1,54]},{37:[2,28]},{42:55,44:E,45:O,46:y,47:M},t(R,[2,39]),t(R,[2,40]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],50:[1,58]},t(a,[2,13]),{22:[2,23]},t(N,[2,24],{35:61,36:62,38:63,40:T,41:x}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(L,[2,10]),t(a,[2,12]),t(a,[2,41]),t(a,[2,42]),t(a,[2,43]),t(N,[2,25],{36:66,39:[1,67],41:x}),t(N,[2,26]),t(S,[2,30]),t(N,[2,33]),t(S,[2,32]),t(N,[2,27]),{38:68,40:T},t(S,[2,31])],defaultActions:{5:[2,44],7:[2,2],25:[2,47],39:[2,46],45:[2,28],52:[2,23]},parseError:function(n,s){if(s.recoverable)this.trace(n);else{var d=new Error(n);throw d.hash=s,d}},parse:function(n){var s=this,d=[0],u=[],m=[null],i=[],X=this.table,o="",q=0,lt=0,_t=2,ht=1,gt=i.slice.call(arguments,1),b=Object.create(this.lexer),G={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(G.yy[et]=this.yy[et]);b.setInput(n,G.yy),G.yy.lexer=b,G.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var rt=b.yylloc;i.push(rt);var mt=b.options&&b.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Et(){var F;return F=u.pop()||b.lex()||ht,typeof F!="number"&&(F instanceof Array&&(u=F,F=u.pop()),F=s.symbols_[F]||F),F}for(var I,K,w,it,H={},J,Z,dt,$;;){if(K=d[d.length-1],this.defaultActions[K]?w=this.defaultActions[K]:((I===null||typeof I>"u")&&(I=Et()),w=X[K]&&X[K][I]),typeof w>"u"||!w.length||!w[0]){var nt="";$=[];for(J in X[K])this.terminals_[J]&&J>_t&&$.push("'"+this.terminals_[J]+"'");b.showPosition?nt="Parse error on line "+(q+1)+`: +import{c as U,s as xt,g as kt,b as Ot,a as bt,x as Rt,y as Nt,e as Tt,l as tt,A as vt,i as at,z as At,j as Mt,a3 as It,a4 as wt}from"./mermaid.core.ebd445a5.js";import{G as St,l as Bt}from"./layout.6ca81b77.js";import{l as Dt}from"./line.56665913.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const Lt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Ct(t){return typeof t=="string"&&Lt.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function Yt(t,r=0){return(A[t[r+0]]+A[t[r+1]]+A[t[r+2]]+A[t[r+3]]+"-"+A[t[r+4]]+A[t[r+5]]+"-"+A[t[r+6]]+A[t[r+7]]+"-"+A[t[r+8]]+A[t[r+9]]+"-"+A[t[r+10]]+A[t[r+11]]+A[t[r+12]]+A[t[r+13]]+A[t[r+14]]+A[t[r+15]]).toLowerCase()}function Zt(t){if(!Ct(t))throw TypeError("Invalid UUID");let r;const e=new Uint8Array(16);return e[0]=(r=parseInt(t.slice(0,8),16))>>>24,e[1]=r>>>16&255,e[2]=r>>>8&255,e[3]=r&255,e[4]=(r=parseInt(t.slice(9,13),16))>>>8,e[5]=r&255,e[6]=(r=parseInt(t.slice(14,18),16))>>>8,e[7]=r&255,e[8]=(r=parseInt(t.slice(19,23),16))>>>8,e[9]=r&255,e[10]=(r=parseInt(t.slice(24,36),16))/1099511627776&255,e[11]=r/4294967296&255,e[12]=r>>>24&255,e[13]=r>>>16&255,e[14]=r>>>8&255,e[15]=r&255,e}function Ft(t){t=unescape(encodeURIComponent(t));const r=[];for(let e=0;e>>32-r}function zt(t){const r=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;O=E,E=g,g=st(_,30)>>>0,_=h,h=D}e[0]=e[0]+h>>>0,e[1]=e[1]+_>>>0,e[2]=e[2]+g>>>0,e[3]=e[3]+E>>>0,e[4]=e[4]+O>>>0}return[e[0]>>24&255,e[0]>>16&255,e[0]>>8&255,e[0]&255,e[1]>>24&255,e[1]>>16&255,e[1]>>8&255,e[1]&255,e[2]>>24&255,e[2]>>16&255,e[2]>>8&255,e[2]&255,e[3]>>24&255,e[3]>>16&255,e[3]>>8&255,e[3]&255,e[4]>>24&255,e[4]>>16&255,e[4]>>8&255,e[4]&255]}const Gt=Ut("v5",80,zt),Kt=Gt;var ot=function(){var t=function(v,n,s,d){for(s=s||{},d=v.length;d--;s[v[d]]=n);return s},r=[1,2],e=[1,5],a=[6,9,11,23,25,27,29,30,31,51],c=[1,17],p=[1,18],f=[1,19],l=[1,20],h=[1,21],_=[1,22],g=[1,25],E=[1,30],O=[1,31],y=[1,32],M=[1,33],D=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,51],V=[1,45],z=[30,31,48,49],L=[4,6,9,11,23,25,27,29,30,31,51],R=[44,45,46,47],N=[22,37],T=[1,65],x=[1,64],S=[22,37,39,41],C={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,NON_IDENTIFYING:48,IDENTIFYING:49,WORD:50,open_directive:51,type_directive:52,arg_directive:53,close_directive:54,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"NON_IDENTIFYING",49:"IDENTIFYING",50:"WORD",51:"open_directive",52:"type_directive",53:"arg_directive",54:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,s,d,u,m,i,X){var o=i.length-1;switch(m){case 1:break;case 3:this.$=[];break;case 4:i[o-1].push(i[o]),this.$=i[o-1];break;case 5:case 6:this.$=i[o];break;case 7:case 8:this.$=[];break;case 12:u.addEntity(i[o-4]),u.addEntity(i[o-2]),u.addRelationship(i[o-4],i[o],i[o-2],i[o-3]);break;case 13:u.addEntity(i[o-3]),u.addAttributes(i[o-3],i[o-1]);break;case 14:u.addEntity(i[o-2]);break;case 15:u.addEntity(i[o]);break;case 16:case 17:this.$=i[o].trim(),u.setAccTitle(this.$);break;case 18:case 19:this.$=i[o].trim(),u.setAccDescription(this.$);break;case 20:case 43:this.$=i[o];break;case 21:case 41:case 42:this.$=i[o].replace(/"/g,"");break;case 22:case 30:this.$=[i[o]];break;case 23:i[o].push(i[o-1]),this.$=i[o];break;case 24:this.$={attributeType:i[o-1],attributeName:i[o]};break;case 25:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeKeyTypeList:i[o]};break;case 26:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeComment:i[o]};break;case 27:this.$={attributeType:i[o-3],attributeName:i[o-2],attributeKeyTypeList:i[o-1],attributeComment:i[o]};break;case 28:case 29:case 32:this.$=i[o];break;case 31:i[o-2].push(i[o]),this.$=i[o-2];break;case 33:this.$=i[o].replace(/"/g,"");break;case 34:this.$={cardA:i[o],relType:i[o-1],cardB:i[o-2]};break;case 35:this.$=u.Cardinality.ZERO_OR_ONE;break;case 36:this.$=u.Cardinality.ZERO_OR_MORE;break;case 37:this.$=u.Cardinality.ONE_OR_MORE;break;case 38:this.$=u.Cardinality.ONLY_ONE;break;case 39:this.$=u.Identification.NON_IDENTIFYING;break;case 40:this.$=u.Identification.IDENTIFYING;break;case 44:u.parseDirective("%%{","open_directive");break;case 45:u.parseDirective(i[o],"type_directive");break;case 46:i[o]=i[o].trim().replace(/'/g,'"'),u.parseDirective(i[o],"arg_directive");break;case 47:u.parseDirective("}%%","close_directive","er");break}},table:[{3:1,4:r,7:3,12:4,51:e},{1:[3]},t(a,[2,3],{5:6}),{3:7,4:r,7:3,12:4,51:e},{13:8,52:[1,9]},{52:[2,44]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},{1:[2,2]},{14:23,15:[1,24],54:g},t([15,54],[2,45]),t(a,[2,8],{1:[2,1]}),t(a,[2,4]),{7:15,10:26,12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},t(a,[2,6]),t(a,[2,7]),t(a,[2,11]),t(a,[2,15],{18:27,42:29,20:[1,28],44:E,45:O,46:y,47:M}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(a,[2,19]),t(D,[2,20]),t(D,[2,21]),{11:[1,37]},{16:38,53:[1,39]},{11:[2,47]},t(a,[2,5]),{17:40,30:h,31:_},{21:41,22:[1,42],32:43,33:44,37:V},{43:46,48:[1,47],49:[1,48]},t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(z,[2,38]),t(a,[2,16]),t(a,[2,17]),t(a,[2,18]),t(L,[2,9]),{14:49,54:g},{54:[2,46]},{15:[1,50]},{22:[1,51]},t(a,[2,14]),{21:52,22:[2,22],32:43,33:44,37:V},{34:53,37:[1,54]},{37:[2,28]},{42:55,44:E,45:O,46:y,47:M},t(R,[2,39]),t(R,[2,40]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],50:[1,58]},t(a,[2,13]),{22:[2,23]},t(N,[2,24],{35:61,36:62,38:63,40:T,41:x}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(L,[2,10]),t(a,[2,12]),t(a,[2,41]),t(a,[2,42]),t(a,[2,43]),t(N,[2,25],{36:66,39:[1,67],41:x}),t(N,[2,26]),t(S,[2,30]),t(N,[2,33]),t(S,[2,32]),t(N,[2,27]),{38:68,40:T},t(S,[2,31])],defaultActions:{5:[2,44],7:[2,2],25:[2,47],39:[2,46],45:[2,28],52:[2,23]},parseError:function(n,s){if(s.recoverable)this.trace(n);else{var d=new Error(n);throw d.hash=s,d}},parse:function(n){var s=this,d=[0],u=[],m=[null],i=[],X=this.table,o="",q=0,lt=0,_t=2,ht=1,gt=i.slice.call(arguments,1),b=Object.create(this.lexer),G={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(G.yy[et]=this.yy[et]);b.setInput(n,G.yy),G.yy.lexer=b,G.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var rt=b.yylloc;i.push(rt);var mt=b.options&&b.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Et(){var F;return F=u.pop()||b.lex()||ht,typeof F!="number"&&(F instanceof Array&&(u=F,F=u.pop()),F=s.symbols_[F]||F),F}for(var I,K,w,it,H={},J,Z,dt,$;;){if(K=d[d.length-1],this.defaultActions[K]?w=this.defaultActions[K]:((I===null||typeof I>"u")&&(I=Et()),w=X[K]&&X[K][I]),typeof w>"u"||!w.length||!w[0]){var nt="";$=[];for(J in X[K])this.terminals_[J]&&J>_t&&$.push("'"+this.terminals_[J]+"'");b.showPosition?nt="Parse error on line "+(q+1)+`: `+b.showPosition()+` Expecting `+$.join(", ")+", got '"+(this.terminals_[I]||I)+"'":nt="Parse error on line "+(q+1)+": Unexpected "+(I==ht?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(nt,{text:b.match,token:this.terminals_[I]||I,line:b.yylineno,loc:rt,expected:$})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+I);switch(w[0]){case 1:d.push(I),m.push(b.yytext),i.push(b.yylloc),d.push(w[1]),I=null,lt=b.yyleng,o=b.yytext,q=b.yylineno,rt=b.yylloc;break;case 2:if(Z=this.productions_[w[1]][1],H.$=m[m.length-Z],H._$={first_line:i[i.length-(Z||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(Z||1)].first_column,last_column:i[i.length-1].last_column},mt&&(H._$.range=[i[i.length-(Z||1)].range[0],i[i.length-1].range[1]]),it=this.performAction.apply(H,[o,lt,q,G.yy,w[1],m,i].concat(gt)),typeof it<"u")return it;Z&&(d=d.slice(0,-1*Z*2),m=m.slice(0,-1*Z),i=i.slice(0,-1*Z)),d.push(this.productions_[w[1]][0]),m.push(H.$),i.push(H._$),dt=X[d[d.length-2]][d[d.length-1]],d.push(dt);break;case 3:return!0}}return!0}},B=function(){var v={EOF:1,parseError:function(s,d){if(this.yy.parser)this.yy.parser.parseError(s,d);else throw new Error(s)},setInput:function(n,s){return this.yy=s||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var s=n.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var s=n.length,d=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===u.length?this.yylloc.first_column:0)+u[u.length-d.length].length-d[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),s=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/_nuxt/error-404.3bfad3c7.js b/_nuxt/error-404.6c057df9.js similarity index 97% rename from _nuxt/error-404.3bfad3c7.js rename to _nuxt/error-404.6c057df9.js index 50459673a9..c19f481b98 100644 --- a/_nuxt/error-404.3bfad3c7.js +++ b/_nuxt/error-404.6c057df9.js @@ -1 +1 @@ -import{k as n,E as a,b as r,c as l,e,t as s,g as d,w as c,G as p,H as f,p as x,i as h}from"./entry.f8eaff67.js";const m=t=>(x("data-v-8e38b8ef"),t=t(),h(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=m(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,v)=>{const i=f;return r(),l("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[d(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:c(()=>[p(s(t.backHome),1)]),_:1})])])])}}},z=n(S,[["__scopeId","data-v-8e38b8ef"]]);export{z as default}; +import{k as n,E as a,b as r,c as l,e,t as s,g as d,w as c,G as p,H as f,p as x,i as h}from"./entry.6e9008ac.js";const m=t=>(x("data-v-8e38b8ef"),t=t(),h(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=m(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,v)=>{const i=f;return r(),l("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[d(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:c(()=>[p(s(t.backHome),1)]),_:1})])])])}}},z=n(S,[["__scopeId","data-v-8e38b8ef"]]);export{z as default}; diff --git a/_nuxt/error-500.fb95fa91.js b/_nuxt/error-500.01b83cd2.js similarity index 96% rename from _nuxt/error-500.fb95fa91.js rename to _nuxt/error-500.01b83cd2.js index c398d48fcc..d013e3912a 100644 --- a/_nuxt/error-500.fb95fa91.js +++ b/_nuxt/error-500.01b83cd2.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.f8eaff67.js";const c=t=>(l("data-v-5741bfc2"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],b={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(x,u)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(b,[["__scopeId","data-v-5741bfc2"]]);export{w as default}; +import{k as i,E as a,b as r,c as n,e,t as s,p as l,i as d}from"./entry.6e9008ac.js";const c=t=>(l("data-v-5741bfc2"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],b={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(x,u)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(b,[["__scopeId","data-v-5741bfc2"]]);export{w as default}; diff --git a/_nuxt/flowDb-52e24d17.92450f30.js b/_nuxt/flowDb-52e24d17.947b4742.js similarity index 99% rename from _nuxt/flowDb-52e24d17.92450f30.js rename to _nuxt/flowDb-52e24d17.947b4742.js index daeb2fc2c7..e6e9cd471c 100644 --- a/_nuxt/flowDb-52e24d17.92450f30.js +++ b/_nuxt/flowDb-52e24d17.947b4742.js @@ -1,4 +1,4 @@ -import{c as w2,v as Ne,s as Oe,g as Pe,a as we,b as Ue,x as Me,y as Ge,e as Ke,l as U2,z as M2,A as je,n as We,i as n2}from"./mermaid.core.0bf3cbc4.js";var O2=function(){var e=function(H1,a,o,T){for(o=o||{},T=H1.length;T--;o[H1[T]]=a);return o},u=[1,9],i=[1,7],n=[1,6],c=[1,8],_=[1,20,21,22,23,38,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],B=[2,10],u1=[1,20],H=[1,21],s1=[1,22],f1=[1,23],Y1=[1,30],Q1=[1,32],X1=[1,33],s2=[1,34],q=[1,62],c1=[1,48],m1=[1,52],o2=[1,36],l2=[1,37],h2=[1,38],A2=[1,39],f2=[1,40],v1=[1,56],V1=[1,63],x1=[1,51],R1=[1,53],L1=[1,55],I1=[1,59],N1=[1,60],p2=[1,41],d2=[1,42],E2=[1,43],b2=[1,44],O1=[1,61],P1=[1,50],w1=[1,54],U1=[1,57],M1=[1,58],G1=[1,49],j2=[1,66],u2=[1,71],Q=[1,20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],p1=[1,75],d1=[1,74],E1=[1,76],k2=[20,21,23,81,82],i1=[1,99],l=[1,104],h=[1,107],A=[1,108],r1=[1,101],f=[1,106],p=[1,109],n1=[1,102],d=[1,114],E=[1,113],b=[1,103],k=[1,105],D=[1,110],g=[1,111],F=[1,112],C=[1,115],S2=[20,21,22,23,81,82],t1=[20,21,22,23,53,81,82],Z=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],Y=[20,21,23],W2=[20,21,23,52,66,67,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],m2=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],i2=[52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],S=[1,150],m=[1,158],v=[1,159],V=[1,160],x=[1,161],R=[1,145],L=[1,146],J=[1,141],$=[1,142],I=[1,153],N=[1,154],O=[1,155],P=[1,156],w=[1,157],U=[1,162],M=[1,163],G=[1,148],K=[1,151],j=[1,147],W=[1,144],v2=[20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],Y2=[1,166],$1=[20,21,22,23,26,52,66,67,92,106,107,110,112,113,123,124,125,126,127,128],y=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,87,88,89,90,91,92,93,96,106,107,110,112,113,114,115,123,124,125,126,127,128],z2=[12,21,22,24],H2=[22,107],b1=[1,251],k1=[1,246],D1=[1,247],g1=[1,255],F1=[1,252],C1=[1,249],_1=[1,248],B1=[1,250],T1=[1,253],y1=[1,254],S1=[1,256],z1=[1,274],Q2=[20,21,23,107],o1=[20,21,22,23,66,67,87,103,106,107,110,111,112,113,114],V2={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,MD_STR:85,keywords:86,STYLE:87,LINKSTYLE:88,CLASSDEF:89,CLASS:90,CLICK:91,DOWN:92,UP:93,textNoTags:94,textNoTagsToken:95,DEFAULT:96,stylesOpt:97,alphaNum:98,CALLBACKNAME:99,CALLBACKARGS:100,HREF:101,LINK_TARGET:102,HEX:103,numList:104,INTERPOLATE:105,NUM:106,COMMA:107,style:108,styleComponent:109,MINUS:110,UNIT:111,BRKT:112,DOT:113,PCT:114,TAGSTART:115,alphaNumToken:116,idStringToken:117,alphaNumStatement:118,direction_tb:119,direction_bt:120,direction_rl:121,direction_lr:122,PUNCTUATION:123,UNICODE_TEXT:124,PLUS:125,EQUALS:126,MULT:127,UNDERSCORE:128,graphCodeTokens:129,ARROW_CROSS:130,ARROW_POINT:131,ARROW_CIRCLE:132,ARROW_OPEN:133,QUOTE:134,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",85:"MD_STR",87:"STYLE",88:"LINKSTYLE",89:"CLASSDEF",90:"CLASS",91:"CLICK",92:"DOWN",93:"UP",96:"DEFAULT",99:"CALLBACKNAME",100:"CALLBACKARGS",101:"HREF",102:"LINK_TARGET",103:"HEX",105:"INTERPOLATE",106:"NUM",107:"COMMA",110:"MINUS",111:"UNIT",112:"BRKT",113:"DOT",114:"PCT",115:"TAGSTART",119:"direction_tb",120:"direction_bt",121:"direction_rl",122:"direction_lr",123:"PUNCTUATION",124:"UNICODE_TEXT",125:"PLUS",126:"EQUALS",127:"MULT",128:"UNDERSCORE",130:"ARROW_CROSS",131:"ARROW_POINT",132:"ARROW_CIRCLE",133:"ARROW_OPEN",134:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[39,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[94,1],[94,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[104,1],[104,3],[97,1],[97,3],[108,1],[108,2],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[95,1],[95,1],[95,1],[95,1],[54,1],[54,2],[98,1],[98,2],[118,1],[118,1],[118,1],[118,1],[43,1],[43,1],[43,1],[43,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1]],performAction:function(a,o,T,r,X,t,r2){var s=t.length-1;switch(X){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(t[s],"type_directive");break;case 7:t[s]=t[s].trim().replace(/'/g,'"'),r.parseDirective(t[s],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 12:case 97:case 153:case 155:case 156:this.$=t[s];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(t[s-1]),this.$=t[s-1];break;case 35:this.$=t[s-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 42:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 43:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 45:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 46:case 47:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 51:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 52:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 53:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 54:this.$={stmt:t[s],nodes:t[s]};break;case 55:this.$=[t[s]];break;case 56:this.$=t[s-4].concat(t[s]);break;case 57:this.$=[t[s-2]],r.setClass(t[s-2],t[s]);break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 60:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 61:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 64:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 67:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 68:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 69:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 70:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 71:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 72:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 73:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 74:this.$=t[s],r.addVertex(t[s]);break;case 75:t[s-1].text=t[s],this.$=t[s-1];break;case 76:case 77:t[s-2].text=t[s-1],this.$=t[s-2];break;case 78:this.$=t[s];break;case 79:var l1=r.destructLink(t[s],t[s-2]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length,text:t[s-1]};break;case 80:var l1=r.destructLink(t[s]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length};break;case 81:this.$=t[s-1];break;case 82:this.$={text:t[s],type:"text"};break;case 83:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 84:this.$={text:t[s],type:"text"};break;case 85:this.$={text:t[s],type:"markdown"};break;case 98:case 154:this.$=t[s-1]+""+t[s];break;case 99:case 100:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 101:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 102:case 110:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 103:case 111:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 104:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 105:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:case 112:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 107:case 113:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 108:case 114:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 109:case 115:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 116:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 117:case 119:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 118:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 120:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 121:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 122:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 123:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 124:case 126:this.$=[t[s]];break;case 125:case 127:t[s-2].push(t[s]),this.$=t[s-2];break;case 129:this.$=t[s-1]+t[s];break;case 151:this.$=t[s];break;case 152:this.$=t[s-1]+""+t[s];break;case 157:this.$="v";break;case 158:this.$="-";break;case 159:this.$={stmt:"dir",value:"TB"};break;case 160:this.$={stmt:"dir",value:"BT"};break;case 161:this.$={stmt:"dir",value:"RL"};break;case 162:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},e(_,B,{17:11}),{7:12,13:[1,13]},{16:14,21:i,22:n,24:c},{16:15,21:i,22:n,24:c},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{8:64,10:[1,65],15:j2},e([10,15],[2,6]),e(_,[2,17]),e(_,[2,18]),e(_,[2,19]),{20:[1,68],21:[1,69],22:u2,27:67,30:70},e(Q,[2,11]),e(Q,[2,12]),e(Q,[2,13]),e(Q,[2,14]),e(Q,[2,15]),e(Q,[2,16]),{9:72,20:p1,21:d1,23:E1,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:p1,21:d1,23:E1},{9:81,20:p1,21:d1,23:E1},{9:82,20:p1,21:d1,23:E1},{9:83,20:p1,21:d1,23:E1},{9:84,20:p1,21:d1,23:E1},{9:86,20:p1,21:d1,22:[1,85],23:E1},e(Q,[2,44]),{45:[1,87]},{47:[1,88]},e(Q,[2,47]),e(k2,[2,54],{30:89,22:u2}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:i1,52:l,66:h,67:A,84:[1,97],92:r1,98:96,99:[1,94],101:[1,95],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Q,[2,159]),e(Q,[2,160]),e(Q,[2,161]),e(Q,[2,162]),e(S2,[2,55],{53:[1,116]}),e(t1,[2,74],{117:129,40:[1,117],52:q,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:c1,67:m1,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),e(Z,[2,151]),e(Z,[2,176]),e(Z,[2,177]),e(Z,[2,178]),e(Z,[2,179]),e(Z,[2,180]),e(Z,[2,181]),e(Z,[2,182]),e(Z,[2,183]),e(Z,[2,184]),e(Z,[2,185]),e(Z,[2,186]),e(Z,[2,187]),e(Z,[2,188]),e(Z,[2,189]),e(Z,[2,190]),e(Z,[2,191]),{9:130,20:p1,21:d1,23:E1},{11:131,14:[1,132]},e(Y,[2,8]),e(_,[2,20]),e(_,[2,26]),e(_,[2,27]),{21:[1,133]},e(W2,[2,34],{30:134,22:u2}),e(Q,[2,35]),{50:135,51:45,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(m2,[2,48]),e(m2,[2,49]),e(m2,[2,50]),e(i2,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:S,24:m,26:v,38:V,39:139,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e([52,66,67,68,80,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,80]),e(Q,[2,36]),e(Q,[2,37]),e(Q,[2,38]),e(Q,[2,39]),e(Q,[2,40]),{22:S,24:m,26:v,38:V,39:164,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:165}),e(Q,[2,45]),e(Q,[2,46]),e(k2,[2,53],{52:Y2}),{26:i1,52:l,66:h,67:A,92:r1,98:167,103:[1,168],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{96:[1,169],104:170,106:[1,171]},{26:i1,52:l,66:h,67:A,92:r1,96:[1,172],98:173,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:174,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,102],{22:[1,175],100:[1,176]}),e(Y,[2,106],{22:[1,177]}),e(Y,[2,110],{116:100,118:179,22:[1,178],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,112],{22:[1,180]}),e($1,[2,153]),e($1,[2,155]),e($1,[2,156]),e($1,[2,157]),e($1,[2,158]),e(y,[2,163]),e(y,[2,164]),e(y,[2,165]),e(y,[2,166]),e(y,[2,167]),e(y,[2,168]),e(y,[2,169]),e(y,[2,170]),e(y,[2,171]),e(y,[2,172]),e(y,[2,173]),e(y,[2,174]),e(y,[2,175]),{52:q,54:181,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:S,24:m,26:v,38:V,39:182,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:183,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:185,42:x,52:l,57:[1,184],66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:186,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:187,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:188,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{66:[1,189]},{22:S,24:m,26:v,38:V,39:190,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:191,42:x,52:l,66:h,67:A,71:[1,192],73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:193,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:194,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:195,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(Z,[2,152]),e(z2,[2,3]),{8:196,15:j2},{15:[2,7]},e(_,[2,28]),e(W2,[2,33]),e(k2,[2,51],{30:197,22:u2}),e(i2,[2,75],{22:[1,198]}),{22:[1,199]},{22:S,24:m,26:v,38:V,39:200,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,81:L,82:[1,201],83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(y,[2,82]),e(y,[2,84]),e(y,[2,85]),e(y,[2,141]),e(y,[2,142]),e(y,[2,143]),e(y,[2,144]),e(y,[2,145]),e(y,[2,146]),e(y,[2,147]),e(y,[2,148]),e(y,[2,149]),e(y,[2,150]),e(y,[2,86]),e(y,[2,87]),e(y,[2,88]),e(y,[2,89]),e(y,[2,90]),e(y,[2,91]),e(y,[2,92]),e(y,[2,93]),e(y,[2,94]),e(y,[2,95]),e(y,[2,96]),{9:204,20:p1,21:d1,22:S,23:E1,24:m,26:v,38:V,40:[1,203],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,205],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:u2,30:206},{22:[1,207],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,208]},{22:[1,209]},{22:[1,210],107:[1,211]},e(H2,[2,124]),{22:[1,212]},{22:[1,213],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,214],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{84:[1,215]},e(Y,[2,104],{22:[1,216]}),{84:[1,217],102:[1,218]},{84:[1,219]},e($1,[2,154]),{84:[1,220],102:[1,221]},e(S2,[2,57],{117:129,52:q,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),{22:S,24:m,26:v,38:V,41:[1,222],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,56:[1,223],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:224,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,225],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,60:[1,226],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,62:[1,227],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,64:[1,228],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{67:[1,229]},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,70:[1,230],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,231],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:232,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,41:[1,233],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,234],77:[1,235],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,237],77:[1,236],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{9:238,20:p1,21:d1,23:E1},e(k2,[2,52],{52:Y2}),e(i2,[2,77]),e(i2,[2,76]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,68:[1,239],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(i2,[2,79]),e(y,[2,83]),{22:S,24:m,26:v,38:V,39:240,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:241}),e(Q,[2,43]),{51:242,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:243,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:257,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:258,103:F1,105:[1,259],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:260,103:F1,105:[1,261],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{106:[1,262]},{22:b1,66:k1,67:D1,87:g1,97:263,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:264,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{26:i1,52:l,66:h,67:A,92:r1,98:265,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,103]),{84:[1,266]},e(Y,[2,107],{22:[1,267]}),e(Y,[2,108]),e(Y,[2,111]),e(Y,[2,113],{22:[1,268]}),e(Y,[2,114]),e(t1,[2,58]),e(t1,[2,59]),{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,269],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,66]),e(t1,[2,61]),e(t1,[2,62]),e(t1,[2,63]),{66:[1,270]},e(t1,[2,65]),e(t1,[2,67]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,271],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,69]),e(t1,[2,70]),e(t1,[2,72]),e(t1,[2,71]),e(t1,[2,73]),e(z2,[2,4]),e([22,52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,81]),{22:S,24:m,26:v,38:V,41:[1,272],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,273],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(S2,[2,56]),e(Y,[2,116],{107:z1}),e(Q2,[2,126],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(o1,[2,128]),e(o1,[2,130]),e(o1,[2,131]),e(o1,[2,132]),e(o1,[2,133]),e(o1,[2,134]),e(o1,[2,135]),e(o1,[2,136]),e(o1,[2,137]),e(o1,[2,138]),e(o1,[2,139]),e(o1,[2,140]),e(Y,[2,117],{107:z1}),e(Y,[2,118],{107:z1}),{22:[1,276]},e(Y,[2,119],{107:z1}),{22:[1,277]},e(H2,[2,125]),e(Y,[2,99],{107:z1}),e(Y,[2,100],{107:z1}),e(Y,[2,101],{116:100,118:179,26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,105]),{102:[1,278]},{102:[1,279]},{58:[1,280]},{68:[1,281]},{72:[1,282]},{9:283,20:p1,21:d1,23:E1},e(Q,[2,42]),{22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,108:284,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(o1,[2,129]),{26:i1,52:l,66:h,67:A,92:r1,98:285,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:286,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,109]),e(Y,[2,115]),e(t1,[2,60]),{22:S,24:m,26:v,38:V,39:287,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,68]),e(v2,B,{17:288}),e(Q2,[2,127],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(Y,[2,122],{116:100,118:179,22:[1,289],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,123],{116:100,118:179,22:[1,290],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),{22:S,24:m,26:v,38:V,41:[1,291],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,292],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:293,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:294,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(t1,[2,64]),e(Q,[2,41]),e(Y,[2,120],{107:z1}),e(Y,[2,121],{107:z1})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var T=new Error(a);throw T.hash=o,T}},parse:function(a){var o=this,T=[0],r=[],X=[null],t=[],r2=this.table,s="",l1=0,X2=0,xe=2,q2=1,Re=t.slice.call(arguments,1),e1=Object.create(this.lexer),q1={yy:{}};for(var R2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R2)&&(q1.yy[R2]=this.yy[R2]);e1.setInput(a,q1.yy),q1.yy.lexer=e1,q1.yy.parser=this,typeof e1.yylloc>"u"&&(e1.yylloc={});var L2=e1.yylloc;t.push(L2);var Le=e1.options&&e1.options.ranges;typeof q1.yy.parseError=="function"?this.parseError=q1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var j1;return j1=r.pop()||e1.lex()||q2,typeof j1!="number"&&(j1 instanceof Array&&(r=j1,j1=r.pop()),j1=o.symbols_[j1]||j1),j1}for(var a1,Z1,h1,I2,e2={},D2,K1,Z2,g2;;){if(Z1=T[T.length-1],this.defaultActions[Z1]?h1=this.defaultActions[Z1]:((a1===null||typeof a1>"u")&&(a1=Ie()),h1=r2[Z1]&&r2[Z1][a1]),typeof h1>"u"||!h1.length||!h1[0]){var N2="";g2=[];for(D2 in r2[Z1])this.terminals_[D2]&&D2>xe&&g2.push("'"+this.terminals_[D2]+"'");e1.showPosition?N2="Parse error on line "+(l1+1)+`: +import{c as w2,v as Ne,s as Oe,g as Pe,a as we,b as Ue,x as Me,y as Ge,e as Ke,l as U2,z as M2,A as je,n as We,i as n2}from"./mermaid.core.ebd445a5.js";var O2=function(){var e=function(H1,a,o,T){for(o=o||{},T=H1.length;T--;o[H1[T]]=a);return o},u=[1,9],i=[1,7],n=[1,6],c=[1,8],_=[1,20,21,22,23,38,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],B=[2,10],u1=[1,20],H=[1,21],s1=[1,22],f1=[1,23],Y1=[1,30],Q1=[1,32],X1=[1,33],s2=[1,34],q=[1,62],c1=[1,48],m1=[1,52],o2=[1,36],l2=[1,37],h2=[1,38],A2=[1,39],f2=[1,40],v1=[1,56],V1=[1,63],x1=[1,51],R1=[1,53],L1=[1,55],I1=[1,59],N1=[1,60],p2=[1,41],d2=[1,42],E2=[1,43],b2=[1,44],O1=[1,61],P1=[1,50],w1=[1,54],U1=[1,57],M1=[1,58],G1=[1,49],j2=[1,66],u2=[1,71],Q=[1,20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],p1=[1,75],d1=[1,74],E1=[1,76],k2=[20,21,23,81,82],i1=[1,99],l=[1,104],h=[1,107],A=[1,108],r1=[1,101],f=[1,106],p=[1,109],n1=[1,102],d=[1,114],E=[1,113],b=[1,103],k=[1,105],D=[1,110],g=[1,111],F=[1,112],C=[1,115],S2=[20,21,22,23,81,82],t1=[20,21,22,23,53,81,82],Z=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],Y=[20,21,23],W2=[20,21,23,52,66,67,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],m2=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],i2=[52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],S=[1,150],m=[1,158],v=[1,159],V=[1,160],x=[1,161],R=[1,145],L=[1,146],J=[1,141],$=[1,142],I=[1,153],N=[1,154],O=[1,155],P=[1,156],w=[1,157],U=[1,162],M=[1,163],G=[1,148],K=[1,151],j=[1,147],W=[1,144],v2=[20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],Y2=[1,166],$1=[20,21,22,23,26,52,66,67,92,106,107,110,112,113,123,124,125,126,127,128],y=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,87,88,89,90,91,92,93,96,106,107,110,112,113,114,115,123,124,125,126,127,128],z2=[12,21,22,24],H2=[22,107],b1=[1,251],k1=[1,246],D1=[1,247],g1=[1,255],F1=[1,252],C1=[1,249],_1=[1,248],B1=[1,250],T1=[1,253],y1=[1,254],S1=[1,256],z1=[1,274],Q2=[20,21,23,107],o1=[20,21,22,23,66,67,87,103,106,107,110,111,112,113,114],V2={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,MD_STR:85,keywords:86,STYLE:87,LINKSTYLE:88,CLASSDEF:89,CLASS:90,CLICK:91,DOWN:92,UP:93,textNoTags:94,textNoTagsToken:95,DEFAULT:96,stylesOpt:97,alphaNum:98,CALLBACKNAME:99,CALLBACKARGS:100,HREF:101,LINK_TARGET:102,HEX:103,numList:104,INTERPOLATE:105,NUM:106,COMMA:107,style:108,styleComponent:109,MINUS:110,UNIT:111,BRKT:112,DOT:113,PCT:114,TAGSTART:115,alphaNumToken:116,idStringToken:117,alphaNumStatement:118,direction_tb:119,direction_bt:120,direction_rl:121,direction_lr:122,PUNCTUATION:123,UNICODE_TEXT:124,PLUS:125,EQUALS:126,MULT:127,UNDERSCORE:128,graphCodeTokens:129,ARROW_CROSS:130,ARROW_POINT:131,ARROW_CIRCLE:132,ARROW_OPEN:133,QUOTE:134,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",85:"MD_STR",87:"STYLE",88:"LINKSTYLE",89:"CLASSDEF",90:"CLASS",91:"CLICK",92:"DOWN",93:"UP",96:"DEFAULT",99:"CALLBACKNAME",100:"CALLBACKARGS",101:"HREF",102:"LINK_TARGET",103:"HEX",105:"INTERPOLATE",106:"NUM",107:"COMMA",110:"MINUS",111:"UNIT",112:"BRKT",113:"DOT",114:"PCT",115:"TAGSTART",119:"direction_tb",120:"direction_bt",121:"direction_rl",122:"direction_lr",123:"PUNCTUATION",124:"UNICODE_TEXT",125:"PLUS",126:"EQUALS",127:"MULT",128:"UNDERSCORE",130:"ARROW_CROSS",131:"ARROW_POINT",132:"ARROW_CIRCLE",133:"ARROW_OPEN",134:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[39,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[94,1],[94,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[104,1],[104,3],[97,1],[97,3],[108,1],[108,2],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[95,1],[95,1],[95,1],[95,1],[54,1],[54,2],[98,1],[98,2],[118,1],[118,1],[118,1],[118,1],[43,1],[43,1],[43,1],[43,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1]],performAction:function(a,o,T,r,X,t,r2){var s=t.length-1;switch(X){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(t[s],"type_directive");break;case 7:t[s]=t[s].trim().replace(/'/g,'"'),r.parseDirective(t[s],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 12:case 97:case 153:case 155:case 156:this.$=t[s];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(t[s-1]),this.$=t[s-1];break;case 35:this.$=t[s-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 42:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 43:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 45:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 46:case 47:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 51:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 52:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 53:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 54:this.$={stmt:t[s],nodes:t[s]};break;case 55:this.$=[t[s]];break;case 56:this.$=t[s-4].concat(t[s]);break;case 57:this.$=[t[s-2]],r.setClass(t[s-2],t[s]);break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 60:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 61:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 64:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 67:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 68:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 69:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 70:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 71:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 72:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 73:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 74:this.$=t[s],r.addVertex(t[s]);break;case 75:t[s-1].text=t[s],this.$=t[s-1];break;case 76:case 77:t[s-2].text=t[s-1],this.$=t[s-2];break;case 78:this.$=t[s];break;case 79:var l1=r.destructLink(t[s],t[s-2]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length,text:t[s-1]};break;case 80:var l1=r.destructLink(t[s]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length};break;case 81:this.$=t[s-1];break;case 82:this.$={text:t[s],type:"text"};break;case 83:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 84:this.$={text:t[s],type:"text"};break;case 85:this.$={text:t[s],type:"markdown"};break;case 98:case 154:this.$=t[s-1]+""+t[s];break;case 99:case 100:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 101:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 102:case 110:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 103:case 111:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 104:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 105:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:case 112:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 107:case 113:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 108:case 114:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 109:case 115:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 116:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 117:case 119:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 118:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 120:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 121:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 122:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 123:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 124:case 126:this.$=[t[s]];break;case 125:case 127:t[s-2].push(t[s]),this.$=t[s-2];break;case 129:this.$=t[s-1]+t[s];break;case 151:this.$=t[s];break;case 152:this.$=t[s-1]+""+t[s];break;case 157:this.$="v";break;case 158:this.$="-";break;case 159:this.$={stmt:"dir",value:"TB"};break;case 160:this.$={stmt:"dir",value:"BT"};break;case 161:this.$={stmt:"dir",value:"RL"};break;case 162:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},e(_,B,{17:11}),{7:12,13:[1,13]},{16:14,21:i,22:n,24:c},{16:15,21:i,22:n,24:c},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{8:64,10:[1,65],15:j2},e([10,15],[2,6]),e(_,[2,17]),e(_,[2,18]),e(_,[2,19]),{20:[1,68],21:[1,69],22:u2,27:67,30:70},e(Q,[2,11]),e(Q,[2,12]),e(Q,[2,13]),e(Q,[2,14]),e(Q,[2,15]),e(Q,[2,16]),{9:72,20:p1,21:d1,23:E1,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:p1,21:d1,23:E1},{9:81,20:p1,21:d1,23:E1},{9:82,20:p1,21:d1,23:E1},{9:83,20:p1,21:d1,23:E1},{9:84,20:p1,21:d1,23:E1},{9:86,20:p1,21:d1,22:[1,85],23:E1},e(Q,[2,44]),{45:[1,87]},{47:[1,88]},e(Q,[2,47]),e(k2,[2,54],{30:89,22:u2}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:i1,52:l,66:h,67:A,84:[1,97],92:r1,98:96,99:[1,94],101:[1,95],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Q,[2,159]),e(Q,[2,160]),e(Q,[2,161]),e(Q,[2,162]),e(S2,[2,55],{53:[1,116]}),e(t1,[2,74],{117:129,40:[1,117],52:q,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:c1,67:m1,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),e(Z,[2,151]),e(Z,[2,176]),e(Z,[2,177]),e(Z,[2,178]),e(Z,[2,179]),e(Z,[2,180]),e(Z,[2,181]),e(Z,[2,182]),e(Z,[2,183]),e(Z,[2,184]),e(Z,[2,185]),e(Z,[2,186]),e(Z,[2,187]),e(Z,[2,188]),e(Z,[2,189]),e(Z,[2,190]),e(Z,[2,191]),{9:130,20:p1,21:d1,23:E1},{11:131,14:[1,132]},e(Y,[2,8]),e(_,[2,20]),e(_,[2,26]),e(_,[2,27]),{21:[1,133]},e(W2,[2,34],{30:134,22:u2}),e(Q,[2,35]),{50:135,51:45,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(m2,[2,48]),e(m2,[2,49]),e(m2,[2,50]),e(i2,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:S,24:m,26:v,38:V,39:139,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e([52,66,67,68,80,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,80]),e(Q,[2,36]),e(Q,[2,37]),e(Q,[2,38]),e(Q,[2,39]),e(Q,[2,40]),{22:S,24:m,26:v,38:V,39:164,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:165}),e(Q,[2,45]),e(Q,[2,46]),e(k2,[2,53],{52:Y2}),{26:i1,52:l,66:h,67:A,92:r1,98:167,103:[1,168],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{96:[1,169],104:170,106:[1,171]},{26:i1,52:l,66:h,67:A,92:r1,96:[1,172],98:173,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:174,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,102],{22:[1,175],100:[1,176]}),e(Y,[2,106],{22:[1,177]}),e(Y,[2,110],{116:100,118:179,22:[1,178],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,112],{22:[1,180]}),e($1,[2,153]),e($1,[2,155]),e($1,[2,156]),e($1,[2,157]),e($1,[2,158]),e(y,[2,163]),e(y,[2,164]),e(y,[2,165]),e(y,[2,166]),e(y,[2,167]),e(y,[2,168]),e(y,[2,169]),e(y,[2,170]),e(y,[2,171]),e(y,[2,172]),e(y,[2,173]),e(y,[2,174]),e(y,[2,175]),{52:q,54:181,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:S,24:m,26:v,38:V,39:182,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:183,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:185,42:x,52:l,57:[1,184],66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:186,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:187,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:188,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{66:[1,189]},{22:S,24:m,26:v,38:V,39:190,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:191,42:x,52:l,66:h,67:A,71:[1,192],73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:193,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:194,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:195,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(Z,[2,152]),e(z2,[2,3]),{8:196,15:j2},{15:[2,7]},e(_,[2,28]),e(W2,[2,33]),e(k2,[2,51],{30:197,22:u2}),e(i2,[2,75],{22:[1,198]}),{22:[1,199]},{22:S,24:m,26:v,38:V,39:200,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,81:L,82:[1,201],83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(y,[2,82]),e(y,[2,84]),e(y,[2,85]),e(y,[2,141]),e(y,[2,142]),e(y,[2,143]),e(y,[2,144]),e(y,[2,145]),e(y,[2,146]),e(y,[2,147]),e(y,[2,148]),e(y,[2,149]),e(y,[2,150]),e(y,[2,86]),e(y,[2,87]),e(y,[2,88]),e(y,[2,89]),e(y,[2,90]),e(y,[2,91]),e(y,[2,92]),e(y,[2,93]),e(y,[2,94]),e(y,[2,95]),e(y,[2,96]),{9:204,20:p1,21:d1,22:S,23:E1,24:m,26:v,38:V,40:[1,203],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,205],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:u2,30:206},{22:[1,207],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,208]},{22:[1,209]},{22:[1,210],107:[1,211]},e(H2,[2,124]),{22:[1,212]},{22:[1,213],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,214],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{84:[1,215]},e(Y,[2,104],{22:[1,216]}),{84:[1,217],102:[1,218]},{84:[1,219]},e($1,[2,154]),{84:[1,220],102:[1,221]},e(S2,[2,57],{117:129,52:q,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),{22:S,24:m,26:v,38:V,41:[1,222],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,56:[1,223],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:224,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,225],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,60:[1,226],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,62:[1,227],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,64:[1,228],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{67:[1,229]},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,70:[1,230],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,231],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:232,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,41:[1,233],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,234],77:[1,235],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,237],77:[1,236],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{9:238,20:p1,21:d1,23:E1},e(k2,[2,52],{52:Y2}),e(i2,[2,77]),e(i2,[2,76]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,68:[1,239],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(i2,[2,79]),e(y,[2,83]),{22:S,24:m,26:v,38:V,39:240,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:241}),e(Q,[2,43]),{51:242,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:243,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:257,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:258,103:F1,105:[1,259],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:260,103:F1,105:[1,261],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{106:[1,262]},{22:b1,66:k1,67:D1,87:g1,97:263,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:264,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{26:i1,52:l,66:h,67:A,92:r1,98:265,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,103]),{84:[1,266]},e(Y,[2,107],{22:[1,267]}),e(Y,[2,108]),e(Y,[2,111]),e(Y,[2,113],{22:[1,268]}),e(Y,[2,114]),e(t1,[2,58]),e(t1,[2,59]),{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,269],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,66]),e(t1,[2,61]),e(t1,[2,62]),e(t1,[2,63]),{66:[1,270]},e(t1,[2,65]),e(t1,[2,67]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,271],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,69]),e(t1,[2,70]),e(t1,[2,72]),e(t1,[2,71]),e(t1,[2,73]),e(z2,[2,4]),e([22,52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,81]),{22:S,24:m,26:v,38:V,41:[1,272],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,273],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(S2,[2,56]),e(Y,[2,116],{107:z1}),e(Q2,[2,126],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(o1,[2,128]),e(o1,[2,130]),e(o1,[2,131]),e(o1,[2,132]),e(o1,[2,133]),e(o1,[2,134]),e(o1,[2,135]),e(o1,[2,136]),e(o1,[2,137]),e(o1,[2,138]),e(o1,[2,139]),e(o1,[2,140]),e(Y,[2,117],{107:z1}),e(Y,[2,118],{107:z1}),{22:[1,276]},e(Y,[2,119],{107:z1}),{22:[1,277]},e(H2,[2,125]),e(Y,[2,99],{107:z1}),e(Y,[2,100],{107:z1}),e(Y,[2,101],{116:100,118:179,26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,105]),{102:[1,278]},{102:[1,279]},{58:[1,280]},{68:[1,281]},{72:[1,282]},{9:283,20:p1,21:d1,23:E1},e(Q,[2,42]),{22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,108:284,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(o1,[2,129]),{26:i1,52:l,66:h,67:A,92:r1,98:285,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:286,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,109]),e(Y,[2,115]),e(t1,[2,60]),{22:S,24:m,26:v,38:V,39:287,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,68]),e(v2,B,{17:288}),e(Q2,[2,127],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(Y,[2,122],{116:100,118:179,22:[1,289],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,123],{116:100,118:179,22:[1,290],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),{22:S,24:m,26:v,38:V,41:[1,291],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,292],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:293,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:294,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(t1,[2,64]),e(Q,[2,41]),e(Y,[2,120],{107:z1}),e(Y,[2,121],{107:z1})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var T=new Error(a);throw T.hash=o,T}},parse:function(a){var o=this,T=[0],r=[],X=[null],t=[],r2=this.table,s="",l1=0,X2=0,xe=2,q2=1,Re=t.slice.call(arguments,1),e1=Object.create(this.lexer),q1={yy:{}};for(var R2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R2)&&(q1.yy[R2]=this.yy[R2]);e1.setInput(a,q1.yy),q1.yy.lexer=e1,q1.yy.parser=this,typeof e1.yylloc>"u"&&(e1.yylloc={});var L2=e1.yylloc;t.push(L2);var Le=e1.options&&e1.options.ranges;typeof q1.yy.parseError=="function"?this.parseError=q1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var j1;return j1=r.pop()||e1.lex()||q2,typeof j1!="number"&&(j1 instanceof Array&&(r=j1,j1=r.pop()),j1=o.symbols_[j1]||j1),j1}for(var a1,Z1,h1,I2,e2={},D2,K1,Z2,g2;;){if(Z1=T[T.length-1],this.defaultActions[Z1]?h1=this.defaultActions[Z1]:((a1===null||typeof a1>"u")&&(a1=Ie()),h1=r2[Z1]&&r2[Z1][a1]),typeof h1>"u"||!h1.length||!h1[0]){var N2="";g2=[];for(D2 in r2[Z1])this.terminals_[D2]&&D2>xe&&g2.push("'"+this.terminals_[D2]+"'");e1.showPosition?N2="Parse error on line "+(l1+1)+`: `+e1.showPosition()+` Expecting `+g2.join(", ")+", got '"+(this.terminals_[a1]||a1)+"'":N2="Parse error on line "+(l1+1)+": Unexpected "+(a1==q2?"end of input":"'"+(this.terminals_[a1]||a1)+"'"),this.parseError(N2,{text:e1.match,token:this.terminals_[a1]||a1,line:e1.yylineno,loc:L2,expected:g2})}if(h1[0]instanceof Array&&h1.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z1+", token: "+a1);switch(h1[0]){case 1:T.push(a1),X.push(e1.yytext),t.push(e1.yylloc),T.push(h1[1]),a1=null,X2=e1.yyleng,s=e1.yytext,l1=e1.yylineno,L2=e1.yylloc;break;case 2:if(K1=this.productions_[h1[1]][1],e2.$=X[X.length-K1],e2._$={first_line:t[t.length-(K1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(K1||1)].first_column,last_column:t[t.length-1].last_column},Le&&(e2._$.range=[t[t.length-(K1||1)].range[0],t[t.length-1].range[1]]),I2=this.performAction.apply(e2,[s,X2,l1,q1.yy,h1[1],X,t].concat(Re)),typeof I2<"u")return I2;K1&&(T=T.slice(0,-1*K1*2),X=X.slice(0,-1*K1),t=t.slice(0,-1*K1)),T.push(this.productions_[h1[1]][0]),X.push(e2.$),t.push(e2._$),Z2=r2[T[T.length-2]][T[T.length-1]],T.push(Z2);break;case 3:return!0}}return!0}},Ve=function(){var H1={EOF:1,parseError:function(o,T){if(this.yy.parser)this.yy.parser.parseError(o,T);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,T=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===r.length?this.yylloc.first_column:0)+r[r.length-T.length].length-T[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/_nuxt/flowDiagram-46a15f6f.8d80fc12.js b/_nuxt/flowDiagram-46a15f6f.b41e93f0.js similarity index 97% rename from _nuxt/flowDiagram-46a15f6f.8d80fc12.js rename to _nuxt/flowDiagram-46a15f6f.b41e93f0.js index 7b29148c14..55e7145fbe 100644 --- a/_nuxt/flowDiagram-46a15f6f.8d80fc12.js +++ b/_nuxt/flowDiagram-46a15f6f.b41e93f0.js @@ -1,4 +1,4 @@ -import{p as St,f as W}from"./flowDb-52e24d17.92450f30.js";import{h as S,u as Lt,r as Et,p as _t,l as Tt,d as D,f as tt,G as Nt}from"./layout.e30182f8.js";import{i as x,p as G,q as z,r as et,c as J,n as rt,l as I,t as V,u as At}from"./mermaid.core.0bf3cbc4.js";import{a as N,b as at,i as nt,c as _,e as st,d as it,f as Ct,g as It}from"./styles-26373982.806655a2.js";import{l as Bt}from"./line.7016ab98.js";import"./createText-1f5f8f92.b8d15877.js";import{s as Mt}from"./selectAll.0071fc9b.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./index-5219d011.a0e167f8.js";import"./edges-2e77835f.9fcf4ce3.js";import"./svgDraw-2526cba0.cff159e4.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Pt(r,e){return fetch(r,e).then(Dt)}function Rt(r){return(e,t)=>Pt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Gt=Rt("image/svg+xml"),Y={normal:$t,vee:Wt,undirected:Vt};function Ut(r){Y=r}function $t(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Yt(r,e){for(var t=r.append("text"),n=Ht(e.label).split(` +import{p as St,f as W}from"./flowDb-52e24d17.947b4742.js";import{h as S,u as Lt,r as Et,p as _t,l as Tt,d as D,f as tt,G as Nt}from"./layout.6ca81b77.js";import{i as x,p as G,q as z,r as et,c as J,n as rt,l as I,t as V,u as At}from"./mermaid.core.ebd445a5.js";import{a as N,b as at,i as nt,c as _,e as st,d as it,f as Ct,g as It}from"./styles-26373982.04d87b4b.js";import{l as Bt}from"./line.56665913.js";import"./createText-1f5f8f92.68559ab5.js";import{s as Mt}from"./selectAll.065b1a3b.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./index-5219d011.b2f10b44.js";import"./edges-2e77835f.697716b4.js";import"./svgDraw-2526cba0.2cced117.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Pt(r,e){return fetch(r,e).then(Dt)}function Rt(r){return(e,t)=>Pt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Gt=Rt("image/svg+xml"),Y={normal:$t,vee:Wt,undirected:Vt};function Ut(r){Y=r}function $t(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Yt(r,e){for(var t=r.append("text"),n=Ht(e.label).split(` `),a=0;a0}function T(r,e,t){var n=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(p){i=Math.min(i,p.x),o=Math.min(o,p.y)});for(var c=n-r.width/2-i,d=a-r.height/2-o,l=0;l1&&s.sort(function(p,m){var f=p.x-t.x,y=p.y-t.y,k=Math.sqrt(f*f+y*y),B=m.x-t.x,E=m.y-t.y,U=Math.sqrt(B*B+E*E);return kMath.abs(a)*o?(s<0&&(o=-o),c=s===0?0:o*a/s,d=o):(a<0&&(i=-i),c=i,d=a===0?0:i*s/a),{x:t+c,y:n+d}}var Q={rect:ie,ellipse:oe,circle:le,diamond:ce};function se(r){Q=r}function ie(r,e,t){var n=r.insert("rect",":first-child").attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return t.intersect=function(a){return Z(t,a)},n}function oe(r,e,t){var n=e.width/2,a=e.height/2,s=r.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",n).attr("ry",a);return t.intersect=function(i){return lt(t,n,a,i)},s}function le(r,e,t){var n=Math.max(e.width,e.height)/2,a=r.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",n);return t.intersect=function(s){return ae(t,n,s)},a}function ce(r,e,t){var n=e.width*Math.SQRT2/2,a=e.height*Math.SQRT2/2,s=[{x:0,y:-a},{x:-n,y:0},{x:0,y:a},{x:n,y:0}],i=r.insert("polygon",":first-child").attr("points",s.map(function(o){return o.x+","+o.y}).join(" "));return t.intersect=function(o){return T(t,s,o)},i}function de(){var r=function(e,t){fe(t);var n=P(e,"output"),a=P(n,"clusters"),s=P(n,"edgePaths"),i=X(P(n,"edgeLabels"),t),o=q(P(n,"nodes"),t,Q);Tt(t),re(o,t),ee(i,t),F(s,t,Y);var c=H(a,t);te(c,t),pe(t)};return r.createNodes=function(e){return arguments.length?(jt(e),r):q},r.createClusters=function(e){return arguments.length?(Xt(e),r):H},r.createEdgeLabels=function(e){return arguments.length?(Ft(e),r):X},r.createEdgePaths=function(e){return arguments.length?(qt(e),r):F},r.shapes=function(e){return arguments.length?(se(e),r):Q},r.arrows=function(e){return arguments.length?(Ut(e),r):Y},r}var he={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},ue={arrowhead:"normal",curve:G};function fe(r){r.nodes().forEach(function(e){var t=r.node(e);!S(t,"label")&&!r.children(e).length&&(t.label=e),S(t,"paddingX")&&D(t,{paddingLeft:t.paddingX,paddingRight:t.paddingX}),S(t,"paddingY")&&D(t,{paddingTop:t.paddingY,paddingBottom:t.paddingY}),S(t,"padding")&&D(t,{paddingLeft:t.padding,paddingRight:t.padding,paddingTop:t.padding,paddingBottom:t.padding}),D(t,he),tt(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(n){t[n]=Number(t[n])}),S(t,"width")&&(t._prevWidth=t.width),S(t,"height")&&(t._prevHeight=t.height)}),r.edges().forEach(function(e){var t=r.edge(e);S(t,"label")||(t.label=""),D(t,ue)})}function pe(r){tt(r.nodes(),function(e){var t=r.node(e);S(t,"_prevWidth")?t.width=t._prevWidth:delete t.width,S(t,"_prevHeight")?t.height=t._prevHeight:delete t.height,delete t._prevWidth,delete t._prevHeight})}function P(r,e){var t=r.select("g."+e);return t.empty()&&(t=r.append("g").attr("class",e)),t}function ct(r,e,t){const n=e.width,a=e.height,s=(n+a)*.9,i=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=A(r,s,s,i);return t.intersect=function(c){return T(t,i,c)},o}function dt(r,e,t){const a=e.height,s=a/4,i=e.width+2*s,o=[{x:s,y:0},{x:i-s,y:0},{x:i,y:-a/2},{x:i-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],c=A(r,i,a,o);return t.intersect=function(d){return T(t,o,d)},c}function ht(r,e,t){const n=e.width,a=e.height,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ut(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ft(r,e,t){const n=e.width,a=e.height,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function pt(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function vt(r,e,t){const n=e.width,a=e.height,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function yt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function gt(r,e,t){const n=e.height,a=e.width+n/4,s=r.insert("rect",":first-child").attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return t.intersect=function(i){return Z(t,i)},s}function mt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function wt(r,e,t){const n=e.width,a=n/2,s=a/(2.5+n/50),i=e.height+s,o="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-i,c=r.attr("label-offset-y",s).insert("path",":first-child").attr("d",o).attr("transform","translate("+-n/2+","+-(i/2+s)+")");return t.intersect=function(d){const l=Z(t,d),v=l.x-t.x;if(a!=0&&(Math.abs(v)t.height/2-s)){let h=s*s*(1-v*v/(a*a));h!=0&&(h=Math.sqrt(h)),h=s-h,d.y-t.y>0&&(h=-h),l.y+=h}return l},c}function ve(r){r.shapes().question=ct,r.shapes().hexagon=dt,r.shapes().stadium=gt,r.shapes().subroutine=mt,r.shapes().cylinder=wt,r.shapes().rect_left_inv_arrow=ht,r.shapes().lean_right=ut,r.shapes().lean_left=ft,r.shapes().trapezoid=pt,r.shapes().inv_trapezoid=vt,r.shapes().rect_right_inv_arrow=yt}function ye(r){r({question:ct}),r({hexagon:dt}),r({stadium:gt}),r({subroutine:mt}),r({cylinder:wt}),r({rect_left_inv_arrow:ht}),r({lean_right:ut}),r({lean_left:ft}),r({trapezoid:pt}),r({inv_trapezoid:vt}),r({rect_right_inv_arrow:yt})}function A(r,e,t,n){return r.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+-e/2+","+t/2+")")}const ge={addToRender:ve,addToRenderV2:ye},xt={},me=function(r){const e=Object.keys(r);for(const t of e)xt[t]=r[t]},bt=function(r,e,t,n,a,s){const i=n?n.select(`[id="${t}"]`):x(`[id="${t}"]`),o=a||document;Object.keys(r).forEach(function(d){const l=r[d];let v="default";l.classes.length>0&&(v=l.classes.join(" "));const h=z(l.styles);let u=l.text!==void 0?l.text:l.id,p;if(et(J().flowchart.htmlLabels)){const y={label:u.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};p=at(i,y).node(),p.parentNode.removeChild(p)}else{const y=o.createElementNS("http://www.w3.org/2000/svg","text");y.setAttribute("style",h.labelStyle.replace("color:","fill:"));const k=u.split(rt.lineBreakRegex);for(const B of k){const E=o.createElementNS("http://www.w3.org/2000/svg","tspan");E.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),E.setAttribute("dy","1em"),E.setAttribute("x","1"),E.textContent=B,y.appendChild(E)}p=y}let m=0,f="";switch(l.type){case"round":m=5,f="rect";break;case"square":f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"odd_right":f="rect_left_inv_arrow";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"group":f="rect";break;default:f="rect"}I.warn("Adding node",l.id,l.domId),e.setNode(s.db.lookUpDomId(l.id),{labelType:"svg",labelStyle:h.labelStyle,shape:f,label:p,rx:m,ry:m,class:v,style:h.style,id:s.db.lookUpDomId(l.id)})})},kt=function(r,e,t){let n=0,a,s;if(r.defaultStyle!==void 0){const i=z(r.defaultStyle);a=i.style,s=i.labelStyle}r.forEach(function(i){n++;var o="L-"+i.start+"-"+i.end,c="LS-"+i.start,d="LE-"+i.end;const l={};i.type==="arrow_open"?l.arrowhead="none":l.arrowhead="normal";let v="",h="";if(i.style!==void 0){const u=z(i.style);v=u.style,h=u.labelStyle}else switch(i.stroke){case"normal":v="fill:none",a!==void 0&&(v=a),s!==void 0&&(h=s);break;case"dotted":v="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":v=" stroke-width: 3.5px;fill:none";break}l.style=v,l.labelStyle=h,i.interpolate!==void 0?l.curve=V(i.interpolate,G):r.defaultInterpolate!==void 0?l.curve=V(r.defaultInterpolate,G):l.curve=V(xt.curve,G),i.text===void 0?i.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",et(J().flowchart.htmlLabels)?(l.labelType="html",l.label=`${i.text.replace(/fa[blrs]?:fa-[\w-]+/g,u=>``)}`):(l.labelType="text",l.label=i.text.replace(rt.lineBreakRegex,` `),i.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),l.id=o,l.class=c+" "+d,l.minlen=i.length||1,e.setEdge(t.db.lookUpDomId(i.start),t.db.lookUpDomId(i.end),l,n)})},we=function(r,e){I.info("Extracting classes"),e.db.clear();try{return e.parse(r),e.db.getClasses()}catch(t){return I.error(t),{}}},xe=function(r,e,t,n){I.info("Drawing flowchart"),n.db.clear();const{securityLevel:a,flowchart:s}=J();let i;a==="sandbox"&&(i=x("#i"+e));const o=a==="sandbox"?x(i.nodes()[0].contentDocument.body):x("body"),c=a==="sandbox"?i.nodes()[0].contentDocument:document;try{n.parser.parse(r)}catch{I.debug("Parsing failed")}let d=n.db.getDirection();d===void 0&&(d="TD");const l=s.nodeSpacing||50,v=s.rankSpacing||50,h=new Nt({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:l,ranksep:v,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let u;const p=n.db.getSubGraphs();for(let g=p.length-1;g>=0;g--)u=p[g],n.db.addVertex(u.id,u.title,"group",void 0,u.classes);const m=n.db.getVertices();I.warn("Get vertices",m);const f=n.db.getEdges();let y=0;for(y=p.length-1;y>=0;y--){u=p[y],Mt("cluster").append("text");for(let g=0;g{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,be.setConf(r.flowchart),W.clear(),W.setGen("gen-1")}};export{Re as diagram}; diff --git a/_nuxt/flowDiagram-v2-8e52592d.81694620.js b/_nuxt/flowDiagram-v2-8e52592d.81694620.js deleted file mode 100644 index ab91b7644b..0000000000 --- a/_nuxt/flowDiagram-v2-8e52592d.81694620.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e,f as o}from"./flowDb-52e24d17.92450f30.js";import{f as t,g as a}from"./styles-26373982.806655a2.js";import{a5 as i}from"./mermaid.core.0bf3cbc4.js";import"./layout.e30182f8.js";import"./createText-1f5f8f92.b8d15877.js";import"./index-5219d011.a0e167f8.js";import"./edges-2e77835f.9fcf4ce3.js";import"./svgDraw-2526cba0.cff159e4.js";import"./line.7016ab98.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";import"./selectAll.0071fc9b.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram}; diff --git a/_nuxt/flowDiagram-v2-8e52592d.8f6ef4b2.js b/_nuxt/flowDiagram-v2-8e52592d.8f6ef4b2.js new file mode 100644 index 0000000000..7d5c40139b --- /dev/null +++ b/_nuxt/flowDiagram-v2-8e52592d.8f6ef4b2.js @@ -0,0 +1 @@ +import{p as e,f as o}from"./flowDb-52e24d17.947b4742.js";import{f as t,g as a}from"./styles-26373982.04d87b4b.js";import{a5 as i}from"./mermaid.core.ebd445a5.js";import"./layout.6ca81b77.js";import"./createText-1f5f8f92.68559ab5.js";import"./index-5219d011.b2f10b44.js";import"./edges-2e77835f.697716b4.js";import"./svgDraw-2526cba0.2cced117.js";import"./line.56665913.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";import"./selectAll.065b1a3b.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram}; diff --git a/_nuxt/flowchart-elk-definition-a44a74cb.bd4f8e12.js b/_nuxt/flowchart-elk-definition-a44a74cb.78119d35.js similarity index 99% rename from _nuxt/flowchart-elk-definition-a44a74cb.bd4f8e12.js rename to _nuxt/flowchart-elk-definition-a44a74cb.78119d35.js index f7fe834059..c4d76977b2 100644 --- a/_nuxt/flowchart-elk-definition-a44a74cb.bd4f8e12.js +++ b/_nuxt/flowchart-elk-definition-a44a74cb.78119d35.js @@ -1,4 +1,4 @@ -import{d as bMe,p as wMe}from"./flowDb-52e24d17.92450f30.js";import{l as K1,i as lI,c as OH,u as gMe,q as V1n,t as X1n,p as IH,n as pMe}from"./mermaid.core.0bf3cbc4.js";import{i as vMe,a as mMe,l as kMe,b as yMe}from"./edges-2e77835f.9fcf4ce3.js";import{c as Hee,g as jMe}from"./_commonjsHelpers.725317a4.js";import"./createText-1f5f8f92.b8d15877.js";import{l as EMe}from"./line.7016ab98.js";import"./entry.f8eaff67.js";import"./svgDraw-2526cba0.cff159e4.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function PH(Ee){throw new Error('Could not dynamically require "'+Ee+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Uee={exports:{}};(function(Ee,It){(function(ft){Ee.exports=ft()})(function(){return function(){function ft(dt,Nt,Ai){function j(Bt,qt){if(!Nt[Bt]){if(!dt[Bt]){var Ge=typeof PH=="function"&&PH;if(!qt&&Ge)return Ge(Bt,!0);if(Ht)return Ht(Bt,!0);var Ki=new Error("Cannot find module '"+Bt+"'");throw Ki.code="MODULE_NOT_FOUND",Ki}var Si=Nt[Bt]={exports:{}};dt[Bt][0].call(Si.exports,function(Mn){var Lc=dt[Bt][1][Mn];return j(Lc||Mn)},Si,Si.exports,ft,dt,Nt,Ai)}return Nt[Bt].exports}for(var Ht=typeof PH=="function"&&PH,ou=0;ou0&&arguments[0]!==void 0?arguments[0]:{},Ki=Ge.defaultLayoutOptions,Si=Ki===void 0?{}:Ki,Mn=Ge.algorithms,Lc=Mn===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:Mn,Nc=Ge.workerFactory,ps=Ge.workerUrl;if(j(this,Bt),this.defaultLayoutOptions=Si,this.initialized=!1,typeof ps>"u"&&typeof Nc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Rr=Nc;typeof ps<"u"&&typeof Nc>"u"&&(Rr=function(q1){return new Worker(q1)});var Ch=Rr(ps);if(typeof Ch.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new ou(Ch),this.worker.postMessage({cmd:"register",algorithms:Lc}).then(function(H1){return qt.initialized=!0}).catch(console.err)}return Ai(Bt,[{key:"layout",value:function(Ge){var Ki=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Si=Ki.layoutOptions,Mn=Si===void 0?this.defaultLayoutOptions:Si,Lc=Ki.logging,Nc=Lc===void 0?!1:Lc,ps=Ki.measureExecutionTime,Rr=ps===void 0?!1:ps;return Ge?this.worker.postMessage({cmd:"layout",graph:Ge,layoutOptions:Mn,options:{logging:Nc,measureExecutionTime:Rr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),Bt}();Nt.default=Ht;var ou=function(){function Bt(qt){var Ge=this;if(j(this,Bt),qt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=qt,this.worker.onmessage=function(Ki){setTimeout(function(){Ge.receive(Ge,Ki)},0)}}return Ai(Bt,[{key:"postMessage",value:function(Ge){var Ki=this.id||0;this.id=Ki+1,Ge.id=Ki;var Si=this;return new Promise(function(Mn,Lc){Si.resolvers[Ki]=function(Nc,ps){Nc?(Si.convertGwtStyleError(Nc),Lc(Nc)):Mn(ps)},Si.worker.postMessage(Ge)})}},{key:"receive",value:function(Ge,Ki){var Si=Ki.data,Mn=Ge.resolvers[Si.id];Mn&&(delete Ge.resolvers[Si.id],Si.error?Mn(Si.error):Mn(null,Si.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Ge){if(Ge){var Ki=Ge.__java$exception;Ki&&(Ki.cause&&Ki.cause.backingJsObject&&(Ge.cause=Ki.cause.backingJsObject,this.convertGwtStyleError(Ge.cause)),delete Ge.__java$exception)}}}]),Bt}()},{}],2:[function(ft,dt,Nt){(function(Ai){(function(){var j;typeof window<"u"?j=window:typeof Ai<"u"?j=Ai:typeof self<"u"&&(j=self);var Ht;function ou(){}function Bt(){}function qt(){}function Ge(){}function Ki(){}function Si(){}function Mn(){}function Lc(){}function Nc(){}function ps(){}function Rr(){}function Ch(){}function H1(){}function q1(){}function ww(){}function Np(){}function G1(){}function Th(){}function Q1n(){}function J1n(){}function zy(){}function Y1n(){}function Z1n(){}function nln(){}function eln(){}function Xg(){}function N(){}function tln(){}function aI(){}function iln(){}function rln(){}function cln(){}function uln(){}function DH(){}function sln(){}function oln(){}function fln(){}function z1(){}function U1(){}function dI(){}function hln(){}function lln(){}function aln(){}function $H(){}function dln(){}function bln(){}function Vg(){}function Qg(){}function wln(){}function gln(){}function pln(){}function vln(){}function FH(){}function W1(){}function Jg(){}function Yg(){}function mln(){}function Vee(){}function bI(){}function kln(){}function yln(){}function jln(){}function Eln(){}function Cln(){}function Tln(){}function Mln(){}function Aln(){}function Sln(){}function Pln(){}function Iln(){}function Oln(){}function Dln(){}function $ln(){}function Fln(){}function xln(){}function Lln(){}function Nln(){}function Bln(){}function Rln(){}function _ln(){}function Kln(){}function Hln(){}function qln(){}function Gln(){}function zln(){}function Uln(){}function Wln(){}function Xln(){}function Vln(){}function Qln(){}function Jln(){}function Yln(){}function xH(){}function Zln(){}function nan(){}function ean(){}function tan(){}function wI(){}function gI(){}function Uy(){}function ian(){}function ran(){}function pI(){}function can(){}function uan(){}function san(){}function Wy(){}function oan(){}function fan(){}function han(){}function lan(){}function aan(){}function dan(){}function ban(){}function wan(){}function gan(){}function LH(){}function pan(){}function van(){}function man(){}function kan(){}function yan(){}function NH(){}function jan(){}function Ean(){}function Can(){}function Tan(){}function Man(){}function Aan(){}function San(){}function Pan(){}function Ian(){}function Oan(){}function Dan(){}function $an(){}function Fan(){}function xan(){}function vI(){}function Lan(){}function Nan(){}function Ban(){}function Ran(){}function _an(){}function BH(){}function Kan(){}function Han(){}function qan(){}function Gan(){}function zan(){}function Uan(){}function Wan(){}function Xan(){}function Van(){}function Qan(){}function Jan(){}function Yan(){}function Zan(){}function ndn(){}function edn(){}function tdn(){}function idn(){}function rdn(){}function cdn(){}function udn(){}function sdn(){}function odn(){}function fdn(){}function hdn(){}function ldn(){}function adn(){}function ddn(){}function bdn(){}function wdn(){}function gdn(){}function pdn(){}function vdn(){}function mdn(){}function kdn(){}function ydn(){}function jdn(){}function Edn(){}function Cdn(){}function Tdn(){}function Mdn(){}function Adn(){}function Sdn(){}function Pdn(){}function Idn(){}function Odn(){}function Ddn(){}function $dn(){}function Fdn(){}function xdn(){}function Ldn(){}function Ndn(){}function Bdn(){}function Rdn(){}function _dn(){}function Kdn(){}function Hdn(){}function qdn(){}function Gdn(){}function zdn(){}function Udn(){}function Wdn(){}function Xdn(){}function Vdn(){}function Qdn(){}function Jdn(){}function Ydn(){}function Zdn(){}function n0n(){}function e0n(){}function t0n(){}function i0n(){}function r0n(){}function c0n(){}function u0n(){}function s0n(){}function o0n(){}function f0n(){}function h0n(){}function l0n(){}function a0n(){}function d0n(){}function b0n(){}function w0n(){}function g0n(){}function p0n(){}function v0n(){}function m0n(){}function k0n(){}function y0n(){}function j0n(){}function E0n(){}function C0n(){}function T0n(){}function M0n(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function D0n(){}function RH(){}function $0n(){}function F0n(){}function x0n(){}function L0n(){}function N0n(){}function B0n(){}function R0n(){}function _0n(){}function K0n(){}function H0n(){}function q0n(){}function G0n(){}function z0n(){}function U0n(){}function W0n(){}function X0n(){}function V0n(){}function Q0n(){}function J0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function sbn(){}function obn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function vbn(){}function mbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Tbn(){}function Mbn(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function Obn(){}function Dbn(){}function $bn(){}function Fbn(){}function xbn(){}function Lbn(){}function Nbn(){}function Bbn(){}function Rbn(){}function _bn(){}function Kbn(){}function Hbn(){}function qbn(){}function Gbn(){}function zbn(){}function _H(){}function Ubn(){}function Wbn(){}function Xbn(){}function Vbn(){}function Qbn(){}function Jbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function uwn(){}function swn(){}function own(){}function fwn(){}function hwn(){}function lwn(){}function KH(){}function awn(){}function dwn(){}function bwn(){}function wwn(){}function gwn(){}function pwn(){}function HH(){}function qH(){}function vwn(){}function GH(){}function zH(){}function mwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Twn(){}function Mwn(){}function Awn(){}function UH(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function $wn(){}function Fwn(){}function xwn(){}function Lwn(){}function Nwn(){}function Bwn(){}function Rwn(){}function _wn(){}function Kwn(){}function Hwn(){}function qwn(){}function Gwn(){}function zwn(){}function Uwn(){}function Wwn(){}function Xwn(){}function Vwn(){}function Qwn(){}function Jwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function sgn(){}function ogn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function vgn(){}function mgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Tgn(){}function Mgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function $gn(){}function Fgn(){}function xgn(){}function Lgn(){}function Ngn(){}function Bgn(){}function Rgn(){}function _gn(){}function Kgn(){}function mI(){}function kI(){}function yI(){}function Hgn(){}function qgn(){}function Ggn(){}function zgn(){}function Ugn(){}function WH(){}function Wgn(){}function Xgn(){}function Qee(){}function Vgn(){}function Qgn(){}function Jgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function Zl(){}function t2n(){}function Zg(){}function XH(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function s2n(){}function o2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function v2n(){}function m2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function dn(){}function C2n(){}function T2n(){}function M2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function $2n(){}function jI(){}function F2n(){}function x2n(){}function L2n(){}function N2n(){}function B2n(){}function VH(){}function Xy(){}function Vy(){}function R2n(){}function QH(){}function Qy(){}function _2n(){}function K2n(){}function H2n(){}function q2n(){}function G2n(){}function z2n(){}function Jy(){}function U2n(){}function W2n(){}function X2n(){}function Yy(){}function V2n(){}function JH(){}function Q2n(){}function EI(){}function YH(){}function J2n(){}function Y2n(){}function Z2n(){}function npn(){}function Jee(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function spn(){}function opn(){}function fpn(){}function hpn(){}function Bp(){}function CI(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function vpn(){}function mpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Tpn(){}function Mpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function $pn(){}function Fpn(){}function xpn(){}function Lpn(){}function Npn(){}function Bpn(){}function Rpn(){}function _pn(){}function Kpn(){}function Hpn(){}function qpn(){}function Gpn(){}function zpn(){}function Upn(){}function Wpn(){}function Xpn(){}function Vpn(){}function Qpn(){}function Jpn(){}function Ypn(){}function Zpn(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function s3n(){}function o3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function v3n(){}function m3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function T3n(){}function M3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function $3n(){}function F3n(){}function x3n(){}function L3n(){}function N3n(){}function B3n(){}function R3n(){}function _3n(){}function K3n(){}function H3n(){}function q3n(){}function G3n(){}function z3n(){}function U3n(){}function W3n(){}function X3n(){}function V3n(){}function Q3n(){}function J3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function ZH(){}function r4n(){}function c4n(){}function TI(){Rv()}function u4n(){pF()}function s4n(){a6()}function o4n(){WT()}function f4n(){YJ()}function h4n(){Go()}function l4n(){fJ()}function a4n(){C7()}function d4n(){q9()}function b4n(){H9()}function w4n(){w8()}function g4n(){v7n()}function p4n(){x2()}function v4n(){Sj()}function m4n(){PSn()}function k4n(){HIn()}function y4n(){sPn()}function j4n(){CMn()}function E4n(){V3()}function C4n(){yl()}function T4n(){qIn()}function M4n(){pAn()}function A4n(){zZ()}function S4n(){IFn()}function P4n(){TMn()}function I4n(){nn()}function O4n(){EMn()}function D4n(){GIn()}function $4n(){WOn()}function F4n(){AMn()}function x4n(){aPn()}function L4n(){m7n()}function N4n(){$Y()}function B4n(){gb()}function R4n(){pOn()}function _4n(){S7()}function K4n(){Ux()}function H4n(){ZF()}function q4n(){Zd()}function G4n(){PV()}function z4n(){MMn()}function U4n(){BBn()}function W4n(){IY()}function X4n(){Bx()}function V4n(){DC()}function Q4n(){nM()}function nq(){Xe()}function J4n(){wT()}function Y4n(){NQ()}function eq(){mM()}function Fo(){dEn()}function tq(){eF()}function Z4n(){pZ()}function iq(n){_n(n)}function nvn(n){this.a=n}function Zy(n){this.a=n}function evn(n){this.a=n}function tvn(n){this.a=n}function ivn(n){this.a=n}function rvn(n){this.a=n}function cvn(n){this.a=n}function uvn(n){this.a=n}function rq(n){this.a=n}function cq(n){this.a=n}function svn(n){this.a=n}function MI(n){this.a=n}function ovn(n){this.a=n}function AI(n){this.a=n}function fvn(n){this.a=n}function SI(n){this.a=n}function hvn(n){this.a=n}function PI(n){this.a=n}function lvn(n){this.a=n}function avn(n){this.a=n}function dvn(n){this.a=n}function uq(n){this.b=n}function bvn(n){this.c=n}function wvn(n){this.a=n}function gvn(n){this.a=n}function pvn(n){this.a=n}function vvn(n){this.a=n}function mvn(n){this.a=n}function kvn(n){this.a=n}function yvn(n){this.a=n}function jvn(n){this.a=n}function Evn(n){this.a=n}function Cvn(n){this.a=n}function Tvn(n){this.a=n}function Mvn(n){this.a=n}function Avn(n){this.a=n}function sq(n){this.a=n}function oq(n){this.a=n}function nj(n){this.a=n}function M9(n){this.a=n}function na(){this.a=[]}function Svn(n,e){n.a=e}function Yee(n,e){n.a=e}function Zee(n,e){n.b=e}function nte(n,e){n.b=e}function ete(n,e){n.b=e}function fq(n,e){n.j=e}function tte(n,e){n.g=e}function ite(n,e){n.i=e}function rte(n,e){n.c=e}function cte(n,e){n.d=e}function ute(n,e){n.d=e}function ste(n,e){n.c=e}function ea(n,e){n.k=e}function ote(n,e){n.c=e}function hq(n,e){n.c=e}function lq(n,e){n.a=e}function fte(n,e){n.a=e}function hte(n,e){n.f=e}function lte(n,e){n.a=e}function ate(n,e){n.b=e}function II(n,e){n.d=e}function ej(n,e){n.i=e}function aq(n,e){n.o=e}function dte(n,e){n.r=e}function bte(n,e){n.a=e}function wte(n,e){n.b=e}function Pvn(n,e){n.e=e}function gte(n,e){n.f=e}function dq(n,e){n.g=e}function pte(n,e){n.e=e}function vte(n,e){n.f=e}function mte(n,e){n.f=e}function kte(n,e){n.n=e}function yte(n,e){n.a=e}function jte(n,e){n.a=e}function Ete(n,e){n.c=e}function Cte(n,e){n.c=e}function Tte(n,e){n.d=e}function Mte(n,e){n.e=e}function Ate(n,e){n.g=e}function Ste(n,e){n.a=e}function Pte(n,e){n.c=e}function Ite(n,e){n.d=e}function Ote(n,e){n.e=e}function Dte(n,e){n.f=e}function $te(n,e){n.j=e}function Fte(n,e){n.a=e}function xte(n,e){n.b=e}function Lte(n,e){n.a=e}function Ivn(n){n.b=n.a}function Ovn(n){n.c=n.d.d}function $v(n){this.d=n}function ta(n){this.a=n}function Rp(n){this.a=n}function bq(n){this.a=n}function Mh(n){this.a=n}function A9(n){this.a=n}function Dvn(n){this.a=n}function wq(n){this.a=n}function S9(n){this.a=n}function gq(n){this.a=n}function pq(n){this.a=n}function vq(n){this.a=n}function L0(n){this.a=n}function P9(n){this.a=n}function I9(n){this.a=n}function mq(n){this.b=n}function _p(n){this.b=n}function Kp(n){this.b=n}function OI(n){this.a=n}function $vn(n){this.a=n}function kq(n){this.a=n}function DI(n){this.c=n}function E(n){this.c=n}function Fvn(n){this.c=n}function yq(n){this.a=n}function jq(n){this.a=n}function Eq(n){this.a=n}function Cq(n){this.a=n}function ut(n){this.a=n}function xvn(n){this.a=n}function Tq(n){this.a=n}function Mq(n){this.a=n}function Lvn(n){this.a=n}function Nvn(n){this.a=n}function Fv(n){this.a=n}function Bvn(n){this.a=n}function Rvn(n){this.a=n}function _vn(n){this.a=n}function Kvn(n){this.a=n}function Hvn(n){this.a=n}function qvn(n){this.a=n}function Gvn(n){this.a=n}function zvn(n){this.a=n}function Uvn(n){this.a=n}function Wvn(n){this.a=n}function Xvn(n){this.a=n}function Vvn(n){this.a=n}function Qvn(n){this.a=n}function Jvn(n){this.a=n}function Yvn(n){this.a=n}function Zvn(n){this.a=n}function n5n(n){this.a=n}function O9(n){this.a=n}function e5n(n){this.a=n}function t5n(n){this.a=n}function tj(n){this.a=n}function i5n(n){this.a=n}function r5n(n){this.a=n}function Hp(n){this.a=n}function Aq(n){this.a=n}function c5n(n){this.a=n}function u5n(n){this.a=n}function s5n(n){this.a=n}function o5n(n){this.a=n}function f5n(n){this.a=n}function Sq(n){this.a=n}function Pq(n){this.a=n}function Iq(n){this.a=n}function ij(n){this.a=n}function rj(n){this.e=n}function qp(n){this.a=n}function h5n(n){this.a=n}function n2(n){this.a=n}function Oq(n){this.a=n}function l5n(n){this.a=n}function a5n(n){this.a=n}function d5n(n){this.a=n}function b5n(n){this.a=n}function w5n(n){this.a=n}function g5n(n){this.a=n}function p5n(n){this.a=n}function v5n(n){this.a=n}function m5n(n){this.a=n}function k5n(n){this.a=n}function y5n(n){this.a=n}function Dq(n){this.a=n}function j5n(n){this.a=n}function E5n(n){this.a=n}function C5n(n){this.a=n}function T5n(n){this.a=n}function M5n(n){this.a=n}function A5n(n){this.a=n}function S5n(n){this.a=n}function P5n(n){this.a=n}function I5n(n){this.a=n}function O5n(n){this.a=n}function D5n(n){this.a=n}function $5n(n){this.a=n}function F5n(n){this.a=n}function x5n(n){this.a=n}function L5n(n){this.a=n}function N5n(n){this.a=n}function B5n(n){this.a=n}function R5n(n){this.a=n}function _5n(n){this.a=n}function K5n(n){this.a=n}function H5n(n){this.a=n}function q5n(n){this.a=n}function G5n(n){this.a=n}function z5n(n){this.a=n}function U5n(n){this.a=n}function W5n(n){this.a=n}function X5n(n){this.a=n}function V5n(n){this.a=n}function Q5n(n){this.a=n}function J5n(n){this.a=n}function Y5n(n){this.a=n}function Z5n(n){this.a=n}function n6n(n){this.a=n}function e6n(n){this.a=n}function t6n(n){this.a=n}function i6n(n){this.a=n}function r6n(n){this.a=n}function c6n(n){this.c=n}function u6n(n){this.b=n}function s6n(n){this.a=n}function o6n(n){this.a=n}function f6n(n){this.a=n}function h6n(n){this.a=n}function l6n(n){this.a=n}function a6n(n){this.a=n}function d6n(n){this.a=n}function b6n(n){this.a=n}function w6n(n){this.a=n}function g6n(n){this.a=n}function p6n(n){this.a=n}function v6n(n){this.a=n}function m6n(n){this.a=n}function k6n(n){this.a=n}function y6n(n){this.a=n}function j6n(n){this.a=n}function E6n(n){this.a=n}function C6n(n){this.a=n}function T6n(n){this.a=n}function M6n(n){this.a=n}function A6n(n){this.a=n}function S6n(n){this.a=n}function P6n(n){this.a=n}function I6n(n){this.a=n}function X1(n){this.a=n}function e2(n){this.a=n}function O6n(n){this.a=n}function D6n(n){this.a=n}function $6n(n){this.a=n}function F6n(n){this.a=n}function x6n(n){this.a=n}function L6n(n){this.a=n}function N6n(n){this.a=n}function B6n(n){this.a=n}function R6n(n){this.a=n}function _6n(n){this.a=n}function K6n(n){this.a=n}function H6n(n){this.a=n}function q6n(n){this.a=n}function G6n(n){this.a=n}function z6n(n){this.a=n}function U6n(n){this.a=n}function cj(n){this.a=n}function W6n(n){this.a=n}function X6n(n){this.a=n}function V6n(n){this.a=n}function Q6n(n){this.a=n}function J6n(n){this.a=n}function Y6n(n){this.a=n}function Z6n(n){this.a=n}function nmn(n){this.a=n}function emn(n){this.a=n}function tmn(n){this.a=n}function imn(n){this.a=n}function rmn(n){this.a=n}function cmn(n){this.a=n}function umn(n){this.a=n}function smn(n){this.a=n}function omn(n){this.a=n}function fmn(n){this.a=n}function hmn(n){this.a=n}function lmn(n){this.a=n}function amn(n){this.a=n}function dmn(n){this.a=n}function bmn(n){this.a=n}function wmn(n){this.a=n}function gmn(n){this.a=n}function pmn(n){this.a=n}function vmn(n){this.a=n}function mmn(n){this.a=n}function kmn(n){this.a=n}function $q(n){this.a=n}function kt(n){this.b=n}function ymn(n){this.f=n}function Fq(n){this.a=n}function jmn(n){this.a=n}function Emn(n){this.a=n}function Cmn(n){this.a=n}function Tmn(n){this.a=n}function Mmn(n){this.a=n}function Amn(n){this.a=n}function Smn(n){this.a=n}function Pmn(n){this.a=n}function D9(n){this.a=n}function Imn(n){this.a=n}function Omn(n){this.b=n}function xq(n){this.c=n}function uj(n){this.e=n}function Dmn(n){this.a=n}function sj(n){this.a=n}function oj(n){this.a=n}function $I(n){this.a=n}function $mn(n){this.a=n}function Fmn(n){this.d=n}function Lq(n){this.a=n}function Nq(n){this.a=n}function cd(n){this.e=n}function Nte(){this.a=0}function gw(){dyn(this)}function X(){RO(this)}function we(){Eu(this)}function FI(){pTn(this)}function xmn(){}function ud(){this.c=p1n}function Bte(n,e){e.Wb(n)}function Lmn(n,e){n.b+=e}function Nmn(n){n.b=new JI}function T(n){return n.e}function Rte(n){return n.a}function _te(n){return n.a}function Kte(n){return n.a}function Hte(n){return n.a}function qte(n){return n.a}function Gte(){return null}function zte(){return null}function Ute(){EG(),iTe()}function Wte(n){n.b.tf(n.e)}function xv(n,e){n.b=e-n.b}function Lv(n,e){n.a=e-n.a}function Bmn(n,e){e.ad(n.a)}function Xte(n,e){ui(e,n)}function Vte(n,e,t){n.Od(t,e)}function $9(n,e){n.e=e,e.b=n}function Bq(n){Df(),this.a=n}function Rmn(n){Df(),this.a=n}function _mn(n){Df(),this.a=n}function Rq(n){nb(),this.a=n}function Kmn(n){k3(),aR.be(n)}function ia(){Qyn.call(this)}function _q(){Qyn.call(this)}function Kq(){ia.call(this)}function xI(){ia.call(this)}function Hmn(){ia.call(this)}function F9(){ia.call(this)}function fu(){ia.call(this)}function Nv(){ia.call(this)}function ye(){ia.call(this)}function vs(){ia.call(this)}function qmn(){ia.call(this)}function ic(){ia.call(this)}function Gmn(){ia.call(this)}function zmn(){this.a=this}function fj(){this.Bb|=256}function Umn(){this.b=new Xkn}function Hq(){Hq=N,new we}function qq(){Kq.call(this)}function Wmn(n,e){n.length=e}function hj(n,e){W(n.a,e)}function Qte(n,e){nY(n.c,e)}function Jte(n,e){ri(n.b,e)}function Yte(n,e){KT(n.a,e)}function Zte(n,e){MF(n.a,e)}function Gp(n,e){et(n.e,e)}function t2(n){iM(n.c,n.b)}function nie(n,e){n.kc().Nb(e)}function Gq(n){this.a=Yge(n)}function fi(){this.a=new we}function Xmn(){this.a=new we}function lj(){this.a=new X}function LI(){this.a=new X}function zq(){this.a=new X}function Ns(){this.a=new Oln}function ra(){this.a=new TSn}function Uq(){this.a=new LH}function Wq(){this.a=new h7n}function Vmn(){this.a=new YMn}function Xq(){this.a=new bMn}function Vq(){this.a=new Bjn}function Qmn(){this.a=new X}function Qq(){this.a=new X}function Jmn(){this.a=new X}function Ymn(){this.a=new X}function Zmn(){this.d=new X}function n9n(){this.a=new fi}function e9n(){this.a=new we}function t9n(){this.b=new we}function i9n(){this.b=new X}function Jq(){this.e=new X}function r9n(){this.d=new X}function c9n(){this.a=new C4n}function u9n(){X.call(this)}function Yq(){lj.call(this)}function s9n(){kE.call(this)}function o9n(){Qq.call(this)}function NI(){Bv.call(this)}function Bv(){xmn.call(this)}function i2(){xmn.call(this)}function Zq(){i2.call(this)}function f9n(){zTn.call(this)}function h9n(){zTn.call(this)}function l9n(){uG.call(this)}function a9n(){uG.call(this)}function d9n(){uG.call(this)}function b9n(){sG.call(this)}function hu(){Ct.call(this)}function nG(){B2n.call(this)}function eG(){B2n.call(this)}function w9n(){O9n.call(this)}function g9n(){O9n.call(this)}function p9n(){we.call(this)}function v9n(){we.call(this)}function m9n(){we.call(this)}function k9n(){fi.call(this)}function BI(){RIn.call(this)}function y9n(){fj.call(this)}function RI(){Oz.call(this)}function _I(){Oz.call(this)}function tG(){we.call(this)}function KI(){we.call(this)}function j9n(){we.call(this)}function iG(){Yy.call(this)}function E9n(){Yy.call(this)}function C9n(){iG.call(this)}function T9n(){ZH.call(this)}function M9n(n){hIn.call(this,n)}function A9n(n){hIn.call(this,n)}function rG(n){rq.call(this,n)}function cG(n){n7n.call(this,n)}function eie(n){cG.call(this,n)}function tie(n){n7n.call(this,n)}function zp(){this.a=new Ct}function uG(){this.a=new fi}function sG(){this.a=new we}function S9n(){this.a=new X}function P9n(){this.j=new X}function oG(){this.a=new Rgn}function I9n(){this.a=new T8n}function O9n(){this.a=new X2n}function HI(){HI=N,uR=new V9n}function qI(){qI=N,cR=new X9n}function Rv(){Rv=N,rR=new Bt}function aj(){aj=N,fR=new Xyn}function iie(n){cG.call(this,n)}function rie(n){cG.call(this,n)}function D9n(n){m$.call(this,n)}function $9n(n){m$.call(this,n)}function F9n(n){uEn.call(this,n)}function GI(n){C5e.call(this,n)}function sd(n){_0.call(this,n)}function _v(n){Cj.call(this,n)}function fG(n){Cj.call(this,n)}function x9n(n){Cj.call(this,n)}function _r(n){kCn.call(this,n)}function L9n(n){_r.call(this,n)}function r2(){M9.call(this,{})}function dj(n){c3(),this.a=n}function Kv(n){n.b=null,n.c=0}function cie(n,e){n.e=e,NNn(n,e)}function uie(n,e){n.a=e,h6e(n)}function zI(n,e,t){n.a[e.g]=t}function sie(n,e,t){M4e(t,n,e)}function oie(n,e){$ue(e.i,n.n)}function N9n(n,e){Fwe(n).td(e)}function fie(n,e){return n*n/e}function B9n(n,e){return n.g-e.g}function hie(n){return new nj(n)}function lie(n){return new Z0(n)}function bj(n){_r.call(this,n)}function vr(n){_r.call(this,n)}function R9n(n){_r.call(this,n)}function UI(n){kCn.call(this,n)}function WI(n){AV(),this.a=n}function _9n(n){aEn(),this.a=n}function N0(n){ED(),this.f=n}function XI(n){ED(),this.f=n}function Up(n){_r.call(this,n)}function Hn(n){_r.call(this,n)}function Dr(n){_r.call(this,n)}function K9n(n){_r.call(this,n)}function c2(n){_r.call(this,n)}function on(n){return _n(n),n}function K(n){return _n(n),n}function x9(n){return _n(n),n}function hG(n){return _n(n),n}function aie(n){return _n(n),n}function Hv(n){return n.b==n.c}function B0(n){return!!n&&n.b}function die(n){return!!n&&n.k}function bie(n){return!!n&&n.j}function Ku(n){_n(n),this.a=n}function lG(n){return ja(n),n}function qv(n){EW(n,n.length)}function t1(n){_r.call(this,n)}function Af(n){_r.call(this,n)}function VI(n){_r.call(this,n)}function pw(n){_r.call(this,n)}function Gv(n){_r.call(this,n)}function Ce(n){_r.call(this,n)}function QI(n){Vz.call(this,n,0)}function JI(){iX.call(this,12,3)}function aG(){aG=N,din=new Q1n}function H9n(){H9n=N,ain=new ou}function wj(){wj=N,dm=new H1}function q9n(){q9n=N,vzn=new ww}function G9n(){throw T(new ye)}function dG(){throw T(new ye)}function z9n(){throw T(new ye)}function wie(){throw T(new ye)}function gie(){throw T(new ye)}function pie(){throw T(new ye)}function YI(){this.a=Te(pe(Ji))}function u2(n){Df(),this.a=pe(n)}function U9n(n,e){n.Td(e),e.Sd(n)}function vie(n,e){n.a.ec().Mc(e)}function mie(n,e,t){n.c.lf(e,t)}function bG(n){vr.call(this,n)}function Sf(n){Hn.call(this,n)}function i1(){A9.call(this,"")}function zv(){A9.call(this,"")}function V1(){A9.call(this,"")}function R0(){A9.call(this,"")}function wG(n){vr.call(this,n)}function Wp(n){_p.call(this,n)}function ZI(n){lE.call(this,n)}function W9n(n){Wp.call(this,n)}function X9n(){AI.call(this,null)}function V9n(){AI.call(this,null)}function gj(){gj=N,k3()}function Q9n(){Q9n=N,Szn=Z4e()}function J9n(n){return n.a?n.b:0}function kie(n){return n.a?n.b:0}function yie(n,e){return n.a-e.a}function jie(n,e){return n.a-e.a}function Eie(n,e){return n.a-e.a}function pj(n,e){return WX(n,e)}function M(n,e){return pMn(n,e)}function Cie(n,e){return e in n.a}function Y9n(n,e){return n.f=e,n}function Tie(n,e){return n.b=e,n}function Z9n(n,e){return n.c=e,n}function Mie(n,e){return n.g=e,n}function gG(n,e){return n.a=e,n}function pG(n,e){return n.f=e,n}function Aie(n,e){return n.k=e,n}function vG(n,e){return n.a=e,n}function Sie(n,e){return n.e=e,n}function mG(n,e){return n.e=e,n}function Pie(n,e){return n.f=e,n}function Iie(n,e){n.b=!0,n.d=e}function Oie(n,e){n.b=new mr(e)}function Die(n,e,t){e.td(n.a[t])}function $ie(n,e,t){e.we(n.a[t])}function Fie(n,e){return n.b-e.b}function xie(n,e){return n.g-e.g}function Lie(n,e){return n.s-e.s}function Nie(n,e){return n?0:e-1}function n8n(n,e){return n?0:e-1}function Bie(n,e){return n?e-1:0}function Rie(n,e){return e.Yf(n)}function od(n,e){return n.b=e,n}function vj(n,e){return n.a=e,n}function fd(n,e){return n.c=e,n}function hd(n,e){return n.d=e,n}function ld(n,e){return n.e=e,n}function kG(n,e){return n.f=e,n}function Uv(n,e){return n.a=e,n}function Xp(n,e){return n.b=e,n}function Vp(n,e){return n.c=e,n}function gn(n,e){return n.c=e,n}function Dn(n,e){return n.b=e,n}function pn(n,e){return n.d=e,n}function vn(n,e){return n.e=e,n}function _ie(n,e){return n.f=e,n}function mn(n,e){return n.g=e,n}function kn(n,e){return n.a=e,n}function yn(n,e){return n.i=e,n}function jn(n,e){return n.j=e,n}function e8n(n,e){return n.k=e,n}function Kie(n,e){return n.j=e,n}function Hie(n,e){yl(),Hr(e,n)}function qie(n,e,t){Nfe(n.a,e,t)}function t8n(n){mTn.call(this,n)}function yG(n){mTn.call(this,n)}function mj(n){uD.call(this,n)}function i8n(n){u2e.call(this,n)}function Q1(n){Ld.call(this,n)}function r8n(n){XD.call(this,n)}function c8n(n){XD.call(this,n)}function u8n(){Mz.call(this,"")}function Li(){this.a=0,this.b=0}function s8n(){this.b=0,this.a=0}function o8n(n,e){n.b=0,hb(n,e)}function Gie(n,e){n.c=e,n.b=!0}function f8n(n,e){return n.c._b(e)}function xo(n){return n.e&&n.e()}function nO(n){return n?n.d:null}function h8n(n,e){return LDn(n.b,e)}function zie(n){return n?n.g:null}function Uie(n){return n?n.i:null}function J1(n){return Ph(n),n.o}function ad(){ad=N,Mne=h4e()}function l8n(){l8n=N,vi=jve()}function Qp(){Qp=N,g1n=a4e()}function a8n(){a8n=N,hee=l4e()}function jG(){jG=N,oc=s6e()}function EG(){EG=N,Wl=N3()}function d8n(){throw T(new ye)}function b8n(){throw T(new ye)}function w8n(){throw T(new ye)}function g8n(){throw T(new ye)}function p8n(){throw T(new ye)}function v8n(){throw T(new ye)}function kj(n){this.a=new s2(n)}function CG(n){d_n(),gTe(this,n)}function Y1(n){this.a=new AD(n)}function vw(n,e){for(;n.ye(e););}function TG(n,e){for(;n.sd(e););}function mw(n,e){return n.a+=e,n}function eO(n,e){return n.a+=e,n}function r1(n,e){return n.a+=e,n}function dd(n,e){return n.a+=e,n}function Wv(n){return fl(n),n.a}function yj(n){return n.b!=n.d.c}function m8n(n){return n.l|n.m<<22}function MG(n,e){return n.d[e.p]}function k8n(n,e){return Q8e(n,e)}function AG(n,e,t){n.splice(e,t)}function y8n(n){n.c?rBn(n):cBn(n)}function jj(n){this.a=0,this.b=n}function j8n(){this.a=new B7(Pon)}function E8n(){this.b=new B7(won)}function C8n(){this.b=new B7(OK)}function T8n(){this.b=new B7(OK)}function M8n(){throw T(new ye)}function A8n(){throw T(new ye)}function S8n(){throw T(new ye)}function P8n(){throw T(new ye)}function I8n(){throw T(new ye)}function O8n(){throw T(new ye)}function D8n(){throw T(new ye)}function $8n(){throw T(new ye)}function F8n(){throw T(new ye)}function x8n(){throw T(new ye)}function Wie(){throw T(new ic)}function Xie(){throw T(new ic)}function L9(n){this.a=new L8n(n)}function L8n(n){cbe(this,n,cve())}function N9(n){return!n||iTn(n)}function B9(n){return Tf[n]!=-1}function Vie(){_A!=0&&(_A=0),KA=-1}function N8n(){iR==null&&(iR=[])}function Qie(n,e){$x(R(n.a),e)}function Jie(n,e){$x(R(n.a),e)}function R9(n,e){Sw.call(this,n,e)}function Jp(n,e){R9.call(this,n,e)}function SG(n,e){this.b=n,this.c=e}function B8n(n,e){this.b=n,this.a=e}function R8n(n,e){this.a=n,this.b=e}function _8n(n,e){this.a=n,this.b=e}function K8n(n,e){this.a=n,this.b=e}function H8n(n,e){this.a=n,this.b=e}function q8n(n,e){this.a=n,this.b=e}function G8n(n,e){this.a=n,this.b=e}function z8n(n,e){this.a=n,this.b=e}function U8n(n,e){this.a=n,this.b=e}function W8n(n,e){this.b=n,this.a=e}function X8n(n,e){this.b=n,this.a=e}function V8n(n,e){this.b=n,this.a=e}function Q8n(n,e){this.b=n,this.a=e}function Oe(n,e){this.f=n,this.g=e}function Yp(n,e){this.e=n,this.d=e}function bd(n,e){this.g=n,this.i=e}function tO(n,e){this.a=n,this.b=e}function J8n(n,e){this.a=n,this.f=e}function Y8n(n,e){this.b=n,this.c=e}function Yie(n,e){this.a=n,this.b=e}function Z8n(n,e){this.a=n,this.b=e}function iO(n,e){this.a=n,this.b=e}function n7n(n){Bz(n.dc()),this.c=n}function Ej(n){this.b=u(pe(n),83)}function e7n(n){this.a=u(pe(n),83)}function _0(n){this.a=u(pe(n),15)}function t7n(n){this.a=u(pe(n),15)}function Cj(n){this.b=u(pe(n),47)}function Tj(){this.q=new j.Date}function Zf(){Zf=N,Sin=new tln}function Zp(){Zp=N,X4=new nln}function Xv(n){return n.f.c+n.g.c}function _9(n,e){return n.b.Hc(e)}function i7n(n,e){return n.b.Ic(e)}function r7n(n,e){return n.b.Qc(e)}function c7n(n,e){return n.b.Hc(e)}function u7n(n,e){return n.c.uc(e)}function Ah(n,e){return n.a._b(e)}function s7n(n,e){return tt(n.c,e)}function o7n(n,e){return zu(n.b,e)}function f7n(n,e){return n>e&&e0}function cO(n,e){return fc(n,e)<0}function n5(n,e){return n.a.get(e)}function lre(n,e){return e.split(n)}function S7n(n,e){return zu(n.e,e)}function LG(n){return _n(n),!1}function xj(n){xn.call(this,n,21)}function are(n,e){cMn.call(this,n,e)}function Lj(n,e){Oe.call(this,n,e)}function uO(n,e){Oe.call(this,n,e)}function NG(n){_D(),uEn.call(this,n)}function BG(n,e){fCn(n,n.length,e)}function z9(n,e){BCn(n,n.length,e)}function dre(n,e,t){e.ud(n.a.Ge(t))}function bre(n,e,t){e.we(n.a.Fe(t))}function wre(n,e,t){e.td(n.a.Kb(t))}function gre(n,e,t){n.Mb(t)&&e.td(t)}function e5(n,e,t){n.splice(e,0,t)}function pre(n,e){return au(n.e,e)}function Nj(n,e){this.d=n,this.e=e}function P7n(n,e){this.b=n,this.a=e}function I7n(n,e){this.b=n,this.a=e}function RG(n,e){this.b=n,this.a=e}function O7n(n,e){this.a=n,this.b=e}function D7n(n,e){this.a=n,this.b=e}function $7n(n,e){this.a=n,this.b=e}function F7n(n,e){this.a=n,this.b=e}function f2(n,e){this.a=n,this.b=e}function _G(n,e){this.b=n,this.a=e}function KG(n,e){this.b=n,this.a=e}function Bj(n,e){Oe.call(this,n,e)}function Rj(n,e){Oe.call(this,n,e)}function HG(n,e){Oe.call(this,n,e)}function qG(n,e){Oe.call(this,n,e)}function kw(n,e){Oe.call(this,n,e)}function sO(n,e){Oe.call(this,n,e)}function oO(n,e){Oe.call(this,n,e)}function fO(n,e){Oe.call(this,n,e)}function _j(n,e){Oe.call(this,n,e)}function GG(n,e){Oe.call(this,n,e)}function hO(n,e){Oe.call(this,n,e)}function U9(n,e){Oe.call(this,n,e)}function Kj(n,e){Oe.call(this,n,e)}function lO(n,e){Oe.call(this,n,e)}function t5(n,e){Oe.call(this,n,e)}function zG(n,e){Oe.call(this,n,e)}function zt(n,e){Oe.call(this,n,e)}function Hj(n,e){Oe.call(this,n,e)}function x7n(n,e){this.a=n,this.b=e}function L7n(n,e){this.a=n,this.b=e}function N7n(n,e){this.a=n,this.b=e}function B7n(n,e){this.a=n,this.b=e}function R7n(n,e){this.a=n,this.b=e}function _7n(n,e){this.a=n,this.b=e}function K7n(n,e){this.a=n,this.b=e}function H7n(n,e){this.a=n,this.b=e}function q7n(n,e){this.a=n,this.b=e}function UG(n,e){this.b=n,this.a=e}function G7n(n,e){this.b=n,this.a=e}function z7n(n,e){this.b=n,this.a=e}function U7n(n,e){this.b=n,this.a=e}function t3(n,e){this.c=n,this.d=e}function W7n(n,e){this.e=n,this.d=e}function X7n(n,e){this.a=n,this.b=e}function V7n(n,e){this.b=e,this.c=n}function qj(n,e){Oe.call(this,n,e)}function W9(n,e){Oe.call(this,n,e)}function aO(n,e){Oe.call(this,n,e)}function i5(n,e){Oe.call(this,n,e)}function WG(n,e){Oe.call(this,n,e)}function dO(n,e){Oe.call(this,n,e)}function bO(n,e){Oe.call(this,n,e)}function X9(n,e){Oe.call(this,n,e)}function XG(n,e){Oe.call(this,n,e)}function wO(n,e){Oe.call(this,n,e)}function r5(n,e){Oe.call(this,n,e)}function VG(n,e){Oe.call(this,n,e)}function c5(n,e){Oe.call(this,n,e)}function u5(n,e){Oe.call(this,n,e)}function H0(n,e){Oe.call(this,n,e)}function gO(n,e){Oe.call(this,n,e)}function pO(n,e){Oe.call(this,n,e)}function QG(n,e){Oe.call(this,n,e)}function s5(n,e){Oe.call(this,n,e)}function vO(n,e){Oe.call(this,n,e)}function Gj(n,e){Oe.call(this,n,e)}function V9(n,e){Oe.call(this,n,e)}function Q9(n,e){Oe.call(this,n,e)}function h2(n,e){Oe.call(this,n,e)}function mO(n,e){Oe.call(this,n,e)}function JG(n,e){Oe.call(this,n,e)}function kO(n,e){Oe.call(this,n,e)}function yO(n,e){Oe.call(this,n,e)}function YG(n,e){Oe.call(this,n,e)}function jO(n,e){Oe.call(this,n,e)}function EO(n,e){Oe.call(this,n,e)}function CO(n,e){Oe.call(this,n,e)}function TO(n,e){Oe.call(this,n,e)}function ZG(n,e){Oe.call(this,n,e)}function Q7n(n,e){this.b=n,this.a=e}function J7n(n,e){this.a=n,this.b=e}function Y7n(n,e){this.a=n,this.b=e}function Z7n(n,e){this.a=n,this.b=e}function nkn(n,e){this.a=n,this.b=e}function nz(n,e){Oe.call(this,n,e)}function ez(n,e){Oe.call(this,n,e)}function ekn(n,e){this.b=n,this.d=e}function tz(n,e){Oe.call(this,n,e)}function iz(n,e){Oe.call(this,n,e)}function tkn(n,e){this.a=n,this.b=e}function ikn(n,e){this.a=n,this.b=e}function zj(n,e){Oe.call(this,n,e)}function o5(n,e){Oe.call(this,n,e)}function rz(n,e){Oe.call(this,n,e)}function cz(n,e){Oe.call(this,n,e)}function uz(n,e){Oe.call(this,n,e)}function MO(n,e){Oe.call(this,n,e)}function sz(n,e){Oe.call(this,n,e)}function AO(n,e){Oe.call(this,n,e)}function Uj(n,e){Oe.call(this,n,e)}function SO(n,e){Oe.call(this,n,e)}function PO(n,e){Oe.call(this,n,e)}function J9(n,e){Oe.call(this,n,e)}function IO(n,e){Oe.call(this,n,e)}function oz(n,e){Oe.call(this,n,e)}function Y9(n,e){Oe.call(this,n,e)}function fz(n,e){Oe.call(this,n,e)}function vre(n,e){return au(n.c,e)}function mre(n,e){return au(e.b,n)}function kre(n,e){return-n.b.Je(e)}function hz(n,e){return au(n.g,e)}function Z9(n,e){Oe.call(this,n,e)}function l2(n,e){Oe.call(this,n,e)}function rkn(n,e){this.a=n,this.b=e}function ckn(n,e){this.a=n,this.b=e}function fn(n,e){this.a=n,this.b=e}function f5(n,e){Oe.call(this,n,e)}function h5(n,e){Oe.call(this,n,e)}function n8(n,e){Oe.call(this,n,e)}function OO(n,e){Oe.call(this,n,e)}function Wj(n,e){Oe.call(this,n,e)}function l5(n,e){Oe.call(this,n,e)}function DO(n,e){Oe.call(this,n,e)}function Xj(n,e){Oe.call(this,n,e)}function yw(n,e){Oe.call(this,n,e)}function e8(n,e){Oe.call(this,n,e)}function a5(n,e){Oe.call(this,n,e)}function d5(n,e){Oe.call(this,n,e)}function t8(n,e){Oe.call(this,n,e)}function Vj(n,e){Oe.call(this,n,e)}function jw(n,e){Oe.call(this,n,e)}function Qj(n,e){Oe.call(this,n,e)}function ukn(n,e){this.a=n,this.b=e}function skn(n,e){this.a=n,this.b=e}function okn(n,e){this.a=n,this.b=e}function fkn(n,e){this.a=n,this.b=e}function hkn(n,e){this.a=n,this.b=e}function lkn(n,e){this.a=n,this.b=e}function Pi(n,e){this.a=n,this.b=e}function Jj(n,e){Oe.call(this,n,e)}function akn(n,e){this.a=n,this.b=e}function dkn(n,e){this.a=n,this.b=e}function bkn(n,e){this.a=n,this.b=e}function wkn(n,e){this.a=n,this.b=e}function gkn(n,e){this.a=n,this.b=e}function pkn(n,e){this.a=n,this.b=e}function vkn(n,e){this.b=n,this.a=e}function mkn(n,e){this.b=n,this.a=e}function kkn(n,e){this.b=n,this.a=e}function ykn(n,e){this.b=n,this.a=e}function jkn(n,e){this.a=n,this.b=e}function Ekn(n,e){this.a=n,this.b=e}function yre(n,e){J9e(n.a,u(e,56))}function Ckn(n,e){f0e(n.a,u(e,11))}function jre(n,e){return h3(),e!=n}function Tkn(){return Q9n(),new Szn}function Mkn(){c$(),this.b=new fi}function Akn(){hM(),this.a=new fi}function Skn(){tX(),lW.call(this)}function a2(n,e){Oe.call(this,n,e)}function Pkn(n,e){this.a=n,this.b=e}function Ikn(n,e){this.a=n,this.b=e}function Yj(n,e){this.a=n,this.b=e}function Okn(n,e){this.a=n,this.b=e}function Dkn(n,e){this.a=n,this.b=e}function $kn(n,e){this.a=n,this.b=e}function Fkn(n,e){this.d=n,this.b=e}function lz(n,e){this.d=n,this.e=e}function xkn(n,e){this.f=n,this.c=e}function i8(n,e){this.b=n,this.c=e}function az(n,e){this.i=n,this.g=e}function Lkn(n,e){this.e=n,this.a=e}function Nkn(n,e){this.a=n,this.b=e}function dz(n,e){n.i=null,nT(n,e)}function Ere(n,e){n&&it($y,n,e)}function Bkn(n,e){return NF(n.a,e)}function Zj(n){return g7(n.c,n.b)}function Vr(n){return n?n.dd():null}function B(n){return n??null}function q0(n){return typeof n===X2}function G0(n){return typeof n===UZ}function mi(n){return typeof n===EL}function el(n,e){return n.Hd().Xb(e)}function nE(n,e){return Rbe(n.Kc(),e)}function gd(n,e){return fc(n,e)==0}function Cre(n,e){return fc(n,e)>=0}function b5(n,e){return fc(n,e)!=0}function Tre(n){return""+(_n(n),n)}function r8(n,e){return n.substr(e)}function Rkn(n){return $u(n),n.d.gc()}function $O(n){return yme(n,n.c),n}function eE(n){return A5(n==null),n}function w5(n,e){return n.a+=""+e,n}function dr(n,e){return n.a+=""+e,n}function g5(n,e){return n.a+=""+e,n}function rc(n,e){return n.a+=""+e,n}function De(n,e){return n.a+=""+e,n}function bz(n,e){return n.a+=""+e,n}function _kn(n,e){Kt(n,e,n.a,n.a.a)}function ua(n,e){Kt(n,e,n.c.b,n.c)}function Mre(n,e,t){VFn(e,Mx(n,t))}function Are(n,e,t){VFn(e,Mx(n,t))}function Sre(n,e){k0e(new ie(n),e)}function Kkn(n,e){n.q.setTime($d(e))}function Hkn(n,e){kW.call(this,n,e)}function qkn(n,e){kW.call(this,n,e)}function FO(n,e){kW.call(this,n,e)}function Gkn(n){Eu(this),Z5(this,n)}function wz(n){return Ln(n,0),null}function Lo(n){return n.a=0,n.b=0,n}function zkn(n,e){return n.a=e.g+1,n}function Pre(n,e){return n.j[e.p]==2}function gz(n){return lhe(u(n,79))}function Ukn(){Ukn=N,jUn=Fe(qF())}function Wkn(){Wkn=N,RWn=Fe(PNn())}function Xkn(){this.b=new s2(sb(12))}function Vkn(){this.b=0,this.a=!1}function Qkn(){this.b=0,this.a=!1}function p5(n){this.a=n,TI.call(this)}function Jkn(n){this.a=n,TI.call(this)}function In(n,e){ii.call(this,n,e)}function xO(n,e){V0.call(this,n,e)}function Ew(n,e){az.call(this,n,e)}function LO(n,e){H3.call(this,n,e)}function Ykn(n,e){c8.call(this,n,e)}function He(n,e){$j(),it(eI,n,e)}function NO(n,e){return Yu(n.a,0,e)}function Zkn(n,e){return n.a.a.a.cc(e)}function nyn(n,e){return B(n)===B(e)}function Ire(n,e){return Zt(n.a,e.a)}function Ore(n,e){return Uc(n.a,e.a)}function Dre(n,e){return xCn(n.a,e.a)}function Pf(n,e){return n.indexOf(e)}function pd(n,e){return n==e?0:n?1:-1}function tE(n){return n<10?"0"+n:""+n}function $re(n){return pe(n),new p5(n)}function eyn(n){return Bc(n.l,n.m,n.h)}function i3(n){return Gt((_n(n),n))}function Fre(n){return Gt((_n(n),n))}function tyn(n,e){return Uc(n.g,e.g)}function $r(n){return typeof n===UZ}function xre(n){return n==b0||n==Hb}function Lre(n){return n==b0||n==Kb}function pz(n){return Fr(n.b.b,n,0)}function iyn(n){this.a=Tkn(),this.b=n}function ryn(n){this.a=Tkn(),this.b=n}function Nre(n,e){return W(n.a,e),e}function Bre(n,e){return W(n.c,e),n}function cyn(n,e){return rs(n.a,e),n}function Rre(n,e){return wo(),e.a+=n}function _re(n,e){return wo(),e.a+=n}function Kre(n,e){return wo(),e.c+=n}function vz(n,e){S3(n,0,n.length,e)}function Sh(){Tq.call(this,new ba)}function uyn(){xE.call(this,0,0,0,0)}function d2(){ys.call(this,0,0,0,0)}function mr(n){this.a=n.a,this.b=n.b}function tl(n){return n==Zs||n==Ao}function r3(n){return n==Yh||n==Jh}function syn(n){return n==xg||n==Fg}function Cw(n){return n!=jf&&n!=ql}function Hu(n){return n.Lg()&&n.Mg()}function oyn(n){return JE(u(n,118))}function iE(n){return rs(new hi,n)}function fyn(n,e){return new H3(e,n)}function Hre(n,e){return new H3(e,n)}function mz(n,e,t){UC(n,e),WC(n,t)}function rE(n,e,t){Rd(n,e),Bd(n,t)}function Jo(n,e,t){Zc(n,e),nu(n,t)}function cE(n,e,t){D3(n,e),F3(n,t)}function uE(n,e,t){$3(n,e),x3(n,t)}function BO(n,e){X3(n,e),L3(n,n.D)}function kz(n){xkn.call(this,n,!0)}function hyn(n,e,t){fU.call(this,n,e,t)}function il(n){jl(),qbe.call(this,n)}function lyn(){Lj.call(this,"Head",1)}function ayn(){Lj.call(this,"Tail",3)}function RO(n){n.c=F(Zn,rn,1,0,5,1)}function dyn(n){n.a=F(Zn,rn,1,8,5,1)}function byn(n){Yc(n.xf(),new t5n(n))}function Tw(n){return n!=null?mt(n):0}function qre(n,e){return ob(e,nf(n))}function Gre(n,e){return ob(e,nf(n))}function zre(n,e){return n[n.length]=e}function Ure(n,e){return n[n.length]=e}function yz(n){return zoe(n.b.Kc(),n.a)}function Wre(n,e){return ZC(BD(n.d),e)}function Xre(n,e){return ZC(BD(n.g),e)}function Vre(n,e){return ZC(BD(n.j),e)}function tr(n,e){ii.call(this,n.b,e)}function vd(n){xE.call(this,n,n,n,n)}function jz(n){return n.b&&uL(n),n.a}function Ez(n){return n.b&&uL(n),n.c}function Qre(n,e){pf||(n.b=e)}function _O(n,e,t){return Mt(n,e,t),t}function wyn(n,e,t){Mt(n.c[e.g],e.g,t)}function Jre(n,e,t){u(n.c,69).Xh(e,t)}function Yre(n,e,t){Jo(t,t.i+n,t.j+e)}function Zre(n,e){me(bc(n.a),PMn(e))}function nce(n,e){me(Ou(n.a),IMn(e))}function v5(n){Je(),cd.call(this,n)}function ece(n){return n==null?0:mt(n)}function gyn(){gyn=N,hK=new f6(cH)}function je(){je=N,new pyn,new X}function pyn(){new we,new we,new we}function Cz(){Cz=N,Hq(),bin=new we}function Yo(){Yo=N,j.Math.log(2)}function ms(){ms=N,Eh=(E7n(),Dne)}function tce(){throw T(new t1(izn))}function ice(){throw T(new t1(izn))}function rce(){throw T(new t1(rzn))}function cce(){throw T(new t1(rzn))}function vyn(n){this.a=n,HU.call(this,n)}function KO(n){this.a=n,Ej.call(this,n)}function HO(n){this.a=n,Ej.call(this,n)}function bi(n,e){mD(n.c,n.c.length,e)}function Kr(n){return n.ae?1:0}function kyn(n,e){return fc(n,e)>0?n:e}function Bc(n,e,t){return{l:n,m:e,h:t}}function uce(n,e){n.a!=null&&Ckn(e,n.a)}function yyn(n){n.a=new aI,n.c=new aI}function sE(n){this.b=n,this.a=new X}function jyn(n){this.b=new san,this.a=n}function Mz(n){vU.call(this),this.a=n}function Eyn(){Lj.call(this,"Range",2)}function Cyn(){kJ(),this.a=new B7(Hrn)}function sce(n,e){pe(e),Iw(n).Jc(new ps)}function oce(n,e){return Zu(),e.n.b+=n}function fce(n,e,t){return it(n.g,t,e)}function hce(n,e,t){return it(n.k,t,e)}function lce(n,e){return it(n.a,e.a,e)}function Mw(n,e,t){return _Q(e,t,n.c)}function Az(n){return new fn(n.c,n.d)}function ace(n){return new fn(n.c,n.d)}function Qr(n){return new fn(n.a,n.b)}function Tyn(n,e){return xEe(n.a,e,null)}function dce(n){Hi(n,null),Ei(n,null)}function Myn(n){s$(n,null),o$(n,null)}function Ayn(){c8.call(this,null,null)}function Syn(){wE.call(this,null,null)}function Sz(n){this.a=n,we.call(this)}function bce(n){this.b=(Pn(),new DI(n))}function oE(n){n.j=F(Ain,q,310,0,0,1)}function wce(n,e,t){n.c.Vc(e,u(t,133))}function gce(n,e,t){n.c.ji(e,u(t,133))}function Pyn(n,e){de(n),n.Gc(u(e,15))}function m5(n,e){return Jje(n.c,n.b,e)}function pce(n,e){return new Jyn(n.Kc(),e)}function qO(n,e){return gwe(n.Kc(),e)!=-1}function Pz(n,e){return n.a.Bc(e)!=null}function fE(n){return n.Ob()?n.Pb():null}function Iyn(n){return Hs(n,0,n.length)}function I(n,e){return n!=null&&WF(n,e)}function vce(n,e){n.q.setHours(e),S6(n,e)}function Oyn(n,e){n.c&&(ZU(e),iMn(e))}function mce(n,e,t){u(n.Kb(t),164).Nb(e)}function kce(n,e,t){return SEe(n,e,t),t}function Dyn(n,e,t){n.a=e^1502,n.b=t^tN}function GO(n,e,t){return n.a[e.g][t.g]}function Zo(n,e){return n.a[e.c.p][e.p]}function yce(n,e){return n.e[e.c.p][e.p]}function jce(n,e){return n.c[e.c.p][e.p]}function Ece(n,e){return n.j[e.p]=D9e(e)}function Cce(n,e){return DX(n.f,e.tg())}function Tce(n,e){return DX(n.b,e.tg())}function Mce(n,e){return n.a0?e*e/n:e*e*100}function Jce(n,e){return n>0?e/(n*n):e*100}function Yce(n,e,t){return W(e,e$n(n,t))}function Zce(n,e,t){DC(),n.Xe(e)&&t.td(n)}function s3(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function U0(n,e,t){return n.a+=e,n.b+=t,n}function nue(n,e,t){return n.a*=e,n.b*=t,n}function o8(n,e,t){return n.a-=e,n.b-=t,n}function Zz(n,e){return n.a=e.a,n.b=e.b,n}function vE(n){return n.a=-n.a,n.b=-n.b,n}function fjn(n){this.c=n,this.a=1,this.b=1}function hjn(n){this.c=n,Zc(n,0),nu(n,0)}function ljn(n){Ct.call(this),V5(this,n)}function ajn(n){yL(),Nmn(this),this.mf(n)}function djn(n,e){Zv(),c8.call(this,n,e)}function nU(n,e){c1(),wE.call(this,n,e)}function bjn(n,e){c1(),wE.call(this,n,e)}function wjn(n,e){c1(),nU.call(this,n,e)}function qu(n,e,t){Wu.call(this,n,e,t,2)}function JO(n,e){ms(),FE.call(this,n,e)}function gjn(n,e){ms(),JO.call(this,n,e)}function eU(n,e){ms(),JO.call(this,n,e)}function pjn(n,e){ms(),eU.call(this,n,e)}function tU(n,e){ms(),FE.call(this,n,e)}function vjn(n,e){ms(),tU.call(this,n,e)}function mjn(n,e){ms(),FE.call(this,n,e)}function eue(n,e){return n.c.Fc(u(e,133))}function iU(n,e,t){return jM(G8(n,e),t)}function tue(n,e,t){return e.Qk(n.e,n.c,t)}function iue(n,e,t){return e.Rk(n.e,n.c,t)}function YO(n,e){return pl(n.e,u(e,49))}function rue(n,e,t){s6(Ou(n.a),e,IMn(t))}function cue(n,e,t){s6(bc(n.a),e,PMn(t))}function rU(n,e){e.$modCount=n.$modCount}function C5(){C5=N,Xm=new kt("root")}function o3(){o3=N,xy=new w9n,new g9n}function kjn(){this.a=new Od,this.b=new Od}function cU(){RIn.call(this),this.Bb|=Yi}function yjn(){Oe.call(this,"GROW_TREE",0)}function uue(n){return n==null?null:CCe(n)}function sue(n){return n==null?null:D5e(n)}function oue(n){return n==null?null:Lr(n)}function fue(n){return n==null?null:Lr(n)}function Ph(n){n.o==null&&u9e(n)}function sn(n){return A5(n==null||q0(n)),n}function Y(n){return A5(n==null||G0(n)),n}function Te(n){return A5(n==null||mi(n)),n}function uU(n){this.q=new j.Date($d(n))}function f8(n,e){this.c=n,Yp.call(this,n,e)}function mE(n,e){this.a=n,f8.call(this,n,e)}function hue(n,e){this.d=n,Ovn(this),this.b=e}function sU(n,e){P$.call(this,n),this.a=e}function oU(n,e){P$.call(this,n),this.a=e}function lue(n){xQ.call(this,0,0),this.f=n}function fU(n,e,t){IC.call(this,n,e,t,null)}function jjn(n,e,t){IC.call(this,n,e,t,null)}function aue(n,e,t){return n.ue(e,t)<=0?t:e}function due(n,e,t){return n.ue(e,t)<=0?e:t}function bue(n,e){return u(xd(n.b,e),149)}function wue(n,e){return u(xd(n.c,e),229)}function ZO(n){return u(un(n.a,n.b),287)}function Ejn(n){return new fn(n.c,n.d+n.a)}function Cjn(n){return Zu(),syn(u(n,197))}function W0(){W0=N,prn=Cn((Vu(),id))}function gue(n,e){e.a?e7e(n,e):zO(n.a,e.b)}function Tjn(n,e){pf||W(n.a,e)}function pue(n,e){return H9(),K3(e.d.i,n)}function vue(n,e){return x2(),new ABn(e,n)}function Of(n,e){return T8(e,ann),n.f=e,n}function hU(n,e,t){return t=ss(n,e,3,t),t}function lU(n,e,t){return t=ss(n,e,6,t),t}function aU(n,e,t){return t=ss(n,e,9,t),t}function h8(n,e,t){++n.j,n.Ki(),A$(n,e,t)}function Mjn(n,e,t){++n.j,n.Hi(e,n.oi(e,t))}function Ajn(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function Sjn(n,e,t){return MZ(n.c,n.b,e,t)}function dU(n,e){return(e&nt)%n.d.length}function ii(n,e){kt.call(this,n),this.a=e}function bU(n,e){xq.call(this,n),this.a=e}function nD(n,e){xq.call(this,n),this.a=e}function Pjn(n,e){this.c=n,Ld.call(this,e)}function Ijn(n,e){this.a=n,Omn.call(this,e)}function l8(n,e){this.a=n,Omn.call(this,e)}function Ojn(n){this.a=(is(n,Pb),new Pc(n))}function Djn(n){this.a=(is(n,Pb),new Pc(n))}function a8(n){return!n.a&&(n.a=new Rr),n.a}function $jn(n){return n>8?0:n+1}function mue(n,e){return qn(),n==e?0:n?1:-1}function wU(n,e,t){return m2(n,u(e,22),t)}function kue(n,e,t){return n.apply(e,t)}function Fjn(n,e,t){return n.a+=Hs(e,0,t),n}function gU(n,e){var t;return t=n.e,n.e=e,t}function yue(n,e){var t;t=n[eN],t.call(n,e)}function jue(n,e){var t;t=n[eN],t.call(n,e)}function X0(n,e){n.a.Vc(n.b,e),++n.b,n.c=-1}function xjn(n){Eu(n.e),n.d.b=n.d,n.d.a=n.d}function d8(n){n.b?d8(n.b):n.f.c.zc(n.e,n.d)}function Eue(n,e,t){ca(),Svn(n,e.Ce(n.a,t))}function Cue(n,e){return nO(p$n(n.a,e,!0))}function Tue(n,e){return nO(v$n(n.a,e,!0))}function bo(n,e){return pj(new Array(e),n)}function eD(n){return String.fromCharCode(n)}function Mue(n){return n==null?null:n.message}function Ljn(){this.a=new X,this.b=new X}function Njn(){this.a=new LH,this.b=new Umn}function Bjn(){this.b=new Li,this.c=new X}function pU(){this.d=new Li,this.e=new Li}function vU(){this.n=new Li,this.o=new Li}function kE(){this.n=new i2,this.i=new d2}function Rjn(){this.a=new v4n,this.b=new cwn}function _jn(){this.a=new X,this.d=new X}function Kjn(){this.b=new fi,this.a=new fi}function Hjn(){this.b=new we,this.a=new we}function qjn(){this.b=new E8n,this.a=new sgn}function Gjn(){kE.call(this),this.a=new Li}function T5(n){Jbe.call(this,n,(FC(),vR))}function mU(n,e,t,i){xE.call(this,n,e,t,i)}function Aue(n,e,t){t!=null&&JC(e,rx(n,t))}function Sue(n,e,t){t!=null&&YC(e,rx(n,t))}function kU(n,e,t){return t=ss(n,e,11,t),t}function st(n,e){return n.a+=e.a,n.b+=e.b,n}function ki(n,e){return n.a-=e.a,n.b-=e.b,n}function Pue(n,e){return n.n.a=(_n(e),e+10)}function Iue(n,e){return n.n.a=(_n(e),e+10)}function Oue(n,e){return e==n||o4(sM(e),n)}function zjn(n,e){return it(n.a,e,"")==null}function Due(n,e){return H9(),!K3(e.d.i,n)}function $ue(n,e){tl(n.f)?Qme(n,e):Fve(n,e)}function Fue(n,e){var t;return t=e.Hh(n.a),t}function V0(n,e){vr.call(this,rm+n+Ra+e)}function g2(n,e,t,i){V.call(this,n,e,t,i)}function yU(n,e,t,i){V.call(this,n,e,t,i)}function Ujn(n,e,t,i){yU.call(this,n,e,t,i)}function Wjn(n,e,t,i){zE.call(this,n,e,t,i)}function tD(n,e,t,i){zE.call(this,n,e,t,i)}function jU(n,e,t,i){zE.call(this,n,e,t,i)}function Xjn(n,e,t,i){tD.call(this,n,e,t,i)}function EU(n,e,t,i){tD.call(this,n,e,t,i)}function Fn(n,e,t,i){jU.call(this,n,e,t,i)}function Vjn(n,e,t,i){EU.call(this,n,e,t,i)}function Qjn(n,e,t,i){yW.call(this,n,e,t,i)}function Jjn(n,e,t){this.a=n,Vz.call(this,e,t)}function Yjn(n,e,t){this.c=e,this.b=t,this.a=n}function xue(n,e,t){return n.d=u(e.Kb(t),164)}function CU(n,e){return n.Aj().Nh().Kh(n,e)}function TU(n,e){return n.Aj().Nh().Ih(n,e)}function Zjn(n,e){return _n(n),B(n)===B(e)}function An(n,e){return _n(n),B(n)===B(e)}function iD(n,e){return nO(p$n(n.a,e,!1))}function rD(n,e){return nO(v$n(n.a,e,!1))}function Lue(n,e){return n.b.sd(new D7n(n,e))}function Nue(n,e){return n.b.sd(new $7n(n,e))}function nEn(n,e){return n.b.sd(new F7n(n,e))}function MU(n,e,t){return n.lastIndexOf(e,t)}function Bue(n,e,t){return Zt(n[e.b],n[t.b])}function Rue(n,e){return H(e,(nn(),Jk),n)}function _ue(n,e){return Uc(e.a.d.p,n.a.d.p)}function Kue(n,e){return Uc(n.a.d.p,e.a.d.p)}function Hue(n,e){return Zt(n.c-n.s,e.c-e.s)}function eEn(n){return n.c?Fr(n.c.a,n,0):-1}function que(n){return n<100?null:new Q1(n)}function p2(n){return n==td||n==jh||n==Ac}function tEn(n,e){return I(e,15)&&oBn(n.c,e)}function Gue(n,e){pf||e&&(n.d=e)}function cD(n,e){var t;return t=e,!!VV(n,t)}function AU(n,e){this.c=n,DD.call(this,n,e)}function iEn(n){this.c=n,FO.call(this,IM,0)}function rEn(n,e){Voe.call(this,n,n.length,e)}function zue(n,e,t){return u(n.c,69).lk(e,t)}function yE(n,e,t){return u(n.c,69).mk(e,t)}function Uue(n,e,t){return tue(n,u(e,332),t)}function SU(n,e,t){return iue(n,u(e,332),t)}function Wue(n,e,t){return txn(n,u(e,332),t)}function cEn(n,e,t){return zve(n,u(e,332),t)}function M5(n,e){return e==null?null:ab(n.b,e)}function PU(n){return G0(n)?(_n(n),n):n.ke()}function jE(n){return!isNaN(n)&&!isFinite(n)}function uEn(n){Df(),this.a=(Pn(),new Wp(n))}function b8(n){h3(),this.d=n,this.a=new gw}function ks(n,e,t){this.a=n,this.b=e,this.c=t}function sEn(n,e,t){this.a=n,this.b=e,this.c=t}function oEn(n,e,t){this.d=n,this.b=t,this.a=e}function uD(n){yyn(this),_s(this),Vi(this,n)}function du(n){RO(this),GU(this.c,0,n.Pc())}function fEn(n){Uu(n.a),uPn(n.c,n.b),n.b=null}function hEn(n){this.a=n,Zf(),eu(Date.now())}function lEn(){lEn=N,Xin=new ou,XA=new ou}function sD(){sD=N,Rin=new iln,Pzn=new rln}function aEn(){aEn=N,Nne=F(Zn,rn,1,0,5,1)}function dEn(){dEn=N,eee=F(Zn,rn,1,0,5,1)}function IU(){IU=N,tee=F(Zn,rn,1,0,5,1)}function Df(){Df=N,new Bq((Pn(),Pn(),cr))}function Xue(n){return FC(),$e((pPn(),Dzn),n)}function Vue(n){return hf(),$e((LSn(),Bzn),n)}function Que(n){return $T(),$e((qAn(),Gzn),n)}function Jue(n){return RC(),$e((GAn(),zzn),n)}function Yue(n){return dM(),$e((IOn(),Uzn),n)}function Zue(n){return _o(),$e(($Sn(),Vzn),n)}function nse(n){return Cu(),$e((FSn(),Jzn),n)}function ese(n){return Jc(),$e((xSn(),Zzn),n)}function tse(n){return SM(),$e((Ukn(),jUn),n)}function ise(n){return Hd(),$e((mPn(),CUn),n)}function rse(n){return K2(),$e((kPn(),MUn),n)}function cse(n){return d6(),$e((yPn(),PUn),n)}function use(n){return Aj(),$e((yAn(),IUn),n)}function sse(n){return _C(),$e((zAn(),WUn),n)}function ose(n){return W5(),$e((NSn(),bWn),n)}function fse(n){return Qi(),$e((JPn(),vWn),n)}function hse(n){return G3(),$e((vPn(),EWn),n)}function lse(n){return qd(),$e((BSn(),PWn),n)}function OU(n,e){if(!n)throw T(new Hn(e))}function ase(n){return Qn(),$e((vIn(),$Wn),n)}function DU(n){xE.call(this,n.d,n.c,n.a,n.b)}function oD(n){xE.call(this,n.d,n.c,n.a,n.b)}function $U(n,e,t){this.b=n,this.c=e,this.a=t}function EE(n,e,t){this.b=n,this.a=e,this.c=t}function bEn(n,e,t){this.a=n,this.b=e,this.c=t}function FU(n,e,t){this.a=n,this.b=e,this.c=t}function wEn(n,e,t){this.a=n,this.b=e,this.c=t}function xU(n,e,t){this.a=n,this.b=e,this.c=t}function gEn(n,e,t){this.b=n,this.a=e,this.c=t}function CE(n,e,t){this.e=e,this.b=n,this.d=t}function dse(n,e,t){return ca(),n.a.Od(e,t),e}function fD(n){var e;return e=new Dln,e.e=n,e}function LU(n){var e;return e=new Zmn,e.b=n,e}function w8(){w8=N,sS=new Fdn,oS=new xdn}function wo(){wo=N,WWn=new pbn,XWn=new vbn}function bse(n){return aT(),$e((EPn(),HWn),n)}function wse(n){return ff(),$e((TPn(),JWn),n)}function gse(n){return lM(),$e((mOn(),cXn),n)}function pse(n){return q2(),$e((yIn(),uXn),n)}function vse(n){return OC(),$e((JAn(),sXn),n)}function mse(n){return F2(),$e((RSn(),oXn),n)}function kse(n){return Vw(),$e((UPn(),ZWn),n)}function yse(n){return Kd(),$e((HSn(),rXn),n)}function jse(n){return VC(),$e((_Sn(),fXn),n)}function Ese(n){return Pa(),$e((GPn(),hXn),n)}function Cse(n){return V8(),$e((WAn(),lXn),n)}function Tse(n){return ya(),$e((KSn(),dXn),n)}function Mse(n){return eM(),$e((TIn(),bXn),n)}function Ase(n){return K8(),$e((XAn(),wXn),n)}function Sse(n){return A7(),$e((EIn(),gXn),n)}function Pse(n){return h4(),$e((jIn(),pXn),n)}function Ise(n){return or(),$e((zOn(),vXn),n)}function Ose(n){return q3(),$e((GSn(),mXn),n)}function Dse(n){return Nh(),$e((qSn(),yXn),n)}function $se(n){return kC(),$e((YAn(),jXn),n)}function Fse(n){return Ss(),$e((WPn(),EXn),n)}function xse(n){return JT(),$e((CIn(),BQn),n)}function Lse(n){return i6(),$e((zSn(),RQn),n)}function Nse(n){return wb(),$e((MPn(),_Qn),n)}function Bse(n){return ur(),$e((XSn(),UQn),n)}function Rse(n){return Zw(),$e((vOn(),HQn),n)}function _se(n){return Rh(),$e((WSn(),qQn),n)}function Kse(n){return z8(),$e((QAn(),GQn),n)}function Hse(n){return oT(),$e((USn(),WQn),n)}function qse(n){return b6(),$e((zPn(),KQn),n)}function Gse(n){return x8(),$e((VAn(),XQn),n)}function zse(n){return Q3(),$e((QSn(),VQn),n)}function Use(n){return uT(),$e((JSn(),QQn),n)}function Wse(n){return dT(),$e((VSn(),JQn),n)}function Xse(n){return _d(),$e((YSn(),hJn),n)}function Vse(n){return z5(),$e((nSn(),wJn),n)}function Qse(n){return Ff(),$e((eSn(),jJn),n)}function Jse(n){return ef(),$e((tSn(),CJn),n)}function Yse(n){return No(),$e((ZAn(),RJn),n)}function Zse(n){return Id(),$e((iSn(),UJn),n)}function noe(n){return c4(),$e((jPn(),WJn),n)}function eoe(n){return k6(),$e((MIn(),VJn),n)}function toe(n){return aC(),$e((uSn(),fYn),n)}function ioe(n){return iT(),$e((cSn(),wYn),n)}function roe(n){return gC(),$e((rSn(),hYn),n)}function coe(n){return CT(),$e((ZSn(),pYn),n)}function uoe(n){return $C(),$e((sSn(),vYn),n)}function soe(n){return f7(),$e((nPn(),mYn),n)}function ooe(n){return qT(),$e((CPn(),FYn),n)}function foe(n){return sT(),$e((tPn(),xYn),n)}function hoe(n){return ET(),$e((ePn(),LYn),n)}function loe(n){return g4(),$e((QPn(),tZn),n)}function aoe(n){return w7(),$e((iPn(),iZn),n)}function doe(n){return Pj(),$e((mAn(),rZn),n)}function boe(n){return Ij(),$e((vAn(),uZn),n)}function woe(n){return L8(),$e((fSn(),sZn),n)}function goe(n){return P7(),$e((XPn(),oZn),n)}function poe(n){return Jv(),$e((kAn(),CZn),n)}function voe(n){return c7(),$e((oSn(),TZn),n)}function moe(n){return Ho(),$e((VPn(),OZn),n)}function koe(n){return y1(),$e((kOn(),$Zn),n)}function yoe(n){return oh(),$e((kIn(),FZn),n)}function joe(n){return vb(),$e((mIn(),_Zn),n)}function Eoe(n){return rr(),$e((Wkn(),RWn),n)}function Coe(n){return B3(),$e((UAn(),BWn),n)}function Toe(n){return sr(),$e((YPn(),ene),n)}function Moe(n){return sf(),$e((cPn(),tne),n)}function Aoe(n){return Hh(),$e((PPn(),ine),n)}function Soe(n){return ZT(),$e((SIn(),rne),n)}function Poe(n){return _h(),$e((rPn(),une),n)}function Ioe(n){return cs(),$e((SPn(),one),n)}function Ooe(n){return jb(),$e((POn(),fne),n)}function Doe(n){return qw(),$e((ZPn(),hne),n)}function $oe(n){return Ti(),$e((bIn(),lne),n)}function Foe(n){return Tu(),$e((AIn(),ane),n)}function xoe(n){return Vu(),$e((OPn(),vne),n)}function Loe(n){return xu(),$e((UOn(),mne),n)}function Noe(n){return J(),$e((nIn(),dne),n)}function Boe(n){return AT(),$e((IPn(),kne),n)}function Roe(n){return Xu(),$e((APn(),Ene),n)}function _oe(n){return d4(),$e((yOn(),Lne),n)}function Koe(n,e){return _n(n),n+(_n(e),e)}function Hoe(n,e){return Zf(),me(R(n.a),e)}function qoe(n,e){return Zf(),me(R(n.a),e)}function hD(n,e){this.c=n,this.a=e,this.b=e-n}function pEn(n,e,t){this.a=n,this.b=e,this.c=t}function NU(n,e,t){this.a=n,this.b=e,this.c=t}function BU(n,e,t){this.a=n,this.b=e,this.c=t}function vEn(n,e,t){this.a=n,this.b=e,this.c=t}function mEn(n,e,t){this.a=n,this.b=e,this.c=t}function s1(n,e,t){this.e=n,this.a=e,this.c=t}function kEn(n,e,t){ms(),QW.call(this,n,e,t)}function lD(n,e,t){ms(),FW.call(this,n,e,t)}function RU(n,e,t){ms(),FW.call(this,n,e,t)}function _U(n,e,t){ms(),FW.call(this,n,e,t)}function yEn(n,e,t){ms(),lD.call(this,n,e,t)}function KU(n,e,t){ms(),lD.call(this,n,e,t)}function jEn(n,e,t){ms(),KU.call(this,n,e,t)}function EEn(n,e,t){ms(),RU.call(this,n,e,t)}function CEn(n,e,t){ms(),_U.call(this,n,e,t)}function g8(n,e){return pe(n),pe(e),new z8n(n,e)}function v2(n,e){return pe(n),pe(e),new NEn(n,e)}function Goe(n,e){return pe(n),pe(e),new BEn(n,e)}function zoe(n,e){return pe(n),pe(e),new W8n(n,e)}function u(n,e){return A5(n==null||WF(n,e)),n}function f3(n){var e;return e=new X,_$(e,n),e}function Uoe(n){var e;return e=new fi,_$(e,n),e}function TEn(n){var e;return e=new Wq,nF(e,n),e}function p8(n){var e;return e=new Ct,nF(e,n),e}function Woe(n){return!n.e&&(n.e=new X),n.e}function Xoe(n){return!n.c&&(n.c=new Bp),n.c}function W(n,e){return n.c[n.c.length]=e,!0}function MEn(n,e){this.c=n,this.b=e,this.a=!1}function HU(n){this.d=n,Ovn(this),this.b=_fe(n.d)}function AEn(){this.a=";,;",this.b="",this.c=""}function Voe(n,e,t){SCn.call(this,e,t),this.a=n}function SEn(n,e,t){this.b=n,Hkn.call(this,e,t)}function qU(n,e,t){this.c=n,Nj.call(this,e,t)}function GU(n,e,t){aY(t,0,n,e,t.length,!1)}function eh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function Qoe(n,e){e&&(n.b=e,n.a=(fl(e),e.a))}function zU(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function UU(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function WU(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function XU(n){return bl(the($r(n)?Ks(n):n))}function Joe(n,e){return Uc(GEn(n.d),GEn(e.d))}function Yoe(n,e){return e==(J(),Gn)?n.c:n.d}function h3(){h3=N,don=(J(),Gn),dP=Vn}function PEn(){this.b=K(Y(cn((Go(),xR))))}function IEn(n){return ca(),F(Zn,rn,1,n,5,1)}function Zoe(n){return new fn(n.c+n.b,n.d+n.a)}function nfe(n,e){return Sj(),Uc(n.d.p,e.d.p)}function aD(n){return ne(n.b!=0),Ts(n,n.a.a)}function efe(n){return ne(n.b!=0),Ts(n,n.c.b)}function VU(n,e){if(!n)throw T(new R9n(e))}function TE(n,e){if(!n)throw T(new Hn(e))}function QU(n,e,t){t3.call(this,n,e),this.b=t}function v8(n,e,t){lz.call(this,n,e),this.c=t}function OEn(n,e,t){oIn.call(this,e,t),this.d=n}function JU(n){IU(),Yy.call(this),this.th(n)}function DEn(n,e,t){this.a=n,Ew.call(this,e,t)}function $En(n,e,t){this.a=n,Ew.call(this,e,t)}function ME(n,e,t){lz.call(this,n,e),this.c=t}function FEn(){T3(),khe.call(this,(Z1(),uo))}function xEn(n){return n!=null&&!$F(n,a9,d9)}function tfe(n,e){return(GDn(n)<<4|GDn(e))&Ut}function ife(n,e){return QE(),ex(n,e),new oTn(n,e)}function sa(n,e){var t;n.n&&(t=e,W(n.f,t))}function l3(n,e,t){var i;i=new Z0(t),Ro(n,e,i)}function rfe(n,e){var t;return t=n.c,wV(n,e),t}function YU(n,e){return e<0?n.g=-1:n.g=e,n}function AE(n,e){return H0e(n),n.a*=e,n.b*=e,n}function LEn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function Ke(n,e){return Kt(n,e,n.c.b,n.c),!0}function ZU(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function dD(n){this.b=n,this.a=Ed(this.b.a).Ed()}function NEn(n,e){this.b=n,this.a=e,TI.call(this)}function BEn(n,e){this.a=n,this.b=e,TI.call(this)}function REn(n,e){SCn.call(this,e,1040),this.a=n}function m8(n){return n==0||isNaN(n)?n:n<0?-1:1}function cfe(n){return C2(),fh(n)==At(ml(n))}function ufe(n){return C2(),ml(n)==At(fh(n))}function jd(n,e){return v6(n,new t3(e.a,e.b))}function sfe(n){return!Xi(n)&&n.c.i.c==n.d.i.c}function SE(n){var e;return e=n.n,n.a.b+e.d+e.a}function _En(n){var e;return e=n.n,n.e.b+e.d+e.a}function nW(n){var e;return e=n.n,n.e.a+e.b+e.c}function KEn(n){return Je(),new th(0,n)}function ofe(n){return n.a?n.a:WD(n)}function A5(n){if(!n)throw T(new Up(null))}function HEn(){HEn=N,mH=(Pn(),new OI(XB))}function PE(){PE=N,new JQ((HI(),uR),(qI(),cR))}function qEn(){qEn=N,jin=F(Wi,q,19,256,0,1)}function bD(n,e,t,i){MQ.call(this,n,e,t,i,0,0)}function ffe(n,e,t){return it(n.b,u(t.b,17),e)}function hfe(n,e,t){return it(n.b,u(t.b,17),e)}function lfe(n,e){return W(n,new fn(e.a,e.b))}function afe(n,e){return n.c=e)throw T(new qq)}function Xfe(n,e,t){return Mt(e,0,rW(e[0],t[0])),e}function Vfe(n,e,t){e.Ye(t,K(Y(te(n.b,t)))*n.a)}function ACn(n,e,t){return eg(),R3(n,e)&&R3(n,t)}function D5(n){return Tu(),!n.Hc(n1)&&!n.Hc(Gl)}function qE(n){return new fn(n.c+n.b/2,n.d+n.a/2)}function MD(n,e){return e.kh()?pl(n.b,u(e,49)):e}function kW(n,e){this.e=n,this.d=e&64?e|Nf:e}function SCn(n,e){this.c=0,this.d=n,this.b=e|64|Nf}function GE(n){this.b=new Pc(11),this.a=(Ow(),n)}function AD(n){this.b=null,this.a=(Ow(),n||Lin)}function PCn(n){this.a=Y$n(n.a),this.b=new du(n.b)}function ICn(n){this.b=n,b2.call(this,n),$yn(this)}function OCn(n){this.b=n,u8.call(this,n),Fyn(this)}function Y0(n,e,t){this.a=n,g2.call(this,e,t,5,6)}function yW(n,e,t,i){this.b=n,Jt.call(this,e,t,i)}function wi(n,e,t,i,r){D$.call(this,n,e,t,i,r,-1)}function $5(n,e,t,i,r){R8.call(this,n,e,t,i,r,-1)}function V(n,e,t,i){Jt.call(this,n,e,t),this.b=i}function zE(n,e,t,i){v8.call(this,n,e,t),this.b=i}function DCn(n){xkn.call(this,n,!1),this.a=!1}function $Cn(n,e){this.b=n,bvn.call(this,n.b),this.a=e}function FCn(n,e){nb(),Yie.call(this,n,mT(new Ku(e)))}function UE(n,e){return Je(),new xW(n,e,0)}function SD(n,e){return Je(),new xW(6,n,e)}function Qfe(n,e){return An(n.substr(0,e.length),e)}function zu(n,e){return mi(e)?QD(n,e):!!Ar(n.f,e)}function Oi(n,e){for(_n(e);n.Ob();)e.td(n.Pb())}function Pw(n,e,t){jl(),this.e=n,this.d=e,this.a=t}function o1(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function jW(n){var e;for(e=n;e.f;)e=e.f;return e}function y2(n){var e;return e=t6(n),ne(e!=null),e}function Jfe(n){var e;return e=Lge(n),ne(e!=null),e}function d3(n,e){var t;return t=n.a.gc(),$X(e,t),t-e}function EW(n,e){var t;for(t=0;t0?j.Math.log(n/e):-100}function xCn(n,e){return fc(n,e)<0?-1:fc(n,e)>0?1:0}function SW(n,e,t){return MRn(n,u(e,46),u(t,167))}function LCn(n,e){return u(vW(Ed(n.a)).Xb(e),42).cd()}function uhe(n,e){return P0e(e,n.length),new REn(n,e)}function DD(n,e){this.d=n,ie.call(this,n),this.e=e}function Cd(n){this.d=(_n(n),n),this.a=0,this.c=IM}function PW(n,e){cd.call(this,1),this.a=n,this.b=e}function NCn(n,e){return n.c?NCn(n.c,e):W(n.b,e),n}function she(n,e,t){var i;return i=ub(n,e),g$(n,e,t),i}function IW(n,e){var t;return t=n.slice(0,e),WX(t,n)}function BCn(n,e,t){var i;for(i=0;i=n.g}function KD(n,e,t){var i;return i=Y$(n,e,t),rZ(n,i)}function j2(n,e){var t;t=n.a.length,ub(n,t),g$(n,t,e)}function ZCn(n,e){var t;t=console[n],t.call(console,e)}function nTn(n,e){var t;++n.j,t=n.Vi(),n.Ii(n.oi(t,e))}function mhe(n,e,t){u(e.b,65),Yc(e.a,new NU(n,t,e))}function FW(n,e,t){uj.call(this,e),this.a=n,this.b=t}function xW(n,e,t){cd.call(this,n),this.a=e,this.b=t}function LW(n,e,t){this.a=n,xq.call(this,e),this.b=t}function eTn(n,e,t){this.a=n,aX.call(this,8,e,null,t)}function khe(n){this.a=(_n(xe),xe),this.b=n,new tG}function tTn(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function NW(n){this.c=n,this.b=n.a.d.a,rU(n.a.e,this)}function Uu(n){z0(n.c!=-1),n.d.$c(n.c),n.b=n.c,n.c=-1}function L5(n){return j.Math.sqrt(n.a*n.a+n.b*n.b)}function Md(n,e){return a3(e,n.a.c.length),un(n.a,e)}function $f(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function yhe(n){return 0>=n?new PG:sbe(n-1)}function jhe(n){return aw?QD(aw,n):!1}function iTn(n){return n?n.dc():!n.Kc().Ob()}function Gi(n){return!n.a&&n.c?n.c.b:n.a}function Ehe(n){return!n.a&&(n.a=new Jt(zl,n,4)),n.a}function Ad(n){return!n.d&&(n.d=new Jt(ar,n,1)),n.d}function _n(n){if(n==null)throw T(new Nv);return n}function N5(n){n.c?n.c.He():(n.d=!0,S8e(n))}function fl(n){n.c?fl(n.c):(Ta(n),n.d=!0)}function rTn(n){KW(n.a),n.b=F(Zn,rn,1,n.b.length,5,1)}function Che(n,e){return Uc(e.j.c.length,n.j.c.length)}function The(n,e){n.c<0||n.b.b=0?n.Bh(t):bY(n,e)}function cTn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function Ahe(n){if(n.p!=4)throw T(new fu);return n.e}function She(n){if(n.p!=3)throw T(new fu);return n.e}function Phe(n){if(n.p!=6)throw T(new fu);return n.f}function Ihe(n){if(n.p!=6)throw T(new fu);return n.k}function Ohe(n){if(n.p!=3)throw T(new fu);return n.j}function Dhe(n){if(n.p!=4)throw T(new fu);return n.j}function BW(n){return!n.b&&(n.b=new sj(new KI)),n.b}function Sd(n){return n.c==-2&&Pte(n,Qve(n.g,n.b)),n.c}function g3(n,e){var t;return t=LD("",n),t.n=e,t.i=1,t}function $he(n,e){yD(u(e.b,65),n),Yc(e.a,new Aq(n))}function Fhe(n,e){me((!n.a&&(n.a=new l8(n,n)),n.a),e)}function uTn(n,e){this.b=n,DD.call(this,n,e),$yn(this)}function sTn(n,e){this.b=n,AU.call(this,n,e),Fyn(this)}function RW(n,e,t,i){bd.call(this,n,e),this.d=t,this.a=i}function VE(n,e,t,i){bd.call(this,n,t),this.a=e,this.f=i}function oTn(n,e){bce.call(this,obe(pe(n),pe(e))),this.a=e}function fTn(){UJ.call(this,Ka,(a8n(),hee)),tEe(this)}function hTn(){UJ.call(this,Vs,(Qp(),g1n)),lje(this)}function lTn(){Oe.call(this,"DELAUNAY_TRIANGULATION",0)}function xhe(n){return String.fromCharCode.apply(null,n)}function it(n,e,t){return mi(e)?kr(n,e,t):_c(n.f,e,t)}function _W(n){return Pn(),n?n.ve():(Ow(),Ow(),Bin)}function Lhe(n,e,t){return L2(),t.pg(n,u(e.cd(),146))}function aTn(n,e){return PE(),new JQ(new Wyn(n),new Uyn(e))}function Nhe(n){return is(n,AL),KC(qi(qi(5,n),n/10|0))}function QE(){QE=N,fzn=new GI(A(M(Ha,1),OM,42,0,[]))}function dTn(n){return!n.d&&(n.d=new _p(n.c.Cc())),n.d}function p3(n){return!n.a&&(n.a=new W9n(n.c.vc())),n.a}function bTn(n){return!n.b&&(n.b=new Wp(n.c.ec())),n.b}function rh(n,e){for(;e-- >0;)n=n<<1|(n<0?1:0);return n}function pc(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function Bhe(n,e){return qn(),u(e.b,19).ai&&++i,i}function Oh(n){var e,t;return t=(e=new ud,e),O3(t,n),t}function UD(n){var e,t;return t=(e=new ud,e),VJ(t,n),t}function Zhe(n,e){var t;return t=te(n.f,e),MV(e,t),null}function WD(n){var e;return e=hbe(n),e||null}function CTn(n){return!n.b&&(n.b=new V(di,n,12,3)),n.b}function n1e(n){return n!=null&&_9(tI,n.toLowerCase())}function e1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function t1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function i1e(n,e){return Zt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function r1e(n,e){return Zt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function TTn(n,e,t){t.a?nu(n,e.b-n.f/2):Zc(n,e.a-n.g/2)}function MTn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ATn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ha(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function STn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function PTn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function ITn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function OTn(n,e){this.a=n,hue.call(this,n,u(n.d,15).Zc(e))}function XD(n){this.f=n,this.c=this.f.e,n.f>0&&qFn(this)}function DTn(n,e,t,i){this.b=n,this.c=i,FO.call(this,e,t)}function $Tn(n){return ne(n.b=0&&An(n.substr(t,e.length),e)}function hl(n,e,t,i,r,c,o){return new v$(n.e,e,t,i,r,c,o)}function QTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function JTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function YTn(n,e){this.g=n,this.d=A(M(vh,1),E1,10,0,[e])}function f1(n,e){this.e=n,this.a=Zn,this.b=yBn(e),this.c=e}function ZTn(n,e){kE.call(this),eV(this),this.a=n,this.c=e}function M8(n,e,t,i){Mt(n.c[e.g],t.g,i),Mt(n.c[t.g],e.g,i)}function ZD(n,e,t,i){Mt(n.c[e.g],e.g,t),Mt(n.b[e.g],e.g,i)}function M1e(){return x8(),A(M(ron,1),z,376,0,[uK,iy])}function A1e(){return K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])}function S1e(){return V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])}function P1e(){return OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])}function I1e(){return kC(),A(M(fun,1),z,420,0,[j_,oun])}function O1e(){return z8(),A(M(non,1),z,421,0,[iK,rK])}function D1e(){return z5(),A(M(bJn,1),z,523,0,[Hm,Km])}function $1e(){return No(),A(M(BJn,1),z,520,0,[tw,Bl])}function F1e(){return Ff(),A(M(yJn,1),z,516,0,[M0,I1])}function x1e(){return ef(),A(M(EJn,1),z,515,0,[Ja,kf])}function L1e(){return Id(),A(M(zJn,1),z,455,0,[Rl,Lg])}function N1e(){return gC(),A(M(Son,1),z,425,0,[yK,Aon])}function B1e(){return aC(),A(M(Mon,1),z,480,0,[kK,Ton])}function R1e(){return iT(),A(M(Pon,1),z,495,0,[EP,mv])}function _1e(){return $C(),A(M(Oon,1),z,426,0,[Ion,TK])}function K1e(){return c7(),A(M(Ffn,1),z,429,0,[DP,$fn])}function H1e(){return L8(),A(M(afn,1),z,430,0,[FK,IP])}function q1e(){return $T(),A(M(Jin,1),z,428,0,[yR,Qin])}function G1e(){return RC(),A(M(Zin,1),z,427,0,[Yin,jR])}function z1e(){return _C(),A(M(Arn,1),z,424,0,[$R,tS])}function U1e(){return B3(),A(M(NWn,1),z,511,0,[_k,UR])}function sC(n,e,t,i){return t>=0?n.jh(e,t,i):n.Sg(null,t,i)}function n$(n){return n.b.b==0?n.a.$e():aD(n.b)}function W1e(n){if(n.p!=5)throw T(new fu);return ge(n.f)}function X1e(n){if(n.p!=5)throw T(new fu);return ge(n.k)}function VW(n){return B(n.a)===B((eF(),gH))&&Vje(n),n.a}function nMn(n){this.a=u(pe(n),271),this.b=(Pn(),new Hz(n))}function eMn(n,e){bte(this,new fn(n.a,n.b)),wte(this,p8(e))}function Id(){Id=N,Rl=new iz(Y2,0),Lg=new iz(Z2,1)}function Ff(){Ff=N,M0=new ez(Z2,0),I1=new ez(Y2,1)}function Od(){rie.call(this,new s2(sb(12))),Bz(!0),this.a=2}function e$(n,e,t){Je(),cd.call(this,n),this.b=e,this.a=t}function QW(n,e,t){ms(),uj.call(this,e),this.a=n,this.b=t}function tMn(n){kE.call(this),eV(this),this.a=n,this.c=!0}function iMn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function oC(n){var e;ebe(n.a),byn(n.a),e=new tj(n.a),TQ(e)}function V1e(n,e){aBn(n,!0),Yc(n.e.wf(),new $U(n,!0,e))}function fC(n,e){return LAn(e),Y0e(n,F(be,Le,25,e,15,1),e)}function Q1e(n,e){return C2(),n==At(fh(e))||n==At(ml(e))}function vc(n,e){return e==null?Vr(Ar(n.f,null)):n5(n.g,e)}function J1e(n){return n.b==0?null:(ne(n.b!=0),Ts(n,n.a.a))}function Gt(n){return Math.max(Math.min(n,nt),-2147483648)|0}function Y1e(n,e){var t=lR[n.charCodeAt(0)];return t??n}function hC(n,e){return tC(n,"set1"),tC(e,"set2"),new Z8n(n,e)}function Z1e(n,e){var t;return t=W0e(n.f,e),st(vE(t),n.f.d)}function R5(n,e){var t,i;return t=e,i=new dI,n_n(n,t,i),i.d}function t$(n,e,t,i){var r;r=new Gjn,e.a[t.g]=r,m2(n.b,i,r)}function JW(n,e,t){var i;i=n.Yg(e),i>=0?n.sh(i,t):_Y(n,e,t)}function Dw(n,e,t){dC(),n&&it(dH,n,e),n&&it($y,n,t)}function rMn(n,e,t){this.i=new X,this.b=n,this.g=e,this.a=t}function lC(n,e,t){this.c=new X,this.e=n,this.f=e,this.b=t}function YW(n,e,t){this.a=new X,this.e=n,this.f=e,this.c=t}function cMn(n,e){oE(this),this.f=e,this.g=n,eC(this),this._d()}function A8(n,e){var t;t=n.q.getHours(),n.q.setDate(e),S6(n,t)}function uMn(n,e){var t;for(pe(e),t=n.a;t;t=t.c)e.Od(t.g,t.i)}function sMn(n){var e;return e=new kj(sb(n.length)),qV(e,n),e}function nle(n){function e(){}return e.prototype=n||{},new e}function ele(n,e){return LOn(n,e)?(FIn(n),!0):!1}function Dh(n,e){if(e==null)throw T(new Nv);return Y2e(n,e)}function tle(n){if(n.qe())return null;var e=n.n;return RA[e]}function S8(n){return n.Db>>16!=3?null:u(n.Cb,33)}function nf(n){return n.Db>>16!=9?null:u(n.Cb,33)}function oMn(n){return n.Db>>16!=6?null:u(n.Cb,79)}function fMn(n){return n.Db>>16!=7?null:u(n.Cb,235)}function hMn(n){return n.Db>>16!=7?null:u(n.Cb,160)}function At(n){return n.Db>>16!=11?null:u(n.Cb,33)}function lMn(n,e){var t;return t=n.Yg(e),t>=0?n.lh(t):Ox(n,e)}function aMn(n,e){var t;return t=new iW(e),dxn(t,n),new du(t)}function ZW(n){var e;return e=n.d,e=n.si(n.f),me(n,e),e.Ob()}function dMn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function i$(n,e){return j.Math.abs(n)0}function bMn(){this.a=new Sh,this.e=new fi,this.g=0,this.i=0}function wMn(n){this.a=n,this.b=F(lJn,q,1944,n.e.length,0,2)}function r$(n,e,t){var i;i=tDn(n,e,t),n.b=new tT(i.c.length)}function ef(){ef=N,Ja=new nz(hN,0),kf=new nz("UP",1)}function aC(){aC=N,kK=new rz(PHn,0),Ton=new rz("FAN",1)}function dC(){dC=N,dH=new we,$y=new we,Ere(Azn,new z2n)}function rle(n){if(n.p!=0)throw T(new fu);return b5(n.f,0)}function cle(n){if(n.p!=0)throw T(new fu);return b5(n.k,0)}function gMn(n){return n.Db>>16!=3?null:u(n.Cb,147)}function y3(n){return n.Db>>16!=6?null:u(n.Cb,235)}function eb(n){return n.Db>>16!=17?null:u(n.Cb,26)}function pMn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.le(e))}function ule(n,e){var t;return t=n.a.get(e),t??new Array}function sle(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),S6(n,t)}function kr(n,e,t){return e==null?_c(n.f,null,t):Gd(n.g,e,t)}function _5(n,e,t,i,r,c){return new Lh(n.e,e,n.aj(),t,i,r,c)}function P8(n,e,t){return n.a=Yu(n.a,0,e)+(""+t)+r8(n.a,e),n}function ole(n,e,t){return W(n.a,(QE(),ex(e,t),new bd(e,t))),n}function nX(n){return _z(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function vMn(n){return _z(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function Ei(n,e){n.d&&Qc(n.d.e,n),n.d=e,n.d&&W(n.d.e,n)}function Hi(n,e){n.c&&Qc(n.c.g,n),n.c=e,n.c&&W(n.c.g,n)}function yr(n,e){n.c&&Qc(n.c.a,n),n.c=e,n.c&&W(n.c.a,n)}function Hr(n,e){n.i&&Qc(n.i.j,n),n.i=e,n.i&&W(n.i.j,n)}function mMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function kMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function yMn(n,e){this.a=n,this.c=Qr(this.a),this.b=new uC(e)}function fle(n){var e;return Ta(n),e=new fi,gt(n,new Vvn(e))}function tb(n,e){if(n<0||n>e)throw T(new vr(cnn+n+unn+e))}function eX(n,e){return lCn(n.a,e)?TW(n,u(e,22).g,null):null}function hle(n){return yF(),qn(),u(n.a,81).d.e!=0}function jMn(){jMn=N,azn=Fe((aj(),A(M(lzn,1),z,538,0,[fR])))}function EMn(){EMn=N,YQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function tX(){tX=N,ZQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function CMn(){CMn=N,eJn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function TMn(){TMn=N,gJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function Zu(){Zu=N,mJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function MMn(){MMn=N,kJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function c$(){c$=N,TJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function AMn(){AMn=N,lYn=ju(new hi,(c4(),Gm),(k6(),lK))}function aa(n,e,t,i){this.c=n,this.d=i,s$(this,e),o$(this,t)}function M2(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function u$(n){this.a=j.Math.cos(n),this.b=j.Math.sin(n)}function s$(n,e){n.a&&Qc(n.a.k,n),n.a=e,n.a&&W(n.a.k,n)}function o$(n,e){n.b&&Qc(n.b.f,n),n.b=e,n.b&&W(n.b.f,n)}function SMn(n,e){mhe(n,n.b,n.c),u(n.b.b,65),e&&u(e.b,65).b}function lle(n,e){vQ(n,e),I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),2)}function f$(n,e){I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),4),Ic(n,e)}function bC(n,e){I(n.Cb,179)&&(u(n.Cb,179).tb=null),Ic(n,e)}function mc(n,e){return er(),R$(e)?new IE(e,n):new i8(e,n)}function ale(n,e){var t,i;t=e.c,i=t!=null,i&&j2(n,new Z0(e.c))}function PMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function IMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function OMn(n,e){var t;return t=new Rs(n),e.c[e.c.length]=t,t}function DMn(n,e){var t;return t=u(ab(T2(n.a),e),14),t?t.gc():0}function $Mn(n){var e;return Ta(n),e=(Ow(),Ow(),Nin),qC(n,e)}function FMn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function iX(n,e){tie.call(this,new s2(sb(n))),is(e,W_n),this.a=e}function ch(n,e,t){KDn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function xMn(n,e,t){var i;KDn(e,t,n.c.length),i=t-e,AG(n.c,e,i)}function dle(n,e){Dyn(n,ge(ci(cl(e,24),FM)),ge(ci(e,FM)))}function Ln(n,e){if(n<0||n>=e)throw T(new vr(cnn+n+unn+e))}function Me(n,e){if(n<0||n>=e)throw T(new wG(cnn+n+unn+e))}function xn(n,e){this.b=(_n(n),n),this.a=e&Ib?e:e|64|Nf}function LMn(n){dyn(this),Wmn(this.a,KV(j.Math.max(8,n))<<1)}function tf(n){return Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a]))}function ble(){return hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])}function wle(){return _o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])}function gle(){return Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])}function ple(){return Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])}function vle(){return qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])}function mle(){return W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])}function kle(){return i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])}function yle(){return F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])}function jle(){return VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])}function Ele(){return ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])}function Cle(){return Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])}function Tle(){return Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])}function Mle(){return q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])}function Ale(){return ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])}function Sle(){return Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])}function Ple(){return oT(),A(M(ion,1),z,375,0,[eon,cK,ton])}function Ile(){return dT(),A(M(hon,1),z,377,0,[fK,pv,ew])}function Ole(){return Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])}function Dle(){return uT(),A(M(fon,1),z,338,0,[oon,oK,son])}function $le(){return _d(),A(M(fJn,1),z,454,0,[ry,_m,aP])}function Fle(){return CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])}function xle(){return f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])}function Lle(){return ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])}function Nle(){return sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])}function Ble(){return w7(),A(M(OK,1),z,437,0,[AP,SP,PP])}function Rle(){return _h(),A(M(Khn,1),z,334,0,[HP,F1,i9])}function _le(){return sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])}function Kle(n,e){return o9e(n,e,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Hle(n,e,t){var i;return i=O6(n,e,!1),i.b<=e&&i.a<=t}function NMn(n,e,t){var i;i=new Jwn,i.b=e,i.a=t,++e.b,W(n.d,i)}function qle(n,e){var t;return t=(_n(n),n).g,Yz(!!t),_n(e),t(e)}function rX(n,e){var t,i;return i=d3(n,e),t=n.a.Zc(i),new Y8n(n,t)}function Gle(n){return n.Db>>16!=6?null:u(Fx(n),235)}function zle(n){if(n.p!=2)throw T(new fu);return ge(n.f)&Ut}function Ule(n){if(n.p!=2)throw T(new fu);return ge(n.k)&Ut}function Wle(n){return n.a==(T3(),uI)&&Ste(n,C9e(n.g,n.b)),n.a}function A2(n){return n.d==(T3(),uI)&&Ite(n,pke(n.g,n.b)),n.d}function y(n){return ne(n.ai?1:0}function BMn(n,e){var t,i;return t=F$(e),i=t,u(te(n.c,i),19).a}function RMn(n,e){var t;for(t=n+"";t.length0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function rAn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function rae(n){return!!n.a&&Ou(n.a.a).i!=0&&!(n.b&&YF(n.b))}function cae(n){return!!n.u&&bc(n.u.a).i!=0&&!(n.n&&JF(n.n))}function cAn(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),16,new tvn(n))}function uae(n,e){return xCn(eu(n.q.getTime()),eu(e.q.getTime()))}function xf(n){return u(lf(n,F(GR,MN,17,n.c.length,0,1)),474)}function I8(n){return u(lf(n,F(vh,E1,10,n.c.length,0,1)),193)}function sae(n){return Zu(),!Xi(n)&&!(!Xi(n)&&n.c.i.c==n.d.i.c)}function uAn(n,e,t){var i;i=(pe(n),new du(n)),N3e(new mMn(i,e,t))}function O8(n,e,t){var i;i=(pe(n),new du(n)),B3e(new kMn(i,e,t))}function sAn(n,e){var t;return t=1-e,n.a[t]=eT(n.a[t],t),eT(n,e)}function oAn(n,e){var t;n.e=new oG,t=Cb(e),bi(t,n.c),eBn(n,t,0)}function Ci(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.a,r)}function Z(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.b,r)}function po(n){var e,t,i;return e=new HCn,t=Zx(e,n),UEe(e),i=t,i}function hX(){var n,e,t;return e=(t=(n=new ud,n),t),W(M1n,e),e}function pC(n){return n.j.c=F(Zn,rn,1,0,5,1),KW(n.c),Khe(n.a),n}function $w(n){return Qv(),I(n.g,10)?u(n.g,10):null}function oae(n){return Iw(n).dc()?!1:(sce(n,new Np),!0)}function fae(n){if(!("stack"in n))try{throw n}catch{}return n}function D8(n,e){if(n<0||n>=e)throw T(new vr(j6e(n,e)));return n}function fAn(n,e,t){if(n<0||et)throw T(new vr(W5e(n,e,t)))}function d$(n,e){if(ri(n.a,e),e.d)throw T(new _r(wKn));e.d=n}function b$(n,e){if(e.$modCount!=n.$modCount)throw T(new vs)}function hAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function lAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function aAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function hae(n,e){return n.a<=n.b?(e.ud(n.a++),!0):!1}function $d(n){var e;return $r(n)?(e=n,e==-0?0:e):m0e(n)}function vC(n){var e;return fl(n),e=new fln,vw(n.a,new Wvn(e)),e}function dAn(n){var e;return fl(n),e=new oln,vw(n.a,new Uvn(e)),e}function Ii(n,e){this.a=n,$v.call(this,n),tb(e,n.gc()),this.b=e}function lX(n){this.e=n,this.b=this.e.a.entries(),this.a=new Array}function lae(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),273,new evn(n))}function mC(n){return new Pc((is(n,AL),KC(qi(qi(5,n),n/10|0))))}function bAn(n){return u(lf(n,F(FWn,UKn,11,n.c.length,0,1)),1943)}function aae(n,e,t){return t.f.c.length>0?SW(n.a,e,t):SW(n.b,e,t)}function dae(n,e,t){n.d&&Qc(n.d.e,n),n.d=e,n.d&&Q0(n.d.e,t,n)}function w$(n,e){uTe(e,n),WU(n.d),WU(u(k(n,(nn(),eP)),207))}function H5(n,e){cTe(e,n),UU(n.d),UU(u(k(n,(nn(),eP)),207))}function Fd(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.fe()),i}function j3(n,e){var t,i;return t=ub(n,e),i=null,t&&(i=t.ie()),i}function q5(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.ie()),i}function $h(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=tY(t)),i}function bae(n,e,t){var i;return i=i4(t),gM(n.g,i,e),gM(n.i,e,t),e}function wae(n,e,t){var i;i=q2e();try{return kue(n,e,t)}finally{Mae(i)}}function wAn(n){var e;e=n.Wg(),this.a=I(e,69)?u(e,69).Zh():e.Kc()}function hi(){P9n.call(this),this.j.c=F(Zn,rn,1,0,5,1),this.a=-1}function aX(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function gAn(n,e,t,i){this.e=i,this.d=null,this.c=n,this.a=e,this.b=t}function dX(n,e,t){this.d=new r6n(this),this.e=n,this.i=e,this.f=t}function kC(){kC=N,j_=new QG(I4,0),oun=new QG("TOP_LEFT",1)}function pAn(){pAn=N,aon=aTn(Q(1),Q(4)),lon=aTn(Q(1),Q(2))}function vAn(){vAn=N,uZn=Fe((Ij(),A(M(cZn,1),z,551,0,[$K])))}function mAn(){mAn=N,rZn=Fe((Pj(),A(M(lfn,1),z,482,0,[DK])))}function kAn(){kAn=N,CZn=Fe((Jv(),A(M(Dfn,1),z,530,0,[hy])))}function yAn(){yAn=N,IUn=Fe((Aj(),A(M(krn,1),z,481,0,[SR])))}function gae(){return Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])}function pae(){return FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])}function vae(){return d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])}function mae(){return K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])}function kae(){return G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])}function yae(){return aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])}function jAn(n,e,t,i){return I(t,54)?new ojn(n,e,t,i):new pW(n,e,t,i)}function jae(){return ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])}function Eae(n){var e;return n.j==(J(),ae)&&(e=GLn(n),au(e,Vn))}function Cae(n,e){var t;t=e.a,Hi(t,e.c.d),Ei(t,e.d.d),fb(t.a,n.n)}function EAn(n,e){return u(yd(KE(u(ct(n.k,e),15).Oc(),jg)),113)}function CAn(n,e){return u(yd(HE(u(ct(n.k,e),15).Oc(),jg)),113)}function Tae(n){return new xn(jbe(u(n.a.dd(),14).gc(),n.a.cd()),16)}function E3(n){return I(n,14)?u(n,14).dc():!n.Kc().Ob()}function S2(n){return Qv(),I(n.g,145)?u(n.g,145):null}function TAn(n){if(n.e.g!=n.b)throw T(new vs);return!!n.c&&n.d>0}function Re(n){return ne(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function bX(n,e){_n(e),Mt(n.a,n.c,e),n.c=n.c+1&n.a.length-1,MFn(n)}function ll(n,e){_n(e),n.b=n.b-1&n.a.length-1,Mt(n.a,n.b,e),MFn(n)}function MAn(n,e){var t;for(t=n.j.c.length;t0&&gc(n.g,0,e,0,n.i),e}function IAn(n,e){$j();var t;return t=u(te(eI,n),55),!t||t.wj(e)}function Bae(n){if(n.p!=1)throw T(new fu);return ge(n.f)<<24>>24}function Rae(n){if(n.p!=1)throw T(new fu);return ge(n.k)<<24>>24}function _ae(n){if(n.p!=7)throw T(new fu);return ge(n.k)<<16>>16}function Kae(n){if(n.p!=7)throw T(new fu);return ge(n.f)<<16>>16}function Fh(n){var e;for(e=0;n.Ob();)n.Pb(),e=qi(e,1);return KC(e)}function OAn(n,e){var t;return t=new R0,n.xd(t),t.a+="..",e.yd(t),t.a}function Hae(n,e,t){var i;i=u(te(n.g,t),57),W(n.a.c,new Pi(e,i))}function qae(n,e,t){return TD(Y(Vr(Ar(n.f,e))),Y(Vr(Ar(n.f,t))))}function yC(n,e,t){return vM(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Gae(n,e,t){return m4(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function zae(n,e,t){return b9e(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function pX(n,e){return n==(Qn(),ti)&&e==ti?4:n==ti||e==ti?8:32}function DAn(n,e){return B(e)===B(n)?"(this Map)":e==null?iu:Lr(e)}function Uae(n,e){return u(e==null?Vr(Ar(n.f,null)):n5(n.g,e),281)}function $An(n,e,t){var i;return i=i4(t),it(n.b,i,e),it(n.c,e,t),e}function FAn(n,e){var t;for(t=e;t;)U0(n,t.i,t.j),t=At(t);return n}function vX(n,e){var t;return t=C8(f3(new x$(n,e))),DE(new x$(n,e)),t}function uh(n,e){er();var t;return t=u(n,66).Mj(),M5e(t,e),t.Ok(e)}function Wae(n,e,t,i,r){var c;c=m9e(r,t,i),W(e,p6e(r,c)),o5e(n,r,e)}function xAn(n,e,t){n.i=0,n.e=0,e!=t&&(uDn(n,e,t),cDn(n,e,t))}function mX(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+Tl),S6(n,t)}function Xae(n,e,t){if(t){var i=t.ee();n.a[e]=i(t)}else delete n.a[e]}function g$(n,e,t){if(t){var i=t.ee();t=i(t)}else t=void 0;n.a[e]=t}function LAn(n){if(n<0)throw T(new K9n("Negative array size: "+n))}function bc(n){return n.n||(Iu(n),n.n=new wCn(n,ar,n),Mr(n)),n.n}function G5(n){return ne(n.a=0&&n.a[t]===e[t];t--);return t<0}function KAn(n,e){V3();var t;return t=n.j.g-e.j.g,t!=0?t:0}function HAn(n,e){return _n(e),n.a!=null?$fe(e.Kb(n.a)):UA}function jC(n){var e;return n?new iW(n):(e=new Sh,nF(e,n),e)}function es(n,e){var t;return e.b.Kb(FPn(n,e.c.Ee(),(t=new Jvn(e),t)))}function EC(n){_J(),Dyn(this,ge(ci(cl(n,24),FM)),ge(ci(n,FM)))}function qAn(){qAn=N,Gzn=Fe(($T(),A(M(Jin,1),z,428,0,[yR,Qin])))}function GAn(){GAn=N,zzn=Fe((RC(),A(M(Zin,1),z,427,0,[Yin,jR])))}function zAn(){zAn=N,WUn=Fe((_C(),A(M(Arn,1),z,424,0,[$R,tS])))}function UAn(){UAn=N,BWn=Fe((B3(),A(M(NWn,1),z,511,0,[_k,UR])))}function WAn(){WAn=N,lXn=Fe((V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])))}function XAn(){XAn=N,wXn=Fe((K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])))}function VAn(){VAn=N,XQn=Fe((x8(),A(M(ron,1),z,376,0,[uK,iy])))}function QAn(){QAn=N,GQn=Fe((z8(),A(M(non,1),z,421,0,[iK,rK])))}function JAn(){JAn=N,sXn=Fe((OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])))}function YAn(){YAn=N,jXn=Fe((kC(),A(M(fun,1),z,420,0,[j_,oun])))}function ZAn(){ZAn=N,RJn=Fe((No(),A(M(BJn,1),z,520,0,[tw,Bl])))}function nSn(){nSn=N,wJn=Fe((z5(),A(M(bJn,1),z,523,0,[Hm,Km])))}function eSn(){eSn=N,jJn=Fe((Ff(),A(M(yJn,1),z,516,0,[M0,I1])))}function tSn(){tSn=N,CJn=Fe((ef(),A(M(EJn,1),z,515,0,[Ja,kf])))}function iSn(){iSn=N,UJn=Fe((Id(),A(M(zJn,1),z,455,0,[Rl,Lg])))}function rSn(){rSn=N,hYn=Fe((gC(),A(M(Son,1),z,425,0,[yK,Aon])))}function cSn(){cSn=N,wYn=Fe((iT(),A(M(Pon,1),z,495,0,[EP,mv])))}function uSn(){uSn=N,fYn=Fe((aC(),A(M(Mon,1),z,480,0,[kK,Ton])))}function sSn(){sSn=N,vYn=Fe(($C(),A(M(Oon,1),z,426,0,[Ion,TK])))}function oSn(){oSn=N,TZn=Fe((c7(),A(M(Ffn,1),z,429,0,[DP,$fn])))}function fSn(){fSn=N,sZn=Fe((L8(),A(M(afn,1),z,430,0,[FK,IP])))}function z5(){z5=N,Hm=new ZG("UPPER",0),Km=new ZG("LOWER",1)}function Yae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function Zae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function nde(n,e){var t,i;i=!1;do t=JOn(n,e),i=i|t;while(t);return i}function jX(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function hSn(n,e){var t;for(t=e;t;)U0(n,-t.i,-t.j),t=At(t);return n}function $i(n,e){var t,i;for(_n(e),i=n.Kc();i.Ob();)t=i.Pb(),e.td(t)}function lSn(n,e){var t;return t=e.cd(),new bd(t,n.e.pc(t,u(e.dd(),14)))}function Kt(n,e,t,i){var r;r=new aI,r.c=e,r.b=t,r.a=i,i.b=t.a=r,++n.b}function Es(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function ede(n,e,t){return u(e==null?_c(n.f,null,t):Gd(n.g,e,t),281)}function k$(n){return n.c&&n.d?cX(n.c)+"->"+cX(n.d):"e_"+md(n)}function C3(n,e){return(Ta(n),Wv(new $n(n,new UX(e,n.a)))).sd(V4)}function tde(){return Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])}function ide(){return J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])}function rde(n){return gj(),function(){return wae(n,this,arguments)}}function cde(){return Date.now?Date.now():new Date().getTime()}function Xi(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function aSn(n){if(!n.c.Sb())throw T(new ic);return n.a=!0,n.c.Ub()}function $8(n){n.i=0,z9(n.b,null),z9(n.c,null),n.a=null,n.e=null,++n.g}function EX(n){are.call(this,n==null?iu:Lr(n),I(n,78)?u(n,78):null)}function dSn(n){B_n(),Nmn(this),this.a=new Ct,QV(this,n),Ke(this.a,n)}function bSn(){RO(this),this.b=new fn($t,$t),this.a=new fn(Vt,Vt)}function wSn(n,e){this.c=0,this.b=e,qkn.call(this,n,17493),this.a=this.c}function y$(n){CC(),!pf&&(this.c=n,this.e=!0,this.a=new X)}function CC(){CC=N,pf=!0,Fzn=!1,xzn=!1,Nzn=!1,Lzn=!1}function CX(n,e){return I(e,149)?An(n.c,u(e,149).c):!1}function TX(n,e){var t;return t=0,n&&(t+=n.f.a/2),e&&(t+=e.f.a/2),t}function j$(n,e){var t;return t=u(xd(n.d,e),23),t||u(xd(n.e,e),23)}function gSn(n){this.b=n,ie.call(this,n),this.a=u(Rn(this.b.a,4),126)}function pSn(n){this.b=n,w2.call(this,n),this.a=u(Rn(this.b.a,4),126)}function Iu(n){return n.t||(n.t=new Amn(n),s6(new _9n(n),0,n.t)),n.t}function ude(){return sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])}function sde(){return qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])}function ode(){return Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])}function fde(){return P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])}function hde(){return b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])}function lde(){return Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])}function ade(){return g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])}function dde(){return Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])}function bde(){return Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])}function T3(){T3=N;var n,e;cI=(Qp(),e=new fj,e),uI=(n=new BI,n)}function vSn(n){var e;return n.c||(e=n.r,I(e,88)&&(n.c=u(e,26))),n.c}function wde(n){return n.e=3,n.d=n.Yb(),n.e!=2?(n.e=0,!0):!1}function E$(n){var e,t,i;return e=n&Lu,t=n>>22&Lu,i=n<0?Wh:0,Bc(e,t,i)}function gde(n){var e,t,i,r;for(t=n,i=0,r=t.length;i0?g$n(n,e):BNn(n,-e)}function MX(n,e){return e==0||n.e==0?n:e>0?BNn(n,e):g$n(n,-e)}function ve(n){if(Se(n))return n.c=n.a,n.a.Pb();throw T(new ic)}function kSn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Qn(),Xt)&&t.k==Xt}function C$(n){var e;return e=new Pd,Sr(e,n),H(e,(nn(),Tr),null),e}function T$(n,e,t){var i;return i=n.Yg(e),i>=0?n._g(i,t,!0):Yd(n,e,t)}function AX(n,e,t,i){var r;for(r=0;re)throw T(new vr(fY(n,e,"index")));return n}function M$(n,e,t,i){var r;return r=F(be,Le,25,e,15,1),Pve(r,n,e,t,i),r}function vde(n,e){var t;t=n.q.getHours()+(e/60|0),n.q.setMinutes(e),S6(n,t)}function mde(n,e){return j.Math.min(al(e.a,n.d.d.c),al(e.b,n.d.d.c))}function O2(n,e){return mi(e)?e==null?MY(n.f,null):$On(n.g,e):MY(n.f,e)}function uf(n){this.c=n,this.a=new E(this.c.a),this.b=new E(this.c.b)}function TC(){this.e=new X,this.c=new X,this.d=new X,this.b=new X}function TSn(){this.g=new zq,this.b=new zq,this.a=new X,this.k=new X}function MSn(n,e,t){this.a=n,this.c=e,this.d=t,W(e.e,this),W(t.b,this)}function ASn(n,e){Hkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function SSn(n,e){qkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function FX(n,e){FO.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function MC(n,e,t){this.a=n,this.b=e,this.c=t,W(n.t,this),W(e.i,this)}function AC(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function SC(){SC=N,Ym=new kt("org.eclipse.elk.labels.labelManager")}function PSn(){PSn=N,$cn=new ii("separateLayerConnections",(aT(),QR))}function No(){No=N,tw=new tz("REGULAR",0),Bl=new tz("CRITICAL",1)}function x8(){x8=N,uK=new YG("STACKED",0),iy=new YG("SEQUENCED",1)}function L8(){L8=N,FK=new oz("FIXED",0),IP=new oz("CENTER_NODE",1)}function kde(n,e){var t;return t=CEe(n,e),n.b=new tT(t.c.length),Lje(n,t)}function yde(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].$c(t),133),i.dd()}function ISn(n){var e;return n.a||(e=n.r,I(e,148)&&(n.a=u(e,148))),n.a}function xX(n){if(n.a){if(n.e)return xX(n.e)}else return n;return null}function jde(n,e){return n.pe.p?-1:0}function PC(n,e){return _n(e),n.c=0,"Initial capacity must not be negative")}function $Sn(){$Sn=N,Vzn=Fe((_o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])))}function FSn(){FSn=N,Jzn=Fe((Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])))}function xSn(){xSn=N,Zzn=Fe((Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])))}function LSn(){LSn=N,Bzn=Fe((hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])))}function NSn(){NSn=N,bWn=Fe((W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])))}function BSn(){BSn=N,PWn=Fe((qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])))}function RSn(){RSn=N,oXn=Fe((F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])))}function _Sn(){_Sn=N,fXn=Fe((VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])))}function KSn(){KSn=N,dXn=Fe((ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])))}function HSn(){HSn=N,rXn=Fe((Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])))}function qSn(){qSn=N,yXn=Fe((Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])))}function GSn(){GSn=N,mXn=Fe((q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])))}function zSn(){zSn=N,RQn=Fe((i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])))}function USn(){USn=N,WQn=Fe((oT(),A(M(ion,1),z,375,0,[eon,cK,ton])))}function WSn(){WSn=N,qQn=Fe((Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])))}function XSn(){XSn=N,UQn=Fe((ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])))}function VSn(){VSn=N,JQn=Fe((dT(),A(M(hon,1),z,377,0,[fK,pv,ew])))}function QSn(){QSn=N,VQn=Fe((Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])))}function JSn(){JSn=N,QQn=Fe((uT(),A(M(fon,1),z,338,0,[oon,oK,son])))}function YSn(){YSn=N,hJn=Fe((_d(),A(M(fJn,1),z,454,0,[ry,_m,aP])))}function ZSn(){ZSn=N,pYn=Fe((CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])))}function nPn(){nPn=N,mYn=Fe((f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])))}function ePn(){ePn=N,LYn=Fe((ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])))}function tPn(){tPn=N,xYn=Fe((sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])))}function iPn(){iPn=N,iZn=Fe((w7(),A(M(OK,1),z,437,0,[AP,SP,PP])))}function rPn(){rPn=N,une=Fe((_h(),A(M(Khn,1),z,334,0,[HP,F1,i9])))}function cPn(){cPn=N,tne=Fe((sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])))}function Pde(){return Ti(),A(M(Ghn,1),z,98,0,[ql,jf,Tv,td,jh,Ac])}function wa(n,e){return!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),NF(n.o,e)}function Ide(n){return!n.g&&(n.g=new Qy),!n.g.d&&(n.g.d=new Cmn(n)),n.g.d}function Ode(n){return!n.g&&(n.g=new Qy),!n.g.a&&(n.g.a=new Tmn(n)),n.g.a}function Dde(n){return!n.g&&(n.g=new Qy),!n.g.b&&(n.g.b=new Emn(n)),n.g.b}function N8(n){return!n.g&&(n.g=new Qy),!n.g.c&&(n.g.c=new Mmn(n)),n.g.c}function $de(n,e,t){var i,r;for(r=new H3(e,n),i=0;it||e=0?n._g(t,!0,!0):Yd(n,e,!0)}function Qde(n,e){return Zt(K(Y(k(n,(G(),k0)))),K(Y(k(e,k0))))}function aPn(){aPn=N,aYn=Xd(Xd(Dj(new hi,(c4(),qm)),(k6(),pP)),aK)}function Jde(n,e,t){var i;return i=tDn(n,e,t),n.b=new tT(i.c.length),JY(n,i)}function Yde(n){if(n.b<=0)throw T(new ic);return--n.b,n.a-=n.c.c,Q(n.a)}function Zde(n){var e;if(!n.a)throw T(new gTn);return e=n.a,n.a=At(n.a),e}function n0e(n){for(;!n.a;)if(!nEn(n.c,new Xvn(n)))return!1;return!0}function $2(n){var e;return pe(n),I(n,198)?(e=u(n,198),e):new dvn(n)}function e0e(n){DC(),u(n.We((Xe(),rw)),174).Fc((Tu(),Ty)),n.Ye(eH,null)}function DC(){DC=N,SZn=new n2n,IZn=new e2n,PZn=Rwe((Xe(),eH),SZn,_l,IZn)}function $C(){$C=N,Ion=new sz("LEAF_NUMBER",0),TK=new sz("NODE_SIZE",1)}function t0e(n,e,t){n.a=e,n.c=t,n.b.a.$b(),_s(n.d),n.e.a.c=F(Zn,rn,1,0,5,1)}function $$(n){n.a=F(be,Le,25,n.b+1,15,1),n.c=F(be,Le,25,n.b,15,1),n.d=0}function i0e(n,e){n.a.ue(e.d,n.b)>0&&(W(n.c,new QU(e.c,e.d,n.d)),n.b=e.d)}function zX(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.g[e]}function dPn(n,e,t){if(W3(n,t),t!=null&&!n.wj(t))throw T(new xI);return t}function bPn(n){var e;if(n.Ek())for(e=n.i-1;e>=0;--e)D(n,e);return gX(n)}function r0e(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function c0e(n,e){var t,i;return LAn(e),t=(i=n.slice(0,e),WX(i,n)),t.length=e,t}function S3(n,e,t,i){var r;i=(Ow(),i||Lin),r=n.slice(e,t),hY(r,n,e,t,-e,i)}function Cs(n,e,t,i,r){return e<0?Yd(n,t,i):u(t,66).Nj().Pj(n,n.yh(),e,i,r)}function u0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function s0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function wPn(n,e){if(e.a)throw T(new _r(wKn));ri(n.a,e),e.a=n,!n.j&&(n.j=e)}function UX(n,e){FO.call(this,e.rd(),e.qd()&-16449),_n(n),this.a=n,this.c=e}function gPn(n,e){var t,i;return i=e/n.c.Hd().gc()|0,t=e%n.c.Hd().gc(),D2(n,i,t)}function Cu(){Cu=N,Xf=new oO(Y2,0),Ol=new oO(I4,1),Co=new oO(Z2,2)}function FC(){FC=N,vR=new Lj("All",0),qin=new lyn,Gin=new Eyn,zin=new ayn}function pPn(){pPn=N,Dzn=Fe((FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])))}function vPn(){vPn=N,EWn=Fe((G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])))}function mPn(){mPn=N,CUn=Fe((Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])))}function kPn(){kPn=N,MUn=Fe((K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])))}function yPn(){yPn=N,PUn=Fe((d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])))}function jPn(){jPn=N,WJn=Fe((c4(),A(M(won,1),z,393,0,[gP,qm,uy,Gm])))}function EPn(){EPn=N,HWn=Fe((aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])))}function CPn(){CPn=N,FYn=Fe((qT(),A(M(zon,1),z,340,0,[SK,qon,Gon,Hon])))}function TPn(){TPn=N,JWn=Fe((ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])))}function MPn(){MPn=N,_Qn=Fe((wb(),A(M(Z_,1),z,197,0,[fP,Y_,xg,Fg])))}function APn(){APn=N,Ene=Fe((Xu(),A(M(jne,1),z,396,0,[ws,Yhn,Jhn,Zhn])))}function SPn(){SPn=N,one=Fe((cs(),A(M(sne,1),z,285,0,[Ey,kh,Kl,jy])))}function PPn(){PPn=N,ine=Fe((Hh(),A(M(cH,1),z,218,0,[rH,yy,Cv,Sp])))}function IPn(){IPn=N,kne=Fe((AT(),A(M(Qhn,1),z,311,0,[oH,Whn,Vhn,Xhn])))}function OPn(){OPn=N,vne=Fe((Vu(),A(M(o9,1),z,374,0,[Ay,id,My,uw])))}function DPn(){DPn=N,mM(),F1n=$t,Tee=Vt,x1n=new S9($t),Mee=new S9(Vt)}function K8(){K8=N,Vcn=new VG(Xh,0),xS=new VG("IMPROVE_STRAIGHTNESS",1)}function o0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function f0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function WX(n,e){return U8(e)!=10&&A(Du(e),e.hm,e.__elementTypeId$,U8(e),n),n}function Qc(n,e){var t;return t=Fr(n,e,0),t==-1?!1:(h1(n,t),!0)}function $Pn(n,e){var t;return t=u(O2(n.e,e),387),t?(ZU(t),t.e):null}function P3(n){var e;return $r(n)&&(e=0-n,!isNaN(e))?e:bl(z3(n))}function Fr(n,e,t){for(;t=0?BT(n,t,!0,!0):Yd(n,e,!0)}function YX(n,e){Qv();var t,i;return t=S2(n),i=S2(e),!!t&&!!i&&!V$n(t.k,i.k)}function a0e(n,e){Zc(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function d0e(n,e){nu(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function b0e(n,e){Rd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function w0e(n,e){Bd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function BPn(n){(this.q?this.q:(Pn(),Pn(),ph)).Ac(n.q?n.q:(Pn(),Pn(),ph))}function g0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function p0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function RPn(n,e){vrn=new Wy,AUn=e,gm=n,u(gm.b,65),BX(gm,vrn,null),DRn(gm)}function B$(n,e,t){var i;return i=n.g[e],k5(n,e,n.oi(e,t)),n.gi(e,t,i),n.ci(),i}function BC(n,e){var t;return t=n.Xc(e),t>=0?(n.$c(t),!0):!1}function R$(n){var e;return n.d!=n.r&&(e=qs(n),n.e=!!e&&e.Cj()==kGn,n.d=e),n.e}function _$(n,e){var t;for(pe(n),pe(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function xd(n,e){var t;return t=u(te(n.e,e),387),t?(Oyn(n,t),t.e):null}function _Pn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function qr(n,e){var t,i;return Ta(n),i=new FX(e,n.a),t=new iEn(i),new $n(n,t)}function ub(n,e){var t=n.a[e],i=(cF(),dR)[typeof t];return i?i(t):tQ(typeof t)}function v0e(n){switch(n.g){case 0:return nt;case 1:return-1;default:return 0}}function m0e(n){return mJ(n,(I3(),pin))<0?-xce(z3(n)):n.l+n.m*J2+n.h*$a}function U8(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function K$(n){var e;return e=n.b.c.length==0?null:un(n.b,0),e!=null&&J$(n,0),e}function KPn(n,e){for(;e[0]0&&arguments[0]!==void 0?arguments[0]:{},Ki=Ge.defaultLayoutOptions,Si=Ki===void 0?{}:Ki,Mn=Ge.algorithms,Lc=Mn===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:Mn,Nc=Ge.workerFactory,ps=Ge.workerUrl;if(j(this,Bt),this.defaultLayoutOptions=Si,this.initialized=!1,typeof ps>"u"&&typeof Nc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Rr=Nc;typeof ps<"u"&&typeof Nc>"u"&&(Rr=function(q1){return new Worker(q1)});var Ch=Rr(ps);if(typeof Ch.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new ou(Ch),this.worker.postMessage({cmd:"register",algorithms:Lc}).then(function(H1){return qt.initialized=!0}).catch(console.err)}return Ai(Bt,[{key:"layout",value:function(Ge){var Ki=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Si=Ki.layoutOptions,Mn=Si===void 0?this.defaultLayoutOptions:Si,Lc=Ki.logging,Nc=Lc===void 0?!1:Lc,ps=Ki.measureExecutionTime,Rr=ps===void 0?!1:ps;return Ge?this.worker.postMessage({cmd:"layout",graph:Ge,layoutOptions:Mn,options:{logging:Nc,measureExecutionTime:Rr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),Bt}();Nt.default=Ht;var ou=function(){function Bt(qt){var Ge=this;if(j(this,Bt),qt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=qt,this.worker.onmessage=function(Ki){setTimeout(function(){Ge.receive(Ge,Ki)},0)}}return Ai(Bt,[{key:"postMessage",value:function(Ge){var Ki=this.id||0;this.id=Ki+1,Ge.id=Ki;var Si=this;return new Promise(function(Mn,Lc){Si.resolvers[Ki]=function(Nc,ps){Nc?(Si.convertGwtStyleError(Nc),Lc(Nc)):Mn(ps)},Si.worker.postMessage(Ge)})}},{key:"receive",value:function(Ge,Ki){var Si=Ki.data,Mn=Ge.resolvers[Si.id];Mn&&(delete Ge.resolvers[Si.id],Si.error?Mn(Si.error):Mn(null,Si.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Ge){if(Ge){var Ki=Ge.__java$exception;Ki&&(Ki.cause&&Ki.cause.backingJsObject&&(Ge.cause=Ki.cause.backingJsObject,this.convertGwtStyleError(Ge.cause)),delete Ge.__java$exception)}}}]),Bt}()},{}],2:[function(ft,dt,Nt){(function(Ai){(function(){var j;typeof window<"u"?j=window:typeof Ai<"u"?j=Ai:typeof self<"u"&&(j=self);var Ht;function ou(){}function Bt(){}function qt(){}function Ge(){}function Ki(){}function Si(){}function Mn(){}function Lc(){}function Nc(){}function ps(){}function Rr(){}function Ch(){}function H1(){}function q1(){}function ww(){}function Np(){}function G1(){}function Th(){}function Q1n(){}function J1n(){}function zy(){}function Y1n(){}function Z1n(){}function nln(){}function eln(){}function Xg(){}function N(){}function tln(){}function aI(){}function iln(){}function rln(){}function cln(){}function uln(){}function DH(){}function sln(){}function oln(){}function fln(){}function z1(){}function U1(){}function dI(){}function hln(){}function lln(){}function aln(){}function $H(){}function dln(){}function bln(){}function Vg(){}function Qg(){}function wln(){}function gln(){}function pln(){}function vln(){}function FH(){}function W1(){}function Jg(){}function Yg(){}function mln(){}function Vee(){}function bI(){}function kln(){}function yln(){}function jln(){}function Eln(){}function Cln(){}function Tln(){}function Mln(){}function Aln(){}function Sln(){}function Pln(){}function Iln(){}function Oln(){}function Dln(){}function $ln(){}function Fln(){}function xln(){}function Lln(){}function Nln(){}function Bln(){}function Rln(){}function _ln(){}function Kln(){}function Hln(){}function qln(){}function Gln(){}function zln(){}function Uln(){}function Wln(){}function Xln(){}function Vln(){}function Qln(){}function Jln(){}function Yln(){}function xH(){}function Zln(){}function nan(){}function ean(){}function tan(){}function wI(){}function gI(){}function Uy(){}function ian(){}function ran(){}function pI(){}function can(){}function uan(){}function san(){}function Wy(){}function oan(){}function fan(){}function han(){}function lan(){}function aan(){}function dan(){}function ban(){}function wan(){}function gan(){}function LH(){}function pan(){}function van(){}function man(){}function kan(){}function yan(){}function NH(){}function jan(){}function Ean(){}function Can(){}function Tan(){}function Man(){}function Aan(){}function San(){}function Pan(){}function Ian(){}function Oan(){}function Dan(){}function $an(){}function Fan(){}function xan(){}function vI(){}function Lan(){}function Nan(){}function Ban(){}function Ran(){}function _an(){}function BH(){}function Kan(){}function Han(){}function qan(){}function Gan(){}function zan(){}function Uan(){}function Wan(){}function Xan(){}function Van(){}function Qan(){}function Jan(){}function Yan(){}function Zan(){}function ndn(){}function edn(){}function tdn(){}function idn(){}function rdn(){}function cdn(){}function udn(){}function sdn(){}function odn(){}function fdn(){}function hdn(){}function ldn(){}function adn(){}function ddn(){}function bdn(){}function wdn(){}function gdn(){}function pdn(){}function vdn(){}function mdn(){}function kdn(){}function ydn(){}function jdn(){}function Edn(){}function Cdn(){}function Tdn(){}function Mdn(){}function Adn(){}function Sdn(){}function Pdn(){}function Idn(){}function Odn(){}function Ddn(){}function $dn(){}function Fdn(){}function xdn(){}function Ldn(){}function Ndn(){}function Bdn(){}function Rdn(){}function _dn(){}function Kdn(){}function Hdn(){}function qdn(){}function Gdn(){}function zdn(){}function Udn(){}function Wdn(){}function Xdn(){}function Vdn(){}function Qdn(){}function Jdn(){}function Ydn(){}function Zdn(){}function n0n(){}function e0n(){}function t0n(){}function i0n(){}function r0n(){}function c0n(){}function u0n(){}function s0n(){}function o0n(){}function f0n(){}function h0n(){}function l0n(){}function a0n(){}function d0n(){}function b0n(){}function w0n(){}function g0n(){}function p0n(){}function v0n(){}function m0n(){}function k0n(){}function y0n(){}function j0n(){}function E0n(){}function C0n(){}function T0n(){}function M0n(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function D0n(){}function RH(){}function $0n(){}function F0n(){}function x0n(){}function L0n(){}function N0n(){}function B0n(){}function R0n(){}function _0n(){}function K0n(){}function H0n(){}function q0n(){}function G0n(){}function z0n(){}function U0n(){}function W0n(){}function X0n(){}function V0n(){}function Q0n(){}function J0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function sbn(){}function obn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function vbn(){}function mbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Tbn(){}function Mbn(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function Obn(){}function Dbn(){}function $bn(){}function Fbn(){}function xbn(){}function Lbn(){}function Nbn(){}function Bbn(){}function Rbn(){}function _bn(){}function Kbn(){}function Hbn(){}function qbn(){}function Gbn(){}function zbn(){}function _H(){}function Ubn(){}function Wbn(){}function Xbn(){}function Vbn(){}function Qbn(){}function Jbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function uwn(){}function swn(){}function own(){}function fwn(){}function hwn(){}function lwn(){}function KH(){}function awn(){}function dwn(){}function bwn(){}function wwn(){}function gwn(){}function pwn(){}function HH(){}function qH(){}function vwn(){}function GH(){}function zH(){}function mwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Twn(){}function Mwn(){}function Awn(){}function UH(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function $wn(){}function Fwn(){}function xwn(){}function Lwn(){}function Nwn(){}function Bwn(){}function Rwn(){}function _wn(){}function Kwn(){}function Hwn(){}function qwn(){}function Gwn(){}function zwn(){}function Uwn(){}function Wwn(){}function Xwn(){}function Vwn(){}function Qwn(){}function Jwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function sgn(){}function ogn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function vgn(){}function mgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Tgn(){}function Mgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function $gn(){}function Fgn(){}function xgn(){}function Lgn(){}function Ngn(){}function Bgn(){}function Rgn(){}function _gn(){}function Kgn(){}function mI(){}function kI(){}function yI(){}function Hgn(){}function qgn(){}function Ggn(){}function zgn(){}function Ugn(){}function WH(){}function Wgn(){}function Xgn(){}function Qee(){}function Vgn(){}function Qgn(){}function Jgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function Zl(){}function t2n(){}function Zg(){}function XH(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function s2n(){}function o2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function v2n(){}function m2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function dn(){}function C2n(){}function T2n(){}function M2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function $2n(){}function jI(){}function F2n(){}function x2n(){}function L2n(){}function N2n(){}function B2n(){}function VH(){}function Xy(){}function Vy(){}function R2n(){}function QH(){}function Qy(){}function _2n(){}function K2n(){}function H2n(){}function q2n(){}function G2n(){}function z2n(){}function Jy(){}function U2n(){}function W2n(){}function X2n(){}function Yy(){}function V2n(){}function JH(){}function Q2n(){}function EI(){}function YH(){}function J2n(){}function Y2n(){}function Z2n(){}function npn(){}function Jee(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function spn(){}function opn(){}function fpn(){}function hpn(){}function Bp(){}function CI(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function vpn(){}function mpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Tpn(){}function Mpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function $pn(){}function Fpn(){}function xpn(){}function Lpn(){}function Npn(){}function Bpn(){}function Rpn(){}function _pn(){}function Kpn(){}function Hpn(){}function qpn(){}function Gpn(){}function zpn(){}function Upn(){}function Wpn(){}function Xpn(){}function Vpn(){}function Qpn(){}function Jpn(){}function Ypn(){}function Zpn(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function s3n(){}function o3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function v3n(){}function m3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function T3n(){}function M3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function $3n(){}function F3n(){}function x3n(){}function L3n(){}function N3n(){}function B3n(){}function R3n(){}function _3n(){}function K3n(){}function H3n(){}function q3n(){}function G3n(){}function z3n(){}function U3n(){}function W3n(){}function X3n(){}function V3n(){}function Q3n(){}function J3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function ZH(){}function r4n(){}function c4n(){}function TI(){Rv()}function u4n(){pF()}function s4n(){a6()}function o4n(){WT()}function f4n(){YJ()}function h4n(){Go()}function l4n(){fJ()}function a4n(){C7()}function d4n(){q9()}function b4n(){H9()}function w4n(){w8()}function g4n(){v7n()}function p4n(){x2()}function v4n(){Sj()}function m4n(){PSn()}function k4n(){HIn()}function y4n(){sPn()}function j4n(){CMn()}function E4n(){V3()}function C4n(){yl()}function T4n(){qIn()}function M4n(){pAn()}function A4n(){zZ()}function S4n(){IFn()}function P4n(){TMn()}function I4n(){nn()}function O4n(){EMn()}function D4n(){GIn()}function $4n(){WOn()}function F4n(){AMn()}function x4n(){aPn()}function L4n(){m7n()}function N4n(){$Y()}function B4n(){gb()}function R4n(){pOn()}function _4n(){S7()}function K4n(){Ux()}function H4n(){ZF()}function q4n(){Zd()}function G4n(){PV()}function z4n(){MMn()}function U4n(){BBn()}function W4n(){IY()}function X4n(){Bx()}function V4n(){DC()}function Q4n(){nM()}function nq(){Xe()}function J4n(){wT()}function Y4n(){NQ()}function eq(){mM()}function Fo(){dEn()}function tq(){eF()}function Z4n(){pZ()}function iq(n){_n(n)}function nvn(n){this.a=n}function Zy(n){this.a=n}function evn(n){this.a=n}function tvn(n){this.a=n}function ivn(n){this.a=n}function rvn(n){this.a=n}function cvn(n){this.a=n}function uvn(n){this.a=n}function rq(n){this.a=n}function cq(n){this.a=n}function svn(n){this.a=n}function MI(n){this.a=n}function ovn(n){this.a=n}function AI(n){this.a=n}function fvn(n){this.a=n}function SI(n){this.a=n}function hvn(n){this.a=n}function PI(n){this.a=n}function lvn(n){this.a=n}function avn(n){this.a=n}function dvn(n){this.a=n}function uq(n){this.b=n}function bvn(n){this.c=n}function wvn(n){this.a=n}function gvn(n){this.a=n}function pvn(n){this.a=n}function vvn(n){this.a=n}function mvn(n){this.a=n}function kvn(n){this.a=n}function yvn(n){this.a=n}function jvn(n){this.a=n}function Evn(n){this.a=n}function Cvn(n){this.a=n}function Tvn(n){this.a=n}function Mvn(n){this.a=n}function Avn(n){this.a=n}function sq(n){this.a=n}function oq(n){this.a=n}function nj(n){this.a=n}function M9(n){this.a=n}function na(){this.a=[]}function Svn(n,e){n.a=e}function Yee(n,e){n.a=e}function Zee(n,e){n.b=e}function nte(n,e){n.b=e}function ete(n,e){n.b=e}function fq(n,e){n.j=e}function tte(n,e){n.g=e}function ite(n,e){n.i=e}function rte(n,e){n.c=e}function cte(n,e){n.d=e}function ute(n,e){n.d=e}function ste(n,e){n.c=e}function ea(n,e){n.k=e}function ote(n,e){n.c=e}function hq(n,e){n.c=e}function lq(n,e){n.a=e}function fte(n,e){n.a=e}function hte(n,e){n.f=e}function lte(n,e){n.a=e}function ate(n,e){n.b=e}function II(n,e){n.d=e}function ej(n,e){n.i=e}function aq(n,e){n.o=e}function dte(n,e){n.r=e}function bte(n,e){n.a=e}function wte(n,e){n.b=e}function Pvn(n,e){n.e=e}function gte(n,e){n.f=e}function dq(n,e){n.g=e}function pte(n,e){n.e=e}function vte(n,e){n.f=e}function mte(n,e){n.f=e}function kte(n,e){n.n=e}function yte(n,e){n.a=e}function jte(n,e){n.a=e}function Ete(n,e){n.c=e}function Cte(n,e){n.c=e}function Tte(n,e){n.d=e}function Mte(n,e){n.e=e}function Ate(n,e){n.g=e}function Ste(n,e){n.a=e}function Pte(n,e){n.c=e}function Ite(n,e){n.d=e}function Ote(n,e){n.e=e}function Dte(n,e){n.f=e}function $te(n,e){n.j=e}function Fte(n,e){n.a=e}function xte(n,e){n.b=e}function Lte(n,e){n.a=e}function Ivn(n){n.b=n.a}function Ovn(n){n.c=n.d.d}function $v(n){this.d=n}function ta(n){this.a=n}function Rp(n){this.a=n}function bq(n){this.a=n}function Mh(n){this.a=n}function A9(n){this.a=n}function Dvn(n){this.a=n}function wq(n){this.a=n}function S9(n){this.a=n}function gq(n){this.a=n}function pq(n){this.a=n}function vq(n){this.a=n}function L0(n){this.a=n}function P9(n){this.a=n}function I9(n){this.a=n}function mq(n){this.b=n}function _p(n){this.b=n}function Kp(n){this.b=n}function OI(n){this.a=n}function $vn(n){this.a=n}function kq(n){this.a=n}function DI(n){this.c=n}function E(n){this.c=n}function Fvn(n){this.c=n}function yq(n){this.a=n}function jq(n){this.a=n}function Eq(n){this.a=n}function Cq(n){this.a=n}function ut(n){this.a=n}function xvn(n){this.a=n}function Tq(n){this.a=n}function Mq(n){this.a=n}function Lvn(n){this.a=n}function Nvn(n){this.a=n}function Fv(n){this.a=n}function Bvn(n){this.a=n}function Rvn(n){this.a=n}function _vn(n){this.a=n}function Kvn(n){this.a=n}function Hvn(n){this.a=n}function qvn(n){this.a=n}function Gvn(n){this.a=n}function zvn(n){this.a=n}function Uvn(n){this.a=n}function Wvn(n){this.a=n}function Xvn(n){this.a=n}function Vvn(n){this.a=n}function Qvn(n){this.a=n}function Jvn(n){this.a=n}function Yvn(n){this.a=n}function Zvn(n){this.a=n}function n5n(n){this.a=n}function O9(n){this.a=n}function e5n(n){this.a=n}function t5n(n){this.a=n}function tj(n){this.a=n}function i5n(n){this.a=n}function r5n(n){this.a=n}function Hp(n){this.a=n}function Aq(n){this.a=n}function c5n(n){this.a=n}function u5n(n){this.a=n}function s5n(n){this.a=n}function o5n(n){this.a=n}function f5n(n){this.a=n}function Sq(n){this.a=n}function Pq(n){this.a=n}function Iq(n){this.a=n}function ij(n){this.a=n}function rj(n){this.e=n}function qp(n){this.a=n}function h5n(n){this.a=n}function n2(n){this.a=n}function Oq(n){this.a=n}function l5n(n){this.a=n}function a5n(n){this.a=n}function d5n(n){this.a=n}function b5n(n){this.a=n}function w5n(n){this.a=n}function g5n(n){this.a=n}function p5n(n){this.a=n}function v5n(n){this.a=n}function m5n(n){this.a=n}function k5n(n){this.a=n}function y5n(n){this.a=n}function Dq(n){this.a=n}function j5n(n){this.a=n}function E5n(n){this.a=n}function C5n(n){this.a=n}function T5n(n){this.a=n}function M5n(n){this.a=n}function A5n(n){this.a=n}function S5n(n){this.a=n}function P5n(n){this.a=n}function I5n(n){this.a=n}function O5n(n){this.a=n}function D5n(n){this.a=n}function $5n(n){this.a=n}function F5n(n){this.a=n}function x5n(n){this.a=n}function L5n(n){this.a=n}function N5n(n){this.a=n}function B5n(n){this.a=n}function R5n(n){this.a=n}function _5n(n){this.a=n}function K5n(n){this.a=n}function H5n(n){this.a=n}function q5n(n){this.a=n}function G5n(n){this.a=n}function z5n(n){this.a=n}function U5n(n){this.a=n}function W5n(n){this.a=n}function X5n(n){this.a=n}function V5n(n){this.a=n}function Q5n(n){this.a=n}function J5n(n){this.a=n}function Y5n(n){this.a=n}function Z5n(n){this.a=n}function n6n(n){this.a=n}function e6n(n){this.a=n}function t6n(n){this.a=n}function i6n(n){this.a=n}function r6n(n){this.a=n}function c6n(n){this.c=n}function u6n(n){this.b=n}function s6n(n){this.a=n}function o6n(n){this.a=n}function f6n(n){this.a=n}function h6n(n){this.a=n}function l6n(n){this.a=n}function a6n(n){this.a=n}function d6n(n){this.a=n}function b6n(n){this.a=n}function w6n(n){this.a=n}function g6n(n){this.a=n}function p6n(n){this.a=n}function v6n(n){this.a=n}function m6n(n){this.a=n}function k6n(n){this.a=n}function y6n(n){this.a=n}function j6n(n){this.a=n}function E6n(n){this.a=n}function C6n(n){this.a=n}function T6n(n){this.a=n}function M6n(n){this.a=n}function A6n(n){this.a=n}function S6n(n){this.a=n}function P6n(n){this.a=n}function I6n(n){this.a=n}function X1(n){this.a=n}function e2(n){this.a=n}function O6n(n){this.a=n}function D6n(n){this.a=n}function $6n(n){this.a=n}function F6n(n){this.a=n}function x6n(n){this.a=n}function L6n(n){this.a=n}function N6n(n){this.a=n}function B6n(n){this.a=n}function R6n(n){this.a=n}function _6n(n){this.a=n}function K6n(n){this.a=n}function H6n(n){this.a=n}function q6n(n){this.a=n}function G6n(n){this.a=n}function z6n(n){this.a=n}function U6n(n){this.a=n}function cj(n){this.a=n}function W6n(n){this.a=n}function X6n(n){this.a=n}function V6n(n){this.a=n}function Q6n(n){this.a=n}function J6n(n){this.a=n}function Y6n(n){this.a=n}function Z6n(n){this.a=n}function nmn(n){this.a=n}function emn(n){this.a=n}function tmn(n){this.a=n}function imn(n){this.a=n}function rmn(n){this.a=n}function cmn(n){this.a=n}function umn(n){this.a=n}function smn(n){this.a=n}function omn(n){this.a=n}function fmn(n){this.a=n}function hmn(n){this.a=n}function lmn(n){this.a=n}function amn(n){this.a=n}function dmn(n){this.a=n}function bmn(n){this.a=n}function wmn(n){this.a=n}function gmn(n){this.a=n}function pmn(n){this.a=n}function vmn(n){this.a=n}function mmn(n){this.a=n}function kmn(n){this.a=n}function $q(n){this.a=n}function kt(n){this.b=n}function ymn(n){this.f=n}function Fq(n){this.a=n}function jmn(n){this.a=n}function Emn(n){this.a=n}function Cmn(n){this.a=n}function Tmn(n){this.a=n}function Mmn(n){this.a=n}function Amn(n){this.a=n}function Smn(n){this.a=n}function Pmn(n){this.a=n}function D9(n){this.a=n}function Imn(n){this.a=n}function Omn(n){this.b=n}function xq(n){this.c=n}function uj(n){this.e=n}function Dmn(n){this.a=n}function sj(n){this.a=n}function oj(n){this.a=n}function $I(n){this.a=n}function $mn(n){this.a=n}function Fmn(n){this.d=n}function Lq(n){this.a=n}function Nq(n){this.a=n}function cd(n){this.e=n}function Nte(){this.a=0}function gw(){dyn(this)}function X(){RO(this)}function we(){Eu(this)}function FI(){pTn(this)}function xmn(){}function ud(){this.c=p1n}function Bte(n,e){e.Wb(n)}function Lmn(n,e){n.b+=e}function Nmn(n){n.b=new JI}function T(n){return n.e}function Rte(n){return n.a}function _te(n){return n.a}function Kte(n){return n.a}function Hte(n){return n.a}function qte(n){return n.a}function Gte(){return null}function zte(){return null}function Ute(){EG(),iTe()}function Wte(n){n.b.tf(n.e)}function xv(n,e){n.b=e-n.b}function Lv(n,e){n.a=e-n.a}function Bmn(n,e){e.ad(n.a)}function Xte(n,e){ui(e,n)}function Vte(n,e,t){n.Od(t,e)}function $9(n,e){n.e=e,e.b=n}function Bq(n){Df(),this.a=n}function Rmn(n){Df(),this.a=n}function _mn(n){Df(),this.a=n}function Rq(n){nb(),this.a=n}function Kmn(n){k3(),aR.be(n)}function ia(){Qyn.call(this)}function _q(){Qyn.call(this)}function Kq(){ia.call(this)}function xI(){ia.call(this)}function Hmn(){ia.call(this)}function F9(){ia.call(this)}function fu(){ia.call(this)}function Nv(){ia.call(this)}function ye(){ia.call(this)}function vs(){ia.call(this)}function qmn(){ia.call(this)}function ic(){ia.call(this)}function Gmn(){ia.call(this)}function zmn(){this.a=this}function fj(){this.Bb|=256}function Umn(){this.b=new Xkn}function Hq(){Hq=N,new we}function qq(){Kq.call(this)}function Wmn(n,e){n.length=e}function hj(n,e){W(n.a,e)}function Qte(n,e){nY(n.c,e)}function Jte(n,e){ri(n.b,e)}function Yte(n,e){KT(n.a,e)}function Zte(n,e){MF(n.a,e)}function Gp(n,e){et(n.e,e)}function t2(n){iM(n.c,n.b)}function nie(n,e){n.kc().Nb(e)}function Gq(n){this.a=Yge(n)}function fi(){this.a=new we}function Xmn(){this.a=new we}function lj(){this.a=new X}function LI(){this.a=new X}function zq(){this.a=new X}function Ns(){this.a=new Oln}function ra(){this.a=new TSn}function Uq(){this.a=new LH}function Wq(){this.a=new h7n}function Vmn(){this.a=new YMn}function Xq(){this.a=new bMn}function Vq(){this.a=new Bjn}function Qmn(){this.a=new X}function Qq(){this.a=new X}function Jmn(){this.a=new X}function Ymn(){this.a=new X}function Zmn(){this.d=new X}function n9n(){this.a=new fi}function e9n(){this.a=new we}function t9n(){this.b=new we}function i9n(){this.b=new X}function Jq(){this.e=new X}function r9n(){this.d=new X}function c9n(){this.a=new C4n}function u9n(){X.call(this)}function Yq(){lj.call(this)}function s9n(){kE.call(this)}function o9n(){Qq.call(this)}function NI(){Bv.call(this)}function Bv(){xmn.call(this)}function i2(){xmn.call(this)}function Zq(){i2.call(this)}function f9n(){zTn.call(this)}function h9n(){zTn.call(this)}function l9n(){uG.call(this)}function a9n(){uG.call(this)}function d9n(){uG.call(this)}function b9n(){sG.call(this)}function hu(){Ct.call(this)}function nG(){B2n.call(this)}function eG(){B2n.call(this)}function w9n(){O9n.call(this)}function g9n(){O9n.call(this)}function p9n(){we.call(this)}function v9n(){we.call(this)}function m9n(){we.call(this)}function k9n(){fi.call(this)}function BI(){RIn.call(this)}function y9n(){fj.call(this)}function RI(){Oz.call(this)}function _I(){Oz.call(this)}function tG(){we.call(this)}function KI(){we.call(this)}function j9n(){we.call(this)}function iG(){Yy.call(this)}function E9n(){Yy.call(this)}function C9n(){iG.call(this)}function T9n(){ZH.call(this)}function M9n(n){hIn.call(this,n)}function A9n(n){hIn.call(this,n)}function rG(n){rq.call(this,n)}function cG(n){n7n.call(this,n)}function eie(n){cG.call(this,n)}function tie(n){n7n.call(this,n)}function zp(){this.a=new Ct}function uG(){this.a=new fi}function sG(){this.a=new we}function S9n(){this.a=new X}function P9n(){this.j=new X}function oG(){this.a=new Rgn}function I9n(){this.a=new T8n}function O9n(){this.a=new X2n}function HI(){HI=N,uR=new V9n}function qI(){qI=N,cR=new X9n}function Rv(){Rv=N,rR=new Bt}function aj(){aj=N,fR=new Xyn}function iie(n){cG.call(this,n)}function rie(n){cG.call(this,n)}function D9n(n){m$.call(this,n)}function $9n(n){m$.call(this,n)}function F9n(n){uEn.call(this,n)}function GI(n){C5e.call(this,n)}function sd(n){_0.call(this,n)}function _v(n){Cj.call(this,n)}function fG(n){Cj.call(this,n)}function x9n(n){Cj.call(this,n)}function _r(n){kCn.call(this,n)}function L9n(n){_r.call(this,n)}function r2(){M9.call(this,{})}function dj(n){c3(),this.a=n}function Kv(n){n.b=null,n.c=0}function cie(n,e){n.e=e,NNn(n,e)}function uie(n,e){n.a=e,h6e(n)}function zI(n,e,t){n.a[e.g]=t}function sie(n,e,t){M4e(t,n,e)}function oie(n,e){$ue(e.i,n.n)}function N9n(n,e){Fwe(n).td(e)}function fie(n,e){return n*n/e}function B9n(n,e){return n.g-e.g}function hie(n){return new nj(n)}function lie(n){return new Z0(n)}function bj(n){_r.call(this,n)}function vr(n){_r.call(this,n)}function R9n(n){_r.call(this,n)}function UI(n){kCn.call(this,n)}function WI(n){AV(),this.a=n}function _9n(n){aEn(),this.a=n}function N0(n){ED(),this.f=n}function XI(n){ED(),this.f=n}function Up(n){_r.call(this,n)}function Hn(n){_r.call(this,n)}function Dr(n){_r.call(this,n)}function K9n(n){_r.call(this,n)}function c2(n){_r.call(this,n)}function on(n){return _n(n),n}function K(n){return _n(n),n}function x9(n){return _n(n),n}function hG(n){return _n(n),n}function aie(n){return _n(n),n}function Hv(n){return n.b==n.c}function B0(n){return!!n&&n.b}function die(n){return!!n&&n.k}function bie(n){return!!n&&n.j}function Ku(n){_n(n),this.a=n}function lG(n){return ja(n),n}function qv(n){EW(n,n.length)}function t1(n){_r.call(this,n)}function Af(n){_r.call(this,n)}function VI(n){_r.call(this,n)}function pw(n){_r.call(this,n)}function Gv(n){_r.call(this,n)}function Ce(n){_r.call(this,n)}function QI(n){Vz.call(this,n,0)}function JI(){iX.call(this,12,3)}function aG(){aG=N,din=new Q1n}function H9n(){H9n=N,ain=new ou}function wj(){wj=N,dm=new H1}function q9n(){q9n=N,vzn=new ww}function G9n(){throw T(new ye)}function dG(){throw T(new ye)}function z9n(){throw T(new ye)}function wie(){throw T(new ye)}function gie(){throw T(new ye)}function pie(){throw T(new ye)}function YI(){this.a=Te(pe(Ji))}function u2(n){Df(),this.a=pe(n)}function U9n(n,e){n.Td(e),e.Sd(n)}function vie(n,e){n.a.ec().Mc(e)}function mie(n,e,t){n.c.lf(e,t)}function bG(n){vr.call(this,n)}function Sf(n){Hn.call(this,n)}function i1(){A9.call(this,"")}function zv(){A9.call(this,"")}function V1(){A9.call(this,"")}function R0(){A9.call(this,"")}function wG(n){vr.call(this,n)}function Wp(n){_p.call(this,n)}function ZI(n){lE.call(this,n)}function W9n(n){Wp.call(this,n)}function X9n(){AI.call(this,null)}function V9n(){AI.call(this,null)}function gj(){gj=N,k3()}function Q9n(){Q9n=N,Szn=Z4e()}function J9n(n){return n.a?n.b:0}function kie(n){return n.a?n.b:0}function yie(n,e){return n.a-e.a}function jie(n,e){return n.a-e.a}function Eie(n,e){return n.a-e.a}function pj(n,e){return WX(n,e)}function M(n,e){return pMn(n,e)}function Cie(n,e){return e in n.a}function Y9n(n,e){return n.f=e,n}function Tie(n,e){return n.b=e,n}function Z9n(n,e){return n.c=e,n}function Mie(n,e){return n.g=e,n}function gG(n,e){return n.a=e,n}function pG(n,e){return n.f=e,n}function Aie(n,e){return n.k=e,n}function vG(n,e){return n.a=e,n}function Sie(n,e){return n.e=e,n}function mG(n,e){return n.e=e,n}function Pie(n,e){return n.f=e,n}function Iie(n,e){n.b=!0,n.d=e}function Oie(n,e){n.b=new mr(e)}function Die(n,e,t){e.td(n.a[t])}function $ie(n,e,t){e.we(n.a[t])}function Fie(n,e){return n.b-e.b}function xie(n,e){return n.g-e.g}function Lie(n,e){return n.s-e.s}function Nie(n,e){return n?0:e-1}function n8n(n,e){return n?0:e-1}function Bie(n,e){return n?e-1:0}function Rie(n,e){return e.Yf(n)}function od(n,e){return n.b=e,n}function vj(n,e){return n.a=e,n}function fd(n,e){return n.c=e,n}function hd(n,e){return n.d=e,n}function ld(n,e){return n.e=e,n}function kG(n,e){return n.f=e,n}function Uv(n,e){return n.a=e,n}function Xp(n,e){return n.b=e,n}function Vp(n,e){return n.c=e,n}function gn(n,e){return n.c=e,n}function Dn(n,e){return n.b=e,n}function pn(n,e){return n.d=e,n}function vn(n,e){return n.e=e,n}function _ie(n,e){return n.f=e,n}function mn(n,e){return n.g=e,n}function kn(n,e){return n.a=e,n}function yn(n,e){return n.i=e,n}function jn(n,e){return n.j=e,n}function e8n(n,e){return n.k=e,n}function Kie(n,e){return n.j=e,n}function Hie(n,e){yl(),Hr(e,n)}function qie(n,e,t){Nfe(n.a,e,t)}function t8n(n){mTn.call(this,n)}function yG(n){mTn.call(this,n)}function mj(n){uD.call(this,n)}function i8n(n){u2e.call(this,n)}function Q1(n){Ld.call(this,n)}function r8n(n){XD.call(this,n)}function c8n(n){XD.call(this,n)}function u8n(){Mz.call(this,"")}function Li(){this.a=0,this.b=0}function s8n(){this.b=0,this.a=0}function o8n(n,e){n.b=0,hb(n,e)}function Gie(n,e){n.c=e,n.b=!0}function f8n(n,e){return n.c._b(e)}function xo(n){return n.e&&n.e()}function nO(n){return n?n.d:null}function h8n(n,e){return LDn(n.b,e)}function zie(n){return n?n.g:null}function Uie(n){return n?n.i:null}function J1(n){return Ph(n),n.o}function ad(){ad=N,Mne=h4e()}function l8n(){l8n=N,vi=jve()}function Qp(){Qp=N,g1n=a4e()}function a8n(){a8n=N,hee=l4e()}function jG(){jG=N,oc=s6e()}function EG(){EG=N,Wl=N3()}function d8n(){throw T(new ye)}function b8n(){throw T(new ye)}function w8n(){throw T(new ye)}function g8n(){throw T(new ye)}function p8n(){throw T(new ye)}function v8n(){throw T(new ye)}function kj(n){this.a=new s2(n)}function CG(n){d_n(),gTe(this,n)}function Y1(n){this.a=new AD(n)}function vw(n,e){for(;n.ye(e););}function TG(n,e){for(;n.sd(e););}function mw(n,e){return n.a+=e,n}function eO(n,e){return n.a+=e,n}function r1(n,e){return n.a+=e,n}function dd(n,e){return n.a+=e,n}function Wv(n){return fl(n),n.a}function yj(n){return n.b!=n.d.c}function m8n(n){return n.l|n.m<<22}function MG(n,e){return n.d[e.p]}function k8n(n,e){return Q8e(n,e)}function AG(n,e,t){n.splice(e,t)}function y8n(n){n.c?rBn(n):cBn(n)}function jj(n){this.a=0,this.b=n}function j8n(){this.a=new B7(Pon)}function E8n(){this.b=new B7(won)}function C8n(){this.b=new B7(OK)}function T8n(){this.b=new B7(OK)}function M8n(){throw T(new ye)}function A8n(){throw T(new ye)}function S8n(){throw T(new ye)}function P8n(){throw T(new ye)}function I8n(){throw T(new ye)}function O8n(){throw T(new ye)}function D8n(){throw T(new ye)}function $8n(){throw T(new ye)}function F8n(){throw T(new ye)}function x8n(){throw T(new ye)}function Wie(){throw T(new ic)}function Xie(){throw T(new ic)}function L9(n){this.a=new L8n(n)}function L8n(n){cbe(this,n,cve())}function N9(n){return!n||iTn(n)}function B9(n){return Tf[n]!=-1}function Vie(){_A!=0&&(_A=0),KA=-1}function N8n(){iR==null&&(iR=[])}function Qie(n,e){$x(R(n.a),e)}function Jie(n,e){$x(R(n.a),e)}function R9(n,e){Sw.call(this,n,e)}function Jp(n,e){R9.call(this,n,e)}function SG(n,e){this.b=n,this.c=e}function B8n(n,e){this.b=n,this.a=e}function R8n(n,e){this.a=n,this.b=e}function _8n(n,e){this.a=n,this.b=e}function K8n(n,e){this.a=n,this.b=e}function H8n(n,e){this.a=n,this.b=e}function q8n(n,e){this.a=n,this.b=e}function G8n(n,e){this.a=n,this.b=e}function z8n(n,e){this.a=n,this.b=e}function U8n(n,e){this.a=n,this.b=e}function W8n(n,e){this.b=n,this.a=e}function X8n(n,e){this.b=n,this.a=e}function V8n(n,e){this.b=n,this.a=e}function Q8n(n,e){this.b=n,this.a=e}function Oe(n,e){this.f=n,this.g=e}function Yp(n,e){this.e=n,this.d=e}function bd(n,e){this.g=n,this.i=e}function tO(n,e){this.a=n,this.b=e}function J8n(n,e){this.a=n,this.f=e}function Y8n(n,e){this.b=n,this.c=e}function Yie(n,e){this.a=n,this.b=e}function Z8n(n,e){this.a=n,this.b=e}function iO(n,e){this.a=n,this.b=e}function n7n(n){Bz(n.dc()),this.c=n}function Ej(n){this.b=u(pe(n),83)}function e7n(n){this.a=u(pe(n),83)}function _0(n){this.a=u(pe(n),15)}function t7n(n){this.a=u(pe(n),15)}function Cj(n){this.b=u(pe(n),47)}function Tj(){this.q=new j.Date}function Zf(){Zf=N,Sin=new tln}function Zp(){Zp=N,X4=new nln}function Xv(n){return n.f.c+n.g.c}function _9(n,e){return n.b.Hc(e)}function i7n(n,e){return n.b.Ic(e)}function r7n(n,e){return n.b.Qc(e)}function c7n(n,e){return n.b.Hc(e)}function u7n(n,e){return n.c.uc(e)}function Ah(n,e){return n.a._b(e)}function s7n(n,e){return tt(n.c,e)}function o7n(n,e){return zu(n.b,e)}function f7n(n,e){return n>e&&e0}function cO(n,e){return fc(n,e)<0}function n5(n,e){return n.a.get(e)}function lre(n,e){return e.split(n)}function S7n(n,e){return zu(n.e,e)}function LG(n){return _n(n),!1}function xj(n){xn.call(this,n,21)}function are(n,e){cMn.call(this,n,e)}function Lj(n,e){Oe.call(this,n,e)}function uO(n,e){Oe.call(this,n,e)}function NG(n){_D(),uEn.call(this,n)}function BG(n,e){fCn(n,n.length,e)}function z9(n,e){BCn(n,n.length,e)}function dre(n,e,t){e.ud(n.a.Ge(t))}function bre(n,e,t){e.we(n.a.Fe(t))}function wre(n,e,t){e.td(n.a.Kb(t))}function gre(n,e,t){n.Mb(t)&&e.td(t)}function e5(n,e,t){n.splice(e,0,t)}function pre(n,e){return au(n.e,e)}function Nj(n,e){this.d=n,this.e=e}function P7n(n,e){this.b=n,this.a=e}function I7n(n,e){this.b=n,this.a=e}function RG(n,e){this.b=n,this.a=e}function O7n(n,e){this.a=n,this.b=e}function D7n(n,e){this.a=n,this.b=e}function $7n(n,e){this.a=n,this.b=e}function F7n(n,e){this.a=n,this.b=e}function f2(n,e){this.a=n,this.b=e}function _G(n,e){this.b=n,this.a=e}function KG(n,e){this.b=n,this.a=e}function Bj(n,e){Oe.call(this,n,e)}function Rj(n,e){Oe.call(this,n,e)}function HG(n,e){Oe.call(this,n,e)}function qG(n,e){Oe.call(this,n,e)}function kw(n,e){Oe.call(this,n,e)}function sO(n,e){Oe.call(this,n,e)}function oO(n,e){Oe.call(this,n,e)}function fO(n,e){Oe.call(this,n,e)}function _j(n,e){Oe.call(this,n,e)}function GG(n,e){Oe.call(this,n,e)}function hO(n,e){Oe.call(this,n,e)}function U9(n,e){Oe.call(this,n,e)}function Kj(n,e){Oe.call(this,n,e)}function lO(n,e){Oe.call(this,n,e)}function t5(n,e){Oe.call(this,n,e)}function zG(n,e){Oe.call(this,n,e)}function zt(n,e){Oe.call(this,n,e)}function Hj(n,e){Oe.call(this,n,e)}function x7n(n,e){this.a=n,this.b=e}function L7n(n,e){this.a=n,this.b=e}function N7n(n,e){this.a=n,this.b=e}function B7n(n,e){this.a=n,this.b=e}function R7n(n,e){this.a=n,this.b=e}function _7n(n,e){this.a=n,this.b=e}function K7n(n,e){this.a=n,this.b=e}function H7n(n,e){this.a=n,this.b=e}function q7n(n,e){this.a=n,this.b=e}function UG(n,e){this.b=n,this.a=e}function G7n(n,e){this.b=n,this.a=e}function z7n(n,e){this.b=n,this.a=e}function U7n(n,e){this.b=n,this.a=e}function t3(n,e){this.c=n,this.d=e}function W7n(n,e){this.e=n,this.d=e}function X7n(n,e){this.a=n,this.b=e}function V7n(n,e){this.b=e,this.c=n}function qj(n,e){Oe.call(this,n,e)}function W9(n,e){Oe.call(this,n,e)}function aO(n,e){Oe.call(this,n,e)}function i5(n,e){Oe.call(this,n,e)}function WG(n,e){Oe.call(this,n,e)}function dO(n,e){Oe.call(this,n,e)}function bO(n,e){Oe.call(this,n,e)}function X9(n,e){Oe.call(this,n,e)}function XG(n,e){Oe.call(this,n,e)}function wO(n,e){Oe.call(this,n,e)}function r5(n,e){Oe.call(this,n,e)}function VG(n,e){Oe.call(this,n,e)}function c5(n,e){Oe.call(this,n,e)}function u5(n,e){Oe.call(this,n,e)}function H0(n,e){Oe.call(this,n,e)}function gO(n,e){Oe.call(this,n,e)}function pO(n,e){Oe.call(this,n,e)}function QG(n,e){Oe.call(this,n,e)}function s5(n,e){Oe.call(this,n,e)}function vO(n,e){Oe.call(this,n,e)}function Gj(n,e){Oe.call(this,n,e)}function V9(n,e){Oe.call(this,n,e)}function Q9(n,e){Oe.call(this,n,e)}function h2(n,e){Oe.call(this,n,e)}function mO(n,e){Oe.call(this,n,e)}function JG(n,e){Oe.call(this,n,e)}function kO(n,e){Oe.call(this,n,e)}function yO(n,e){Oe.call(this,n,e)}function YG(n,e){Oe.call(this,n,e)}function jO(n,e){Oe.call(this,n,e)}function EO(n,e){Oe.call(this,n,e)}function CO(n,e){Oe.call(this,n,e)}function TO(n,e){Oe.call(this,n,e)}function ZG(n,e){Oe.call(this,n,e)}function Q7n(n,e){this.b=n,this.a=e}function J7n(n,e){this.a=n,this.b=e}function Y7n(n,e){this.a=n,this.b=e}function Z7n(n,e){this.a=n,this.b=e}function nkn(n,e){this.a=n,this.b=e}function nz(n,e){Oe.call(this,n,e)}function ez(n,e){Oe.call(this,n,e)}function ekn(n,e){this.b=n,this.d=e}function tz(n,e){Oe.call(this,n,e)}function iz(n,e){Oe.call(this,n,e)}function tkn(n,e){this.a=n,this.b=e}function ikn(n,e){this.a=n,this.b=e}function zj(n,e){Oe.call(this,n,e)}function o5(n,e){Oe.call(this,n,e)}function rz(n,e){Oe.call(this,n,e)}function cz(n,e){Oe.call(this,n,e)}function uz(n,e){Oe.call(this,n,e)}function MO(n,e){Oe.call(this,n,e)}function sz(n,e){Oe.call(this,n,e)}function AO(n,e){Oe.call(this,n,e)}function Uj(n,e){Oe.call(this,n,e)}function SO(n,e){Oe.call(this,n,e)}function PO(n,e){Oe.call(this,n,e)}function J9(n,e){Oe.call(this,n,e)}function IO(n,e){Oe.call(this,n,e)}function oz(n,e){Oe.call(this,n,e)}function Y9(n,e){Oe.call(this,n,e)}function fz(n,e){Oe.call(this,n,e)}function vre(n,e){return au(n.c,e)}function mre(n,e){return au(e.b,n)}function kre(n,e){return-n.b.Je(e)}function hz(n,e){return au(n.g,e)}function Z9(n,e){Oe.call(this,n,e)}function l2(n,e){Oe.call(this,n,e)}function rkn(n,e){this.a=n,this.b=e}function ckn(n,e){this.a=n,this.b=e}function fn(n,e){this.a=n,this.b=e}function f5(n,e){Oe.call(this,n,e)}function h5(n,e){Oe.call(this,n,e)}function n8(n,e){Oe.call(this,n,e)}function OO(n,e){Oe.call(this,n,e)}function Wj(n,e){Oe.call(this,n,e)}function l5(n,e){Oe.call(this,n,e)}function DO(n,e){Oe.call(this,n,e)}function Xj(n,e){Oe.call(this,n,e)}function yw(n,e){Oe.call(this,n,e)}function e8(n,e){Oe.call(this,n,e)}function a5(n,e){Oe.call(this,n,e)}function d5(n,e){Oe.call(this,n,e)}function t8(n,e){Oe.call(this,n,e)}function Vj(n,e){Oe.call(this,n,e)}function jw(n,e){Oe.call(this,n,e)}function Qj(n,e){Oe.call(this,n,e)}function ukn(n,e){this.a=n,this.b=e}function skn(n,e){this.a=n,this.b=e}function okn(n,e){this.a=n,this.b=e}function fkn(n,e){this.a=n,this.b=e}function hkn(n,e){this.a=n,this.b=e}function lkn(n,e){this.a=n,this.b=e}function Pi(n,e){this.a=n,this.b=e}function Jj(n,e){Oe.call(this,n,e)}function akn(n,e){this.a=n,this.b=e}function dkn(n,e){this.a=n,this.b=e}function bkn(n,e){this.a=n,this.b=e}function wkn(n,e){this.a=n,this.b=e}function gkn(n,e){this.a=n,this.b=e}function pkn(n,e){this.a=n,this.b=e}function vkn(n,e){this.b=n,this.a=e}function mkn(n,e){this.b=n,this.a=e}function kkn(n,e){this.b=n,this.a=e}function ykn(n,e){this.b=n,this.a=e}function jkn(n,e){this.a=n,this.b=e}function Ekn(n,e){this.a=n,this.b=e}function yre(n,e){J9e(n.a,u(e,56))}function Ckn(n,e){f0e(n.a,u(e,11))}function jre(n,e){return h3(),e!=n}function Tkn(){return Q9n(),new Szn}function Mkn(){c$(),this.b=new fi}function Akn(){hM(),this.a=new fi}function Skn(){tX(),lW.call(this)}function a2(n,e){Oe.call(this,n,e)}function Pkn(n,e){this.a=n,this.b=e}function Ikn(n,e){this.a=n,this.b=e}function Yj(n,e){this.a=n,this.b=e}function Okn(n,e){this.a=n,this.b=e}function Dkn(n,e){this.a=n,this.b=e}function $kn(n,e){this.a=n,this.b=e}function Fkn(n,e){this.d=n,this.b=e}function lz(n,e){this.d=n,this.e=e}function xkn(n,e){this.f=n,this.c=e}function i8(n,e){this.b=n,this.c=e}function az(n,e){this.i=n,this.g=e}function Lkn(n,e){this.e=n,this.a=e}function Nkn(n,e){this.a=n,this.b=e}function dz(n,e){n.i=null,nT(n,e)}function Ere(n,e){n&&it($y,n,e)}function Bkn(n,e){return NF(n.a,e)}function Zj(n){return g7(n.c,n.b)}function Vr(n){return n?n.dd():null}function B(n){return n??null}function q0(n){return typeof n===X2}function G0(n){return typeof n===UZ}function mi(n){return typeof n===EL}function el(n,e){return n.Hd().Xb(e)}function nE(n,e){return Rbe(n.Kc(),e)}function gd(n,e){return fc(n,e)==0}function Cre(n,e){return fc(n,e)>=0}function b5(n,e){return fc(n,e)!=0}function Tre(n){return""+(_n(n),n)}function r8(n,e){return n.substr(e)}function Rkn(n){return $u(n),n.d.gc()}function $O(n){return yme(n,n.c),n}function eE(n){return A5(n==null),n}function w5(n,e){return n.a+=""+e,n}function dr(n,e){return n.a+=""+e,n}function g5(n,e){return n.a+=""+e,n}function rc(n,e){return n.a+=""+e,n}function De(n,e){return n.a+=""+e,n}function bz(n,e){return n.a+=""+e,n}function _kn(n,e){Kt(n,e,n.a,n.a.a)}function ua(n,e){Kt(n,e,n.c.b,n.c)}function Mre(n,e,t){VFn(e,Mx(n,t))}function Are(n,e,t){VFn(e,Mx(n,t))}function Sre(n,e){k0e(new ie(n),e)}function Kkn(n,e){n.q.setTime($d(e))}function Hkn(n,e){kW.call(this,n,e)}function qkn(n,e){kW.call(this,n,e)}function FO(n,e){kW.call(this,n,e)}function Gkn(n){Eu(this),Z5(this,n)}function wz(n){return Ln(n,0),null}function Lo(n){return n.a=0,n.b=0,n}function zkn(n,e){return n.a=e.g+1,n}function Pre(n,e){return n.j[e.p]==2}function gz(n){return lhe(u(n,79))}function Ukn(){Ukn=N,jUn=Fe(qF())}function Wkn(){Wkn=N,RWn=Fe(PNn())}function Xkn(){this.b=new s2(sb(12))}function Vkn(){this.b=0,this.a=!1}function Qkn(){this.b=0,this.a=!1}function p5(n){this.a=n,TI.call(this)}function Jkn(n){this.a=n,TI.call(this)}function In(n,e){ii.call(this,n,e)}function xO(n,e){V0.call(this,n,e)}function Ew(n,e){az.call(this,n,e)}function LO(n,e){H3.call(this,n,e)}function Ykn(n,e){c8.call(this,n,e)}function He(n,e){$j(),it(eI,n,e)}function NO(n,e){return Yu(n.a,0,e)}function Zkn(n,e){return n.a.a.a.cc(e)}function nyn(n,e){return B(n)===B(e)}function Ire(n,e){return Zt(n.a,e.a)}function Ore(n,e){return Uc(n.a,e.a)}function Dre(n,e){return xCn(n.a,e.a)}function Pf(n,e){return n.indexOf(e)}function pd(n,e){return n==e?0:n?1:-1}function tE(n){return n<10?"0"+n:""+n}function $re(n){return pe(n),new p5(n)}function eyn(n){return Bc(n.l,n.m,n.h)}function i3(n){return Gt((_n(n),n))}function Fre(n){return Gt((_n(n),n))}function tyn(n,e){return Uc(n.g,e.g)}function $r(n){return typeof n===UZ}function xre(n){return n==b0||n==Hb}function Lre(n){return n==b0||n==Kb}function pz(n){return Fr(n.b.b,n,0)}function iyn(n){this.a=Tkn(),this.b=n}function ryn(n){this.a=Tkn(),this.b=n}function Nre(n,e){return W(n.a,e),e}function Bre(n,e){return W(n.c,e),n}function cyn(n,e){return rs(n.a,e),n}function Rre(n,e){return wo(),e.a+=n}function _re(n,e){return wo(),e.a+=n}function Kre(n,e){return wo(),e.c+=n}function vz(n,e){S3(n,0,n.length,e)}function Sh(){Tq.call(this,new ba)}function uyn(){xE.call(this,0,0,0,0)}function d2(){ys.call(this,0,0,0,0)}function mr(n){this.a=n.a,this.b=n.b}function tl(n){return n==Zs||n==Ao}function r3(n){return n==Yh||n==Jh}function syn(n){return n==xg||n==Fg}function Cw(n){return n!=jf&&n!=ql}function Hu(n){return n.Lg()&&n.Mg()}function oyn(n){return JE(u(n,118))}function iE(n){return rs(new hi,n)}function fyn(n,e){return new H3(e,n)}function Hre(n,e){return new H3(e,n)}function mz(n,e,t){UC(n,e),WC(n,t)}function rE(n,e,t){Rd(n,e),Bd(n,t)}function Jo(n,e,t){Zc(n,e),nu(n,t)}function cE(n,e,t){D3(n,e),F3(n,t)}function uE(n,e,t){$3(n,e),x3(n,t)}function BO(n,e){X3(n,e),L3(n,n.D)}function kz(n){xkn.call(this,n,!0)}function hyn(n,e,t){fU.call(this,n,e,t)}function il(n){jl(),qbe.call(this,n)}function lyn(){Lj.call(this,"Head",1)}function ayn(){Lj.call(this,"Tail",3)}function RO(n){n.c=F(Zn,rn,1,0,5,1)}function dyn(n){n.a=F(Zn,rn,1,8,5,1)}function byn(n){Yc(n.xf(),new t5n(n))}function Tw(n){return n!=null?mt(n):0}function qre(n,e){return ob(e,nf(n))}function Gre(n,e){return ob(e,nf(n))}function zre(n,e){return n[n.length]=e}function Ure(n,e){return n[n.length]=e}function yz(n){return zoe(n.b.Kc(),n.a)}function Wre(n,e){return ZC(BD(n.d),e)}function Xre(n,e){return ZC(BD(n.g),e)}function Vre(n,e){return ZC(BD(n.j),e)}function tr(n,e){ii.call(this,n.b,e)}function vd(n){xE.call(this,n,n,n,n)}function jz(n){return n.b&&uL(n),n.a}function Ez(n){return n.b&&uL(n),n.c}function Qre(n,e){pf||(n.b=e)}function _O(n,e,t){return Mt(n,e,t),t}function wyn(n,e,t){Mt(n.c[e.g],e.g,t)}function Jre(n,e,t){u(n.c,69).Xh(e,t)}function Yre(n,e,t){Jo(t,t.i+n,t.j+e)}function Zre(n,e){me(bc(n.a),PMn(e))}function nce(n,e){me(Ou(n.a),IMn(e))}function v5(n){Je(),cd.call(this,n)}function ece(n){return n==null?0:mt(n)}function gyn(){gyn=N,hK=new f6(cH)}function je(){je=N,new pyn,new X}function pyn(){new we,new we,new we}function Cz(){Cz=N,Hq(),bin=new we}function Yo(){Yo=N,j.Math.log(2)}function ms(){ms=N,Eh=(E7n(),Dne)}function tce(){throw T(new t1(izn))}function ice(){throw T(new t1(izn))}function rce(){throw T(new t1(rzn))}function cce(){throw T(new t1(rzn))}function vyn(n){this.a=n,HU.call(this,n)}function KO(n){this.a=n,Ej.call(this,n)}function HO(n){this.a=n,Ej.call(this,n)}function bi(n,e){mD(n.c,n.c.length,e)}function Kr(n){return n.ae?1:0}function kyn(n,e){return fc(n,e)>0?n:e}function Bc(n,e,t){return{l:n,m:e,h:t}}function uce(n,e){n.a!=null&&Ckn(e,n.a)}function yyn(n){n.a=new aI,n.c=new aI}function sE(n){this.b=n,this.a=new X}function jyn(n){this.b=new san,this.a=n}function Mz(n){vU.call(this),this.a=n}function Eyn(){Lj.call(this,"Range",2)}function Cyn(){kJ(),this.a=new B7(Hrn)}function sce(n,e){pe(e),Iw(n).Jc(new ps)}function oce(n,e){return Zu(),e.n.b+=n}function fce(n,e,t){return it(n.g,t,e)}function hce(n,e,t){return it(n.k,t,e)}function lce(n,e){return it(n.a,e.a,e)}function Mw(n,e,t){return _Q(e,t,n.c)}function Az(n){return new fn(n.c,n.d)}function ace(n){return new fn(n.c,n.d)}function Qr(n){return new fn(n.a,n.b)}function Tyn(n,e){return xEe(n.a,e,null)}function dce(n){Hi(n,null),Ei(n,null)}function Myn(n){s$(n,null),o$(n,null)}function Ayn(){c8.call(this,null,null)}function Syn(){wE.call(this,null,null)}function Sz(n){this.a=n,we.call(this)}function bce(n){this.b=(Pn(),new DI(n))}function oE(n){n.j=F(Ain,q,310,0,0,1)}function wce(n,e,t){n.c.Vc(e,u(t,133))}function gce(n,e,t){n.c.ji(e,u(t,133))}function Pyn(n,e){de(n),n.Gc(u(e,15))}function m5(n,e){return Jje(n.c,n.b,e)}function pce(n,e){return new Jyn(n.Kc(),e)}function qO(n,e){return gwe(n.Kc(),e)!=-1}function Pz(n,e){return n.a.Bc(e)!=null}function fE(n){return n.Ob()?n.Pb():null}function Iyn(n){return Hs(n,0,n.length)}function I(n,e){return n!=null&&WF(n,e)}function vce(n,e){n.q.setHours(e),S6(n,e)}function Oyn(n,e){n.c&&(ZU(e),iMn(e))}function mce(n,e,t){u(n.Kb(t),164).Nb(e)}function kce(n,e,t){return SEe(n,e,t),t}function Dyn(n,e,t){n.a=e^1502,n.b=t^tN}function GO(n,e,t){return n.a[e.g][t.g]}function Zo(n,e){return n.a[e.c.p][e.p]}function yce(n,e){return n.e[e.c.p][e.p]}function jce(n,e){return n.c[e.c.p][e.p]}function Ece(n,e){return n.j[e.p]=D9e(e)}function Cce(n,e){return DX(n.f,e.tg())}function Tce(n,e){return DX(n.b,e.tg())}function Mce(n,e){return n.a0?e*e/n:e*e*100}function Jce(n,e){return n>0?e/(n*n):e*100}function Yce(n,e,t){return W(e,e$n(n,t))}function Zce(n,e,t){DC(),n.Xe(e)&&t.td(n)}function s3(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function U0(n,e,t){return n.a+=e,n.b+=t,n}function nue(n,e,t){return n.a*=e,n.b*=t,n}function o8(n,e,t){return n.a-=e,n.b-=t,n}function Zz(n,e){return n.a=e.a,n.b=e.b,n}function vE(n){return n.a=-n.a,n.b=-n.b,n}function fjn(n){this.c=n,this.a=1,this.b=1}function hjn(n){this.c=n,Zc(n,0),nu(n,0)}function ljn(n){Ct.call(this),V5(this,n)}function ajn(n){yL(),Nmn(this),this.mf(n)}function djn(n,e){Zv(),c8.call(this,n,e)}function nU(n,e){c1(),wE.call(this,n,e)}function bjn(n,e){c1(),wE.call(this,n,e)}function wjn(n,e){c1(),nU.call(this,n,e)}function qu(n,e,t){Wu.call(this,n,e,t,2)}function JO(n,e){ms(),FE.call(this,n,e)}function gjn(n,e){ms(),JO.call(this,n,e)}function eU(n,e){ms(),JO.call(this,n,e)}function pjn(n,e){ms(),eU.call(this,n,e)}function tU(n,e){ms(),FE.call(this,n,e)}function vjn(n,e){ms(),tU.call(this,n,e)}function mjn(n,e){ms(),FE.call(this,n,e)}function eue(n,e){return n.c.Fc(u(e,133))}function iU(n,e,t){return jM(G8(n,e),t)}function tue(n,e,t){return e.Qk(n.e,n.c,t)}function iue(n,e,t){return e.Rk(n.e,n.c,t)}function YO(n,e){return pl(n.e,u(e,49))}function rue(n,e,t){s6(Ou(n.a),e,IMn(t))}function cue(n,e,t){s6(bc(n.a),e,PMn(t))}function rU(n,e){e.$modCount=n.$modCount}function C5(){C5=N,Xm=new kt("root")}function o3(){o3=N,xy=new w9n,new g9n}function kjn(){this.a=new Od,this.b=new Od}function cU(){RIn.call(this),this.Bb|=Yi}function yjn(){Oe.call(this,"GROW_TREE",0)}function uue(n){return n==null?null:CCe(n)}function sue(n){return n==null?null:D5e(n)}function oue(n){return n==null?null:Lr(n)}function fue(n){return n==null?null:Lr(n)}function Ph(n){n.o==null&&u9e(n)}function sn(n){return A5(n==null||q0(n)),n}function Y(n){return A5(n==null||G0(n)),n}function Te(n){return A5(n==null||mi(n)),n}function uU(n){this.q=new j.Date($d(n))}function f8(n,e){this.c=n,Yp.call(this,n,e)}function mE(n,e){this.a=n,f8.call(this,n,e)}function hue(n,e){this.d=n,Ovn(this),this.b=e}function sU(n,e){P$.call(this,n),this.a=e}function oU(n,e){P$.call(this,n),this.a=e}function lue(n){xQ.call(this,0,0),this.f=n}function fU(n,e,t){IC.call(this,n,e,t,null)}function jjn(n,e,t){IC.call(this,n,e,t,null)}function aue(n,e,t){return n.ue(e,t)<=0?t:e}function due(n,e,t){return n.ue(e,t)<=0?e:t}function bue(n,e){return u(xd(n.b,e),149)}function wue(n,e){return u(xd(n.c,e),229)}function ZO(n){return u(un(n.a,n.b),287)}function Ejn(n){return new fn(n.c,n.d+n.a)}function Cjn(n){return Zu(),syn(u(n,197))}function W0(){W0=N,prn=Cn((Vu(),id))}function gue(n,e){e.a?e7e(n,e):zO(n.a,e.b)}function Tjn(n,e){pf||W(n.a,e)}function pue(n,e){return H9(),K3(e.d.i,n)}function vue(n,e){return x2(),new ABn(e,n)}function Of(n,e){return T8(e,ann),n.f=e,n}function hU(n,e,t){return t=ss(n,e,3,t),t}function lU(n,e,t){return t=ss(n,e,6,t),t}function aU(n,e,t){return t=ss(n,e,9,t),t}function h8(n,e,t){++n.j,n.Ki(),A$(n,e,t)}function Mjn(n,e,t){++n.j,n.Hi(e,n.oi(e,t))}function Ajn(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function Sjn(n,e,t){return MZ(n.c,n.b,e,t)}function dU(n,e){return(e&nt)%n.d.length}function ii(n,e){kt.call(this,n),this.a=e}function bU(n,e){xq.call(this,n),this.a=e}function nD(n,e){xq.call(this,n),this.a=e}function Pjn(n,e){this.c=n,Ld.call(this,e)}function Ijn(n,e){this.a=n,Omn.call(this,e)}function l8(n,e){this.a=n,Omn.call(this,e)}function Ojn(n){this.a=(is(n,Pb),new Pc(n))}function Djn(n){this.a=(is(n,Pb),new Pc(n))}function a8(n){return!n.a&&(n.a=new Rr),n.a}function $jn(n){return n>8?0:n+1}function mue(n,e){return qn(),n==e?0:n?1:-1}function wU(n,e,t){return m2(n,u(e,22),t)}function kue(n,e,t){return n.apply(e,t)}function Fjn(n,e,t){return n.a+=Hs(e,0,t),n}function gU(n,e){var t;return t=n.e,n.e=e,t}function yue(n,e){var t;t=n[eN],t.call(n,e)}function jue(n,e){var t;t=n[eN],t.call(n,e)}function X0(n,e){n.a.Vc(n.b,e),++n.b,n.c=-1}function xjn(n){Eu(n.e),n.d.b=n.d,n.d.a=n.d}function d8(n){n.b?d8(n.b):n.f.c.zc(n.e,n.d)}function Eue(n,e,t){ca(),Svn(n,e.Ce(n.a,t))}function Cue(n,e){return nO(p$n(n.a,e,!0))}function Tue(n,e){return nO(v$n(n.a,e,!0))}function bo(n,e){return pj(new Array(e),n)}function eD(n){return String.fromCharCode(n)}function Mue(n){return n==null?null:n.message}function Ljn(){this.a=new X,this.b=new X}function Njn(){this.a=new LH,this.b=new Umn}function Bjn(){this.b=new Li,this.c=new X}function pU(){this.d=new Li,this.e=new Li}function vU(){this.n=new Li,this.o=new Li}function kE(){this.n=new i2,this.i=new d2}function Rjn(){this.a=new v4n,this.b=new cwn}function _jn(){this.a=new X,this.d=new X}function Kjn(){this.b=new fi,this.a=new fi}function Hjn(){this.b=new we,this.a=new we}function qjn(){this.b=new E8n,this.a=new sgn}function Gjn(){kE.call(this),this.a=new Li}function T5(n){Jbe.call(this,n,(FC(),vR))}function mU(n,e,t,i){xE.call(this,n,e,t,i)}function Aue(n,e,t){t!=null&&JC(e,rx(n,t))}function Sue(n,e,t){t!=null&&YC(e,rx(n,t))}function kU(n,e,t){return t=ss(n,e,11,t),t}function st(n,e){return n.a+=e.a,n.b+=e.b,n}function ki(n,e){return n.a-=e.a,n.b-=e.b,n}function Pue(n,e){return n.n.a=(_n(e),e+10)}function Iue(n,e){return n.n.a=(_n(e),e+10)}function Oue(n,e){return e==n||o4(sM(e),n)}function zjn(n,e){return it(n.a,e,"")==null}function Due(n,e){return H9(),!K3(e.d.i,n)}function $ue(n,e){tl(n.f)?Qme(n,e):Fve(n,e)}function Fue(n,e){var t;return t=e.Hh(n.a),t}function V0(n,e){vr.call(this,rm+n+Ra+e)}function g2(n,e,t,i){V.call(this,n,e,t,i)}function yU(n,e,t,i){V.call(this,n,e,t,i)}function Ujn(n,e,t,i){yU.call(this,n,e,t,i)}function Wjn(n,e,t,i){zE.call(this,n,e,t,i)}function tD(n,e,t,i){zE.call(this,n,e,t,i)}function jU(n,e,t,i){zE.call(this,n,e,t,i)}function Xjn(n,e,t,i){tD.call(this,n,e,t,i)}function EU(n,e,t,i){tD.call(this,n,e,t,i)}function Fn(n,e,t,i){jU.call(this,n,e,t,i)}function Vjn(n,e,t,i){EU.call(this,n,e,t,i)}function Qjn(n,e,t,i){yW.call(this,n,e,t,i)}function Jjn(n,e,t){this.a=n,Vz.call(this,e,t)}function Yjn(n,e,t){this.c=e,this.b=t,this.a=n}function xue(n,e,t){return n.d=u(e.Kb(t),164)}function CU(n,e){return n.Aj().Nh().Kh(n,e)}function TU(n,e){return n.Aj().Nh().Ih(n,e)}function Zjn(n,e){return _n(n),B(n)===B(e)}function An(n,e){return _n(n),B(n)===B(e)}function iD(n,e){return nO(p$n(n.a,e,!1))}function rD(n,e){return nO(v$n(n.a,e,!1))}function Lue(n,e){return n.b.sd(new D7n(n,e))}function Nue(n,e){return n.b.sd(new $7n(n,e))}function nEn(n,e){return n.b.sd(new F7n(n,e))}function MU(n,e,t){return n.lastIndexOf(e,t)}function Bue(n,e,t){return Zt(n[e.b],n[t.b])}function Rue(n,e){return H(e,(nn(),Jk),n)}function _ue(n,e){return Uc(e.a.d.p,n.a.d.p)}function Kue(n,e){return Uc(n.a.d.p,e.a.d.p)}function Hue(n,e){return Zt(n.c-n.s,e.c-e.s)}function eEn(n){return n.c?Fr(n.c.a,n,0):-1}function que(n){return n<100?null:new Q1(n)}function p2(n){return n==td||n==jh||n==Ac}function tEn(n,e){return I(e,15)&&oBn(n.c,e)}function Gue(n,e){pf||e&&(n.d=e)}function cD(n,e){var t;return t=e,!!VV(n,t)}function AU(n,e){this.c=n,DD.call(this,n,e)}function iEn(n){this.c=n,FO.call(this,IM,0)}function rEn(n,e){Voe.call(this,n,n.length,e)}function zue(n,e,t){return u(n.c,69).lk(e,t)}function yE(n,e,t){return u(n.c,69).mk(e,t)}function Uue(n,e,t){return tue(n,u(e,332),t)}function SU(n,e,t){return iue(n,u(e,332),t)}function Wue(n,e,t){return txn(n,u(e,332),t)}function cEn(n,e,t){return zve(n,u(e,332),t)}function M5(n,e){return e==null?null:ab(n.b,e)}function PU(n){return G0(n)?(_n(n),n):n.ke()}function jE(n){return!isNaN(n)&&!isFinite(n)}function uEn(n){Df(),this.a=(Pn(),new Wp(n))}function b8(n){h3(),this.d=n,this.a=new gw}function ks(n,e,t){this.a=n,this.b=e,this.c=t}function sEn(n,e,t){this.a=n,this.b=e,this.c=t}function oEn(n,e,t){this.d=n,this.b=t,this.a=e}function uD(n){yyn(this),_s(this),Vi(this,n)}function du(n){RO(this),GU(this.c,0,n.Pc())}function fEn(n){Uu(n.a),uPn(n.c,n.b),n.b=null}function hEn(n){this.a=n,Zf(),eu(Date.now())}function lEn(){lEn=N,Xin=new ou,XA=new ou}function sD(){sD=N,Rin=new iln,Pzn=new rln}function aEn(){aEn=N,Nne=F(Zn,rn,1,0,5,1)}function dEn(){dEn=N,eee=F(Zn,rn,1,0,5,1)}function IU(){IU=N,tee=F(Zn,rn,1,0,5,1)}function Df(){Df=N,new Bq((Pn(),Pn(),cr))}function Xue(n){return FC(),$e((pPn(),Dzn),n)}function Vue(n){return hf(),$e((LSn(),Bzn),n)}function Que(n){return $T(),$e((qAn(),Gzn),n)}function Jue(n){return RC(),$e((GAn(),zzn),n)}function Yue(n){return dM(),$e((IOn(),Uzn),n)}function Zue(n){return _o(),$e(($Sn(),Vzn),n)}function nse(n){return Cu(),$e((FSn(),Jzn),n)}function ese(n){return Jc(),$e((xSn(),Zzn),n)}function tse(n){return SM(),$e((Ukn(),jUn),n)}function ise(n){return Hd(),$e((mPn(),CUn),n)}function rse(n){return K2(),$e((kPn(),MUn),n)}function cse(n){return d6(),$e((yPn(),PUn),n)}function use(n){return Aj(),$e((yAn(),IUn),n)}function sse(n){return _C(),$e((zAn(),WUn),n)}function ose(n){return W5(),$e((NSn(),bWn),n)}function fse(n){return Qi(),$e((JPn(),vWn),n)}function hse(n){return G3(),$e((vPn(),EWn),n)}function lse(n){return qd(),$e((BSn(),PWn),n)}function OU(n,e){if(!n)throw T(new Hn(e))}function ase(n){return Qn(),$e((vIn(),$Wn),n)}function DU(n){xE.call(this,n.d,n.c,n.a,n.b)}function oD(n){xE.call(this,n.d,n.c,n.a,n.b)}function $U(n,e,t){this.b=n,this.c=e,this.a=t}function EE(n,e,t){this.b=n,this.a=e,this.c=t}function bEn(n,e,t){this.a=n,this.b=e,this.c=t}function FU(n,e,t){this.a=n,this.b=e,this.c=t}function wEn(n,e,t){this.a=n,this.b=e,this.c=t}function xU(n,e,t){this.a=n,this.b=e,this.c=t}function gEn(n,e,t){this.b=n,this.a=e,this.c=t}function CE(n,e,t){this.e=e,this.b=n,this.d=t}function dse(n,e,t){return ca(),n.a.Od(e,t),e}function fD(n){var e;return e=new Dln,e.e=n,e}function LU(n){var e;return e=new Zmn,e.b=n,e}function w8(){w8=N,sS=new Fdn,oS=new xdn}function wo(){wo=N,WWn=new pbn,XWn=new vbn}function bse(n){return aT(),$e((EPn(),HWn),n)}function wse(n){return ff(),$e((TPn(),JWn),n)}function gse(n){return lM(),$e((mOn(),cXn),n)}function pse(n){return q2(),$e((yIn(),uXn),n)}function vse(n){return OC(),$e((JAn(),sXn),n)}function mse(n){return F2(),$e((RSn(),oXn),n)}function kse(n){return Vw(),$e((UPn(),ZWn),n)}function yse(n){return Kd(),$e((HSn(),rXn),n)}function jse(n){return VC(),$e((_Sn(),fXn),n)}function Ese(n){return Pa(),$e((GPn(),hXn),n)}function Cse(n){return V8(),$e((WAn(),lXn),n)}function Tse(n){return ya(),$e((KSn(),dXn),n)}function Mse(n){return eM(),$e((TIn(),bXn),n)}function Ase(n){return K8(),$e((XAn(),wXn),n)}function Sse(n){return A7(),$e((EIn(),gXn),n)}function Pse(n){return h4(),$e((jIn(),pXn),n)}function Ise(n){return or(),$e((zOn(),vXn),n)}function Ose(n){return q3(),$e((GSn(),mXn),n)}function Dse(n){return Nh(),$e((qSn(),yXn),n)}function $se(n){return kC(),$e((YAn(),jXn),n)}function Fse(n){return Ss(),$e((WPn(),EXn),n)}function xse(n){return JT(),$e((CIn(),BQn),n)}function Lse(n){return i6(),$e((zSn(),RQn),n)}function Nse(n){return wb(),$e((MPn(),_Qn),n)}function Bse(n){return ur(),$e((XSn(),UQn),n)}function Rse(n){return Zw(),$e((vOn(),HQn),n)}function _se(n){return Rh(),$e((WSn(),qQn),n)}function Kse(n){return z8(),$e((QAn(),GQn),n)}function Hse(n){return oT(),$e((USn(),WQn),n)}function qse(n){return b6(),$e((zPn(),KQn),n)}function Gse(n){return x8(),$e((VAn(),XQn),n)}function zse(n){return Q3(),$e((QSn(),VQn),n)}function Use(n){return uT(),$e((JSn(),QQn),n)}function Wse(n){return dT(),$e((VSn(),JQn),n)}function Xse(n){return _d(),$e((YSn(),hJn),n)}function Vse(n){return z5(),$e((nSn(),wJn),n)}function Qse(n){return Ff(),$e((eSn(),jJn),n)}function Jse(n){return ef(),$e((tSn(),CJn),n)}function Yse(n){return No(),$e((ZAn(),RJn),n)}function Zse(n){return Id(),$e((iSn(),UJn),n)}function noe(n){return c4(),$e((jPn(),WJn),n)}function eoe(n){return k6(),$e((MIn(),VJn),n)}function toe(n){return aC(),$e((uSn(),fYn),n)}function ioe(n){return iT(),$e((cSn(),wYn),n)}function roe(n){return gC(),$e((rSn(),hYn),n)}function coe(n){return CT(),$e((ZSn(),pYn),n)}function uoe(n){return $C(),$e((sSn(),vYn),n)}function soe(n){return f7(),$e((nPn(),mYn),n)}function ooe(n){return qT(),$e((CPn(),FYn),n)}function foe(n){return sT(),$e((tPn(),xYn),n)}function hoe(n){return ET(),$e((ePn(),LYn),n)}function loe(n){return g4(),$e((QPn(),tZn),n)}function aoe(n){return w7(),$e((iPn(),iZn),n)}function doe(n){return Pj(),$e((mAn(),rZn),n)}function boe(n){return Ij(),$e((vAn(),uZn),n)}function woe(n){return L8(),$e((fSn(),sZn),n)}function goe(n){return P7(),$e((XPn(),oZn),n)}function poe(n){return Jv(),$e((kAn(),CZn),n)}function voe(n){return c7(),$e((oSn(),TZn),n)}function moe(n){return Ho(),$e((VPn(),OZn),n)}function koe(n){return y1(),$e((kOn(),$Zn),n)}function yoe(n){return oh(),$e((kIn(),FZn),n)}function joe(n){return vb(),$e((mIn(),_Zn),n)}function Eoe(n){return rr(),$e((Wkn(),RWn),n)}function Coe(n){return B3(),$e((UAn(),BWn),n)}function Toe(n){return sr(),$e((YPn(),ene),n)}function Moe(n){return sf(),$e((cPn(),tne),n)}function Aoe(n){return Hh(),$e((PPn(),ine),n)}function Soe(n){return ZT(),$e((SIn(),rne),n)}function Poe(n){return _h(),$e((rPn(),une),n)}function Ioe(n){return cs(),$e((SPn(),one),n)}function Ooe(n){return jb(),$e((POn(),fne),n)}function Doe(n){return qw(),$e((ZPn(),hne),n)}function $oe(n){return Ti(),$e((bIn(),lne),n)}function Foe(n){return Tu(),$e((AIn(),ane),n)}function xoe(n){return Vu(),$e((OPn(),vne),n)}function Loe(n){return xu(),$e((UOn(),mne),n)}function Noe(n){return J(),$e((nIn(),dne),n)}function Boe(n){return AT(),$e((IPn(),kne),n)}function Roe(n){return Xu(),$e((APn(),Ene),n)}function _oe(n){return d4(),$e((yOn(),Lne),n)}function Koe(n,e){return _n(n),n+(_n(e),e)}function Hoe(n,e){return Zf(),me(R(n.a),e)}function qoe(n,e){return Zf(),me(R(n.a),e)}function hD(n,e){this.c=n,this.a=e,this.b=e-n}function pEn(n,e,t){this.a=n,this.b=e,this.c=t}function NU(n,e,t){this.a=n,this.b=e,this.c=t}function BU(n,e,t){this.a=n,this.b=e,this.c=t}function vEn(n,e,t){this.a=n,this.b=e,this.c=t}function mEn(n,e,t){this.a=n,this.b=e,this.c=t}function s1(n,e,t){this.e=n,this.a=e,this.c=t}function kEn(n,e,t){ms(),QW.call(this,n,e,t)}function lD(n,e,t){ms(),FW.call(this,n,e,t)}function RU(n,e,t){ms(),FW.call(this,n,e,t)}function _U(n,e,t){ms(),FW.call(this,n,e,t)}function yEn(n,e,t){ms(),lD.call(this,n,e,t)}function KU(n,e,t){ms(),lD.call(this,n,e,t)}function jEn(n,e,t){ms(),KU.call(this,n,e,t)}function EEn(n,e,t){ms(),RU.call(this,n,e,t)}function CEn(n,e,t){ms(),_U.call(this,n,e,t)}function g8(n,e){return pe(n),pe(e),new z8n(n,e)}function v2(n,e){return pe(n),pe(e),new NEn(n,e)}function Goe(n,e){return pe(n),pe(e),new BEn(n,e)}function zoe(n,e){return pe(n),pe(e),new W8n(n,e)}function u(n,e){return A5(n==null||WF(n,e)),n}function f3(n){var e;return e=new X,_$(e,n),e}function Uoe(n){var e;return e=new fi,_$(e,n),e}function TEn(n){var e;return e=new Wq,nF(e,n),e}function p8(n){var e;return e=new Ct,nF(e,n),e}function Woe(n){return!n.e&&(n.e=new X),n.e}function Xoe(n){return!n.c&&(n.c=new Bp),n.c}function W(n,e){return n.c[n.c.length]=e,!0}function MEn(n,e){this.c=n,this.b=e,this.a=!1}function HU(n){this.d=n,Ovn(this),this.b=_fe(n.d)}function AEn(){this.a=";,;",this.b="",this.c=""}function Voe(n,e,t){SCn.call(this,e,t),this.a=n}function SEn(n,e,t){this.b=n,Hkn.call(this,e,t)}function qU(n,e,t){this.c=n,Nj.call(this,e,t)}function GU(n,e,t){aY(t,0,n,e,t.length,!1)}function eh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function Qoe(n,e){e&&(n.b=e,n.a=(fl(e),e.a))}function zU(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function UU(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function WU(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function XU(n){return bl(the($r(n)?Ks(n):n))}function Joe(n,e){return Uc(GEn(n.d),GEn(e.d))}function Yoe(n,e){return e==(J(),Gn)?n.c:n.d}function h3(){h3=N,don=(J(),Gn),dP=Vn}function PEn(){this.b=K(Y(cn((Go(),xR))))}function IEn(n){return ca(),F(Zn,rn,1,n,5,1)}function Zoe(n){return new fn(n.c+n.b,n.d+n.a)}function nfe(n,e){return Sj(),Uc(n.d.p,e.d.p)}function aD(n){return ne(n.b!=0),Ts(n,n.a.a)}function efe(n){return ne(n.b!=0),Ts(n,n.c.b)}function VU(n,e){if(!n)throw T(new R9n(e))}function TE(n,e){if(!n)throw T(new Hn(e))}function QU(n,e,t){t3.call(this,n,e),this.b=t}function v8(n,e,t){lz.call(this,n,e),this.c=t}function OEn(n,e,t){oIn.call(this,e,t),this.d=n}function JU(n){IU(),Yy.call(this),this.th(n)}function DEn(n,e,t){this.a=n,Ew.call(this,e,t)}function $En(n,e,t){this.a=n,Ew.call(this,e,t)}function ME(n,e,t){lz.call(this,n,e),this.c=t}function FEn(){T3(),khe.call(this,(Z1(),uo))}function xEn(n){return n!=null&&!$F(n,a9,d9)}function tfe(n,e){return(GDn(n)<<4|GDn(e))&Ut}function ife(n,e){return QE(),ex(n,e),new oTn(n,e)}function sa(n,e){var t;n.n&&(t=e,W(n.f,t))}function l3(n,e,t){var i;i=new Z0(t),Ro(n,e,i)}function rfe(n,e){var t;return t=n.c,wV(n,e),t}function YU(n,e){return e<0?n.g=-1:n.g=e,n}function AE(n,e){return H0e(n),n.a*=e,n.b*=e,n}function LEn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function Ke(n,e){return Kt(n,e,n.c.b,n.c),!0}function ZU(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function dD(n){this.b=n,this.a=Ed(this.b.a).Ed()}function NEn(n,e){this.b=n,this.a=e,TI.call(this)}function BEn(n,e){this.a=n,this.b=e,TI.call(this)}function REn(n,e){SCn.call(this,e,1040),this.a=n}function m8(n){return n==0||isNaN(n)?n:n<0?-1:1}function cfe(n){return C2(),fh(n)==At(ml(n))}function ufe(n){return C2(),ml(n)==At(fh(n))}function jd(n,e){return v6(n,new t3(e.a,e.b))}function sfe(n){return!Xi(n)&&n.c.i.c==n.d.i.c}function SE(n){var e;return e=n.n,n.a.b+e.d+e.a}function _En(n){var e;return e=n.n,n.e.b+e.d+e.a}function nW(n){var e;return e=n.n,n.e.a+e.b+e.c}function KEn(n){return Je(),new th(0,n)}function ofe(n){return n.a?n.a:WD(n)}function A5(n){if(!n)throw T(new Up(null))}function HEn(){HEn=N,mH=(Pn(),new OI(XB))}function PE(){PE=N,new JQ((HI(),uR),(qI(),cR))}function qEn(){qEn=N,jin=F(Wi,q,19,256,0,1)}function bD(n,e,t,i){MQ.call(this,n,e,t,i,0,0)}function ffe(n,e,t){return it(n.b,u(t.b,17),e)}function hfe(n,e,t){return it(n.b,u(t.b,17),e)}function lfe(n,e){return W(n,new fn(e.a,e.b))}function afe(n,e){return n.c=e)throw T(new qq)}function Xfe(n,e,t){return Mt(e,0,rW(e[0],t[0])),e}function Vfe(n,e,t){e.Ye(t,K(Y(te(n.b,t)))*n.a)}function ACn(n,e,t){return eg(),R3(n,e)&&R3(n,t)}function D5(n){return Tu(),!n.Hc(n1)&&!n.Hc(Gl)}function qE(n){return new fn(n.c+n.b/2,n.d+n.a/2)}function MD(n,e){return e.kh()?pl(n.b,u(e,49)):e}function kW(n,e){this.e=n,this.d=e&64?e|Nf:e}function SCn(n,e){this.c=0,this.d=n,this.b=e|64|Nf}function GE(n){this.b=new Pc(11),this.a=(Ow(),n)}function AD(n){this.b=null,this.a=(Ow(),n||Lin)}function PCn(n){this.a=Y$n(n.a),this.b=new du(n.b)}function ICn(n){this.b=n,b2.call(this,n),$yn(this)}function OCn(n){this.b=n,u8.call(this,n),Fyn(this)}function Y0(n,e,t){this.a=n,g2.call(this,e,t,5,6)}function yW(n,e,t,i){this.b=n,Jt.call(this,e,t,i)}function wi(n,e,t,i,r){D$.call(this,n,e,t,i,r,-1)}function $5(n,e,t,i,r){R8.call(this,n,e,t,i,r,-1)}function V(n,e,t,i){Jt.call(this,n,e,t),this.b=i}function zE(n,e,t,i){v8.call(this,n,e,t),this.b=i}function DCn(n){xkn.call(this,n,!1),this.a=!1}function $Cn(n,e){this.b=n,bvn.call(this,n.b),this.a=e}function FCn(n,e){nb(),Yie.call(this,n,mT(new Ku(e)))}function UE(n,e){return Je(),new xW(n,e,0)}function SD(n,e){return Je(),new xW(6,n,e)}function Qfe(n,e){return An(n.substr(0,e.length),e)}function zu(n,e){return mi(e)?QD(n,e):!!Ar(n.f,e)}function Oi(n,e){for(_n(e);n.Ob();)e.td(n.Pb())}function Pw(n,e,t){jl(),this.e=n,this.d=e,this.a=t}function o1(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function jW(n){var e;for(e=n;e.f;)e=e.f;return e}function y2(n){var e;return e=t6(n),ne(e!=null),e}function Jfe(n){var e;return e=Lge(n),ne(e!=null),e}function d3(n,e){var t;return t=n.a.gc(),$X(e,t),t-e}function EW(n,e){var t;for(t=0;t0?j.Math.log(n/e):-100}function xCn(n,e){return fc(n,e)<0?-1:fc(n,e)>0?1:0}function SW(n,e,t){return MRn(n,u(e,46),u(t,167))}function LCn(n,e){return u(vW(Ed(n.a)).Xb(e),42).cd()}function uhe(n,e){return P0e(e,n.length),new REn(n,e)}function DD(n,e){this.d=n,ie.call(this,n),this.e=e}function Cd(n){this.d=(_n(n),n),this.a=0,this.c=IM}function PW(n,e){cd.call(this,1),this.a=n,this.b=e}function NCn(n,e){return n.c?NCn(n.c,e):W(n.b,e),n}function she(n,e,t){var i;return i=ub(n,e),g$(n,e,t),i}function IW(n,e){var t;return t=n.slice(0,e),WX(t,n)}function BCn(n,e,t){var i;for(i=0;i=n.g}function KD(n,e,t){var i;return i=Y$(n,e,t),rZ(n,i)}function j2(n,e){var t;t=n.a.length,ub(n,t),g$(n,t,e)}function ZCn(n,e){var t;t=console[n],t.call(console,e)}function nTn(n,e){var t;++n.j,t=n.Vi(),n.Ii(n.oi(t,e))}function mhe(n,e,t){u(e.b,65),Yc(e.a,new NU(n,t,e))}function FW(n,e,t){uj.call(this,e),this.a=n,this.b=t}function xW(n,e,t){cd.call(this,n),this.a=e,this.b=t}function LW(n,e,t){this.a=n,xq.call(this,e),this.b=t}function eTn(n,e,t){this.a=n,aX.call(this,8,e,null,t)}function khe(n){this.a=(_n(xe),xe),this.b=n,new tG}function tTn(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function NW(n){this.c=n,this.b=n.a.d.a,rU(n.a.e,this)}function Uu(n){z0(n.c!=-1),n.d.$c(n.c),n.b=n.c,n.c=-1}function L5(n){return j.Math.sqrt(n.a*n.a+n.b*n.b)}function Md(n,e){return a3(e,n.a.c.length),un(n.a,e)}function $f(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function yhe(n){return 0>=n?new PG:sbe(n-1)}function jhe(n){return aw?QD(aw,n):!1}function iTn(n){return n?n.dc():!n.Kc().Ob()}function Gi(n){return!n.a&&n.c?n.c.b:n.a}function Ehe(n){return!n.a&&(n.a=new Jt(zl,n,4)),n.a}function Ad(n){return!n.d&&(n.d=new Jt(ar,n,1)),n.d}function _n(n){if(n==null)throw T(new Nv);return n}function N5(n){n.c?n.c.He():(n.d=!0,S8e(n))}function fl(n){n.c?fl(n.c):(Ta(n),n.d=!0)}function rTn(n){KW(n.a),n.b=F(Zn,rn,1,n.b.length,5,1)}function Che(n,e){return Uc(e.j.c.length,n.j.c.length)}function The(n,e){n.c<0||n.b.b=0?n.Bh(t):bY(n,e)}function cTn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function Ahe(n){if(n.p!=4)throw T(new fu);return n.e}function She(n){if(n.p!=3)throw T(new fu);return n.e}function Phe(n){if(n.p!=6)throw T(new fu);return n.f}function Ihe(n){if(n.p!=6)throw T(new fu);return n.k}function Ohe(n){if(n.p!=3)throw T(new fu);return n.j}function Dhe(n){if(n.p!=4)throw T(new fu);return n.j}function BW(n){return!n.b&&(n.b=new sj(new KI)),n.b}function Sd(n){return n.c==-2&&Pte(n,Qve(n.g,n.b)),n.c}function g3(n,e){var t;return t=LD("",n),t.n=e,t.i=1,t}function $he(n,e){yD(u(e.b,65),n),Yc(e.a,new Aq(n))}function Fhe(n,e){me((!n.a&&(n.a=new l8(n,n)),n.a),e)}function uTn(n,e){this.b=n,DD.call(this,n,e),$yn(this)}function sTn(n,e){this.b=n,AU.call(this,n,e),Fyn(this)}function RW(n,e,t,i){bd.call(this,n,e),this.d=t,this.a=i}function VE(n,e,t,i){bd.call(this,n,t),this.a=e,this.f=i}function oTn(n,e){bce.call(this,obe(pe(n),pe(e))),this.a=e}function fTn(){UJ.call(this,Ka,(a8n(),hee)),tEe(this)}function hTn(){UJ.call(this,Vs,(Qp(),g1n)),lje(this)}function lTn(){Oe.call(this,"DELAUNAY_TRIANGULATION",0)}function xhe(n){return String.fromCharCode.apply(null,n)}function it(n,e,t){return mi(e)?kr(n,e,t):_c(n.f,e,t)}function _W(n){return Pn(),n?n.ve():(Ow(),Ow(),Bin)}function Lhe(n,e,t){return L2(),t.pg(n,u(e.cd(),146))}function aTn(n,e){return PE(),new JQ(new Wyn(n),new Uyn(e))}function Nhe(n){return is(n,AL),KC(qi(qi(5,n),n/10|0))}function QE(){QE=N,fzn=new GI(A(M(Ha,1),OM,42,0,[]))}function dTn(n){return!n.d&&(n.d=new _p(n.c.Cc())),n.d}function p3(n){return!n.a&&(n.a=new W9n(n.c.vc())),n.a}function bTn(n){return!n.b&&(n.b=new Wp(n.c.ec())),n.b}function rh(n,e){for(;e-- >0;)n=n<<1|(n<0?1:0);return n}function pc(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function Bhe(n,e){return qn(),u(e.b,19).ai&&++i,i}function Oh(n){var e,t;return t=(e=new ud,e),O3(t,n),t}function UD(n){var e,t;return t=(e=new ud,e),VJ(t,n),t}function Zhe(n,e){var t;return t=te(n.f,e),MV(e,t),null}function WD(n){var e;return e=hbe(n),e||null}function CTn(n){return!n.b&&(n.b=new V(di,n,12,3)),n.b}function n1e(n){return n!=null&&_9(tI,n.toLowerCase())}function e1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function t1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function i1e(n,e){return Zt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function r1e(n,e){return Zt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function TTn(n,e,t){t.a?nu(n,e.b-n.f/2):Zc(n,e.a-n.g/2)}function MTn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ATn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ha(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function STn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function PTn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function ITn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function OTn(n,e){this.a=n,hue.call(this,n,u(n.d,15).Zc(e))}function XD(n){this.f=n,this.c=this.f.e,n.f>0&&qFn(this)}function DTn(n,e,t,i){this.b=n,this.c=i,FO.call(this,e,t)}function $Tn(n){return ne(n.b=0&&An(n.substr(t,e.length),e)}function hl(n,e,t,i,r,c,o){return new v$(n.e,e,t,i,r,c,o)}function QTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function JTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function YTn(n,e){this.g=n,this.d=A(M(vh,1),E1,10,0,[e])}function f1(n,e){this.e=n,this.a=Zn,this.b=yBn(e),this.c=e}function ZTn(n,e){kE.call(this),eV(this),this.a=n,this.c=e}function M8(n,e,t,i){Mt(n.c[e.g],t.g,i),Mt(n.c[t.g],e.g,i)}function ZD(n,e,t,i){Mt(n.c[e.g],e.g,t),Mt(n.b[e.g],e.g,i)}function M1e(){return x8(),A(M(ron,1),z,376,0,[uK,iy])}function A1e(){return K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])}function S1e(){return V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])}function P1e(){return OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])}function I1e(){return kC(),A(M(fun,1),z,420,0,[j_,oun])}function O1e(){return z8(),A(M(non,1),z,421,0,[iK,rK])}function D1e(){return z5(),A(M(bJn,1),z,523,0,[Hm,Km])}function $1e(){return No(),A(M(BJn,1),z,520,0,[tw,Bl])}function F1e(){return Ff(),A(M(yJn,1),z,516,0,[M0,I1])}function x1e(){return ef(),A(M(EJn,1),z,515,0,[Ja,kf])}function L1e(){return Id(),A(M(zJn,1),z,455,0,[Rl,Lg])}function N1e(){return gC(),A(M(Son,1),z,425,0,[yK,Aon])}function B1e(){return aC(),A(M(Mon,1),z,480,0,[kK,Ton])}function R1e(){return iT(),A(M(Pon,1),z,495,0,[EP,mv])}function _1e(){return $C(),A(M(Oon,1),z,426,0,[Ion,TK])}function K1e(){return c7(),A(M(Ffn,1),z,429,0,[DP,$fn])}function H1e(){return L8(),A(M(afn,1),z,430,0,[FK,IP])}function q1e(){return $T(),A(M(Jin,1),z,428,0,[yR,Qin])}function G1e(){return RC(),A(M(Zin,1),z,427,0,[Yin,jR])}function z1e(){return _C(),A(M(Arn,1),z,424,0,[$R,tS])}function U1e(){return B3(),A(M(NWn,1),z,511,0,[_k,UR])}function sC(n,e,t,i){return t>=0?n.jh(e,t,i):n.Sg(null,t,i)}function n$(n){return n.b.b==0?n.a.$e():aD(n.b)}function W1e(n){if(n.p!=5)throw T(new fu);return ge(n.f)}function X1e(n){if(n.p!=5)throw T(new fu);return ge(n.k)}function VW(n){return B(n.a)===B((eF(),gH))&&Vje(n),n.a}function nMn(n){this.a=u(pe(n),271),this.b=(Pn(),new Hz(n))}function eMn(n,e){bte(this,new fn(n.a,n.b)),wte(this,p8(e))}function Id(){Id=N,Rl=new iz(Y2,0),Lg=new iz(Z2,1)}function Ff(){Ff=N,M0=new ez(Z2,0),I1=new ez(Y2,1)}function Od(){rie.call(this,new s2(sb(12))),Bz(!0),this.a=2}function e$(n,e,t){Je(),cd.call(this,n),this.b=e,this.a=t}function QW(n,e,t){ms(),uj.call(this,e),this.a=n,this.b=t}function tMn(n){kE.call(this),eV(this),this.a=n,this.c=!0}function iMn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function oC(n){var e;ebe(n.a),byn(n.a),e=new tj(n.a),TQ(e)}function V1e(n,e){aBn(n,!0),Yc(n.e.wf(),new $U(n,!0,e))}function fC(n,e){return LAn(e),Y0e(n,F(be,Le,25,e,15,1),e)}function Q1e(n,e){return C2(),n==At(fh(e))||n==At(ml(e))}function vc(n,e){return e==null?Vr(Ar(n.f,null)):n5(n.g,e)}function J1e(n){return n.b==0?null:(ne(n.b!=0),Ts(n,n.a.a))}function Gt(n){return Math.max(Math.min(n,nt),-2147483648)|0}function Y1e(n,e){var t=lR[n.charCodeAt(0)];return t??n}function hC(n,e){return tC(n,"set1"),tC(e,"set2"),new Z8n(n,e)}function Z1e(n,e){var t;return t=W0e(n.f,e),st(vE(t),n.f.d)}function R5(n,e){var t,i;return t=e,i=new dI,n_n(n,t,i),i.d}function t$(n,e,t,i){var r;r=new Gjn,e.a[t.g]=r,m2(n.b,i,r)}function JW(n,e,t){var i;i=n.Yg(e),i>=0?n.sh(i,t):_Y(n,e,t)}function Dw(n,e,t){dC(),n&&it(dH,n,e),n&&it($y,n,t)}function rMn(n,e,t){this.i=new X,this.b=n,this.g=e,this.a=t}function lC(n,e,t){this.c=new X,this.e=n,this.f=e,this.b=t}function YW(n,e,t){this.a=new X,this.e=n,this.f=e,this.c=t}function cMn(n,e){oE(this),this.f=e,this.g=n,eC(this),this._d()}function A8(n,e){var t;t=n.q.getHours(),n.q.setDate(e),S6(n,t)}function uMn(n,e){var t;for(pe(e),t=n.a;t;t=t.c)e.Od(t.g,t.i)}function sMn(n){var e;return e=new kj(sb(n.length)),qV(e,n),e}function nle(n){function e(){}return e.prototype=n||{},new e}function ele(n,e){return LOn(n,e)?(FIn(n),!0):!1}function Dh(n,e){if(e==null)throw T(new Nv);return Y2e(n,e)}function tle(n){if(n.qe())return null;var e=n.n;return RA[e]}function S8(n){return n.Db>>16!=3?null:u(n.Cb,33)}function nf(n){return n.Db>>16!=9?null:u(n.Cb,33)}function oMn(n){return n.Db>>16!=6?null:u(n.Cb,79)}function fMn(n){return n.Db>>16!=7?null:u(n.Cb,235)}function hMn(n){return n.Db>>16!=7?null:u(n.Cb,160)}function At(n){return n.Db>>16!=11?null:u(n.Cb,33)}function lMn(n,e){var t;return t=n.Yg(e),t>=0?n.lh(t):Ox(n,e)}function aMn(n,e){var t;return t=new iW(e),dxn(t,n),new du(t)}function ZW(n){var e;return e=n.d,e=n.si(n.f),me(n,e),e.Ob()}function dMn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function i$(n,e){return j.Math.abs(n)0}function bMn(){this.a=new Sh,this.e=new fi,this.g=0,this.i=0}function wMn(n){this.a=n,this.b=F(lJn,q,1944,n.e.length,0,2)}function r$(n,e,t){var i;i=tDn(n,e,t),n.b=new tT(i.c.length)}function ef(){ef=N,Ja=new nz(hN,0),kf=new nz("UP",1)}function aC(){aC=N,kK=new rz(PHn,0),Ton=new rz("FAN",1)}function dC(){dC=N,dH=new we,$y=new we,Ere(Azn,new z2n)}function rle(n){if(n.p!=0)throw T(new fu);return b5(n.f,0)}function cle(n){if(n.p!=0)throw T(new fu);return b5(n.k,0)}function gMn(n){return n.Db>>16!=3?null:u(n.Cb,147)}function y3(n){return n.Db>>16!=6?null:u(n.Cb,235)}function eb(n){return n.Db>>16!=17?null:u(n.Cb,26)}function pMn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.le(e))}function ule(n,e){var t;return t=n.a.get(e),t??new Array}function sle(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),S6(n,t)}function kr(n,e,t){return e==null?_c(n.f,null,t):Gd(n.g,e,t)}function _5(n,e,t,i,r,c){return new Lh(n.e,e,n.aj(),t,i,r,c)}function P8(n,e,t){return n.a=Yu(n.a,0,e)+(""+t)+r8(n.a,e),n}function ole(n,e,t){return W(n.a,(QE(),ex(e,t),new bd(e,t))),n}function nX(n){return _z(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function vMn(n){return _z(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function Ei(n,e){n.d&&Qc(n.d.e,n),n.d=e,n.d&&W(n.d.e,n)}function Hi(n,e){n.c&&Qc(n.c.g,n),n.c=e,n.c&&W(n.c.g,n)}function yr(n,e){n.c&&Qc(n.c.a,n),n.c=e,n.c&&W(n.c.a,n)}function Hr(n,e){n.i&&Qc(n.i.j,n),n.i=e,n.i&&W(n.i.j,n)}function mMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function kMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function yMn(n,e){this.a=n,this.c=Qr(this.a),this.b=new uC(e)}function fle(n){var e;return Ta(n),e=new fi,gt(n,new Vvn(e))}function tb(n,e){if(n<0||n>e)throw T(new vr(cnn+n+unn+e))}function eX(n,e){return lCn(n.a,e)?TW(n,u(e,22).g,null):null}function hle(n){return yF(),qn(),u(n.a,81).d.e!=0}function jMn(){jMn=N,azn=Fe((aj(),A(M(lzn,1),z,538,0,[fR])))}function EMn(){EMn=N,YQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function tX(){tX=N,ZQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function CMn(){CMn=N,eJn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function TMn(){TMn=N,gJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function Zu(){Zu=N,mJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function MMn(){MMn=N,kJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function c$(){c$=N,TJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function AMn(){AMn=N,lYn=ju(new hi,(c4(),Gm),(k6(),lK))}function aa(n,e,t,i){this.c=n,this.d=i,s$(this,e),o$(this,t)}function M2(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function u$(n){this.a=j.Math.cos(n),this.b=j.Math.sin(n)}function s$(n,e){n.a&&Qc(n.a.k,n),n.a=e,n.a&&W(n.a.k,n)}function o$(n,e){n.b&&Qc(n.b.f,n),n.b=e,n.b&&W(n.b.f,n)}function SMn(n,e){mhe(n,n.b,n.c),u(n.b.b,65),e&&u(e.b,65).b}function lle(n,e){vQ(n,e),I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),2)}function f$(n,e){I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),4),Ic(n,e)}function bC(n,e){I(n.Cb,179)&&(u(n.Cb,179).tb=null),Ic(n,e)}function mc(n,e){return er(),R$(e)?new IE(e,n):new i8(e,n)}function ale(n,e){var t,i;t=e.c,i=t!=null,i&&j2(n,new Z0(e.c))}function PMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function IMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function OMn(n,e){var t;return t=new Rs(n),e.c[e.c.length]=t,t}function DMn(n,e){var t;return t=u(ab(T2(n.a),e),14),t?t.gc():0}function $Mn(n){var e;return Ta(n),e=(Ow(),Ow(),Nin),qC(n,e)}function FMn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function iX(n,e){tie.call(this,new s2(sb(n))),is(e,W_n),this.a=e}function ch(n,e,t){KDn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function xMn(n,e,t){var i;KDn(e,t,n.c.length),i=t-e,AG(n.c,e,i)}function dle(n,e){Dyn(n,ge(ci(cl(e,24),FM)),ge(ci(e,FM)))}function Ln(n,e){if(n<0||n>=e)throw T(new vr(cnn+n+unn+e))}function Me(n,e){if(n<0||n>=e)throw T(new wG(cnn+n+unn+e))}function xn(n,e){this.b=(_n(n),n),this.a=e&Ib?e:e|64|Nf}function LMn(n){dyn(this),Wmn(this.a,KV(j.Math.max(8,n))<<1)}function tf(n){return Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a]))}function ble(){return hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])}function wle(){return _o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])}function gle(){return Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])}function ple(){return Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])}function vle(){return qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])}function mle(){return W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])}function kle(){return i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])}function yle(){return F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])}function jle(){return VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])}function Ele(){return ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])}function Cle(){return Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])}function Tle(){return Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])}function Mle(){return q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])}function Ale(){return ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])}function Sle(){return Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])}function Ple(){return oT(),A(M(ion,1),z,375,0,[eon,cK,ton])}function Ile(){return dT(),A(M(hon,1),z,377,0,[fK,pv,ew])}function Ole(){return Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])}function Dle(){return uT(),A(M(fon,1),z,338,0,[oon,oK,son])}function $le(){return _d(),A(M(fJn,1),z,454,0,[ry,_m,aP])}function Fle(){return CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])}function xle(){return f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])}function Lle(){return ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])}function Nle(){return sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])}function Ble(){return w7(),A(M(OK,1),z,437,0,[AP,SP,PP])}function Rle(){return _h(),A(M(Khn,1),z,334,0,[HP,F1,i9])}function _le(){return sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])}function Kle(n,e){return o9e(n,e,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Hle(n,e,t){var i;return i=O6(n,e,!1),i.b<=e&&i.a<=t}function NMn(n,e,t){var i;i=new Jwn,i.b=e,i.a=t,++e.b,W(n.d,i)}function qle(n,e){var t;return t=(_n(n),n).g,Yz(!!t),_n(e),t(e)}function rX(n,e){var t,i;return i=d3(n,e),t=n.a.Zc(i),new Y8n(n,t)}function Gle(n){return n.Db>>16!=6?null:u(Fx(n),235)}function zle(n){if(n.p!=2)throw T(new fu);return ge(n.f)&Ut}function Ule(n){if(n.p!=2)throw T(new fu);return ge(n.k)&Ut}function Wle(n){return n.a==(T3(),uI)&&Ste(n,C9e(n.g,n.b)),n.a}function A2(n){return n.d==(T3(),uI)&&Ite(n,pke(n.g,n.b)),n.d}function y(n){return ne(n.ai?1:0}function BMn(n,e){var t,i;return t=F$(e),i=t,u(te(n.c,i),19).a}function RMn(n,e){var t;for(t=n+"";t.length0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function rAn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function rae(n){return!!n.a&&Ou(n.a.a).i!=0&&!(n.b&&YF(n.b))}function cae(n){return!!n.u&&bc(n.u.a).i!=0&&!(n.n&&JF(n.n))}function cAn(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),16,new tvn(n))}function uae(n,e){return xCn(eu(n.q.getTime()),eu(e.q.getTime()))}function xf(n){return u(lf(n,F(GR,MN,17,n.c.length,0,1)),474)}function I8(n){return u(lf(n,F(vh,E1,10,n.c.length,0,1)),193)}function sae(n){return Zu(),!Xi(n)&&!(!Xi(n)&&n.c.i.c==n.d.i.c)}function uAn(n,e,t){var i;i=(pe(n),new du(n)),N3e(new mMn(i,e,t))}function O8(n,e,t){var i;i=(pe(n),new du(n)),B3e(new kMn(i,e,t))}function sAn(n,e){var t;return t=1-e,n.a[t]=eT(n.a[t],t),eT(n,e)}function oAn(n,e){var t;n.e=new oG,t=Cb(e),bi(t,n.c),eBn(n,t,0)}function Ci(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.a,r)}function Z(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.b,r)}function po(n){var e,t,i;return e=new HCn,t=Zx(e,n),UEe(e),i=t,i}function hX(){var n,e,t;return e=(t=(n=new ud,n),t),W(M1n,e),e}function pC(n){return n.j.c=F(Zn,rn,1,0,5,1),KW(n.c),Khe(n.a),n}function $w(n){return Qv(),I(n.g,10)?u(n.g,10):null}function oae(n){return Iw(n).dc()?!1:(sce(n,new Np),!0)}function fae(n){if(!("stack"in n))try{throw n}catch{}return n}function D8(n,e){if(n<0||n>=e)throw T(new vr(j6e(n,e)));return n}function fAn(n,e,t){if(n<0||et)throw T(new vr(W5e(n,e,t)))}function d$(n,e){if(ri(n.a,e),e.d)throw T(new _r(wKn));e.d=n}function b$(n,e){if(e.$modCount!=n.$modCount)throw T(new vs)}function hAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function lAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function aAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function hae(n,e){return n.a<=n.b?(e.ud(n.a++),!0):!1}function $d(n){var e;return $r(n)?(e=n,e==-0?0:e):m0e(n)}function vC(n){var e;return fl(n),e=new fln,vw(n.a,new Wvn(e)),e}function dAn(n){var e;return fl(n),e=new oln,vw(n.a,new Uvn(e)),e}function Ii(n,e){this.a=n,$v.call(this,n),tb(e,n.gc()),this.b=e}function lX(n){this.e=n,this.b=this.e.a.entries(),this.a=new Array}function lae(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),273,new evn(n))}function mC(n){return new Pc((is(n,AL),KC(qi(qi(5,n),n/10|0))))}function bAn(n){return u(lf(n,F(FWn,UKn,11,n.c.length,0,1)),1943)}function aae(n,e,t){return t.f.c.length>0?SW(n.a,e,t):SW(n.b,e,t)}function dae(n,e,t){n.d&&Qc(n.d.e,n),n.d=e,n.d&&Q0(n.d.e,t,n)}function w$(n,e){uTe(e,n),WU(n.d),WU(u(k(n,(nn(),eP)),207))}function H5(n,e){cTe(e,n),UU(n.d),UU(u(k(n,(nn(),eP)),207))}function Fd(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.fe()),i}function j3(n,e){var t,i;return t=ub(n,e),i=null,t&&(i=t.ie()),i}function q5(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.ie()),i}function $h(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=tY(t)),i}function bae(n,e,t){var i;return i=i4(t),gM(n.g,i,e),gM(n.i,e,t),e}function wae(n,e,t){var i;i=q2e();try{return kue(n,e,t)}finally{Mae(i)}}function wAn(n){var e;e=n.Wg(),this.a=I(e,69)?u(e,69).Zh():e.Kc()}function hi(){P9n.call(this),this.j.c=F(Zn,rn,1,0,5,1),this.a=-1}function aX(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function gAn(n,e,t,i){this.e=i,this.d=null,this.c=n,this.a=e,this.b=t}function dX(n,e,t){this.d=new r6n(this),this.e=n,this.i=e,this.f=t}function kC(){kC=N,j_=new QG(I4,0),oun=new QG("TOP_LEFT",1)}function pAn(){pAn=N,aon=aTn(Q(1),Q(4)),lon=aTn(Q(1),Q(2))}function vAn(){vAn=N,uZn=Fe((Ij(),A(M(cZn,1),z,551,0,[$K])))}function mAn(){mAn=N,rZn=Fe((Pj(),A(M(lfn,1),z,482,0,[DK])))}function kAn(){kAn=N,CZn=Fe((Jv(),A(M(Dfn,1),z,530,0,[hy])))}function yAn(){yAn=N,IUn=Fe((Aj(),A(M(krn,1),z,481,0,[SR])))}function gae(){return Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])}function pae(){return FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])}function vae(){return d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])}function mae(){return K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])}function kae(){return G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])}function yae(){return aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])}function jAn(n,e,t,i){return I(t,54)?new ojn(n,e,t,i):new pW(n,e,t,i)}function jae(){return ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])}function Eae(n){var e;return n.j==(J(),ae)&&(e=GLn(n),au(e,Vn))}function Cae(n,e){var t;t=e.a,Hi(t,e.c.d),Ei(t,e.d.d),fb(t.a,n.n)}function EAn(n,e){return u(yd(KE(u(ct(n.k,e),15).Oc(),jg)),113)}function CAn(n,e){return u(yd(HE(u(ct(n.k,e),15).Oc(),jg)),113)}function Tae(n){return new xn(jbe(u(n.a.dd(),14).gc(),n.a.cd()),16)}function E3(n){return I(n,14)?u(n,14).dc():!n.Kc().Ob()}function S2(n){return Qv(),I(n.g,145)?u(n.g,145):null}function TAn(n){if(n.e.g!=n.b)throw T(new vs);return!!n.c&&n.d>0}function Re(n){return ne(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function bX(n,e){_n(e),Mt(n.a,n.c,e),n.c=n.c+1&n.a.length-1,MFn(n)}function ll(n,e){_n(e),n.b=n.b-1&n.a.length-1,Mt(n.a,n.b,e),MFn(n)}function MAn(n,e){var t;for(t=n.j.c.length;t0&&gc(n.g,0,e,0,n.i),e}function IAn(n,e){$j();var t;return t=u(te(eI,n),55),!t||t.wj(e)}function Bae(n){if(n.p!=1)throw T(new fu);return ge(n.f)<<24>>24}function Rae(n){if(n.p!=1)throw T(new fu);return ge(n.k)<<24>>24}function _ae(n){if(n.p!=7)throw T(new fu);return ge(n.k)<<16>>16}function Kae(n){if(n.p!=7)throw T(new fu);return ge(n.f)<<16>>16}function Fh(n){var e;for(e=0;n.Ob();)n.Pb(),e=qi(e,1);return KC(e)}function OAn(n,e){var t;return t=new R0,n.xd(t),t.a+="..",e.yd(t),t.a}function Hae(n,e,t){var i;i=u(te(n.g,t),57),W(n.a.c,new Pi(e,i))}function qae(n,e,t){return TD(Y(Vr(Ar(n.f,e))),Y(Vr(Ar(n.f,t))))}function yC(n,e,t){return vM(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Gae(n,e,t){return m4(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function zae(n,e,t){return b9e(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function pX(n,e){return n==(Qn(),ti)&&e==ti?4:n==ti||e==ti?8:32}function DAn(n,e){return B(e)===B(n)?"(this Map)":e==null?iu:Lr(e)}function Uae(n,e){return u(e==null?Vr(Ar(n.f,null)):n5(n.g,e),281)}function $An(n,e,t){var i;return i=i4(t),it(n.b,i,e),it(n.c,e,t),e}function FAn(n,e){var t;for(t=e;t;)U0(n,t.i,t.j),t=At(t);return n}function vX(n,e){var t;return t=C8(f3(new x$(n,e))),DE(new x$(n,e)),t}function uh(n,e){er();var t;return t=u(n,66).Mj(),M5e(t,e),t.Ok(e)}function Wae(n,e,t,i,r){var c;c=m9e(r,t,i),W(e,p6e(r,c)),o5e(n,r,e)}function xAn(n,e,t){n.i=0,n.e=0,e!=t&&(uDn(n,e,t),cDn(n,e,t))}function mX(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+Tl),S6(n,t)}function Xae(n,e,t){if(t){var i=t.ee();n.a[e]=i(t)}else delete n.a[e]}function g$(n,e,t){if(t){var i=t.ee();t=i(t)}else t=void 0;n.a[e]=t}function LAn(n){if(n<0)throw T(new K9n("Negative array size: "+n))}function bc(n){return n.n||(Iu(n),n.n=new wCn(n,ar,n),Mr(n)),n.n}function G5(n){return ne(n.a=0&&n.a[t]===e[t];t--);return t<0}function KAn(n,e){V3();var t;return t=n.j.g-e.j.g,t!=0?t:0}function HAn(n,e){return _n(e),n.a!=null?$fe(e.Kb(n.a)):UA}function jC(n){var e;return n?new iW(n):(e=new Sh,nF(e,n),e)}function es(n,e){var t;return e.b.Kb(FPn(n,e.c.Ee(),(t=new Jvn(e),t)))}function EC(n){_J(),Dyn(this,ge(ci(cl(n,24),FM)),ge(ci(n,FM)))}function qAn(){qAn=N,Gzn=Fe(($T(),A(M(Jin,1),z,428,0,[yR,Qin])))}function GAn(){GAn=N,zzn=Fe((RC(),A(M(Zin,1),z,427,0,[Yin,jR])))}function zAn(){zAn=N,WUn=Fe((_C(),A(M(Arn,1),z,424,0,[$R,tS])))}function UAn(){UAn=N,BWn=Fe((B3(),A(M(NWn,1),z,511,0,[_k,UR])))}function WAn(){WAn=N,lXn=Fe((V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])))}function XAn(){XAn=N,wXn=Fe((K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])))}function VAn(){VAn=N,XQn=Fe((x8(),A(M(ron,1),z,376,0,[uK,iy])))}function QAn(){QAn=N,GQn=Fe((z8(),A(M(non,1),z,421,0,[iK,rK])))}function JAn(){JAn=N,sXn=Fe((OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])))}function YAn(){YAn=N,jXn=Fe((kC(),A(M(fun,1),z,420,0,[j_,oun])))}function ZAn(){ZAn=N,RJn=Fe((No(),A(M(BJn,1),z,520,0,[tw,Bl])))}function nSn(){nSn=N,wJn=Fe((z5(),A(M(bJn,1),z,523,0,[Hm,Km])))}function eSn(){eSn=N,jJn=Fe((Ff(),A(M(yJn,1),z,516,0,[M0,I1])))}function tSn(){tSn=N,CJn=Fe((ef(),A(M(EJn,1),z,515,0,[Ja,kf])))}function iSn(){iSn=N,UJn=Fe((Id(),A(M(zJn,1),z,455,0,[Rl,Lg])))}function rSn(){rSn=N,hYn=Fe((gC(),A(M(Son,1),z,425,0,[yK,Aon])))}function cSn(){cSn=N,wYn=Fe((iT(),A(M(Pon,1),z,495,0,[EP,mv])))}function uSn(){uSn=N,fYn=Fe((aC(),A(M(Mon,1),z,480,0,[kK,Ton])))}function sSn(){sSn=N,vYn=Fe(($C(),A(M(Oon,1),z,426,0,[Ion,TK])))}function oSn(){oSn=N,TZn=Fe((c7(),A(M(Ffn,1),z,429,0,[DP,$fn])))}function fSn(){fSn=N,sZn=Fe((L8(),A(M(afn,1),z,430,0,[FK,IP])))}function z5(){z5=N,Hm=new ZG("UPPER",0),Km=new ZG("LOWER",1)}function Yae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function Zae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function nde(n,e){var t,i;i=!1;do t=JOn(n,e),i=i|t;while(t);return i}function jX(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function hSn(n,e){var t;for(t=e;t;)U0(n,-t.i,-t.j),t=At(t);return n}function $i(n,e){var t,i;for(_n(e),i=n.Kc();i.Ob();)t=i.Pb(),e.td(t)}function lSn(n,e){var t;return t=e.cd(),new bd(t,n.e.pc(t,u(e.dd(),14)))}function Kt(n,e,t,i){var r;r=new aI,r.c=e,r.b=t,r.a=i,i.b=t.a=r,++n.b}function Es(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function ede(n,e,t){return u(e==null?_c(n.f,null,t):Gd(n.g,e,t),281)}function k$(n){return n.c&&n.d?cX(n.c)+"->"+cX(n.d):"e_"+md(n)}function C3(n,e){return(Ta(n),Wv(new $n(n,new UX(e,n.a)))).sd(V4)}function tde(){return Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])}function ide(){return J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])}function rde(n){return gj(),function(){return wae(n,this,arguments)}}function cde(){return Date.now?Date.now():new Date().getTime()}function Xi(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function aSn(n){if(!n.c.Sb())throw T(new ic);return n.a=!0,n.c.Ub()}function $8(n){n.i=0,z9(n.b,null),z9(n.c,null),n.a=null,n.e=null,++n.g}function EX(n){are.call(this,n==null?iu:Lr(n),I(n,78)?u(n,78):null)}function dSn(n){B_n(),Nmn(this),this.a=new Ct,QV(this,n),Ke(this.a,n)}function bSn(){RO(this),this.b=new fn($t,$t),this.a=new fn(Vt,Vt)}function wSn(n,e){this.c=0,this.b=e,qkn.call(this,n,17493),this.a=this.c}function y$(n){CC(),!pf&&(this.c=n,this.e=!0,this.a=new X)}function CC(){CC=N,pf=!0,Fzn=!1,xzn=!1,Nzn=!1,Lzn=!1}function CX(n,e){return I(e,149)?An(n.c,u(e,149).c):!1}function TX(n,e){var t;return t=0,n&&(t+=n.f.a/2),e&&(t+=e.f.a/2),t}function j$(n,e){var t;return t=u(xd(n.d,e),23),t||u(xd(n.e,e),23)}function gSn(n){this.b=n,ie.call(this,n),this.a=u(Rn(this.b.a,4),126)}function pSn(n){this.b=n,w2.call(this,n),this.a=u(Rn(this.b.a,4),126)}function Iu(n){return n.t||(n.t=new Amn(n),s6(new _9n(n),0,n.t)),n.t}function ude(){return sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])}function sde(){return qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])}function ode(){return Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])}function fde(){return P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])}function hde(){return b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])}function lde(){return Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])}function ade(){return g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])}function dde(){return Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])}function bde(){return Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])}function T3(){T3=N;var n,e;cI=(Qp(),e=new fj,e),uI=(n=new BI,n)}function vSn(n){var e;return n.c||(e=n.r,I(e,88)&&(n.c=u(e,26))),n.c}function wde(n){return n.e=3,n.d=n.Yb(),n.e!=2?(n.e=0,!0):!1}function E$(n){var e,t,i;return e=n&Lu,t=n>>22&Lu,i=n<0?Wh:0,Bc(e,t,i)}function gde(n){var e,t,i,r;for(t=n,i=0,r=t.length;i0?g$n(n,e):BNn(n,-e)}function MX(n,e){return e==0||n.e==0?n:e>0?BNn(n,e):g$n(n,-e)}function ve(n){if(Se(n))return n.c=n.a,n.a.Pb();throw T(new ic)}function kSn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Qn(),Xt)&&t.k==Xt}function C$(n){var e;return e=new Pd,Sr(e,n),H(e,(nn(),Tr),null),e}function T$(n,e,t){var i;return i=n.Yg(e),i>=0?n._g(i,t,!0):Yd(n,e,t)}function AX(n,e,t,i){var r;for(r=0;re)throw T(new vr(fY(n,e,"index")));return n}function M$(n,e,t,i){var r;return r=F(be,Le,25,e,15,1),Pve(r,n,e,t,i),r}function vde(n,e){var t;t=n.q.getHours()+(e/60|0),n.q.setMinutes(e),S6(n,t)}function mde(n,e){return j.Math.min(al(e.a,n.d.d.c),al(e.b,n.d.d.c))}function O2(n,e){return mi(e)?e==null?MY(n.f,null):$On(n.g,e):MY(n.f,e)}function uf(n){this.c=n,this.a=new E(this.c.a),this.b=new E(this.c.b)}function TC(){this.e=new X,this.c=new X,this.d=new X,this.b=new X}function TSn(){this.g=new zq,this.b=new zq,this.a=new X,this.k=new X}function MSn(n,e,t){this.a=n,this.c=e,this.d=t,W(e.e,this),W(t.b,this)}function ASn(n,e){Hkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function SSn(n,e){qkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function FX(n,e){FO.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function MC(n,e,t){this.a=n,this.b=e,this.c=t,W(n.t,this),W(e.i,this)}function AC(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function SC(){SC=N,Ym=new kt("org.eclipse.elk.labels.labelManager")}function PSn(){PSn=N,$cn=new ii("separateLayerConnections",(aT(),QR))}function No(){No=N,tw=new tz("REGULAR",0),Bl=new tz("CRITICAL",1)}function x8(){x8=N,uK=new YG("STACKED",0),iy=new YG("SEQUENCED",1)}function L8(){L8=N,FK=new oz("FIXED",0),IP=new oz("CENTER_NODE",1)}function kde(n,e){var t;return t=CEe(n,e),n.b=new tT(t.c.length),Lje(n,t)}function yde(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].$c(t),133),i.dd()}function ISn(n){var e;return n.a||(e=n.r,I(e,148)&&(n.a=u(e,148))),n.a}function xX(n){if(n.a){if(n.e)return xX(n.e)}else return n;return null}function jde(n,e){return n.pe.p?-1:0}function PC(n,e){return _n(e),n.c=0,"Initial capacity must not be negative")}function $Sn(){$Sn=N,Vzn=Fe((_o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])))}function FSn(){FSn=N,Jzn=Fe((Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])))}function xSn(){xSn=N,Zzn=Fe((Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])))}function LSn(){LSn=N,Bzn=Fe((hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])))}function NSn(){NSn=N,bWn=Fe((W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])))}function BSn(){BSn=N,PWn=Fe((qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])))}function RSn(){RSn=N,oXn=Fe((F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])))}function _Sn(){_Sn=N,fXn=Fe((VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])))}function KSn(){KSn=N,dXn=Fe((ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])))}function HSn(){HSn=N,rXn=Fe((Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])))}function qSn(){qSn=N,yXn=Fe((Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])))}function GSn(){GSn=N,mXn=Fe((q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])))}function zSn(){zSn=N,RQn=Fe((i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])))}function USn(){USn=N,WQn=Fe((oT(),A(M(ion,1),z,375,0,[eon,cK,ton])))}function WSn(){WSn=N,qQn=Fe((Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])))}function XSn(){XSn=N,UQn=Fe((ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])))}function VSn(){VSn=N,JQn=Fe((dT(),A(M(hon,1),z,377,0,[fK,pv,ew])))}function QSn(){QSn=N,VQn=Fe((Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])))}function JSn(){JSn=N,QQn=Fe((uT(),A(M(fon,1),z,338,0,[oon,oK,son])))}function YSn(){YSn=N,hJn=Fe((_d(),A(M(fJn,1),z,454,0,[ry,_m,aP])))}function ZSn(){ZSn=N,pYn=Fe((CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])))}function nPn(){nPn=N,mYn=Fe((f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])))}function ePn(){ePn=N,LYn=Fe((ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])))}function tPn(){tPn=N,xYn=Fe((sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])))}function iPn(){iPn=N,iZn=Fe((w7(),A(M(OK,1),z,437,0,[AP,SP,PP])))}function rPn(){rPn=N,une=Fe((_h(),A(M(Khn,1),z,334,0,[HP,F1,i9])))}function cPn(){cPn=N,tne=Fe((sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])))}function Pde(){return Ti(),A(M(Ghn,1),z,98,0,[ql,jf,Tv,td,jh,Ac])}function wa(n,e){return!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),NF(n.o,e)}function Ide(n){return!n.g&&(n.g=new Qy),!n.g.d&&(n.g.d=new Cmn(n)),n.g.d}function Ode(n){return!n.g&&(n.g=new Qy),!n.g.a&&(n.g.a=new Tmn(n)),n.g.a}function Dde(n){return!n.g&&(n.g=new Qy),!n.g.b&&(n.g.b=new Emn(n)),n.g.b}function N8(n){return!n.g&&(n.g=new Qy),!n.g.c&&(n.g.c=new Mmn(n)),n.g.c}function $de(n,e,t){var i,r;for(r=new H3(e,n),i=0;it||e=0?n._g(t,!0,!0):Yd(n,e,!0)}function Qde(n,e){return Zt(K(Y(k(n,(G(),k0)))),K(Y(k(e,k0))))}function aPn(){aPn=N,aYn=Xd(Xd(Dj(new hi,(c4(),qm)),(k6(),pP)),aK)}function Jde(n,e,t){var i;return i=tDn(n,e,t),n.b=new tT(i.c.length),JY(n,i)}function Yde(n){if(n.b<=0)throw T(new ic);return--n.b,n.a-=n.c.c,Q(n.a)}function Zde(n){var e;if(!n.a)throw T(new gTn);return e=n.a,n.a=At(n.a),e}function n0e(n){for(;!n.a;)if(!nEn(n.c,new Xvn(n)))return!1;return!0}function $2(n){var e;return pe(n),I(n,198)?(e=u(n,198),e):new dvn(n)}function e0e(n){DC(),u(n.We((Xe(),rw)),174).Fc((Tu(),Ty)),n.Ye(eH,null)}function DC(){DC=N,SZn=new n2n,IZn=new e2n,PZn=Rwe((Xe(),eH),SZn,_l,IZn)}function $C(){$C=N,Ion=new sz("LEAF_NUMBER",0),TK=new sz("NODE_SIZE",1)}function t0e(n,e,t){n.a=e,n.c=t,n.b.a.$b(),_s(n.d),n.e.a.c=F(Zn,rn,1,0,5,1)}function $$(n){n.a=F(be,Le,25,n.b+1,15,1),n.c=F(be,Le,25,n.b,15,1),n.d=0}function i0e(n,e){n.a.ue(e.d,n.b)>0&&(W(n.c,new QU(e.c,e.d,n.d)),n.b=e.d)}function zX(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.g[e]}function dPn(n,e,t){if(W3(n,t),t!=null&&!n.wj(t))throw T(new xI);return t}function bPn(n){var e;if(n.Ek())for(e=n.i-1;e>=0;--e)D(n,e);return gX(n)}function r0e(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function c0e(n,e){var t,i;return LAn(e),t=(i=n.slice(0,e),WX(i,n)),t.length=e,t}function S3(n,e,t,i){var r;i=(Ow(),i||Lin),r=n.slice(e,t),hY(r,n,e,t,-e,i)}function Cs(n,e,t,i,r){return e<0?Yd(n,t,i):u(t,66).Nj().Pj(n,n.yh(),e,i,r)}function u0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function s0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function wPn(n,e){if(e.a)throw T(new _r(wKn));ri(n.a,e),e.a=n,!n.j&&(n.j=e)}function UX(n,e){FO.call(this,e.rd(),e.qd()&-16449),_n(n),this.a=n,this.c=e}function gPn(n,e){var t,i;return i=e/n.c.Hd().gc()|0,t=e%n.c.Hd().gc(),D2(n,i,t)}function Cu(){Cu=N,Xf=new oO(Y2,0),Ol=new oO(I4,1),Co=new oO(Z2,2)}function FC(){FC=N,vR=new Lj("All",0),qin=new lyn,Gin=new Eyn,zin=new ayn}function pPn(){pPn=N,Dzn=Fe((FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])))}function vPn(){vPn=N,EWn=Fe((G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])))}function mPn(){mPn=N,CUn=Fe((Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])))}function kPn(){kPn=N,MUn=Fe((K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])))}function yPn(){yPn=N,PUn=Fe((d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])))}function jPn(){jPn=N,WJn=Fe((c4(),A(M(won,1),z,393,0,[gP,qm,uy,Gm])))}function EPn(){EPn=N,HWn=Fe((aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])))}function CPn(){CPn=N,FYn=Fe((qT(),A(M(zon,1),z,340,0,[SK,qon,Gon,Hon])))}function TPn(){TPn=N,JWn=Fe((ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])))}function MPn(){MPn=N,_Qn=Fe((wb(),A(M(Z_,1),z,197,0,[fP,Y_,xg,Fg])))}function APn(){APn=N,Ene=Fe((Xu(),A(M(jne,1),z,396,0,[ws,Yhn,Jhn,Zhn])))}function SPn(){SPn=N,one=Fe((cs(),A(M(sne,1),z,285,0,[Ey,kh,Kl,jy])))}function PPn(){PPn=N,ine=Fe((Hh(),A(M(cH,1),z,218,0,[rH,yy,Cv,Sp])))}function IPn(){IPn=N,kne=Fe((AT(),A(M(Qhn,1),z,311,0,[oH,Whn,Vhn,Xhn])))}function OPn(){OPn=N,vne=Fe((Vu(),A(M(o9,1),z,374,0,[Ay,id,My,uw])))}function DPn(){DPn=N,mM(),F1n=$t,Tee=Vt,x1n=new S9($t),Mee=new S9(Vt)}function K8(){K8=N,Vcn=new VG(Xh,0),xS=new VG("IMPROVE_STRAIGHTNESS",1)}function o0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function f0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function WX(n,e){return U8(e)!=10&&A(Du(e),e.hm,e.__elementTypeId$,U8(e),n),n}function Qc(n,e){var t;return t=Fr(n,e,0),t==-1?!1:(h1(n,t),!0)}function $Pn(n,e){var t;return t=u(O2(n.e,e),387),t?(ZU(t),t.e):null}function P3(n){var e;return $r(n)&&(e=0-n,!isNaN(e))?e:bl(z3(n))}function Fr(n,e,t){for(;t=0?BT(n,t,!0,!0):Yd(n,e,!0)}function YX(n,e){Qv();var t,i;return t=S2(n),i=S2(e),!!t&&!!i&&!V$n(t.k,i.k)}function a0e(n,e){Zc(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function d0e(n,e){nu(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function b0e(n,e){Rd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function w0e(n,e){Bd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function BPn(n){(this.q?this.q:(Pn(),Pn(),ph)).Ac(n.q?n.q:(Pn(),Pn(),ph))}function g0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function p0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function RPn(n,e){vrn=new Wy,AUn=e,gm=n,u(gm.b,65),BX(gm,vrn,null),DRn(gm)}function B$(n,e,t){var i;return i=n.g[e],k5(n,e,n.oi(e,t)),n.gi(e,t,i),n.ci(),i}function BC(n,e){var t;return t=n.Xc(e),t>=0?(n.$c(t),!0):!1}function R$(n){var e;return n.d!=n.r&&(e=qs(n),n.e=!!e&&e.Cj()==kGn,n.d=e),n.e}function _$(n,e){var t;for(pe(n),pe(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function xd(n,e){var t;return t=u(te(n.e,e),387),t?(Oyn(n,t),t.e):null}function _Pn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function qr(n,e){var t,i;return Ta(n),i=new FX(e,n.a),t=new iEn(i),new $n(n,t)}function ub(n,e){var t=n.a[e],i=(cF(),dR)[typeof t];return i?i(t):tQ(typeof t)}function v0e(n){switch(n.g){case 0:return nt;case 1:return-1;default:return 0}}function m0e(n){return mJ(n,(I3(),pin))<0?-xce(z3(n)):n.l+n.m*J2+n.h*$a}function U8(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function K$(n){var e;return e=n.b.c.length==0?null:un(n.b,0),e!=null&&J$(n,0),e}function KPn(n,e){for(;e[0]=0;)++e[0]}function W8(n,e){this.e=e,this.a=FOn(n),this.a<54?this.f=$d(n):this.c=m7(n)}function HPn(n,e,t,i){Je(),cd.call(this,26),this.c=n,this.a=e,this.d=t,this.b=i}function sh(n,e,t){var i,r;for(i=10,r=0;rn.a[i]&&(i=t);return i}function T0e(n,e){var t;return t=zd(n.e.c,e.e.c),t==0?Zt(n.e.d,e.e.d):t}function Fw(n,e){return e.e==0||n.e==0?W4:(a4(),Hx(n,e))}function M0e(n,e){if(!n)throw T(new Hn(P8e("Enum constant undefined: %s",e)))}function X5(){X5=N,MWn=new San,AWn=new Man,CWn=new $an,TWn=new Fan,SWn=new xan}function RC(){RC=N,Yin=new qG("BY_SIZE",0),jR=new qG("BY_SIZE_AND_SHAPE",1)}function _C(){_C=N,$R=new GG("EADES",0),tS=new GG("FRUCHTERMAN_REINGOLD",1)}function V8(){V8=N,$S=new XG("READING_DIRECTION",0),Ucn=new XG("ROTATION",1)}function GPn(){GPn=N,hXn=Fe((Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])))}function zPn(){zPn=N,KQn=Fe((b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])))}function UPn(){UPn=N,ZWn=Fe((Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])))}function WPn(){WPn=N,EXn=Fe((Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])))}function XPn(){XPn=N,oZn=Fe((P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])))}function VPn(){VPn=N,OZn=Fe((Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])))}function QPn(){QPn=N,tZn=Fe((g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])))}function JPn(){JPn=N,vWn=Fe((Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])))}function YPn(){YPn=N,ene=Fe((sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])))}function ZPn(){ZPn=N,hne=Fe((qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])))}function nIn(){nIn=N,dne=Fe((J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])))}function H$(n,e){var t;return t=u(te(n.a,e),134),t||(t=new pI,it(n.a,e,t)),t}function eIn(n){var e;return e=u(k(n,(G(),p0)),305),e?e.a==n:!1}function tIn(n){var e;return e=u(k(n,(G(),p0)),305),e?e.i==n:!1}function iIn(n,e){return _n(e),mW(n),n.d.Ob()?(e.td(n.d.Pb()),!0):!1}function KC(n){return fc(n,nt)>0?nt:fc(n,Bi)<0?Bi:ge(n)}function sb(n){return n<3?(is(n,J_n),n+1):n=0&&e=-.01&&n.a<=bf&&(n.a=0),n.b>=-.01&&n.b<=bf&&(n.b=0),n}function cIn(n,e){return e==(sD(),sD(),Pzn)?n.toLocaleLowerCase():n.toLowerCase()}function nV(n){return(n.i&2?"interface ":n.i&1?"":"class ")+(Ph(n),n.o)}function Er(n){var e,t;t=(e=new RI,e),me((!n.q&&(n.q=new V(co,n,11,10)),n.q),t)}function A0e(n,e){var t;return t=e>0?e-1:e,e8n(Kie(IIn(YU(new zp,t),n.n),n.j),n.k)}function S0e(n,e,t,i){var r;n.j=-1,EY(n,iY(n,e,t),(er(),r=u(e,66).Mj(),r.Ok(i)))}function uIn(n){this.g=n,this.f=new X,this.a=j.Math.min(this.g.c.c,this.g.d.c)}function sIn(n){this.b=new X,this.a=new X,this.c=new X,this.d=new X,this.e=n}function oIn(n,e){this.a=new we,this.e=new we,this.b=(i6(),oP),this.c=n,this.b=e}function fIn(n,e,t){kE.call(this),eV(this),this.a=n,this.c=t,this.b=e.d,this.f=e.e}function hIn(n){this.d=n,this.c=n.c.vc().Kc(),this.b=null,this.a=null,this.e=(aj(),fR)}function Ld(n){if(n<0)throw T(new Hn("Illegal Capacity: "+n));this.g=this.ri(n)}function P0e(n,e){if(0>n||n>e)throw T(new bG("fromIndex: 0, toIndex: "+n+tnn+e))}function I0e(n){var e;if(n.a==n.b.a)throw T(new ic);return e=n.a,n.c=e,n.a=n.a.e,e}function HC(n){var e;z0(!!n.c),e=n.c.a,Ts(n.d,n.c),n.b==n.c?n.b=e:--n.a,n.c=null}function qC(n,e){var t;return Ta(n),t=new DTn(n,n.a.rd(),n.a.qd()|4,e),new $n(n,t)}function O0e(n,e){var t,i;return t=u(ab(n.d,e),14),t?(i=e,n.e.pc(i,t)):null}function GC(n,e){var t,i;for(i=n.Kc();i.Ob();)t=u(i.Pb(),70),H(t,(G(),pp),e)}function D0e(n){var e;return e=K(Y(k(n,(nn(),S1)))),e<0&&(e=0,H(n,S1,e)),e}function $0e(n,e,t){var i;i=j.Math.max(0,n.b/2-.5),g6(t,i,1),W(e,new L7n(t,i))}function F0e(n,e,t){var i;return i=n.a.e[u(e.a,10).p]-n.a.e[u(t.a,10).p],Gt(m8(i))}function lIn(n,e,t,i,r,c){var o;o=C$(i),Hi(o,r),Ei(o,c),Tn(n.a,i,new EE(o,e,t.f))}function aIn(n,e){var t;if(t=R7(n.Tg(),e),!t)throw T(new Hn(Pl+e+MB));return t}function ob(n,e){var t;for(t=n;At(t);)if(t=At(t),t==e)return!0;return!1}function x0e(n,e){var t,i,r;for(i=e.a.cd(),t=u(e.a.dd(),14).gc(),r=0;r0&&(n.a/=e,n.b/=e),n}function ts(n){var e;return n.w?n.w:(e=Gle(n),e&&!e.kh()&&(n.w=e),e)}function q0e(n){var e;return n==null?null:(e=u(n,190),Gve(e,e.length))}function D(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.li(e,n.g[e])}function G0e(n){var e,t;for(e=n.a.d.j,t=n.c.d.j;e!=t;)ko(n.b,e),e=yT(e);ko(n.b,e)}function z0e(n){var e;for(e=0;e=14&&e<=16))),n}function gIn(n,e,t){var i=function(){return n.apply(i,arguments)};return e.apply(i,t),i}function pIn(n,e,t){var i,r;i=e;do r=K(n.p[i.p])+t,n.p[i.p]=r,i=n.a[i.p];while(i!=e)}function O3(n,e){var t,i;i=n.a,t=Tge(n,e,null),i!=e&&!n.e&&(t=j4(n,e,t)),t&&t.Fi()}function tV(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function iV(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function X0e(n,e){return yl(),Uc(n.b.c.length-n.e.c.length,e.b.c.length-e.e.c.length)}function xw(n,e){return Uie(J5(n,e,ge(Ni(ah,rh(ge(Ni(e==null?0:mt(e),dh)),15)))))}function vIn(){vIn=N,$Wn=Fe((Qn(),A(M(zR,1),z,267,0,[ti,gi,Xt,Tc,Qu,vf])))}function mIn(){mIn=N,_Zn=Fe((vb(),A(M(UK,1),z,291,0,[zK,gy,wy,GK,dy,by])))}function kIn(){kIn=N,FZn=Fe((oh(),A(M(Rfn,1),z,248,0,[HK,ly,ay,xP,$P,FP])))}function yIn(){yIn=N,uXn=Fe((q2(),A(M(rv,1),z,227,0,[iv,ym,tv,qb,Cg,Eg])))}function jIn(){jIn=N,pXn=Fe((h4(),A(M(sun,1),z,275,0,[Cm,iun,uun,cun,run,tun])))}function EIn(){EIn=N,gXn=Fe((A7(),A(M(eun,1),z,274,0,[LS,Ycn,nun,Jcn,Zcn,p_])))}function CIn(){CIn=N,BQn=Fe((JT(),A(M(Hsn,1),z,313,0,[Q_,_sn,V_,Rsn,Ksn,sP])))}function TIn(){TIn=N,bXn=Fe((eM(),A(M(Xcn,1),z,276,0,[d_,a_,w_,b_,g_,FS])))}function MIn(){MIn=N,VJn=Fe((k6(),A(M(XJn,1),z,327,0,[pP,aK,bK,dK,wK,lK])))}function AIn(){AIn=N,ane=Fe((Tu(),A(M(qP,1),z,273,0,[Gl,n1,Ty,s9,u9,Pp])))}function SIn(){SIn=N,rne=Fe((ZT(),A(M(xhn,1),z,312,0,[uH,Dhn,Fhn,Ihn,$hn,Ohn])))}function V0e(){return jb(),A(M(lr,1),z,93,0,[So,Zh,Po,Oo,yh,eo,as,Io,no])}function UC(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,0,t,n.a))}function WC(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,1,t,n.b))}function D3(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,3,t,n.b))}function Bd(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,3,t,n.f))}function Rd(n,e){var t;t=n.g,n.g=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,4,t,n.g))}function Zc(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,5,t,n.i))}function nu(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,6,t,n.j))}function $3(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,1,t,n.j))}function F3(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,4,t,n.c))}function x3(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,2,t,n.k))}function G$(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,2,t,n.d))}function d1(n,e){var t;t=n.s,n.s=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,4,t,n.s))}function hb(n,e){var t;t=n.t,n.t=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,5,t,n.t))}function L3(n,e){var t;t=n.F,n.F=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,5,t,e))}function Q8(n,e){var t;return t=u(te(($j(),eI),n),55),t?t.xj(e):F(Zn,rn,1,e,5,1)}function Bh(n,e){var t,i;return t=e in n.a,t&&(i=Dh(n,e).he(),i)?i.a:null}function Q0e(n,e){var t,i,r;return t=(i=(ad(),r=new QH,r),e&&zY(i,e),i),aV(t,n),t}function PIn(n,e,t){if(W3(n,t),!n.Bk()&&t!=null&&!n.wj(t))throw T(new xI);return t}function IIn(n,e){return n.n=e,n.n?(n.f=new X,n.e=new X):(n.f=null,n.e=null),n}function Ae(n,e,t,i,r,c){var o;return o=LD(n,e),DIn(t,o),o.i=r?8:0,o.f=i,o.e=r,o.g=c,o}function rV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=t}function cV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=t}function uV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=t}function sV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=t}function oV(n,e,t,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=t}function OIn(n,e){var t,i,r,c;for(i=e,r=0,c=i.length;r=0),Q2e(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function fV(n){return n.a<54?n.f<0?-1:n.f>0?1:0:(!n.c&&(n.c=h7(n.f)),n.c).e}function mo(n){if(!(n>=0))throw T(new Hn("tolerance ("+n+") must be >= 0"));return n}function N3(){return _K||(_K=new kBn,_w(_K,A(M(mg,1),rn,130,0,[new nq]))),_K}function ur(){ur=N,Bm=new kO(K6,0),Au=new kO("INPUT",1),xc=new kO("OUTPUT",2)}function VC(){VC=N,Hcn=new bO("ARD",0),DS=new bO("MSD",1),o_=new bO("MANUAL",2)}function _d(){_d=N,ry=new TO("BARYCENTER",0),_m=new TO(rHn,1),aP=new TO(cHn,2)}function J8(n,e){var t;if(t=n.gc(),e<0||e>t)throw T(new V0(e,t));return new AU(n,e)}function xIn(n,e){var t;return I(e,42)?n.c.Mc(e):(t=NF(n,e),IT(n,e),t)}function wr(n,e,t){return Ca(n,e),Ic(n,t),d1(n,0),hb(n,1),p1(n,!0),g1(n,!0),n}function is(n,e){if(n<0)throw T(new Hn(e+" cannot be negative but was: "+n));return n}function LIn(n,e){var t,i;for(t=0,i=n.gc();t0?u(un(t.a,i-1),10):null}function Q5(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,2,t,n.k))}function JC(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,8,t,n.f))}function YC(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,7,t,n.i))}function aV(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,8,t,n.a))}function dV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,0,t,n.b))}function bV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,0,t,n.b))}function wV(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.c))}function gV(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.c))}function U$(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,4,t,n.c))}function pV(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.d))}function W$(n,e){var t;t=n.D,n.D=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,2,t,n.D))}function X$(n,e){n.r>0&&n.c0&&n.g!=0&&X$(n.i,e/n.r*n.i.d))}function cbe(n,e,t){var i;n.b=e,n.a=t,i=(n.a&512)==512?new T9n:new ZH,n.c=y7e(i,n.b,n.a)}function zIn(n,e){return zh(n.e,e)?(er(),R$(e)?new IE(e,n):new i8(e,n)):new Nkn(e,n)}function ZC(n,e){return zie(Y5(n.a,e,ge(Ni(ah,rh(ge(Ni(e==null?0:mt(e),dh)),15)))))}function ube(n,e,t){return cb(n,new Hvn(e),new mln,new qvn(t),A(M(Nu,1),z,132,0,[]))}function sbe(n){var e,t;return 0>n?new PG:(e=n+1,t=new wSn(e,n),new oU(null,t))}function obe(n,e){Pn();var t;return t=new s2(1),mi(n)?kr(t,n,e):_c(t.f,n,e),new DI(t)}function fbe(n,e){var t,i;return t=n.o+n.p,i=e.o+e.p,te?(e<<=1,e>0?e:L6):e}function V$(n){switch(Rz(n.e!=3),n.e){case 2:return!1;case 0:return!0}return wde(n)}function WIn(n,e){var t;return I(e,8)?(t=u(e,8),n.a==t.a&&n.b==t.b):!1}function Q$(n,e,t){var i,r,c;return c=e>>5,r=e&31,i=ci(J0(n.n[t][c],ge(Ih(r,1))),3),i}function lbe(n,e){var t,i;for(i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),XT(n,t.cd(),t.dd())}function abe(n,e){var t;t=new Wy,u(e.b,65),u(e.b,65),u(e.b,65),Yc(e.a,new BU(n,t,e))}function vV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,21,t,n.b))}function mV(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,11,t,n.d))}function nT(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,13,t,n.j))}function XIn(n,e,t){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i>>31;i!=0&&(n[t]=i)}function jbe(n,e){Pn();var t,i;for(i=new X,t=0;t0&&(this.g=this.ri(this.i+(this.i/8|0)+1),n.Qc(this.g))}function Dt(n,e){ME.call(this,ree,n,e),this.b=this,this.a=Kc(n.Tg(),On(this.e.Tg(),this.c))}function Z5(n,e){var t,i;for(_n(e),i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),n.zc(t.cd(),t.dd())}function Dbe(n,e,t){var i;for(i=t.Kc();i.Ob();)if(!yC(n,e,i.Pb()))return!1;return!0}function $be(n,e,t,i,r){var c;return t&&(c=yt(e.Tg(),n.c),r=t.gh(e,-1-(c==-1?i:c),null,r)),r}function Fbe(n,e,t,i,r){var c;return t&&(c=yt(e.Tg(),n.c),r=t.ih(e,-1-(c==-1?i:c),null,r)),r}function dOn(n){var e;if(n.b==-2){if(n.e==0)e=-1;else for(e=0;n.a[e]==0;e++);n.b=e}return n.b}function bOn(n){switch(n.g){case 2:return J(),Gn;case 4:return J(),Vn;default:return n}}function wOn(n){switch(n.g){case 1:return J(),ae;case 3:return J(),Kn;default:return n}}function xbe(n){var e,t,i;return n.j==(J(),Kn)&&(e=GLn(n),t=au(e,Vn),i=au(e,Gn),i||i&&t)}function Lbe(n){var e,t;return e=u(n.e&&n.e(),9),t=u(IW(e,e.length),9),new ks(e,t,e.length)}function Nbe(n,e){le(e,iHn,1),TQ(ire(new tj((Vv(),new GD(n,!1,!1,new BH))))),ce(e)}function Y8(n,e){return qn(),mi(n)?DX(n,Te(e)):G0(n)?TD(n,Y(e)):q0(n)?Kfe(n,sn(e)):n.wd(e)}function TV(n,e){e.q=n,n.d=j.Math.max(n.d,e.r),n.b+=e.d+(n.a.c.length==0?0:n.c),W(n.a,e)}function R3(n,e){var t,i,r,c;return r=n.c,t=n.c+n.b,c=n.d,i=n.d+n.a,e.a>r&&e.ac&&e.b1||n.Ob())return++n.a,n.g=0,e=n.i,n.Ob(),e;throw T(new ic)}function Vbe(n){gyn();var e;return M7n(hK,n)||(e=new Zwn,e.a=n,wU(hK,n,e)),u(br(hK,n),635)}function Ks(n){var e,t,i,r;return r=n,i=0,r<0&&(r+=$a,i=Wh),t=Gt(r/J2),e=Gt(r-t*J2),Bc(e,t,i)}function Z8(n){var e,t,i;for(i=0,t=new o2(n.a);t.a>22),r=n.h+e.h+(i>>22),Bc(t&Lu,i&Lu,r&Wh)}function xOn(n,e){var t,i,r;return t=n.l-e.l,i=n.m-e.m+(t>>22),r=n.h-e.h+(i>>22),Bc(t&Lu,i&Lu,r&Wh)}function i7(n){var e;return n<128?(e=(QEn(),yin)[n],!e&&(e=yin[n]=new wq(n)),e):new wq(n)}function jt(n){var e;return I(n,78)?n:(e=n&&n.__java$exception,e||(e=new CDn(n),Kmn(e)),e)}function r7(n){if(I(n,186))return u(n,118);if(n)return null;throw T(new c2(Iqn))}function LOn(n,e){if(e==null)return!1;for(;n.a!=n.b;)if(tt(e,vT(n)))return!0;return!1}function OV(n){return n.a.Ob()?!0:n.a!=n.d?!1:(n.a=new lX(n.e.f),n.a.Ob())}function Yt(n,e){var t,i;return t=e.Pc(),i=t.length,i==0?!1:(GU(n.c,n.c.length,t),!0)}function hwe(n,e,t){var i,r;for(r=e.vc().Kc();r.Ob();)i=u(r.Pb(),42),n.yc(i.cd(),i.dd(),t);return n}function NOn(n,e){var t,i;for(i=new E(n.b);i.a=0,"Negative initial capacity"),TE(e>=0,"Non-positive load factor"),Eu(this)}function uF(n,e,t){return n>=128?!1:n<64?b5(ci(Ih(1,n),t),0):b5(ci(Ih(1,n-64),e),0)}function mwe(n,e){return!n||!e||n==e?!1:zd(n.b.c,e.b.c+e.b.b)<0&&zd(e.b.c,n.b.c+n.b.b)<0}function VOn(n){var e,t,i;return t=n.n,i=n.o,e=n.d,new ys(t.a-e.b,t.b-e.d,i.a+(e.b+e.c),i.b+(e.d+e.a))}function kwe(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;ii)throw T(new V0(e,i));return n.hi()&&(t=aMn(n,t)),n.Vh(e,t)}function s7(n,e,t){return t==null?(!n.q&&(n.q=new we),O2(n.q,e)):(!n.q&&(n.q=new we),it(n.q,e,t)),n}function H(n,e,t){return t==null?(!n.q&&(n.q=new we),O2(n.q,e)):(!n.q&&(n.q=new we),it(n.q,e,t)),n}function QOn(n){var e,t;return t=new TC,Sr(t,n),H(t,(dl(),hp),n),e=new we,Cye(n,t,e),QEe(n,t,e),t}function Ewe(n){eg();var e,t,i;for(t=F(ai,q,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,t[e]=r3e(i,n);return t}function JOn(n,e){var t,i,r,c;for(t=!1,i=n.a[e].length,c=0;c>=1);return e}function ZOn(n){var e,t;return t=x7(n.h),t==32?(e=x7(n.m),e==32?x7(n.l)+32:e+20-10):t-12}function t6(n){var e;return e=n.a[n.b],e==null?null:(Mt(n.a,n.b,null),n.b=n.b+1&n.a.length-1,e)}function nDn(n){var e,t;return e=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,t=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,e||t}function bT(n,e,t){var i,r;return i=new I$(e,t),r=new dI,n.b=zNn(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function eDn(n,e,t){var i,r,c,o;for(o=c6(e,t),c=0,r=o.Kc();r.Ob();)i=u(r.Pb(),11),it(n.c,i,Q(c++))}function wl(n){var e,t;for(t=new E(n.a.b);t.at&&(t=n[e]);return t}function tDn(n,e,t){var i;return i=new X,XY(n,e,i,(J(),Vn),!0,!1),XY(n,t,i,Gn,!1,!1),i}function oF(n,e,t){var i,r,c,o;return c=null,o=e,r=Fd(o,"labels"),i=new jkn(n,t),c=(Hme(i.a,i.b,r),r),c}function Twe(n,e,t,i){var r;return r=xY(n,e,t,i),!r&&(r=Mge(n,t,i),r&&!rg(n,e,r))?null:r}function Mwe(n,e,t,i){var r;return r=LY(n,e,t,i),!r&&(r=TF(n,t,i),r&&!rg(n,e,r))?null:r}function iDn(n,e){var t;for(t=0;t1||e>=0&&n.b<3)}function o7(n){var e,t,i;for(e=new hu,i=_e(n,0);i.b!=i.d.c;)t=u(Re(i),8),s3(e,0,new mr(t));return e}function ja(n){var e,t;for(t=new E(n.a.b);t.ai?1:0}function QV(n,e){return ANn(n,e)?(Tn(n.b,u(k(e,(G(),Gb)),21),e),Ke(n.a,e),!0):!1}function Bwe(n){var e,t;e=u(k(n,(G(),Mu)),10),e&&(t=e.c,Qc(t.a,e),t.a.c.length==0&&Qc(Gi(e).b,t))}function fDn(n){return pf?F($zn,lKn,572,0,0,1):u(lf(n.a,F($zn,lKn,572,n.a.c.length,0,1)),842)}function Rwe(n,e,t,i){return QE(),new GI(A(M(Ha,1),OM,42,0,[(ex(n,e),new bd(n,e)),(ex(t,i),new bd(t,i))]))}function Rw(n,e,t){var i,r;return r=(i=new RI,i),wr(r,e,t),me((!n.q&&(n.q=new V(co,n,11,10)),n.q),r),r}function aF(n){var e,t,i,r;for(r=lre($ne,n),t=r.length,i=F(tn,q,2,t,6,1),e=0;e=n.b.c.length||(JV(n,2*e+1),t=2*e+2,t=0&&n[i]===e[i];i--);return i<0?0:cO(ci(n[i],fr),ci(e[i],fr))?-1:1}function _we(n,e){var t,i;for(i=_e(n,0);i.b!=i.d.c;)t=u(Re(i),214),t.e.length>0&&(e.td(t),t.i&&Fge(t))}function bF(n,e){var t,i;return i=u(Rn(n.a,4),126),t=F(bH,qB,415,e,0,1),i!=null&&gc(i,0,t,0,i.length),t}function lDn(n,e){var t;return t=new zx((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,e),n.e!=null||(t.c=n),t}function Kwe(n,e){var t,i;for(i=n.Zb().Cc().Kc();i.Ob();)if(t=u(i.Pb(),14),t.Hc(e))return!0;return!1}function wF(n,e,t,i,r){var c,o;for(o=t;o<=r;o++)for(c=e;c<=i;c++)if(zw(n,c,o))return!0;return!1}function aDn(n,e,t){var i,r,c,o;for(_n(t),o=!1,c=n.Zc(e),r=t.Kc();r.Ob();)i=r.Pb(),c.Rb(i),o=!0;return o}function Hwe(n,e){var t;return n===e?!0:I(e,83)?(t=u(e,83),ZJ(Ed(n),t.vc())):!1}function dDn(n,e,t){var i,r;for(r=t.Kc();r.Ob();)if(i=u(r.Pb(),42),n.re(e,i.dd()))return!0;return!1}function bDn(n,e,t){return n.d[e.p][t.p]||(Bpe(n,e,t),n.d[e.p][t.p]=!0,n.d[t.p][e.p]=!0),n.a[e.p][t.p]}function W3(n,e){if(!n.ai()&&e==null)throw T(new Hn("The 'no null' constraint is violated"));return e}function X3(n,e){n.D==null&&n.B!=null&&(n.D=n.B,n.B=null),W$(n,e==null?null:(_n(e),e)),n.C&&n.yk(null)}function qwe(n,e){var t;return!n||n==e||!li(e,(G(),m0))?!1:(t=u(k(e,(G(),m0)),10),t!=n)}function gF(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.pl()}}function wDn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n.ql()}}function gDn(n){cMn.call(this,"The given string does not match the expected format for individual spacings.",n)}function Xu(){Xu=N,ws=new Jj("ELK",0),Yhn=new Jj("JSON",1),Jhn=new Jj("DOT",2),Zhn=new Jj("SVG",3)}function f7(){f7=N,CP=new AO(Xh,0),Don=new AO("RADIAL_COMPACTION",1),$on=new AO("WEDGE_COMPACTION",2)}function hf(){hf=N,Win=new uO("CONCURRENT",0),hs=new uO("IDENTITY_FINISH",1),Rb=new uO("UNORDERED",2)}function pF(){pF=N,jrn=(Aj(),SR),yrn=new In(pnn,jrn),OUn=new kt(vnn),DUn=new kt(mnn),$Un=new kt(knn)}function V3(){V3=N,xcn=new j0n,Lcn=new E0n,zWn=new C0n,GWn=new T0n,qWn=new M0n,Fcn=(_n(qWn),new uln)}function Q3(){Q3=N,sK=new jO("CONSERVATIVE",0),con=new jO("CONSERVATIVE_SOFT",1),Rm=new jO("SLOPPY",2)}function wT(){wT=N,_hn=new vd(15),cne=new tr((Xe(),nd),_hn),t9=Mp,Lhn=HZn,Nhn=Za,Rhn=Kg,Bhn=BP}function vF(n,e,t){var i,r,c;for(i=new Ct,c=_e(t,0);c.b!=c.d.c;)r=u(Re(c),8),Ke(i,new mr(r));aDn(n,e,i)}function Gwe(n){var e,t,i;for(e=0,i=F(ai,q,8,n.b,0,1),t=_e(n,0);t.b!=t.d.c;)i[e++]=u(Re(t),8);return i}function ZV(n){var e;return e=(!n.a&&(n.a=new V(e1,n,9,5)),n.a),e.i!=0?ore(u(D(e,0),678)):null}function zwe(n,e){var t;return t=qi(n,e),cO(h$(n,e),0)|Cre(h$(n,t),0)?t:qi(IM,h$(J0(t,63),1))}function Uwe(n,e){var t;t=cn((xF(),uP))!=null&&e.wg()!=null?K(Y(e.wg()))/K(Y(cn(uP))):1,it(n.b,e,t)}function Wwe(n,e){var t,i;return t=u(n.d.Bc(e),14),t?(i=n.e.hc(),i.Gc(t),n.e.d-=t.gc(),t.$b(),i):null}function nQ(n,e){var t,i;if(i=n.c[e],i!=0)for(n.c[e]=0,n.d-=i,t=e+1;t0)return a3(e-1,n.a.c.length),h1(n.a,e-1);throw T(new qmn)}function Xwe(n,e,t){if(e<0)throw T(new vr(_Hn+e));ee)throw T(new Hn(xM+n+aKn+e));if(n<0||e>t)throw T(new bG(xM+n+rnn+e+tnn+t))}function mDn(n){if(!n.a||!(n.a.i&8))throw T(new Dr("Enumeration class expected for layout option "+n.f))}function lb(n){var e;++n.j,n.i==0?n.g=null:n.ihA?n-t>hA:t-n>hA}function kF(n,e){return!n||e&&!n.j||I(n,124)&&u(n,124).a.b==0?0:n.Re()}function pT(n,e){return!n||e&&!n.k||I(n,124)&&u(n,124).a.a==0?0:n.Se()}function h7(n){return jl(),n<0?n!=-1?new VQ(-1,-n):gR:n<=10?xin[Gt(n)]:new VQ(1,n)}function tQ(n){throw cF(),T(new L9n("Unexpected typeof result '"+n+"'; please report this bug to the GWT team"))}function CDn(n){H9n(),oE(this),eC(this),this.e=n,NNn(this,n),this.g=n==null?iu:Lr(n),this.a="",this.b=n,this.a=""}function iQ(){this.a=new qgn,this.f=new O6n(this),this.b=new D6n(this),this.i=new $6n(this),this.e=new F6n(this)}function TDn(){iie.call(this,new _X(sb(16))),is(2,W_n),this.b=2,this.a=new RW(null,null,0,null),$9(this.a,this.a)}function i6(){i6=N,J_=new vO("DUMMY_NODE_OVER",0),qsn=new vO("DUMMY_NODE_UNDER",1),oP=new vO("EQUAL",2)}function yF(){yF=N,_R=sMn(A(M(e9,1),z,103,0,[(sr(),Zs),Ao])),KR=sMn(A(M(e9,1),z,103,0,[Yh,Jh]))}function jF(n){return(J(),cu).Hc(n.j)?K(Y(k(n,(G(),hv)))):Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a])).b}function Zwe(n){var e,t,i,r;for(i=n.b.a,t=i.a.ec().Kc();t.Ob();)e=u(t.Pb(),561),r=new pNn(e,n.e,n.f),W(n.g,r)}function Ca(n,e){var t,i,r;i=n.nk(e,null),r=null,e&&(r=(Qp(),t=new ud,t),O3(r,n.r)),i=af(n,r,i),i&&i.Fi()}function nge(n,e){var t,i;for(i=Fu(n.d,1)!=0,t=!0;t;)t=!1,t=e.c.Tf(e.e,i),t=t|_7(n,e,i,!1),i=!i;yV(n)}function rQ(n,e){var t,i,r;return i=!1,t=e.q.d,e.dr&&(JFn(e.q,r),i=t!=e.q.d)),i}function MDn(n,e){var t,i,r,c,o,f,h,l;return h=e.i,l=e.j,i=n.f,r=i.i,c=i.j,o=h-r,f=l-c,t=j.Math.sqrt(o*o+f*f),t}function cQ(n,e){var t,i;return i=OT(n),i||(t=(bL(),Yxn(e)),i=new Fmn(t),me(i.Vk(),n)),i}function l7(n,e){var t,i;return t=u(n.c.Bc(e),14),t?(i=n.hc(),i.Gc(t),n.d-=t.gc(),t.$b(),n.mc(i)):n.jc()}function ADn(n,e){var t;for(t=0;t=n.c.b:n.a<=n.c.b))throw T(new ic);return e=n.a,n.a+=n.c.c,++n.b,Q(e)}function ige(n){var e;return e=new uIn(n),O8(n.a,SWn,new Ku(A(M(Rk,1),rn,369,0,[e]))),e.d&&W(e.f,e.d),e.f}function EF(n){var e;return e=new Mz(n.a),Sr(e,n),H(e,(G(),rt),n),e.o.a=n.g,e.o.b=n.f,e.n.a=n.i,e.n.b=n.j,e}function rge(n,e,t,i){var r,c;for(c=n.Kc();c.Ob();)r=u(c.Pb(),70),r.n.a=e.a+(i.a-r.o.a)/2,r.n.b=e.b,e.b+=r.o.b+t}function cge(n,e,t){var i,r;for(r=e.a.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),57),_Tn(n,i,t))return!0;return!1}function uge(n){var e,t;for(t=new E(n.r);t.a=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function hge(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function FDn(n){var e,t;if(n!=null)for(t=0;t0&&(t=u(un(n.a,n.a.c.length-1),570),QV(t,e))||W(n.a,new dSn(e))}function wge(n){wo();var e,t;e=n.d.c-n.e.c,t=u(n.g,145),Yc(t.b,new _5n(e)),Yc(t.c,new K5n(e)),$i(t.i,new H5n(e))}function BDn(n){var e;return e=new V1,e.a+="VerticalSegment ",rc(e,n.e),e.a+=" ",De(e,Lz(new YI,new E(n.k))),e.a}function gge(n){var e;return e=u(xd(n.c.c,""),229),e||(e=new M2(Vp(Xp(new Zg,""),"Other")),Aa(n.c.c,"",e)),e}function r6(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (name: ",dr(e,n.zb),e.a+=")",e.a)}function hQ(n,e,t){var i,r;return r=n.sb,n.sb=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,4,r,e),t?t.Ei(i):t=i),t}function CF(n,e){var t,i,r;for(t=0,r=zr(n,e).Kc();r.Ob();)i=u(r.Pb(),11),t+=k(i,(G(),Mu))!=null?1:0;return t}function Kw(n,e,t){var i,r,c;for(i=0,c=_e(n,0);c.b!=c.d.c&&(r=K(Y(Re(c))),!(r>t));)r>=e&&++i;return i}function pge(n,e,t){var i,r;return i=new Lh(n.e,3,13,null,(r=e.c,r||(Sn(),Cf)),v1(n,e),!1),t?t.Ei(i):t=i,t}function vge(n,e,t){var i,r;return i=new Lh(n.e,4,13,(r=e.c,r||(Sn(),Cf)),null,v1(n,e),!1),t?t.Ei(i):t=i,t}function lQ(n,e,t){var i,r;return r=n.r,n.r=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,8,r,n.r),t?t.Ei(i):t=i),t}function w1(n,e){var t,i;return t=u(e,676),i=t.vk(),!i&&t.wk(i=I(e,88)?new Fkn(n,u(e,26)):new eAn(n,u(e,148))),i}function a7(n,e,t){var i;n.qi(n.i+1),i=n.oi(e,t),e!=n.i&&gc(n.g,e,n.g,e+1,n.i-e),Mt(n.g,e,i),++n.i,n.bi(e,t),n.ci()}function mge(n,e){var t;return e.a&&(t=e.a.a.length,n.a?De(n.a,n.b):n.a=new Ju(n.d),iAn(n.a,e.a,e.d.length,t)),n}function kge(n,e){var t,i,r,c;if(e.vi(n.a),c=u(Rn(n.a,8),1936),c!=null)for(t=c,i=0,r=t.length;it)throw T(new vr(xM+n+rnn+e+", size: "+t));if(n>e)throw T(new Hn(xM+n+aKn+e))}function As(n,e,t){if(e<0)bY(n,t);else{if(!t.Ij())throw T(new Hn(Pl+t.ne()+em));u(t,66).Nj().Vj(n,n.yh(),e)}}function Ege(n,e,t,i,r,c,o,f){var h;for(h=t;c=i||e=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function zDn(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (source: ",dr(e,n.d),e.a+=")",e.a)}function Tge(n,e,t){var i,r;return r=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,5,r,n.a),t?FJ(t,i):t=i),t}function g1(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,2,t,e))}function dQ(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,8,t,e))}function kT(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,8,t,e))}function p1(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,3,t,e))}function bQ(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,9,t,e))}function u6(n,e){var t;return n.b==-1&&n.a&&(t=n.a.Gj(),n.b=t?n.c.Xg(n.a.aj(),t):yt(n.c.Tg(),n.a)),n.c.Og(n.b,e)}function Q(n){var e,t;return n>-129&&n<128?(e=n+128,t=(qEn(),jin)[e],!t&&(t=jin[e]=new gq(n)),t):new gq(n)}function J3(n){var e,t;return n>-129&&n<128?(e=n+128,t=(VEn(),Min)[e],!t&&(t=Min[e]=new vq(n)),t):new vq(n)}function wQ(n){var e,t;return e=n.k,e==(Qn(),Xt)?(t=u(k(n,(G(),ec)),61),t==(J(),Kn)||t==ae):!1}function Mge(n,e,t){var i,r,c;return c=(r=b4(n.b,e),r),c&&(i=u(jM(G8(n,c),""),26),i)?xY(n,i,e,t):null}function TF(n,e,t){var i,r,c;return c=(r=b4(n.b,e),r),c&&(i=u(jM(G8(n,c),""),26),i)?LY(n,i,e,t):null}function UDn(n,e){var t,i;for(i=new ie(n);i.e!=i.i.gc();)if(t=u(oe(i),138),B(e)===B(t))return!0;return!1}function s6(n,e,t){var i;if(i=n.gc(),e>i)throw T(new V0(e,i));if(n.hi()&&n.Hc(t))throw T(new Hn(yk));n.Xh(e,t)}function Age(n,e){var t;if(t=xw(n.i,e),t==null)throw T(new Af("Node did not exist in input."));return MV(e,t),null}function Sge(n,e){var t;if(t=R7(n,e),I(t,322))return u(t,34);throw T(new Hn(Pl+e+"' is not a valid attribute"))}function Pge(n,e,t){var i,r;for(r=I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n),i=0;ie?1:n==e?n==0?Zt(1/n,1/e):0:isNaN(n)?isNaN(e)?0:1:-1}function Bge(n,e){le(e,"Sort end labels",1),Rt(gt(qr(new $n(null,new xn(n.b,16)),new bdn),new wdn),new gdn),ce(e)}function o6(n,e,t){var i,r;return n.ej()?(r=n.fj(),i=Dx(n,e,t),n.$i(n.Zi(7,Q(t),i,e,r)),i):Dx(n,e,t)}function MF(n,e){var t,i,r;n.d==null?(++n.e,--n.f):(r=e.cd(),t=e.Sh(),i=(t&nt)%n.d.length,yde(n,i,hNn(n,i,t,r)))}function Y3(n,e){var t;t=(n.Bb&Eo)!=0,e?n.Bb|=Eo:n.Bb&=-1025,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,10,t,e))}function Z3(n,e){var t;t=(n.Bb&Ib)!=0,e?n.Bb|=Ib:n.Bb&=-4097,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,12,t,e))}function n4(n,e){var t;t=(n.Bb&mu)!=0,e?n.Bb|=mu:n.Bb&=-8193,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,15,t,e))}function e4(n,e){var t;t=(n.Bb&Bb)!=0,e?n.Bb|=Bb:n.Bb&=-2049,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,11,t,e))}function Rge(n,e){var t;return t=Zt(n.b.c,e.b.c),t!=0||(t=Zt(n.a.a,e.a.a),t!=0)?t:Zt(n.a.b,e.a.b)}function _ge(n,e){var t;if(t=te(n.k,e),t==null)throw T(new Af("Port did not exist in input."));return MV(e,t),null}function Kge(n){var e,t;for(t=wNn(ts(n)).Kc();t.Ob();)if(e=Te(t.Pb()),A6(n,e))return Vae((C7n(),zne),e);return null}function Hge(n,e){var t,i,r,c,o;for(o=Kc(n.e.Tg(),e),c=0,t=u(n.g,119),r=0;r>10)+rk&Ut,e[1]=(n&1023)+56320&Ut,Hs(e,0,e.length)}function jT(n){var e,t;return t=u(k(n,(nn(),ls)),103),t==(sr(),mh)?(e=K(Y(k(n,zS))),e>=1?Ao:Jh):t}function zge(n){switch(u(k(n,(nn(),Qh)),218).g){case 1:return new ewn;case 3:return new uwn;default:return new nwn}}function Ta(n){if(n.c)Ta(n.c);else if(n.d)throw T(new Dr("Stream already terminated, can't be modified or used"))}function PF(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (identifier: ",dr(e,n.k),e.a+=")",e.a)}function QDn(n,e,t){var i,r;return i=(ad(),r=new Xy,r),UC(i,e),WC(i,t),n&&me((!n.a&&(n.a=new Jt(io,n,5)),n.a),i),i}function IF(n,e,t,i){var r,c;return _n(i),_n(t),r=n.xc(e),c=r==null?t:l7n(u(r,15),u(t,14)),c==null?n.Bc(e):n.zc(e,c),c}function Cn(n){var e,t,i,r;return t=(e=u(xo((i=n.gm,r=i.f,r==Ie?i:r)),9),new ks(e,u(bo(e,e.length),9),0)),ko(t,n),t}function Uge(n,e,t){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),10),t7(t,u(un(e,i.p),14)))return i;return null}function Wge(n,e,t){var i;try{Awe(n,e,t)}catch(r){throw r=jt(r),I(r,597)?(i=r,T(new EX(i))):T(r)}return e}function vl(n,e){var t;return $r(n)&&$r(e)&&(t=n-e,ik>1,n.k=t-1>>1}function OF(){_J();var n,e,t;t=qTe+++Date.now(),n=Gt(j.Math.floor(t*uk))&FM,e=Gt(t-n*enn),this.a=n^1502,this.b=e^tN}function Kh(n){var e,t,i;for(e=new X,i=new E(n.j);i.a34028234663852886e22?$t:e<-34028234663852886e22?Vt:e}function JDn(n){return n-=n>>1&1431655765,n=(n>>2&858993459)+(n&858993459),n=(n>>4)+n&252645135,n+=n>>8,n+=n>>16,n&63}function YDn(n){var e,t,i,r;for(e=new Djn(n.Hd().gc()),r=0,i=$2(n.Hd().Kc());i.Ob();)t=i.Pb(),ole(e,t,Q(r++));return $5e(e.a)}function Zge(n,e){var t,i,r;for(r=new we,i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),it(r,t.cd(),Gbe(n,u(t.dd(),15)));return r}function yQ(n,e){n.n.c.length==0&&W(n.n,new lC(n.s,n.t,n.i)),W(n.b,e),iJ(u(un(n.n,n.n.c.length-1),211),e),oRn(n,e)}function Hw(n){return(n.c!=n.b.b||n.i!=n.g.b)&&(n.a.c=F(Zn,rn,1,0,5,1),Yt(n.a,n.b),Yt(n.a,n.g),n.c=n.b.b,n.i=n.g.b),n.a}function DF(n,e){var t,i,r;for(r=0,i=u(e.Kb(n),20).Kc();i.Ob();)t=u(i.Pb(),17),on(sn(k(t,(G(),mf))))||++r;return r}function n2e(n,e){var t,i,r;i=$w(e),r=K(Y(bb(i,(nn(),Mo)))),t=j.Math.max(0,r/2-.5),g6(e,t,1),W(n,new G7n(e,t))}function Ss(){Ss=N,Qk=new Q9(Xh,0),Sm=new Q9("FIRST",1),xl=new Q9(uHn,2),Pm=new Q9("LAST",3),Ub=new Q9(sHn,4)}function Hh(){Hh=N,rH=new Wj(K6,0),yy=new Wj("POLYLINE",1),Cv=new Wj("ORTHOGONAL",2),Sp=new Wj("SPLINES",3)}function ET(){ET=N,Jon=new PO("ASPECT_RATIO_DRIVEN",0),IK=new PO("MAX_SCALE_DRIVEN",1),Qon=new PO("AREA_DRIVEN",2)}function w7(){w7=N,AP=new IO("P1_STRUCTURE",0),SP=new IO("P2_PROCESSING_ORDER",1),PP=new IO("P3_EXECUTION",2)}function CT(){CT=N,CK=new MO("OVERLAP_REMOVAL",0),jK=new MO("COMPACTION",1),EK=new MO("GRAPH_SIZE_CALCULATION",2)}function zd(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e))}function ZDn(n,e){var t,i;for(t=_e(n,0);t.b!=t.d.c;){if(i=x9(Y(Re(t))),i==e)return;if(i>e){a$(t);break}}y8(t,e)}function En(n,e){var t,i,r,c,o;if(t=e.f,Aa(n.c.d,t,e),e.g!=null)for(r=e.g,c=0,o=r.length;ce&&i.ue(n[c-1],n[c])>0;--c)o=n[c],Mt(n,c,n[c-1]),Mt(n,c-1,o)}function Ps(n,e,t,i){if(e<0)_Y(n,t,i);else{if(!t.Ij())throw T(new Hn(Pl+t.ne()+em));u(t,66).Nj().Tj(n,n.yh(),e,i)}}function TT(n,e){if(e==n.d)return n.e;if(e==n.e)return n.d;throw T(new Hn("Node "+e+" not part of edge "+n))}function t2e(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function n$n(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function jQ(n,e,t,i){switch(e){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return aQ(n,e,t,i)}function i2e(n){return n.k!=(Qn(),ti)?!1:C3(new $n(null,new Cd(new re(ue(ni(n).a.Kc(),new Mn)))),new Hbn)}function r2e(n){return n.e==null?n:(!n.c&&(n.c=new zx((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,null)),n.c)}function c2e(n,e){return n.h==tk&&n.m==0&&n.l==0?(e&&(Il=Bc(0,0,0)),eyn((I3(),gin))):(e&&(Il=Bc(n.l,n.m,n.h)),Bc(0,0,0))}function Lr(n){var e;return Array.isArray(n)&&n.im===Xg?J1(Du(n))+"@"+(e=mt(n)>>>0,e.toString(16)):n.toString()}function f6(n){var e;this.a=(e=u(n.e&&n.e(),9),new ks(e,u(bo(e,e.length),9),0)),this.b=F(Zn,rn,1,this.a.a.length,5,1)}function u2e(n){var e,t,i;for(this.a=new Sh,i=new E(n);i.a0&&(Me(e-1,n.length),n.charCodeAt(e-1)==58)&&!$F(n,a9,d9))}function $F(n,e,t){var i,r;for(i=0,r=n.length;i=r)return e.c+t;return e.c+e.b.gc()}function l2e(n,e){o3();var t,i,r,c;for(i=bPn(n),r=e,S3(i,0,i.length,r),t=0;t0&&(i+=r,++t);return t>1&&(i+=n.d*(t-1)),i}function CQ(n){var e,t,i;for(i=new i1,i.a+="[",e=0,t=n.gc();e0&&this.b>0&&cW(this.c,this.b,this.a)}function AQ(n){xF(),this.c=cf(A(M(sMe,1),rn,831,0,[LQn])),this.b=new we,this.a=n,it(this.b,uP,1),Yc(NQn,new q6n(this))}function e$n(n,e){var t;return n.d?zu(n.b,e)?u(te(n.b,e),51):(t=e.Kf(),it(n.b,e,t),t):e.Kf()}function SQ(n,e){var t;return B(n)===B(e)?!0:I(e,91)?(t=u(e,91),n.e==t.e&&n.d==t.d&&Jae(n,t.a)):!1}function B2(n){switch(J(),n.g){case 4:return Kn;case 1:return Vn;case 3:return ae;case 2:return Gn;default:return Xr}}function PQ(n,e){switch(e){case 3:return n.f!=0;case 4:return n.g!=0;case 5:return n.i!=0;case 6:return n.j!=0}return SV(n,e)}function p2e(n){switch(n.g){case 0:return new Lgn;case 1:return new Ngn;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function t$n(n){switch(n.g){case 0:return new xgn;case 1:return new Bgn;default:throw T(new Hn(AN+(n.f!=null?n.f:""+n.g)))}}function i$n(n){switch(n.g){case 0:return new sG;case 1:return new b9n;default:throw T(new Hn(bA+(n.f!=null?n.f:""+n.g)))}}function v2e(n){switch(n.g){case 1:return new Pgn;case 2:return new kjn;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function m2e(n){var e,t;if(n.b)return n.b;for(t=pf?null:n.d;t;){if(e=pf?null:t.b,e)return e;t=pf?null:t.d}return e3(),Uin}function k2e(n){var e,t,i;return n.e==0?0:(e=n.d<<5,t=n.a[n.d-1],n.e<0&&(i=dOn(n),i==n.d-1&&(--t,t=t|0)),e-=x7(t),e)}function y2e(n){var e,t,i;return n>5,e=n&31,i=F(be,Le,25,t+1,15,1),i[t]=1<3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function E2e(n){return yF(),qn(),!!(n$n(u(n.a,81).j,u(n.b,103))||u(n.a,81).d.e!=0&&n$n(u(n.a,81).j,u(n.b,103)))}function C2e(n){DC(),u(n.We((Xe(),_l)),174).Hc((xu(),UP))&&(u(n.We(rw),174).Fc((Tu(),Pp)),u(n.We(_l),174).Mc(UP))}function c$n(n,e){var t,i;if(e){for(t=0;t=0;--i)for(e=t[i],r=0;r>1,this.k=e-1>>1}function I2e(n,e){le(e,"End label post-processing",1),Rt(gt(qr(new $n(null,new xn(n.b,16)),new udn),new sdn),new odn),ce(e)}function O2e(n,e,t){var i,r;return i=K(n.p[e.i.p])+K(n.d[e.i.p])+e.n.b+e.a.b,r=K(n.p[t.i.p])+K(n.d[t.i.p])+t.n.b+t.a.b,r-i}function D2e(n,e,t){var i,r;for(i=ci(t,fr),r=0;fc(i,0)!=0&&r0&&(Me(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function F2e(n){var e;return n==null?null:new il((e=jc(n,!0),e.length>0&&(Me(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function LQ(n,e){var t;return n.i>0&&(e.lengthn.i&&Mt(e,n.i,null),e}function Oc(n,e,t){var i,r,c;return n.ej()?(i=n.i,c=n.fj(),a7(n,i,e),r=n.Zi(3,null,e,i,c),t?t.Ei(r):t=r):a7(n,n.i,e),t}function x2e(n,e,t){var i,r;return i=new Lh(n.e,4,10,(r=e.c,I(r,88)?u(r,26):(Sn(),so)),null,v1(n,e),!1),t?t.Ei(i):t=i,t}function L2e(n,e,t){var i,r;return i=new Lh(n.e,3,10,null,(r=e.c,I(r,88)?u(r,26):(Sn(),so)),v1(n,e),!1),t?t.Ei(i):t=i,t}function o$n(n){W0();var e;return e=new mr(u(n.e.We((Xe(),Kg)),8)),n.B.Hc((xu(),Mv))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function f$n(n){wb();var e;return(n.q?n.q:(Pn(),Pn(),ph))._b((nn(),j0))?e=u(k(n,j0),197):e=u(k(Gi(n),$m),197),e}function bb(n,e){var t,i;return i=null,li(n,(nn(),rP))&&(t=u(k(n,rP),94),t.Xe(e)&&(i=t.We(e))),i==null&&(i=k(Gi(n),e)),i}function h$n(n,e){var t,i,r;return I(e,42)?(t=u(e,42),i=t.cd(),r=ab(n.Rc(),i),$f(r,t.dd())&&(r!=null||n.Rc()._b(i))):!1}function NF(n,e){var t,i,r;return n.f>0?(n.qj(),i=e==null?0:mt(e),r=(i&nt)%n.d.length,t=hNn(n,r,i,e),t!=-1):!1}function Ko(n,e){var t,i,r;return n.f>0&&(n.qj(),i=e==null?0:mt(e),r=(i&nt)%n.d.length,t=kY(n,r,i,e),t)?t.dd():null}function g7(n,e){var t,i,r,c;for(c=Kc(n.e.Tg(),e),t=u(n.g,119),r=0;r1?rf(Ih(e.a[1],32),ci(e.a[0],fr)):ci(e.a[0],fr),$d(Ni(e.e,t))))}function p7(n,e){var t;return $r(n)&&$r(e)&&(t=n%e,ik>5,e&=31,r=n.d+t+(e==0?0:1),i=F(be,Le,25,r,15,1),Nve(i,n.a,t,e),c=new Pw(n.e,r,i),K5(c),c}function BQ(n,e,t){var i,r;i=u(vc(Pv,e),117),r=u(vc(m9,e),117),t?(kr(Pv,n,i),kr(m9,n,r)):(kr(m9,n,i),kr(Pv,n,r))}function p$n(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(e,c.d),t&&i==0)return c;i>=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function v$n(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(e,c.d),t&&i==0)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function K2e(n,e,t,i){var r,c,o;return r=!1,jEe(n.f,t,i)&&(ape(n.f,n.a[e][t],n.a[e][i]),c=n.a[e],o=c[i],c[i]=c[t],c[t]=o,r=!0),r}function RQ(n,e,t,i,r){var c,o,f;for(o=r;e.b!=e.c;)c=u(y2(e),10),f=u(zr(c,i).Xb(0),11),n.d[f.p]=o++,t.c[t.c.length]=f;return o}function _Q(n,e,t){var i,r,c,o,f;return o=n.k,f=e.k,i=t[o.g][f.g],r=Y(bb(n,i)),c=Y(bb(e,i)),j.Math.max((_n(r),r),(_n(c),c))}function H2e(n,e,t){var i,r,c,o;for(i=t/n.c.length,r=0,o=new E(n);o.a2e3&&(wzn=n,KA=j.setTimeout(Vie,10))),_A++==0?(E0e((aG(),din)),!0):!1}function G2e(n,e){var t,i,r;for(i=new re(ue(ni(n).a.Kc(),new Mn));Se(i);)if(t=u(ve(i),17),r=t.d.i,r.c==e)return!1;return!0}function KQ(n,e){var t,i;if(I(e,245)){i=u(e,245);try{return t=n.vd(i),t==0}catch(r){if(r=jt(r),!I(r,205))throw T(r)}}return!1}function z2e(){return Error.stackTraceLimit>0?(j.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function U2e(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))>0}function HQ(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))<0}function y$n(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))<=0}function RF(n,e){for(var t=0;!e[t]||e[t]=="";)t++;for(var i=e[t++];tJL)return t.fh();if(i=t.Zg(),i||t==n)break}return i}function qQ(n){return dC(),I(n,156)?u(te($y,Azn),288).vg(n):zu($y,Du(n))?u(te($y,Du(n)),288).vg(n):null}function X2e(n){if(DT(B4,n))return qn(),z4;if(DT(EB,n))return qn(),qa;throw T(new Hn("Expecting true or false"))}function V2e(n,e){if(e.c==n)return e.d;if(e.d==n)return e.c;throw T(new Hn("Input edge is not connected to the input port."))}function A$n(n,e){return n.e>e.e?1:n.ee.d?n.e:n.d=48&&n<48+j.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function P$n(n,e){var t;return B(e)===B(n)?!0:!I(e,21)||(t=u(e,21),t.gc()!=n.gc())?!1:n.Ic(t)}function Q2e(n,e){var t,i,r,c;return i=n.a.length-1,t=e-n.b&i,c=n.c-e&i,r=n.c-n.b&i,cjn(t=c?(Vwe(n,e),-1):(Qwe(n,e),1)}function J2e(n,e){var t,i;for(t=(Me(e,n.length),n.charCodeAt(e)),i=e+1;ie.e?1:n.fe.f?1:mt(n)-mt(e)}function DT(n,e){return _n(n),e==null?!1:An(n,e)?!0:n.length==e.length&&An(n.toLowerCase(),e.toLowerCase())}function upe(n,e){var t,i,r,c;for(i=0,r=e.gc();i0&&fc(n,128)<0?(e=ge(n)+128,t=(XEn(),Ein)[e],!t&&(t=Ein[e]=new pq(n)),t):new pq(n)}function O$n(n,e){var t,i;return t=e.Hh(n.a),t&&(i=Te(Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),We)),i!=null)?i:e.ne()}function spe(n,e){var t,i;return t=e.Hh(n.a),t&&(i=Te(Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),We)),i!=null)?i:e.ne()}function ope(n,e){c$();var t,i;for(i=new re(ue(Kh(n).a.Kc(),new Mn));Se(i);)if(t=u(ve(i),17),t.d.i==e||t.c.i==e)return t;return null}function UQ(n,e,t){this.c=n,this.f=new X,this.e=new Li,this.j=new eW,this.n=new eW,this.b=e,this.g=new ys(e.c,e.d,e.b,e.a),this.a=t}function _F(n){var e,t,i,r;for(this.a=new Sh,this.d=new fi,this.e=0,t=n,i=0,r=t.length;i0):!1}function F$n(n){var e;B(hn(n,(Xe(),Bg)))===B((_h(),HP))&&(At(n)?(e=u(hn(At(n),Bg),334),gr(n,Bg,e)):gr(n,Bg,i9))}function ape(n,e,t){var i,r;yx(n.e,e,t,(J(),Gn)),yx(n.i,e,t,Vn),n.a&&(r=u(k(e,(G(),rt)),11),i=u(k(t,rt),11),l$(n.g,r,i))}function x$n(n,e,t){var i,r,c;i=e.c.p,c=e.p,n.b[i][c]=new YTn(n,e),t&&(n.a[i][c]=new c6n(e),r=u(k(e,(G(),m0)),10),r&&Tn(n.d,r,e))}function L$n(n,e){var t,i,r;if(W(eS,n),e.Fc(n),t=u(te(DR,n),21),t)for(r=t.Kc();r.Ob();)i=u(r.Pb(),33),Fr(eS,i,0)!=-1||L$n(i,e)}function dpe(n,e,t){var i;(Fzn?(m2e(n),!0):xzn||Nzn?(e3(),!0):Lzn&&(e3(),!1))&&(i=new hEn(e),i.b=t,g5e(n,i))}function KF(n,e){var t;t=!n.A.Hc((Vu(),id))||n.q==(Ti(),Ac),n.u.Hc((Tu(),n1))?t?xCe(n,e):a_n(n,e):n.u.Hc(Gl)&&(t?nCe(n,e):M_n(n,e))}function r4(n,e){var t,i;if(++n.j,e!=null&&(t=(i=n.a.Cb,I(i,97)?u(i,97).Jg():null),ome(e,t))){R2(n.a,4,t);return}R2(n.a,4,u(e,126))}function N$n(n,e,t){return new ys(j.Math.min(n.a,e.a)-t/2,j.Math.min(n.b,e.b)-t/2,j.Math.abs(n.a-e.a)+t,j.Math.abs(n.b-e.b)+t)}function bpe(n,e){var t,i;return t=Uc(n.a.c.p,e.a.c.p),t!=0?t:(i=Uc(n.a.d.i.p,e.a.d.i.p),i!=0?i:Uc(e.a.d.p,n.a.d.p))}function wpe(n,e,t){var i,r,c,o;return c=e.j,o=t.j,c!=o?c.g-o.g:(i=n.f[e.p],r=n.f[t.p],i==0&&r==0?0:i==0?-1:r==0?1:Zt(i,r))}function B$n(n,e,t){var i,r,c;if(!t[e.d])for(t[e.d]=!0,r=new E(Hw(e));r.a=r)return r;for(e=e>0?e:0;ei&&Mt(e,i,null),e}function _$n(n,e){var t,i;for(i=n.a.length,e.lengthi&&Mt(e,i,null),e}function Aa(n,e,t){var i,r,c;return r=u(te(n.e,e),387),r?(c=gU(r,t),Oyn(n,r),c):(i=new qU(n,e,t),it(n.e,e,i),iMn(i),null)}function vpe(n){var e;if(n==null)return null;if(e=a9e(jc(n,!0)),e==null)throw T(new VI("Invalid hexBinary value: '"+n+"'"));return e}function m7(n){return jl(),fc(n,0)<0?fc(n,-1)!=0?new OJ(-1,P3(n)):gR:fc(n,10)<=0?xin[ge(n)]:new OJ(1,n)}function qF(){return SM(),A(M(yUn,1),z,159,0,[mUn,vUn,kUn,hUn,fUn,lUn,bUn,dUn,aUn,pUn,gUn,wUn,sUn,uUn,oUn,rUn,iUn,cUn,eUn,nUn,tUn,TR])}function K$n(n){var e;this.d=new X,this.j=new Li,this.g=new Li,e=n.g.b,this.f=u(k(Gi(e),(nn(),ls)),103),this.e=K(Y(xT(e,nw)))}function H$n(n){this.b=new X,this.e=new X,this.d=n,this.a=!Wv(gt(new $n(null,new Cd(new uf(n.b))),new Fv(new qbn))).sd((ca(),V4))}function Ho(){Ho=N,Xn=new Z9("PARENTS",0),pi=new Z9("NODES",1),Yf=new Z9("EDGES",2),Ya=new Z9("PORTS",3),D1=new Z9("LABELS",4)}function qw(){qw=N,Hl=new e8("DISTRIBUTED",0),Cy=new e8("JUSTIFIED",1),Hhn=new e8("BEGIN",2),r9=new e8(I4,3),qhn=new e8("END",4)}function mpe(n){var e;switch(e=n.yi(null),e){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function GF(n){switch(n.g){case 1:return sr(),Yh;case 4:return sr(),Zs;case 2:return sr(),Ao;case 3:return sr(),Jh}return sr(),mh}function kpe(n,e,t){var i;switch(i=t.q.getFullYear()-Tl+Tl,i<0&&(i=-i),e){case 1:n.a+=i;break;case 2:sh(n,i%100,2);break;default:sh(n,i,e)}}function _e(n,e){var t,i;if(tb(e,n.b),e>=n.b>>1)for(i=n.c,t=n.b;t>e;--t)i=i.b;else for(i=n.a.a,t=0;t=64&&e<128&&(r=rf(r,Ih(1,e-64)));return r}function xT(n,e){var t,i;return i=null,li(n,(Xe(),Ap))&&(t=u(k(n,Ap),94),t.Xe(e)&&(i=t.We(e))),i==null&&Gi(n)&&(i=k(Gi(n),e)),i}function z$n(n,e){var t,i,r;r=e.d.i,i=r.k,!(i==(Qn(),ti)||i==vf)&&(t=new re(ue(ni(r).a.Kc(),new Mn)),Se(t)&&it(n.k,e,u(ve(t),17)))}function zF(n,e){var t,i,r;return i=On(n.Tg(),e),t=e-n.Ah(),t<0?(r=n.Yg(i),r>=0?n.lh(r):Ox(n,i)):t<0?Ox(n,i):u(i,66).Nj().Sj(n,n.yh(),t)}function cn(n){var e;if(I(n.a,4)){if(e=qQ(n.a),e==null)throw T(new Dr(HHn+n.b+"'. "+KHn+(Ph(Fy),Fy.k)+Etn));return e}else return n.a}function Epe(n){var e;if(n==null)return null;if(e=qCe(jc(n,!0)),e==null)throw T(new VI("Invalid base64Binary value: '"+n+"'"));return e}function oe(n){var e;try{return e=n.i.Xb(n.e),n.mj(),n.g=n.e++,e}catch(t){throw t=jt(t),I(t,73)?(n.mj(),T(new ic)):T(t)}}function UF(n){var e;try{return e=n.c.ki(n.e),n.mj(),n.g=n.e++,e}catch(t){throw t=jt(t),I(t,73)?(n.mj(),T(new ic)):T(t)}}function a6(){a6=N,Trn=(Xe(),yhn),IR=Zfn,FUn=Tp,Crn=nd,BUn=(WT(),irn),NUn=ern,RUn=crn,LUn=nrn,xUn=(pF(),yrn),PR=OUn,Ern=DUn,nS=$Un}function LT(n){switch(DG(),this.c=new X,this.d=n,n.g){case 0:case 2:this.a=_W(qrn),this.b=$t;break;case 3:case 1:this.a=qrn,this.b=Vt}}function U$n(n,e,t){var i,r;if(n.c)Zc(n.c,n.c.i+e),nu(n.c,n.c.j+t);else for(r=new E(n.b);r.a0&&(W(n.b,new MEn(e.a,t)),i=e.a.length,0i&&(e.a+=Iyn(F(Ls,Bf,25,-i,15,1))))}function W$n(n,e){var t,i,r;for(t=n.o,r=u(u(ct(n.r,e),21),84).Kc();r.Ob();)i=u(r.Pb(),111),i.e.a=M3e(i,t.a),i.e.b=t.b*K(Y(i.b.We(JA)))}function Tpe(n,e){var t,i,r,c;return r=n.k,t=K(Y(k(n,(G(),k0)))),c=e.k,i=K(Y(k(e,k0))),c!=(Qn(),Xt)?-1:r!=Xt?1:t==i?0:t=0?n.hh(e,t,i):(n.eh()&&(i=(r=n.Vg(),r>=0?n.Qg(i):n.eh().ih(n,-1-r,null,i))),n.Sg(e,t,i))}function XQ(n,e){switch(e){case 7:!n.e&&(n.e=new Fn(di,n,7,4)),de(n.e);return;case 8:!n.d&&(n.d=new Fn(di,n,8,5)),de(n.d);return}FQ(n,e)}function qo(n,e){var t;t=n.Zc(e);try{return t.Pb()}catch(i){throw i=jt(i),I(i,109)?T(new vr("Can't get element "+e)):T(i)}}function VQ(n,e){this.e=n,e=0&&(t.d=n.t);break;case 3:n.t>=0&&(t.a=n.t)}n.C&&(t.b=n.C.b,t.c=n.C.c)}function K2(){K2=N,$k=new Rj(NM,0),Dk=new Rj(lN,1),Fk=new Rj(aN,2),xk=new Rj(dN,3),$k.a=!1,Dk.a=!0,Fk.a=!1,xk.a=!0}function d6(){d6=N,Lk=new Bj(NM,0),YA=new Bj(lN,1),ZA=new Bj(aN,2),Nk=new Bj(dN,3),Lk.a=!1,YA.a=!0,ZA.a=!1,Nk.a=!0}function Ipe(n){var e;e=n.a;do e=u(ve(new re(ue(xr(e).a.Kc(),new Mn))),17).c.i,e.k==(Qn(),gi)&&n.b.Fc(e);while(e.k==(Qn(),gi));n.b=va(n.b)}function Ope(n){var e,t,i;for(i=n.c.a,n.p=(pe(i),new du(i)),t=new E(i);t.at.b)return!0}return!1}function WF(n,e){return mi(n)?!!ozn[e]:n.hm?!!n.hm[e]:G0(n)?!!szn[e]:q0(n)?!!uzn[e]:!1}function gr(n,e,t){return t==null?(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),IT(n.o,e)):(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),XT(n.o,e,t)),n}function xpe(n,e,t,i){var r,c;c=e.Xe((Xe(),_g))?u(e.We(_g),21):n.j,r=Cge(c),r!=(SM(),TR)&&(t&&!GQ(r)||nY(d9e(n,r,i),e))}function BT(n,e,t,i){var r,c,o;return c=On(n.Tg(),e),r=e-n.Ah(),r<0?(o=n.Yg(c),o>=0?n._g(o,t,!0):Yd(n,c,t)):u(c,66).Nj().Pj(n,n.yh(),r,t,i)}function Lpe(n,e,t,i){var r,c,o;t.mh(e)&&(er(),R$(e)?(r=u(t.ah(e),153),upe(n,r)):(c=(o=e,o?u(i,49).xh(o):null),c&&Bte(t.ah(e),c)))}function Npe(n){switch(n.g){case 1:return Hd(),Ok;case 3:return Hd(),Ik;case 2:return Hd(),AR;case 4:return Hd(),MR;default:return null}}function QQ(n){switch(typeof n){case EL:return m1(n);case UZ:return Gt(n);case X2:return qn(),n?1231:1237;default:return n==null?0:md(n)}}function Bpe(n,e,t){if(n.e)switch(n.b){case 1:d1e(n.c,e,t);break;case 0:b1e(n.c,e,t)}else xAn(n.c,e,t);n.a[e.p][t.p]=n.c.i,n.a[t.p][e.p]=n.c.e}function Y$n(n){var e,t;if(n==null)return null;for(t=F(vh,q,193,n.length,0,2),e=0;e=0)return r;if(n.Fk()){for(i=0;i=r)throw T(new V0(e,r));if(n.hi()&&(i=n.Xc(t),i>=0&&i!=e))throw T(new Hn(yk));return n.mi(e,t)}function JQ(n,e){if(this.a=u(pe(n),245),this.b=u(pe(e),245),n.vd(e)>0||n==(qI(),cR)||e==(HI(),uR))throw T(new Hn("Invalid range: "+OAn(n,e)))}function Z$n(n){var e,t;for(this.b=new X,this.c=n,this.a=!1,t=new E(n.a);t.a0),(e&-e)==e)return Gt(e*Fu(n,31)*4656612873077393e-25);do t=Fu(n,31),i=t%e;while(t-i+(e-1)<0);return Gt(i)}function m1(n){lEn();var e,t,i;return t=":"+n,i=XA[t],i!=null?Gt((_n(i),i)):(i=Xin[t],e=i==null?I8e(n):Gt((_n(i),i)),c1e(),XA[t]=e,e)}function eFn(n,e,t){le(t,"Compound graph preprocessor",1),n.a=new Od,s_n(n,e,null),pje(n,e),Z9e(n),H(e,(G(),dun),n.a),n.a=null,Eu(n.b),ce(t)}function Kpe(n,e,t){switch(t.g){case 1:n.a=e.a/2,n.b=0;break;case 2:n.a=e.a,n.b=e.b/2;break;case 3:n.a=e.a/2,n.b=e.b;break;case 4:n.a=0,n.b=e.b/2}}function Hpe(n){var e,t,i;for(i=u(ct(n.a,(Vw(),IS)),15).Kc();i.Ob();)t=u(i.Pb(),101),e=hJ(t),b3(n,t,e[0],(Kd(),w0),0),b3(n,t,e[1],g0,1)}function qpe(n){var e,t,i;for(i=u(ct(n.a,(Vw(),OS)),15).Kc();i.Ob();)t=u(i.Pb(),101),e=hJ(t),b3(n,t,e[0],(Kd(),w0),0),b3(n,t,e[1],g0,1)}function XF(n){switch(n.g){case 0:return null;case 1:return new eOn;case 2:return new oG;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function k7(n,e,t){var i,r;for(lwe(n,e-n.s,t-n.t),r=new E(n.n);r.a1&&(c=_pe(n,e)),c}function VF(n){var e;return n.f&&n.f.kh()&&(e=u(n.f,49),n.f=u(pl(n,e),82),n.f!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,8,e,n.f))),n.f}function QF(n){var e;return n.i&&n.i.kh()&&(e=u(n.i,49),n.i=u(pl(n,e),82),n.i!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,7,e,n.i))),n.i}function ir(n){var e;return n.b&&n.b.Db&64&&(e=n.b,n.b=u(pl(n,e),18),n.b!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,21,e,n.b))),n.b}function KT(n,e){var t,i,r;n.d==null?(++n.e,++n.f):(i=e.Sh(),u8e(n,n.f+1),r=(i&nt)%n.d.length,t=n.d[r],!t&&(t=n.d[r]=n.uj()),t.Fc(e),++n.f)}function nJ(n,e,t){var i;return e.Kj()?!1:e.Zj()!=-2?(i=e.zj(),i==null?t==null:tt(i,t)):e.Hj()==n.e.Tg()&&t==null}function HT(){var n;is(16,J_n),n=UIn(16),this.b=F(oR,nk,317,n,0,1),this.c=F(oR,nk,317,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function qh(n){vU.call(this),this.k=(Qn(),ti),this.j=(is(6,Pb),new Pc(6)),this.b=(is(2,Pb),new Pc(2)),this.d=new NI,this.f=new Zq,this.a=n}function zpe(n){var e,t;n.c.length<=1||(e=ZNn(n,(J(),ae)),Kxn(n,u(e.a,19).a,u(e.b,19).a),t=ZNn(n,Gn),Kxn(n,u(t.a,19).a,u(t.b,19).a))}function b6(){b6=N,zsn=new V9("SIMPLE",0),nK=new V9(PN,1),eK=new V9("LINEAR_SEGMENTS",2),Lm=new V9("BRANDES_KOEPF",3),Nm=new V9(EHn,4)}function eJ(n,e,t){p2(u(k(e,(nn(),xt)),98))||(VX(n,e,k1(e,t)),VX(n,e,k1(e,(J(),ae))),VX(n,e,k1(e,Kn)),Pn(),bi(e.j,new i6n(n)))}function tFn(n,e,t,i){var r,c,o;for(r=u(ct(i?n.a:n.b,e),21),o=r.Kc();o.Ob();)if(c=u(o.Pb(),33),aM(n,t,c))return!0;return!1}function JF(n){var e,t;for(t=new ie(n);t.e!=t.i.gc();)if(e=u(oe(t),87),e.e||(!e.d&&(e.d=new Jt(ar,e,1)),e.d).i!=0)return!0;return!1}function YF(n){var e,t;for(t=new ie(n);t.e!=t.i.gc();)if(e=u(oe(t),87),e.e||(!e.d&&(e.d=new Jt(ar,e,1)),e.d).i!=0)return!0;return!1}function Upe(n){var e,t,i;for(e=0,i=new E(n.c.a);i.a102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function ex(n,e){if(n==null)throw T(new c2("null key in entry: null="+e));if(e==null)throw T(new c2("null value in entry: "+n+"=null"))}function Wpe(n,e){for(var t,i;n.Ob();)if(!e.Ob()||(t=n.Pb(),i=e.Pb(),!(B(t)===B(i)||t!=null&&tt(t,i))))return!1;return!e.Ob()}function rFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[kF(n.a[0],e),kF(n.a[1],e),kF(n.a[2],e)]),n.d&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function cFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[pT(n.a[0],e),pT(n.a[1],e),pT(n.a[2],e)]),n.d&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function Pa(){Pa=N,f_=new X9("GREEDY",0),Gcn=new X9(fHn,1),h_=new X9(PN,2),Em=new X9("MODEL_ORDER",3),jm=new X9("GREEDY_MODEL_ORDER",4)}function uFn(n,e){var t,i,r;for(n.b[e.g]=1,i=_e(e.d,0);i.b!=i.d.c;)t=u(Re(i),188),r=t.c,n.b[r.g]==1?Ke(n.a,t):n.b[r.g]==2?n.b[r.g]=1:uFn(n,r)}function Xpe(n,e){var t,i,r;for(r=new Pc(e.gc()),i=e.Kc();i.Ob();)t=u(i.Pb(),286),t.c==t.f?l4(n,t,t.c):U5e(n,t)||(r.c[r.c.length]=t);return r}function Vpe(n,e,t){var i,r,c,o,f;for(f=n.r+e,n.r+=e,n.d+=t,i=t/n.n.c.length,r=0,o=new E(n.n);o.ac&&Mt(e,c,null),e}function f3e(n,e){var t,i;if(i=n.gc(),e==null){for(t=0;t0&&(h+=r),l[a]=o,o+=f*(h+i)}function bFn(n){var e,t,i;for(i=n.f,n.n=F(ji,pr,25,i,15,1),n.d=F(ji,pr,25,i,15,1),e=0;e0?n.c:0),++r;n.b=i,n.d=c}function g3e(n,e){var t,i,r,c,o;for(i=0,r=0,t=0,o=new E(e);o.a0?n.g:0),++t;n.c=r,n.d=i}function mFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[ZQ(n,(_o(),Zr),e),ZQ(n,Fc,e),ZQ(n,nc,e)]),n.f&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function p3e(n,e,t){var i;try{wM(n,e+n.j,t+n.k,!1,!0)}catch(r){throw r=jt(r),I(r,73)?(i=r,T(new vr(i.g+RM+e+Ji+t+")."))):T(r)}}function v3e(n,e,t){var i;try{wM(n,e+n.j,t+n.k,!0,!1)}catch(r){throw r=jt(r),I(r,73)?(i=r,T(new vr(i.g+RM+e+Ji+t+")."))):T(r)}}function kFn(n){var e;li(n,(nn(),y0))&&(e=u(k(n,y0),21),e.Hc((jb(),So))?(e.Mc(So),e.Fc(Po)):e.Hc(Po)&&(e.Mc(Po),e.Fc(So)))}function yFn(n){var e;li(n,(nn(),y0))&&(e=u(k(n,y0),21),e.Hc((jb(),Oo))?(e.Mc(Oo),e.Fc(eo)):e.Hc(eo)&&(e.Mc(eo),e.Fc(Oo)))}function m3e(n,e,t){le(t,"Self-Loop ordering",1),Rt(Xc(gt(gt(qr(new $n(null,new xn(e.b,16)),new P0n),new I0n),new O0n),new D0n),new O5n(n)),ce(t)}function j7(n,e,t,i){var r,c;for(r=e;r0&&(r.b+=e),r}function zT(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),37),M6(t,0,r.b),r.b+=t.f.b+e,r.a=j.Math.max(r.a,t.f.a);return r.a>0&&(r.a+=e),r}function EFn(n){var e,t,i;for(i=nt,t=new E(n.a);t.a>16==6?n.Cb.ih(n,5,Vo,e):(i=ir(u(On((t=u(Rn(n,16),26),t||n.zh()),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function C3e(n){k3();var e=n.e;if(e&&e.stack){var t=e.stack,i=e+` `;return t.substring(0,i.length)==i&&(t=t.substring(i.length)),t.split(` diff --git a/_nuxt/ganttDiagram-04e74c0a.421c8eb9.js b/_nuxt/ganttDiagram-04e74c0a.7a4424bb.js similarity index 99% rename from _nuxt/ganttDiagram-04e74c0a.421c8eb9.js rename to _nuxt/ganttDiagram-04e74c0a.7a4424bb.js index 20914353e2..e0de0c0ea9 100644 --- a/_nuxt/ganttDiagram-04e74c0a.421c8eb9.js +++ b/_nuxt/ganttDiagram-04e74c0a.7a4424bb.js @@ -1,4 +1,4 @@ -import{a9 as on,aa as cn,ab as un,ac as ln,ad as jn,ae as Bn,af as me,ag as Oe,ah as He,ai as Zn,aj as ne,ak as qn,al as nt,c as bt,s as Xn,g as Gn,x as Qn,y as $n,b as Jn,a as Kn,e as tr,A as er,k as nr,l as de,i as Ht,j as rr,n as ir,z as ar}from"./mermaid.core.0bf3cbc4.js";import{c as we,g as De}from"./_commonjsHelpers.725317a4.js";import{i as fn}from"./init.77b53fdd.js";import"./entry.f8eaff67.js";function Rt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function sr(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ce(t){let e,n,r;t.length!==2?(e=Rt,n=(u,y)=>Rt(t(u),y),r=(u,y)=>t(u)-y):(e=t===Rt||t===sr?t:or,n=t,r=t);function i(u,y,c=0,x=u.length){if(c>>1;n(u[p],y)<0?c=p+1:x=p}while(c>>1;n(u[p],y)<=0?c=p+1:x=p}while(cc&&r(u[p-1],y)>-r(u[p],y)?p-1:p}return{left:i,center:s,right:a}}function or(){return 0}function cr(t){return t===null?NaN:+t}const ur=Ce(Rt),lr=ur.right;Ce(cr).center;const fr=lr,hr=Math.sqrt(50),mr=Math.sqrt(10),dr=Math.sqrt(2);function qt(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),s=a>=hr?10:a>=mr?5:a>=dr?2:1;let u,y,c;return i<0?(c=Math.pow(10,-i)/s,u=Math.round(t*c),y=Math.round(e*c),u/ce&&--y,c=-c):(c=Math.pow(10,i)*s,u=Math.round(t/c),y=Math.round(e/c),u*ce&&--y),y0))return[];if(t===e)return[t];const r=e=i))return[];const u=a-i+1,y=new Array(u);if(r)if(s<0)for(let c=0;c=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function pr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function kr(t){return t}var jt=1,re=2,pe=3,Pt=4,Pe=1e-6;function vr(t){return"translate("+t+",0)"}function Tr(t){return"translate(0,"+t+")"}function xr(t){return e=>+t(e)}function br(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Mr(){return!this.__axis}function hn(t,e){var n=[],r=null,i=null,a=6,s=6,u=3,y=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=t===jt||t===Pt?-1:1,x=t===Pt||t===re?"x":"y",p=t===jt||t===pe?vr:Tr;function v(D){var z=r??(e.ticks?e.ticks.apply(e,n):e.domain()),T=i??(e.tickFormat?e.tickFormat.apply(e,n):kr),_=Math.max(a,0)+u,I=e.range(),W=+I[0]+y,O=+I[I.length-1]+y,V=(e.bandwidth?br:xr)(e.copy(),y),P=D.selection?D.selection():D,C=P.selectAll(".domain").data([null]),Y=P.selectAll(".tick").data(z,e).order(),w=Y.exit(),h=Y.enter().append("g").attr("class","tick"),g=Y.select("line"),l=Y.select("text");C=C.merge(C.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Y=Y.merge(h),g=g.merge(h.append("line").attr("stroke","currentColor").attr(x+"2",c*a)),l=l.merge(h.append("text").attr("fill","currentColor").attr(x,c*_).attr("dy",t===jt?"0em":t===pe?"0.71em":"0.32em")),D!==P&&(C=C.transition(D),Y=Y.transition(D),g=g.transition(D),l=l.transition(D),w=w.transition(D).attr("opacity",Pe).attr("transform",function(f){return isFinite(f=V(f))?p(f+y):this.getAttribute("transform")}),h.attr("opacity",Pe).attr("transform",function(f){var b=this.parentNode.__axis;return p((b&&isFinite(b=b(f))?b:V(f))+y)})),w.remove(),C.attr("d",t===Pt||t===re?s?"M"+c*s+","+W+"H"+y+"V"+O+"H"+c*s:"M"+y+","+W+"V"+O:s?"M"+W+","+c*s+"V"+y+"H"+O+"V"+c*s:"M"+W+","+y+"H"+O),Y.attr("opacity",1).attr("transform",function(f){return p(V(f)+y)}),g.attr(x+"2",c*a),l.attr(x,c*_).text(T),P.filter(Mr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===re?"start":t===Pt?"end":"middle"),P.each(function(){this.__axis=V})}return v.scale=function(D){return arguments.length?(e=D,v):e},v.ticks=function(){return n=Array.from(arguments),v},v.tickArguments=function(D){return arguments.length?(n=D==null?[]:Array.from(D),v):n.slice()},v.tickValues=function(D){return arguments.length?(r=D==null?null:Array.from(D),v):r&&r.slice()},v.tickFormat=function(D){return arguments.length?(i=D,v):i},v.tickSize=function(D){return arguments.length?(a=s=+D,v):a},v.tickSizeInner=function(D){return arguments.length?(a=+D,v):a},v.tickSizeOuter=function(D){return arguments.length?(s=+D,v):s},v.tickPadding=function(D){return arguments.length?(u=+D,v):u},v.offset=function(D){return arguments.length?(y=+D,v):y},v}function wr(t){return hn(jt,t)}function Dr(t){return hn(pe,t)}const Cr=Math.PI/180,Sr=180/Math.PI,Xt=18,mn=.96422,dn=1,gn=.82521,yn=4/29,Mt=6/29,pn=3*Mt*Mt,_r=Mt*Mt*Mt;function kn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return vn(t);t instanceof un||(t=jn(t));var e=oe(t.r),n=oe(t.g),r=oe(t.b),i=ie((.2225045*e+.7168786*n+.0606169*r)/dn),a,s;return e===n&&n===r?a=s=i:(a=ie((.4360747*e+.3850649*n+.1430804*r)/mn),s=ie((.0139322*e+.0971045*n+.7141733*r)/gn)),new ot(116*i-16,500*(a-i),200*(i-s),t.opacity)}function Fr(t,e,n,r){return arguments.length===1?kn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}on(ot,Fr,cn(ln,{brighter(t){return new ot(this.l+Xt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Xt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=mn*ae(e),t=dn*ae(t),n=gn*ae(n),new un(se(3.1338561*e-1.6168667*t-.4906146*n),se(-.9787684*e+1.9161415*t+.033454*n),se(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ie(t){return t>_r?Math.pow(t,1/3):t/pn+yn}function ae(t){return t>Mt?t*t*t:pn*(t-yn)}function se(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ur(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=kn(t)),t.a===0&&t.b===0)return new ut(NaN,0=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Gt(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Dt(t){return t=Gt(Math.abs(t)),t?t[1]:NaN}function Hr(t,e){return function(n,r){for(var i=n.length,a=[],s=0,u=t[0],y=0;i>0&&u>0&&(y+u+1>r&&(u=Math.max(1,r-y)),a.push(n.substring(i-=u,i+u)),!((y+=u+1)>r));)u=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Pr(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var Vr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Qt(t){if(!(e=Vr.exec(t)))throw new Error("invalid format: "+t);var e;return new _e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Qt.prototype=_e.prototype;function _e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}_e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Rr(t){t:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Tn;function jr(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Tn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Gt(t,Math.max(0,e+a-1))[0]}function Ve(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Re={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Or,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Ve(t*100,e),r:Ve,s:jr,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function je(t){return t}var Be=Array.prototype.map,Ze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Br(t){var e=t.grouping===void 0||t.thousands===void 0?je:Hr(Be.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?je:Pr(Be.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",u=t.minus===void 0?"−":t.minus+"",y=t.nan===void 0?"NaN":t.nan+"";function c(p){p=Qt(p);var v=p.fill,D=p.align,z=p.sign,T=p.symbol,_=p.zero,I=p.width,W=p.comma,O=p.precision,V=p.trim,P=p.type;P==="n"?(W=!0,P="g"):Re[P]||(O===void 0&&(O=12),V=!0,P="g"),(_||v==="0"&&D==="=")&&(_=!0,v="0",D="=");var C=T==="$"?n:T==="#"&&/[boxX]/.test(P)?"0"+P.toLowerCase():"",Y=T==="$"?r:/[%p]/.test(P)?s:"",w=Re[P],h=/[defgprs%]/.test(P);O=O===void 0?6:/[gprs]/.test(P)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function g(l){var f=C,b=Y,o,A,m;if(P==="c")b=w(l)+b,l="";else{l=+l;var B=l<0||1/l<0;if(l=isNaN(l)?y:w(Math.abs(l),O),V&&(l=Rr(l)),B&&+l==0&&z!=="+"&&(B=!1),f=(B?z==="("?z:u:z==="-"||z==="("?"":z)+f,b=(P==="s"?Ze[8+Tn/3]:"")+b+(B&&z==="("?")":""),h){for(o=-1,A=l.length;++om||m>57){b=(m===46?i+l.slice(o+1):l.slice(o))+b,l=l.slice(0,o);break}}}W&&!_&&(l=e(l,1/0));var Z=f.length+l.length+b.length,j=Z>1)+f+l+b+j.slice(Z);break;default:l=j+f+l+b;break}return a(l)}return g.toString=function(){return p+""},g}function x(p,v){var D=c((p=Qt(p),p.type="f",p)),z=Math.max(-8,Math.min(8,Math.floor(Dt(v)/3)))*3,T=Math.pow(10,-z),_=Ze[8+z/3];return function(I){return D(T*I)+_}}return{format:c,formatPrefix:x}}var Vt,xn,bn;Zr({thousands:",",grouping:[3],currency:["$",""]});function Zr(t){return Vt=Br(t),xn=Vt.format,bn=Vt.formatPrefix,Vt}function qr(t){return Math.max(0,-Dt(Math.abs(t)))}function Xr(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Dt(e)/3)))*3-Dt(Math.abs(t)))}function Gr(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Dt(e)-Dt(t))+1}function Qr(t){return function(){return t}}function $r(t){return+t}var qe=[0,1];function Tt(t){return t}function ve(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Qr(isNaN(e)?NaN:.5)}function Jr(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Kr(t,e,n){var r=t[0],i=t[1],a=e[0],s=e[1];return i2?ti:Kr,y=c=null,p}function p(v){return v==null||isNaN(v=+v)?a:(y||(y=u(t.map(r),e,n)))(r(s(v)))}return p.invert=function(v){return s(i((c||(c=u(e,t.map(r),me)))(v)))},p.domain=function(v){return arguments.length?(t=Array.from(v,$r),x()):t.slice()},p.range=function(v){return arguments.length?(e=Array.from(v),x()):e.slice()},p.rangeRound=function(v){return e=Array.from(v),n=Nr,x()},p.clamp=function(v){return arguments.length?(s=v?!0:Tt,x()):s!==Tt},p.interpolate=function(v){return arguments.length?(n=v,x()):n},p.unknown=function(v){return arguments.length?(a=v,p):a},function(v,D){return r=v,i=D,x()}}function wn(){return ei()(Tt,Tt)}function ni(t,e,n,r){var i=ye(t,e,n),a;switch(r=Qt(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(a=Xr(i,s))&&(r.precision=a),bn(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=Gr(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=qr(i))&&(r.precision=a-(r.type==="%")*2);break}}return xn(r)}function ri(t){var e=t.domain;return t.ticks=function(n){var r=e();return gr(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return ni(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,a=r.length-1,s=r[i],u=r[a],y,c,x=10;for(u0;){if(c=ge(s,u,n),c===y)return r[i]=s,r[a]=u,e(r);if(c>0)s=Math.floor(s/c)*c,u=Math.ceil(u/c)*c;else if(c<0)s=Math.ceil(s*c)/c,u=Math.floor(u*c)/c;else break;y=c}return t},t}function Dn(){var t=wn();return t.copy=function(){return Mn(t,Dn())},fn.apply(t,arguments),ri(t)}function ii(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),u=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,u)=>{const y=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return y;let c;do y.push(c=new Date(+a)),e(a,u),t(a);while(ctt(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,u)=>{if(s>=s)if(u<0)for(;++u<=0;)for(;e(s,-1),!a(s););else for(;--u>=0;)for(;e(s,1),!a(s););}),n&&(i.count=(a,s)=>(ce.setTime(+a),ue.setTime(+s),t(ce),t(ue),Math.floor(n(ce,ue))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?s=>r(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const $t=tt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);$t.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?tt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):$t);$t.range;const lt=1e3,it=lt*60,ft=it*60,ht=ft*24,Fe=ht*7,Xe=ht*30,le=ht*365,xt=tt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*lt)},(t,e)=>(e-t)/lt,t=>t.getUTCSeconds());xt.range;const Lt=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getMinutes());Lt.range;const ai=tt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getUTCMinutes());ai.range;const It=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt-t.getMinutes()*it)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getHours());It.range;const si=tt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCHours());si.range;const gt=tt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*it)/ht,t=>t.getDate()-1);gt.range;const Ue=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>t.getUTCDate()-1);Ue.range;const oi=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>Math.floor(t/ht));oi.range;function pt(t){return tt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*it)/Fe)}const Ct=pt(0),Jt=pt(1),ci=pt(2),ui=pt(3),St=pt(4),li=pt(5),fi=pt(6);Ct.range;Jt.range;ci.range;ui.range;St.range;li.range;fi.range;function kt(t){return tt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Fe)}const Cn=kt(0),Kt=kt(1),hi=kt(2),mi=kt(3),_t=kt(4),di=kt(5),gi=kt(6);Cn.range;Kt.range;hi.range;mi.range;_t.range;di.range;gi.range;const Nt=tt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Nt.range;const yi=tt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());yi.range;const mt=tt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const yt=tt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());yt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});yt.range;function pi(t,e,n,r,i,a){const s=[[xt,1,lt],[xt,5,5*lt],[xt,15,15*lt],[xt,30,30*lt],[a,1,it],[a,5,5*it],[a,15,15*it],[a,30,30*it],[i,1,ft],[i,3,3*ft],[i,6,6*ft],[i,12,12*ft],[r,1,ht],[r,2,2*ht],[n,1,Fe],[e,1,Xe],[e,3,3*Xe],[t,1,le]];function u(c,x,p){const v=x_).right(s,v);if(D===s.length)return t.every(ye(c/le,x/le,p));if(D===0)return $t.every(Math.max(ye(c,x,p),1));const[z,T]=s[v/s[D-1][2]53)return null;"w"in d||(d.w=1),"Z"in d?(N=he(At(d.y,0,1)),$=N.getUTCDay(),N=$>4||$===0?Kt.ceil(N):Kt(N),N=Ue.offset(N,(d.V-1)*7),d.y=N.getUTCFullYear(),d.m=N.getUTCMonth(),d.d=N.getUTCDate()+(d.w+6)%7):(N=fe(At(d.y,0,1)),$=N.getDay(),N=$>4||$===0?Jt.ceil(N):Jt(N),N=gt.offset(N,(d.V-1)*7),d.y=N.getFullYear(),d.m=N.getMonth(),d.d=N.getDate()+(d.w+6)%7)}else("W"in d||"U"in d)&&("w"in d||(d.w="u"in d?d.u%7:"W"in d?1:0),$="Z"in d?he(At(d.y,0,1)).getUTCDay():fe(At(d.y,0,1)).getDay(),d.m=0,d.d="W"in d?(d.w+6)%7+d.W*7-($+5)%7:d.w+d.U*7-($+6)%7);return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,he(d)):fe(d)}}function w(M,S,L,d){for(var X=0,N=S.length,$=L.length,J,at;X=$)return-1;if(J=S.charCodeAt(X++),J===37){if(J=S.charAt(X++),at=P[J in Ge?S.charAt(X++):J],!at||(d=at(M,L,d))<0)return-1}else if(J!=L.charCodeAt(d++))return-1}return d}function h(M,S,L){var d=c.exec(S.slice(L));return d?(M.p=x.get(d[0].toLowerCase()),L+d[0].length):-1}function g(M,S,L){var d=D.exec(S.slice(L));return d?(M.w=z.get(d[0].toLowerCase()),L+d[0].length):-1}function l(M,S,L){var d=p.exec(S.slice(L));return d?(M.w=v.get(d[0].toLowerCase()),L+d[0].length):-1}function f(M,S,L){var d=I.exec(S.slice(L));return d?(M.m=W.get(d[0].toLowerCase()),L+d[0].length):-1}function b(M,S,L){var d=T.exec(S.slice(L));return d?(M.m=_.get(d[0].toLowerCase()),L+d[0].length):-1}function o(M,S,L){return w(M,e,S,L)}function A(M,S,L){return w(M,n,S,L)}function m(M,S,L){return w(M,r,S,L)}function B(M){return s[M.getDay()]}function Z(M){return a[M.getDay()]}function j(M){return y[M.getMonth()]}function k(M){return u[M.getMonth()]}function F(M){return i[+(M.getHours()>=12)]}function U(M){return 1+~~(M.getMonth()/3)}function E(M){return s[M.getUTCDay()]}function H(M){return a[M.getUTCDay()]}function Q(M){return y[M.getUTCMonth()]}function q(M){return u[M.getUTCMonth()]}function dt(M){return i[+(M.getUTCHours()>=12)]}function G(M){return 1+~~(M.getUTCMonth()/3)}return{format:function(M){var S=C(M+="",O);return S.toString=function(){return M},S},parse:function(M){var S=Y(M+="",!1);return S.toString=function(){return M},S},utcFormat:function(M){var S=C(M+="",V);return S.toString=function(){return M},S},utcParse:function(M){var S=Y(M+="",!0);return S.toString=function(){return M},S}}}var Ge={"-":"",_:" ",0:"0"},et=/^\s*\d+/,xi=/^%/,bi=/[\\^$*+?|[\]().{}]/g;function R(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function wi(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Di(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Ci(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Si(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function _i(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Qe(t,e,n){var r=et.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function $e(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Fi(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Ui(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ai(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Je(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yi(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ke(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Ei(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Li(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ii(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ni(t,e,n){var r=et.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Wi(t,e,n){var r=xi.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function zi(t,e,n){var r=et.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Oi(t,e,n){var r=et.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function tn(t,e){return R(t.getDate(),e,2)}function Hi(t,e){return R(t.getHours(),e,2)}function Pi(t,e){return R(t.getHours()%12||12,e,2)}function Vi(t,e){return R(1+gt.count(mt(t),t),e,3)}function Sn(t,e){return R(t.getMilliseconds(),e,3)}function Ri(t,e){return Sn(t,e)+"000"}function ji(t,e){return R(t.getMonth()+1,e,2)}function Bi(t,e){return R(t.getMinutes(),e,2)}function Zi(t,e){return R(t.getSeconds(),e,2)}function qi(t){var e=t.getDay();return e===0?7:e}function Xi(t,e){return R(Ct.count(mt(t)-1,t),e,2)}function _n(t){var e=t.getDay();return e>=4||e===0?St(t):St.ceil(t)}function Gi(t,e){return t=_n(t),R(St.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Qi(t){return t.getDay()}function $i(t,e){return R(Jt.count(mt(t)-1,t),e,2)}function Ji(t,e){return R(t.getFullYear()%100,e,2)}function Ki(t,e){return t=_n(t),R(t.getFullYear()%100,e,2)}function ta(t,e){return R(t.getFullYear()%1e4,e,4)}function ea(t,e){var n=t.getDay();return t=n>=4||n===0?St(t):St.ceil(t),R(t.getFullYear()%1e4,e,4)}function na(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+R(e/60|0,"0",2)+R(e%60,"0",2)}function en(t,e){return R(t.getUTCDate(),e,2)}function ra(t,e){return R(t.getUTCHours(),e,2)}function ia(t,e){return R(t.getUTCHours()%12||12,e,2)}function aa(t,e){return R(1+Ue.count(yt(t),t),e,3)}function Fn(t,e){return R(t.getUTCMilliseconds(),e,3)}function sa(t,e){return Fn(t,e)+"000"}function oa(t,e){return R(t.getUTCMonth()+1,e,2)}function ca(t,e){return R(t.getUTCMinutes(),e,2)}function ua(t,e){return R(t.getUTCSeconds(),e,2)}function la(t){var e=t.getUTCDay();return e===0?7:e}function fa(t,e){return R(Cn.count(yt(t)-1,t),e,2)}function Un(t){var e=t.getUTCDay();return e>=4||e===0?_t(t):_t.ceil(t)}function ha(t,e){return t=Un(t),R(_t.count(yt(t),t)+(yt(t).getUTCDay()===4),e,2)}function ma(t){return t.getUTCDay()}function da(t,e){return R(Kt.count(yt(t)-1,t),e,2)}function ga(t,e){return R(t.getUTCFullYear()%100,e,2)}function ya(t,e){return t=Un(t),R(t.getUTCFullYear()%100,e,2)}function pa(t,e){return R(t.getUTCFullYear()%1e4,e,4)}function ka(t,e){var n=t.getUTCDay();return t=n>=4||n===0?_t(t):_t.ceil(t),R(t.getUTCFullYear()%1e4,e,4)}function va(){return"+0000"}function nn(){return"%"}function rn(t){return+t}function an(t){return Math.floor(+t/1e3)}var vt,te;Ta({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ta(t){return vt=Ti(t),te=vt.format,vt.parse,vt.utcFormat,vt.utcParse,vt}function xa(t){return new Date(t)}function ba(t){return t instanceof Date?+t:+new Date(+t)}function An(t,e,n,r,i,a,s,u,y,c){var x=wn(),p=x.invert,v=x.domain,D=c(".%L"),z=c(":%S"),T=c("%I:%M"),_=c("%I %p"),I=c("%a %d"),W=c("%b %d"),O=c("%B"),V=c("%Y");function P(C){return(y(C)4&&(D+=7),v.add(D,n));return z.diff(T,"week")+1},u.isoWeekday=function(c){return this.$utils().u(c)?this.day()||7:this.day(this.day()%7?c:c-7)};var y=u.startOf;u.startOf=function(c,x){var p=this.$utils(),v=!!p.u(x)||x;return p.p(c)==="isoweek"?v?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):y.bind(this)(c,x)}}})})(Yn);var wa=Yn.exports;const Da=De(wa);var En={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,a=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,u={},y=function(T){return(T=+T)+(T>68?1900:2e3)},c=function(T){return function(_){this[T]=+_}},x=[/[+-]\d\d:?(\d\d)?|Z/,function(T){(this.zone||(this.zone={})).offset=function(_){if(!_||_==="Z")return 0;var I=_.match(/([+-]|\d\d)/g),W=60*I[1]+(+I[2]||0);return W===0?0:I[0]==="+"?-W:W}(T)}],p=function(T){var _=u[T];return _&&(_.indexOf?_:_.s.concat(_.f))},v=function(T,_){var I,W=u.meridiem;if(W){for(var O=1;O<=24;O+=1)if(T.indexOf(W(O,0,_))>-1){I=O>12;break}}else I=T===(_?"pm":"PM");return I},D={A:[s,function(T){this.afternoon=v(T,!1)}],a:[s,function(T){this.afternoon=v(T,!0)}],S:[/\d/,function(T){this.milliseconds=100*+T}],SS:[i,function(T){this.milliseconds=10*+T}],SSS:[/\d{3}/,function(T){this.milliseconds=+T}],s:[a,c("seconds")],ss:[a,c("seconds")],m:[a,c("minutes")],mm:[a,c("minutes")],H:[a,c("hours")],h:[a,c("hours")],HH:[a,c("hours")],hh:[a,c("hours")],D:[a,c("day")],DD:[i,c("day")],Do:[s,function(T){var _=u.ordinal,I=T.match(/\d+/);if(this.day=I[0],_)for(var W=1;W<=31;W+=1)_(W).replace(/\[|\]/g,"")===T&&(this.day=W)}],M:[a,c("month")],MM:[i,c("month")],MMM:[s,function(T){var _=p("months"),I=(p("monthsShort")||_.map(function(W){return W.slice(0,3)})).indexOf(T)+1;if(I<1)throw new Error;this.month=I%12||I}],MMMM:[s,function(T){var _=p("months").indexOf(T)+1;if(_<1)throw new Error;this.month=_%12||_}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(T){this.year=y(T)}],YYYY:[/\d{4}/,c("year")],Z:x,ZZ:x};function z(T){var _,I;_=T,I=u&&u.formats;for(var W=(T=_.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(h,g,l){var f=l&&l.toUpperCase();return g||I[l]||n[l]||I[f].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(b,o,A){return o||A.slice(1)})})).match(r),O=W.length,V=0;V-1)return new Date((B==="X"?1e3:1)*m);var j=z(B)(m),k=j.year,F=j.month,U=j.day,E=j.hours,H=j.minutes,Q=j.seconds,q=j.milliseconds,dt=j.zone,G=new Date,M=U||(k||F?1:G.getDate()),S=k||G.getFullYear(),L=0;k&&!F||(L=F>0?F-1:G.getMonth());var d=E||0,X=H||0,N=Q||0,$=q||0;return dt?new Date(Date.UTC(S,L,M,d,X,N,$+60*dt.offset*1e3)):Z?new Date(Date.UTC(S,L,M,d,X,N,$)):new Date(S,L,M,d,X,N,$)}catch{return new Date("")}}(P,w,C),this.init(),f&&f!==!0&&(this.$L=this.locale(f).$L),l&&P!=this.format(w)&&(this.$d=new Date("")),u={}}else if(w instanceof Array)for(var b=w.length,o=1;o<=b;o+=1){Y[1]=w[o-1];var A=I.apply(this,Y);if(A.isValid()){this.$d=A.$d,this.$L=A.$L,this.init();break}o===b&&(this.$d=new Date(""))}else O.call(this,V)}}})})(En);var Ca=En.exports;const Sa=De(Ca);var Ln={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){return function(n,r){var i=r.prototype,a=i.format;i.format=function(s){var u=this,y=this.$locale();if(!this.isValid())return a.bind(this)(s);var c=this.$utils(),x=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(p){switch(p){case"Q":return Math.ceil((u.$M+1)/3);case"Do":return y.ordinal(u.$D);case"gggg":return u.weekYear();case"GGGG":return u.isoWeekYear();case"wo":return y.ordinal(u.week(),"W");case"w":case"ww":return c.s(u.week(),p==="w"?1:2,"0");case"W":case"WW":return c.s(u.isoWeek(),p==="W"?1:2,"0");case"k":case"kk":return c.s(String(u.$H===0?24:u.$H),p==="k"?1:2,"0");case"X":return Math.floor(u.$d.getTime()/1e3);case"x":return u.$d.getTime();case"z":return"["+u.offsetName()+"]";case"zzz":return"["+u.offsetName("long")+"]";default:return p}});return a.bind(this)(x)}}})})(Ln);var _a=Ln.exports;const Fa=De(_a);var Te=function(){var t=function(w,h,g,l){for(g=g||{},l=w.length;l--;g[w[l]]=h);return g},e=[1,3],n=[1,5],r=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],i=[1,15],a=[1,16],s=[1,17],u=[1,18],y=[1,19],c=[1,20],x=[1,21],p=[1,22],v=[1,23],D=[1,24],z=[1,25],T=[1,26],_=[1,27],I=[1,29],W=[1,31],O=[1,34],V=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],P={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33:":",35:"click",36:"callbackname",37:"callbackargs",38:"href",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(h,g,l,f,b,o,A){var m=o.length-1;switch(b){case 2:return o[m-1];case 3:this.$=[];break;case 4:o[m-1].push(o[m]),this.$=o[m-1];break;case 5:case 6:this.$=o[m];break;case 7:case 8:this.$=[];break;case 9:f.setDateFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 10:f.enableInclusiveEndDates(),this.$=o[m].substr(18);break;case 11:f.TopAxis(),this.$=o[m].substr(8);break;case 12:f.setAxisFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 13:f.setTickInterval(o[m].substr(13)),this.$=o[m].substr(13);break;case 14:f.setExcludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 15:f.setIncludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 16:f.setTodayMarker(o[m].substr(12)),this.$=o[m].substr(12);break;case 17:f.setDiagramTitle(o[m].substr(6)),this.$=o[m].substr(6);break;case 18:this.$=o[m].trim(),f.setAccTitle(this.$);break;case 19:case 20:this.$=o[m].trim(),f.setAccDescription(this.$);break;case 21:f.addSection(o[m].substr(8)),this.$=o[m].substr(8);break;case 23:f.addTask(o[m-1],o[m]),this.$="task";break;case 27:this.$=o[m-1],f.setClickEvent(o[m-1],o[m],null);break;case 28:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],o[m]);break;case 29:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],null),f.setLink(o[m-2],o[m]);break;case 30:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-2],o[m-1]),f.setLink(o[m-3],o[m]);break;case 31:this.$=o[m-2],f.setClickEvent(o[m-2],o[m],null),f.setLink(o[m-2],o[m-1]);break;case 32:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-1],o[m]),f.setLink(o[m-3],o[m-2]);break;case 33:this.$=o[m-1],f.setLink(o[m-1],o[m]);break;case 34:case 40:this.$=o[m-1]+" "+o[m];break;case 35:case 36:case 38:this.$=o[m-2]+" "+o[m-1]+" "+o[m];break;case 37:case 39:this.$=o[m-3]+" "+o[m-2]+" "+o[m-1]+" "+o[m];break;case 41:f.parseDirective("%%{","open_directive");break;case 42:f.parseDirective(o[m],"type_directive");break;case 43:o[m]=o[m].trim().replace(/'/g,'"'),f.parseDirective(o[m],"arg_directive");break;case 44:f.parseDirective("}%%","close_directive","gantt");break}},table:[{3:1,4:2,5:e,30:4,40:n},{1:[3]},{3:6,4:2,5:e,30:4,40:n},t(r,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},{32:32,33:[1,33],43:O},t([33,43],[2,42]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:30,10:35,12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),{22:[1,36]},{24:[1,37]},t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),{29:[1,38]},t(r,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},t(r,[2,5]),t(r,[2,18]),t(r,[2,19]),t(r,[2,23]),t(r,[2,27],{37:[1,44],38:[1,45]}),t(r,[2,33],{36:[1,46]}),t(V,[2,25]),{32:47,43:O},{43:[2,43]},t(r,[2,28],{38:[1,48]}),t(r,[2,29]),t(r,[2,31],{37:[1,49]}),{11:[1,50]},t(r,[2,30]),t(r,[2,32]),t(V,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(h,g){if(g.recoverable)this.trace(h);else{var l=new Error(h);throw l.hash=g,l}},parse:function(h){var g=this,l=[0],f=[],b=[null],o=[],A=this.table,m="",B=0,Z=0,j=2,k=1,F=o.slice.call(arguments,1),U=Object.create(this.lexer),E={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(E.yy[H]=this.yy[H]);U.setInput(h,E.yy),E.yy.lexer=U,E.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var Q=U.yylloc;o.push(Q);var q=U.options&&U.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(){var rt;return rt=f.pop()||U.lex()||k,typeof rt!="number"&&(rt instanceof Array&&(f=rt,rt=f.pop()),rt=g.symbols_[rt]||rt),rt}for(var G,M,S,L,d={},X,N,$,J;;){if(M=l[l.length-1],this.defaultActions[M]?S=this.defaultActions[M]:((G===null||typeof G>"u")&&(G=dt()),S=A[M]&&A[M][G]),typeof S>"u"||!S.length||!S[0]){var at="";J=[];for(X in A[M])this.terminals_[X]&&X>j&&J.push("'"+this.terminals_[X]+"'");U.showPosition?at="Parse error on line "+(B+1)+`: +import{a9 as on,aa as cn,ab as un,ac as ln,ad as jn,ae as Bn,af as me,ag as Oe,ah as He,ai as Zn,aj as ne,ak as qn,al as nt,c as bt,s as Xn,g as Gn,x as Qn,y as $n,b as Jn,a as Kn,e as tr,A as er,k as nr,l as de,i as Ht,j as rr,n as ir,z as ar}from"./mermaid.core.ebd445a5.js";import{c as we,g as De}from"./_commonjsHelpers.725317a4.js";import{i as fn}from"./init.77b53fdd.js";import"./entry.6e9008ac.js";function Rt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function sr(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ce(t){let e,n,r;t.length!==2?(e=Rt,n=(u,y)=>Rt(t(u),y),r=(u,y)=>t(u)-y):(e=t===Rt||t===sr?t:or,n=t,r=t);function i(u,y,c=0,x=u.length){if(c>>1;n(u[p],y)<0?c=p+1:x=p}while(c>>1;n(u[p],y)<=0?c=p+1:x=p}while(cc&&r(u[p-1],y)>-r(u[p],y)?p-1:p}return{left:i,center:s,right:a}}function or(){return 0}function cr(t){return t===null?NaN:+t}const ur=Ce(Rt),lr=ur.right;Ce(cr).center;const fr=lr,hr=Math.sqrt(50),mr=Math.sqrt(10),dr=Math.sqrt(2);function qt(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),s=a>=hr?10:a>=mr?5:a>=dr?2:1;let u,y,c;return i<0?(c=Math.pow(10,-i)/s,u=Math.round(t*c),y=Math.round(e*c),u/ce&&--y,c=-c):(c=Math.pow(10,i)*s,u=Math.round(t/c),y=Math.round(e/c),u*ce&&--y),y0))return[];if(t===e)return[t];const r=e=i))return[];const u=a-i+1,y=new Array(u);if(r)if(s<0)for(let c=0;c=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function pr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function kr(t){return t}var jt=1,re=2,pe=3,Pt=4,Pe=1e-6;function vr(t){return"translate("+t+",0)"}function Tr(t){return"translate(0,"+t+")"}function xr(t){return e=>+t(e)}function br(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Mr(){return!this.__axis}function hn(t,e){var n=[],r=null,i=null,a=6,s=6,u=3,y=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=t===jt||t===Pt?-1:1,x=t===Pt||t===re?"x":"y",p=t===jt||t===pe?vr:Tr;function v(D){var z=r??(e.ticks?e.ticks.apply(e,n):e.domain()),T=i??(e.tickFormat?e.tickFormat.apply(e,n):kr),_=Math.max(a,0)+u,I=e.range(),W=+I[0]+y,O=+I[I.length-1]+y,V=(e.bandwidth?br:xr)(e.copy(),y),P=D.selection?D.selection():D,C=P.selectAll(".domain").data([null]),Y=P.selectAll(".tick").data(z,e).order(),w=Y.exit(),h=Y.enter().append("g").attr("class","tick"),g=Y.select("line"),l=Y.select("text");C=C.merge(C.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Y=Y.merge(h),g=g.merge(h.append("line").attr("stroke","currentColor").attr(x+"2",c*a)),l=l.merge(h.append("text").attr("fill","currentColor").attr(x,c*_).attr("dy",t===jt?"0em":t===pe?"0.71em":"0.32em")),D!==P&&(C=C.transition(D),Y=Y.transition(D),g=g.transition(D),l=l.transition(D),w=w.transition(D).attr("opacity",Pe).attr("transform",function(f){return isFinite(f=V(f))?p(f+y):this.getAttribute("transform")}),h.attr("opacity",Pe).attr("transform",function(f){var b=this.parentNode.__axis;return p((b&&isFinite(b=b(f))?b:V(f))+y)})),w.remove(),C.attr("d",t===Pt||t===re?s?"M"+c*s+","+W+"H"+y+"V"+O+"H"+c*s:"M"+y+","+W+"V"+O:s?"M"+W+","+c*s+"V"+y+"H"+O+"V"+c*s:"M"+W+","+y+"H"+O),Y.attr("opacity",1).attr("transform",function(f){return p(V(f)+y)}),g.attr(x+"2",c*a),l.attr(x,c*_).text(T),P.filter(Mr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===re?"start":t===Pt?"end":"middle"),P.each(function(){this.__axis=V})}return v.scale=function(D){return arguments.length?(e=D,v):e},v.ticks=function(){return n=Array.from(arguments),v},v.tickArguments=function(D){return arguments.length?(n=D==null?[]:Array.from(D),v):n.slice()},v.tickValues=function(D){return arguments.length?(r=D==null?null:Array.from(D),v):r&&r.slice()},v.tickFormat=function(D){return arguments.length?(i=D,v):i},v.tickSize=function(D){return arguments.length?(a=s=+D,v):a},v.tickSizeInner=function(D){return arguments.length?(a=+D,v):a},v.tickSizeOuter=function(D){return arguments.length?(s=+D,v):s},v.tickPadding=function(D){return arguments.length?(u=+D,v):u},v.offset=function(D){return arguments.length?(y=+D,v):y},v}function wr(t){return hn(jt,t)}function Dr(t){return hn(pe,t)}const Cr=Math.PI/180,Sr=180/Math.PI,Xt=18,mn=.96422,dn=1,gn=.82521,yn=4/29,Mt=6/29,pn=3*Mt*Mt,_r=Mt*Mt*Mt;function kn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return vn(t);t instanceof un||(t=jn(t));var e=oe(t.r),n=oe(t.g),r=oe(t.b),i=ie((.2225045*e+.7168786*n+.0606169*r)/dn),a,s;return e===n&&n===r?a=s=i:(a=ie((.4360747*e+.3850649*n+.1430804*r)/mn),s=ie((.0139322*e+.0971045*n+.7141733*r)/gn)),new ot(116*i-16,500*(a-i),200*(i-s),t.opacity)}function Fr(t,e,n,r){return arguments.length===1?kn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}on(ot,Fr,cn(ln,{brighter(t){return new ot(this.l+Xt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Xt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=mn*ae(e),t=dn*ae(t),n=gn*ae(n),new un(se(3.1338561*e-1.6168667*t-.4906146*n),se(-.9787684*e+1.9161415*t+.033454*n),se(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ie(t){return t>_r?Math.pow(t,1/3):t/pn+yn}function ae(t){return t>Mt?t*t*t:pn*(t-yn)}function se(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ur(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=kn(t)),t.a===0&&t.b===0)return new ut(NaN,0=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Gt(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Dt(t){return t=Gt(Math.abs(t)),t?t[1]:NaN}function Hr(t,e){return function(n,r){for(var i=n.length,a=[],s=0,u=t[0],y=0;i>0&&u>0&&(y+u+1>r&&(u=Math.max(1,r-y)),a.push(n.substring(i-=u,i+u)),!((y+=u+1)>r));)u=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Pr(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var Vr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Qt(t){if(!(e=Vr.exec(t)))throw new Error("invalid format: "+t);var e;return new _e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Qt.prototype=_e.prototype;function _e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}_e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Rr(t){t:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Tn;function jr(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Tn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Gt(t,Math.max(0,e+a-1))[0]}function Ve(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Re={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Or,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Ve(t*100,e),r:Ve,s:jr,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function je(t){return t}var Be=Array.prototype.map,Ze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Br(t){var e=t.grouping===void 0||t.thousands===void 0?je:Hr(Be.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?je:Pr(Be.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",u=t.minus===void 0?"−":t.minus+"",y=t.nan===void 0?"NaN":t.nan+"";function c(p){p=Qt(p);var v=p.fill,D=p.align,z=p.sign,T=p.symbol,_=p.zero,I=p.width,W=p.comma,O=p.precision,V=p.trim,P=p.type;P==="n"?(W=!0,P="g"):Re[P]||(O===void 0&&(O=12),V=!0,P="g"),(_||v==="0"&&D==="=")&&(_=!0,v="0",D="=");var C=T==="$"?n:T==="#"&&/[boxX]/.test(P)?"0"+P.toLowerCase():"",Y=T==="$"?r:/[%p]/.test(P)?s:"",w=Re[P],h=/[defgprs%]/.test(P);O=O===void 0?6:/[gprs]/.test(P)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function g(l){var f=C,b=Y,o,A,m;if(P==="c")b=w(l)+b,l="";else{l=+l;var B=l<0||1/l<0;if(l=isNaN(l)?y:w(Math.abs(l),O),V&&(l=Rr(l)),B&&+l==0&&z!=="+"&&(B=!1),f=(B?z==="("?z:u:z==="-"||z==="("?"":z)+f,b=(P==="s"?Ze[8+Tn/3]:"")+b+(B&&z==="("?")":""),h){for(o=-1,A=l.length;++om||m>57){b=(m===46?i+l.slice(o+1):l.slice(o))+b,l=l.slice(0,o);break}}}W&&!_&&(l=e(l,1/0));var Z=f.length+l.length+b.length,j=Z>1)+f+l+b+j.slice(Z);break;default:l=j+f+l+b;break}return a(l)}return g.toString=function(){return p+""},g}function x(p,v){var D=c((p=Qt(p),p.type="f",p)),z=Math.max(-8,Math.min(8,Math.floor(Dt(v)/3)))*3,T=Math.pow(10,-z),_=Ze[8+z/3];return function(I){return D(T*I)+_}}return{format:c,formatPrefix:x}}var Vt,xn,bn;Zr({thousands:",",grouping:[3],currency:["$",""]});function Zr(t){return Vt=Br(t),xn=Vt.format,bn=Vt.formatPrefix,Vt}function qr(t){return Math.max(0,-Dt(Math.abs(t)))}function Xr(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Dt(e)/3)))*3-Dt(Math.abs(t)))}function Gr(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Dt(e)-Dt(t))+1}function Qr(t){return function(){return t}}function $r(t){return+t}var qe=[0,1];function Tt(t){return t}function ve(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Qr(isNaN(e)?NaN:.5)}function Jr(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Kr(t,e,n){var r=t[0],i=t[1],a=e[0],s=e[1];return i2?ti:Kr,y=c=null,p}function p(v){return v==null||isNaN(v=+v)?a:(y||(y=u(t.map(r),e,n)))(r(s(v)))}return p.invert=function(v){return s(i((c||(c=u(e,t.map(r),me)))(v)))},p.domain=function(v){return arguments.length?(t=Array.from(v,$r),x()):t.slice()},p.range=function(v){return arguments.length?(e=Array.from(v),x()):e.slice()},p.rangeRound=function(v){return e=Array.from(v),n=Nr,x()},p.clamp=function(v){return arguments.length?(s=v?!0:Tt,x()):s!==Tt},p.interpolate=function(v){return arguments.length?(n=v,x()):n},p.unknown=function(v){return arguments.length?(a=v,p):a},function(v,D){return r=v,i=D,x()}}function wn(){return ei()(Tt,Tt)}function ni(t,e,n,r){var i=ye(t,e,n),a;switch(r=Qt(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(a=Xr(i,s))&&(r.precision=a),bn(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=Gr(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=qr(i))&&(r.precision=a-(r.type==="%")*2);break}}return xn(r)}function ri(t){var e=t.domain;return t.ticks=function(n){var r=e();return gr(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return ni(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,a=r.length-1,s=r[i],u=r[a],y,c,x=10;for(u0;){if(c=ge(s,u,n),c===y)return r[i]=s,r[a]=u,e(r);if(c>0)s=Math.floor(s/c)*c,u=Math.ceil(u/c)*c;else if(c<0)s=Math.ceil(s*c)/c,u=Math.floor(u*c)/c;else break;y=c}return t},t}function Dn(){var t=wn();return t.copy=function(){return Mn(t,Dn())},fn.apply(t,arguments),ri(t)}function ii(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),u=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,u)=>{const y=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return y;let c;do y.push(c=new Date(+a)),e(a,u),t(a);while(ctt(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,u)=>{if(s>=s)if(u<0)for(;++u<=0;)for(;e(s,-1),!a(s););else for(;--u>=0;)for(;e(s,1),!a(s););}),n&&(i.count=(a,s)=>(ce.setTime(+a),ue.setTime(+s),t(ce),t(ue),Math.floor(n(ce,ue))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?s=>r(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const $t=tt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);$t.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?tt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):$t);$t.range;const lt=1e3,it=lt*60,ft=it*60,ht=ft*24,Fe=ht*7,Xe=ht*30,le=ht*365,xt=tt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*lt)},(t,e)=>(e-t)/lt,t=>t.getUTCSeconds());xt.range;const Lt=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getMinutes());Lt.range;const ai=tt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getUTCMinutes());ai.range;const It=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt-t.getMinutes()*it)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getHours());It.range;const si=tt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCHours());si.range;const gt=tt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*it)/ht,t=>t.getDate()-1);gt.range;const Ue=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>t.getUTCDate()-1);Ue.range;const oi=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>Math.floor(t/ht));oi.range;function pt(t){return tt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*it)/Fe)}const Ct=pt(0),Jt=pt(1),ci=pt(2),ui=pt(3),St=pt(4),li=pt(5),fi=pt(6);Ct.range;Jt.range;ci.range;ui.range;St.range;li.range;fi.range;function kt(t){return tt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Fe)}const Cn=kt(0),Kt=kt(1),hi=kt(2),mi=kt(3),_t=kt(4),di=kt(5),gi=kt(6);Cn.range;Kt.range;hi.range;mi.range;_t.range;di.range;gi.range;const Nt=tt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Nt.range;const yi=tt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());yi.range;const mt=tt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const yt=tt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());yt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});yt.range;function pi(t,e,n,r,i,a){const s=[[xt,1,lt],[xt,5,5*lt],[xt,15,15*lt],[xt,30,30*lt],[a,1,it],[a,5,5*it],[a,15,15*it],[a,30,30*it],[i,1,ft],[i,3,3*ft],[i,6,6*ft],[i,12,12*ft],[r,1,ht],[r,2,2*ht],[n,1,Fe],[e,1,Xe],[e,3,3*Xe],[t,1,le]];function u(c,x,p){const v=x_).right(s,v);if(D===s.length)return t.every(ye(c/le,x/le,p));if(D===0)return $t.every(Math.max(ye(c,x,p),1));const[z,T]=s[v/s[D-1][2]53)return null;"w"in d||(d.w=1),"Z"in d?(N=he(At(d.y,0,1)),$=N.getUTCDay(),N=$>4||$===0?Kt.ceil(N):Kt(N),N=Ue.offset(N,(d.V-1)*7),d.y=N.getUTCFullYear(),d.m=N.getUTCMonth(),d.d=N.getUTCDate()+(d.w+6)%7):(N=fe(At(d.y,0,1)),$=N.getDay(),N=$>4||$===0?Jt.ceil(N):Jt(N),N=gt.offset(N,(d.V-1)*7),d.y=N.getFullYear(),d.m=N.getMonth(),d.d=N.getDate()+(d.w+6)%7)}else("W"in d||"U"in d)&&("w"in d||(d.w="u"in d?d.u%7:"W"in d?1:0),$="Z"in d?he(At(d.y,0,1)).getUTCDay():fe(At(d.y,0,1)).getDay(),d.m=0,d.d="W"in d?(d.w+6)%7+d.W*7-($+5)%7:d.w+d.U*7-($+6)%7);return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,he(d)):fe(d)}}function w(M,S,L,d){for(var X=0,N=S.length,$=L.length,J,at;X=$)return-1;if(J=S.charCodeAt(X++),J===37){if(J=S.charAt(X++),at=P[J in Ge?S.charAt(X++):J],!at||(d=at(M,L,d))<0)return-1}else if(J!=L.charCodeAt(d++))return-1}return d}function h(M,S,L){var d=c.exec(S.slice(L));return d?(M.p=x.get(d[0].toLowerCase()),L+d[0].length):-1}function g(M,S,L){var d=D.exec(S.slice(L));return d?(M.w=z.get(d[0].toLowerCase()),L+d[0].length):-1}function l(M,S,L){var d=p.exec(S.slice(L));return d?(M.w=v.get(d[0].toLowerCase()),L+d[0].length):-1}function f(M,S,L){var d=I.exec(S.slice(L));return d?(M.m=W.get(d[0].toLowerCase()),L+d[0].length):-1}function b(M,S,L){var d=T.exec(S.slice(L));return d?(M.m=_.get(d[0].toLowerCase()),L+d[0].length):-1}function o(M,S,L){return w(M,e,S,L)}function A(M,S,L){return w(M,n,S,L)}function m(M,S,L){return w(M,r,S,L)}function B(M){return s[M.getDay()]}function Z(M){return a[M.getDay()]}function j(M){return y[M.getMonth()]}function k(M){return u[M.getMonth()]}function F(M){return i[+(M.getHours()>=12)]}function U(M){return 1+~~(M.getMonth()/3)}function E(M){return s[M.getUTCDay()]}function H(M){return a[M.getUTCDay()]}function Q(M){return y[M.getUTCMonth()]}function q(M){return u[M.getUTCMonth()]}function dt(M){return i[+(M.getUTCHours()>=12)]}function G(M){return 1+~~(M.getUTCMonth()/3)}return{format:function(M){var S=C(M+="",O);return S.toString=function(){return M},S},parse:function(M){var S=Y(M+="",!1);return S.toString=function(){return M},S},utcFormat:function(M){var S=C(M+="",V);return S.toString=function(){return M},S},utcParse:function(M){var S=Y(M+="",!0);return S.toString=function(){return M},S}}}var Ge={"-":"",_:" ",0:"0"},et=/^\s*\d+/,xi=/^%/,bi=/[\\^$*+?|[\]().{}]/g;function R(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function wi(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Di(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Ci(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Si(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function _i(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Qe(t,e,n){var r=et.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function $e(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Fi(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Ui(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ai(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Je(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yi(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ke(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Ei(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Li(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ii(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ni(t,e,n){var r=et.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Wi(t,e,n){var r=xi.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function zi(t,e,n){var r=et.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Oi(t,e,n){var r=et.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function tn(t,e){return R(t.getDate(),e,2)}function Hi(t,e){return R(t.getHours(),e,2)}function Pi(t,e){return R(t.getHours()%12||12,e,2)}function Vi(t,e){return R(1+gt.count(mt(t),t),e,3)}function Sn(t,e){return R(t.getMilliseconds(),e,3)}function Ri(t,e){return Sn(t,e)+"000"}function ji(t,e){return R(t.getMonth()+1,e,2)}function Bi(t,e){return R(t.getMinutes(),e,2)}function Zi(t,e){return R(t.getSeconds(),e,2)}function qi(t){var e=t.getDay();return e===0?7:e}function Xi(t,e){return R(Ct.count(mt(t)-1,t),e,2)}function _n(t){var e=t.getDay();return e>=4||e===0?St(t):St.ceil(t)}function Gi(t,e){return t=_n(t),R(St.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Qi(t){return t.getDay()}function $i(t,e){return R(Jt.count(mt(t)-1,t),e,2)}function Ji(t,e){return R(t.getFullYear()%100,e,2)}function Ki(t,e){return t=_n(t),R(t.getFullYear()%100,e,2)}function ta(t,e){return R(t.getFullYear()%1e4,e,4)}function ea(t,e){var n=t.getDay();return t=n>=4||n===0?St(t):St.ceil(t),R(t.getFullYear()%1e4,e,4)}function na(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+R(e/60|0,"0",2)+R(e%60,"0",2)}function en(t,e){return R(t.getUTCDate(),e,2)}function ra(t,e){return R(t.getUTCHours(),e,2)}function ia(t,e){return R(t.getUTCHours()%12||12,e,2)}function aa(t,e){return R(1+Ue.count(yt(t),t),e,3)}function Fn(t,e){return R(t.getUTCMilliseconds(),e,3)}function sa(t,e){return Fn(t,e)+"000"}function oa(t,e){return R(t.getUTCMonth()+1,e,2)}function ca(t,e){return R(t.getUTCMinutes(),e,2)}function ua(t,e){return R(t.getUTCSeconds(),e,2)}function la(t){var e=t.getUTCDay();return e===0?7:e}function fa(t,e){return R(Cn.count(yt(t)-1,t),e,2)}function Un(t){var e=t.getUTCDay();return e>=4||e===0?_t(t):_t.ceil(t)}function ha(t,e){return t=Un(t),R(_t.count(yt(t),t)+(yt(t).getUTCDay()===4),e,2)}function ma(t){return t.getUTCDay()}function da(t,e){return R(Kt.count(yt(t)-1,t),e,2)}function ga(t,e){return R(t.getUTCFullYear()%100,e,2)}function ya(t,e){return t=Un(t),R(t.getUTCFullYear()%100,e,2)}function pa(t,e){return R(t.getUTCFullYear()%1e4,e,4)}function ka(t,e){var n=t.getUTCDay();return t=n>=4||n===0?_t(t):_t.ceil(t),R(t.getUTCFullYear()%1e4,e,4)}function va(){return"+0000"}function nn(){return"%"}function rn(t){return+t}function an(t){return Math.floor(+t/1e3)}var vt,te;Ta({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ta(t){return vt=Ti(t),te=vt.format,vt.parse,vt.utcFormat,vt.utcParse,vt}function xa(t){return new Date(t)}function ba(t){return t instanceof Date?+t:+new Date(+t)}function An(t,e,n,r,i,a,s,u,y,c){var x=wn(),p=x.invert,v=x.domain,D=c(".%L"),z=c(":%S"),T=c("%I:%M"),_=c("%I %p"),I=c("%a %d"),W=c("%b %d"),O=c("%B"),V=c("%Y");function P(C){return(y(C)4&&(D+=7),v.add(D,n));return z.diff(T,"week")+1},u.isoWeekday=function(c){return this.$utils().u(c)?this.day()||7:this.day(this.day()%7?c:c-7)};var y=u.startOf;u.startOf=function(c,x){var p=this.$utils(),v=!!p.u(x)||x;return p.p(c)==="isoweek"?v?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):y.bind(this)(c,x)}}})})(Yn);var wa=Yn.exports;const Da=De(wa);var En={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,a=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,u={},y=function(T){return(T=+T)+(T>68?1900:2e3)},c=function(T){return function(_){this[T]=+_}},x=[/[+-]\d\d:?(\d\d)?|Z/,function(T){(this.zone||(this.zone={})).offset=function(_){if(!_||_==="Z")return 0;var I=_.match(/([+-]|\d\d)/g),W=60*I[1]+(+I[2]||0);return W===0?0:I[0]==="+"?-W:W}(T)}],p=function(T){var _=u[T];return _&&(_.indexOf?_:_.s.concat(_.f))},v=function(T,_){var I,W=u.meridiem;if(W){for(var O=1;O<=24;O+=1)if(T.indexOf(W(O,0,_))>-1){I=O>12;break}}else I=T===(_?"pm":"PM");return I},D={A:[s,function(T){this.afternoon=v(T,!1)}],a:[s,function(T){this.afternoon=v(T,!0)}],S:[/\d/,function(T){this.milliseconds=100*+T}],SS:[i,function(T){this.milliseconds=10*+T}],SSS:[/\d{3}/,function(T){this.milliseconds=+T}],s:[a,c("seconds")],ss:[a,c("seconds")],m:[a,c("minutes")],mm:[a,c("minutes")],H:[a,c("hours")],h:[a,c("hours")],HH:[a,c("hours")],hh:[a,c("hours")],D:[a,c("day")],DD:[i,c("day")],Do:[s,function(T){var _=u.ordinal,I=T.match(/\d+/);if(this.day=I[0],_)for(var W=1;W<=31;W+=1)_(W).replace(/\[|\]/g,"")===T&&(this.day=W)}],M:[a,c("month")],MM:[i,c("month")],MMM:[s,function(T){var _=p("months"),I=(p("monthsShort")||_.map(function(W){return W.slice(0,3)})).indexOf(T)+1;if(I<1)throw new Error;this.month=I%12||I}],MMMM:[s,function(T){var _=p("months").indexOf(T)+1;if(_<1)throw new Error;this.month=_%12||_}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(T){this.year=y(T)}],YYYY:[/\d{4}/,c("year")],Z:x,ZZ:x};function z(T){var _,I;_=T,I=u&&u.formats;for(var W=(T=_.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(h,g,l){var f=l&&l.toUpperCase();return g||I[l]||n[l]||I[f].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(b,o,A){return o||A.slice(1)})})).match(r),O=W.length,V=0;V-1)return new Date((B==="X"?1e3:1)*m);var j=z(B)(m),k=j.year,F=j.month,U=j.day,E=j.hours,H=j.minutes,Q=j.seconds,q=j.milliseconds,dt=j.zone,G=new Date,M=U||(k||F?1:G.getDate()),S=k||G.getFullYear(),L=0;k&&!F||(L=F>0?F-1:G.getMonth());var d=E||0,X=H||0,N=Q||0,$=q||0;return dt?new Date(Date.UTC(S,L,M,d,X,N,$+60*dt.offset*1e3)):Z?new Date(Date.UTC(S,L,M,d,X,N,$)):new Date(S,L,M,d,X,N,$)}catch{return new Date("")}}(P,w,C),this.init(),f&&f!==!0&&(this.$L=this.locale(f).$L),l&&P!=this.format(w)&&(this.$d=new Date("")),u={}}else if(w instanceof Array)for(var b=w.length,o=1;o<=b;o+=1){Y[1]=w[o-1];var A=I.apply(this,Y);if(A.isValid()){this.$d=A.$d,this.$L=A.$L,this.init();break}o===b&&(this.$d=new Date(""))}else O.call(this,V)}}})})(En);var Ca=En.exports;const Sa=De(Ca);var Ln={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){return function(n,r){var i=r.prototype,a=i.format;i.format=function(s){var u=this,y=this.$locale();if(!this.isValid())return a.bind(this)(s);var c=this.$utils(),x=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(p){switch(p){case"Q":return Math.ceil((u.$M+1)/3);case"Do":return y.ordinal(u.$D);case"gggg":return u.weekYear();case"GGGG":return u.isoWeekYear();case"wo":return y.ordinal(u.week(),"W");case"w":case"ww":return c.s(u.week(),p==="w"?1:2,"0");case"W":case"WW":return c.s(u.isoWeek(),p==="W"?1:2,"0");case"k":case"kk":return c.s(String(u.$H===0?24:u.$H),p==="k"?1:2,"0");case"X":return Math.floor(u.$d.getTime()/1e3);case"x":return u.$d.getTime();case"z":return"["+u.offsetName()+"]";case"zzz":return"["+u.offsetName("long")+"]";default:return p}});return a.bind(this)(x)}}})})(Ln);var _a=Ln.exports;const Fa=De(_a);var Te=function(){var t=function(w,h,g,l){for(g=g||{},l=w.length;l--;g[w[l]]=h);return g},e=[1,3],n=[1,5],r=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],i=[1,15],a=[1,16],s=[1,17],u=[1,18],y=[1,19],c=[1,20],x=[1,21],p=[1,22],v=[1,23],D=[1,24],z=[1,25],T=[1,26],_=[1,27],I=[1,29],W=[1,31],O=[1,34],V=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],P={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33:":",35:"click",36:"callbackname",37:"callbackargs",38:"href",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(h,g,l,f,b,o,A){var m=o.length-1;switch(b){case 2:return o[m-1];case 3:this.$=[];break;case 4:o[m-1].push(o[m]),this.$=o[m-1];break;case 5:case 6:this.$=o[m];break;case 7:case 8:this.$=[];break;case 9:f.setDateFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 10:f.enableInclusiveEndDates(),this.$=o[m].substr(18);break;case 11:f.TopAxis(),this.$=o[m].substr(8);break;case 12:f.setAxisFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 13:f.setTickInterval(o[m].substr(13)),this.$=o[m].substr(13);break;case 14:f.setExcludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 15:f.setIncludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 16:f.setTodayMarker(o[m].substr(12)),this.$=o[m].substr(12);break;case 17:f.setDiagramTitle(o[m].substr(6)),this.$=o[m].substr(6);break;case 18:this.$=o[m].trim(),f.setAccTitle(this.$);break;case 19:case 20:this.$=o[m].trim(),f.setAccDescription(this.$);break;case 21:f.addSection(o[m].substr(8)),this.$=o[m].substr(8);break;case 23:f.addTask(o[m-1],o[m]),this.$="task";break;case 27:this.$=o[m-1],f.setClickEvent(o[m-1],o[m],null);break;case 28:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],o[m]);break;case 29:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],null),f.setLink(o[m-2],o[m]);break;case 30:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-2],o[m-1]),f.setLink(o[m-3],o[m]);break;case 31:this.$=o[m-2],f.setClickEvent(o[m-2],o[m],null),f.setLink(o[m-2],o[m-1]);break;case 32:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-1],o[m]),f.setLink(o[m-3],o[m-2]);break;case 33:this.$=o[m-1],f.setLink(o[m-1],o[m]);break;case 34:case 40:this.$=o[m-1]+" "+o[m];break;case 35:case 36:case 38:this.$=o[m-2]+" "+o[m-1]+" "+o[m];break;case 37:case 39:this.$=o[m-3]+" "+o[m-2]+" "+o[m-1]+" "+o[m];break;case 41:f.parseDirective("%%{","open_directive");break;case 42:f.parseDirective(o[m],"type_directive");break;case 43:o[m]=o[m].trim().replace(/'/g,'"'),f.parseDirective(o[m],"arg_directive");break;case 44:f.parseDirective("}%%","close_directive","gantt");break}},table:[{3:1,4:2,5:e,30:4,40:n},{1:[3]},{3:6,4:2,5:e,30:4,40:n},t(r,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},{32:32,33:[1,33],43:O},t([33,43],[2,42]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:30,10:35,12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),{22:[1,36]},{24:[1,37]},t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),{29:[1,38]},t(r,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},t(r,[2,5]),t(r,[2,18]),t(r,[2,19]),t(r,[2,23]),t(r,[2,27],{37:[1,44],38:[1,45]}),t(r,[2,33],{36:[1,46]}),t(V,[2,25]),{32:47,43:O},{43:[2,43]},t(r,[2,28],{38:[1,48]}),t(r,[2,29]),t(r,[2,31],{37:[1,49]}),{11:[1,50]},t(r,[2,30]),t(r,[2,32]),t(V,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(h,g){if(g.recoverable)this.trace(h);else{var l=new Error(h);throw l.hash=g,l}},parse:function(h){var g=this,l=[0],f=[],b=[null],o=[],A=this.table,m="",B=0,Z=0,j=2,k=1,F=o.slice.call(arguments,1),U=Object.create(this.lexer),E={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(E.yy[H]=this.yy[H]);U.setInput(h,E.yy),E.yy.lexer=U,E.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var Q=U.yylloc;o.push(Q);var q=U.options&&U.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(){var rt;return rt=f.pop()||U.lex()||k,typeof rt!="number"&&(rt instanceof Array&&(f=rt,rt=f.pop()),rt=g.symbols_[rt]||rt),rt}for(var G,M,S,L,d={},X,N,$,J;;){if(M=l[l.length-1],this.defaultActions[M]?S=this.defaultActions[M]:((G===null||typeof G>"u")&&(G=dt()),S=A[M]&&A[M][G]),typeof S>"u"||!S.length||!S[0]){var at="";J=[];for(X in A[M])this.terminals_[X]&&X>j&&J.push("'"+this.terminals_[X]+"'");U.showPosition?at="Parse error on line "+(B+1)+`: `+U.showPosition()+` Expecting `+J.join(", ")+", got '"+(this.terminals_[G]||G)+"'":at="Parse error on line "+(B+1)+": Unexpected "+(G==k?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(at,{text:U.match,token:this.terminals_[G]||G,line:U.yylineno,loc:Q,expected:J})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+G);switch(S[0]){case 1:l.push(G),b.push(U.yytext),o.push(U.yylloc),l.push(S[1]),G=null,Z=U.yyleng,m=U.yytext,B=U.yylineno,Q=U.yylloc;break;case 2:if(N=this.productions_[S[1]][1],d.$=b[b.length-N],d._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},q&&(d._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),L=this.performAction.apply(d,[m,Z,B,E.yy,S[1],b,o].concat(F)),typeof L<"u")return L;N&&(l=l.slice(0,-1*N*2),b=b.slice(0,-1*N),o=o.slice(0,-1*N)),l.push(this.productions_[S[1]][0]),b.push(d.$),o.push(d._$),$=A[l[l.length-2]][l[l.length-1]],l.push($);break;case 3:return!0}}return!0}},C=function(){var w={EOF:1,parseError:function(g,l){if(this.yy.parser)this.yy.parser.parseError(g,l);else throw new Error(g)},setInput:function(h,g){return this.yy=g||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var g=h.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},unput:function(h){var g=h.length,l=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===f.length?this.yylloc.first_column:0)+f[f.length-l.length].length-l[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(h){this.unput(this.match.slice(h))},pastInput:function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var h=this.pastInput(),g=new Array(h.length+1).join("-");return h+this.upcomingInput()+` diff --git a/_nuxt/gitGraphDiagram-0a645df6.9ac7210d.js b/_nuxt/gitGraphDiagram-0a645df6.8b8cec9f.js similarity index 99% rename from _nuxt/gitGraphDiagram-0a645df6.9ac7210d.js rename to _nuxt/gitGraphDiagram-0a645df6.8b8cec9f.js index 9ba8fc1f97..2fd9b4c2f3 100644 --- a/_nuxt/gitGraphDiagram-0a645df6.9ac7210d.js +++ b/_nuxt/gitGraphDiagram-0a645df6.8b8cec9f.js @@ -1,4 +1,4 @@ -import{c as A,s as Ae,g as Oe,a as Se,b as Ie,x as Ge,y as Pe,e as Ne,l as G,n as V,A as He,a6 as pe,i as De,z as Ve,a7 as ze,a8 as je}from"./mermaid.core.0bf3cbc4.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";var me=function(){var r=function(B,l,u,b){for(u=u||{},b=B.length;b--;u[B[b]]=l);return u},a=[1,4],o=[1,7],h=[1,5],c=[1,9],n=[1,6],f=[2,6],p=[1,16],v=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],y=[8,14,20,22,24,25,27,29,32,37,40],m=[8,13,14,20,22,24,25,27,29,32,37,40],d=[1,26],_=[6,8,14,50,55],s=[8,14,55],C=[1,53],w=[1,52],H=[8,14,30,33,35,38,55],x=[1,67],g=[1,68],k=[1,69],P=[8,14,33,35,42,55],ae={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(l,u,b,i,E,e,W){var t=e.length-1;switch(E){case 3:return e[t];case 4:return e[t-1];case 5:return i.setDirection(e[t-3]),e[t-1];case 7:i.setOptions(e[t-1]),this.$=e[t];break;case 8:e[t-1]+=e[t],this.$=e[t-1];break;case 10:this.$=[];break;case 11:e[t-1].push(e[t]),this.$=e[t-1];break;case 12:this.$=e[t-1];break;case 17:this.$=e[t].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=e[t].trim(),i.setAccDescription(this.$);break;case 20:i.addSection(e[t].substr(8)),this.$=e[t].substr(8);break;case 22:i.checkout(e[t]);break;case 23:i.branch(e[t]);break;case 24:i.branch(e[t-2],e[t]);break;case 25:i.cherryPick(e[t],"",void 0);break;case 26:i.cherryPick(e[t-2],"",e[t]);break;case 27:case 29:i.cherryPick(e[t-2],"","");break;case 28:i.cherryPick(e[t],"",e[t-2]);break;case 30:i.merge(e[t],"","","");break;case 31:i.merge(e[t-2],e[t],"","");break;case 32:i.merge(e[t-2],"",e[t],"");break;case 33:i.merge(e[t-2],"","",e[t]);break;case 34:i.merge(e[t-4],e[t],"",e[t-2]);break;case 35:i.merge(e[t-4],"",e[t],e[t-2]);break;case 36:i.merge(e[t-4],"",e[t-2],e[t]);break;case 37:i.merge(e[t-4],e[t-2],e[t],"");break;case 38:i.merge(e[t-4],e[t-2],"",e[t]);break;case 39:i.merge(e[t-4],e[t],e[t-2],"");break;case 40:i.merge(e[t-6],e[t-4],e[t-2],e[t]);break;case 41:i.merge(e[t-6],e[t],e[t-4],e[t-2]);break;case 42:i.merge(e[t-6],e[t-4],e[t],e[t-2]);break;case 43:i.merge(e[t-6],e[t-2],e[t-4],e[t]);break;case 44:i.merge(e[t-6],e[t],e[t-2],e[t-4]);break;case 45:i.merge(e[t-6],e[t-2],e[t],e[t-4]);break;case 46:i.commit(e[t]);break;case 47:i.commit("","",i.commitType.NORMAL,e[t]);break;case 48:i.commit("","",e[t],"");break;case 49:i.commit("","",e[t],e[t-2]);break;case 50:i.commit("","",e[t-2],e[t]);break;case 51:i.commit("",e[t],i.commitType.NORMAL,"");break;case 52:i.commit("",e[t-2],i.commitType.NORMAL,e[t]);break;case 53:i.commit("",e[t],i.commitType.NORMAL,e[t-2]);break;case 54:i.commit("",e[t-2],e[t],"");break;case 55:i.commit("",e[t],e[t-2],"");break;case 56:i.commit("",e[t-4],e[t-2],e[t]);break;case 57:i.commit("",e[t-4],e[t],e[t-2]);break;case 58:i.commit("",e[t-2],e[t-4],e[t]);break;case 59:i.commit("",e[t],e[t-4],e[t-2]);break;case 60:i.commit("",e[t],e[t-2],e[t-4]);break;case 61:i.commit("",e[t-2],e[t],e[t-4]);break;case 62:i.commit(e[t],"",i.commitType.NORMAL,"");break;case 63:i.commit(e[t],"",i.commitType.NORMAL,e[t-2]);break;case 64:i.commit(e[t-2],"",i.commitType.NORMAL,e[t]);break;case 65:i.commit(e[t-2],"",e[t],"");break;case 66:i.commit(e[t],"",e[t-2],"");break;case 67:i.commit(e[t],e[t-2],i.commitType.NORMAL,"");break;case 68:i.commit(e[t-2],e[t],i.commitType.NORMAL,"");break;case 69:i.commit(e[t-4],"",e[t-2],e[t]);break;case 70:i.commit(e[t-4],"",e[t],e[t-2]);break;case 71:i.commit(e[t-2],"",e[t-4],e[t]);break;case 72:i.commit(e[t],"",e[t-4],e[t-2]);break;case 73:i.commit(e[t],"",e[t-2],e[t-4]);break;case 74:i.commit(e[t-2],"",e[t],e[t-4]);break;case 75:i.commit(e[t-4],e[t],e[t-2],"");break;case 76:i.commit(e[t-4],e[t-2],e[t],"");break;case 77:i.commit(e[t-2],e[t],e[t-4],"");break;case 78:i.commit(e[t],e[t-2],e[t-4],"");break;case 79:i.commit(e[t],e[t-4],e[t-2],"");break;case 80:i.commit(e[t-2],e[t-4],e[t],"");break;case 81:i.commit(e[t-4],e[t],i.commitType.NORMAL,e[t-2]);break;case 82:i.commit(e[t-4],e[t-2],i.commitType.NORMAL,e[t]);break;case 83:i.commit(e[t-2],e[t],i.commitType.NORMAL,e[t-4]);break;case 84:i.commit(e[t],e[t-2],i.commitType.NORMAL,e[t-4]);break;case 85:i.commit(e[t],e[t-4],i.commitType.NORMAL,e[t-2]);break;case 86:i.commit(e[t-2],e[t-4],i.commitType.NORMAL,e[t]);break;case 87:i.commit(e[t-6],e[t-4],e[t-2],e[t]);break;case 88:i.commit(e[t-6],e[t-4],e[t],e[t-2]);break;case 89:i.commit(e[t-6],e[t-2],e[t-4],e[t]);break;case 90:i.commit(e[t-6],e[t],e[t-4],e[t-2]);break;case 91:i.commit(e[t-6],e[t-2],e[t],e[t-4]);break;case 92:i.commit(e[t-6],e[t],e[t-2],e[t-4]);break;case 93:i.commit(e[t-4],e[t-6],e[t-2],e[t]);break;case 94:i.commit(e[t-4],e[t-6],e[t],e[t-2]);break;case 95:i.commit(e[t-2],e[t-6],e[t-4],e[t]);break;case 96:i.commit(e[t],e[t-6],e[t-4],e[t-2]);break;case 97:i.commit(e[t-2],e[t-6],e[t],e[t-4]);break;case 98:i.commit(e[t],e[t-6],e[t-2],e[t-4]);break;case 99:i.commit(e[t],e[t-4],e[t-2],e[t-6]);break;case 100:i.commit(e[t-2],e[t-4],e[t],e[t-6]);break;case 101:i.commit(e[t],e[t-2],e[t-4],e[t-6]);break;case 102:i.commit(e[t-2],e[t],e[t-4],e[t-6]);break;case 103:i.commit(e[t-4],e[t-2],e[t],e[t-6]);break;case 104:i.commit(e[t-4],e[t],e[t-2],e[t-6]);break;case 105:i.commit(e[t-2],e[t-4],e[t-6],e[t]);break;case 106:i.commit(e[t],e[t-4],e[t-6],e[t-2]);break;case 107:i.commit(e[t-2],e[t],e[t-6],e[t-4]);break;case 108:i.commit(e[t],e[t-2],e[t-6],e[t-4]);break;case 109:i.commit(e[t-4],e[t-2],e[t-6],e[t]);break;case 110:i.commit(e[t-4],e[t],e[t-6],e[t-2]);break;case 111:this.$="";break;case 112:this.$=e[t];break;case 113:this.$=i.commitType.NORMAL;break;case 114:this.$=i.commitType.REVERSE;break;case 115:this.$=i.commitType.HIGHLIGHT;break;case 118:i.parseDirective("%%{","open_directive");break;case 119:i.parseDirective(e[t],"type_directive");break;case 120:e[t]=e[t].trim().replace(/'/g,'"'),i.parseDirective(e[t],"arg_directive");break;case 121:i.parseDirective("}%%","close_directive","gitGraph");break}},table:[{3:1,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{1:[3]},{3:10,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{3:11,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{7:12,8:f,9:[1,13],10:[1,14],11:15,14:p},r(v,[2,124]),r(v,[2,125]),r(v,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:f,11:15,14:p},{9:[1,21]},r(y,[2,10],{12:22,13:[1,23]}),r(m,[2,9]),{9:[1,25],48:24,53:d},r([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:f,11:15,14:p},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},r(m,[2,8]),r(_,[2,116]),{49:45,52:[1,46]},r(_,[2,121]),{1:[2,4]},{8:[1,47]},r(y,[2,11]),{4:48,8:o,14:h,55:n},r(y,[2,13]),r(s,[2,14]),r(s,[2,15]),r(s,[2,16]),{21:[1,49]},{23:[1,50]},r(s,[2,19]),r(s,[2,20]),r(s,[2,21]),{28:51,34:C,54:w},r(s,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:C,54:w},{33:[1,61],35:[1,62]},{28:63,34:C,54:w},{48:64,53:d},{53:[2,120]},{1:[2,5]},r(y,[2,12]),r(s,[2,17]),r(s,[2,18]),r(s,[2,22]),r(H,[2,122]),r(H,[2,123]),r(s,[2,46]),{34:[1,65]},{39:66,43:x,44:g,45:k},{34:[1,70]},{34:[1,71]},r(s,[2,112]),r(s,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},r(s,[2,23],{30:[1,78]}),r(_,[2,117]),r(s,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),r(s,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),r(P,[2,113]),r(P,[2,114]),r(P,[2,115]),r(s,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),r(s,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:x,44:g,45:k},{34:[1,93]},r(s,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:x,44:g,45:k},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:x,44:g,45:k},{34:[1,106]},{34:[1,107]},{39:108,43:x,44:g,45:k},{34:[1,109]},r(s,[2,31],{35:[1,111],38:[1,110]}),r(s,[2,32],{33:[1,113],35:[1,112]}),r(s,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},r(s,[2,24]),r(s,[2,49],{33:[1,120],42:[1,121]}),r(s,[2,53],{38:[1,122],42:[1,123]}),r(s,[2,63],{33:[1,125],38:[1,124]}),r(s,[2,50],{33:[1,126],42:[1,127]}),r(s,[2,55],{35:[1,128],42:[1,129]}),r(s,[2,66],{33:[1,131],35:[1,130]}),r(s,[2,52],{38:[1,132],42:[1,133]}),r(s,[2,54],{35:[1,134],42:[1,135]}),r(s,[2,67],{35:[1,137],38:[1,136]}),r(s,[2,64],{33:[1,139],38:[1,138]}),r(s,[2,65],{33:[1,141],35:[1,140]}),r(s,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:x,44:g,45:k},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:x,44:g,45:k},r(s,[2,26]),r(s,[2,27]),r(s,[2,28]),r(s,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:x,44:g,45:k},{34:[1,153]},{39:154,43:x,44:g,45:k},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:x,44:g,45:k},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:x,44:g,45:k},{34:[1,167]},{39:168,43:x,44:g,45:k},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:x,44:g,45:k},{34:[1,173]},r(s,[2,37],{35:[1,174]}),r(s,[2,38],{38:[1,175]}),r(s,[2,36],{33:[1,176]}),r(s,[2,39],{35:[1,177]}),r(s,[2,34],{38:[1,178]}),r(s,[2,35],{33:[1,179]}),r(s,[2,60],{42:[1,180]}),r(s,[2,73],{33:[1,181]}),r(s,[2,61],{42:[1,182]}),r(s,[2,84],{38:[1,183]}),r(s,[2,74],{33:[1,184]}),r(s,[2,83],{38:[1,185]}),r(s,[2,59],{42:[1,186]}),r(s,[2,72],{33:[1,187]}),r(s,[2,58],{42:[1,188]}),r(s,[2,78],{35:[1,189]}),r(s,[2,71],{33:[1,190]}),r(s,[2,77],{35:[1,191]}),r(s,[2,57],{42:[1,192]}),r(s,[2,85],{38:[1,193]}),r(s,[2,56],{42:[1,194]}),r(s,[2,79],{35:[1,195]}),r(s,[2,80],{35:[1,196]}),r(s,[2,86],{38:[1,197]}),r(s,[2,70],{33:[1,198]}),r(s,[2,81],{38:[1,199]}),r(s,[2,69],{33:[1,200]}),r(s,[2,75],{35:[1,201]}),r(s,[2,76],{35:[1,202]}),r(s,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:x,44:g,45:k},{34:[1,206]},{34:[1,207]},{39:208,43:x,44:g,45:k},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:x,44:g,45:k},{34:[1,214]},{39:215,43:x,44:g,45:k},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:x,44:g,45:k},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:x,44:g,45:k},{34:[1,228]},{39:229,43:x,44:g,45:k},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:x,44:g,45:k},r(s,[2,40]),r(s,[2,42]),r(s,[2,41]),r(s,[2,43]),r(s,[2,45]),r(s,[2,44]),r(s,[2,101]),r(s,[2,102]),r(s,[2,99]),r(s,[2,100]),r(s,[2,104]),r(s,[2,103]),r(s,[2,108]),r(s,[2,107]),r(s,[2,106]),r(s,[2,105]),r(s,[2,110]),r(s,[2,109]),r(s,[2,98]),r(s,[2,97]),r(s,[2,96]),r(s,[2,95]),r(s,[2,93]),r(s,[2,94]),r(s,[2,92]),r(s,[2,91]),r(s,[2,90]),r(s,[2,89]),r(s,[2,87]),r(s,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(l,u){if(u.recoverable)this.trace(l);else{var b=new Error(l);throw b.hash=u,b}},parse:function(l){var u=this,b=[0],i=[],E=[null],e=[],W=this.table,t="",Z=0,be=0,Re=2,ge=1,Ce=e.slice.call(arguments,1),L=Object.create(this.lexer),q={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(q.yy[ne]=this.yy[ne]);L.setInput(l,q.yy),q.yy.lexer=L,q.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var oe=L.yylloc;e.push(oe);var Le=L.options&&L.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(){var j;return j=i.pop()||L.lex()||ge,typeof j!="number"&&(j instanceof Array&&(i=j,j=i.pop()),j=u.symbols_[j]||j),j}for(var S,Y,D,le,U={},$,z,de,ee;;){if(Y=b[b.length-1],this.defaultActions[Y]?D=this.defaultActions[Y]:((S===null||typeof S>"u")&&(S=Me()),D=W[Y]&&W[Y][S]),typeof D>"u"||!D.length||!D[0]){var he="";ee=[];for($ in W[Y])this.terminals_[$]&&$>Re&&ee.push("'"+this.terminals_[$]+"'");L.showPosition?he="Parse error on line "+(Z+1)+`: +import{c as A,s as Ae,g as Oe,a as Se,b as Ie,x as Ge,y as Pe,e as Ne,l as G,n as V,A as He,a6 as pe,i as De,z as Ve,a7 as ze,a8 as je}from"./mermaid.core.ebd445a5.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";var me=function(){var r=function(B,l,u,b){for(u=u||{},b=B.length;b--;u[B[b]]=l);return u},a=[1,4],o=[1,7],h=[1,5],c=[1,9],n=[1,6],f=[2,6],p=[1,16],v=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],y=[8,14,20,22,24,25,27,29,32,37,40],m=[8,13,14,20,22,24,25,27,29,32,37,40],d=[1,26],_=[6,8,14,50,55],s=[8,14,55],C=[1,53],w=[1,52],H=[8,14,30,33,35,38,55],x=[1,67],g=[1,68],k=[1,69],P=[8,14,33,35,42,55],ae={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(l,u,b,i,E,e,W){var t=e.length-1;switch(E){case 3:return e[t];case 4:return e[t-1];case 5:return i.setDirection(e[t-3]),e[t-1];case 7:i.setOptions(e[t-1]),this.$=e[t];break;case 8:e[t-1]+=e[t],this.$=e[t-1];break;case 10:this.$=[];break;case 11:e[t-1].push(e[t]),this.$=e[t-1];break;case 12:this.$=e[t-1];break;case 17:this.$=e[t].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=e[t].trim(),i.setAccDescription(this.$);break;case 20:i.addSection(e[t].substr(8)),this.$=e[t].substr(8);break;case 22:i.checkout(e[t]);break;case 23:i.branch(e[t]);break;case 24:i.branch(e[t-2],e[t]);break;case 25:i.cherryPick(e[t],"",void 0);break;case 26:i.cherryPick(e[t-2],"",e[t]);break;case 27:case 29:i.cherryPick(e[t-2],"","");break;case 28:i.cherryPick(e[t],"",e[t-2]);break;case 30:i.merge(e[t],"","","");break;case 31:i.merge(e[t-2],e[t],"","");break;case 32:i.merge(e[t-2],"",e[t],"");break;case 33:i.merge(e[t-2],"","",e[t]);break;case 34:i.merge(e[t-4],e[t],"",e[t-2]);break;case 35:i.merge(e[t-4],"",e[t],e[t-2]);break;case 36:i.merge(e[t-4],"",e[t-2],e[t]);break;case 37:i.merge(e[t-4],e[t-2],e[t],"");break;case 38:i.merge(e[t-4],e[t-2],"",e[t]);break;case 39:i.merge(e[t-4],e[t],e[t-2],"");break;case 40:i.merge(e[t-6],e[t-4],e[t-2],e[t]);break;case 41:i.merge(e[t-6],e[t],e[t-4],e[t-2]);break;case 42:i.merge(e[t-6],e[t-4],e[t],e[t-2]);break;case 43:i.merge(e[t-6],e[t-2],e[t-4],e[t]);break;case 44:i.merge(e[t-6],e[t],e[t-2],e[t-4]);break;case 45:i.merge(e[t-6],e[t-2],e[t],e[t-4]);break;case 46:i.commit(e[t]);break;case 47:i.commit("","",i.commitType.NORMAL,e[t]);break;case 48:i.commit("","",e[t],"");break;case 49:i.commit("","",e[t],e[t-2]);break;case 50:i.commit("","",e[t-2],e[t]);break;case 51:i.commit("",e[t],i.commitType.NORMAL,"");break;case 52:i.commit("",e[t-2],i.commitType.NORMAL,e[t]);break;case 53:i.commit("",e[t],i.commitType.NORMAL,e[t-2]);break;case 54:i.commit("",e[t-2],e[t],"");break;case 55:i.commit("",e[t],e[t-2],"");break;case 56:i.commit("",e[t-4],e[t-2],e[t]);break;case 57:i.commit("",e[t-4],e[t],e[t-2]);break;case 58:i.commit("",e[t-2],e[t-4],e[t]);break;case 59:i.commit("",e[t],e[t-4],e[t-2]);break;case 60:i.commit("",e[t],e[t-2],e[t-4]);break;case 61:i.commit("",e[t-2],e[t],e[t-4]);break;case 62:i.commit(e[t],"",i.commitType.NORMAL,"");break;case 63:i.commit(e[t],"",i.commitType.NORMAL,e[t-2]);break;case 64:i.commit(e[t-2],"",i.commitType.NORMAL,e[t]);break;case 65:i.commit(e[t-2],"",e[t],"");break;case 66:i.commit(e[t],"",e[t-2],"");break;case 67:i.commit(e[t],e[t-2],i.commitType.NORMAL,"");break;case 68:i.commit(e[t-2],e[t],i.commitType.NORMAL,"");break;case 69:i.commit(e[t-4],"",e[t-2],e[t]);break;case 70:i.commit(e[t-4],"",e[t],e[t-2]);break;case 71:i.commit(e[t-2],"",e[t-4],e[t]);break;case 72:i.commit(e[t],"",e[t-4],e[t-2]);break;case 73:i.commit(e[t],"",e[t-2],e[t-4]);break;case 74:i.commit(e[t-2],"",e[t],e[t-4]);break;case 75:i.commit(e[t-4],e[t],e[t-2],"");break;case 76:i.commit(e[t-4],e[t-2],e[t],"");break;case 77:i.commit(e[t-2],e[t],e[t-4],"");break;case 78:i.commit(e[t],e[t-2],e[t-4],"");break;case 79:i.commit(e[t],e[t-4],e[t-2],"");break;case 80:i.commit(e[t-2],e[t-4],e[t],"");break;case 81:i.commit(e[t-4],e[t],i.commitType.NORMAL,e[t-2]);break;case 82:i.commit(e[t-4],e[t-2],i.commitType.NORMAL,e[t]);break;case 83:i.commit(e[t-2],e[t],i.commitType.NORMAL,e[t-4]);break;case 84:i.commit(e[t],e[t-2],i.commitType.NORMAL,e[t-4]);break;case 85:i.commit(e[t],e[t-4],i.commitType.NORMAL,e[t-2]);break;case 86:i.commit(e[t-2],e[t-4],i.commitType.NORMAL,e[t]);break;case 87:i.commit(e[t-6],e[t-4],e[t-2],e[t]);break;case 88:i.commit(e[t-6],e[t-4],e[t],e[t-2]);break;case 89:i.commit(e[t-6],e[t-2],e[t-4],e[t]);break;case 90:i.commit(e[t-6],e[t],e[t-4],e[t-2]);break;case 91:i.commit(e[t-6],e[t-2],e[t],e[t-4]);break;case 92:i.commit(e[t-6],e[t],e[t-2],e[t-4]);break;case 93:i.commit(e[t-4],e[t-6],e[t-2],e[t]);break;case 94:i.commit(e[t-4],e[t-6],e[t],e[t-2]);break;case 95:i.commit(e[t-2],e[t-6],e[t-4],e[t]);break;case 96:i.commit(e[t],e[t-6],e[t-4],e[t-2]);break;case 97:i.commit(e[t-2],e[t-6],e[t],e[t-4]);break;case 98:i.commit(e[t],e[t-6],e[t-2],e[t-4]);break;case 99:i.commit(e[t],e[t-4],e[t-2],e[t-6]);break;case 100:i.commit(e[t-2],e[t-4],e[t],e[t-6]);break;case 101:i.commit(e[t],e[t-2],e[t-4],e[t-6]);break;case 102:i.commit(e[t-2],e[t],e[t-4],e[t-6]);break;case 103:i.commit(e[t-4],e[t-2],e[t],e[t-6]);break;case 104:i.commit(e[t-4],e[t],e[t-2],e[t-6]);break;case 105:i.commit(e[t-2],e[t-4],e[t-6],e[t]);break;case 106:i.commit(e[t],e[t-4],e[t-6],e[t-2]);break;case 107:i.commit(e[t-2],e[t],e[t-6],e[t-4]);break;case 108:i.commit(e[t],e[t-2],e[t-6],e[t-4]);break;case 109:i.commit(e[t-4],e[t-2],e[t-6],e[t]);break;case 110:i.commit(e[t-4],e[t],e[t-6],e[t-2]);break;case 111:this.$="";break;case 112:this.$=e[t];break;case 113:this.$=i.commitType.NORMAL;break;case 114:this.$=i.commitType.REVERSE;break;case 115:this.$=i.commitType.HIGHLIGHT;break;case 118:i.parseDirective("%%{","open_directive");break;case 119:i.parseDirective(e[t],"type_directive");break;case 120:e[t]=e[t].trim().replace(/'/g,'"'),i.parseDirective(e[t],"arg_directive");break;case 121:i.parseDirective("}%%","close_directive","gitGraph");break}},table:[{3:1,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{1:[3]},{3:10,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{3:11,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{7:12,8:f,9:[1,13],10:[1,14],11:15,14:p},r(v,[2,124]),r(v,[2,125]),r(v,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:f,11:15,14:p},{9:[1,21]},r(y,[2,10],{12:22,13:[1,23]}),r(m,[2,9]),{9:[1,25],48:24,53:d},r([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:f,11:15,14:p},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},r(m,[2,8]),r(_,[2,116]),{49:45,52:[1,46]},r(_,[2,121]),{1:[2,4]},{8:[1,47]},r(y,[2,11]),{4:48,8:o,14:h,55:n},r(y,[2,13]),r(s,[2,14]),r(s,[2,15]),r(s,[2,16]),{21:[1,49]},{23:[1,50]},r(s,[2,19]),r(s,[2,20]),r(s,[2,21]),{28:51,34:C,54:w},r(s,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:C,54:w},{33:[1,61],35:[1,62]},{28:63,34:C,54:w},{48:64,53:d},{53:[2,120]},{1:[2,5]},r(y,[2,12]),r(s,[2,17]),r(s,[2,18]),r(s,[2,22]),r(H,[2,122]),r(H,[2,123]),r(s,[2,46]),{34:[1,65]},{39:66,43:x,44:g,45:k},{34:[1,70]},{34:[1,71]},r(s,[2,112]),r(s,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},r(s,[2,23],{30:[1,78]}),r(_,[2,117]),r(s,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),r(s,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),r(P,[2,113]),r(P,[2,114]),r(P,[2,115]),r(s,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),r(s,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:x,44:g,45:k},{34:[1,93]},r(s,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:x,44:g,45:k},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:x,44:g,45:k},{34:[1,106]},{34:[1,107]},{39:108,43:x,44:g,45:k},{34:[1,109]},r(s,[2,31],{35:[1,111],38:[1,110]}),r(s,[2,32],{33:[1,113],35:[1,112]}),r(s,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},r(s,[2,24]),r(s,[2,49],{33:[1,120],42:[1,121]}),r(s,[2,53],{38:[1,122],42:[1,123]}),r(s,[2,63],{33:[1,125],38:[1,124]}),r(s,[2,50],{33:[1,126],42:[1,127]}),r(s,[2,55],{35:[1,128],42:[1,129]}),r(s,[2,66],{33:[1,131],35:[1,130]}),r(s,[2,52],{38:[1,132],42:[1,133]}),r(s,[2,54],{35:[1,134],42:[1,135]}),r(s,[2,67],{35:[1,137],38:[1,136]}),r(s,[2,64],{33:[1,139],38:[1,138]}),r(s,[2,65],{33:[1,141],35:[1,140]}),r(s,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:x,44:g,45:k},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:x,44:g,45:k},r(s,[2,26]),r(s,[2,27]),r(s,[2,28]),r(s,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:x,44:g,45:k},{34:[1,153]},{39:154,43:x,44:g,45:k},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:x,44:g,45:k},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:x,44:g,45:k},{34:[1,167]},{39:168,43:x,44:g,45:k},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:x,44:g,45:k},{34:[1,173]},r(s,[2,37],{35:[1,174]}),r(s,[2,38],{38:[1,175]}),r(s,[2,36],{33:[1,176]}),r(s,[2,39],{35:[1,177]}),r(s,[2,34],{38:[1,178]}),r(s,[2,35],{33:[1,179]}),r(s,[2,60],{42:[1,180]}),r(s,[2,73],{33:[1,181]}),r(s,[2,61],{42:[1,182]}),r(s,[2,84],{38:[1,183]}),r(s,[2,74],{33:[1,184]}),r(s,[2,83],{38:[1,185]}),r(s,[2,59],{42:[1,186]}),r(s,[2,72],{33:[1,187]}),r(s,[2,58],{42:[1,188]}),r(s,[2,78],{35:[1,189]}),r(s,[2,71],{33:[1,190]}),r(s,[2,77],{35:[1,191]}),r(s,[2,57],{42:[1,192]}),r(s,[2,85],{38:[1,193]}),r(s,[2,56],{42:[1,194]}),r(s,[2,79],{35:[1,195]}),r(s,[2,80],{35:[1,196]}),r(s,[2,86],{38:[1,197]}),r(s,[2,70],{33:[1,198]}),r(s,[2,81],{38:[1,199]}),r(s,[2,69],{33:[1,200]}),r(s,[2,75],{35:[1,201]}),r(s,[2,76],{35:[1,202]}),r(s,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:x,44:g,45:k},{34:[1,206]},{34:[1,207]},{39:208,43:x,44:g,45:k},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:x,44:g,45:k},{34:[1,214]},{39:215,43:x,44:g,45:k},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:x,44:g,45:k},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:x,44:g,45:k},{34:[1,228]},{39:229,43:x,44:g,45:k},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:x,44:g,45:k},r(s,[2,40]),r(s,[2,42]),r(s,[2,41]),r(s,[2,43]),r(s,[2,45]),r(s,[2,44]),r(s,[2,101]),r(s,[2,102]),r(s,[2,99]),r(s,[2,100]),r(s,[2,104]),r(s,[2,103]),r(s,[2,108]),r(s,[2,107]),r(s,[2,106]),r(s,[2,105]),r(s,[2,110]),r(s,[2,109]),r(s,[2,98]),r(s,[2,97]),r(s,[2,96]),r(s,[2,95]),r(s,[2,93]),r(s,[2,94]),r(s,[2,92]),r(s,[2,91]),r(s,[2,90]),r(s,[2,89]),r(s,[2,87]),r(s,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(l,u){if(u.recoverable)this.trace(l);else{var b=new Error(l);throw b.hash=u,b}},parse:function(l){var u=this,b=[0],i=[],E=[null],e=[],W=this.table,t="",Z=0,be=0,Re=2,ge=1,Ce=e.slice.call(arguments,1),L=Object.create(this.lexer),q={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(q.yy[ne]=this.yy[ne]);L.setInput(l,q.yy),q.yy.lexer=L,q.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var oe=L.yylloc;e.push(oe);var Le=L.options&&L.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(){var j;return j=i.pop()||L.lex()||ge,typeof j!="number"&&(j instanceof Array&&(i=j,j=i.pop()),j=u.symbols_[j]||j),j}for(var S,Y,D,le,U={},$,z,de,ee;;){if(Y=b[b.length-1],this.defaultActions[Y]?D=this.defaultActions[Y]:((S===null||typeof S>"u")&&(S=Me()),D=W[Y]&&W[Y][S]),typeof D>"u"||!D.length||!D[0]){var he="";ee=[];for($ in W[Y])this.terminals_[$]&&$>Re&&ee.push("'"+this.terminals_[$]+"'");L.showPosition?he="Parse error on line "+(Z+1)+`: `+L.showPosition()+` Expecting `+ee.join(", ")+", got '"+(this.terminals_[S]||S)+"'":he="Parse error on line "+(Z+1)+": Unexpected "+(S==ge?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(he,{text:L.match,token:this.terminals_[S]||S,line:L.yylineno,loc:oe,expected:ee})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+S);switch(D[0]){case 1:b.push(S),E.push(L.yytext),e.push(L.yylloc),b.push(D[1]),S=null,be=L.yyleng,t=L.yytext,Z=L.yylineno,oe=L.yylloc;break;case 2:if(z=this.productions_[D[1]][1],U.$=E[E.length-z],U._$={first_line:e[e.length-(z||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(z||1)].first_column,last_column:e[e.length-1].last_column},Le&&(U._$.range=[e[e.length-(z||1)].range[0],e[e.length-1].range[1]]),le=this.performAction.apply(U,[t,be,Z,q.yy,D[1],E,e].concat(Ce)),typeof le<"u")return le;z&&(b=b.slice(0,-1*z*2),E=E.slice(0,-1*z),e=e.slice(0,-1*z)),b.push(this.productions_[D[1]][0]),E.push(U.$),e.push(U._$),de=W[b[b.length-2]][b[b.length-1]],b.push(de);break;case 3:return!0}}return!0}},Te=function(){var B={EOF:1,parseError:function(u,b){if(this.yy.parser)this.yy.parser.parseError(u,b);else throw new Error(u)},setInput:function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},unput:function(l){var u=l.length,b=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===i.length?this.yylloc.first_column:0)+i[i.length-b.length].length-b[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(l){this.unput(this.match.slice(l))},pastInput:function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` diff --git a/_nuxt/index-5219d011.a0e167f8.js b/_nuxt/index-5219d011.b2f10b44.js similarity index 97% rename from _nuxt/index-5219d011.a0e167f8.js rename to _nuxt/index-5219d011.b2f10b44.js index 1eeb6f7d36..83cfe6ee1c 100644 --- a/_nuxt/index-5219d011.a0e167f8.js +++ b/_nuxt/index-5219d011.b2f10b44.js @@ -1 +1 @@ -import{b as $,a as y,m as D,G,l as j}from"./layout.e30182f8.js";import{i as A,u as M,s as _,a as H,b as V,p as B,c as U,d as W,e as Y,f as q,g as O,h as X}from"./edges-2e77835f.9fcf4ce3.js";import{l as i,r as N,c as E,i as L}from"./mermaid.core.0bf3cbc4.js";import{c as z}from"./createText-1f5f8f92.b8d15877.js";var K=4;function Q(e){return $(e,K)}function v(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Z(e),edges:I(e)};return y(e.graph())||(t.value=Q(e.graph())),t}function Z(e){return D(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return y(n)||(s.value=n),y(r)||(s.parent=r),s})}function I(e){return D(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return y(t.name)||(r.name=t.name),y(n)||(r.value=n),r})}let f={},x={},T={};const tt=()=>{x={},T={},f={}},S=(e,t)=>(i.trace("In isDecendant",t," ",e," = ",x[t].includes(e)),!!x[t].includes(e)),et=(e,t)=>(i.info("Decendants of ",t," is ",x[t]),i.info("Edge is ",e),e.v===t||e.w===t?!1:x[t]?x[t].includes(e.v)||S(e.v,t)||S(e.w,t)||x[t].includes(e.w):(i.debug("Tilt, ",t,",not in decendants"),!1)),J=(e,t,n,r)=>{i.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(a=>{if(t.children(a).length>0)J(a,t,n,r);else{const h=t.node(a);i.info("cp ",a," to ",r," with parent ",e),n.setNode(a,h),r!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",r,"data",t.node(e),r),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const l=t.edges(a);i.debug("Copying Edges",l),l.forEach(d=>{i.info("Edge",d);const w=t.edge(d.v,d.w,d.name);i.info("Edge data",w,r);try{et(d,r)?(i.info("Copying as ",d.v,d.w,w,d.name),n.setEdge(d.v,d.w,w,d.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch(g){i.error(g)}})}i.debug("Removing node",a),t.removeNode(a)})},R=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)T[s]=e,r=[...r,...R(s,t)];return r},b=(e,t)=>{i.trace("Searching",e);const n=t.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return i.trace("This is a valid node",e),e;for(const r of n){const s=b(r,t);if(s)return i.trace("Found replacement for",e," => ",s),s}},m=e=>!f[e]||!f[e].externalConnections?e:f[e]?f[e].id:e,nt=(e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",b(n,e)),x[n]=R(n,e),f[n]={id:b(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.debug("Cluster identified",n,x),s.forEach(a=>{if(a.v!==n&&a.w!==n){const h=S(a.v,n),l=S(a.w,n);h^l&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Decendants of XXX ",n,": ",x[n]),f[n].externalConnections=!0)}})):i.debug("Not a cluster ",n,x)}),e.edges().forEach(function(n){const r=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f[n.v]," --- ",f[n.w]),f[n.v]&&f[n.w]&&f[n.v]===f[n.w]){i.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name);const h=n.w+"---"+n.v;e.setNode(h,{domId:h,id:h,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const l=JSON.parse(JSON.stringify(r)),d=JSON.parse(JSON.stringify(r));l.label="",l.arrowTypeEnd="none",d.label="",l.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,h,l,n.name+"-cyclic-special"),e.setEdge(h,a,d,n.name+"-cyclic-special")}else(f[n.v]||f[n.w])&&(i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v&&(r.fromCluster=n.v),a!==n.w&&(r.toCluster=n.w),i.warn("Fix Replacing with XXX",s,a,n.name),e.setEdge(s,a,r,n.name))}),i.warn("Adjusted Graph",v(e)),p(e,0),i.trace(f)},p=(e,t)=>{if(i.warn("extractor - ",t,v(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const a=e.children(s);r=r||a.length>0}if(!r){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const s of n)if(i.debug("Extracting node",s,f,f[s]&&!f[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!f[s])i.debug("Not a cluster",s,t);else if(!f[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.warn("Cluster without external connections, without a parent and with children",s,t);let h=e.graph().rankdir==="TB"?"LR":"TB";f[s]&&f[s].clusterData&&f[s].clusterData.dir&&(h=f[s].clusterData.dir,i.warn("Fixing dir",f[s].clusterData.dir,h));const l=new G({multigraph:!0,compound:!0}).setGraph({rankdir:h,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",v(e)),J(s,e,l,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:f[s].clusterData,labelText:f[s].labelText,graph:l}),i.warn("New graph after copy node: (",s,")",v(l)),i.debug("Old graph after copy",v(e))}else i.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!f[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const s of n){const a=e.node(s);i.warn(" Now next level",s,a),a.clusterNode&&p(a.graph,t+1)}},P=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),a=P(e,s);n=[...n,...a]}),n},it=e=>P(e,e.children()),st=(e,t)=>{i.info("Creating subgraph rect for ",t.id,t);const n=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=n.insert("rect",":first-child"),s=N(E().flowchart.htmlLabels),a=n.insert("g").attr("class","cluster-label"),h=t.labelType==="markdown"?z(a,t.labelText,{style:t.labelStyle,useHtmlLabels:s}):a.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}const d=0*t.padding,w=d/2,g=t.width<=l.width+d?l.width+d:t.width;t.width<=l.width+d?t.diff=(l.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-g/2).attr("y",t.y-t.height/2-w).attr("width",g).attr("height",t.height+d),s?a.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2)+")"):a.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const c=r.node().getBBox();return t.width=c.width,t.height=c.height,t.intersect=function(o){return X(t,o)},n},rt=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.intersect=function(l){return X(t,l)},n},at=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),h=s.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}l=h.getBBox();const d=0*t.padding,w=d/2,g=t.width<=l.width+t.padding?l.width+t.padding:t.width;t.width<=l.width+t.padding?t.diff=(l.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w).attr("width",g+d).attr("height",t.height+d),a.attr("class","inner").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w+l.height-1).attr("width",g+d).attr("height",t.height+d-l.height-3),s.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2-t.padding/3+(N(E().flowchart.htmlLabels)?5:3))+")");const c=r.node().getBBox();return t.height=c.height,t.intersect=function(o){return X(t,o)},n},ct=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.diff=-t.padding/2,t.intersect=function(l){return X(t,l)},n},ot={rect:st,roundedWithTitle:at,noteGroup:rt,divider:ct};let F={};const lt=(e,t)=>{i.trace("Inserting cluster");const n=t.shape||"rect";F[t.id]=ot[n](e,t)},ft=()=>{F={}},k=(e,t,n,r)=>{i.info("Graph in recursive render: XXX",v(t),r);const s=t.graph().rankdir;i.trace("Dir in recursive render - dir:",s);const a=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.trace("Recursive edges",t.edge(t.edges()[0]));const h=a.insert("g").attr("class","clusters"),l=a.insert("g").attr("class","edgePaths"),d=a.insert("g").attr("class","edgeLabels"),w=a.insert("g").attr("class","nodes");t.nodes().forEach(function(c){const o=t.node(c);if(r!==void 0){const u=JSON.parse(JSON.stringify(r.clusterData));i.info("Setting data for cluster XXX (",c,") ",u,r),t.setNode(r.id,u),t.parent(c)||(i.trace("Setting parent",c,r.id),t.setParent(c,r.id,u))}if(i.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){i.info("Cluster identified",c,o.width,t.node(c));const u=k(w,o.graph,n,t.node(c)),C=u.elem;M(o,C),o.diff=u.diff||0,i.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),_(C,o),i.warn("Recursive render complete ",C,o)}else t.children(c).length>0?(i.info("Cluster - the non recursive path XXX",c,o.id,o,t),i.info(b(o.id,t)),f[o.id]={id:b(o.id,t),node:o}):(i.info("Node - the non recursive path",c,o.id,o),H(w,t.node(c),s))}),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),i.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),i.info("Fix",f,"ids:",c.v,c.w,"Translateing: ",f[c.v],f[c.w]),V(d,o)}),t.edges().forEach(function(c){i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),i.info("#############################################"),i.info("### Layout ###"),i.info("#############################################"),i.info(t),j(t),i.info("Graph after layout:",v(t));let g=0;return it(t).forEach(function(c){const o=t.node(c);i.info("Position "+c+": "+JSON.stringify(t.node(c))),i.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?B(o):t.children(c).length>0?(lt(h,o),f[o.id].node=o):B(o)}),t.edges().forEach(function(c){const o=t.edge(c);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o);const u=U(l,c,o,f,n,t);W(o,u)}),t.nodes().forEach(function(c){const o=t.node(c);i.info(c,o.type,o.diff),o.type==="group"&&(g=o.diff)}),{elem:a,diff:g}},gt=(e,t,n,r,s)=>{A(e,n,r,s),Y(),q(),ft(),tt(),i.warn("Graph at first:",v(t)),nt(t),i.warn("Graph after:",v(t)),k(e,t,r)};export{gt as r}; +import{b as $,a as y,m as D,G,l as j}from"./layout.6ca81b77.js";import{i as A,u as M,s as _,a as H,b as V,p as B,c as U,d as W,e as Y,f as q,g as O,h as X}from"./edges-2e77835f.697716b4.js";import{l as i,r as N,c as E,i as L}from"./mermaid.core.ebd445a5.js";import{c as z}from"./createText-1f5f8f92.68559ab5.js";var K=4;function Q(e){return $(e,K)}function v(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Z(e),edges:I(e)};return y(e.graph())||(t.value=Q(e.graph())),t}function Z(e){return D(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return y(n)||(s.value=n),y(r)||(s.parent=r),s})}function I(e){return D(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return y(t.name)||(r.name=t.name),y(n)||(r.value=n),r})}let f={},x={},T={};const tt=()=>{x={},T={},f={}},S=(e,t)=>(i.trace("In isDecendant",t," ",e," = ",x[t].includes(e)),!!x[t].includes(e)),et=(e,t)=>(i.info("Decendants of ",t," is ",x[t]),i.info("Edge is ",e),e.v===t||e.w===t?!1:x[t]?x[t].includes(e.v)||S(e.v,t)||S(e.w,t)||x[t].includes(e.w):(i.debug("Tilt, ",t,",not in decendants"),!1)),J=(e,t,n,r)=>{i.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(a=>{if(t.children(a).length>0)J(a,t,n,r);else{const h=t.node(a);i.info("cp ",a," to ",r," with parent ",e),n.setNode(a,h),r!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",r,"data",t.node(e),r),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const l=t.edges(a);i.debug("Copying Edges",l),l.forEach(d=>{i.info("Edge",d);const w=t.edge(d.v,d.w,d.name);i.info("Edge data",w,r);try{et(d,r)?(i.info("Copying as ",d.v,d.w,w,d.name),n.setEdge(d.v,d.w,w,d.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch(g){i.error(g)}})}i.debug("Removing node",a),t.removeNode(a)})},R=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)T[s]=e,r=[...r,...R(s,t)];return r},b=(e,t)=>{i.trace("Searching",e);const n=t.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return i.trace("This is a valid node",e),e;for(const r of n){const s=b(r,t);if(s)return i.trace("Found replacement for",e," => ",s),s}},m=e=>!f[e]||!f[e].externalConnections?e:f[e]?f[e].id:e,nt=(e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",b(n,e)),x[n]=R(n,e),f[n]={id:b(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.debug("Cluster identified",n,x),s.forEach(a=>{if(a.v!==n&&a.w!==n){const h=S(a.v,n),l=S(a.w,n);h^l&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Decendants of XXX ",n,": ",x[n]),f[n].externalConnections=!0)}})):i.debug("Not a cluster ",n,x)}),e.edges().forEach(function(n){const r=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f[n.v]," --- ",f[n.w]),f[n.v]&&f[n.w]&&f[n.v]===f[n.w]){i.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name);const h=n.w+"---"+n.v;e.setNode(h,{domId:h,id:h,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const l=JSON.parse(JSON.stringify(r)),d=JSON.parse(JSON.stringify(r));l.label="",l.arrowTypeEnd="none",d.label="",l.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,h,l,n.name+"-cyclic-special"),e.setEdge(h,a,d,n.name+"-cyclic-special")}else(f[n.v]||f[n.w])&&(i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v&&(r.fromCluster=n.v),a!==n.w&&(r.toCluster=n.w),i.warn("Fix Replacing with XXX",s,a,n.name),e.setEdge(s,a,r,n.name))}),i.warn("Adjusted Graph",v(e)),p(e,0),i.trace(f)},p=(e,t)=>{if(i.warn("extractor - ",t,v(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const a=e.children(s);r=r||a.length>0}if(!r){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const s of n)if(i.debug("Extracting node",s,f,f[s]&&!f[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!f[s])i.debug("Not a cluster",s,t);else if(!f[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.warn("Cluster without external connections, without a parent and with children",s,t);let h=e.graph().rankdir==="TB"?"LR":"TB";f[s]&&f[s].clusterData&&f[s].clusterData.dir&&(h=f[s].clusterData.dir,i.warn("Fixing dir",f[s].clusterData.dir,h));const l=new G({multigraph:!0,compound:!0}).setGraph({rankdir:h,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",v(e)),J(s,e,l,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:f[s].clusterData,labelText:f[s].labelText,graph:l}),i.warn("New graph after copy node: (",s,")",v(l)),i.debug("Old graph after copy",v(e))}else i.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!f[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const s of n){const a=e.node(s);i.warn(" Now next level",s,a),a.clusterNode&&p(a.graph,t+1)}},P=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),a=P(e,s);n=[...n,...a]}),n},it=e=>P(e,e.children()),st=(e,t)=>{i.info("Creating subgraph rect for ",t.id,t);const n=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=n.insert("rect",":first-child"),s=N(E().flowchart.htmlLabels),a=n.insert("g").attr("class","cluster-label"),h=t.labelType==="markdown"?z(a,t.labelText,{style:t.labelStyle,useHtmlLabels:s}):a.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}const d=0*t.padding,w=d/2,g=t.width<=l.width+d?l.width+d:t.width;t.width<=l.width+d?t.diff=(l.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-g/2).attr("y",t.y-t.height/2-w).attr("width",g).attr("height",t.height+d),s?a.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2)+")"):a.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const c=r.node().getBBox();return t.width=c.width,t.height=c.height,t.intersect=function(o){return X(t,o)},n},rt=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.intersect=function(l){return X(t,l)},n},at=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),h=s.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}l=h.getBBox();const d=0*t.padding,w=d/2,g=t.width<=l.width+t.padding?l.width+t.padding:t.width;t.width<=l.width+t.padding?t.diff=(l.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w).attr("width",g+d).attr("height",t.height+d),a.attr("class","inner").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w+l.height-1).attr("width",g+d).attr("height",t.height+d-l.height-3),s.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2-t.padding/3+(N(E().flowchart.htmlLabels)?5:3))+")");const c=r.node().getBBox();return t.height=c.height,t.intersect=function(o){return X(t,o)},n},ct=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.diff=-t.padding/2,t.intersect=function(l){return X(t,l)},n},ot={rect:st,roundedWithTitle:at,noteGroup:rt,divider:ct};let F={};const lt=(e,t)=>{i.trace("Inserting cluster");const n=t.shape||"rect";F[t.id]=ot[n](e,t)},ft=()=>{F={}},k=(e,t,n,r)=>{i.info("Graph in recursive render: XXX",v(t),r);const s=t.graph().rankdir;i.trace("Dir in recursive render - dir:",s);const a=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.trace("Recursive edges",t.edge(t.edges()[0]));const h=a.insert("g").attr("class","clusters"),l=a.insert("g").attr("class","edgePaths"),d=a.insert("g").attr("class","edgeLabels"),w=a.insert("g").attr("class","nodes");t.nodes().forEach(function(c){const o=t.node(c);if(r!==void 0){const u=JSON.parse(JSON.stringify(r.clusterData));i.info("Setting data for cluster XXX (",c,") ",u,r),t.setNode(r.id,u),t.parent(c)||(i.trace("Setting parent",c,r.id),t.setParent(c,r.id,u))}if(i.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){i.info("Cluster identified",c,o.width,t.node(c));const u=k(w,o.graph,n,t.node(c)),C=u.elem;M(o,C),o.diff=u.diff||0,i.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),_(C,o),i.warn("Recursive render complete ",C,o)}else t.children(c).length>0?(i.info("Cluster - the non recursive path XXX",c,o.id,o,t),i.info(b(o.id,t)),f[o.id]={id:b(o.id,t),node:o}):(i.info("Node - the non recursive path",c,o.id,o),H(w,t.node(c),s))}),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),i.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),i.info("Fix",f,"ids:",c.v,c.w,"Translateing: ",f[c.v],f[c.w]),V(d,o)}),t.edges().forEach(function(c){i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),i.info("#############################################"),i.info("### Layout ###"),i.info("#############################################"),i.info(t),j(t),i.info("Graph after layout:",v(t));let g=0;return it(t).forEach(function(c){const o=t.node(c);i.info("Position "+c+": "+JSON.stringify(t.node(c))),i.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?B(o):t.children(c).length>0?(lt(h,o),f[o.id].node=o):B(o)}),t.edges().forEach(function(c){const o=t.edge(c);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o);const u=U(l,c,o,f,n,t);W(o,u)}),t.nodes().forEach(function(c){const o=t.node(c);i.info(c,o.type,o.diff),o.type==="group"&&(g=o.diff)}),{elem:a,diff:g}},gt=(e,t,n,r,s)=>{A(e,n,r,s),Y(),q(),ft(),tt(),i.warn("Graph at first:",v(t)),nt(t),i.warn("Graph after:",v(t)),k(e,t,r)};export{gt as r}; diff --git a/_nuxt/index.esm.f4e6c2d4.js b/_nuxt/index.esm.24d85c24.js similarity index 99% rename from _nuxt/index.esm.f4e6c2d4.js rename to _nuxt/index.esm.24d85c24.js index 03efd7a8cb..f4a55a7c22 100644 --- a/_nuxt/index.esm.f4e6c2d4.js +++ b/_nuxt/index.esm.24d85c24.js @@ -1,4 +1,4 @@ -import{K as T,L as y,o as Ot,U as _t,Z as $e,a5 as H,a6 as Qt,a7 as tt,r as Q,a8 as rt,B as Se,a9 as er,I as tr,aa as rr}from"./entry.f8eaff67.js";import{g as nr}from"./_commonjsHelpers.725317a4.js";/** +import{K as T,L as y,o as Ot,U as _t,Z as $e,a5 as H,a6 as Qt,a7 as tt,r as Q,a8 as rt,B as Se,a9 as er,I as tr,aa as rr}from"./entry.6e9008ac.js";import{g as nr}from"./_commonjsHelpers.725317a4.js";/** * vee-validate v4.8.6 * (c) 2023 Abdelrahman Awad * @license MIT diff --git a/_nuxt/infoDiagram-69ec1a58.cf9fc57b.js b/_nuxt/infoDiagram-69ec1a58.5e69407f.js similarity index 97% rename from _nuxt/infoDiagram-69ec1a58.cf9fc57b.js rename to _nuxt/infoDiagram-69ec1a58.5e69407f.js index 2fb5347573..7e4f90835e 100644 --- a/_nuxt/infoDiagram-69ec1a58.cf9fc57b.js +++ b/_nuxt/infoDiagram-69ec1a58.5e69407f.js @@ -1,4 +1,4 @@ -import{A as C,l as E,c as D,i as P}from"./mermaid.core.0bf3cbc4.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";var L=function(){var h=function(c,t,e,n){for(e=e||{},n=c.length;n--;e[c[n]]=t);return e},f=[6,9,10],x={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,k){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},h(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},h(f,[2,3]),h(f,[2,4]),h(f,[2,5]),h(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],k=this.table,$="",b=0,T=0,z=2,R=1,M=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var w in this.yy)Object.prototype.hasOwnProperty.call(this.yy,w)&&(p.yy[w]=this.yy[w]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var Y=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var u;return u=s.pop()||o.lex()||R,typeof u!="number"&&(u instanceof Array&&(s=u,u=s.pop()),u=e.symbols_[u]||u),u}for(var l,g,a,A,d={},v,y,j,S;;){if(g=n[n.length-1],this.defaultActions[g]?a=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),a=k[g]&&k[g][l]),typeof a>"u"||!a.length||!a[0]){var O="";S=[];for(v in k[g])this.terminals_[v]&&v>z&&S.push("'"+this.terminals_[v]+"'");o.showPosition?O="Parse error on line "+(b+1)+`: +import{A as C,l as E,c as D,i as P}from"./mermaid.core.ebd445a5.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";var L=function(){var h=function(c,t,e,n){for(e=e||{},n=c.length;n--;e[c[n]]=t);return e},f=[6,9,10],x={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,k){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},h(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},h(f,[2,3]),h(f,[2,4]),h(f,[2,5]),h(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],k=this.table,$="",b=0,T=0,z=2,R=1,M=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var w in this.yy)Object.prototype.hasOwnProperty.call(this.yy,w)&&(p.yy[w]=this.yy[w]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var Y=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var u;return u=s.pop()||o.lex()||R,typeof u!="number"&&(u instanceof Array&&(s=u,u=s.pop()),u=e.symbols_[u]||u),u}for(var l,g,a,A,d={},v,y,j,S;;){if(g=n[n.length-1],this.defaultActions[g]?a=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),a=k[g]&&k[g][l]),typeof a>"u"||!a.length||!a[0]){var O="";S=[];for(v in k[g])this.terminals_[v]&&v>z&&S.push("'"+this.terminals_[v]+"'");o.showPosition?O="Parse error on line "+(b+1)+`: `+o.showPosition()+` Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":O="Parse error on line "+(b+1)+": Unexpected "+(l==R?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(O,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(a[0]instanceof Array&&a.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(a[0]){case 1:n.push(l),r.push(o.yytext),i.push(o.yylloc),n.push(a[1]),l=null,T=o.yyleng,$=o.yytext,b=o.yylineno,I=o.yylloc;break;case 2:if(y=this.productions_[a[1]][1],d.$=r[r.length-y],d._$={first_line:i[i.length-(y||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(y||1)].first_column,last_column:i[i.length-1].last_column},Y&&(d._$.range=[i[i.length-(y||1)].range[0],i[i.length-1].range[1]]),A=this.performAction.apply(d,[$,T,b,p.yy,a[1],r,i].concat(M)),typeof A<"u")return A;y&&(n=n.slice(0,-1*y*2),r=r.slice(0,-1*y),i=i.slice(0,-1*y)),n.push(this.productions_[a[1]][0]),r.push(d.$),i.push(d._$),j=k[n[n.length-2]][n[n.length-1]],n.push(j);break;case 3:return!0}}return!0}},m=function(){var c={EOF:1,parseError:function(e,n){if(this.yy.parser)this.yy.parser.parseError(e,n);else throw new Error(e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/_nuxt/is_dark.9137c2d4.js b/_nuxt/is_dark.dd0eb355.js similarity index 75% rename from _nuxt/is_dark.9137c2d4.js rename to _nuxt/is_dark.dd0eb355.js index f5913d8c7e..d0bd15021d 100644 --- a/_nuxt/is_dark.9137c2d4.js +++ b/_nuxt/is_dark.dd0eb355.js @@ -1 +1 @@ -import{aG as c,aH as a}from"./mermaid.core.0bf3cbc4.js";const e=n=>{const{r,g:t,b:o}=c.parse(n),s=.2126*a.channel.toLinear(r)+.7152*a.channel.toLinear(t)+.0722*a.channel.toLinear(o);return a.lang.round(s)},i=e,l=n=>i(n)>=.5,u=l,h=n=>!u(n),L=h;export{L as i}; +import{aG as c,aH as a}from"./mermaid.core.ebd445a5.js";const e=n=>{const{r,g:t,b:o}=c.parse(n),s=.2126*a.channel.toLinear(r)+.7152*a.channel.toLinear(t)+.0722*a.channel.toLinear(o);return a.lang.round(s)},i=e,l=n=>i(n)>=.5,u=l,h=n=>!u(n),L=h;export{L as i}; diff --git a/_nuxt/journeyDiagram-d38aa57d.8607030d.js b/_nuxt/journeyDiagram-d38aa57d.121190c4.js similarity index 99% rename from _nuxt/journeyDiagram-d38aa57d.8607030d.js rename to _nuxt/journeyDiagram-d38aa57d.121190c4.js index 79aa67c881..d19eacd112 100644 --- a/_nuxt/journeyDiagram-d38aa57d.8607030d.js +++ b/_nuxt/journeyDiagram-d38aa57d.121190c4.js @@ -1,4 +1,4 @@ -import{c as V,x as gt,y as mt,s as xt,g as _t,b as kt,a as vt,e as bt,A as wt,i as Z,j as Tt}from"./mermaid.core.0bf3cbc4.js";import{a as st}from"./arc.9766e99d.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./path.53f90ab3.js";var K=function(){var e=function(_,n,a,h){for(a=a||{},h=_.length;h--;a[_[h]]=n);return a},t=[1,2],i=[1,5],r=[6,9,11,17,18,20,22,23,24,26],s=[1,15],o=[1,16],l=[1,17],y=[1,18],u=[1,19],x=[1,20],g=[1,24],f=[4,6,9,11,17,18,20,22,23,24,26],p={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,a,h,d,m,c,R){var k=c.length-1;switch(m){case 1:return c[k-1];case 3:this.$=[];break;case 4:c[k-1].push(c[k]),this.$=c[k-1];break;case 5:case 6:this.$=c[k];break;case 7:case 8:this.$=[];break;case 11:d.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 12:this.$=c[k].trim(),d.setAccTitle(this.$);break;case 13:case 14:this.$=c[k].trim(),d.setAccDescription(this.$);break;case 15:d.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 16:d.addTask(c[k-1],c[k]),this.$="task";break;case 18:d.parseDirective("%%{","open_directive");break;case 19:d.parseDirective(c[k],"type_directive");break;case 20:c[k]=c[k].trim().replace(/'/g,'"'),d.parseDirective(c[k],"arg_directive");break;case 21:d.parseDirective("}%%","close_directive","journey");break}},table:[{3:1,4:t,7:3,12:4,26:i},{1:[3]},e(r,[2,3],{5:6}),{3:7,4:t,7:3,12:4,26:i},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},{1:[2,2]},{14:22,15:[1,23],29:g},e([15,29],[2,19]),e(r,[2,8],{1:[2,1]}),e(r,[2,4]),{7:21,10:25,12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},e(r,[2,6]),e(r,[2,7]),e(r,[2,11]),{19:[1,26]},{21:[1,27]},e(r,[2,14]),e(r,[2,15]),{25:[1,28]},e(r,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},e(r,[2,5]),e(r,[2,12]),e(r,[2,13]),e(r,[2,16]),e(f,[2,9]),{14:32,29:g},{29:[2,20]},{11:[1,33]},e(f,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(n,a){if(a.recoverable)this.trace(n);else{var h=new Error(n);throw h.hash=a,h}},parse:function(n){var a=this,h=[0],d=[],m=[null],c=[],R=this.table,k="",z=0,tt=0,yt=2,et=1,pt=c.slice.call(arguments,1),b=Object.create(this.lexer),A={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(A.yy[X]=this.yy[X]);b.setInput(n,A.yy),A.yy.lexer=b,A.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var G=b.yylloc;c.push(G);var dt=b.options&&b.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var E;return E=d.pop()||b.lex()||et,typeof E!="number"&&(E instanceof Array&&(d=E,E=d.pop()),E=a.symbols_[E]||E),E}for(var w,I,M,H,F={},Y,$,it,q;;){if(I=h[h.length-1],this.defaultActions[I]?M=this.defaultActions[I]:((w===null||typeof w>"u")&&(w=ft()),M=R[I]&&R[I][w]),typeof M>"u"||!M.length||!M[0]){var U="";q=[];for(Y in R[I])this.terminals_[Y]&&Y>yt&&q.push("'"+this.terminals_[Y]+"'");b.showPosition?U="Parse error on line "+(z+1)+`: +import{c as V,x as gt,y as mt,s as xt,g as _t,b as kt,a as vt,e as bt,A as wt,i as Z,j as Tt}from"./mermaid.core.ebd445a5.js";import{a as st}from"./arc.1826e296.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./path.53f90ab3.js";var K=function(){var e=function(_,n,a,h){for(a=a||{},h=_.length;h--;a[_[h]]=n);return a},t=[1,2],i=[1,5],r=[6,9,11,17,18,20,22,23,24,26],s=[1,15],o=[1,16],l=[1,17],y=[1,18],u=[1,19],x=[1,20],g=[1,24],f=[4,6,9,11,17,18,20,22,23,24,26],p={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,a,h,d,m,c,R){var k=c.length-1;switch(m){case 1:return c[k-1];case 3:this.$=[];break;case 4:c[k-1].push(c[k]),this.$=c[k-1];break;case 5:case 6:this.$=c[k];break;case 7:case 8:this.$=[];break;case 11:d.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 12:this.$=c[k].trim(),d.setAccTitle(this.$);break;case 13:case 14:this.$=c[k].trim(),d.setAccDescription(this.$);break;case 15:d.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 16:d.addTask(c[k-1],c[k]),this.$="task";break;case 18:d.parseDirective("%%{","open_directive");break;case 19:d.parseDirective(c[k],"type_directive");break;case 20:c[k]=c[k].trim().replace(/'/g,'"'),d.parseDirective(c[k],"arg_directive");break;case 21:d.parseDirective("}%%","close_directive","journey");break}},table:[{3:1,4:t,7:3,12:4,26:i},{1:[3]},e(r,[2,3],{5:6}),{3:7,4:t,7:3,12:4,26:i},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},{1:[2,2]},{14:22,15:[1,23],29:g},e([15,29],[2,19]),e(r,[2,8],{1:[2,1]}),e(r,[2,4]),{7:21,10:25,12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},e(r,[2,6]),e(r,[2,7]),e(r,[2,11]),{19:[1,26]},{21:[1,27]},e(r,[2,14]),e(r,[2,15]),{25:[1,28]},e(r,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},e(r,[2,5]),e(r,[2,12]),e(r,[2,13]),e(r,[2,16]),e(f,[2,9]),{14:32,29:g},{29:[2,20]},{11:[1,33]},e(f,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(n,a){if(a.recoverable)this.trace(n);else{var h=new Error(n);throw h.hash=a,h}},parse:function(n){var a=this,h=[0],d=[],m=[null],c=[],R=this.table,k="",z=0,tt=0,yt=2,et=1,pt=c.slice.call(arguments,1),b=Object.create(this.lexer),A={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(A.yy[X]=this.yy[X]);b.setInput(n,A.yy),A.yy.lexer=b,A.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var G=b.yylloc;c.push(G);var dt=b.options&&b.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var E;return E=d.pop()||b.lex()||et,typeof E!="number"&&(E instanceof Array&&(d=E,E=d.pop()),E=a.symbols_[E]||E),E}for(var w,I,M,H,F={},Y,$,it,q;;){if(I=h[h.length-1],this.defaultActions[I]?M=this.defaultActions[I]:((w===null||typeof w>"u")&&(w=ft()),M=R[I]&&R[I][w]),typeof M>"u"||!M.length||!M[0]){var U="";q=[];for(Y in R[I])this.terminals_[Y]&&Y>yt&&q.push("'"+this.terminals_[Y]+"'");b.showPosition?U="Parse error on line "+(z+1)+`: `+b.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[w]||w)+"'":U="Parse error on line "+(z+1)+": Unexpected "+(w==et?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(U,{text:b.match,token:this.terminals_[w]||w,line:b.yylineno,loc:G,expected:q})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+w);switch(M[0]){case 1:h.push(w),m.push(b.yytext),c.push(b.yylloc),h.push(M[1]),w=null,tt=b.yyleng,k=b.yytext,z=b.yylineno,G=b.yylloc;break;case 2:if($=this.productions_[M[1]][1],F.$=m[m.length-$],F._$={first_line:c[c.length-($||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-($||1)].first_column,last_column:c[c.length-1].last_column},dt&&(F._$.range=[c[c.length-($||1)].range[0],c[c.length-1].range[1]]),H=this.performAction.apply(F,[k,tt,z,A.yy,M[1],m,c].concat(pt)),typeof H<"u")return H;$&&(h=h.slice(0,-1*$*2),m=m.slice(0,-1*$),c=c.slice(0,-1*$)),h.push(this.productions_[M[1]][0]),m.push(F.$),c.push(F._$),it=R[h[h.length-2]][h[h.length-1]],h.push(it);break;case 3:return!0}}return!0}},T=function(){var _={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(n,a){return this.yy=a||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var a=n.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var a=n.length,h=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),a=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/_nuxt/layout.e30182f8.js b/_nuxt/layout.6ca81b77.js similarity index 99% rename from _nuxt/layout.e30182f8.js rename to _nuxt/layout.6ca81b77.js index 20edad09b6..c104c3e793 100644 --- a/_nuxt/layout.e30182f8.js +++ b/_nuxt/layout.6ca81b77.js @@ -1 +1 @@ -import{B as M,C as He,S as C,D as _,E as L,F as Fr,G as nn,H as D,I as X,J as Z,K as Un,L as Dr,M as ke,N as Gr,O as Br,P as Yn,Q as Ur,R as qe,T as Hn,U as V,V as cn,W as kn,X as Yr,Y as Mn,Z as Ln,_ as se}from"./mermaid.core.0bf3cbc4.js";var Hr="[object Symbol]";function R(n){return typeof n=="symbol"||M(n)&&He(n)==Hr}function H(n,e){for(var r=-1,t=n==null?0:n.length,i=Array(t);++r0){if(++e>=at)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function Y(n){return function(){return n}}var ft=function(){try{var n=Fr(Object,"defineProperty");return n({},"",{}),n}catch{}}();const ln=ft;var dt=ln?function(n,e){return ln(n,"toString",{configurable:!0,enumerable:!1,value:Y(e),writable:!0})}:G;const ct=dt;var lt=st(ct);const Xe=lt;function Ze(n,e){for(var r=-1,t=n==null?0:n.length;++r-1}var bt=9007199254740991,wt=/^(?:0|[1-9]\d*)$/;function pn(n,e){var r=typeof n;return e=e??bt,!!e&&(r=="number"||r!="symbol"&&wt.test(n))&&n>-1&&n%1==0&&n1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=n.length>3&&typeof a=="function"?(i--,a):void 0,o&&J(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++t0&&r(u)?e>1?yn(u,e-1,r,t,i):Kn(i,u):t||(i[i.length]=u)}return i}function q(n){var e=n==null?0:n.length;return e?yn(n,1):[]}function Ut(n){return Xe(Je(n,void 0,q),n+"")}var Yt=Br(Object.getPrototypeOf,Object);const Wn=Yt;var Ht="[object Object]",kt=Function.prototype,qt=Object.prototype,je=kt.toString,Kt=qt.hasOwnProperty,Wt=je.call(Object);function Xt(n){if(!M(n)||He(n)!=Ht)return!1;var e=Wn(n);if(e===null)return!0;var r=Kt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&je.call(r)==Wt}function Zt(n,e,r,t){var i=-1,a=n==null?0:n.length;for(t&&a&&(r=n[++i]);++iu))return!1;var f=a.get(n),d=a.get(e);if(f&&d)return f==e&&d==n;var l=-1,h=!0,g=r&Pa?new z:void 0;for(a.set(n,e),a.set(e,n);++l2?e[2]:void 0;for(i&&J(e[0],e[1],i)&&(t=1);++r-1?i[a?e[o]:o]:void 0}}var xo=Math.max;function To(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:nt(r);return i<0&&(i=xo(t+i,0)),Ve(n,$(e),i)}var Oo=yo(To);const ne=Oo;function _r(n,e){var r=-1,t=D(n)?Array(n.length):[];return xn(n,function(i,a,o){t[++r]=e(i,a,o)}),t}function y(n,e){var r=_(n)?H:_r;return r(n,$(e))}function Lo(n,e){return n==null?n:zn(n,jn(e),B)}function Ao(n,e){return n&&Qn(n,jn(e))}function Po(n,e){return n>e}var No=Object.prototype,Co=No.hasOwnProperty;function $o(n,e){return n!=null&&Co.call(n,e)}function b(n,e){return n!=null&&gr(n,e,$o)}function Io(n,e){return H(e,function(r){return n[r]})}function N(n){return n==null?[]:Io(n,T(n))}function x(n){return n===void 0}function Er(n,e){return ne||a&&o&&s&&!u&&!f||t&&o&&s||!r&&s||!i)return 1;if(!t&&!a&&!f&&n=u)return s;var f=r[t];return s*(f=="desc"?-1:1)}}return n.index-e.index}function Bo(n,e,r){e.length?e=H(e,function(a){return _(a)?function(o){return En(o,a.length===1?a[0]:a)}:a}):e=[G];var t=-1;e=H(e,kn($));var i=_r(n,function(a,o,u){var s=H(e,function(f){return f(a)});return{criteria:s,index:++t,value:a}});return Fo(i,function(a,o){return Go(a,o,r)})}function Uo(n,e){return Ro(n,e,function(r,t){return pr(n,t)})}var Yo=Ut(function(n,e){return n==null?{}:Uo(n,e)});const gn=Yo;var Ho=Math.ceil,ko=Math.max;function qo(n,e,r,t){for(var i=-1,a=ko(Ho((e-n)/(r||1)),0),o=Array(a);a--;)o[t?a:++i]=n,n+=r;return o}function Ko(n){return function(e,r,t){return t&&typeof t!="number"&&J(e,r,t)&&(r=t=void 0),e=fn(e),r===void 0?(r=e,e=0):r=fn(r),t=t===void 0?e1&&J(n,e[0],e[1])?e=[]:r>2&&J(e[0],e[1],e[2])&&(e=[e[0]]),Bo(n,yn(e,1),[])});const an=Zo;var Vo=1/0,Jo=Ln&&1/Vn(new Ln([,-0]))[1]==Vo?function(n){return new Ln(n)}:it;const zo=Jo;var Qo=200;function jo(n,e,r){var t=-1,i=pt,a=n.length,o=!0,u=[],s=u;if(r)o=!1,i=_o;else if(a>=Qo){var f=e?null:zo(n);if(f)return Vn(f);o=!1,i=cr,s=new z}else s=e?[]:u;n:for(;++t1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return b(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=S,this._children[e]={},this._children[S][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return b(this._nodes,e)}removeNode(e){var r=this;if(b(this._nodes,e)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],c(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),c(T(this._in[e]),t),delete this._in[e],delete this._preds[e],c(T(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(x(r))r=S;else{r+="";for(var t=r;!x(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==S)return r}}children(e){if(x(e)&&(e=S),this._isCompound){var r=this._children[e];if(r)return T(r)}else{if(e===S)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return T(r)}successors(e){var r=this._sucs[e];if(r)return T(r)}neighbors(e){var r=this.predecessors(e);if(r)return eu(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;c(this._nodes,function(o,u){e(u)&&r.setNode(u,o)}),c(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var i={};function a(o){var u=t.parent(o);return u===void 0||r.hasNode(u)?(i[o]=u,u):u in i?i[u]:a(u)}return this._isCompound&&c(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(e){return Mn(e)||(e=Y(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return N(this._edgeObjs)}setPath(e,r){var t=this,i=arguments;return tn(e,function(a,o){return i.length>1?t.setEdge(a,o,r):t.setEdge(a,o),o}),this}setEdge(){var e,r,t,i,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,x(t)||(t=""+t);var u=W(this._isDirected,e,r,t);if(b(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!x(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[u]=a?i:this._defaultEdgeLabelFn(e,r,t);var s=ou(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[u]=s,Ce(this._preds[r],e),Ce(this._sucs[e],r),this._in[r][u]=s,this._out[e][u]=s,this._edgeCount++,this}edge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return this._edgeLabels[i]}hasEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return b(this._edgeLabels,i)}removeEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],$e(this._preds[r],e),$e(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var t=this._in[e];if(t){var i=N(t);return r?P(i,function(a){return a.v===r}):i}}outEdges(e,r){var t=this._out[e];if(t){var i=N(t);return r?P(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))}}A.prototype._nodeCount=0;A.prototype._edgeCount=0;function Ce(n,e){n[e]?n[e]++:n[e]=1}function $e(n,e){--n[e]||delete n[e]}function W(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}return i+Ne+a+Ne+(x(t)?au:t)}function ou(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return t&&(u.name=t),u}function Pn(n,e){return W(n,e.v,e.w,e.name)}class uu{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Ie(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Ie(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,t=r._prev;t!==r;)e.push(JSON.stringify(t,su)),t=t._prev;return"["+e.join(", ")+"]"}}function Ie(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function su(n,e){if(n!=="_next"&&n!=="_prev")return e}var fu=Y(1);function du(n,e){if(n.nodeCount()<=1)return[];var r=lu(n,e||fu),t=cu(r.graph,r.buckets,r.zeroIdx);return q(y(t,function(i){return n.outEdges(i.v,i.w)}))}function cu(n,e,r){for(var t=[],i=e[e.length-1],a=e[0],o;n.nodeCount();){for(;o=a.dequeue();)Nn(n,e,r,o);for(;o=i.dequeue();)Nn(n,e,r,o);if(n.nodeCount()){for(var u=e.length-2;u>0;--u)if(o=e[u].dequeue(),o){t=t.concat(Nn(n,e,r,o,!0));break}}}return t}function Nn(n,e,r,t,i){var a=i?[]:void 0;return c(n.inEdges(t.v),function(o){var u=n.edge(o),s=n.node(o.v);i&&a.push({v:o.v,w:o.w}),s.out-=u,Bn(e,r,s)}),c(n.outEdges(t.v),function(o){var u=n.edge(o),s=o.w,f=n.node(s);f.in-=u,Bn(e,r,f)}),n.removeNode(t.v),a}function lu(n,e){var r=new A,t=0,i=0;c(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(n.edges(),function(u){var s=r.edge(u.v,u.w)||0,f=e(u),d=s+f;r.setEdge(u.v,u.w,d),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var a=k(i+t+3).map(function(){return new uu}),o=t+1;return c(r.nodes(),function(u){Bn(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function Bn(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function hu(n){var e=n.graph().acyclicer==="greedy"?du(n,r(n)):vu(n);c(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,te("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function vu(n){var e=[],r={},t={};function i(a){b(t,a)||(t[a]=!0,r[a]=!0,c(n.outEdges(a),function(o){b(r,o.w)?e.push(o):i(o.w)}),delete r[a])}return c(n.nodes(),i),e}function gu(n){c(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function K(n,e,r,t){var i;do i=te(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function pu(n){var e=new A().setGraph(n.graph());return c(n.nodes(),function(r){e.setNode(r,n.node(r))}),c(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function yr(n){var e=new A({multigraph:n.isMultigraph()}).setGraph(n.graph());return c(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),c(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function Se(n,e){var r=n.x,t=n.y,i=e.x-r,a=e.y-t,o=n.width/2,u=n.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,f;return Math.abs(a)*o>Math.abs(i)*u?(a<0&&(u=-u),s=u*i/a,f=u):(i<0&&(o=-o),s=o,f=o*a/i),{x:r+s,y:t+f}}function On(n){var e=y(k(xr(n)+1),function(){return[]});return c(n.nodes(),function(r){var t=n.node(r),i=t.rank;x(i)||(e[i][t.order]=r)}),e}function bu(n){var e=Q(y(n.nodes(),function(r){return n.node(r).rank}));c(n.nodes(),function(r){var t=n.node(r);b(t,"rank")&&(t.rank-=e)})}function wu(n){var e=Q(y(n.nodes(),function(a){return n.node(a).rank})),r=[];c(n.nodes(),function(a){var o=n.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var t=0,i=n.graph().nodeRankFactor;c(r,function(a,o){x(a)&&o%i!==0?--t:t&&c(a,function(u){n.node(u).rank+=t})})}function Me(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),K(n,"border",i,e)}function xr(n){return F(y(n.nodes(),function(e){var r=n.node(e).rank;if(!x(r))return r}))}function mu(n,e){var r={lhs:[],rhs:[]};return c(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function _u(n,e){var r=Pe();try{return e()}finally{console.log(n+" time: "+(Pe()-r)+"ms")}}function Eu(n,e){return e()}function yu(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&c(t,e),b(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;ao.lim&&(u=o,s=!0);var f=P(e.edges(),function(d){return s===De(n,n.node(d.v),u)&&s!==De(n,n.node(d.w),u)});return re(f,function(d){return j(e,d)})}function Ir(n,e,r,t){var i=r.v,a=r.w;n.removeEdge(i,a),n.setEdge(t.v,t.w,{}),oe(n),ae(n,e),Du(n,e)}function Du(n,e){var r=ne(n.nodes(),function(i){return!e.node(i).parent}),t=Ru(n,r);t=t.slice(1),c(t,function(i){var a=n.node(i).parent,o=e.edge(i,a),u=!1;o||(o=e.edge(a,i),u=!0),e.node(i).rank=e.node(a).rank+(u?o.minlen:-o.minlen)})}function Gu(n,e,r){return n.hasEdge(e,r)}function De(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Bu(n){switch(n.graph().ranker){case"network-simplex":Ge(n);break;case"tight-tree":Yu(n);break;case"longest-path":Uu(n);break;default:Ge(n)}}var Uu=ie;function Yu(n){ie(n),Or(n)}function Ge(n){U(n)}function Hu(n){var e=K(n,"root",{},"_root"),r=ku(n),t=F(N(r))-1,i=2*t+1;n.graph().nestingRoot=e,c(n.edges(),function(o){n.edge(o).minlen*=i});var a=qu(n)+1;c(n.children(),function(o){Sr(n,e,i,a,t,r,o)}),n.graph().nodeRankFactor=i}function Sr(n,e,r,t,i,a,o){var u=n.children(o);if(!u.length){o!==e&&n.setEdge(e,o,{weight:0,minlen:r});return}var s=Me(n,"_bt"),f=Me(n,"_bb"),d=n.node(o);n.setParent(s,o),d.borderTop=s,n.setParent(f,o),d.borderBottom=f,c(u,function(l){Sr(n,e,r,t,i,a,l);var h=n.node(l),g=h.borderTop?h.borderTop:l,v=h.borderBottom?h.borderBottom:l,p=h.borderTop?t:2*t,m=g!==v?1:i-a[o]+1;n.setEdge(s,g,{weight:p,minlen:m,nestingEdge:!0}),n.setEdge(v,f,{weight:p,minlen:m,nestingEdge:!0})}),n.parent(o)||n.setEdge(e,s,{weight:0,minlen:i+a[o]})}function ku(n){var e={};function r(t,i){var a=n.children(t);a&&a.length&&c(a,function(o){r(o,i+1)}),e[t]=i}return c(n.children(),function(t){r(t,1)}),e}function qu(n){return tn(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Ku(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,c(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Wu(n,e,r){var t={},i;c(r,function(a){for(var o=n.parent(a),u,s;o;){if(u=n.parent(o),u?(s=t[u],t[u]=o):(s=i,i=o),s&&s!==o){e.setEdge(s,o);return}o=u}})}function Xu(n,e,r){var t=Zu(n),i=new A({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(a){return n.node(a)});return c(n.nodes(),function(a){var o=n.node(a),u=n.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,u||t),c(n[r](a),function(s){var f=s.v===a?s.w:s.v,d=i.edge(f,a),l=x(d)?0:d.weight;i.setEdge(f,a,{weight:n.edge(s).weight+l})}),b(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function Zu(n){for(var e;n.hasNode(e=te("_root")););return e}function Vu(n,e){for(var r=0,t=1;t0;)d%2&&(l+=u[d+1]),d=d-1>>1,u[d]+=f.weight;s+=f.weight*l})),s}function zu(n){var e={},r=P(n.nodes(),function(u){return!n.children(u).length}),t=F(y(r,function(u){return n.node(u).rank})),i=y(k(t+1),function(){return[]});function a(u){if(!b(e,u)){e[u]=!0;var s=n.node(u);i[s.rank].push(u),c(n.successors(u),a)}}var o=an(r,function(u){return n.node(u).rank});return c(o,a),i}function Qu(n,e){return y(e,function(r){var t=n.inEdges(r);if(t.length){var i=tn(t,function(a,o){var u=n.edge(o),s=n.node(o.v);return{sum:a.sum+u.weight*s.order,weight:a.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ju(n,e){var r={};c(n,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};x(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),c(e.edges(),function(i){var a=r[i.v],o=r[i.w];!x(a)&&!x(o)&&(o.indegree++,a.out.push(r[i.w]))});var t=P(r,function(i){return!i.indegree});return ns(t)}function ns(n){var e=[];function r(a){return function(o){o.merged||(x(o.barycenter)||x(a.barycenter)||o.barycenter>=a.barycenter)&&es(a,o)}}function t(a){return function(o){o.in.push(a),--o.indegree===0&&n.push(o)}}for(;n.length;){var i=n.pop();e.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return y(P(e,function(a){return!a.merged}),function(a){return gn(a,["vs","i","barycenter","weight"])})}function es(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function rs(n,e){var r=mu(n,function(d){return b(d,"barycenter")}),t=r.lhs,i=an(r.rhs,function(d){return-d.i}),a=[],o=0,u=0,s=0;t.sort(ts(!!e)),s=Be(a,i,s),c(t,function(d){s+=d.vs.length,a.push(d.vs),o+=d.barycenter*d.weight,u+=d.weight,s=Be(a,i,s)});var f={vs:q(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function Be(n,e,r){for(var t;e.length&&(t=vn(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function ts(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Mr(n,e,r,t){var i=n.children(e),a=n.node(e),o=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,s={};o&&(i=P(i,function(v){return v!==o&&v!==u}));var f=Qu(n,i);c(f,function(v){if(n.children(v.v).length){var p=Mr(n,v.v,r,t);s[v.v]=p,b(p,"barycenter")&&as(v,p)}});var d=ju(f,r);is(d,s);var l=rs(d,t);if(o&&(l.vs=q([o,l.vs,u]),n.predecessors(o).length)){var h=n.node(n.predecessors(o)[0]),g=n.node(n.predecessors(u)[0]);b(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+g.order)/(l.weight+2),l.weight+=2}return l}function is(n,e){c(n,function(r){r.vs=q(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function as(n,e){x(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function os(n){var e=xr(n),r=Ue(n,k(1,e+1),"inEdges"),t=Ue(n,k(e-1,-1,-1),"outEdges"),i=zu(n);Ye(n,i);for(var a=Number.POSITIVE_INFINITY,o,u=0,s=0;s<4;++u,++s){us(u%2?r:t,u%4>=2),i=On(n);var f=Vu(n,i);fo||u>e[s].lim));for(f=s,s=t;(s=n.parent(s))!==f;)a.push(s);return{path:i.concat(a.reverse()),lca:f}}function ds(n){var e={},r=0;function t(i){var a=r;c(n.children(i),t),e[i]={low:a,lim:r++}}return c(n.children(),t),e}function cs(n,e){var r={};function t(i,a){var o=0,u=0,s=i.length,f=vn(a);return c(a,function(d,l){var h=hs(n,d),g=h?n.node(h).order:s;(h||d===f)&&(c(a.slice(u,l+1),function(v){c(n.predecessors(v),function(p){var m=n.node(p),E=m.order;(Ef)&&Rr(r,h,d)})})}function i(a,o){var u=-1,s,f=0;return c(o,function(d,l){if(n.node(d).dummy==="border"){var h=n.predecessors(d);h.length&&(s=n.node(h[0]).order,t(o,f,l,u,s),f=l,u=s)}t(o,f,o.length,s,a.length)}),o}return tn(e,i),r}function hs(n,e){if(n.node(e).dummy)return ne(n.predecessors(e),function(r){return n.node(r).dummy})}function Rr(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function vs(n,e,r){if(e>r){var t=e;e=r,r=t}return b(n[e],r)}function gs(n,e,r,t){var i={},a={},o={};return c(e,function(u){c(u,function(s,f){i[s]=s,a[s]=s,o[s]=f})}),c(e,function(u){var s=-1;c(u,function(f){var d=t(f);if(d.length){d=an(d,function(p){return o[p]});for(var l=(d.length-1)/2,h=Math.floor(l),g=Math.ceil(l);h<=g;++h){var v=d[h];a[f]===f&&s0){if(++e>=at)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function Y(n){return function(){return n}}var ft=function(){try{var n=Fr(Object,"defineProperty");return n({},"",{}),n}catch{}}();const ln=ft;var dt=ln?function(n,e){return ln(n,"toString",{configurable:!0,enumerable:!1,value:Y(e),writable:!0})}:G;const ct=dt;var lt=st(ct);const Xe=lt;function Ze(n,e){for(var r=-1,t=n==null?0:n.length;++r-1}var bt=9007199254740991,wt=/^(?:0|[1-9]\d*)$/;function pn(n,e){var r=typeof n;return e=e??bt,!!e&&(r=="number"||r!="symbol"&&wt.test(n))&&n>-1&&n%1==0&&n1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=n.length>3&&typeof a=="function"?(i--,a):void 0,o&&J(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++t0&&r(u)?e>1?yn(u,e-1,r,t,i):Kn(i,u):t||(i[i.length]=u)}return i}function q(n){var e=n==null?0:n.length;return e?yn(n,1):[]}function Ut(n){return Xe(Je(n,void 0,q),n+"")}var Yt=Br(Object.getPrototypeOf,Object);const Wn=Yt;var Ht="[object Object]",kt=Function.prototype,qt=Object.prototype,je=kt.toString,Kt=qt.hasOwnProperty,Wt=je.call(Object);function Xt(n){if(!M(n)||He(n)!=Ht)return!1;var e=Wn(n);if(e===null)return!0;var r=Kt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&je.call(r)==Wt}function Zt(n,e,r,t){var i=-1,a=n==null?0:n.length;for(t&&a&&(r=n[++i]);++iu))return!1;var f=a.get(n),d=a.get(e);if(f&&d)return f==e&&d==n;var l=-1,h=!0,g=r&Pa?new z:void 0;for(a.set(n,e),a.set(e,n);++l2?e[2]:void 0;for(i&&J(e[0],e[1],i)&&(t=1);++r-1?i[a?e[o]:o]:void 0}}var xo=Math.max;function To(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:nt(r);return i<0&&(i=xo(t+i,0)),Ve(n,$(e),i)}var Oo=yo(To);const ne=Oo;function _r(n,e){var r=-1,t=D(n)?Array(n.length):[];return xn(n,function(i,a,o){t[++r]=e(i,a,o)}),t}function y(n,e){var r=_(n)?H:_r;return r(n,$(e))}function Lo(n,e){return n==null?n:zn(n,jn(e),B)}function Ao(n,e){return n&&Qn(n,jn(e))}function Po(n,e){return n>e}var No=Object.prototype,Co=No.hasOwnProperty;function $o(n,e){return n!=null&&Co.call(n,e)}function b(n,e){return n!=null&&gr(n,e,$o)}function Io(n,e){return H(e,function(r){return n[r]})}function N(n){return n==null?[]:Io(n,T(n))}function x(n){return n===void 0}function Er(n,e){return ne||a&&o&&s&&!u&&!f||t&&o&&s||!r&&s||!i)return 1;if(!t&&!a&&!f&&n=u)return s;var f=r[t];return s*(f=="desc"?-1:1)}}return n.index-e.index}function Bo(n,e,r){e.length?e=H(e,function(a){return _(a)?function(o){return En(o,a.length===1?a[0]:a)}:a}):e=[G];var t=-1;e=H(e,kn($));var i=_r(n,function(a,o,u){var s=H(e,function(f){return f(a)});return{criteria:s,index:++t,value:a}});return Fo(i,function(a,o){return Go(a,o,r)})}function Uo(n,e){return Ro(n,e,function(r,t){return pr(n,t)})}var Yo=Ut(function(n,e){return n==null?{}:Uo(n,e)});const gn=Yo;var Ho=Math.ceil,ko=Math.max;function qo(n,e,r,t){for(var i=-1,a=ko(Ho((e-n)/(r||1)),0),o=Array(a);a--;)o[t?a:++i]=n,n+=r;return o}function Ko(n){return function(e,r,t){return t&&typeof t!="number"&&J(e,r,t)&&(r=t=void 0),e=fn(e),r===void 0?(r=e,e=0):r=fn(r),t=t===void 0?e1&&J(n,e[0],e[1])?e=[]:r>2&&J(e[0],e[1],e[2])&&(e=[e[0]]),Bo(n,yn(e,1),[])});const an=Zo;var Vo=1/0,Jo=Ln&&1/Vn(new Ln([,-0]))[1]==Vo?function(n){return new Ln(n)}:it;const zo=Jo;var Qo=200;function jo(n,e,r){var t=-1,i=pt,a=n.length,o=!0,u=[],s=u;if(r)o=!1,i=_o;else if(a>=Qo){var f=e?null:zo(n);if(f)return Vn(f);o=!1,i=cr,s=new z}else s=e?[]:u;n:for(;++t1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return b(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=S,this._children[e]={},this._children[S][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return b(this._nodes,e)}removeNode(e){var r=this;if(b(this._nodes,e)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],c(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),c(T(this._in[e]),t),delete this._in[e],delete this._preds[e],c(T(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(x(r))r=S;else{r+="";for(var t=r;!x(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==S)return r}}children(e){if(x(e)&&(e=S),this._isCompound){var r=this._children[e];if(r)return T(r)}else{if(e===S)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return T(r)}successors(e){var r=this._sucs[e];if(r)return T(r)}neighbors(e){var r=this.predecessors(e);if(r)return eu(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;c(this._nodes,function(o,u){e(u)&&r.setNode(u,o)}),c(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var i={};function a(o){var u=t.parent(o);return u===void 0||r.hasNode(u)?(i[o]=u,u):u in i?i[u]:a(u)}return this._isCompound&&c(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(e){return Mn(e)||(e=Y(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return N(this._edgeObjs)}setPath(e,r){var t=this,i=arguments;return tn(e,function(a,o){return i.length>1?t.setEdge(a,o,r):t.setEdge(a,o),o}),this}setEdge(){var e,r,t,i,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,x(t)||(t=""+t);var u=W(this._isDirected,e,r,t);if(b(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!x(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[u]=a?i:this._defaultEdgeLabelFn(e,r,t);var s=ou(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[u]=s,Ce(this._preds[r],e),Ce(this._sucs[e],r),this._in[r][u]=s,this._out[e][u]=s,this._edgeCount++,this}edge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return this._edgeLabels[i]}hasEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return b(this._edgeLabels,i)}removeEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],$e(this._preds[r],e),$e(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var t=this._in[e];if(t){var i=N(t);return r?P(i,function(a){return a.v===r}):i}}outEdges(e,r){var t=this._out[e];if(t){var i=N(t);return r?P(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))}}A.prototype._nodeCount=0;A.prototype._edgeCount=0;function Ce(n,e){n[e]?n[e]++:n[e]=1}function $e(n,e){--n[e]||delete n[e]}function W(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}return i+Ne+a+Ne+(x(t)?au:t)}function ou(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return t&&(u.name=t),u}function Pn(n,e){return W(n,e.v,e.w,e.name)}class uu{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Ie(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Ie(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,t=r._prev;t!==r;)e.push(JSON.stringify(t,su)),t=t._prev;return"["+e.join(", ")+"]"}}function Ie(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function su(n,e){if(n!=="_next"&&n!=="_prev")return e}var fu=Y(1);function du(n,e){if(n.nodeCount()<=1)return[];var r=lu(n,e||fu),t=cu(r.graph,r.buckets,r.zeroIdx);return q(y(t,function(i){return n.outEdges(i.v,i.w)}))}function cu(n,e,r){for(var t=[],i=e[e.length-1],a=e[0],o;n.nodeCount();){for(;o=a.dequeue();)Nn(n,e,r,o);for(;o=i.dequeue();)Nn(n,e,r,o);if(n.nodeCount()){for(var u=e.length-2;u>0;--u)if(o=e[u].dequeue(),o){t=t.concat(Nn(n,e,r,o,!0));break}}}return t}function Nn(n,e,r,t,i){var a=i?[]:void 0;return c(n.inEdges(t.v),function(o){var u=n.edge(o),s=n.node(o.v);i&&a.push({v:o.v,w:o.w}),s.out-=u,Bn(e,r,s)}),c(n.outEdges(t.v),function(o){var u=n.edge(o),s=o.w,f=n.node(s);f.in-=u,Bn(e,r,f)}),n.removeNode(t.v),a}function lu(n,e){var r=new A,t=0,i=0;c(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(n.edges(),function(u){var s=r.edge(u.v,u.w)||0,f=e(u),d=s+f;r.setEdge(u.v,u.w,d),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var a=k(i+t+3).map(function(){return new uu}),o=t+1;return c(r.nodes(),function(u){Bn(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function Bn(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function hu(n){var e=n.graph().acyclicer==="greedy"?du(n,r(n)):vu(n);c(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,te("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function vu(n){var e=[],r={},t={};function i(a){b(t,a)||(t[a]=!0,r[a]=!0,c(n.outEdges(a),function(o){b(r,o.w)?e.push(o):i(o.w)}),delete r[a])}return c(n.nodes(),i),e}function gu(n){c(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function K(n,e,r,t){var i;do i=te(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function pu(n){var e=new A().setGraph(n.graph());return c(n.nodes(),function(r){e.setNode(r,n.node(r))}),c(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function yr(n){var e=new A({multigraph:n.isMultigraph()}).setGraph(n.graph());return c(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),c(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function Se(n,e){var r=n.x,t=n.y,i=e.x-r,a=e.y-t,o=n.width/2,u=n.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,f;return Math.abs(a)*o>Math.abs(i)*u?(a<0&&(u=-u),s=u*i/a,f=u):(i<0&&(o=-o),s=o,f=o*a/i),{x:r+s,y:t+f}}function On(n){var e=y(k(xr(n)+1),function(){return[]});return c(n.nodes(),function(r){var t=n.node(r),i=t.rank;x(i)||(e[i][t.order]=r)}),e}function bu(n){var e=Q(y(n.nodes(),function(r){return n.node(r).rank}));c(n.nodes(),function(r){var t=n.node(r);b(t,"rank")&&(t.rank-=e)})}function wu(n){var e=Q(y(n.nodes(),function(a){return n.node(a).rank})),r=[];c(n.nodes(),function(a){var o=n.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var t=0,i=n.graph().nodeRankFactor;c(r,function(a,o){x(a)&&o%i!==0?--t:t&&c(a,function(u){n.node(u).rank+=t})})}function Me(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),K(n,"border",i,e)}function xr(n){return F(y(n.nodes(),function(e){var r=n.node(e).rank;if(!x(r))return r}))}function mu(n,e){var r={lhs:[],rhs:[]};return c(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function _u(n,e){var r=Pe();try{return e()}finally{console.log(n+" time: "+(Pe()-r)+"ms")}}function Eu(n,e){return e()}function yu(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&c(t,e),b(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;ao.lim&&(u=o,s=!0);var f=P(e.edges(),function(d){return s===De(n,n.node(d.v),u)&&s!==De(n,n.node(d.w),u)});return re(f,function(d){return j(e,d)})}function Ir(n,e,r,t){var i=r.v,a=r.w;n.removeEdge(i,a),n.setEdge(t.v,t.w,{}),oe(n),ae(n,e),Du(n,e)}function Du(n,e){var r=ne(n.nodes(),function(i){return!e.node(i).parent}),t=Ru(n,r);t=t.slice(1),c(t,function(i){var a=n.node(i).parent,o=e.edge(i,a),u=!1;o||(o=e.edge(a,i),u=!0),e.node(i).rank=e.node(a).rank+(u?o.minlen:-o.minlen)})}function Gu(n,e,r){return n.hasEdge(e,r)}function De(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Bu(n){switch(n.graph().ranker){case"network-simplex":Ge(n);break;case"tight-tree":Yu(n);break;case"longest-path":Uu(n);break;default:Ge(n)}}var Uu=ie;function Yu(n){ie(n),Or(n)}function Ge(n){U(n)}function Hu(n){var e=K(n,"root",{},"_root"),r=ku(n),t=F(N(r))-1,i=2*t+1;n.graph().nestingRoot=e,c(n.edges(),function(o){n.edge(o).minlen*=i});var a=qu(n)+1;c(n.children(),function(o){Sr(n,e,i,a,t,r,o)}),n.graph().nodeRankFactor=i}function Sr(n,e,r,t,i,a,o){var u=n.children(o);if(!u.length){o!==e&&n.setEdge(e,o,{weight:0,minlen:r});return}var s=Me(n,"_bt"),f=Me(n,"_bb"),d=n.node(o);n.setParent(s,o),d.borderTop=s,n.setParent(f,o),d.borderBottom=f,c(u,function(l){Sr(n,e,r,t,i,a,l);var h=n.node(l),g=h.borderTop?h.borderTop:l,v=h.borderBottom?h.borderBottom:l,p=h.borderTop?t:2*t,m=g!==v?1:i-a[o]+1;n.setEdge(s,g,{weight:p,minlen:m,nestingEdge:!0}),n.setEdge(v,f,{weight:p,minlen:m,nestingEdge:!0})}),n.parent(o)||n.setEdge(e,s,{weight:0,minlen:i+a[o]})}function ku(n){var e={};function r(t,i){var a=n.children(t);a&&a.length&&c(a,function(o){r(o,i+1)}),e[t]=i}return c(n.children(),function(t){r(t,1)}),e}function qu(n){return tn(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Ku(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,c(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Wu(n,e,r){var t={},i;c(r,function(a){for(var o=n.parent(a),u,s;o;){if(u=n.parent(o),u?(s=t[u],t[u]=o):(s=i,i=o),s&&s!==o){e.setEdge(s,o);return}o=u}})}function Xu(n,e,r){var t=Zu(n),i=new A({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(a){return n.node(a)});return c(n.nodes(),function(a){var o=n.node(a),u=n.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,u||t),c(n[r](a),function(s){var f=s.v===a?s.w:s.v,d=i.edge(f,a),l=x(d)?0:d.weight;i.setEdge(f,a,{weight:n.edge(s).weight+l})}),b(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function Zu(n){for(var e;n.hasNode(e=te("_root")););return e}function Vu(n,e){for(var r=0,t=1;t0;)d%2&&(l+=u[d+1]),d=d-1>>1,u[d]+=f.weight;s+=f.weight*l})),s}function zu(n){var e={},r=P(n.nodes(),function(u){return!n.children(u).length}),t=F(y(r,function(u){return n.node(u).rank})),i=y(k(t+1),function(){return[]});function a(u){if(!b(e,u)){e[u]=!0;var s=n.node(u);i[s.rank].push(u),c(n.successors(u),a)}}var o=an(r,function(u){return n.node(u).rank});return c(o,a),i}function Qu(n,e){return y(e,function(r){var t=n.inEdges(r);if(t.length){var i=tn(t,function(a,o){var u=n.edge(o),s=n.node(o.v);return{sum:a.sum+u.weight*s.order,weight:a.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ju(n,e){var r={};c(n,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};x(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),c(e.edges(),function(i){var a=r[i.v],o=r[i.w];!x(a)&&!x(o)&&(o.indegree++,a.out.push(r[i.w]))});var t=P(r,function(i){return!i.indegree});return ns(t)}function ns(n){var e=[];function r(a){return function(o){o.merged||(x(o.barycenter)||x(a.barycenter)||o.barycenter>=a.barycenter)&&es(a,o)}}function t(a){return function(o){o.in.push(a),--o.indegree===0&&n.push(o)}}for(;n.length;){var i=n.pop();e.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return y(P(e,function(a){return!a.merged}),function(a){return gn(a,["vs","i","barycenter","weight"])})}function es(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function rs(n,e){var r=mu(n,function(d){return b(d,"barycenter")}),t=r.lhs,i=an(r.rhs,function(d){return-d.i}),a=[],o=0,u=0,s=0;t.sort(ts(!!e)),s=Be(a,i,s),c(t,function(d){s+=d.vs.length,a.push(d.vs),o+=d.barycenter*d.weight,u+=d.weight,s=Be(a,i,s)});var f={vs:q(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function Be(n,e,r){for(var t;e.length&&(t=vn(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function ts(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Mr(n,e,r,t){var i=n.children(e),a=n.node(e),o=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,s={};o&&(i=P(i,function(v){return v!==o&&v!==u}));var f=Qu(n,i);c(f,function(v){if(n.children(v.v).length){var p=Mr(n,v.v,r,t);s[v.v]=p,b(p,"barycenter")&&as(v,p)}});var d=ju(f,r);is(d,s);var l=rs(d,t);if(o&&(l.vs=q([o,l.vs,u]),n.predecessors(o).length)){var h=n.node(n.predecessors(o)[0]),g=n.node(n.predecessors(u)[0]);b(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+g.order)/(l.weight+2),l.weight+=2}return l}function is(n,e){c(n,function(r){r.vs=q(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function as(n,e){x(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function os(n){var e=xr(n),r=Ue(n,k(1,e+1),"inEdges"),t=Ue(n,k(e-1,-1,-1),"outEdges"),i=zu(n);Ye(n,i);for(var a=Number.POSITIVE_INFINITY,o,u=0,s=0;s<4;++u,++s){us(u%2?r:t,u%4>=2),i=On(n);var f=Vu(n,i);fo||u>e[s].lim));for(f=s,s=t;(s=n.parent(s))!==f;)a.push(s);return{path:i.concat(a.reverse()),lca:f}}function ds(n){var e={},r=0;function t(i){var a=r;c(n.children(i),t),e[i]={low:a,lim:r++}}return c(n.children(),t),e}function cs(n,e){var r={};function t(i,a){var o=0,u=0,s=i.length,f=vn(a);return c(a,function(d,l){var h=hs(n,d),g=h?n.node(h).order:s;(h||d===f)&&(c(a.slice(u,l+1),function(v){c(n.predecessors(v),function(p){var m=n.node(p),E=m.order;(Ef)&&Rr(r,h,d)})})}function i(a,o){var u=-1,s,f=0;return c(o,function(d,l){if(n.node(d).dummy==="border"){var h=n.predecessors(d);h.length&&(s=n.node(h[0]).order,t(o,f,l,u,s),f=l,u=s)}t(o,f,o.length,s,a.length)}),o}return tn(e,i),r}function hs(n,e){if(n.node(e).dummy)return ne(n.predecessors(e),function(r){return n.node(r).dummy})}function Rr(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function vs(n,e,r){if(e>r){var t=e;e=r,r=t}return b(n[e],r)}function gs(n,e,r,t){var i={},a={},o={};return c(e,function(u){c(u,function(s,f){i[s]=s,a[s]=s,o[s]=f})}),c(e,function(u){var s=-1;c(u,function(f){var d=t(f);if(d.length){d=an(d,function(p){return o[p]});for(var l=(d.length-1)/2,h=Math.floor(l),g=Math.ceil(l);h<=g;++h){var v=d[h];a[f]===f&&s{Di[t]=e},o0=r0;let ce={};const Ua=function(t,e,i,r){S.debug("parseDirective is being called",e,i,r);try{if(e!==void 0)switch(e=e.trim(),i){case"open_directive":ce={};break;case"type_directive":if(!ce)throw new Error("currentDirective is undefined");ce.type=e.toLowerCase();break;case"arg_directive":if(!ce)throw new Error("currentDirective is undefined");ce.args=JSON.parse(e);break;case"close_directive":s0(t,ce,r),ce=void 0;break}}catch(n){S.error(`Error while rendering sequenceDiagram directive: ${e} jison context: ${i}`),S.error(n.message)}},s0=function(t,e,i){switch(S.info(`Directive type=${e.type} with args:`,e.args),e.type){case"init":case"initialize":{["config"].forEach(r=>{e.args[r]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),e.args[i]=e.args[r],delete e.args[r])}),S.info("sanitize in handleDirective",e.args),De(e.args),S.info("sanitize in handleDirective (done)",e.args),Ms(e.args);break}case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap(e.type==="wrap");break;case"themeCss":S.warn("themeCss encountered");break;default:S.warn(`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(e.args?e.args:{})}}%%`,e);break}},a0=S,l0=vn,Va=Vt,c0=t=>Qe(t,Va()),h0=i0,u0=()=>gh,f0=(t,e,i,r)=>Ua(t,e,i,r),sr={},ar=(t,e,i)=>{if(sr[t])throw new Error(`Diagram ${t} already registered.`);sr[t]=e,i&&Xa(t,i),n0(t,e.styles),e.injectUtils&&e.injectUtils(a0,l0,Va,c0,h0,u0(),f0)},qn=t=>{if(t in sr)return sr[t];throw new Error(`Diagram ${t} not found.`)};class Ga extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}}const d0=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,p0=/\s*%%.*\n/gm,Ie={},kr=function(t,e){t=t.replace(ja,"").replace(d0,"").replace(p0,` `);for(const[i,{detector:r}]of Object.entries(Ie))if(r(t,e))return i;throw new Ga(`No diagram type detected matching given configuration for text: ${t}`)},Ya=(...t)=>{for(const{id:e,detector:i,loader:r}of t)Xa(e,i,r)},g0=async()=>{S.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Ie).map(async([i,{detector:r,loader:n}])=>{if(n)try{qn(i)}catch{try{const{diagram:s,id:a}=await n();ar(a,s,r)}catch(s){throw S.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete Ie[i],s}}}))).filter(i=>i.status==="rejected");if(e.length>0){S.error(`Failed to load ${e.length} external diagrams`);for(const i of e)S.error(i);throw new Error(`Failed to load ${e.length} external diagrams`)}},Xa=(t,e,i)=>{Ie[t]?S.error(`Detector with key ${t} already exists`):Ie[t]={detector:e,loader:i},S.debug(`Detector with key ${t} added${i?" with loader":""}`)},m0=t=>Ie[t].loader,_0={curveBasis:qd,curveBasisClosed:jd,curveBasisOpen:Ud,curveBumpX:Wd,curveBumpY:Hd,curveBundle:Vd,curveCardinalClosed:Yd,curveCardinalOpen:Xd,curveCardinal:Gd,curveCatmullRomClosed:Zd,curveCatmullRomOpen:Jd,curveCatmullRom:Kd,curveLinear:zd,curveLinearClosed:Qd,curveMonotoneX:tp,curveMonotoneY:ep,curveNatural:ip,curveStep:rp,curveStepAfter:op,curveStepBefore:np},Zr=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,y0=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,C0=function(t,e){const i=Ka(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const n=i.map(o=>o.args);De(n),r=lt(r,[...n])}else r=i.args;if(r){let n=kr(t,e);["config"].forEach(o=>{r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o])})}return r},Ka=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${y0.source})(?=[}][%]{2}).* `,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),S.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=Zr.exec(t))!==null;)if(r.index===Zr.lastIndex&&Zr.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const o=r[1]?r[1]:r[2],s=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:o,args:s})}return n.length===0&&n.push({type:t,args:null}),n.length===1?n[0]:n}catch(i){return S.error(`ERROR: ${i.message} - Unable to parse directive - ${e!==null?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}},b0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function x0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return _0[i]||e}function v0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Hs(i):i}const T0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=lr(o,e),e=o});let r=i/2,n;return e=void 0,t.forEach(o=>{if(e&&!n){const s=lr(o,e);if(s=1&&(n={x:o.x,y:o.y}),a>0&&a<1&&(n={x:(1-a)*e.x+a*o.x,y:(1-a)*e.y+a*o.y})}}e=o}),n}function k0(t){return t.length===1?t[0]:S0(t)}const w0=(t,e,i)=>{let r;S.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let o=25,s;r=void 0,e.forEach(h=>{if(r&&!s){const f=lr(h,r);if(f=1&&(s={x:h.x,y:h.y}),g>0&&g<1&&(s={x:(1-g)*r.x+g*h.x,y:(1-g)*r.y+g*h.y})}}r=h});const a=t?10:5,l=Math.atan2(e[0].y-s.y,e[0].x-s.x),c={x:0,y:0};return c.x=Math.sin(l)*a+(e[0].x+s.x)/2,c.y=-Math.cos(l)*a+(e[0].y+s.y)/2,c};function B0(t,e,i){let r=JSON.parse(JSON.stringify(i)),n;S.info("our points",r),e!=="start_left"&&e!=="start_right"&&(r=r.reverse()),r.forEach(f=>{n=f});let s=25+t,a;n=void 0,r.forEach(f=>{if(n&&!a){const g=lr(f,n);if(g=1&&(a={x:f.x,y:f.y}),d>0&&d<1&&(a={x:(1-d)*n.x+d*f.x,y:(1-d)*n.y+d*f.y})}}n=f});const l=10+t*.5,c=Math.atan2(r[0].y-a.y,r[0].x-a.x),h={x:0,y:0};return h.x=Math.sin(c)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2,e==="start_left"&&(h.x=Math.sin(c+Math.PI)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c+Math.PI)*l+(r[0].y+a.y)/2),e==="end_right"&&(h.x=Math.sin(c-Math.PI)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c-Math.PI)*l+(r[0].y+a.y)/2-5),e==="end_left"&&(h.x=Math.sin(c)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2-5),h}function L0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let ts=0;const A0=()=>(ts++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ts);function E0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nE0(t.length),M0=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},O0=function(t,e){const i=e.text.replace(Tn.lineBreakRegex," "),[,r]=Un(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},$0=fi((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),Tn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=cr(`${s} `,i),c=cr(o,i);if(l>e){const{hyphenatedStrings:g,remainingWord:d}=I0(s,e,"-",i);n.push(o,...g),o=d}else c+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),I0=fi((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const c=`${s}${a}`;if(cr(c,r)>=e){const f=l+1,g=n.length===f,d=`${c}${i}`;o.push(g?c:d),s=""}else s=c}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function D0(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),jn(t,e).height}function cr(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),jn(t,e).width}const jn=fi((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);const{fontSize:i,fontFamily:r,fontWeight:n}=e;if(!t)return{width:0,height:0};const[,o]=Un(i),s=["sans-serif",r],a=t.split(Tn.lineBreakRegex),l=[],c=Mt("body");if(!c.remove)return{width:0,height:0,lineHeight:0};const h=c.append("svg");for(const g of s){let d=0;const _={width:0,height:0,lineHeight:0};for(const k of a){const F=M0();F.text=k;const R=O0(h,F).style("font-size",o).style("font-weight",n).style("font-family",g),x=(R._groups||R)[0][0].getBBox();if(x.width===0&&x.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,x.width)),d=Math.round(x.height),_.height+=d,_.lineHeight=Math.round(Math.max(_.lineHeight,d))}l.push(_)}h.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),N0=class{constructor(e,i){this.deterministic=e,this.seed=i,this.count=i?i.length:0}next(){return this.deterministic?this.count++:Date.now()}};let wi;const R0=function(t){return wi=wi||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),wi.innerHTML=t,unescape(wi.textContent)},De=t=>{if(S.debug("directiveSanitizer called with",t),typeof t=="object"&&(t.length?t.forEach(e=>De(e)):Object.keys(t).forEach(e=>{S.debug("Checking key",e),e.startsWith("__")&&(S.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(S.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(S.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(S.debug("sanitizing themeCss option"),t[e]=Ni(t[e])),e.includes("fontFamily")&&(S.debug("sanitizing fontFamily option"),t[e]=Ni(t[e])),e.includes("altFontFamily")&&(S.debug("sanitizing altFontFamily option"),t[e]=Ni(t[e])),ah.includes(e)?typeof t[e]=="object"&&(S.debug("sanitize deleting object",e),De(t[e])):(S.debug("sanitize deleting option",e),delete t[e])})),t.themeVariables){const e=Object.keys(t.themeVariables);for(const i of e){const r=t.themeVariables[i];r&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[i]="")}}S.debug("After sanitization",t)},Ni=t=>{let e=0,i=0;for(const r of t){if(e{if(!r)return;const n=t.node().getBBox();t.append("text").text(r).attr("x",n.x+n.width/2).attr("y",-i).attr("class",e)},Un=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t,10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},Ri={assignWithDepth:lt,wrapLabel:$0,calculateTextHeight:D0,calculateTextWidth:cr,calculateTextDimensions:jn,detectInit:C0,detectDirective:Ka,isSubstringInArray:b0,interpolateToCurve:x0,calcLabelPosition:k0,calcCardinalityPosition:w0,calcTerminalLabelPosition:B0,formatUrl:v0,getStylesFromArray:L0,generateId:A0,random:F0,runFunc:T0,entityDecode:R0,initIdGenerator:N0,directiveSanitizer:De,sanitizeCss:Ni,insertTitle:z0,parseFontSize:Un};var Ja="comm",Qa="rule",tl="decl",W0="@import",H0="@keyframes",q0=Math.abs,Vn=String.fromCharCode;function el(t){return t.trim()}function Pi(t,e,i){return t.replace(e,i)}function j0(t,e){return t.indexOf(e)}function ai(t,e){return t.charCodeAt(e)|0}function li(t,e,i){return t.slice(e,i)}function Zt(t){return t.length}function il(t){return t.length}function Bi(t,e){return e.push(t),t}var wr=1,Ne=1,rl=0,Tt=0,J=0,ze="";function Gn(t,e,i,r,n,o,s){return{value:t,root:e,parent:i,type:r,props:n,children:o,line:wr,column:Ne,length:s,return:""}}function U0(){return J}function V0(){return J=Tt>0?ai(ze,--Tt):0,Ne--,J===10&&(Ne=1,wr--),J}function Lt(){return J=Tt2||pn(J)>3?"":" "}function K0(t,e){for(;--e&&Lt()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return Br(t,zi()+(e<6&&pe()==32&&Lt()==32))}function gn(t){for(;Lt();)switch(J){case t:return Tt;case 34:case 39:t!==34&&t!==39&&gn(J);break;case 40:t===41&&gn(t);break;case 92:Lt();break}return Tt}function Z0(t,e){for(;Lt()&&t+J!==47+10;)if(t+J===42+42&&pe()===47)break;return"/*"+Br(e,Tt-1)+"*"+Vn(t===47?t:Lt())}function J0(t){for(;!pn(pe());)Lt();return Br(t,Tt)}function Q0(t){return Y0(Wi("",null,null,null,[""],t=G0(t),0,[0],t))}function Wi(t,e,i,r,n,o,s,a,l){for(var c=0,h=0,f=s,g=0,d=0,_=0,k=1,F=1,R=1,x=0,q="",G=n,X=o,V=r,P=q;F;)switch(_=x,x=Lt()){case 40:if(_!=108&&ai(P,f-1)==58){j0(P+=Pi(Jr(x),"&","&\f"),"&\f")!=-1&&(R=-1);break}case 34:case 39:case 91:P+=Jr(x);break;case 9:case 10:case 13:case 32:P+=X0(_);break;case 92:P+=K0(zi()-1,7);continue;case 47:switch(pe()){case 42:case 47:Bi(t_(Z0(Lt(),zi()),e,i),l);break;default:P+="/"}break;case 123*k:a[c++]=Zt(P)*R;case 125*k:case 59:case 0:switch(x){case 0:case 125:F=0;case 59+h:R==-1&&(P=Pi(P,/\f/g,"")),d>0&&Zt(P)-f&&Bi(d>32?is(P+";",r,i,f-1):is(Pi(P," ","")+";",r,i,f-2),l);break;case 59:P+=";";default:if(Bi(V=es(P,e,i,c,h,n,a,q,G=[],X=[],f),o),x===123)if(h===0)Wi(P,e,V,V,G,o,f,a,X);else switch(g===99&&ai(P,3)===110?100:g){case 100:case 109:case 115:Wi(t,V,V,r&&Bi(es(t,V,V,0,0,n,a,q,n,G=[],f),X),n,X,f,a,r?G:X);break;default:Wi(P,V,V,V,[""],X,0,a,X)}}c=h=d=0,k=R=1,q=P="",f=s;break;case 58:f=1+Zt(P),d=_;default:if(k<1){if(x==123)--k;else if(x==125&&k++==0&&V0()==125)continue}switch(P+=Vn(x),x*k){case 38:R=h>0?1:(P+="\f",-1);break;case 44:a[c++]=(Zt(P)-1)*R,R=1;break;case 64:pe()===45&&(P+=Jr(Lt())),g=pe(),h=f=Zt(q=P+=J0(zi())),x++;break;case 45:_===45&&Zt(P)==2&&(k=0)}}return o}function es(t,e,i,r,n,o,s,a,l,c,h){for(var f=n-1,g=n===0?o:[""],d=il(g),_=0,k=0,F=0;_0?g[R]+" "+x:Pi(x,/&\f/g,g[R])))&&(l[F++]=q);return Gn(t,e,i,n===0?Qa:a,l,c,h)}function t_(t,e,i){return Gn(t,e,i,Ja,Vn(U0()),li(t,2,-2),0)}function is(t,e,i,r){return Gn(t,e,i,tl,li(t,0,r),li(t,r+1,-1),r)}function mn(t,e){for(var i="",r=il(t),n=0;n-1&&t%1==0&&t<=B_}function L_(t){return t!=null&&sl(t.length)&&!Ea(t)}function A_(){return!1}var al=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cs=al&&typeof module=="object"&&module&&!module.nodeType&&module,E_=cs&&cs.exports===al,hs=E_?re.Buffer:void 0,F_=hs?hs.isBuffer:void 0,M_=F_||A_;const O_=M_;var $_="[object Arguments]",I_="[object Array]",D_="[object Boolean]",N_="[object Date]",R_="[object Error]",P_="[object Function]",z_="[object Map]",W_="[object Number]",H_="[object Object]",q_="[object RegExp]",j_="[object Set]",U_="[object String]",V_="[object WeakMap]",G_="[object ArrayBuffer]",Y_="[object DataView]",X_="[object Float32Array]",K_="[object Float64Array]",Z_="[object Int8Array]",J_="[object Int16Array]",Q_="[object Int32Array]",ty="[object Uint8Array]",ey="[object Uint8ClampedArray]",iy="[object Uint16Array]",ry="[object Uint32Array]",Y={};Y[X_]=Y[K_]=Y[Z_]=Y[J_]=Y[Q_]=Y[ty]=Y[ey]=Y[iy]=Y[ry]=!0;Y[$_]=Y[I_]=Y[G_]=Y[D_]=Y[Y_]=Y[N_]=Y[R_]=Y[P_]=Y[z_]=Y[W_]=Y[H_]=Y[q_]=Y[j_]=Y[U_]=Y[V_]=!1;function ny(t){return Yn(t)&&sl(t.length)&&!!Y[ui(t)]}function oy(t){return function(e){return t(e)}}var ll=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Je=ll&&typeof module=="object"&&module&&!module.nodeType&&module,sy=Je&&Je.exports===ll,Qr=sy&&Ba.process,ay=function(){try{var t=Je&&Je.require&&Je.require("util").types;return t||Qr&&Qr.binding&&Qr.binding("util")}catch{}}();const us=ay;var fs=us&&us.isTypedArray,ly=fs?oy(fs):ny;const cy=ly;var hy="[object Map]",uy="[object Set]",fy=Object.prototype,dy=fy.hasOwnProperty;function Hi(t){if(t==null)return!0;if(L_(t)&&(w_(t)||typeof t=="string"||typeof t.splice=="function"||O_(t)||cy(t)||S_(t)))return!t.length;var e=C_(t);if(e==hy||e==uy)return!t.size;if(nl(t))return!l_(t).length;for(var i in t)if(dy.call(t,i))return!1;return!0}const ds="10.1.0",cl="c4",py=t=>t.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/)!==null,gy=async()=>{const{diagram:t}=await rt(()=>import("./c4Diagram-44c43e89.2b6c96b1.js"),["./c4Diagram-44c43e89.2b6c96b1.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:cl,diagram:t}},my={id:cl,detector:py,loader:gy},_y=my,hl="flowchart",yy=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null},Cy=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-46a15f6f.8d80fc12.js"),["./flowDiagram-46a15f6f.8d80fc12.js","./flowDb-52e24d17.92450f30.js","./layout.e30182f8.js","./styles-26373982.806655a2.js","./index-5219d011.a0e167f8.js","./edges-2e77835f.9fcf4ce3.js","./createText-1f5f8f92.b8d15877.js","./svgDraw-2526cba0.cff159e4.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.0071fc9b.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:hl,diagram:t}},by={id:hl,detector:yy,loader:Cy},xy=by,ul="flowchart-v2",vy=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*flowchart/)!==null},Ty=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-v2-8e52592d.81694620.js"),["./flowDiagram-v2-8e52592d.81694620.js","./flowDb-52e24d17.92450f30.js","./styles-26373982.806655a2.js","./layout.e30182f8.js","./index-5219d011.a0e167f8.js","./edges-2e77835f.9fcf4ce3.js","./createText-1f5f8f92.b8d15877.js","./svgDraw-2526cba0.cff159e4.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.0071fc9b.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ul,diagram:t}},Sy={id:ul,detector:vy,loader:Ty},ky=Sy,fl="er",wy=t=>t.match(/^\s*erDiagram/)!==null,By=async()=>{const{diagram:t}=await rt(()=>import("./erDiagram-20cc9db4.e364cd38.js"),["./erDiagram-20cc9db4.e364cd38.js","./layout.e30182f8.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:fl,diagram:t}},Ly={id:fl,detector:wy,loader:By},Ay=Ly,dl="gitGraph",Ey=t=>t.match(/^\s*gitGraph/)!==null,Fy=async()=>{const{diagram:t}=await rt(()=>import("./gitGraphDiagram-0a645df6.9ac7210d.js"),["./gitGraphDiagram-0a645df6.9ac7210d.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:dl,diagram:t}},My={id:dl,detector:Ey,loader:Fy},Oy=My,pl="gantt",$y=t=>t.match(/^\s*gantt/)!==null,Iy=async()=>{const{diagram:t}=await rt(()=>import("./ganttDiagram-04e74c0a.421c8eb9.js"),["./ganttDiagram-04e74c0a.421c8eb9.js","./_commonjsHelpers.725317a4.js","./init.77b53fdd.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:pl,diagram:t}},Dy={id:pl,detector:$y,loader:Iy},Ny=Dy,gl="info",Ry=t=>t.match(/^\s*info/)!==null,Py=async()=>{const{diagram:t}=await rt(()=>import("./infoDiagram-69ec1a58.cf9fc57b.js"),["./infoDiagram-69ec1a58.cf9fc57b.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:gl,diagram:t}},zy={id:gl,detector:Ry,loader:Py},Wy=zy,ml="pie",Hy=t=>t.match(/^\s*pie/)!==null,qy=async()=>{const{diagram:t}=await rt(()=>import("./pieDiagram-db1a8a21.c68a8395.js"),["./pieDiagram-db1a8a21.c68a8395.js","./init.77b53fdd.js","./array.9f3ba611.js","./path.53f90ab3.js","./arc.9766e99d.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ml,diagram:t}},jy={id:ml,detector:Hy,loader:qy},Uy=jy,_l="requirement",Vy=t=>t.match(/^\s*requirement(Diagram)?/)!==null,Gy=async()=>{const{diagram:t}=await rt(()=>import("./requirementDiagram-b9649942.9152146a.js"),["./requirementDiagram-b9649942.9152146a.js","./layout.e30182f8.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:_l,diagram:t}},Yy={id:_l,detector:Vy,loader:Gy},Xy=Yy,yl="sequence",Ky=t=>t.match(/^\s*sequenceDiagram/)!==null,Zy=async()=>{const{diagram:t}=await rt(()=>import("./sequenceDiagram-446df3e4.b44baf48.js"),["./sequenceDiagram-446df3e4.b44baf48.js","./selectAll.0071fc9b.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:yl,diagram:t}},Jy={id:yl,detector:Ky,loader:Zy},Qy=Jy,Cl="class",tC=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*classDiagram/)!==null},eC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-634fc78b.4faf8b4a.js"),["./classDiagram-634fc78b.4faf8b4a.js","./styles-16907e1b.8a3d979f.js","./layout.e30182f8.js","./svgDraw-2526cba0.cff159e4.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Cl,diagram:t}},iC={id:Cl,detector:tC,loader:eC},rC=iC,bl="classDiagram",nC=(t,e)=>{var i;return t.match(/^\s*classDiagram/)!==null&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*classDiagram-v2/)!==null},oC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-v2-72bddc41.57c3851e.js"),["./classDiagram-v2-72bddc41.57c3851e.js","./styles-16907e1b.8a3d979f.js","./layout.e30182f8.js","./index-5219d011.a0e167f8.js","./edges-2e77835f.9fcf4ce3.js","./createText-1f5f8f92.b8d15877.js","./svgDraw-2526cba0.cff159e4.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:bl,diagram:t}},sC={id:bl,detector:nC,loader:oC},aC=sC,xl="state",lC=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*stateDiagram/)!==null},cC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-d53d2428.52c8ef29.js"),["./stateDiagram-d53d2428.52c8ef29.js","./styles-47a825a5.0ddf9dd1.js","./layout.e30182f8.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:xl,diagram:t}},hC={id:xl,detector:lC,loader:cC},uC=hC,vl="stateDiagram",fC=(t,e)=>{var i,r;return!!(t.match(/^\s*stateDiagram-v2/)!==null||t.match(/^\s*stateDiagram/)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||t.match(/^\s*stateDiagram/)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},dC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-v2-9765461d.6d055cda.js"),["./stateDiagram-v2-9765461d.6d055cda.js","./styles-47a825a5.0ddf9dd1.js","./layout.e30182f8.js","./index-5219d011.a0e167f8.js","./edges-2e77835f.9fcf4ce3.js","./createText-1f5f8f92.b8d15877.js","./svgDraw-2526cba0.cff159e4.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:vl,diagram:t}},pC={id:vl,detector:fC,loader:dC},gC=pC,Tl="journey",mC=t=>t.match(/^\s*journey/)!==null,_C=async()=>{const{diagram:t}=await rt(()=>import("./journeyDiagram-d38aa57d.8607030d.js"),["./journeyDiagram-d38aa57d.8607030d.js","./arc.9766e99d.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Tl,diagram:t}},yC={id:Tl,detector:mC,loader:_C},CC=yC,bC=()=>"",xC=bC,vC=function(){},TC=(t,e,i)=>{try{S.debug(`Renering svg for syntax error -`);const r=Mt("#"+e),n=r.append("g");n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i),r.attr("height",100),r.attr("width",500),r.attr("viewBox","768 0 912 512")}catch(r){S.error("Error while rendering info diagram"),S.error(P0(r))}},Sl={setConf:vC,draw:TC},SC={db:{clear:()=>{}},styles:xC,renderer:Sl,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},kC=SC,kl="flowchart-elk",wC=(t,e)=>{var i;return!!(t.match(/^\s*flowchart-elk/)||t.match(/^\s*flowchart|graph/)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},BC=async()=>{const{diagram:t}=await rt(()=>import("./flowchart-elk-definition-a44a74cb.bd4f8e12.js"),["./flowchart-elk-definition-a44a74cb.bd4f8e12.js","./flowDb-52e24d17.92450f30.js","./edges-2e77835f.9fcf4ce3.js","./createText-1f5f8f92.b8d15877.js","./svgDraw-2526cba0.cff159e4.js","./line.7016ab98.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:kl,diagram:t}},LC={id:kl,detector:wC,loader:BC},AC=LC,wl="timeline",EC=t=>t.match(/^\s*timeline/)!==null,FC=async()=>{const{diagram:t}=await rt(()=>import("./timeline-definition-de69aca6.d2092531.js"),["./timeline-definition-de69aca6.d2092531.js","./is_dark.9137c2d4.js","./arc.9766e99d.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:wl,diagram:t}},MC={id:wl,detector:EC,loader:FC},OC=MC,Bl="mindmap",$C=t=>t.match(/^\s*mindmap/)!==null,IC=async()=>{const{diagram:t}=await rt(()=>import("./mindmap-definition-65b51176.7bcc50bf.js"),["./mindmap-definition-65b51176.7bcc50bf.js","./createText-1f5f8f92.b8d15877.js","./_commonjsHelpers.725317a4.js","./is_dark.9137c2d4.js","./entry.f8eaff67.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Bl,diagram:t}},DC={id:Bl,detector:$C,loader:IC},NC=DC;let ps=!1;const Xn=()=>{ps||(ps=!0,ar("error",kC,t=>t.toLowerCase().trim()==="error"),ar("---",{db:{clear:()=>{}},styles:{},renderer:{},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),Ya(_y,aC,rC,Ay,Ny,Wy,Uy,Xy,Qy,AC,ky,xy,NC,OC,Oy,gC,uC,CC))},RC=t=>t.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm,"");class Ll{constructor(e){var i,r;this.text=e,this.type="graph",this.text+=` + ${e!==null?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}},b0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function x0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return _0[i]||e}function v0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Hs(i):i}const T0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=lr(o,e),e=o});let r=i/2,n;return e=void 0,t.forEach(o=>{if(e&&!n){const s=lr(o,e);if(s=1&&(n={x:o.x,y:o.y}),a>0&&a<1&&(n={x:(1-a)*e.x+a*o.x,y:(1-a)*e.y+a*o.y})}}e=o}),n}function k0(t){return t.length===1?t[0]:S0(t)}const w0=(t,e,i)=>{let r;S.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let o=25,s;r=void 0,e.forEach(h=>{if(r&&!s){const f=lr(h,r);if(f=1&&(s={x:h.x,y:h.y}),g>0&&g<1&&(s={x:(1-g)*r.x+g*h.x,y:(1-g)*r.y+g*h.y})}}r=h});const a=t?10:5,l=Math.atan2(e[0].y-s.y,e[0].x-s.x),c={x:0,y:0};return c.x=Math.sin(l)*a+(e[0].x+s.x)/2,c.y=-Math.cos(l)*a+(e[0].y+s.y)/2,c};function B0(t,e,i){let r=JSON.parse(JSON.stringify(i)),n;S.info("our points",r),e!=="start_left"&&e!=="start_right"&&(r=r.reverse()),r.forEach(f=>{n=f});let s=25+t,a;n=void 0,r.forEach(f=>{if(n&&!a){const g=lr(f,n);if(g=1&&(a={x:f.x,y:f.y}),d>0&&d<1&&(a={x:(1-d)*n.x+d*f.x,y:(1-d)*n.y+d*f.y})}}n=f});const l=10+t*.5,c=Math.atan2(r[0].y-a.y,r[0].x-a.x),h={x:0,y:0};return h.x=Math.sin(c)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2,e==="start_left"&&(h.x=Math.sin(c+Math.PI)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c+Math.PI)*l+(r[0].y+a.y)/2),e==="end_right"&&(h.x=Math.sin(c-Math.PI)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c-Math.PI)*l+(r[0].y+a.y)/2-5),e==="end_left"&&(h.x=Math.sin(c)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2-5),h}function L0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let ts=0;const A0=()=>(ts++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ts);function E0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nE0(t.length),M0=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},O0=function(t,e){const i=e.text.replace(Tn.lineBreakRegex," "),[,r]=Un(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},$0=fi((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),Tn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=cr(`${s} `,i),c=cr(o,i);if(l>e){const{hyphenatedStrings:g,remainingWord:d}=I0(s,e,"-",i);n.push(o,...g),o=d}else c+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),I0=fi((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const c=`${s}${a}`;if(cr(c,r)>=e){const f=l+1,g=n.length===f,d=`${c}${i}`;o.push(g?c:d),s=""}else s=c}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function D0(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),jn(t,e).height}function cr(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),jn(t,e).width}const jn=fi((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);const{fontSize:i,fontFamily:r,fontWeight:n}=e;if(!t)return{width:0,height:0};const[,o]=Un(i),s=["sans-serif",r],a=t.split(Tn.lineBreakRegex),l=[],c=Mt("body");if(!c.remove)return{width:0,height:0,lineHeight:0};const h=c.append("svg");for(const g of s){let d=0;const _={width:0,height:0,lineHeight:0};for(const k of a){const F=M0();F.text=k;const R=O0(h,F).style("font-size",o).style("font-weight",n).style("font-family",g),x=(R._groups||R)[0][0].getBBox();if(x.width===0&&x.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,x.width)),d=Math.round(x.height),_.height+=d,_.lineHeight=Math.round(Math.max(_.lineHeight,d))}l.push(_)}h.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),N0=class{constructor(e,i){this.deterministic=e,this.seed=i,this.count=i?i.length:0}next(){return this.deterministic?this.count++:Date.now()}};let wi;const R0=function(t){return wi=wi||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),wi.innerHTML=t,unescape(wi.textContent)},De=t=>{if(S.debug("directiveSanitizer called with",t),typeof t=="object"&&(t.length?t.forEach(e=>De(e)):Object.keys(t).forEach(e=>{S.debug("Checking key",e),e.startsWith("__")&&(S.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(S.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(S.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(S.debug("sanitizing themeCss option"),t[e]=Ni(t[e])),e.includes("fontFamily")&&(S.debug("sanitizing fontFamily option"),t[e]=Ni(t[e])),e.includes("altFontFamily")&&(S.debug("sanitizing altFontFamily option"),t[e]=Ni(t[e])),ah.includes(e)?typeof t[e]=="object"&&(S.debug("sanitize deleting object",e),De(t[e])):(S.debug("sanitize deleting option",e),delete t[e])})),t.themeVariables){const e=Object.keys(t.themeVariables);for(const i of e){const r=t.themeVariables[i];r&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[i]="")}}S.debug("After sanitization",t)},Ni=t=>{let e=0,i=0;for(const r of t){if(e{if(!r)return;const n=t.node().getBBox();t.append("text").text(r).attr("x",n.x+n.width/2).attr("y",-i).attr("class",e)},Un=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t,10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},Ri={assignWithDepth:lt,wrapLabel:$0,calculateTextHeight:D0,calculateTextWidth:cr,calculateTextDimensions:jn,detectInit:C0,detectDirective:Ka,isSubstringInArray:b0,interpolateToCurve:x0,calcLabelPosition:k0,calcCardinalityPosition:w0,calcTerminalLabelPosition:B0,formatUrl:v0,getStylesFromArray:L0,generateId:A0,random:F0,runFunc:T0,entityDecode:R0,initIdGenerator:N0,directiveSanitizer:De,sanitizeCss:Ni,insertTitle:z0,parseFontSize:Un};var Ja="comm",Qa="rule",tl="decl",W0="@import",H0="@keyframes",q0=Math.abs,Vn=String.fromCharCode;function el(t){return t.trim()}function Pi(t,e,i){return t.replace(e,i)}function j0(t,e){return t.indexOf(e)}function ai(t,e){return t.charCodeAt(e)|0}function li(t,e,i){return t.slice(e,i)}function Zt(t){return t.length}function il(t){return t.length}function Bi(t,e){return e.push(t),t}var wr=1,Ne=1,rl=0,Tt=0,J=0,ze="";function Gn(t,e,i,r,n,o,s){return{value:t,root:e,parent:i,type:r,props:n,children:o,line:wr,column:Ne,length:s,return:""}}function U0(){return J}function V0(){return J=Tt>0?ai(ze,--Tt):0,Ne--,J===10&&(Ne=1,wr--),J}function Lt(){return J=Tt2||pn(J)>3?"":" "}function K0(t,e){for(;--e&&Lt()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return Br(t,zi()+(e<6&&pe()==32&&Lt()==32))}function gn(t){for(;Lt();)switch(J){case t:return Tt;case 34:case 39:t!==34&&t!==39&&gn(J);break;case 40:t===41&&gn(t);break;case 92:Lt();break}return Tt}function Z0(t,e){for(;Lt()&&t+J!==47+10;)if(t+J===42+42&&pe()===47)break;return"/*"+Br(e,Tt-1)+"*"+Vn(t===47?t:Lt())}function J0(t){for(;!pn(pe());)Lt();return Br(t,Tt)}function Q0(t){return Y0(Wi("",null,null,null,[""],t=G0(t),0,[0],t))}function Wi(t,e,i,r,n,o,s,a,l){for(var c=0,h=0,f=s,g=0,d=0,_=0,k=1,F=1,R=1,x=0,q="",G=n,X=o,V=r,P=q;F;)switch(_=x,x=Lt()){case 40:if(_!=108&&ai(P,f-1)==58){j0(P+=Pi(Jr(x),"&","&\f"),"&\f")!=-1&&(R=-1);break}case 34:case 39:case 91:P+=Jr(x);break;case 9:case 10:case 13:case 32:P+=X0(_);break;case 92:P+=K0(zi()-1,7);continue;case 47:switch(pe()){case 42:case 47:Bi(t_(Z0(Lt(),zi()),e,i),l);break;default:P+="/"}break;case 123*k:a[c++]=Zt(P)*R;case 125*k:case 59:case 0:switch(x){case 0:case 125:F=0;case 59+h:R==-1&&(P=Pi(P,/\f/g,"")),d>0&&Zt(P)-f&&Bi(d>32?is(P+";",r,i,f-1):is(Pi(P," ","")+";",r,i,f-2),l);break;case 59:P+=";";default:if(Bi(V=es(P,e,i,c,h,n,a,q,G=[],X=[],f),o),x===123)if(h===0)Wi(P,e,V,V,G,o,f,a,X);else switch(g===99&&ai(P,3)===110?100:g){case 100:case 109:case 115:Wi(t,V,V,r&&Bi(es(t,V,V,0,0,n,a,q,n,G=[],f),X),n,X,f,a,r?G:X);break;default:Wi(P,V,V,V,[""],X,0,a,X)}}c=h=d=0,k=R=1,q=P="",f=s;break;case 58:f=1+Zt(P),d=_;default:if(k<1){if(x==123)--k;else if(x==125&&k++==0&&V0()==125)continue}switch(P+=Vn(x),x*k){case 38:R=h>0?1:(P+="\f",-1);break;case 44:a[c++]=(Zt(P)-1)*R,R=1;break;case 64:pe()===45&&(P+=Jr(Lt())),g=pe(),h=f=Zt(q=P+=J0(zi())),x++;break;case 45:_===45&&Zt(P)==2&&(k=0)}}return o}function es(t,e,i,r,n,o,s,a,l,c,h){for(var f=n-1,g=n===0?o:[""],d=il(g),_=0,k=0,F=0;_0?g[R]+" "+x:Pi(x,/&\f/g,g[R])))&&(l[F++]=q);return Gn(t,e,i,n===0?Qa:a,l,c,h)}function t_(t,e,i){return Gn(t,e,i,Ja,Vn(U0()),li(t,2,-2),0)}function is(t,e,i,r){return Gn(t,e,i,tl,li(t,0,r),li(t,r+1,-1),r)}function mn(t,e){for(var i="",r=il(t),n=0;n-1&&t%1==0&&t<=B_}function L_(t){return t!=null&&sl(t.length)&&!Ea(t)}function A_(){return!1}var al=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cs=al&&typeof module=="object"&&module&&!module.nodeType&&module,E_=cs&&cs.exports===al,hs=E_?re.Buffer:void 0,F_=hs?hs.isBuffer:void 0,M_=F_||A_;const O_=M_;var $_="[object Arguments]",I_="[object Array]",D_="[object Boolean]",N_="[object Date]",R_="[object Error]",P_="[object Function]",z_="[object Map]",W_="[object Number]",H_="[object Object]",q_="[object RegExp]",j_="[object Set]",U_="[object String]",V_="[object WeakMap]",G_="[object ArrayBuffer]",Y_="[object DataView]",X_="[object Float32Array]",K_="[object Float64Array]",Z_="[object Int8Array]",J_="[object Int16Array]",Q_="[object Int32Array]",ty="[object Uint8Array]",ey="[object Uint8ClampedArray]",iy="[object Uint16Array]",ry="[object Uint32Array]",Y={};Y[X_]=Y[K_]=Y[Z_]=Y[J_]=Y[Q_]=Y[ty]=Y[ey]=Y[iy]=Y[ry]=!0;Y[$_]=Y[I_]=Y[G_]=Y[D_]=Y[Y_]=Y[N_]=Y[R_]=Y[P_]=Y[z_]=Y[W_]=Y[H_]=Y[q_]=Y[j_]=Y[U_]=Y[V_]=!1;function ny(t){return Yn(t)&&sl(t.length)&&!!Y[ui(t)]}function oy(t){return function(e){return t(e)}}var ll=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Je=ll&&typeof module=="object"&&module&&!module.nodeType&&module,sy=Je&&Je.exports===ll,Qr=sy&&Ba.process,ay=function(){try{var t=Je&&Je.require&&Je.require("util").types;return t||Qr&&Qr.binding&&Qr.binding("util")}catch{}}();const us=ay;var fs=us&&us.isTypedArray,ly=fs?oy(fs):ny;const cy=ly;var hy="[object Map]",uy="[object Set]",fy=Object.prototype,dy=fy.hasOwnProperty;function Hi(t){if(t==null)return!0;if(L_(t)&&(w_(t)||typeof t=="string"||typeof t.splice=="function"||O_(t)||cy(t)||S_(t)))return!t.length;var e=C_(t);if(e==hy||e==uy)return!t.size;if(nl(t))return!l_(t).length;for(var i in t)if(dy.call(t,i))return!1;return!0}const ds="10.1.0",cl="c4",py=t=>t.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/)!==null,gy=async()=>{const{diagram:t}=await rt(()=>import("./c4Diagram-44c43e89.345ee420.js"),["./c4Diagram-44c43e89.345ee420.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:cl,diagram:t}},my={id:cl,detector:py,loader:gy},_y=my,hl="flowchart",yy=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null},Cy=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-46a15f6f.b41e93f0.js"),["./flowDiagram-46a15f6f.b41e93f0.js","./flowDb-52e24d17.947b4742.js","./layout.6ca81b77.js","./styles-26373982.04d87b4b.js","./index-5219d011.b2f10b44.js","./edges-2e77835f.697716b4.js","./createText-1f5f8f92.68559ab5.js","./svgDraw-2526cba0.2cced117.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.065b1a3b.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:hl,diagram:t}},by={id:hl,detector:yy,loader:Cy},xy=by,ul="flowchart-v2",vy=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*flowchart/)!==null},Ty=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-v2-8e52592d.8f6ef4b2.js"),["./flowDiagram-v2-8e52592d.8f6ef4b2.js","./flowDb-52e24d17.947b4742.js","./styles-26373982.04d87b4b.js","./layout.6ca81b77.js","./index-5219d011.b2f10b44.js","./edges-2e77835f.697716b4.js","./createText-1f5f8f92.68559ab5.js","./svgDraw-2526cba0.2cced117.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.065b1a3b.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ul,diagram:t}},Sy={id:ul,detector:vy,loader:Ty},ky=Sy,fl="er",wy=t=>t.match(/^\s*erDiagram/)!==null,By=async()=>{const{diagram:t}=await rt(()=>import("./erDiagram-20cc9db4.012ba04e.js"),["./erDiagram-20cc9db4.012ba04e.js","./layout.6ca81b77.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:fl,diagram:t}},Ly={id:fl,detector:wy,loader:By},Ay=Ly,dl="gitGraph",Ey=t=>t.match(/^\s*gitGraph/)!==null,Fy=async()=>{const{diagram:t}=await rt(()=>import("./gitGraphDiagram-0a645df6.8b8cec9f.js"),["./gitGraphDiagram-0a645df6.8b8cec9f.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:dl,diagram:t}},My={id:dl,detector:Ey,loader:Fy},Oy=My,pl="gantt",$y=t=>t.match(/^\s*gantt/)!==null,Iy=async()=>{const{diagram:t}=await rt(()=>import("./ganttDiagram-04e74c0a.7a4424bb.js"),["./ganttDiagram-04e74c0a.7a4424bb.js","./_commonjsHelpers.725317a4.js","./init.77b53fdd.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:pl,diagram:t}},Dy={id:pl,detector:$y,loader:Iy},Ny=Dy,gl="info",Ry=t=>t.match(/^\s*info/)!==null,Py=async()=>{const{diagram:t}=await rt(()=>import("./infoDiagram-69ec1a58.5e69407f.js"),["./infoDiagram-69ec1a58.5e69407f.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:gl,diagram:t}},zy={id:gl,detector:Ry,loader:Py},Wy=zy,ml="pie",Hy=t=>t.match(/^\s*pie/)!==null,qy=async()=>{const{diagram:t}=await rt(()=>import("./pieDiagram-db1a8a21.0859c140.js"),["./pieDiagram-db1a8a21.0859c140.js","./init.77b53fdd.js","./array.9f3ba611.js","./path.53f90ab3.js","./arc.1826e296.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ml,diagram:t}},jy={id:ml,detector:Hy,loader:qy},Uy=jy,_l="requirement",Vy=t=>t.match(/^\s*requirement(Diagram)?/)!==null,Gy=async()=>{const{diagram:t}=await rt(()=>import("./requirementDiagram-b9649942.4f228c28.js"),["./requirementDiagram-b9649942.4f228c28.js","./layout.6ca81b77.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:_l,diagram:t}},Yy={id:_l,detector:Vy,loader:Gy},Xy=Yy,yl="sequence",Ky=t=>t.match(/^\s*sequenceDiagram/)!==null,Zy=async()=>{const{diagram:t}=await rt(()=>import("./sequenceDiagram-446df3e4.033f88cb.js"),["./sequenceDiagram-446df3e4.033f88cb.js","./selectAll.065b1a3b.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:yl,diagram:t}},Jy={id:yl,detector:Ky,loader:Zy},Qy=Jy,Cl="class",tC=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*classDiagram/)!==null},eC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-634fc78b.f82e16b1.js"),["./classDiagram-634fc78b.f82e16b1.js","./styles-16907e1b.c4f33ec5.js","./layout.6ca81b77.js","./svgDraw-2526cba0.2cced117.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Cl,diagram:t}},iC={id:Cl,detector:tC,loader:eC},rC=iC,bl="classDiagram",nC=(t,e)=>{var i;return t.match(/^\s*classDiagram/)!==null&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*classDiagram-v2/)!==null},oC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-v2-72bddc41.f4d236d4.js"),["./classDiagram-v2-72bddc41.f4d236d4.js","./styles-16907e1b.c4f33ec5.js","./layout.6ca81b77.js","./index-5219d011.b2f10b44.js","./edges-2e77835f.697716b4.js","./createText-1f5f8f92.68559ab5.js","./svgDraw-2526cba0.2cced117.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:bl,diagram:t}},sC={id:bl,detector:nC,loader:oC},aC=sC,xl="state",lC=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*stateDiagram/)!==null},cC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-d53d2428.c6c32fa9.js"),["./stateDiagram-d53d2428.c6c32fa9.js","./styles-47a825a5.216575b9.js","./layout.6ca81b77.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:xl,diagram:t}},hC={id:xl,detector:lC,loader:cC},uC=hC,vl="stateDiagram",fC=(t,e)=>{var i,r;return!!(t.match(/^\s*stateDiagram-v2/)!==null||t.match(/^\s*stateDiagram/)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||t.match(/^\s*stateDiagram/)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},dC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-v2-9765461d.a26b877b.js"),["./stateDiagram-v2-9765461d.a26b877b.js","./styles-47a825a5.216575b9.js","./layout.6ca81b77.js","./index-5219d011.b2f10b44.js","./edges-2e77835f.697716b4.js","./createText-1f5f8f92.68559ab5.js","./svgDraw-2526cba0.2cced117.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:vl,diagram:t}},pC={id:vl,detector:fC,loader:dC},gC=pC,Tl="journey",mC=t=>t.match(/^\s*journey/)!==null,_C=async()=>{const{diagram:t}=await rt(()=>import("./journeyDiagram-d38aa57d.121190c4.js"),["./journeyDiagram-d38aa57d.121190c4.js","./arc.1826e296.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Tl,diagram:t}},yC={id:Tl,detector:mC,loader:_C},CC=yC,bC=()=>"",xC=bC,vC=function(){},TC=(t,e,i)=>{try{S.debug(`Renering svg for syntax error +`);const r=Mt("#"+e),n=r.append("g");n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i),r.attr("height",100),r.attr("width",500),r.attr("viewBox","768 0 912 512")}catch(r){S.error("Error while rendering info diagram"),S.error(P0(r))}},Sl={setConf:vC,draw:TC},SC={db:{clear:()=>{}},styles:xC,renderer:Sl,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},kC=SC,kl="flowchart-elk",wC=(t,e)=>{var i;return!!(t.match(/^\s*flowchart-elk/)||t.match(/^\s*flowchart|graph/)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},BC=async()=>{const{diagram:t}=await rt(()=>import("./flowchart-elk-definition-a44a74cb.78119d35.js"),["./flowchart-elk-definition-a44a74cb.78119d35.js","./flowDb-52e24d17.947b4742.js","./edges-2e77835f.697716b4.js","./createText-1f5f8f92.68559ab5.js","./svgDraw-2526cba0.2cced117.js","./line.56665913.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:kl,diagram:t}},LC={id:kl,detector:wC,loader:BC},AC=LC,wl="timeline",EC=t=>t.match(/^\s*timeline/)!==null,FC=async()=>{const{diagram:t}=await rt(()=>import("./timeline-definition-de69aca6.6790828d.js"),["./timeline-definition-de69aca6.6790828d.js","./is_dark.dd0eb355.js","./arc.1826e296.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:wl,diagram:t}},MC={id:wl,detector:EC,loader:FC},OC=MC,Bl="mindmap",$C=t=>t.match(/^\s*mindmap/)!==null,IC=async()=>{const{diagram:t}=await rt(()=>import("./mindmap-definition-65b51176.cc4abecc.js"),["./mindmap-definition-65b51176.cc4abecc.js","./createText-1f5f8f92.68559ab5.js","./_commonjsHelpers.725317a4.js","./is_dark.dd0eb355.js","./entry.6e9008ac.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Bl,diagram:t}},DC={id:Bl,detector:$C,loader:IC},NC=DC;let ps=!1;const Xn=()=>{ps||(ps=!0,ar("error",kC,t=>t.toLowerCase().trim()==="error"),ar("---",{db:{clear:()=>{}},styles:{},renderer:{},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),Ya(_y,aC,rC,Ay,Ny,Wy,Uy,Xy,Qy,AC,ky,xy,NC,OC,Oy,gC,uC,CC))},RC=t=>t.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm,"");class Ll{constructor(e){var i,r;this.text=e,this.type="graph",this.text+=` `;const n=Vt();try{this.type=kr(e,n)}catch(a){this.type="error",this.detectError=a}const o=qn(this.type);S.debug("Type "+this.type),this.db=o.db,(r=(i=this.db).clear)==null||r.call(i),this.renderer=o.renderer,this.parser=o.parser;const s=this.parser.parse.bind(this.parser);this.parser.parse=a=>s(RC(Jm(a,this.db))),this.parser.parser.yy=this.db,o.init&&(o.init(n),S.info("Initialized diagram "+this.type,n)),this.parse()}parse(){var e,i;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e),this.parser.parse(this.text)}async render(e,i){await this.renderer.draw(this.text,e,i,this)}getParser(){return this.parser}getType(){return this.type}}const Kn=async t=>{const e=kr(t,Vt());try{qn(e)}catch{const r=m0(e);if(!r)throw new Ga(`Diagram ${e} not found.`);const{id:n,diagram:o}=await r();ar(n,o)}return new Ll(t)};let xn=[];const zb=t=>{xn.push(t)},PC=()=>{xn.forEach(t=>{t()}),xn=[]},zC="graphics-document document";function WC(t,e){t.attr("role",zC),Hi(e)||t.attr("aria-roledescription",e)}function HC(t,e,i,r){if(t.insert!==void 0)if(e||i){if(i){const n="chart-desc-"+r;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n="chart-title-"+r;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}else return}const Al=["graph","flowchart","flowchart-v2","flowchart-elk","stateDiagram","stateDiagram-v2"],qC=5e4,jC="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",UC="sandbox",VC="loose",GC="http://www.w3.org/2000/svg",YC="http://www.w3.org/1999/xlink",XC="http://www.w3.org/1999/xhtml",KC="100%",ZC="100%",JC="border:0;margin:0;",QC="margin:0",tb="allow-top-navigation-by-user-activation allow-popups",eb='The "iframe" tag is not supported by your browser.',ib=["foreignobject"],rb=["dominant-baseline"];async function nb(t,e){Xn();try{(await Kn(t)).parse()}catch(i){if(e!=null&&e.suppressErrors)return!1;throw i}return!0}const ob=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},sb=function(t){let e=t;return e=e.replace(/fl°°/g,"&#"),e=e.replace(/fl°/g,"&"),e=e.replace(/¶ß/g,";"),e},gs=(t,e,i=[])=>` .${t} ${e} { ${i.join(" !important; ")} !important; }`,ab=(t,e,i={})=>{var r;let n="";if(t.themeCSS!==void 0&&(n+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(n+=` diff --git a/_nuxt/mindmap-definition-65b51176.7bcc50bf.js b/_nuxt/mindmap-definition-65b51176.cc4abecc.js similarity index 99% rename from _nuxt/mindmap-definition-65b51176.7bcc50bf.js rename to _nuxt/mindmap-definition-65b51176.cc4abecc.js index b22e920b00..716eb78c23 100644 --- a/_nuxt/mindmap-definition-65b51176.7bcc50bf.js +++ b/_nuxt/mindmap-definition-65b51176.cc4abecc.js @@ -1,4 +1,4 @@ -import{d as bp,c as nn,l as qr,i as ei,u as Ep,aE as wp,aF as xp}from"./mermaid.core.0bf3cbc4.js";import{c as Tp}from"./createText-1f5f8f92.b8d15877.js";import{c as Ca,g as Vu}from"./_commonjsHelpers.725317a4.js";import{i as Cp}from"./is_dark.9137c2d4.js";import"./entry.f8eaff67.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.952890e5.js b/_nuxt/page.963a5d71.js similarity index 90% rename from _nuxt/page.952890e5.js rename to _nuxt/page.963a5d71.js index 11b45f7b3d..368b18301d 100644 --- a/_nuxt/page.952890e5.js +++ b/_nuxt/page.963a5d71.js @@ -1 +1 @@ -import{d as c,au as r,E as p,c as l,g as i,w as u,L as n,ay as f,b as m,e as g,ab as h,k as x}from"./entry.f8eaff67.js";const v={class:"page-layout"},y=c({__name:"page",setup(k){const{config:e}=r();return p({link:{rel:"search",type:"application/opensearchdescription+xml",href:"opensearch.xml"}}),(d,B)=>{var a,s,t,o;const _=f;return m(),l("div",v,[i(_,{fluid:(s=(a=n(e))==null?void 0:a.main)==null?void 0:s.fluid,padded:(o=(t=n(e))==null?void 0:t.main)==null?void 0:o.padded},{default:u(()=>[g("article",null,[h(d.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}});const b=x(y,[["__scopeId","data-v-5f91769d"]]);export{b as default}; +import{d as c,au as r,E as p,c as l,g as i,w as u,L as n,ay as f,b as m,e as g,ab as h,k as x}from"./entry.6e9008ac.js";const v={class:"page-layout"},y=c({__name:"page",setup(k){const{config:e}=r();return p({link:{rel:"search",type:"application/opensearchdescription+xml",href:"opensearch.xml"}}),(d,B)=>{var a,s,t,o;const _=f;return m(),l("div",v,[i(_,{fluid:(s=(a=n(e))==null?void 0:a.main)==null?void 0:s.fluid,padded:(o=(t=n(e))==null?void 0:t.main)==null?void 0:o.padded},{default:u(()=>[g("article",null,[h(d.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}});const b=x(y,[["__scopeId","data-v-5f91769d"]]);export{b as default}; diff --git a/_nuxt/pieDiagram-db1a8a21.c68a8395.js b/_nuxt/pieDiagram-db1a8a21.0859c140.js similarity index 98% rename from _nuxt/pieDiagram-db1a8a21.c68a8395.js rename to _nuxt/pieDiagram-db1a8a21.0859c140.js index 61bd892824..b7ae1bb8b7 100644 --- a/_nuxt/pieDiagram-db1a8a21.c68a8395.js +++ b/_nuxt/pieDiagram-db1a8a21.0859c140.js @@ -1,4 +1,4 @@ -import{am as it,c as U,s as gt,g as dt,x as mt,y as _t,a as vt,b as bt,e as kt,n as xt,l as B,A as St,i as nt,j as wt,an as At}from"./mermaid.core.0bf3cbc4.js";import{i as Et}from"./init.77b53fdd.js";import{a as Dt}from"./array.9f3ba611.js";import{c as z}from"./path.53f90ab3.js";import{a as lt}from"./arc.9766e99d.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";class ct extends Map{constructor(s,l=It){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:l}}),s!=null)for(const[o,p]of s)this.set(o,p)}get(s){return super.get(ot(this,s))}has(s){return super.has(ot(this,s))}set(s,l){return super.set(Tt(this,s),l)}delete(s){return super.delete($t(this,s))}}function ot({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):l}function Tt({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):(t.set(o,l),l)}function $t({_intern:t,_key:s},l){const o=s(l);return t.has(o)&&(l=t.get(o),t.delete(o)),l}function It(t){return t!==null&&typeof t=="object"?t.valueOf():t}const ht=Symbol("implicit");function ut(){var t=new ct,s=[],l=[],o=ht;function p(g){let h=t.get(g);if(h===void 0){if(o!==ht)return o;t.set(g,h=s.push(g)-1)}return l[h%l.length]}return p.domain=function(g){if(!arguments.length)return s.slice();s=[],t=new ct;for(const h of g)t.has(h)||t.set(h,s.push(h)-1);return p},p.range=function(g){return arguments.length?(l=Array.from(g),p):l.slice()},p.unknown=function(g){return arguments.length?(o=g,p):o},p.copy=function(){return ut(s,l).unknown(o)},Et.apply(p,arguments),p}function Vt(t,s){return st?1:s>=t?0:NaN}function Pt(t){return t}function Ot(){var t=Pt,s=Vt,l=null,o=z(0),p=z(it),g=z(0);function h(c){var d,y=(c=Dt(c)).length,w,L,N=0,x=new Array(y),A=new Array(y),$=+o.apply(this,arguments),D=Math.min(it,Math.max(-it,p.apply(this,arguments)-$)),W,C=Math.min(Math.abs(D)/y,g.apply(this,arguments)),I=C*(D<0?-1:1),v;for(d=0;d0&&(N+=v);for(s!=null?x.sort(function(E,b){return s(A[E],A[b])}):l!=null&&x.sort(function(E,b){return l(c[E],c[b])}),d=0,L=N?(D-y*I)/N:0;d0?v*L:0)+I,A[w]={data:c[w],index:d,value:v,startAngle:$,endAngle:W,padAngle:C};return A}return h.value=function(c){return arguments.length?(t=typeof c=="function"?c:z(+c),h):t},h.sortValues=function(c){return arguments.length?(s=c,l=null,h):s},h.sort=function(c){return arguments.length?(l=c,s=null,h):l},h.startAngle=function(c){return arguments.length?(o=typeof c=="function"?c:z(+c),h):o},h.endAngle=function(c){return arguments.length?(p=typeof c=="function"?c:z(+c),h):p},h.padAngle=function(c){return arguments.length?(g=typeof c=="function"?c:z(+c),h):g},h}var rt=function(){var t=function(b,e,i,a){for(i=i||{},a=b.length;a--;i[b[a]]=e);return i},s=[1,4],l=[1,5],o=[1,6],p=[1,7],g=[1,9],h=[1,11,13,15,17,19,20,26,27,28,29],c=[2,5],d=[1,6,11,13,15,17,19,20,26,27,28,29],y=[26,27,28],w=[2,8],L=[1,18],N=[1,19],x=[1,20],A=[1,21],$=[1,22],D=[1,23],W=[1,28],C=[6,26,27,28,29],I={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(e,i,a,n,u,r,f){var m=r.length-1;switch(u){case 4:n.setShowData(!0);break;case 7:this.$=r[m-1];break;case 9:n.addSection(r[m-1],n.cleanupValue(r[m]));break;case 10:this.$=r[m].trim(),n.setDiagramTitle(this.$);break;case 11:this.$=r[m].trim(),n.setAccTitle(this.$);break;case 12:case 13:this.$=r[m].trim(),n.setAccDescription(this.$);break;case 14:n.addSection(r[m].substr(8)),this.$=r[m].substr(8);break;case 21:n.parseDirective("%%{","open_directive");break;case 22:n.parseDirective(r[m],"type_directive");break;case 23:r[m]=r[m].trim().replace(/'/g,'"'),n.parseDirective(r[m],"arg_directive");break;case 24:n.parseDirective("}%%","close_directive","pie");break}},table:[{3:1,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{1:[3]},{3:10,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{3:11,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},t(h,c,{7:12,8:[1,13]}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(y,w,{21:8,9:16,10:17,5:24,1:[2,3],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(h,c,{7:25}),{23:26,24:[1,27],32:W},t([24,32],[2,22]),t(h,[2,6]),{4:29,26:l,27:o,28:p},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(y,[2,13]),t(y,[2,14]),t(y,[2,15]),t(y,w,{21:8,9:16,10:17,5:24,1:[2,4],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(C,[2,16]),{25:34,31:[1,35]},t(C,[2,24]),t(h,[2,7]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12]),{23:36,32:W},{32:[2,23]},t(C,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(e,i){if(i.recoverable)this.trace(e);else{var a=new Error(e);throw a.hash=i,a}},parse:function(e){var i=this,a=[0],n=[],u=[null],r=[],f=this.table,m="",F=0,q=0,Q=2,G=1,ft=r.slice.call(arguments,1),_=Object.create(this.lexer),M={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(M.yy[X]=this.yy[X]);_.setInput(e,M.yy),M.yy.lexer=_,M.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Z=_.yylloc;r.push(Z);var pt=_.options&&_.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function yt(){var P;return P=n.pop()||_.lex()||G,typeof P!="number"&&(P instanceof Array&&(n=P,P=n.pop()),P=i.symbols_[P]||P),P}for(var k,j,S,tt,R={},H,V,at,J;;){if(j=a[a.length-1],this.defaultActions[j]?S=this.defaultActions[j]:((k===null||typeof k>"u")&&(k=yt()),S=f[j]&&f[j][k]),typeof S>"u"||!S.length||!S[0]){var et="";J=[];for(H in f[j])this.terminals_[H]&&H>Q&&J.push("'"+this.terminals_[H]+"'");_.showPosition?et="Parse error on line "+(F+1)+`: +import{am as it,c as U,s as gt,g as dt,x as mt,y as _t,a as vt,b as bt,e as kt,n as xt,l as B,A as St,i as nt,j as wt,an as At}from"./mermaid.core.ebd445a5.js";import{i as Et}from"./init.77b53fdd.js";import{a as Dt}from"./array.9f3ba611.js";import{c as z}from"./path.53f90ab3.js";import{a as lt}from"./arc.1826e296.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";class ct extends Map{constructor(s,l=It){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:l}}),s!=null)for(const[o,p]of s)this.set(o,p)}get(s){return super.get(ot(this,s))}has(s){return super.has(ot(this,s))}set(s,l){return super.set(Tt(this,s),l)}delete(s){return super.delete($t(this,s))}}function ot({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):l}function Tt({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):(t.set(o,l),l)}function $t({_intern:t,_key:s},l){const o=s(l);return t.has(o)&&(l=t.get(o),t.delete(o)),l}function It(t){return t!==null&&typeof t=="object"?t.valueOf():t}const ht=Symbol("implicit");function ut(){var t=new ct,s=[],l=[],o=ht;function p(g){let h=t.get(g);if(h===void 0){if(o!==ht)return o;t.set(g,h=s.push(g)-1)}return l[h%l.length]}return p.domain=function(g){if(!arguments.length)return s.slice();s=[],t=new ct;for(const h of g)t.has(h)||t.set(h,s.push(h)-1);return p},p.range=function(g){return arguments.length?(l=Array.from(g),p):l.slice()},p.unknown=function(g){return arguments.length?(o=g,p):o},p.copy=function(){return ut(s,l).unknown(o)},Et.apply(p,arguments),p}function Vt(t,s){return st?1:s>=t?0:NaN}function Pt(t){return t}function Ot(){var t=Pt,s=Vt,l=null,o=z(0),p=z(it),g=z(0);function h(c){var d,y=(c=Dt(c)).length,w,L,N=0,x=new Array(y),A=new Array(y),$=+o.apply(this,arguments),D=Math.min(it,Math.max(-it,p.apply(this,arguments)-$)),W,C=Math.min(Math.abs(D)/y,g.apply(this,arguments)),I=C*(D<0?-1:1),v;for(d=0;d0&&(N+=v);for(s!=null?x.sort(function(E,b){return s(A[E],A[b])}):l!=null&&x.sort(function(E,b){return l(c[E],c[b])}),d=0,L=N?(D-y*I)/N:0;d0?v*L:0)+I,A[w]={data:c[w],index:d,value:v,startAngle:$,endAngle:W,padAngle:C};return A}return h.value=function(c){return arguments.length?(t=typeof c=="function"?c:z(+c),h):t},h.sortValues=function(c){return arguments.length?(s=c,l=null,h):s},h.sort=function(c){return arguments.length?(l=c,s=null,h):l},h.startAngle=function(c){return arguments.length?(o=typeof c=="function"?c:z(+c),h):o},h.endAngle=function(c){return arguments.length?(p=typeof c=="function"?c:z(+c),h):p},h.padAngle=function(c){return arguments.length?(g=typeof c=="function"?c:z(+c),h):g},h}var rt=function(){var t=function(b,e,i,a){for(i=i||{},a=b.length;a--;i[b[a]]=e);return i},s=[1,4],l=[1,5],o=[1,6],p=[1,7],g=[1,9],h=[1,11,13,15,17,19,20,26,27,28,29],c=[2,5],d=[1,6,11,13,15,17,19,20,26,27,28,29],y=[26,27,28],w=[2,8],L=[1,18],N=[1,19],x=[1,20],A=[1,21],$=[1,22],D=[1,23],W=[1,28],C=[6,26,27,28,29],I={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(e,i,a,n,u,r,f){var m=r.length-1;switch(u){case 4:n.setShowData(!0);break;case 7:this.$=r[m-1];break;case 9:n.addSection(r[m-1],n.cleanupValue(r[m]));break;case 10:this.$=r[m].trim(),n.setDiagramTitle(this.$);break;case 11:this.$=r[m].trim(),n.setAccTitle(this.$);break;case 12:case 13:this.$=r[m].trim(),n.setAccDescription(this.$);break;case 14:n.addSection(r[m].substr(8)),this.$=r[m].substr(8);break;case 21:n.parseDirective("%%{","open_directive");break;case 22:n.parseDirective(r[m],"type_directive");break;case 23:r[m]=r[m].trim().replace(/'/g,'"'),n.parseDirective(r[m],"arg_directive");break;case 24:n.parseDirective("}%%","close_directive","pie");break}},table:[{3:1,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{1:[3]},{3:10,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{3:11,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},t(h,c,{7:12,8:[1,13]}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(y,w,{21:8,9:16,10:17,5:24,1:[2,3],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(h,c,{7:25}),{23:26,24:[1,27],32:W},t([24,32],[2,22]),t(h,[2,6]),{4:29,26:l,27:o,28:p},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(y,[2,13]),t(y,[2,14]),t(y,[2,15]),t(y,w,{21:8,9:16,10:17,5:24,1:[2,4],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(C,[2,16]),{25:34,31:[1,35]},t(C,[2,24]),t(h,[2,7]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12]),{23:36,32:W},{32:[2,23]},t(C,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(e,i){if(i.recoverable)this.trace(e);else{var a=new Error(e);throw a.hash=i,a}},parse:function(e){var i=this,a=[0],n=[],u=[null],r=[],f=this.table,m="",F=0,q=0,Q=2,G=1,ft=r.slice.call(arguments,1),_=Object.create(this.lexer),M={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(M.yy[X]=this.yy[X]);_.setInput(e,M.yy),M.yy.lexer=_,M.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Z=_.yylloc;r.push(Z);var pt=_.options&&_.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function yt(){var P;return P=n.pop()||_.lex()||G,typeof P!="number"&&(P instanceof Array&&(n=P,P=n.pop()),P=i.symbols_[P]||P),P}for(var k,j,S,tt,R={},H,V,at,J;;){if(j=a[a.length-1],this.defaultActions[j]?S=this.defaultActions[j]:((k===null||typeof k>"u")&&(k=yt()),S=f[j]&&f[j][k]),typeof S>"u"||!S.length||!S[0]){var et="";J=[];for(H in f[j])this.terminals_[H]&&H>Q&&J.push("'"+this.terminals_[H]+"'");_.showPosition?et="Parse error on line "+(F+1)+`: `+_.showPosition()+` Expecting `+J.join(", ")+", got '"+(this.terminals_[k]||k)+"'":et="Parse error on line "+(F+1)+": Unexpected "+(k==G?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(et,{text:_.match,token:this.terminals_[k]||k,line:_.yylineno,loc:Z,expected:J})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+k);switch(S[0]){case 1:a.push(k),u.push(_.yytext),r.push(_.yylloc),a.push(S[1]),k=null,q=_.yyleng,m=_.yytext,F=_.yylineno,Z=_.yylloc;break;case 2:if(V=this.productions_[S[1]][1],R.$=u[u.length-V],R._$={first_line:r[r.length-(V||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(V||1)].first_column,last_column:r[r.length-1].last_column},pt&&(R._$.range=[r[r.length-(V||1)].range[0],r[r.length-1].range[1]]),tt=this.performAction.apply(R,[m,q,F,M.yy,S[1],u,r].concat(ft)),typeof tt<"u")return tt;V&&(a=a.slice(0,-1*V*2),u=u.slice(0,-1*V),r=r.slice(0,-1*V)),a.push(this.productions_[S[1]][0]),u.push(R.$),r.push(R._$),at=f[a[a.length-2]][a[a.length-1]],a.push(at);break;case 3:return!0}}return!0}},v=function(){var b={EOF:1,parseError:function(i,a){if(this.yy.parser)this.yy.parser.parseError(i,a);else throw new Error(i)},setInput:function(e,i){return this.yy=i||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var i=e.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var i=e.length,a=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===n.length?this.yylloc.first_column:0)+n[n.length-a.length].length-a[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),i=new Array(e.length+1).join("-");return e+this.upcomingInput()+` diff --git a/_nuxt/requirementDiagram-b9649942.9152146a.js b/_nuxt/requirementDiagram-b9649942.4f228c28.js similarity index 99% rename from _nuxt/requirementDiagram-b9649942.9152146a.js rename to _nuxt/requirementDiagram-b9649942.4f228c28.js index 9e4348870b..50e9d6fb62 100644 --- a/_nuxt/requirementDiagram-b9649942.9152146a.js +++ b/_nuxt/requirementDiagram-b9649942.4f228c28.js @@ -1,4 +1,4 @@ -import{c as ve,s as Fe,g as Me,b as Pe,a as Ye,e as Ue,l as xe,A as Be,i as oe,j as Qe,n as Te}from"./mermaid.core.0bf3cbc4.js";import{G as He,l as We}from"./layout.e30182f8.js";import{l as Ke}from"./line.7016ab98.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";var he=function(){var e=function(q,r,s,l){for(s=s||{},l=q.length;l--;s[q[l]]=r);return s},t=[1,3],a=[1,5],c=[1,6],d=[1,7],u=[1,8],p=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],h=[1,22],o=[2,13],g=[1,26],R=[1,27],v=[1,28],S=[1,29],T=[1,30],x=[1,31],A=[1,24],N=[1,32],w=[1,33],pe=[1,36],F=[71,72],_e=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],fe=[1,56],ye=[1,57],ge=[1,58],Ee=[1,59],Re=[1,60],me=[1,61],Ie=[1,62],O=[62,63],M=[1,74],P=[1,70],Y=[1,71],U=[1,72],B=[1,73],Q=[1,75],j=[1,79],X=[1,80],J=[1,77],Z=[1,78],m=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],re={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(r,s,l,i,f,n,K){var _=n.length-1;switch(f){case 6:this.$=n[_].trim(),i.setAccTitle(this.$);break;case 7:case 8:this.$=n[_].trim(),i.setAccDescription(this.$);break;case 9:i.parseDirective("%%{","open_directive");break;case 10:i.parseDirective(n[_],"type_directive");break;case 11:n[_]=n[_].trim().replace(/'/g,'"'),i.parseDirective(n[_],"arg_directive");break;case 12:i.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:i.addRequirement(n[_-3],n[_-4]);break;case 20:i.setNewReqId(n[_-2]);break;case 21:i.setNewReqText(n[_-2]);break;case 22:i.setNewReqRisk(n[_-2]);break;case 23:i.setNewReqVerifyMethod(n[_-2]);break;case 26:this.$=i.RequirementType.REQUIREMENT;break;case 27:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=i.RiskLevel.LOW_RISK;break;case 33:this.$=i.RiskLevel.MED_RISK;break;case 34:this.$=i.RiskLevel.HIGH_RISK;break;case 35:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=i.VerifyType.VERIFY_TEST;break;case 39:i.addElement(n[_-3]);break;case 40:i.setNewElementType(n[_-2]);break;case 41:i.setNewElementDocRef(n[_-2]);break;case 44:i.addRelationship(n[_-2],n[_],n[_-4]);break;case 45:i.addRelationship(n[_-2],n[_-4],n[_]);break;case 46:this.$=i.Relationships.CONTAINS;break;case 47:this.$=i.Relationships.COPIES;break;case 48:this.$=i.Relationships.DERIVES;break;case 49:this.$=i.Relationships.SATISFIES;break;case 50:this.$=i.Relationships.VERIFIES;break;case 51:this.$=i.Relationships.REFINES;break;case 52:this.$=i.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[3]},{3:10,4:2,5:[1,9],6:t,9:4,14:a,16:c,18:d,19:u},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},e(p,[2,8]),{20:[2,9]},{3:16,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[2,2]},{4:21,5:h,7:17,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{11:34,12:[1,35],22:pe},e([12,22],[2,10]),e(p,[2,6]),e(p,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:h,7:38,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:39,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:40,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:41,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:42,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},e(F,[2,26]),e(F,[2,27]),e(F,[2,28]),e(F,[2,29]),e(F,[2,30]),e(F,[2,31]),e(_e,[2,55]),e(_e,[2,56]),e(p,[2,4]),{13:51,21:[1,52]},e(p,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{61:63,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{11:64,22:pe},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},e(O,[2,46]),e(O,[2,47]),e(O,[2,48]),e(O,[2,49]),e(O,[2,50]),e(O,[2,51]),e(O,[2,52]),{63:[1,68]},e(p,[2,5]),{5:M,29:69,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:76,56:J,58:Z},{32:81,71:N,72:w},{32:82,71:N,72:w},e(m,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:M,29:87,30:P,33:Y,35:U,37:B,39:Q},e(m,[2,25]),e(m,[2,39]),{31:[1,88]},{31:[1,89]},{5:j,39:X,55:90,56:J,58:Z},e(m,[2,43]),e(m,[2,44]),e(m,[2,45]),{32:91,71:N,72:w},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},e(m,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},e(m,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:M,29:116,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:117,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:118,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:119,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:120,56:J,58:Z},{5:j,39:X,55:121,56:J,58:Z},e(m,[2,20]),e(m,[2,21]),e(m,[2,22]),e(m,[2,23]),e(m,[2,40]),e(m,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(r,s){if(s.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=s,l}},parse:function(r){var s=this,l=[0],i=[],f=[null],n=[],K=this.table,_="",ee=0,be=0,Le=2,ke=1,Oe=n.slice.call(arguments,1),E=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);E.setInput(r,C.yy),C.yy.lexer=E,C.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ae=E.yylloc;n.push(ae);var Ce=E.options&&E.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(){var $;return $=i.pop()||E.lex()||ke,typeof $!="number"&&($ instanceof Array&&(i=$,$=i.pop()),$=s.symbols_[$]||$),$}for(var I,D,k,le,H={},te,V,Se,ie;;){if(D=l[l.length-1],this.defaultActions[D]?k=this.defaultActions[D]:((I===null||typeof I>"u")&&(I=De()),k=K[D]&&K[D][I]),typeof k>"u"||!k.length||!k[0]){var ce="";ie=[];for(te in K[D])this.terminals_[te]&&te>Le&&ie.push("'"+this.terminals_[te]+"'");E.showPosition?ce="Parse error on line "+(ee+1)+`: +import{c as ve,s as Fe,g as Me,b as Pe,a as Ye,e as Ue,l as xe,A as Be,i as oe,j as Qe,n as Te}from"./mermaid.core.ebd445a5.js";import{G as He,l as We}from"./layout.6ca81b77.js";import{l as Ke}from"./line.56665913.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";var he=function(){var e=function(q,r,s,l){for(s=s||{},l=q.length;l--;s[q[l]]=r);return s},t=[1,3],a=[1,5],c=[1,6],d=[1,7],u=[1,8],p=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],h=[1,22],o=[2,13],g=[1,26],R=[1,27],v=[1,28],S=[1,29],T=[1,30],x=[1,31],A=[1,24],N=[1,32],w=[1,33],pe=[1,36],F=[71,72],_e=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],fe=[1,56],ye=[1,57],ge=[1,58],Ee=[1,59],Re=[1,60],me=[1,61],Ie=[1,62],O=[62,63],M=[1,74],P=[1,70],Y=[1,71],U=[1,72],B=[1,73],Q=[1,75],j=[1,79],X=[1,80],J=[1,77],Z=[1,78],m=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],re={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(r,s,l,i,f,n,K){var _=n.length-1;switch(f){case 6:this.$=n[_].trim(),i.setAccTitle(this.$);break;case 7:case 8:this.$=n[_].trim(),i.setAccDescription(this.$);break;case 9:i.parseDirective("%%{","open_directive");break;case 10:i.parseDirective(n[_],"type_directive");break;case 11:n[_]=n[_].trim().replace(/'/g,'"'),i.parseDirective(n[_],"arg_directive");break;case 12:i.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:i.addRequirement(n[_-3],n[_-4]);break;case 20:i.setNewReqId(n[_-2]);break;case 21:i.setNewReqText(n[_-2]);break;case 22:i.setNewReqRisk(n[_-2]);break;case 23:i.setNewReqVerifyMethod(n[_-2]);break;case 26:this.$=i.RequirementType.REQUIREMENT;break;case 27:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=i.RiskLevel.LOW_RISK;break;case 33:this.$=i.RiskLevel.MED_RISK;break;case 34:this.$=i.RiskLevel.HIGH_RISK;break;case 35:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=i.VerifyType.VERIFY_TEST;break;case 39:i.addElement(n[_-3]);break;case 40:i.setNewElementType(n[_-2]);break;case 41:i.setNewElementDocRef(n[_-2]);break;case 44:i.addRelationship(n[_-2],n[_],n[_-4]);break;case 45:i.addRelationship(n[_-2],n[_-4],n[_]);break;case 46:this.$=i.Relationships.CONTAINS;break;case 47:this.$=i.Relationships.COPIES;break;case 48:this.$=i.Relationships.DERIVES;break;case 49:this.$=i.Relationships.SATISFIES;break;case 50:this.$=i.Relationships.VERIFIES;break;case 51:this.$=i.Relationships.REFINES;break;case 52:this.$=i.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[3]},{3:10,4:2,5:[1,9],6:t,9:4,14:a,16:c,18:d,19:u},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},e(p,[2,8]),{20:[2,9]},{3:16,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[2,2]},{4:21,5:h,7:17,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{11:34,12:[1,35],22:pe},e([12,22],[2,10]),e(p,[2,6]),e(p,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:h,7:38,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:39,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:40,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:41,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:42,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},e(F,[2,26]),e(F,[2,27]),e(F,[2,28]),e(F,[2,29]),e(F,[2,30]),e(F,[2,31]),e(_e,[2,55]),e(_e,[2,56]),e(p,[2,4]),{13:51,21:[1,52]},e(p,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{61:63,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{11:64,22:pe},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},e(O,[2,46]),e(O,[2,47]),e(O,[2,48]),e(O,[2,49]),e(O,[2,50]),e(O,[2,51]),e(O,[2,52]),{63:[1,68]},e(p,[2,5]),{5:M,29:69,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:76,56:J,58:Z},{32:81,71:N,72:w},{32:82,71:N,72:w},e(m,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:M,29:87,30:P,33:Y,35:U,37:B,39:Q},e(m,[2,25]),e(m,[2,39]),{31:[1,88]},{31:[1,89]},{5:j,39:X,55:90,56:J,58:Z},e(m,[2,43]),e(m,[2,44]),e(m,[2,45]),{32:91,71:N,72:w},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},e(m,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},e(m,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:M,29:116,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:117,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:118,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:119,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:120,56:J,58:Z},{5:j,39:X,55:121,56:J,58:Z},e(m,[2,20]),e(m,[2,21]),e(m,[2,22]),e(m,[2,23]),e(m,[2,40]),e(m,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(r,s){if(s.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=s,l}},parse:function(r){var s=this,l=[0],i=[],f=[null],n=[],K=this.table,_="",ee=0,be=0,Le=2,ke=1,Oe=n.slice.call(arguments,1),E=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);E.setInput(r,C.yy),C.yy.lexer=E,C.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ae=E.yylloc;n.push(ae);var Ce=E.options&&E.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(){var $;return $=i.pop()||E.lex()||ke,typeof $!="number"&&($ instanceof Array&&(i=$,$=i.pop()),$=s.symbols_[$]||$),$}for(var I,D,k,le,H={},te,V,Se,ie;;){if(D=l[l.length-1],this.defaultActions[D]?k=this.defaultActions[D]:((I===null||typeof I>"u")&&(I=De()),k=K[D]&&K[D][I]),typeof k>"u"||!k.length||!k[0]){var ce="";ie=[];for(te in K[D])this.terminals_[te]&&te>Le&&ie.push("'"+this.terminals_[te]+"'");E.showPosition?ce="Parse error on line "+(ee+1)+`: `+E.showPosition()+` Expecting `+ie.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ce="Parse error on line "+(ee+1)+": Unexpected "+(I==ke?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ce,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:ae,expected:ie})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+D+", token: "+I);switch(k[0]){case 1:l.push(I),f.push(E.yytext),n.push(E.yylloc),l.push(k[1]),I=null,be=E.yyleng,_=E.yytext,ee=E.yylineno,ae=E.yylloc;break;case 2:if(V=this.productions_[k[1]][1],H.$=f[f.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},Ce&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),le=this.performAction.apply(H,[_,be,ee,C.yy,k[1],f,n].concat(Oe)),typeof le<"u")return le;V&&(l=l.slice(0,-1*V*2),f=f.slice(0,-1*V),n=n.slice(0,-1*V)),l.push(this.productions_[k[1]][0]),f.push(H.$),n.push(H._$),Se=K[l[l.length-2]][l[l.length-1]],l.push(Se);break;case 3:return!0}}return!0}},qe=function(){var q={EOF:1,parseError:function(s,l){if(this.yy.parser)this.yy.parser.parseError(s,l);else throw new Error(s)},setInput:function(r,s){return this.yy=s||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var s=r.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var s=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===i.length?this.yylloc.first_column:0)+i[i.length-l.length].length-l[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),s=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_nuxt/selectAll.0071fc9b.js b/_nuxt/selectAll.065b1a3b.js similarity index 68% rename from _nuxt/selectAll.0071fc9b.js rename to _nuxt/selectAll.065b1a3b.js index cbc90e89bb..4361d25b0b 100644 --- a/_nuxt/selectAll.0071fc9b.js +++ b/_nuxt/selectAll.065b1a3b.js @@ -1 +1 @@ -import{a0 as t,a1 as n,a2 as o}from"./mermaid.core.0bf3cbc4.js";function r(e){return typeof e=="string"?new t([document.querySelectorAll(e)],[document.documentElement]):new t([o(e)],n)}export{r as s}; +import{a0 as t,a1 as n,a2 as o}from"./mermaid.core.ebd445a5.js";function r(e){return typeof e=="string"?new t([document.querySelectorAll(e)],[document.documentElement]):new t([o(e)],n)}export{r as s}; diff --git a/_nuxt/sequenceDiagram-446df3e4.b44baf48.js b/_nuxt/sequenceDiagram-446df3e4.033f88cb.js similarity index 99% rename from _nuxt/sequenceDiagram-446df3e4.b44baf48.js rename to _nuxt/sequenceDiagram-446df3e4.033f88cb.js index c57499d9a0..895bc0ff4e 100644 --- a/_nuxt/sequenceDiagram-446df3e4.b44baf48.js +++ b/_nuxt/sequenceDiagram-446df3e4.033f88cb.js @@ -1,4 +1,4 @@ -import{g as be,y as we,x as ve,c as ct,s as te,b as _e,a as ke,e as Le,A as Pe,l as K,d as kt,f as Ie,i as _t,j as Ne,z as C,k as Lt,n as Pt,an as ee,aA as Ae}from"./mermaid.core.0bf3cbc4.js";import{s as Se}from"./selectAll.0071fc9b.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";var Bt=function(){var t=function(rt,m,w,_){for(w=w||{},_=rt.length;_--;w[rt[_]]=m);return w},e=[1,2],s=[1,3],i=[1,5],n=[1,7],a=[2,5],o=[1,15],l=[1,17],p=[1,19],h=[1,21],T=[1,22],y=[1,23],u=[1,29],x=[1,30],b=[1,31],k=[1,32],N=[1,33],M=[1,34],P=[1,35],B=[1,36],V=[1,37],z=[1,38],G=[1,39],Y=[1,40],D=[1,42],X=[1,43],q=[1,45],F=[1,46],H=[1,47],J=[1,48],Q=[1,49],E=[1,50],L=[1,53],v=[1,4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],U=[4,5,21,54,56],I=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],Kt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,53,54,56,57,62,63,64,65,73,83],Gt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,52,54,56,57,62,63,64,65,73,83],Xt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,54,56,57,62,63,64,65,73,83],at=[71,72,73],et=[1,125],Jt=[1,4,5,7,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],Mt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,box_section:11,box_line:12,participant_statement:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,box:19,restOfLine:20,end:21,signal:22,autonumber:23,NUM:24,off:25,activate:26,actor:27,deactivate:28,note_statement:29,links_statement:30,link_statement:31,properties_statement:32,details_statement:33,title:34,legacy_title:35,acc_title:36,acc_title_value:37,acc_descr:38,acc_descr_value:39,acc_descr_multiline_value:40,loop:41,rect:42,opt:43,alt:44,else_sections:45,par:46,par_sections:47,critical:48,option_sections:49,break:50,option:51,and:52,else:53,participant:54,AS:55,participant_actor:56,note:57,placement:58,text2:59,over:60,actor_pair:61,links:62,link:63,properties:64,details:65,spaceList:66,",":67,left_of:68,right_of:69,signaltype:70,"+":71,"-":72,ACTOR:73,SOLID_OPEN_ARROW:74,DOTTED_OPEN_ARROW:75,SOLID_ARROW:76,DOTTED_ARROW:77,SOLID_CROSS:78,DOTTED_CROSS:79,SOLID_POINT:80,DOTTED_POINT:81,TXT:82,open_directive:83,type_directive:84,arg_directive:85,close_directive:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",17:":",19:"box",20:"restOfLine",21:"end",23:"autonumber",24:"NUM",25:"off",26:"activate",28:"deactivate",34:"title",35:"legacy_title",36:"acc_title",37:"acc_title_value",38:"acc_descr",39:"acc_descr_value",40:"acc_descr_multiline_value",41:"loop",42:"rect",43:"opt",44:"alt",46:"par",48:"critical",50:"break",51:"option",52:"and",53:"else",54:"participant",55:"AS",56:"participant_actor",57:"note",60:"over",62:"links",63:"link",64:"properties",65:"details",67:",",68:"left_of",69:"right_of",71:"+",72:"-",73:"ACTOR",74:"SOLID_OPEN_ARROW",75:"DOTTED_OPEN_ARROW",76:"SOLID_ARROW",77:"DOTTED_ARROW",78:"SOLID_CROSS",79:"DOTTED_CROSS",80:"SOLID_POINT",81:"DOTTED_POINT",82:"TXT",83:"open_directive",84:"type_directive",85:"arg_directive",86:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[11,0],[11,2],[12,2],[12,1],[12,1],[6,4],[6,6],[10,1],[10,4],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[49,1],[49,4],[47,1],[47,4],[45,1],[45,4],[13,5],[13,3],[13,5],[13,3],[29,4],[29,4],[30,3],[31,3],[32,3],[33,3],[66,2],[66,1],[61,3],[61,1],[58,1],[58,1],[22,5],[22,5],[22,4],[27,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[59,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(m,w,_,g,A,c,Tt){var d=c.length-1;switch(A){case 4:return g.apply(c[d]),c[d];case 5:case 10:this.$=[];break;case 6:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 7:case 8:case 12:case 13:this.$=c[d];break;case 9:case 14:this.$=[];break;case 18:c[d-1].unshift({type:"boxStart",boxData:g.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:g.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 24:this.$={type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]};break;case 25:this.$={type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-1]};break;case 31:g.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 32:g.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 33:this.$=c[d].trim(),g.setAccTitle(this.$);break;case 34:case 35:this.$=c[d].trim(),g.setAccDescription(this.$);break;case 36:c[d-1].unshift({type:"loopStart",loopText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:g.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"rectStart",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"optStart",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"altStart",altText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:g.LINETYPE.ALT_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:g.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:g.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 45:this.$=c[d-3].concat([{type:"option",optionText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 47:this.$=c[d-3].concat([{type:"and",parText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.PAR_AND},c[d]]);break;case 49:this.$=c[d-3].concat([{type:"else",altText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.ALT_ELSE},c[d]]);break;case 50:c[d-3].type="addParticipant",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 51:c[d-1].type="addParticipant",this.$=c[d-1];break;case 52:c[d-3].type="addActor",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 53:c[d-1].type="addActor",this.$=c[d-1];break;case 54:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 55:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:g.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 56:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 57:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 58:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 59:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-2],c[d]];break;case 63:this.$=c[d];break;case 64:this.$=g.PLACEMENT.LEFTOF;break;case 65:this.$=g.PLACEMENT.RIGHTOF;break;case 66:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]}];break;case 67:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-4]}];break;case 68:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 69:this.$={type:"addParticipant",actor:c[d]};break;case 70:this.$=g.LINETYPE.SOLID_OPEN;break;case 71:this.$=g.LINETYPE.DOTTED_OPEN;break;case 72:this.$=g.LINETYPE.SOLID;break;case 73:this.$=g.LINETYPE.DOTTED;break;case 74:this.$=g.LINETYPE.SOLID_CROSS;break;case 75:this.$=g.LINETYPE.DOTTED_CROSS;break;case 76:this.$=g.LINETYPE.SOLID_POINT;break;case 77:this.$=g.LINETYPE.DOTTED_POINT;break;case 78:this.$=g.parseMessage(c[d].trim().substring(1));break;case 79:g.parseDirective("%%{","open_directive");break;case 80:g.parseDirective(c[d],"type_directive");break;case 81:c[d]=c[d].trim().replace(/'/g,'"'),g.parseDirective(c[d],"arg_directive");break;case 82:g.parseDirective("}%%","close_directive","sequence");break}},table:[{3:1,4:e,5:s,6:4,7:i,14:6,83:n},{1:[3]},{3:8,4:e,5:s,6:4,7:i,14:6,83:n},{3:9,4:e,5:s,6:4,7:i,14:6,83:n},{3:10,4:e,5:s,6:4,7:i,14:6,83:n},t([1,4,5,19,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],a,{8:11}),{15:12,84:[1,13]},{84:[2,79]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{16:51,17:[1,52],86:L},t([17,86],[2,80]),t(v,[2,6]),{6:41,10:54,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},t(v,[2,8]),t(v,[2,9]),t(v,[2,17]),{20:[1,55]},{5:[1,56]},{5:[1,59],24:[1,57],25:[1,58]},{27:60,73:E},{27:61,73:E},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},{5:[1,66]},t(v,[2,31]),t(v,[2,32]),{37:[1,67]},{39:[1,68]},t(v,[2,35]),{20:[1,69]},{20:[1,70]},{20:[1,71]},{20:[1,72]},{20:[1,73]},{20:[1,74]},{20:[1,75]},t(v,[2,43]),{27:76,73:E},{27:77,73:E},{70:78,74:[1,79],75:[1,80],76:[1,81],77:[1,82],78:[1,83],79:[1,84],80:[1,85],81:[1,86]},{58:87,60:[1,88],68:[1,89],69:[1,90]},{27:91,73:E},{27:92,73:E},{27:93,73:E},{27:94,73:E},t([5,55,67,74,75,76,77,78,79,80,81,82],[2,69]),{5:[1,95]},{18:96,85:[1,97]},{5:[2,82]},t(v,[2,7]),t(U,[2,10],{11:98}),t(v,[2,19]),{5:[1,100],24:[1,99]},{5:[1,101]},t(v,[2,23]),{5:[1,102]},{5:[1,103]},t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,29]),t(v,[2,30]),t(v,[2,33]),t(v,[2,34]),t(I,a,{8:104}),t(I,a,{8:105}),t(I,a,{8:106}),t(Kt,a,{45:107,8:108}),t(Gt,a,{47:109,8:110}),t(Xt,a,{49:111,8:112}),t(I,a,{8:113}),{5:[1,115],55:[1,114]},{5:[1,117],55:[1,116]},{27:120,71:[1,118],72:[1,119],73:E},t(at,[2,70]),t(at,[2,71]),t(at,[2,72]),t(at,[2,73]),t(at,[2,74]),t(at,[2,75]),t(at,[2,76]),t(at,[2,77]),{27:121,73:E},{27:123,61:122,73:E},{73:[2,64]},{73:[2,65]},{59:124,82:et},{59:126,82:et},{59:127,82:et},{59:128,82:et},t(Jt,[2,15]),{16:129,86:L},{86:[2,81]},{4:[1,132],5:[1,134],12:131,13:133,21:[1,130],54:D,56:X},{5:[1,135]},t(v,[2,21]),t(v,[2,22]),t(v,[2,24]),t(v,[2,25]),{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,136],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,137],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,138],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,139]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,48],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,53:[1,140],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,141]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,46],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,52:[1,142],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,143]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,44],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,51:[1,144],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,145],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{20:[1,146]},t(v,[2,51]),{20:[1,147]},t(v,[2,53]),{27:148,73:E},{27:149,73:E},{59:150,82:et},{59:151,82:et},{59:152,82:et},{67:[1,153],82:[2,63]},{5:[2,56]},{5:[2,78]},{5:[2,57]},{5:[2,58]},{5:[2,59]},{5:[1,154]},t(v,[2,18]),t(U,[2,11]),{13:155,54:D,56:X},t(U,[2,13]),t(U,[2,14]),t(v,[2,20]),t(v,[2,36]),t(v,[2,37]),t(v,[2,38]),t(v,[2,39]),{20:[1,156]},t(v,[2,40]),{20:[1,157]},t(v,[2,41]),{20:[1,158]},t(v,[2,42]),{5:[1,159]},{5:[1,160]},{59:161,82:et},{59:162,82:et},{5:[2,68]},{5:[2,54]},{5:[2,55]},{27:163,73:E},t(Jt,[2,16]),t(U,[2,12]),t(Kt,a,{8:108,45:164}),t(Gt,a,{8:110,47:165}),t(Xt,a,{8:112,49:166}),t(v,[2,50]),t(v,[2,52]),{5:[2,66]},{5:[2,67]},{82:[2,62]},{21:[2,49]},{21:[2,47]},{21:[2,45]}],defaultActions:{7:[2,79],8:[2,1],9:[2,2],10:[2,3],53:[2,82],89:[2,64],90:[2,65],97:[2,81],124:[2,56],125:[2,78],126:[2,57],127:[2,58],128:[2,59],150:[2,68],151:[2,54],152:[2,55],161:[2,66],162:[2,67],163:[2,62],164:[2,49],165:[2,47],166:[2,45]},parseError:function(m,w){if(w.recoverable)this.trace(m);else{var _=new Error(m);throw _.hash=w,_}},parse:function(m){var w=this,_=[0],g=[],A=[null],c=[],Tt=this.table,d="",bt=0,Qt=0,Te=2,Zt=1,ye=c.slice.call(arguments,1),O=Object.create(this.lexer),lt={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(lt.yy[Dt]=this.yy[Dt]);O.setInput(m,lt.yy),lt.yy.lexer=O,lt.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var Vt=O.yylloc;c.push(Vt);var Ee=O.options&&O.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var nt;return nt=g.pop()||O.lex()||Zt,typeof nt!="number"&&(nt instanceof Array&&(g=nt,nt=g.pop()),nt=w.symbols_[nt]||nt),nt}for(var W,ht,Z,Ct,ut={},wt,it,jt,vt;;){if(ht=_[_.length-1],this.defaultActions[ht]?Z=this.defaultActions[ht]:((W===null||typeof W>"u")&&(W=me()),Z=Tt[ht]&&Tt[ht][W]),typeof Z>"u"||!Z.length||!Z[0]){var Ot="";vt=[];for(wt in Tt[ht])this.terminals_[wt]&&wt>Te&&vt.push("'"+this.terminals_[wt]+"'");O.showPosition?Ot="Parse error on line "+(bt+1)+`: +import{g as be,y as we,x as ve,c as ct,s as te,b as _e,a as ke,e as Le,A as Pe,l as K,d as kt,f as Ie,i as _t,j as Ne,z as C,k as Lt,n as Pt,an as ee,aA as Ae}from"./mermaid.core.ebd445a5.js";import{s as Se}from"./selectAll.065b1a3b.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";var Bt=function(){var t=function(rt,m,w,_){for(w=w||{},_=rt.length;_--;w[rt[_]]=m);return w},e=[1,2],s=[1,3],i=[1,5],n=[1,7],a=[2,5],o=[1,15],l=[1,17],p=[1,19],h=[1,21],T=[1,22],y=[1,23],u=[1,29],x=[1,30],b=[1,31],k=[1,32],N=[1,33],M=[1,34],P=[1,35],B=[1,36],V=[1,37],z=[1,38],G=[1,39],Y=[1,40],D=[1,42],X=[1,43],q=[1,45],F=[1,46],H=[1,47],J=[1,48],Q=[1,49],E=[1,50],L=[1,53],v=[1,4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],U=[4,5,21,54,56],I=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],Kt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,53,54,56,57,62,63,64,65,73,83],Gt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,52,54,56,57,62,63,64,65,73,83],Xt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,54,56,57,62,63,64,65,73,83],at=[71,72,73],et=[1,125],Jt=[1,4,5,7,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],Mt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,box_section:11,box_line:12,participant_statement:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,box:19,restOfLine:20,end:21,signal:22,autonumber:23,NUM:24,off:25,activate:26,actor:27,deactivate:28,note_statement:29,links_statement:30,link_statement:31,properties_statement:32,details_statement:33,title:34,legacy_title:35,acc_title:36,acc_title_value:37,acc_descr:38,acc_descr_value:39,acc_descr_multiline_value:40,loop:41,rect:42,opt:43,alt:44,else_sections:45,par:46,par_sections:47,critical:48,option_sections:49,break:50,option:51,and:52,else:53,participant:54,AS:55,participant_actor:56,note:57,placement:58,text2:59,over:60,actor_pair:61,links:62,link:63,properties:64,details:65,spaceList:66,",":67,left_of:68,right_of:69,signaltype:70,"+":71,"-":72,ACTOR:73,SOLID_OPEN_ARROW:74,DOTTED_OPEN_ARROW:75,SOLID_ARROW:76,DOTTED_ARROW:77,SOLID_CROSS:78,DOTTED_CROSS:79,SOLID_POINT:80,DOTTED_POINT:81,TXT:82,open_directive:83,type_directive:84,arg_directive:85,close_directive:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",17:":",19:"box",20:"restOfLine",21:"end",23:"autonumber",24:"NUM",25:"off",26:"activate",28:"deactivate",34:"title",35:"legacy_title",36:"acc_title",37:"acc_title_value",38:"acc_descr",39:"acc_descr_value",40:"acc_descr_multiline_value",41:"loop",42:"rect",43:"opt",44:"alt",46:"par",48:"critical",50:"break",51:"option",52:"and",53:"else",54:"participant",55:"AS",56:"participant_actor",57:"note",60:"over",62:"links",63:"link",64:"properties",65:"details",67:",",68:"left_of",69:"right_of",71:"+",72:"-",73:"ACTOR",74:"SOLID_OPEN_ARROW",75:"DOTTED_OPEN_ARROW",76:"SOLID_ARROW",77:"DOTTED_ARROW",78:"SOLID_CROSS",79:"DOTTED_CROSS",80:"SOLID_POINT",81:"DOTTED_POINT",82:"TXT",83:"open_directive",84:"type_directive",85:"arg_directive",86:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[11,0],[11,2],[12,2],[12,1],[12,1],[6,4],[6,6],[10,1],[10,4],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[49,1],[49,4],[47,1],[47,4],[45,1],[45,4],[13,5],[13,3],[13,5],[13,3],[29,4],[29,4],[30,3],[31,3],[32,3],[33,3],[66,2],[66,1],[61,3],[61,1],[58,1],[58,1],[22,5],[22,5],[22,4],[27,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[59,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(m,w,_,g,A,c,Tt){var d=c.length-1;switch(A){case 4:return g.apply(c[d]),c[d];case 5:case 10:this.$=[];break;case 6:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 7:case 8:case 12:case 13:this.$=c[d];break;case 9:case 14:this.$=[];break;case 18:c[d-1].unshift({type:"boxStart",boxData:g.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:g.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 24:this.$={type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]};break;case 25:this.$={type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-1]};break;case 31:g.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 32:g.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 33:this.$=c[d].trim(),g.setAccTitle(this.$);break;case 34:case 35:this.$=c[d].trim(),g.setAccDescription(this.$);break;case 36:c[d-1].unshift({type:"loopStart",loopText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:g.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"rectStart",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"optStart",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"altStart",altText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:g.LINETYPE.ALT_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:g.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:g.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 45:this.$=c[d-3].concat([{type:"option",optionText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 47:this.$=c[d-3].concat([{type:"and",parText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.PAR_AND},c[d]]);break;case 49:this.$=c[d-3].concat([{type:"else",altText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.ALT_ELSE},c[d]]);break;case 50:c[d-3].type="addParticipant",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 51:c[d-1].type="addParticipant",this.$=c[d-1];break;case 52:c[d-3].type="addActor",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 53:c[d-1].type="addActor",this.$=c[d-1];break;case 54:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 55:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:g.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 56:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 57:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 58:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 59:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-2],c[d]];break;case 63:this.$=c[d];break;case 64:this.$=g.PLACEMENT.LEFTOF;break;case 65:this.$=g.PLACEMENT.RIGHTOF;break;case 66:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]}];break;case 67:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-4]}];break;case 68:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 69:this.$={type:"addParticipant",actor:c[d]};break;case 70:this.$=g.LINETYPE.SOLID_OPEN;break;case 71:this.$=g.LINETYPE.DOTTED_OPEN;break;case 72:this.$=g.LINETYPE.SOLID;break;case 73:this.$=g.LINETYPE.DOTTED;break;case 74:this.$=g.LINETYPE.SOLID_CROSS;break;case 75:this.$=g.LINETYPE.DOTTED_CROSS;break;case 76:this.$=g.LINETYPE.SOLID_POINT;break;case 77:this.$=g.LINETYPE.DOTTED_POINT;break;case 78:this.$=g.parseMessage(c[d].trim().substring(1));break;case 79:g.parseDirective("%%{","open_directive");break;case 80:g.parseDirective(c[d],"type_directive");break;case 81:c[d]=c[d].trim().replace(/'/g,'"'),g.parseDirective(c[d],"arg_directive");break;case 82:g.parseDirective("}%%","close_directive","sequence");break}},table:[{3:1,4:e,5:s,6:4,7:i,14:6,83:n},{1:[3]},{3:8,4:e,5:s,6:4,7:i,14:6,83:n},{3:9,4:e,5:s,6:4,7:i,14:6,83:n},{3:10,4:e,5:s,6:4,7:i,14:6,83:n},t([1,4,5,19,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],a,{8:11}),{15:12,84:[1,13]},{84:[2,79]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{16:51,17:[1,52],86:L},t([17,86],[2,80]),t(v,[2,6]),{6:41,10:54,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},t(v,[2,8]),t(v,[2,9]),t(v,[2,17]),{20:[1,55]},{5:[1,56]},{5:[1,59],24:[1,57],25:[1,58]},{27:60,73:E},{27:61,73:E},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},{5:[1,66]},t(v,[2,31]),t(v,[2,32]),{37:[1,67]},{39:[1,68]},t(v,[2,35]),{20:[1,69]},{20:[1,70]},{20:[1,71]},{20:[1,72]},{20:[1,73]},{20:[1,74]},{20:[1,75]},t(v,[2,43]),{27:76,73:E},{27:77,73:E},{70:78,74:[1,79],75:[1,80],76:[1,81],77:[1,82],78:[1,83],79:[1,84],80:[1,85],81:[1,86]},{58:87,60:[1,88],68:[1,89],69:[1,90]},{27:91,73:E},{27:92,73:E},{27:93,73:E},{27:94,73:E},t([5,55,67,74,75,76,77,78,79,80,81,82],[2,69]),{5:[1,95]},{18:96,85:[1,97]},{5:[2,82]},t(v,[2,7]),t(U,[2,10],{11:98}),t(v,[2,19]),{5:[1,100],24:[1,99]},{5:[1,101]},t(v,[2,23]),{5:[1,102]},{5:[1,103]},t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,29]),t(v,[2,30]),t(v,[2,33]),t(v,[2,34]),t(I,a,{8:104}),t(I,a,{8:105}),t(I,a,{8:106}),t(Kt,a,{45:107,8:108}),t(Gt,a,{47:109,8:110}),t(Xt,a,{49:111,8:112}),t(I,a,{8:113}),{5:[1,115],55:[1,114]},{5:[1,117],55:[1,116]},{27:120,71:[1,118],72:[1,119],73:E},t(at,[2,70]),t(at,[2,71]),t(at,[2,72]),t(at,[2,73]),t(at,[2,74]),t(at,[2,75]),t(at,[2,76]),t(at,[2,77]),{27:121,73:E},{27:123,61:122,73:E},{73:[2,64]},{73:[2,65]},{59:124,82:et},{59:126,82:et},{59:127,82:et},{59:128,82:et},t(Jt,[2,15]),{16:129,86:L},{86:[2,81]},{4:[1,132],5:[1,134],12:131,13:133,21:[1,130],54:D,56:X},{5:[1,135]},t(v,[2,21]),t(v,[2,22]),t(v,[2,24]),t(v,[2,25]),{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,136],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,137],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,138],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,139]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,48],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,53:[1,140],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,141]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,46],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,52:[1,142],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,143]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,44],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,51:[1,144],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,145],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{20:[1,146]},t(v,[2,51]),{20:[1,147]},t(v,[2,53]),{27:148,73:E},{27:149,73:E},{59:150,82:et},{59:151,82:et},{59:152,82:et},{67:[1,153],82:[2,63]},{5:[2,56]},{5:[2,78]},{5:[2,57]},{5:[2,58]},{5:[2,59]},{5:[1,154]},t(v,[2,18]),t(U,[2,11]),{13:155,54:D,56:X},t(U,[2,13]),t(U,[2,14]),t(v,[2,20]),t(v,[2,36]),t(v,[2,37]),t(v,[2,38]),t(v,[2,39]),{20:[1,156]},t(v,[2,40]),{20:[1,157]},t(v,[2,41]),{20:[1,158]},t(v,[2,42]),{5:[1,159]},{5:[1,160]},{59:161,82:et},{59:162,82:et},{5:[2,68]},{5:[2,54]},{5:[2,55]},{27:163,73:E},t(Jt,[2,16]),t(U,[2,12]),t(Kt,a,{8:108,45:164}),t(Gt,a,{8:110,47:165}),t(Xt,a,{8:112,49:166}),t(v,[2,50]),t(v,[2,52]),{5:[2,66]},{5:[2,67]},{82:[2,62]},{21:[2,49]},{21:[2,47]},{21:[2,45]}],defaultActions:{7:[2,79],8:[2,1],9:[2,2],10:[2,3],53:[2,82],89:[2,64],90:[2,65],97:[2,81],124:[2,56],125:[2,78],126:[2,57],127:[2,58],128:[2,59],150:[2,68],151:[2,54],152:[2,55],161:[2,66],162:[2,67],163:[2,62],164:[2,49],165:[2,47],166:[2,45]},parseError:function(m,w){if(w.recoverable)this.trace(m);else{var _=new Error(m);throw _.hash=w,_}},parse:function(m){var w=this,_=[0],g=[],A=[null],c=[],Tt=this.table,d="",bt=0,Qt=0,Te=2,Zt=1,ye=c.slice.call(arguments,1),O=Object.create(this.lexer),lt={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(lt.yy[Dt]=this.yy[Dt]);O.setInput(m,lt.yy),lt.yy.lexer=O,lt.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var Vt=O.yylloc;c.push(Vt);var Ee=O.options&&O.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var nt;return nt=g.pop()||O.lex()||Zt,typeof nt!="number"&&(nt instanceof Array&&(g=nt,nt=g.pop()),nt=w.symbols_[nt]||nt),nt}for(var W,ht,Z,Ct,ut={},wt,it,jt,vt;;){if(ht=_[_.length-1],this.defaultActions[ht]?Z=this.defaultActions[ht]:((W===null||typeof W>"u")&&(W=me()),Z=Tt[ht]&&Tt[ht][W]),typeof Z>"u"||!Z.length||!Z[0]){var Ot="";vt=[];for(wt in Tt[ht])this.terminals_[wt]&&wt>Te&&vt.push("'"+this.terminals_[wt]+"'");O.showPosition?Ot="Parse error on line "+(bt+1)+`: `+O.showPosition()+` Expecting `+vt.join(", ")+", got '"+(this.terminals_[W]||W)+"'":Ot="Parse error on line "+(bt+1)+": Unexpected "+(W==Zt?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(Ot,{text:O.match,token:this.terminals_[W]||W,line:O.yylineno,loc:Vt,expected:vt})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ht+", token: "+W);switch(Z[0]){case 1:_.push(W),A.push(O.yytext),c.push(O.yylloc),_.push(Z[1]),W=null,Qt=O.yyleng,d=O.yytext,bt=O.yylineno,Vt=O.yylloc;break;case 2:if(it=this.productions_[Z[1]][1],ut.$=A[A.length-it],ut._$={first_line:c[c.length-(it||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(it||1)].first_column,last_column:c[c.length-1].last_column},Ee&&(ut._$.range=[c[c.length-(it||1)].range[0],c[c.length-1].range[1]]),Ct=this.performAction.apply(ut,[d,Qt,bt,lt.yy,Z[1],A,c].concat(ye)),typeof Ct<"u")return Ct;it&&(_=_.slice(0,-1*it*2),A=A.slice(0,-1*it),c=c.slice(0,-1*it)),_.push(this.productions_[Z[1]][0]),A.push(ut.$),c.push(ut._$),jt=Tt[_[_.length-2]][_[_.length-1]],_.push(jt);break;case 3:return!0}}return!0}},ge=function(){var rt={EOF:1,parseError:function(w,_){if(this.yy.parser)this.yy.parser.parseError(w,_);else throw new Error(w)},setInput:function(m,w){return this.yy=w||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var w=m.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},unput:function(m){var w=m.length,_=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===g.length?this.yylloc.first_column:0)+g[g.length-_.length].length-_[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(m){this.unput(this.match.slice(m))},pastInput:function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var m=this.pastInput(),w=new Array(m.length+1).join("-");return m+this.upcomingInput()+` diff --git a/_nuxt/stateDiagram-d53d2428.52c8ef29.js b/_nuxt/stateDiagram-d53d2428.c6c32fa9.js similarity index 97% rename from _nuxt/stateDiagram-d53d2428.52c8ef29.js rename to _nuxt/stateDiagram-d53d2428.c6c32fa9.js index 2fd505a69b..d5f1383b85 100644 --- a/_nuxt/stateDiagram-d53d2428.52c8ef29.js +++ b/_nuxt/stateDiagram-d53d2428.c6c32fa9.js @@ -1 +1 @@ -import{p as R,d as N,s as W}from"./styles-47a825a5.0ddf9dd1.js";import{c as t,i as H,l as b,j as v,n as L,a3 as U,z as C}from"./mermaid.core.0bf3cbc4.js";import{G as A,l as F}from"./layout.e30182f8.js";import{l as O}from"./line.7016ab98.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const X=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),J=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),Y=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},$=(e,i)=>{const o=function(d,m,f){const S=d.append("tspan").attr("x",2*t().state.padding).text(m);f||S.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(d){a||(o(p,d,r),r=!1),a=!1});const w=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),l=Math.max(x.width,s.width);return w.attr("x2",l+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",l+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let l=Math.max(x,p);l===p&&(l=l+s);let d;const m=e.node().getBBox();i.doc,d=a-c,x>p&&(d=(p-l)/2+c),Math.abs(a-m.x)p&&(d=a-(x-p)/2);const f=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",d).attr("y",f).attr("class",o?"alt-composit":"composit").attr("width",l).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",d+c),x<=p&&r.attr("x",a+(l-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(L.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const w of a){const x=w.trim();if(x.length>0){const l=g.append("tspan");if(l.text(x),r===0){const d=l.node().getBBox();r+=d.height}s+=r,l.attr("x",i+t().state.noteMargin),l.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},T=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&X(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&J(s),i.type==="default"&&i.descriptions.length===0&&Y(s,i),i.type==="default"&&i.descriptions.length>0&&$(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const D=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=O().x(function(r){return r.x}).y(function(r){return r.y}).curve(U),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:w,y:x}=C.calcLabelPosition(i.points),l=L.getRows(o.title);let d=0;const m=[];let f=0,S=0;for(let u=0;u<=l.length;u++){const h=r.append("text").attr("text-anchor","middle").text(l[u]).attr("x",w).attr("y",x+d),y=h.node().getBBox();f=Math.max(f,y.width),S=Math.min(S,y.x),b.info(y.x,w,x+d),d===0&&(d=h.node().getBBox().height,b.info("Title height",d,x)),m.push(h)}let k=d*l.length;if(l.length>1){const u=(l.length-1)*d*.5;m.forEach((h,y)=>h.attr("y",x+y*d-u)),k=d*l.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",w-f/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",f+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},K=function(){},Q=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},V=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);Q(r),new A({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel(function(){return{}});const x=c.db.getRootDoc();P(x,r,void 0,!1,p,a,c);const l=B.padding,d=r.node().getBBox(),m=d.width+l*2,f=d.height+l*2,S=m*1.75;v(r,f,S,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+m+" "+f)},tt=e=>e?e.length*B.fontSizeFactor:1,P=(e,i,o,c,s,g,p)=>{const a=new A({compound:!0,multigraph:!0});let r,w=!0;for(r=0;r{const y=h.parentElement;let E=0,M=0;y&&(y.parentElement&&(E=y.parentElement.getBBox().width),M=parseInt(y.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let S=f.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),D(i,a.edge(n),a.edge(n).relation))}),S=f.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=S.width+2*B.padding,k.height=S.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:K,draw:V},lt={parser:R,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; +import{p as R,d as N,s as W}from"./styles-47a825a5.216575b9.js";import{c as t,i as H,l as b,j as v,n as L,a3 as U,z as C}from"./mermaid.core.ebd445a5.js";import{G as A,l as F}from"./layout.6ca81b77.js";import{l as O}from"./line.56665913.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const X=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),J=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),Y=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},$=(e,i)=>{const o=function(d,m,f){const S=d.append("tspan").attr("x",2*t().state.padding).text(m);f||S.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(d){a||(o(p,d,r),r=!1),a=!1});const w=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),l=Math.max(x.width,s.width);return w.attr("x2",l+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",l+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let l=Math.max(x,p);l===p&&(l=l+s);let d;const m=e.node().getBBox();i.doc,d=a-c,x>p&&(d=(p-l)/2+c),Math.abs(a-m.x)p&&(d=a-(x-p)/2);const f=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",d).attr("y",f).attr("class",o?"alt-composit":"composit").attr("width",l).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",d+c),x<=p&&r.attr("x",a+(l-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(L.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const w of a){const x=w.trim();if(x.length>0){const l=g.append("tspan");if(l.text(x),r===0){const d=l.node().getBBox();r+=d.height}s+=r,l.attr("x",i+t().state.noteMargin),l.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},T=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&X(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&J(s),i.type==="default"&&i.descriptions.length===0&&Y(s,i),i.type==="default"&&i.descriptions.length>0&&$(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const D=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=O().x(function(r){return r.x}).y(function(r){return r.y}).curve(U),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:w,y:x}=C.calcLabelPosition(i.points),l=L.getRows(o.title);let d=0;const m=[];let f=0,S=0;for(let u=0;u<=l.length;u++){const h=r.append("text").attr("text-anchor","middle").text(l[u]).attr("x",w).attr("y",x+d),y=h.node().getBBox();f=Math.max(f,y.width),S=Math.min(S,y.x),b.info(y.x,w,x+d),d===0&&(d=h.node().getBBox().height,b.info("Title height",d,x)),m.push(h)}let k=d*l.length;if(l.length>1){const u=(l.length-1)*d*.5;m.forEach((h,y)=>h.attr("y",x+y*d-u)),k=d*l.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",w-f/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",f+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},K=function(){},Q=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},V=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);Q(r),new A({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel(function(){return{}});const x=c.db.getRootDoc();P(x,r,void 0,!1,p,a,c);const l=B.padding,d=r.node().getBBox(),m=d.width+l*2,f=d.height+l*2,S=m*1.75;v(r,f,S,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+m+" "+f)},tt=e=>e?e.length*B.fontSizeFactor:1,P=(e,i,o,c,s,g,p)=>{const a=new A({compound:!0,multigraph:!0});let r,w=!0;for(r=0;r{const y=h.parentElement;let E=0,M=0;y&&(y.parentElement&&(E=y.parentElement.getBBox().width),M=parseInt(y.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let S=f.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),D(i,a.edge(n),a.edge(n).relation))}),S=f.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=S.width+2*B.padding,k.height=S.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:K,draw:V},lt={parser:R,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; diff --git a/_nuxt/stateDiagram-v2-9765461d.6d055cda.js b/_nuxt/stateDiagram-v2-9765461d.a26b877b.js similarity index 91% rename from _nuxt/stateDiagram-v2-9765461d.6d055cda.js rename to _nuxt/stateDiagram-v2-9765461d.a26b877b.js index 1e93279a57..cdfd7230bc 100644 --- a/_nuxt/stateDiagram-v2-9765461d.6d055cda.js +++ b/_nuxt/stateDiagram-v2-9765461d.a26b877b.js @@ -1 +1 @@ -import{p as Q,d as B,s as X,D as H,a as Z,S as j,b as F,c as I}from"./styles-47a825a5.0ddf9dd1.js";import{G as tt}from"./layout.e30182f8.js";import{l,c as g,i as x,z as et,j as ot,n as G}from"./mermaid.core.0bf3cbc4.js";import{r as st}from"./index-5219d011.a0e167f8.js";import"./createText-1f5f8f92.b8d15877.js";import"./_commonjsHelpers.725317a4.js";import"./entry.f8eaff67.js";import"./edges-2e77835f.9fcf4ce3.js";import"./svgDraw-2526cba0.cff159e4.js";import"./line.7016ab98.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const h="rect",C="rectWithTitle",nt="start",ct="end",it="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,ft="cluster-alt",bt=`${_}-${ft}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,z="fill:none",W="fill: #333",m="c",q="text",K="normal";let y={},E=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){l.trace("Extracting classes"),n.db.clear();try{return n.parser.parse(t),n.db.extract(n.db.getRootDocV2()),n.db.getClasses()}catch(e){return e}};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",c=N){const i=e!==null&&e.length>0?`${c}${e}`:"";return`${At}-${t}${i}-${n}`}const A=(t,n,e,c,i,r)=>{const o=e.id,u=$t(c[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=ct),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:G.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=G.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(l.info("Setting cluster for ",o,w(e)),s.type="group",s.dir=w(e),s.shape=e.type===Z?it:rt,s.classes=s.classes+" "+Dt+" "+(r?bt:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,E),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const a={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+E,domId:R(o,E,Y),type:s.type,padding:15},d={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,E,V),type:"group",padding:0};E++;const D=o+M;t.setNode(D,d),t.setNode(a.id,a),t.setNode(o,p),t.setParent(o,D),t.setParent(a.id,D);let S=o,f=a.id;e.note.position==="left of"&&(S=a.id,f=o),t.setEdge(S,f,{arrowhead:"none",arrowType:"",style:z,labelStyle:"",classes:pt,arrowheadStyle:W,labelpos:m,labelType:q,thickness:K})}else t.setNode(o,p)}n&&n.id!=="root"&&(l.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(l.trace("Adding nodes children "),xt(t,e,e.doc,c,i,!r))},xt=(t,n,e,c,i,r)=>{l.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,c,i,r);break;case H:A(t,n,o,c,i,r);break;case j:{A(t,n,o.state1,c,i,r),A(t,n,o.state2,c,i,r);const u={id:"edge"+E,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:z,labelStyle:"",label:G.sanitizeText(o.description,g()),arrowheadStyle:W,labelpos:m,labelType:q,thickness:K,classes:U};t.setEdge(o.state1.id,o.state2.id,u,E),E++}break}})},w=(t,n=I)=>{let e=n;if(t.doc)for(let c=0;c{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; +import{p as Q,d as B,s as X,D as H,a as Z,S as j,b as F,c as I}from"./styles-47a825a5.216575b9.js";import{G as tt}from"./layout.6ca81b77.js";import{l,c as g,i as x,z as et,j as ot,n as G}from"./mermaid.core.ebd445a5.js";import{r as st}from"./index-5219d011.b2f10b44.js";import"./createText-1f5f8f92.68559ab5.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./edges-2e77835f.697716b4.js";import"./svgDraw-2526cba0.2cced117.js";import"./line.56665913.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const h="rect",C="rectWithTitle",nt="start",ct="end",it="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,ft="cluster-alt",bt=`${_}-${ft}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,z="fill:none",W="fill: #333",m="c",q="text",K="normal";let y={},E=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){l.trace("Extracting classes"),n.db.clear();try{return n.parser.parse(t),n.db.extract(n.db.getRootDocV2()),n.db.getClasses()}catch(e){return e}};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",c=N){const i=e!==null&&e.length>0?`${c}${e}`:"";return`${At}-${t}${i}-${n}`}const A=(t,n,e,c,i,r)=>{const o=e.id,u=$t(c[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=ct),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:G.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=G.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(l.info("Setting cluster for ",o,w(e)),s.type="group",s.dir=w(e),s.shape=e.type===Z?it:rt,s.classes=s.classes+" "+Dt+" "+(r?bt:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,E),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const a={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+E,domId:R(o,E,Y),type:s.type,padding:15},d={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,E,V),type:"group",padding:0};E++;const D=o+M;t.setNode(D,d),t.setNode(a.id,a),t.setNode(o,p),t.setParent(o,D),t.setParent(a.id,D);let S=o,f=a.id;e.note.position==="left of"&&(S=a.id,f=o),t.setEdge(S,f,{arrowhead:"none",arrowType:"",style:z,labelStyle:"",classes:pt,arrowheadStyle:W,labelpos:m,labelType:q,thickness:K})}else t.setNode(o,p)}n&&n.id!=="root"&&(l.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(l.trace("Adding nodes children "),xt(t,e,e.doc,c,i,!r))},xt=(t,n,e,c,i,r)=>{l.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,c,i,r);break;case H:A(t,n,o,c,i,r);break;case j:{A(t,n,o.state1,c,i,r),A(t,n,o.state2,c,i,r);const u={id:"edge"+E,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:z,labelStyle:"",label:G.sanitizeText(o.description,g()),arrowheadStyle:W,labelpos:m,labelType:q,thickness:K,classes:U};t.setEdge(o.state1.id,o.state2.id,u,E),E++}break}})},w=(t,n=I)=>{let e=n;if(t.doc)for(let c=0;c{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; diff --git a/_nuxt/styles-16907e1b.8a3d979f.js b/_nuxt/styles-16907e1b.c4f33ec5.js similarity index 99% rename from _nuxt/styles-16907e1b.8a3d979f.js rename to _nuxt/styles-16907e1b.c4f33ec5.js index 017cfd28dd..4389106da0 100644 --- a/_nuxt/styles-16907e1b.8a3d979f.js +++ b/_nuxt/styles-16907e1b.c4f33ec5.js @@ -1,4 +1,4 @@ -import{s as Ke,g as Qe,a as je,b as Xe,c as I,x as He,y as We,e as qe,A as Je,l as Ze,n as ae,z as Oe,i as w}from"./mermaid.core.0bf3cbc4.js";var le=function(){var e=function(S,u,r,l){for(r=r||{},l=S.length;l--;r[S[l]]=u);return r},n=[1,3],c=[1,7],o=[1,8],h=[1,9],E=[1,10],d=[1,13],b=[1,12],D=[1,16,25],fe=[1,20],pe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,48],ge=[1,39],ke=[1,37],Fe=[1,38],me=[1,44],De=[1,45],_e=[1,40],be=[1,41],Be=[1,42],ye=[1,43],C=[1,49],g=[1,50],k=[1,51],m=[1,52],a=[16,25],G=[1,66],M=[1,67],U=[1,68],z=[1,69],Y=[1,70],q=[1,71],J=[1,72],Te=[1,82],O=[16,25,28,29,36,49,50,64,65,66,67,68,69,70,75,77],Z=[16,25,28,29,34,36,49,50,55,64,65,66,67,68,69,70,75,77,92,93,94,95],Se=[5,8,9,10,11,16,19,23,25],K=[29,92,93,94,95],R=[29,69,70,92,93,94,95],ve=[29,64,65,66,67,68,92,93,94,95],$=[1,96],ee=[16,25,49,50],Q=[16,25,36],te={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,classLabel:27,SQS:28,STR:29,SQE:30,className:31,alphaNumToken:32,classLiteralName:33,GENERICTYPE:34,relationStatement:35,LABEL:36,classStatement:37,methodStatement:38,annotationStatement:39,clickStatement:40,cssClassStatement:41,noteStatement:42,acc_title:43,acc_title_value:44,acc_descr:45,acc_descr_value:46,acc_descr_multiline_value:47,classIdentifier:48,STYLE_SEPARATOR:49,STRUCT_START:50,members:51,STRUCT_STOP:52,CLASS:53,ANNOTATION_START:54,ANNOTATION_END:55,MEMBER:56,SEPARATOR:57,relation:58,NOTE_FOR:59,noteText:60,NOTE:61,relationType:62,lineType:63,AGGREGATION:64,EXTENSION:65,COMPOSITION:66,DEPENDENCY:67,LOLLIPOP:68,LINE:69,DOTTED_LINE:70,CALLBACK:71,LINK:72,LINK_TARGET:73,CLICK:74,CALLBACK_NAME:75,CALLBACK_ARGS:76,HREF:77,CSSCLASS:78,commentToken:79,textToken:80,graphCodeTokens:81,textNoTagsToken:82,TAGSTART:83,TAGEND:84,"==":85,"--":86,PCT:87,DEFAULT:88,SPACE:89,MINUS:90,keywords:91,UNICODE_TEXT:92,NUM:93,ALPHA:94,BQUOTE_STR:95,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",28:"SQS",29:"STR",30:"SQE",34:"GENERICTYPE",36:"LABEL",43:"acc_title",44:"acc_title_value",45:"acc_descr",46:"acc_descr_value",47:"acc_descr_multiline_value",49:"STYLE_SEPARATOR",50:"STRUCT_START",52:"STRUCT_STOP",53:"CLASS",54:"ANNOTATION_START",55:"ANNOTATION_END",56:"MEMBER",57:"SEPARATOR",59:"NOTE_FOR",61:"NOTE",64:"AGGREGATION",65:"EXTENSION",66:"COMPOSITION",67:"DEPENDENCY",68:"LOLLIPOP",69:"LINE",70:"DOTTED_LINE",71:"CALLBACK",72:"LINK",73:"LINK_TARGET",74:"CLICK",75:"CALLBACK_NAME",76:"CALLBACK_ARGS",77:"HREF",78:"CSSCLASS",81:"graphCodeTokens",83:"TAGSTART",84:"TAGEND",85:"==",86:"--",87:"PCT",88:"DEFAULT",89:"SPACE",90:"MINUS",91:"keywords",92:"UNICODE_TEXT",93:"NUM",94:"ALPHA",95:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,3],[31,1],[31,1],[31,2],[31,2],[31,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[37,1],[37,3],[37,4],[37,6],[48,2],[48,3],[39,4],[51,1],[51,2],[38,1],[38,2],[38,1],[38,1],[35,3],[35,4],[35,4],[35,5],[42,3],[42,2],[58,3],[58,2],[58,2],[58,1],[62,1],[62,1],[62,1],[62,1],[62,1],[63,1],[63,1],[40,3],[40,4],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[41,3],[79,1],[79,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[82,1],[82,1],[82,1],[82,1],[32,1],[32,1],[32,1],[33,1],[60,1]],performAction:function(u,r,l,i,A,t,P){var s=t.length-1;switch(A){case 5:i.setDirection("TB");break;case 6:i.setDirection("BT");break;case 7:i.setDirection("RL");break;case 8:i.setDirection("LR");break;case 12:i.parseDirective("%%{","open_directive");break;case 13:i.parseDirective(t[s],"type_directive");break;case 14:t[s]=t[s].trim().replace(/'/g,'"'),i.parseDirective(t[s],"arg_directive");break;case 15:i.parseDirective("}%%","close_directive","class");break;case 20:this.$=t[s-1];break;case 21:case 22:this.$=t[s];break;case 23:this.$=t[s-1]+t[s];break;case 24:case 25:this.$=t[s-1]+"~"+t[s];break;case 26:i.addRelation(t[s]);break;case 27:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 36:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 37:case 38:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 40:i.setCssClass(t[s-2],t[s]);break;case 41:i.addMembers(t[s-3],t[s-1]);break;case 42:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 43:this.$=t[s],i.addClass(t[s]);break;case 44:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 45:i.addAnnotation(t[s],t[s-2]);break;case 46:this.$=[t[s]];break;case 47:t[s].push(t[s-1]),this.$=t[s];break;case 48:break;case 49:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 50:break;case 51:break;case 52:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 54:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 55:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 56:i.addNote(t[s],t[s-1]);break;case 57:i.addNote(t[s]);break;case 58:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 59:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 61:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 62:this.$=i.relationType.AGGREGATION;break;case 63:this.$=i.relationType.EXTENSION;break;case 64:this.$=i.relationType.COMPOSITION;break;case 65:this.$=i.relationType.DEPENDENCY;break;case 66:this.$=i.relationType.LOLLIPOP;break;case 67:this.$=i.lineType.LINE;break;case 68:this.$=i.lineType.DOTTED_LINE;break;case 69:case 75:this.$=t[s-2],i.setClickEvent(t[s-1],t[s]);break;case 70:case 76:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 71:case 79:this.$=t[s-2],i.setLink(t[s-1],t[s]);break;case 72:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 73:case 81:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 74:case 82:this.$=t[s-4],i.setLink(t[s-3],t[s-2],t[s]),i.setTooltip(t[s-3],t[s-1]);break;case 77:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1],t[s]);break;case 78:this.$=t[s-4],i.setClickEvent(t[s-3],t[s-2],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 83:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[2,9]},e(D,[2,5]),e(D,[2,6]),e(D,[2,7]),e(D,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:fe},e([17,22],[2,13]),{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:21,26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},{16:[1,53]},{18:54,21:[1,55]},{16:[2,15]},{25:[1,56]},{16:[1,57],25:[2,17]},e(a,[2,26],{36:[1,58]}),e(a,[2,28]),e(a,[2,29]),e(a,[2,30]),e(a,[2,31]),e(a,[2,32]),e(a,[2,33]),e(a,[2,34]),e(a,[2,35]),{44:[1,59]},{46:[1,60]},e(a,[2,38]),e(a,[2,48],{58:61,62:64,63:65,29:[1,62],36:[1,63],64:G,65:M,66:U,67:z,68:Y,69:q,70:J}),e(a,[2,39],{49:[1,73],50:[1,74]}),e(a,[2,50]),e(a,[2,51]),{32:75,92:C,93:g,94:k},{31:76,32:46,33:47,92:C,93:g,94:k,95:m},{31:77,32:46,33:47,92:C,93:g,94:k,95:m},{31:78,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,79]},{31:80,32:46,33:47,92:C,93:g,94:k,95:m},{29:Te,60:81},e(O,[2,21],{32:46,33:47,31:83,34:[1,84],92:C,93:g,94:k,95:m}),e(O,[2,22],{34:[1,85]}),{31:86,32:46,33:47,92:C,93:g,94:k,95:m},e(Z,[2,97]),e(Z,[2,98]),e(Z,[2,99]),e([16,25,28,29,34,36,49,50,64,65,66,67,68,69,70,75,77],[2,100]),e(Se,[2,10]),{15:87,22:fe},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:88,25:[2,18],26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},e(a,[2,27]),e(a,[2,36]),e(a,[2,37]),{29:[1,90],31:89,32:46,33:47,92:C,93:g,94:k,95:m},{58:91,62:64,63:65,64:G,65:M,66:U,67:z,68:Y,69:q,70:J},e(a,[2,49]),{63:92,69:q,70:J},e(K,[2,61],{62:93,64:G,65:M,66:U,67:z,68:Y}),e(R,[2,62]),e(R,[2,63]),e(R,[2,64]),e(R,[2,65]),e(R,[2,66]),e(ve,[2,67]),e(ve,[2,68]),{32:94,92:C,93:g,94:k},{51:95,56:$},{55:[1,97]},{29:[1,98]},{29:[1,99]},{75:[1,100],77:[1,101]},{32:102,92:C,93:g,94:k},{29:Te,60:103},e(a,[2,57]),e(a,[2,101]),e(O,[2,23]),e(O,[2,24]),e(O,[2,25]),e(ee,[2,43],{27:104,28:[1,105]}),{16:[1,106]},{25:[2,19]},e(Q,[2,52]),{31:107,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,109],31:108,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,60],{62:110,64:G,65:M,66:U,67:z,68:Y}),e(K,[2,59]),e(a,[2,40],{50:[1,111]}),{52:[1,112]},{51:113,52:[2,46],56:$},{31:114,32:46,33:47,92:C,93:g,94:k,95:m},e(a,[2,69],{29:[1,115]}),e(a,[2,71],{29:[1,117],73:[1,116]}),e(a,[2,75],{29:[1,118],76:[1,119]}),e(a,[2,79],{29:[1,121],73:[1,120]}),e(a,[2,83]),e(a,[2,56]),e(ee,[2,44]),{29:[1,122]},e(Se,[2,11]),e(Q,[2,54]),e(Q,[2,53]),{31:123,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,58]),{51:124,56:$},e(a,[2,41]),{52:[2,47]},e(a,[2,45]),e(a,[2,70]),e(a,[2,72]),e(a,[2,73],{73:[1,125]}),e(a,[2,76]),e(a,[2,77],{29:[1,126]}),e(a,[2,80]),e(a,[2,81],{73:[1,127]}),{30:[1,128]},e(Q,[2,55]),{52:[1,129]},e(a,[2,74]),e(a,[2,78]),e(a,[2,82]),e(ee,[2,20]),e(a,[2,42])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],55:[2,14],56:[2,16],88:[2,19],113:[2,47]},parseError:function(u,r){if(r.recoverable)this.trace(u);else{var l=new Error(u);throw l.hash=r,l}},parse:function(u){var r=this,l=[0],i=[],A=[null],t=[],P=this.table,s="",j=0,Ne=0,Me=2,Le=1,Ue=t.slice.call(arguments,1),p=Object.create(this.lexer),v={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(v.yy[ie]=this.yy[ie]);p.setInput(u,v.yy),v.yy.lexer=p,v.yy.parser=this,typeof p.yylloc>"u"&&(p.yylloc={});var ue=p.yylloc;t.push(ue);var ze=p.options&&p.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ye(){var y;return y=i.pop()||p.lex()||Le,typeof y!="number"&&(y instanceof Array&&(i=y,y=i.pop()),y=r.symbols_[y]||y),y}for(var F,N,_,ne,L={},X,B,Ie,H;;){if(N=l[l.length-1],this.defaultActions[N]?_=this.defaultActions[N]:((F===null||typeof F>"u")&&(F=Ye()),_=P[N]&&P[N][F]),typeof _>"u"||!_.length||!_[0]){var re="";H=[];for(X in P[N])this.terminals_[X]&&X>Me&&H.push("'"+this.terminals_[X]+"'");p.showPosition?re="Parse error on line "+(j+1)+`: +import{s as Ke,g as Qe,a as je,b as Xe,c as I,x as He,y as We,e as qe,A as Je,l as Ze,n as ae,z as Oe,i as w}from"./mermaid.core.ebd445a5.js";var le=function(){var e=function(S,u,r,l){for(r=r||{},l=S.length;l--;r[S[l]]=u);return r},n=[1,3],c=[1,7],o=[1,8],h=[1,9],E=[1,10],d=[1,13],b=[1,12],D=[1,16,25],fe=[1,20],pe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,48],ge=[1,39],ke=[1,37],Fe=[1,38],me=[1,44],De=[1,45],_e=[1,40],be=[1,41],Be=[1,42],ye=[1,43],C=[1,49],g=[1,50],k=[1,51],m=[1,52],a=[16,25],G=[1,66],M=[1,67],U=[1,68],z=[1,69],Y=[1,70],q=[1,71],J=[1,72],Te=[1,82],O=[16,25,28,29,36,49,50,64,65,66,67,68,69,70,75,77],Z=[16,25,28,29,34,36,49,50,55,64,65,66,67,68,69,70,75,77,92,93,94,95],Se=[5,8,9,10,11,16,19,23,25],K=[29,92,93,94,95],R=[29,69,70,92,93,94,95],ve=[29,64,65,66,67,68,92,93,94,95],$=[1,96],ee=[16,25,49,50],Q=[16,25,36],te={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,classLabel:27,SQS:28,STR:29,SQE:30,className:31,alphaNumToken:32,classLiteralName:33,GENERICTYPE:34,relationStatement:35,LABEL:36,classStatement:37,methodStatement:38,annotationStatement:39,clickStatement:40,cssClassStatement:41,noteStatement:42,acc_title:43,acc_title_value:44,acc_descr:45,acc_descr_value:46,acc_descr_multiline_value:47,classIdentifier:48,STYLE_SEPARATOR:49,STRUCT_START:50,members:51,STRUCT_STOP:52,CLASS:53,ANNOTATION_START:54,ANNOTATION_END:55,MEMBER:56,SEPARATOR:57,relation:58,NOTE_FOR:59,noteText:60,NOTE:61,relationType:62,lineType:63,AGGREGATION:64,EXTENSION:65,COMPOSITION:66,DEPENDENCY:67,LOLLIPOP:68,LINE:69,DOTTED_LINE:70,CALLBACK:71,LINK:72,LINK_TARGET:73,CLICK:74,CALLBACK_NAME:75,CALLBACK_ARGS:76,HREF:77,CSSCLASS:78,commentToken:79,textToken:80,graphCodeTokens:81,textNoTagsToken:82,TAGSTART:83,TAGEND:84,"==":85,"--":86,PCT:87,DEFAULT:88,SPACE:89,MINUS:90,keywords:91,UNICODE_TEXT:92,NUM:93,ALPHA:94,BQUOTE_STR:95,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",28:"SQS",29:"STR",30:"SQE",34:"GENERICTYPE",36:"LABEL",43:"acc_title",44:"acc_title_value",45:"acc_descr",46:"acc_descr_value",47:"acc_descr_multiline_value",49:"STYLE_SEPARATOR",50:"STRUCT_START",52:"STRUCT_STOP",53:"CLASS",54:"ANNOTATION_START",55:"ANNOTATION_END",56:"MEMBER",57:"SEPARATOR",59:"NOTE_FOR",61:"NOTE",64:"AGGREGATION",65:"EXTENSION",66:"COMPOSITION",67:"DEPENDENCY",68:"LOLLIPOP",69:"LINE",70:"DOTTED_LINE",71:"CALLBACK",72:"LINK",73:"LINK_TARGET",74:"CLICK",75:"CALLBACK_NAME",76:"CALLBACK_ARGS",77:"HREF",78:"CSSCLASS",81:"graphCodeTokens",83:"TAGSTART",84:"TAGEND",85:"==",86:"--",87:"PCT",88:"DEFAULT",89:"SPACE",90:"MINUS",91:"keywords",92:"UNICODE_TEXT",93:"NUM",94:"ALPHA",95:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,3],[31,1],[31,1],[31,2],[31,2],[31,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[37,1],[37,3],[37,4],[37,6],[48,2],[48,3],[39,4],[51,1],[51,2],[38,1],[38,2],[38,1],[38,1],[35,3],[35,4],[35,4],[35,5],[42,3],[42,2],[58,3],[58,2],[58,2],[58,1],[62,1],[62,1],[62,1],[62,1],[62,1],[63,1],[63,1],[40,3],[40,4],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[41,3],[79,1],[79,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[82,1],[82,1],[82,1],[82,1],[32,1],[32,1],[32,1],[33,1],[60,1]],performAction:function(u,r,l,i,A,t,P){var s=t.length-1;switch(A){case 5:i.setDirection("TB");break;case 6:i.setDirection("BT");break;case 7:i.setDirection("RL");break;case 8:i.setDirection("LR");break;case 12:i.parseDirective("%%{","open_directive");break;case 13:i.parseDirective(t[s],"type_directive");break;case 14:t[s]=t[s].trim().replace(/'/g,'"'),i.parseDirective(t[s],"arg_directive");break;case 15:i.parseDirective("}%%","close_directive","class");break;case 20:this.$=t[s-1];break;case 21:case 22:this.$=t[s];break;case 23:this.$=t[s-1]+t[s];break;case 24:case 25:this.$=t[s-1]+"~"+t[s];break;case 26:i.addRelation(t[s]);break;case 27:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 36:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 37:case 38:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 40:i.setCssClass(t[s-2],t[s]);break;case 41:i.addMembers(t[s-3],t[s-1]);break;case 42:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 43:this.$=t[s],i.addClass(t[s]);break;case 44:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 45:i.addAnnotation(t[s],t[s-2]);break;case 46:this.$=[t[s]];break;case 47:t[s].push(t[s-1]),this.$=t[s];break;case 48:break;case 49:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 50:break;case 51:break;case 52:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 54:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 55:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 56:i.addNote(t[s],t[s-1]);break;case 57:i.addNote(t[s]);break;case 58:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 59:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 61:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 62:this.$=i.relationType.AGGREGATION;break;case 63:this.$=i.relationType.EXTENSION;break;case 64:this.$=i.relationType.COMPOSITION;break;case 65:this.$=i.relationType.DEPENDENCY;break;case 66:this.$=i.relationType.LOLLIPOP;break;case 67:this.$=i.lineType.LINE;break;case 68:this.$=i.lineType.DOTTED_LINE;break;case 69:case 75:this.$=t[s-2],i.setClickEvent(t[s-1],t[s]);break;case 70:case 76:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 71:case 79:this.$=t[s-2],i.setLink(t[s-1],t[s]);break;case 72:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 73:case 81:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 74:case 82:this.$=t[s-4],i.setLink(t[s-3],t[s-2],t[s]),i.setTooltip(t[s-3],t[s-1]);break;case 77:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1],t[s]);break;case 78:this.$=t[s-4],i.setClickEvent(t[s-3],t[s-2],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 83:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[2,9]},e(D,[2,5]),e(D,[2,6]),e(D,[2,7]),e(D,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:fe},e([17,22],[2,13]),{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:21,26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},{16:[1,53]},{18:54,21:[1,55]},{16:[2,15]},{25:[1,56]},{16:[1,57],25:[2,17]},e(a,[2,26],{36:[1,58]}),e(a,[2,28]),e(a,[2,29]),e(a,[2,30]),e(a,[2,31]),e(a,[2,32]),e(a,[2,33]),e(a,[2,34]),e(a,[2,35]),{44:[1,59]},{46:[1,60]},e(a,[2,38]),e(a,[2,48],{58:61,62:64,63:65,29:[1,62],36:[1,63],64:G,65:M,66:U,67:z,68:Y,69:q,70:J}),e(a,[2,39],{49:[1,73],50:[1,74]}),e(a,[2,50]),e(a,[2,51]),{32:75,92:C,93:g,94:k},{31:76,32:46,33:47,92:C,93:g,94:k,95:m},{31:77,32:46,33:47,92:C,93:g,94:k,95:m},{31:78,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,79]},{31:80,32:46,33:47,92:C,93:g,94:k,95:m},{29:Te,60:81},e(O,[2,21],{32:46,33:47,31:83,34:[1,84],92:C,93:g,94:k,95:m}),e(O,[2,22],{34:[1,85]}),{31:86,32:46,33:47,92:C,93:g,94:k,95:m},e(Z,[2,97]),e(Z,[2,98]),e(Z,[2,99]),e([16,25,28,29,34,36,49,50,64,65,66,67,68,69,70,75,77],[2,100]),e(Se,[2,10]),{15:87,22:fe},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:88,25:[2,18],26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},e(a,[2,27]),e(a,[2,36]),e(a,[2,37]),{29:[1,90],31:89,32:46,33:47,92:C,93:g,94:k,95:m},{58:91,62:64,63:65,64:G,65:M,66:U,67:z,68:Y,69:q,70:J},e(a,[2,49]),{63:92,69:q,70:J},e(K,[2,61],{62:93,64:G,65:M,66:U,67:z,68:Y}),e(R,[2,62]),e(R,[2,63]),e(R,[2,64]),e(R,[2,65]),e(R,[2,66]),e(ve,[2,67]),e(ve,[2,68]),{32:94,92:C,93:g,94:k},{51:95,56:$},{55:[1,97]},{29:[1,98]},{29:[1,99]},{75:[1,100],77:[1,101]},{32:102,92:C,93:g,94:k},{29:Te,60:103},e(a,[2,57]),e(a,[2,101]),e(O,[2,23]),e(O,[2,24]),e(O,[2,25]),e(ee,[2,43],{27:104,28:[1,105]}),{16:[1,106]},{25:[2,19]},e(Q,[2,52]),{31:107,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,109],31:108,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,60],{62:110,64:G,65:M,66:U,67:z,68:Y}),e(K,[2,59]),e(a,[2,40],{50:[1,111]}),{52:[1,112]},{51:113,52:[2,46],56:$},{31:114,32:46,33:47,92:C,93:g,94:k,95:m},e(a,[2,69],{29:[1,115]}),e(a,[2,71],{29:[1,117],73:[1,116]}),e(a,[2,75],{29:[1,118],76:[1,119]}),e(a,[2,79],{29:[1,121],73:[1,120]}),e(a,[2,83]),e(a,[2,56]),e(ee,[2,44]),{29:[1,122]},e(Se,[2,11]),e(Q,[2,54]),e(Q,[2,53]),{31:123,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,58]),{51:124,56:$},e(a,[2,41]),{52:[2,47]},e(a,[2,45]),e(a,[2,70]),e(a,[2,72]),e(a,[2,73],{73:[1,125]}),e(a,[2,76]),e(a,[2,77],{29:[1,126]}),e(a,[2,80]),e(a,[2,81],{73:[1,127]}),{30:[1,128]},e(Q,[2,55]),{52:[1,129]},e(a,[2,74]),e(a,[2,78]),e(a,[2,82]),e(ee,[2,20]),e(a,[2,42])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],55:[2,14],56:[2,16],88:[2,19],113:[2,47]},parseError:function(u,r){if(r.recoverable)this.trace(u);else{var l=new Error(u);throw l.hash=r,l}},parse:function(u){var r=this,l=[0],i=[],A=[null],t=[],P=this.table,s="",j=0,Ne=0,Me=2,Le=1,Ue=t.slice.call(arguments,1),p=Object.create(this.lexer),v={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(v.yy[ie]=this.yy[ie]);p.setInput(u,v.yy),v.yy.lexer=p,v.yy.parser=this,typeof p.yylloc>"u"&&(p.yylloc={});var ue=p.yylloc;t.push(ue);var ze=p.options&&p.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ye(){var y;return y=i.pop()||p.lex()||Le,typeof y!="number"&&(y instanceof Array&&(i=y,y=i.pop()),y=r.symbols_[y]||y),y}for(var F,N,_,ne,L={},X,B,Ie,H;;){if(N=l[l.length-1],this.defaultActions[N]?_=this.defaultActions[N]:((F===null||typeof F>"u")&&(F=Ye()),_=P[N]&&P[N][F]),typeof _>"u"||!_.length||!_[0]){var re="";H=[];for(X in P[N])this.terminals_[X]&&X>Me&&H.push("'"+this.terminals_[X]+"'");p.showPosition?re="Parse error on line "+(j+1)+`: `+p.showPosition()+` Expecting `+H.join(", ")+", got '"+(this.terminals_[F]||F)+"'":re="Parse error on line "+(j+1)+": Unexpected "+(F==Le?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(re,{text:p.match,token:this.terminals_[F]||F,line:p.yylineno,loc:ue,expected:H})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+F);switch(_[0]){case 1:l.push(F),A.push(p.yytext),t.push(p.yylloc),l.push(_[1]),F=null,Ne=p.yyleng,s=p.yytext,j=p.yylineno,ue=p.yylloc;break;case 2:if(B=this.productions_[_[1]][1],L.$=A[A.length-B],L._$={first_line:t[t.length-(B||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(B||1)].first_column,last_column:t[t.length-1].last_column},ze&&(L._$.range=[t[t.length-(B||1)].range[0],t[t.length-1].range[1]]),ne=this.performAction.apply(L,[s,Ne,j,v.yy,_[1],A,t].concat(Ue)),typeof ne<"u")return ne;B&&(l=l.slice(0,-1*B*2),A=A.slice(0,-1*B),t=t.slice(0,-1*B)),l.push(this.productions_[_[1]][0]),A.push(L.$),t.push(L._$),Ie=P[l[l.length-2]][l[l.length-1]],l.push(Ie);break;case 3:return!0}}return!0}},Ge=function(){var S={EOF:1,parseError:function(r,l){if(this.yy.parser)this.yy.parser.parseError(r,l);else throw new Error(r)},setInput:function(u,r){return this.yy=r||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var r=u.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},unput:function(u){var r=u.length,l=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===i.length?this.yylloc.first_column:0)+i[i.length-l.length].length-l[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var u=this.pastInput(),r=new Array(u.length+1).join("-");return u+this.upcomingInput()+` diff --git a/_nuxt/styles-26373982.806655a2.js b/_nuxt/styles-26373982.04d87b4b.js similarity index 97% rename from _nuxt/styles-26373982.806655a2.js rename to _nuxt/styles-26373982.04d87b4b.js index e98ea5744d..b188116209 100644 --- a/_nuxt/styles-26373982.806655a2.js +++ b/_nuxt/styles-26373982.04d87b4b.js @@ -1,4 +1,4 @@ -import{i as V,G as q}from"./layout.e30182f8.js";import{Y as M,q as N,l as u,r as R,c as C,n as I,t as $,p as E,i as _,z as F,u as U}from"./mermaid.core.0bf3cbc4.js";import{f as H}from"./flowDb-52e24d17.92450f30.js";import{r as W}from"./index-5219d011.a0e167f8.js";import{s as X}from"./selectAll.0071fc9b.js";function se(e,l){return!!e.children(l).length}function ne(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var Y=/:/g;function L(e){return e?String(e).replace(Y,"\\:"):""}function J(e,l){l&&e.attr("style",l)}function ie(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ce(e,l){var c=l.graph();if(V(c)){var a=c.transition;if(M(a))return a(e)}return e}function K(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}J(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const G={},Q=function(e){const l=Object.keys(e);for(const c of l)G[c]=e[c]},z=function(e,l,c,a,i,d){const w=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const r=e[p];let k="default";r.classes.length>0&&(k=r.classes.join(" ")),k=k+" flowchart-label";const h=N(r.styles);let t=r.text!==void 0?r.text:r.id,n;if(u.info("vertex",r,r.labelType),r.labelType==="markdown")u.info("vertex",r,r.labelType);else if(R(C().flowchart.htmlLabels)){const v={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,g=>``)};n=K(w,v).node(),n.parentNode.removeChild(n)}else{const v=i.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",h.labelStyle.replace("color:","fill:"));const g=t.split(I.lineBreakRegex);for(const T of g){const m=i.createElementNS("http://www.w3.org/2000/svg","tspan");m.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),m.setAttribute("dy","1em"),m.setAttribute("x","1"),m.textContent=T,v.appendChild(m)}n=v}let f=0,o="";switch(r.type){case"round":f=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}l.setNode(r.id,{labelStyle:h.labelStyle,shape:o,labelText:t,labelType:r.labelType,rx:f,ry:f,class:k,style:h.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:C().flowchart.padding}),u.info("setNode",{labelStyle:h.labelStyle,labelType:r.labelType,shape:o,labelText:t,rx:f,ry:f,class:k,style:h.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:C().flowchart.padding})})},P=function(e,l,c){u.info("abc78 edges = ",e);let a=0,i={},d,w;if(e.defaultStyle!==void 0){const s=N(e.defaultStyle);d=s.style,w=s.labelStyle}e.forEach(function(s){a++;var p="L-"+s.start+"-"+s.end;i[p]===void 0?(i[p]=0,u.info("abc78 new entry",p,i[p])):(i[p]++,u.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];u.info("abc78 new link id to be used is",p,r,i[p]);var k="LS-"+s.start,h="LE-"+s.end;const t={style:"",labelStyle:""};switch(t.minlen=s.length||1,s.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",s.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let n="",f="";switch(s.stroke){case"normal":n="fill:none;",d!==void 0&&(n=d),w!==void 0&&(f=w),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(s.style!==void 0){const o=N(s.style);n=o.style,f=o.labelStyle}t.style=t.style+=n,t.labelStyle=t.labelStyle+=f,s.interpolate!==void 0?t.curve=$(s.interpolate,E):e.defaultInterpolate!==void 0?t.curve=$(e.defaultInterpolate,E):t.curve=$(G.curve,E),s.text===void 0?s.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=s.labelType,t.label=s.text.replace(I.lineBreakRegex,` +import{i as V,G as q}from"./layout.6ca81b77.js";import{Y as M,q as N,l as u,r as R,c as C,n as I,t as $,p as E,i as _,z as F,u as U}from"./mermaid.core.ebd445a5.js";import{f as H}from"./flowDb-52e24d17.947b4742.js";import{r as W}from"./index-5219d011.b2f10b44.js";import{s as X}from"./selectAll.065b1a3b.js";function se(e,l){return!!e.children(l).length}function ne(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var Y=/:/g;function L(e){return e?String(e).replace(Y,"\\:"):""}function J(e,l){l&&e.attr("style",l)}function ie(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ce(e,l){var c=l.graph();if(V(c)){var a=c.transition;if(M(a))return a(e)}return e}function K(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}J(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const G={},Q=function(e){const l=Object.keys(e);for(const c of l)G[c]=e[c]},z=function(e,l,c,a,i,d){const w=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const r=e[p];let k="default";r.classes.length>0&&(k=r.classes.join(" ")),k=k+" flowchart-label";const h=N(r.styles);let t=r.text!==void 0?r.text:r.id,n;if(u.info("vertex",r,r.labelType),r.labelType==="markdown")u.info("vertex",r,r.labelType);else if(R(C().flowchart.htmlLabels)){const v={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,g=>``)};n=K(w,v).node(),n.parentNode.removeChild(n)}else{const v=i.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",h.labelStyle.replace("color:","fill:"));const g=t.split(I.lineBreakRegex);for(const T of g){const m=i.createElementNS("http://www.w3.org/2000/svg","tspan");m.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),m.setAttribute("dy","1em"),m.setAttribute("x","1"),m.textContent=T,v.appendChild(m)}n=v}let f=0,o="";switch(r.type){case"round":f=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}l.setNode(r.id,{labelStyle:h.labelStyle,shape:o,labelText:t,labelType:r.labelType,rx:f,ry:f,class:k,style:h.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:C().flowchart.padding}),u.info("setNode",{labelStyle:h.labelStyle,labelType:r.labelType,shape:o,labelText:t,rx:f,ry:f,class:k,style:h.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:C().flowchart.padding})})},P=function(e,l,c){u.info("abc78 edges = ",e);let a=0,i={},d,w;if(e.defaultStyle!==void 0){const s=N(e.defaultStyle);d=s.style,w=s.labelStyle}e.forEach(function(s){a++;var p="L-"+s.start+"-"+s.end;i[p]===void 0?(i[p]=0,u.info("abc78 new entry",p,i[p])):(i[p]++,u.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];u.info("abc78 new link id to be used is",p,r,i[p]);var k="LS-"+s.start,h="LE-"+s.end;const t={style:"",labelStyle:""};switch(t.minlen=s.length||1,s.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",s.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let n="",f="";switch(s.stroke){case"normal":n="fill:none;",d!==void 0&&(n=d),w!==void 0&&(f=w),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(s.style!==void 0){const o=N(s.style);n=o.style,f=o.labelStyle}t.style=t.style+=n,t.labelStyle=t.labelStyle+=f,s.interpolate!==void 0?t.curve=$(s.interpolate,E):e.defaultInterpolate!==void 0?t.curve=$(e.defaultInterpolate,E):t.curve=$(G.curve,E),s.text===void 0?s.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=s.labelType,t.label=s.text.replace(I.lineBreakRegex,` `),s.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=r,t.classes="flowchart-link "+k+" "+h,l.setEdge(s.start,s.end,t,a)})},Z=function(e,l){u.info("Extracting classes"),l.db.clear();try{return l.parse(e),l.db.getClasses()}catch{return}},j=function(e,l,c,a){u.info("Drawing flowchart"),a.db.clear(),H.setGen("gen-2"),a.parser.parse(e);let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:w}=C(),s=w.nodeSpacing||50,p=w.rankSpacing||50;let r;d==="sandbox"&&(r=_("#i"+l));const k=d==="sandbox"?_(r.nodes()[0].contentDocument.body):_("body"),h=d==="sandbox"?r.nodes()[0].contentDocument:document,t=new q({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:s,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let n;const f=a.db.getSubGraphs();u.info("Subgraphs - ",f);for(let b=f.length-1;b>=0;b--)n=f[b],u.info("Subgraph - ",n),a.db.addVertex(n.id,{text:n.title,type:n.labelType},"group",void 0,n.classes,n.dir);const o=a.db.getVertices(),v=a.db.getEdges();u.info("Edges",v);let g=0;for(g=f.length-1;g>=0;g--){n=f[g],X("cluster").append("text");for(let b=0;b`.label { font-family: ${e.fontFamily}; color: ${e.nodeTextColor||e.textColor}; diff --git a/_nuxt/styles-47a825a5.0ddf9dd1.js b/_nuxt/styles-47a825a5.216575b9.js similarity index 99% rename from _nuxt/styles-47a825a5.0ddf9dd1.js rename to _nuxt/styles-47a825a5.216575b9.js index 54da7b6ccf..c27519dca9 100644 --- a/_nuxt/styles-47a825a5.0ddf9dd1.js +++ b/_nuxt/styles-47a825a5.216575b9.js @@ -1,4 +1,4 @@ -import{c as Y,g as Ht,s as Xt,a as Kt,b as Wt,x as Jt,y as qt,e as Qt,l as v,n as ht,A as Zt,aB as te}from"./mermaid.core.0bf3cbc4.js";var mt=function(){var t=function(D,r,a,i){for(a=a||{},i=D.length;i--;a[D[i]]=r);return a},s=[1,2],n=[1,3],h=[1,5],u=[1,7],f=[2,5],p=[1,15],x=[1,17],d=[1,21],k=[1,22],T=[1,23],G=[1,24],R=[1,37],j=[1,25],U=[1,26],z=[1,27],M=[1,28],H=[1,29],X=[1,32],K=[1,33],W=[1,34],J=[1,35],q=[1,36],Q=[1,39],Z=[1,40],tt=[1,41],et=[1,42],w=[1,38],Ct=[1,45],o=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],st=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],ut=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],At=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],dt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(r,a,i,l,y,e,B){var c=e.length-1;switch(y){case 4:return l.setRootDoc(e[c]),e[c];case 5:this.$=[];break;case 6:e[c]!="nl"&&(e[c-1].push(e[c]),this.$=e[c-1]);break;case 7:case 8:this.$=e[c];break;case 9:this.$="nl";break;case 12:this.$=e[c];break;case 13:const $=e[c-1];$.description=l.trimColon(e[c]),this.$=$;break;case 14:this.$={stmt:"relation",state1:e[c-2],state2:e[c]};break;case 15:const pt=l.trimColon(e[c]);this.$={stmt:"relation",state1:e[c-3],state2:e[c-1],description:pt};break;case 19:this.$={stmt:"state",id:e[c-3],type:"default",description:"",doc:e[c-1]};break;case 20:var C=e[c],O=e[c-2].trim();if(e[c].match(":")){var it=e[c].split(":");C=it[0],O=[O,it[1]]}this.$={stmt:"state",id:C,type:"default",description:O};break;case 21:this.$={stmt:"state",id:e[c-3],type:"default",description:e[c-5],doc:e[c-1]};break;case 22:this.$={stmt:"state",id:e[c],type:"fork"};break;case 23:this.$={stmt:"state",id:e[c],type:"join"};break;case 24:this.$={stmt:"state",id:e[c],type:"choice"};break;case 25:this.$={stmt:"state",id:l.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:e[c-1].trim(),note:{position:e[c-2].trim(),text:e[c].trim()}};break;case 30:this.$=e[c].trim(),l.setAccTitle(this.$);break;case 31:case 32:this.$=e[c].trim(),l.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:e[c-1].trim(),classes:e[c].trim()};break;case 35:this.$={stmt:"applyClass",id:e[c-1].trim(),styleClass:e[c].trim()};break;case 38:l.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:l.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:l.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:l.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:e[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 50:l.parseDirective("%%{","open_directive");break;case 51:l.parseDirective(e[c],"type_directive");break;case 52:e[c]=e[c].trim().replace(/'/g,'"'),l.parseDirective(e[c],"arg_directive");break;case 53:l.parseDirective("}%%","close_directive","state");break}},table:[{3:1,4:s,5:n,6:4,7:h,45:6,60:u},{1:[3]},{3:8,4:s,5:n,6:4,7:h,45:6,60:u},{3:9,4:s,5:n,6:4,7:h,45:6,60:u},{3:10,4:s,5:n,6:4,7:h,45:6,60:u},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],f,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},{47:43,48:[1,44],63:Ct},t([48,63],[2,51]),t(o,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,8]),t(o,[2,9]),t(o,[2,10]),t(o,[2,11]),t(o,[2,12],{14:[1,47],15:[1,48]}),t(o,[2,16]),{18:[1,49]},t(o,[2,18],{20:[1,50]}),{23:[1,51]},t(o,[2,22]),t(o,[2,23]),t(o,[2,24]),t(o,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(o,[2,28]),t(o,[2,29]),{34:[1,56]},{36:[1,57]},t(o,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(st,[2,44],{57:[1,61]}),t(st,[2,45],{57:[1,62]}),t(o,[2,38]),t(o,[2,39]),t(o,[2,40]),t(o,[2,41]),t(ut,[2,36]),{49:63,62:[1,64]},t(ut,[2,53]),t(o,[2,7]),t(o,[2,13]),{13:65,24:R,56:w},t(o,[2,17]),t(At,f,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(o,[2,30]),t(o,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:Ct},{63:[2,52]},t(o,[2,14],{14:[1,76]}),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,77],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(o,[2,33]),t(o,[2,34]),t(o,[2,35]),t(st,[2,46]),t(st,[2,47]),t(ut,[2,37]),t(o,[2,15]),t(o,[2,19]),t(At,f,{8:81}),t(o,[2,26]),t(o,[2,27]),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,82],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=a,i}},parse:function(r){var a=this,i=[0],l=[],y=[null],e=[],B=this.table,c="",C=0,O=0,it=2,$=1,pt=e.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(A.yy[yt]=this.yy[yt]);S.setInput(r,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var St=S.yylloc;e.push(St);var zt=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var E;return E=l.pop()||S.lex()||$,typeof E!="number"&&(E instanceof Array&&(l=E,E=l.pop()),E=a.symbols_[E]||E),E}for(var _,L,m,gt,N={},rt,b,Lt,nt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=Mt()),m=B[L]&&B[L][_]),typeof m>"u"||!m.length||!m[0]){var _t="";nt=[];for(rt in B[L])this.terminals_[rt]&&rt>it&&nt.push("'"+this.terminals_[rt]+"'");S.showPosition?_t="Parse error on line "+(C+1)+`: +import{c as Y,g as Ht,s as Xt,a as Kt,b as Wt,x as Jt,y as qt,e as Qt,l as v,n as ht,A as Zt,aB as te}from"./mermaid.core.ebd445a5.js";var mt=function(){var t=function(D,r,a,i){for(a=a||{},i=D.length;i--;a[D[i]]=r);return a},s=[1,2],n=[1,3],h=[1,5],u=[1,7],f=[2,5],p=[1,15],x=[1,17],d=[1,21],k=[1,22],T=[1,23],G=[1,24],R=[1,37],j=[1,25],U=[1,26],z=[1,27],M=[1,28],H=[1,29],X=[1,32],K=[1,33],W=[1,34],J=[1,35],q=[1,36],Q=[1,39],Z=[1,40],tt=[1,41],et=[1,42],w=[1,38],Ct=[1,45],o=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],st=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],ut=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],At=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],dt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(r,a,i,l,y,e,B){var c=e.length-1;switch(y){case 4:return l.setRootDoc(e[c]),e[c];case 5:this.$=[];break;case 6:e[c]!="nl"&&(e[c-1].push(e[c]),this.$=e[c-1]);break;case 7:case 8:this.$=e[c];break;case 9:this.$="nl";break;case 12:this.$=e[c];break;case 13:const $=e[c-1];$.description=l.trimColon(e[c]),this.$=$;break;case 14:this.$={stmt:"relation",state1:e[c-2],state2:e[c]};break;case 15:const pt=l.trimColon(e[c]);this.$={stmt:"relation",state1:e[c-3],state2:e[c-1],description:pt};break;case 19:this.$={stmt:"state",id:e[c-3],type:"default",description:"",doc:e[c-1]};break;case 20:var C=e[c],O=e[c-2].trim();if(e[c].match(":")){var it=e[c].split(":");C=it[0],O=[O,it[1]]}this.$={stmt:"state",id:C,type:"default",description:O};break;case 21:this.$={stmt:"state",id:e[c-3],type:"default",description:e[c-5],doc:e[c-1]};break;case 22:this.$={stmt:"state",id:e[c],type:"fork"};break;case 23:this.$={stmt:"state",id:e[c],type:"join"};break;case 24:this.$={stmt:"state",id:e[c],type:"choice"};break;case 25:this.$={stmt:"state",id:l.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:e[c-1].trim(),note:{position:e[c-2].trim(),text:e[c].trim()}};break;case 30:this.$=e[c].trim(),l.setAccTitle(this.$);break;case 31:case 32:this.$=e[c].trim(),l.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:e[c-1].trim(),classes:e[c].trim()};break;case 35:this.$={stmt:"applyClass",id:e[c-1].trim(),styleClass:e[c].trim()};break;case 38:l.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:l.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:l.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:l.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:e[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 50:l.parseDirective("%%{","open_directive");break;case 51:l.parseDirective(e[c],"type_directive");break;case 52:e[c]=e[c].trim().replace(/'/g,'"'),l.parseDirective(e[c],"arg_directive");break;case 53:l.parseDirective("}%%","close_directive","state");break}},table:[{3:1,4:s,5:n,6:4,7:h,45:6,60:u},{1:[3]},{3:8,4:s,5:n,6:4,7:h,45:6,60:u},{3:9,4:s,5:n,6:4,7:h,45:6,60:u},{3:10,4:s,5:n,6:4,7:h,45:6,60:u},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],f,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},{47:43,48:[1,44],63:Ct},t([48,63],[2,51]),t(o,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,8]),t(o,[2,9]),t(o,[2,10]),t(o,[2,11]),t(o,[2,12],{14:[1,47],15:[1,48]}),t(o,[2,16]),{18:[1,49]},t(o,[2,18],{20:[1,50]}),{23:[1,51]},t(o,[2,22]),t(o,[2,23]),t(o,[2,24]),t(o,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(o,[2,28]),t(o,[2,29]),{34:[1,56]},{36:[1,57]},t(o,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(st,[2,44],{57:[1,61]}),t(st,[2,45],{57:[1,62]}),t(o,[2,38]),t(o,[2,39]),t(o,[2,40]),t(o,[2,41]),t(ut,[2,36]),{49:63,62:[1,64]},t(ut,[2,53]),t(o,[2,7]),t(o,[2,13]),{13:65,24:R,56:w},t(o,[2,17]),t(At,f,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(o,[2,30]),t(o,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:Ct},{63:[2,52]},t(o,[2,14],{14:[1,76]}),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,77],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(o,[2,33]),t(o,[2,34]),t(o,[2,35]),t(st,[2,46]),t(st,[2,47]),t(ut,[2,37]),t(o,[2,15]),t(o,[2,19]),t(At,f,{8:81}),t(o,[2,26]),t(o,[2,27]),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,82],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=a,i}},parse:function(r){var a=this,i=[0],l=[],y=[null],e=[],B=this.table,c="",C=0,O=0,it=2,$=1,pt=e.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(A.yy[yt]=this.yy[yt]);S.setInput(r,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var St=S.yylloc;e.push(St);var zt=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var E;return E=l.pop()||S.lex()||$,typeof E!="number"&&(E instanceof Array&&(l=E,E=l.pop()),E=a.symbols_[E]||E),E}for(var _,L,m,gt,N={},rt,b,Lt,nt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=Mt()),m=B[L]&&B[L][_]),typeof m>"u"||!m.length||!m[0]){var _t="";nt=[];for(rt in B[L])this.terminals_[rt]&&rt>it&&nt.push("'"+this.terminals_[rt]+"'");S.showPosition?_t="Parse error on line "+(C+1)+`: `+S.showPosition()+` Expecting `+nt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":_t="Parse error on line "+(C+1)+": Unexpected "+(_==$?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(_t,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:St,expected:nt})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(m[0]){case 1:i.push(_),y.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,c=S.yytext,C=S.yylineno,St=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=y[y.length-b],N._$={first_line:e[e.length-(b||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(b||1)].first_column,last_column:e[e.length-1].last_column},zt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),gt=this.performAction.apply(N,[c,O,C,A.yy,m[1],y,e].concat(pt)),typeof gt<"u")return gt;b&&(i=i.slice(0,-1*b*2),y=y.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),y.push(N.$),e.push(N._$),Lt=B[i[i.length-2]][i[i.length-1]],i.push(Lt);break;case 3:return!0}}return!0}},Ut=function(){var D={EOF:1,parseError:function(a,i){if(this.yy.parser)this.yy.parser.parseError(a,i);else throw new Error(a)},setInput:function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var a=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===l.length?this.yylloc.first_column:0)+l[l.length-i.length].length-i[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_nuxt/svgDraw-2526cba0.cff159e4.js b/_nuxt/svgDraw-2526cba0.2cced117.js similarity index 98% rename from _nuxt/svgDraw-2526cba0.cff159e4.js rename to _nuxt/svgDraw-2526cba0.2cced117.js index e7f60e1497..7d22f5b3da 100644 --- a/_nuxt/svgDraw-2526cba0.cff159e4.js +++ b/_nuxt/svgDraw-2526cba0.2cced117.js @@ -1,2 +1,2 @@ -import{a3 as C,z as E,l as b,a4 as w}from"./mermaid.core.0bf3cbc4.js";import{l as k}from"./line.7016ab98.js";let S=0;const O=function(i,e,t,n,r){const a=function(o){switch(o){case r.db.relationType.AGGREGATION:return"aggregation";case r.db.relationType.EXTENSION:return"extension";case r.db.relationType.COMPOSITION:return"composition";case r.db.relationType.DEPENDENCY:return"dependency";case r.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(o=>!Number.isNaN(o.y));const l=e.points,d=k().x(function(o){return o.x}).y(function(o){return o.y}).curve(C),s=i.append("path").attr("d",d(l)).attr("id","edge"+S).attr("class","relation");let g="";n.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)")),t.relation.lineType==1&&s.attr("class","relation dashed-line"),t.relation.lineType==10&&s.attr("class","relation dotted-line"),t.relation.type1!=="none"&&s.attr("marker-start","url("+g+"#"+a(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&s.attr("marker-end","url("+g+"#"+a(t.relation.type2)+"End)");let f,c;const p=e.points.length;let v=E.calcLabelPosition(e.points);f=v.x,c=v.y;let x,B,N,m;if(p%2!==0&&p>1){let o=E.calcCardinalityPosition(t.relation.type1!=="none",e.points,e.points[0]),u=E.calcCardinalityPosition(t.relation.type2!=="none",e.points,e.points[p-1]);b.debug("cardinality_1_point "+JSON.stringify(o)),b.debug("cardinality_2_point "+JSON.stringify(u)),x=o.x,B=o.y,N=u.x,m=u.y}if(t.title!==void 0){const o=i.append("g").attr("class","classLabel"),u=o.append("text").attr("class","label").attr("x",f).attr("y",c).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=u;const h=u.node().getBBox();o.insert("rect",":first-child").attr("class","box").attr("x",h.x-n.padding/2).attr("y",h.y-n.padding/2).attr("width",h.width+n.padding).attr("height",h.height+n.padding)}b.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",x).attr("y",B).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",N).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle2),S++},P=function(i,e,t,n){b.debug("Rendering class ",e,t);const r=e.id,a={id:r,label:e.id,width:0,height:0},l=i.append("g").attr("id",n.db.lookUpDomId(r)).attr("class","classGroup");let d;e.link?d=l.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let s=!0;e.annotations.forEach(function(y){const H=d.append("tspan").text("«"+y+"»");s||H.attr("dy",t.textHeight),s=!1});let g=e.id;e.type!==void 0&&e.type!==""&&(g+="<"+e.type+">");const f=d.append("tspan").text(g).attr("class","title");s||f.attr("dy",t.textHeight);const c=d.node().getBBox().height,p=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin/2).attr("y2",t.padding+c+t.dividerMargin/2),v=l.append("text").attr("x",t.padding).attr("y",c+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.members.forEach(function(y){_(v,y,s,t),s=!1});const x=v.node().getBBox(),B=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin+x.height).attr("y2",t.padding+c+t.dividerMargin+x.height),N=l.append("text").attr("x",t.padding).attr("y",c+2*t.dividerMargin+x.height+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.methods.forEach(function(y){_(N,y,s,t),s=!1});const m=l.node().getBBox();var o=" ";e.cssClasses.length>0&&(o=o+e.cssClasses.join(" "));const h=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",o).node().getBBox().width;return d.node().childNodes.forEach(function(y){y.setAttribute("x",(h-y.getBBox().width)/2)}),e.tooltip&&d.insert("title").text(e.tooltip),p.attr("x2",h),B.attr("x2",h),a.width=h,a.height=m.height+t.padding+.5*t.dividerMargin,a},I=function(i,e,t,n){b.debug("Rendering note ",e,t);const r=e.id,a={id:r,text:e.text,width:0,height:0},l=i.append("g").attr("id",r).attr("class","classGroup");let d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const s=JSON.parse(`"${e.text}"`).split(` +import{a3 as C,z as E,l as b,a4 as w}from"./mermaid.core.ebd445a5.js";import{l as k}from"./line.56665913.js";let S=0;const O=function(i,e,t,n,r){const a=function(o){switch(o){case r.db.relationType.AGGREGATION:return"aggregation";case r.db.relationType.EXTENSION:return"extension";case r.db.relationType.COMPOSITION:return"composition";case r.db.relationType.DEPENDENCY:return"dependency";case r.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(o=>!Number.isNaN(o.y));const l=e.points,d=k().x(function(o){return o.x}).y(function(o){return o.y}).curve(C),s=i.append("path").attr("d",d(l)).attr("id","edge"+S).attr("class","relation");let g="";n.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)")),t.relation.lineType==1&&s.attr("class","relation dashed-line"),t.relation.lineType==10&&s.attr("class","relation dotted-line"),t.relation.type1!=="none"&&s.attr("marker-start","url("+g+"#"+a(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&s.attr("marker-end","url("+g+"#"+a(t.relation.type2)+"End)");let f,c;const p=e.points.length;let v=E.calcLabelPosition(e.points);f=v.x,c=v.y;let x,B,N,m;if(p%2!==0&&p>1){let o=E.calcCardinalityPosition(t.relation.type1!=="none",e.points,e.points[0]),u=E.calcCardinalityPosition(t.relation.type2!=="none",e.points,e.points[p-1]);b.debug("cardinality_1_point "+JSON.stringify(o)),b.debug("cardinality_2_point "+JSON.stringify(u)),x=o.x,B=o.y,N=u.x,m=u.y}if(t.title!==void 0){const o=i.append("g").attr("class","classLabel"),u=o.append("text").attr("class","label").attr("x",f).attr("y",c).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=u;const h=u.node().getBBox();o.insert("rect",":first-child").attr("class","box").attr("x",h.x-n.padding/2).attr("y",h.y-n.padding/2).attr("width",h.width+n.padding).attr("height",h.height+n.padding)}b.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",x).attr("y",B).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",N).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle2),S++},P=function(i,e,t,n){b.debug("Rendering class ",e,t);const r=e.id,a={id:r,label:e.id,width:0,height:0},l=i.append("g").attr("id",n.db.lookUpDomId(r)).attr("class","classGroup");let d;e.link?d=l.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let s=!0;e.annotations.forEach(function(y){const H=d.append("tspan").text("«"+y+"»");s||H.attr("dy",t.textHeight),s=!1});let g=e.id;e.type!==void 0&&e.type!==""&&(g+="<"+e.type+">");const f=d.append("tspan").text(g).attr("class","title");s||f.attr("dy",t.textHeight);const c=d.node().getBBox().height,p=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin/2).attr("y2",t.padding+c+t.dividerMargin/2),v=l.append("text").attr("x",t.padding).attr("y",c+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.members.forEach(function(y){_(v,y,s,t),s=!1});const x=v.node().getBBox(),B=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin+x.height).attr("y2",t.padding+c+t.dividerMargin+x.height),N=l.append("text").attr("x",t.padding).attr("y",c+2*t.dividerMargin+x.height+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.methods.forEach(function(y){_(N,y,s,t),s=!1});const m=l.node().getBBox();var o=" ";e.cssClasses.length>0&&(o=o+e.cssClasses.join(" "));const h=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",o).node().getBBox().width;return d.node().childNodes.forEach(function(y){y.setAttribute("x",(h-y.getBBox().width)/2)}),e.tooltip&&d.insert("title").text(e.tooltip),p.attr("x2",h),B.attr("x2",h),a.width=h,a.height=m.height+t.padding+.5*t.dividerMargin,a},I=function(i,e,t,n){b.debug("Rendering note ",e,t);const r=e.id,a={id:r,text:e.text,width:0,height:0},l=i.append("g").attr("id",r).attr("class","classGroup");let d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const s=JSON.parse(`"${e.text}"`).split(` `);s.forEach(function(p){b.debug(`Adding line: ${p}`),d.append("tspan").text(p).attr("class","title").attr("dy",t.textHeight)});const g=l.node().getBBox(),c=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",g.width+2*t.padding).attr("height",g.height+s.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return d.node().childNodes.forEach(function(p){p.setAttribute("x",(c-p.getBBox().width)/2)}),a.width=c,a.height=g.height+s.length*t.textHeight+t.padding+.5*t.dividerMargin,a},T=function(i){const e=/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/,t=/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/;let n=i.match(e),r=i.match(t);return n&&!r?L(n):r?R(r):$(i)},L=function(i){let e="",t="";try{let n=i[1]?i[1].trim():"",r=i[2]?i[2].trim():"",a=i[3]?w(i[3].trim()):"",l=i[4]?i[4].trim():"",d=i[5]?i[5].trim():"";t=n+r+a+" "+l,e=M(d)}catch{t=i}return{displayText:t,cssStyle:e}},R=function(i){let e="",t="";try{let n=i[1]?i[1].trim():"",r=i[2]?i[2].trim():"",a=i[3]?w(i[3].trim()):"",l=i[4]?i[4].trim():"",d=i[5]?" : "+w(i[5]).trim():"";t=n+r+"("+a+")"+d,e=M(l)}catch{t=i}return{displayText:t,cssStyle:e}},$=function(i){let e="",t="",n="",r=i.indexOf("("),a=i.indexOf(")");if(r>1&&a>r&&a<=i.length){let l="",d="",s=i.substring(0,1);s.match(/\w/)?d=i.substring(0,r).trim():(s.match(/[#+~-]/)&&(l=s),d=i.substring(1,r).trim());const g=i.substring(r+1,a);i.substring(a+1,1),t=M(i.substring(a+1,a+2)),e=l+d+"("+w(g.trim())+")",a"u"&&(p.yylloc={});var C=p.yylloc;c.push(C);var z=p.options&&p.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(){var P;return P=u.pop()||p.lex()||K,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=a.symbols_[P]||P),P}for(var k,R,N,Q,W={},G,A,nt,q;;){if(R=h[h.length-1],this.defaultActions[R]?N=this.defaultActions[R]:((k===null||typeof k>"u")&&(k=et()),N=T[R]&&T[R][k]),typeof N>"u"||!N.length||!N[0]){var X="";q=[];for(G in T[R])this.terminals_[G]&&G>j&&q.push("'"+this.terminals_[G]+"'");p.showPosition?X="Parse error on line "+(M+1)+`: +import{aC as bt,aD as vt,A as kt,c as wt,l as I,i as U,u as St,aE as Et,aF as Tt}from"./mermaid.core.ebd445a5.js";import{i as It}from"./is_dark.dd0eb355.js";import{a as it}from"./arc.1826e296.js";import"./_commonjsHelpers.725317a4.js";import"./entry.6e9008ac.js";import"./path.53f90ab3.js";var Y=function(){var n=function(b,r,a,h){for(a=a||{},h=b.length;h--;a[b[h]]=r);return a},t=[1,2],e=[1,5],s=[6,9,11,17,18,20,22,23,26,27,28],i=[1,15],o=[1,16],l=[1,17],g=[1,18],d=[1,19],y=[1,23],x=[1,24],w=[1,27],v=[4,6,9,11,17,18,20,22,23,26,27,28],_={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,period_statement:24,event_statement:25,period:26,event:27,open_directive:28,type_directive:29,arg_directive:30,close_directive:31,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",26:"period",27:"event",28:"open_directive",29:"type_directive",30:"arg_directive",31:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[24,1],[25,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(r,a,h,u,f,c,T){var m=c.length-1;switch(f){case 1:return c[m-1];case 3:this.$=[];break;case 4:c[m-1].push(c[m]),this.$=c[m-1];break;case 5:case 6:this.$=c[m];break;case 7:case 8:this.$=[];break;case 11:u.getCommonDb().setDiagramTitle(c[m].substr(6)),this.$=c[m].substr(6);break;case 12:this.$=c[m].trim(),u.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=c[m].trim(),u.getCommonDb().setAccDescription(this.$);break;case 15:u.addSection(c[m].substr(8)),this.$=c[m].substr(8);break;case 19:u.addTask(c[m],0,""),this.$=c[m];break;case 20:u.addEvent(c[m].substr(2)),this.$=c[m];break;case 21:u.parseDirective("%%{","open_directive");break;case 22:u.parseDirective(c[m],"type_directive");break;case 23:c[m]=c[m].trim().replace(/'/g,'"'),u.parseDirective(c[m],"arg_directive");break;case 24:u.parseDirective("}%%","close_directive","timeline");break}},table:[{3:1,4:t,7:3,12:4,28:e},{1:[3]},n(s,[2,3],{5:6}),{3:7,4:t,7:3,12:4,28:e},{13:8,29:[1,9]},{29:[2,21]},{6:[1,10],7:22,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:o,20:l,22:g,23:d,24:20,25:21,26:y,27:x,28:e},{1:[2,2]},{14:25,15:[1,26],31:w},n([15,31],[2,22]),n(s,[2,8],{1:[2,1]}),n(s,[2,4]),{7:22,10:28,12:4,17:i,18:o,20:l,22:g,23:d,24:20,25:21,26:y,27:x,28:e},n(s,[2,6]),n(s,[2,7]),n(s,[2,11]),{19:[1,29]},{21:[1,30]},n(s,[2,14]),n(s,[2,15]),n(s,[2,16]),n(s,[2,17]),n(s,[2,18]),n(s,[2,19]),n(s,[2,20]),{11:[1,31]},{16:32,30:[1,33]},{11:[2,24]},n(s,[2,5]),n(s,[2,12]),n(s,[2,13]),n(v,[2,9]),{14:34,31:w},{31:[2,23]},{11:[1,35]},n(v,[2,10])],defaultActions:{5:[2,21],7:[2,2],27:[2,24],33:[2,23]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var h=new Error(r);throw h.hash=a,h}},parse:function(r){var a=this,h=[0],u=[],f=[null],c=[],T=this.table,m="",M=0,V=0,j=2,K=1,H=c.slice.call(arguments,1),p=Object.create(this.lexer),E={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(E.yy[L]=this.yy[L]);p.setInput(r,E.yy),E.yy.lexer=p,E.yy.parser=this,typeof p.yylloc>"u"&&(p.yylloc={});var C=p.yylloc;c.push(C);var z=p.options&&p.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(){var P;return P=u.pop()||p.lex()||K,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=a.symbols_[P]||P),P}for(var k,R,N,Q,W={},G,A,nt,q;;){if(R=h[h.length-1],this.defaultActions[R]?N=this.defaultActions[R]:((k===null||typeof k>"u")&&(k=et()),N=T[R]&&T[R][k]),typeof N>"u"||!N.length||!N[0]){var X="";q=[];for(G in T[R])this.terminals_[G]&&G>j&&q.push("'"+this.terminals_[G]+"'");p.showPosition?X="Parse error on line "+(M+1)+`: `+p.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[k]||k)+"'":X="Parse error on line "+(M+1)+": Unexpected "+(k==K?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(X,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:C,expected:q})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+k);switch(N[0]){case 1:h.push(k),f.push(p.yytext),c.push(p.yylloc),h.push(N[1]),k=null,V=p.yyleng,m=p.yytext,M=p.yylineno,C=p.yylloc;break;case 2:if(A=this.productions_[N[1]][1],W.$=f[f.length-A],W._$={first_line:c[c.length-(A||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(A||1)].first_column,last_column:c[c.length-1].last_column},z&&(W._$.range=[c[c.length-(A||1)].range[0],c[c.length-1].range[1]]),Q=this.performAction.apply(W,[m,V,M,E.yy,N[1],f,c].concat(H)),typeof Q<"u")return Q;A&&(h=h.slice(0,-1*A*2),f=f.slice(0,-1*A),c=c.slice(0,-1*A)),h.push(this.productions_[N[1]][0]),f.push(W.$),c.push(W._$),nt=T[h[h.length-2]][h[h.length-1]],h.push(nt);break;case 3:return!0}}return!0}},S=function(){var b={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var a=r.length,h=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===u.length?this.yylloc.first_column:0)+u[u.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_nuxt/useStudio.8cba1fae.js b/_nuxt/useStudio.62af6f7a.js similarity index 99% rename from _nuxt/useStudio.8cba1fae.js rename to _nuxt/useStudio.62af6f7a.js index 1a3e838bf8..0204ef15b2 100644 --- a/_nuxt/useStudio.8cba1fae.js +++ b/_nuxt/useStudio.62af6f7a.js @@ -1 +1 @@ -import{d as Y,u as V,r as $,o as j,_ as ee,a as te,b as q,c as L,n as ne,F as oe,e as w,f as K,g as O,w as J,T as B,t as ie,h as D,p as se,i as ae,j as W,k as re,l as de,m as z,q as ce,s as U,v as E,x as Z,y as H,z as le,A as ue,B as pe,C as fe,D as F}from"./entry.f8eaff67.js";const A=i=>(se("data-v-f74290fc"),i=i(),ae(),i),ve=A(()=>w("svg",{viewBox:"0 0 90 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[w("path",{d:"M50.0016 71.0999h29.2561c.9293.0001 1.8422-.241 2.6469-.6992.8047-.4582 1.4729-1.1173 1.9373-1.9109.4645-.7936.7088-1.6939.7083-2.6102-.0004-.9162-.2455-1.8163-.7106-2.6095L64.192 29.713c-.4644-.7934-1.1325-1.4523-1.937-1.9105-.8046-.4581-1.7173-.6993-2.6463-.6993-.9291 0-1.8418.2412-2.6463.6993-.8046.4582-1.4726 1.1171-1.937 1.9105l-5.0238 8.5861-9.8224-16.7898c-.4648-.7934-1.1332-1.4522-1.938-1.9102-.8047-.4581-1.7176-.6992-2.6468-.6992-.9292 0-1.842.2411-2.6468.6992-.8048.458-1.4731 1.1168-1.9379 1.9102L6.56062 63.2701c-.46512.7932-.71021 1.6933-.71061 2.6095-.00041.9163.24389 1.8166.70831 2.6102.46443.7936 1.1326 1.4527 1.93732 1.9109.80473.4582 1.71766.6993 2.64686.6992h18.3646c7.2763 0 12.6422-3.1516 16.3345-9.3002l8.9642-15.3081 4.8015-8.1925 14.4099 24.6083H54.8058l-4.8042 8.1925ZM29.2077 62.899l-12.8161-.0028L35.603 30.0869l9.5857 16.4047-6.418 10.9645c-2.4521 3.9894-5.2377 5.4429-9.563 5.4429Z",fill:"currentColor"})],-1)),we=A(()=>w("span",null,"Preview mode enabled",-1)),_e={key:0},he=A(()=>w("div",{id:"__preview_background"},null,-1)),ye=A(()=>w("svg",{id:"__preview_loading_icon",width:"32",height:"32",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 0 0 4.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 0 1-15.357-2m15.357 2H15"})],-1)),me=A(()=>w("p",null,"Initializing the preview...",-1)),ge={key:0},ke=A(()=>w("div",{id:"__preview_background"},null,-1)),Ce={id:"__preview_loader"},Ie=Y({__name:"ContentPreviewMode",props:{previewToken:{type:String,required:!0},apiURL:{type:String,required:!0},syncPreview:{type:Function,required:!0},requestPreviewSyncAPI:{type:Function,required:!0}},setup(i){const s=i,c=["__nuxt_preview","__preview_enabled"],f=W(),y=V(),r=$(!0),g=$(!1),o=$(!1),l=$("");let a;const h=async()=>{D("previewToken").value="",window.sessionStorage.removeItem("previewToken"),await y.replace({query:{preview:void 0}}),window.location.reload()},b=async T=>{const _=await s.syncPreview(T);if(o.value!==!0){if(!_){setTimeout(()=>b(T),1e3);return}D("previewToken").value&&(o.value=!0,await y.replace({query:{}}),f.callHook("nuxt-studio:preview:ready"),window.parent&&window.self!==window.parent&&a.disconnect())}};return j(async()=>{a=(await ee(()=>import("./index.17e44084.js"),[],import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken}});let _;a.on("connect",()=>{_=setTimeout(()=>{o.value||(_=setTimeout(()=>{l.value="Preview sync timed out",o.value=!1},3e4),a.emit("draft:requestSync"))},3e4)});const I=()=>{_&&(clearTimeout(_),_=null)};a.on("draft:sync",async P=>{if(I(),!P){try{a.once("draft:ready",()=>{a.emit("draft:requestSync")}),await s.requestPreviewSyncAPI()}catch(R){switch(I(),R.response.status){case 404:l.value="Preview draft not found",o.value=!1;break;default:l.value="An error occurred while syncing preview",o.value=!1}}return}b(P)}),a.on("draft:unauthorized",()=>{I(),l.value="Unauthorized preview token",o.value=!1}),a.on("disconnect",()=>{I()}),document.body.classList.add(...c),a.on("draft:update",P=>{g.value=!0,s.syncPreview(P),g.value=!1})}),te(()=>{document.body.classList.remove(...c)}),(T,_)=>(q(),L("div",null,[r.value?(q(),L("div",{key:0,id:"__nuxt_preview",class:ne({__preview_ready:o.value,__preview_refreshing:g.value})},[o.value?(q(),L(oe,{key:0},[ve,we,w("button",{onClick:h}," Close ")],64)):K("",!0)],2)):K("",!0),O(B,{name:"preview-loading"},{default:J(()=>[r.value&&!o.value&&!l.value?(q(),L("div",_e,[he,w("div",{id:"__preview_loader"},[ye,me,w("button",{onClick:h}," Cancel ")])])):K("",!0)]),_:1}),O(B,{name:"preview-loading"},{default:J(()=>[l.value?(q(),L("div",ge,[ke,w("div",Ce,[w("p",null,ie(l.value),1),w("button",{onClick:h}," Exit preview ")])])):K("",!0)]),_:1})]))}});const Pe=re(Ie,[["__scopeId","data-v-f74290fc"]]),Se=(i=[],s,c)=>{const f=[...s||[]],y=[...c||[]],r=JSON.parse(JSON.stringify(i));for(const o of f)if(o.oldPath)if(y.splice(y.findIndex(a=>a.path===o.oldPath),1),f.find(a=>a.path===o.oldPath))r.push({path:o.path,parsed:o.parsed});else{const a=r.find(h=>h.path===o.oldPath);a&&(a.path=o.path,o.parsed?a.parsed=o.parsed:o.pathMeta&&["_file","_path","_id","_locale"].forEach(h=>{a.parsed[h]=o.pathMeta[h]}))}else if(o.new)r.push({path:o.path,parsed:o.parsed});else{const l=r.find(a=>a.path===o.path);l&&Object.assign(l,{path:o.path,parsed:o.parsed})}for(const o of y)r.splice(r.findIndex(l=>l.path===o.path),1);const g=new Intl.Collator(void 0,{numeric:!0});return r.sort((o,l)=>g.compare(o.path,l.path)),r},C={appConfig:"app.config.ts",tokensConfig:"tokens.config.ts"},Te=i=>{let s;return(...c)=>(s||(s=i()),s)};function G(i,s){for(const c in i){const f=s[c];c in s||delete i[c],f!==null&&typeof f=="object"&&G(i[c],s[c])}}function Q(i,s){for(const c in s){const f=s[c];f!==null&&typeof f=="object"?(i[c]=i[c]||{},Q(i[c],f)):i[c]=f}}const xe=Te(()=>JSON.parse(JSON.stringify(Z()))),qe=()=>{const i=W(),{studio:s,content:c}=de().public,f=xe();let y;const r=z("studio-client-db",()=>null),g=z("studio-preview-db-files",()=>[]);r.value||(i.hook("content:storage",e=>{r.value=e}),ce("/non-existing-path").findOne());const o=async(e,n,d=!0)=>{const p=window.sessionStorage.getItem("previewToken"),v=await e.getKeys(`${p}:`);await Promise.all(v.map(u=>e.removeItem(u)));const t=new Set(n.map(u=>u.parsed._id.split(":").shift()));await e.setItem(`${p}$`,JSON.stringify({ignoreSources:Array.from(t)})),await Promise.all(n.map(u=>e.setItem(`${p}:${u.parsed._id}`,JSON.stringify(u.parsed))))},l=e=>{const n=E(i,Z);Q(n,H(e,f)),e||G(n,f)},a=e=>{var d,p,v,t;const n=(t=(v=(p=(d=i==null?void 0:i.vueApp)==null?void 0:d._context)==null?void 0:p.config)==null?void 0:v.globalProperties)==null?void 0:t.$pinceauTheme;!n||!(n!=null&&n.updateTheme)||(y||(y=JSON.parse(JSON.stringify((n==null?void 0:n.theme.value)||{}))),E(i,n.updateTheme,[H(e,y)]))},h=async e=>{if(g.value=e.files=e.files||g.value||[],!r.value)return!1;const n=Se(e.files,e.additions,e.deletions),d=n.filter(t=>![C.appConfig,C.tokensConfig].includes(t.path));await o(r.value,d,(e.files||[]).length!==0);const p=n.find(t=>t.path===C.appConfig);l(p==null?void 0:p.parsed);const v=n.find(t=>t.path===C.tokensConfig);return a(v==null?void 0:v.parsed),R(),!0},b=async()=>{const e=window.sessionStorage.getItem("previewToken");await $fetch("api/projects/preview/sync",{baseURL:s==null?void 0:s.apiURL,method:"POST",params:{token:e}})},T=()=>{const e=window.sessionStorage.getItem("previewToken"),n=document.createElement("div");n.id="__nuxt_preview_wrapper",document.body.appendChild(n),le(Pe,{previewToken:e,apiURL:s==null?void 0:s.apiURL,syncPreview:h,requestPreviewSyncAPI:b}).mount(n)},_=async e=>{var p,v,t;const n=window.sessionStorage.getItem("previewToken");if(!e)return null;e=e.replace(/\/$/,"");let d=await((p=r.value)==null?void 0:p.getItem(`${n}:${e}`));return d||(d=await((v=r.value)==null?void 0:v.getItem(`cached:${e}`))),d||(d=d=await((t=r.value)==null?void 0:t.getItem(e))),d},I=e=>{var d;const n=window.sessionStorage.getItem("previewToken");r.value&&r.value.setItem(`${n}:${(d=e.parsed)==null?void 0:d._id}`,JSON.stringify(e.parsed))},P=async e=>{var d;const n=window.sessionStorage.getItem("previewToken");await((d=r.value)==null?void 0:d.removeItem(`${n}:${e}`))},R=async()=>{if(c!=null&&c.documentDriven){const{pages:e}=E(i,ue);for(const n in e.value)e.value[n]&&(e.value[n]=await _(e.value[n]._id))}pe(()=>{E(i,fe)})};return{apiURL:s==null?void 0:s.apiURL,contentStorage:r,syncPreviewFiles:o,syncPreviewAppConfig:l,syncPreviewTokensConfig:a,requestPreviewSynchronization:b,findContentWithId:_,updateContent:I,removeContentWithId:P,requestRerender:R,mountPreviewUI:T,initiateIframeCommunication:X};function X(){if(!window.parent||window.self===window.parent)return;const e=V(),n=U(),d=$(""),p=t=>({path:t.path,query:F(t.query),params:F(t.params),fullPath:t.fullPath,meta:F(t.meta)});window.addEventListener("keydown",t=>{(t.metaKey||t.ctrlKey||t.altKey||t.shiftKey)&&window.parent.postMessage({type:"nuxt-studio:preview:keydown",payload:{key:t.key,metaKey:t.metaKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey}},"*")}),window.addEventListener("message",async t=>{if(!["https://nuxt.studio","https://dev.nuxt.studio"].includes(t.origin))return;const{type:u,payload:x={}}=t.data||{};switch(u){case"nuxt-studio:editor:file-selected":{const m=await _(x.path);m&&(m._partial||m._path!==U().path&&(d.value=m._path,e.push(m._path)));break}case"nuxt-studio:editor:file-changed":{const{additions:m=[],deletions:N=[]}=x;for(const k of m)await I(k);for(const k of N)await P(k.path);R();break}case"nuxt-studio:preview:sync":{h(x);break}case"nuxt-studio:config:file-changed":{const{additions:m=[],deletions:N=[]}=x,k=m.find(S=>S.path===C.appConfig);k&&l(k==null?void 0:k.parsed),N.find(S=>S.path===C.appConfig)&&l(void 0);const M=m.find(S=>S.path===C.tokensConfig);M&&a(M==null?void 0:M.parsed),N.find(S=>S.path===C.tokensConfig)&&a(void 0);break}}}),i.hook("page:finish",()=>{v()}),i.hook("content:document-driven:finish",({route:t,page:u})=>{t.meta.studio_page_contentId=u==null?void 0:u._id}),i.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:p(U())},"*"),setTimeout(()=>{v()},100)});function v(){const t=Array.from(window.document.querySelectorAll("[data-content-id]")).map(x=>x.getAttribute("data-content-id")),u=Array.from(new Set([n.meta.studio_page_contentId,...t])).filter(Boolean);if(d.value===u[0]){d.value="";return}window.openContentInStudioEditor(u,{navigate:!0,pageContentId:n.meta.studio_page_contentId})}window.openContentInStudioEditor=(t,u={})=>{window.parent.postMessage({type:"nuxt-studio:preview:navigate",payload:{...p(n),contentIds:t,...u}},"*")}}};export{qe as useStudio}; +import{d as Y,u as V,r as $,o as j,_ as ee,a as te,b as q,c as L,n as ne,F as oe,e as w,f as K,g as O,w as J,T as B,t as ie,h as D,p as se,i as ae,j as W,k as re,l as de,m as z,q as ce,s as U,v as E,x as Z,y as H,z as le,A as ue,B as pe,C as fe,D as F}from"./entry.6e9008ac.js";const A=i=>(se("data-v-f74290fc"),i=i(),ae(),i),ve=A(()=>w("svg",{viewBox:"0 0 90 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[w("path",{d:"M50.0016 71.0999h29.2561c.9293.0001 1.8422-.241 2.6469-.6992.8047-.4582 1.4729-1.1173 1.9373-1.9109.4645-.7936.7088-1.6939.7083-2.6102-.0004-.9162-.2455-1.8163-.7106-2.6095L64.192 29.713c-.4644-.7934-1.1325-1.4523-1.937-1.9105-.8046-.4581-1.7173-.6993-2.6463-.6993-.9291 0-1.8418.2412-2.6463.6993-.8046.4582-1.4726 1.1171-1.937 1.9105l-5.0238 8.5861-9.8224-16.7898c-.4648-.7934-1.1332-1.4522-1.938-1.9102-.8047-.4581-1.7176-.6992-2.6468-.6992-.9292 0-1.842.2411-2.6468.6992-.8048.458-1.4731 1.1168-1.9379 1.9102L6.56062 63.2701c-.46512.7932-.71021 1.6933-.71061 2.6095-.00041.9163.24389 1.8166.70831 2.6102.46443.7936 1.1326 1.4527 1.93732 1.9109.80473.4582 1.71766.6993 2.64686.6992h18.3646c7.2763 0 12.6422-3.1516 16.3345-9.3002l8.9642-15.3081 4.8015-8.1925 14.4099 24.6083H54.8058l-4.8042 8.1925ZM29.2077 62.899l-12.8161-.0028L35.603 30.0869l9.5857 16.4047-6.418 10.9645c-2.4521 3.9894-5.2377 5.4429-9.563 5.4429Z",fill:"currentColor"})],-1)),we=A(()=>w("span",null,"Preview mode enabled",-1)),_e={key:0},he=A(()=>w("div",{id:"__preview_background"},null,-1)),ye=A(()=>w("svg",{id:"__preview_loading_icon",width:"32",height:"32",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 0 0 4.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 0 1-15.357-2m15.357 2H15"})],-1)),me=A(()=>w("p",null,"Initializing the preview...",-1)),ge={key:0},ke=A(()=>w("div",{id:"__preview_background"},null,-1)),Ce={id:"__preview_loader"},Ie=Y({__name:"ContentPreviewMode",props:{previewToken:{type:String,required:!0},apiURL:{type:String,required:!0},syncPreview:{type:Function,required:!0},requestPreviewSyncAPI:{type:Function,required:!0}},setup(i){const s=i,c=["__nuxt_preview","__preview_enabled"],f=W(),y=V(),r=$(!0),g=$(!1),o=$(!1),l=$("");let a;const h=async()=>{D("previewToken").value="",window.sessionStorage.removeItem("previewToken"),await y.replace({query:{preview:void 0}}),window.location.reload()},b=async T=>{const _=await s.syncPreview(T);if(o.value!==!0){if(!_){setTimeout(()=>b(T),1e3);return}D("previewToken").value&&(o.value=!0,await y.replace({query:{}}),f.callHook("nuxt-studio:preview:ready"),window.parent&&window.self!==window.parent&&a.disconnect())}};return j(async()=>{a=(await ee(()=>import("./index.17e44084.js"),[],import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken}});let _;a.on("connect",()=>{_=setTimeout(()=>{o.value||(_=setTimeout(()=>{l.value="Preview sync timed out",o.value=!1},3e4),a.emit("draft:requestSync"))},3e4)});const I=()=>{_&&(clearTimeout(_),_=null)};a.on("draft:sync",async P=>{if(I(),!P){try{a.once("draft:ready",()=>{a.emit("draft:requestSync")}),await s.requestPreviewSyncAPI()}catch(R){switch(I(),R.response.status){case 404:l.value="Preview draft not found",o.value=!1;break;default:l.value="An error occurred while syncing preview",o.value=!1}}return}b(P)}),a.on("draft:unauthorized",()=>{I(),l.value="Unauthorized preview token",o.value=!1}),a.on("disconnect",()=>{I()}),document.body.classList.add(...c),a.on("draft:update",P=>{g.value=!0,s.syncPreview(P),g.value=!1})}),te(()=>{document.body.classList.remove(...c)}),(T,_)=>(q(),L("div",null,[r.value?(q(),L("div",{key:0,id:"__nuxt_preview",class:ne({__preview_ready:o.value,__preview_refreshing:g.value})},[o.value?(q(),L(oe,{key:0},[ve,we,w("button",{onClick:h}," Close ")],64)):K("",!0)],2)):K("",!0),O(B,{name:"preview-loading"},{default:J(()=>[r.value&&!o.value&&!l.value?(q(),L("div",_e,[he,w("div",{id:"__preview_loader"},[ye,me,w("button",{onClick:h}," Cancel ")])])):K("",!0)]),_:1}),O(B,{name:"preview-loading"},{default:J(()=>[l.value?(q(),L("div",ge,[ke,w("div",Ce,[w("p",null,ie(l.value),1),w("button",{onClick:h}," Exit preview ")])])):K("",!0)]),_:1})]))}});const Pe=re(Ie,[["__scopeId","data-v-f74290fc"]]),Se=(i=[],s,c)=>{const f=[...s||[]],y=[...c||[]],r=JSON.parse(JSON.stringify(i));for(const o of f)if(o.oldPath)if(y.splice(y.findIndex(a=>a.path===o.oldPath),1),f.find(a=>a.path===o.oldPath))r.push({path:o.path,parsed:o.parsed});else{const a=r.find(h=>h.path===o.oldPath);a&&(a.path=o.path,o.parsed?a.parsed=o.parsed:o.pathMeta&&["_file","_path","_id","_locale"].forEach(h=>{a.parsed[h]=o.pathMeta[h]}))}else if(o.new)r.push({path:o.path,parsed:o.parsed});else{const l=r.find(a=>a.path===o.path);l&&Object.assign(l,{path:o.path,parsed:o.parsed})}for(const o of y)r.splice(r.findIndex(l=>l.path===o.path),1);const g=new Intl.Collator(void 0,{numeric:!0});return r.sort((o,l)=>g.compare(o.path,l.path)),r},C={appConfig:"app.config.ts",tokensConfig:"tokens.config.ts"},Te=i=>{let s;return(...c)=>(s||(s=i()),s)};function G(i,s){for(const c in i){const f=s[c];c in s||delete i[c],f!==null&&typeof f=="object"&&G(i[c],s[c])}}function Q(i,s){for(const c in s){const f=s[c];f!==null&&typeof f=="object"?(i[c]=i[c]||{},Q(i[c],f)):i[c]=f}}const xe=Te(()=>JSON.parse(JSON.stringify(Z()))),qe=()=>{const i=W(),{studio:s,content:c}=de().public,f=xe();let y;const r=z("studio-client-db",()=>null),g=z("studio-preview-db-files",()=>[]);r.value||(i.hook("content:storage",e=>{r.value=e}),ce("/non-existing-path").findOne());const o=async(e,n,d=!0)=>{const p=window.sessionStorage.getItem("previewToken"),v=await e.getKeys(`${p}:`);await Promise.all(v.map(u=>e.removeItem(u)));const t=new Set(n.map(u=>u.parsed._id.split(":").shift()));await e.setItem(`${p}$`,JSON.stringify({ignoreSources:Array.from(t)})),await Promise.all(n.map(u=>e.setItem(`${p}:${u.parsed._id}`,JSON.stringify(u.parsed))))},l=e=>{const n=E(i,Z);Q(n,H(e,f)),e||G(n,f)},a=e=>{var d,p,v,t;const n=(t=(v=(p=(d=i==null?void 0:i.vueApp)==null?void 0:d._context)==null?void 0:p.config)==null?void 0:v.globalProperties)==null?void 0:t.$pinceauTheme;!n||!(n!=null&&n.updateTheme)||(y||(y=JSON.parse(JSON.stringify((n==null?void 0:n.theme.value)||{}))),E(i,n.updateTheme,[H(e,y)]))},h=async e=>{if(g.value=e.files=e.files||g.value||[],!r.value)return!1;const n=Se(e.files,e.additions,e.deletions),d=n.filter(t=>![C.appConfig,C.tokensConfig].includes(t.path));await o(r.value,d,(e.files||[]).length!==0);const p=n.find(t=>t.path===C.appConfig);l(p==null?void 0:p.parsed);const v=n.find(t=>t.path===C.tokensConfig);return a(v==null?void 0:v.parsed),R(),!0},b=async()=>{const e=window.sessionStorage.getItem("previewToken");await $fetch("api/projects/preview/sync",{baseURL:s==null?void 0:s.apiURL,method:"POST",params:{token:e}})},T=()=>{const e=window.sessionStorage.getItem("previewToken"),n=document.createElement("div");n.id="__nuxt_preview_wrapper",document.body.appendChild(n),le(Pe,{previewToken:e,apiURL:s==null?void 0:s.apiURL,syncPreview:h,requestPreviewSyncAPI:b}).mount(n)},_=async e=>{var p,v,t;const n=window.sessionStorage.getItem("previewToken");if(!e)return null;e=e.replace(/\/$/,"");let d=await((p=r.value)==null?void 0:p.getItem(`${n}:${e}`));return d||(d=await((v=r.value)==null?void 0:v.getItem(`cached:${e}`))),d||(d=d=await((t=r.value)==null?void 0:t.getItem(e))),d},I=e=>{var d;const n=window.sessionStorage.getItem("previewToken");r.value&&r.value.setItem(`${n}:${(d=e.parsed)==null?void 0:d._id}`,JSON.stringify(e.parsed))},P=async e=>{var d;const n=window.sessionStorage.getItem("previewToken");await((d=r.value)==null?void 0:d.removeItem(`${n}:${e}`))},R=async()=>{if(c!=null&&c.documentDriven){const{pages:e}=E(i,ue);for(const n in e.value)e.value[n]&&(e.value[n]=await _(e.value[n]._id))}pe(()=>{E(i,fe)})};return{apiURL:s==null?void 0:s.apiURL,contentStorage:r,syncPreviewFiles:o,syncPreviewAppConfig:l,syncPreviewTokensConfig:a,requestPreviewSynchronization:b,findContentWithId:_,updateContent:I,removeContentWithId:P,requestRerender:R,mountPreviewUI:T,initiateIframeCommunication:X};function X(){if(!window.parent||window.self===window.parent)return;const e=V(),n=U(),d=$(""),p=t=>({path:t.path,query:F(t.query),params:F(t.params),fullPath:t.fullPath,meta:F(t.meta)});window.addEventListener("keydown",t=>{(t.metaKey||t.ctrlKey||t.altKey||t.shiftKey)&&window.parent.postMessage({type:"nuxt-studio:preview:keydown",payload:{key:t.key,metaKey:t.metaKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey}},"*")}),window.addEventListener("message",async t=>{if(!["https://nuxt.studio","https://dev.nuxt.studio"].includes(t.origin))return;const{type:u,payload:x={}}=t.data||{};switch(u){case"nuxt-studio:editor:file-selected":{const m=await _(x.path);m&&(m._partial||m._path!==U().path&&(d.value=m._path,e.push(m._path)));break}case"nuxt-studio:editor:file-changed":{const{additions:m=[],deletions:N=[]}=x;for(const k of m)await I(k);for(const k of N)await P(k.path);R();break}case"nuxt-studio:preview:sync":{h(x);break}case"nuxt-studio:config:file-changed":{const{additions:m=[],deletions:N=[]}=x,k=m.find(S=>S.path===C.appConfig);k&&l(k==null?void 0:k.parsed),N.find(S=>S.path===C.appConfig)&&l(void 0);const M=m.find(S=>S.path===C.tokensConfig);M&&a(M==null?void 0:M.parsed),N.find(S=>S.path===C.tokensConfig)&&a(void 0);break}}}),i.hook("page:finish",()=>{v()}),i.hook("content:document-driven:finish",({route:t,page:u})=>{t.meta.studio_page_contentId=u==null?void 0:u._id}),i.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:p(U())},"*"),setTimeout(()=>{v()},100)});function v(){const t=Array.from(window.document.querySelectorAll("[data-content-id]")).map(x=>x.getAttribute("data-content-id")),u=Array.from(new Set([n.meta.studio_page_contentId,...t])).filter(Boolean);if(d.value===u[0]){d.value="";return}window.openContentInStudioEditor(u,{navigate:!0,pageContentId:n.meta.studio_page_contentId})}window.openContentInStudioEditor=(t,u={})=>{window.parent.postMessage({type:"nuxt-studio:preview:navigate",payload:{...p(n),contentIds:t,...u}},"*")}}};export{qe as useStudio}; diff --git a/_payload.json b/_payload.json index 6dd815ab72..16927bc04f 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;}",1699977339025] \ 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;}",1699999581860] \ 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 37d216c2fe..a254b98ccb 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;}",1699977343005] \ 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;}",1699999588925] \ 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 1c85a21a3e..12867b0cf1 100644 --- a/advanced/customize-recaptcha-script-loading/index.html +++ b/advanced/customize-recaptcha-script-loading/index.html @@ -28,45 +28,45 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Customize reCAPTCHA script loading

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

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

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

The defineScriptLoader function and ScriptLoaderOptions

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

Customize reCAPTCHA script loading

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

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

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

The defineScriptLoader function and ScriptLoaderOptions

export interface RecaptchaParams {  // You must pass these two value as query string to reCAPTCHA  render: LiteralUnion<'explicit', string>  onload: string  // Below you can customize as you want  hl?: string | undefined  trustedtypes?: 'true' | undefined  [k: string]: string | undefined}export interface ScriptLoaderOptions {  /**   * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored   */  useRecaptchaNet?: boolean  /**   * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored   */  recaptchaApiURL: string  /**   * nonce for script tag   */  nonce?: string  /**   * params for recaptcha api   */  params: RecaptchaParams}/** *  Helper function for define your own loadScript function */function defineScriptLoader(fn: ScriptLoaderFactory): NormalizedScriptLoaderFactory
+ \ No newline at end of file diff --git a/api/_content/cache.1699977297241.json b/api/_content/cache.1699999516346.json similarity index 99% rename from api/_content/cache.1699977297241.json rename to api/_content/cache.1699999516346.json index 332fcd0502..1f61a2167b 100644 --- a/api/_content/cache.1699977297241.json +++ b/api/_content/cache.1699999516346.json @@ -1 +1 @@ -{"generatedAt":1699977338981,"generateTime":3550,"contents":[{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"vue-recaptcha document","description":"","navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/guide\"]",":secondary":"[\"Open on GitHub →\",\"https://github.com/DanSnow/vue-recaptcha\"]","snippet":"yarn add vue-recaptcha@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js"}]}]}]},{"type":"element","tag":"index-demo","props":{},"children":[{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"What's included"}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v2"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The \"I'm not a robot\" checkbox"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Determinate if user is human without interrupt the user flow"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt integration"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use reCAPTCHA in Nuxt.js"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:0.index.md","_source":"content","_file":"0.index.md","_extension":"md"},{"_path":"/guide/_dir","_dir":"guide","_draft":false,"_partial":true,"_locale":"","title":"Guide","_id":"content:1.guide:_dir.yml","_type":"yaml","_source":"content","_file":"1.guide/_dir.yml","_extension":"yml"},{"_path":"/guide","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Get started","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"get-started"},"children":[{"type":"text","value":"Get started"}]},{"type":"element","tag":"alert","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From vue-recaptcha v2? v3 is a complete rewrite, please check out "},{"type":"element","tag":"a","props":{"href":"./guide/migration"},"children":[{"type":"text","value":"migration guide"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Let's get started with vue-recaptcha."}]},{"type":"element","tag":"h1","props":{"id":"what-is-vue-recaptcha"},"children":[{"type":"text","value":"What is vue-recaptcha"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is just a wrapper to provide an easier interface for "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/","rel":["nofollow"]},"children":[{"type":"text","value":"Google's reCAPTCHA"}]}]},{"type":"element","tag":"list","props":{"type":"success"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component that is easy to use"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"composable to integrate into your own app"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is not for:"}]},{"type":"element","tag":"list","props":{"type":"danger"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"customize reCAPTCHA UI"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"provide features that is not implemented by Google reCATPCHA, like change language on the fly"}]}]}]},{"type":"element","tag":"h2","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Yarn"},"children":[{"type":"element","tag":"terminal","props":{"content":"yarn add vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"NPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"npm install vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"PNPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"pnpm add vue-recaptcha@next"},"children":[]}]}]},{"type":"element","tag":"h2","props":{"id":"setup-vue-recaptcha-plugin"},"children":[{"type":"text","value":"Setup vue-recaptcha plugin"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, vue-recaptcha use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" to inject the reCAPTCHA script, if you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", please check out "},{"type":"element","tag":"a","props":{"href":"#usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please replace "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V2_SITEKEY_HERE"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V3_SITEKEY_HERE"}]},{"type":"text","value":" with your keys. If you don't have one, please go to "},{"type":"element","tag":"a","props":{"href":"https://www.google.com/recaptcha/admin","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" and apply one"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In this document, if you see "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]},{"type":"text","value":" which means you'll need to pass "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]},{"type":"text","value":" and "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]},{"type":"text","value":" means you'll need "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v3SiteKey"}]}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"text","value":"If you did't provide the corresponding site key, you'll get a runtime error"}]},{"type":"element","tag":"h2","props":{"id":"provide-recaptcha-script"},"children":[{"type":"text","value":"Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" id"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"app\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"router-view"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"That's all, now you can start using vue-recaptcha. Please see "},{"type":"element","tag":"a","props":{"href":"./components"},"children":[{"type":"text","value":"components"}]},{"type":"text","value":" for quick introduce for all of the components"}]},{"type":"element","tag":"button-link","props":{"href":"./components"},"children":[{"type":"text","value":"Go to component overview"}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", you can simply import the plugin from "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"vue-recaptcha/head"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha/head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With this version, it will inject the reCAPTCHA script by simply creating a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"script"}]},{"type":"text","value":" tag in document "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"head"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"installation","depth":2,"text":"Installation"},{"id":"setup-vue-recaptcha-plugin","depth":2,"text":"Setup vue-recaptcha plugin"},{"id":"provide-recaptcha-script","depth":2,"text":"Provide reCAPTCHA script"},{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"}]}},"_type":"markdown","_id":"content:1.guide:0.index.md","_source":"content","_file":"1.guide/0.index.md","_extension":"md"},{"_path":"/guide/nuxt","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Nuxt","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha supports Nuxt.js out of the box."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"danger"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Original name"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Renamed to"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Checkbox"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaCheckbox"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV3"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can pass options to the module by adding a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"runtimeConfig.public"}]},{"type":"text","value":"."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"enterprise"},"children":[{"type":"text","value":"Enterprise"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using reCAPTCHA Enterprise, you can use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config"}]},{"type":"text","value":" to enable the enterprise version support."}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"manually-install-plugin"},"children":[{"type":"text","value":"Manually Install Plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n plugin: false,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" plugin: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Then you will need to manually set up the plugin by creating a file named "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.ts"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"plugins"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha'\n\nexport default defineNuxtPlugin(({ vueApp }) => {\n const {\n public: { recaptcha },\n } = useRuntimeConfig()\n vueApp.use(VueRecaptchaPlugin, recaptcha)\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" default"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineNuxtPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(({ "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"vueApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }) "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" public"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptcha"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useRuntimeConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" vueApp."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, recaptcha)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"options","depth":2,"text":"Options"},{"id":"enterprise","depth":2,"text":"Enterprise"},{"id":"manually-install-plugin","depth":2,"text":"Manually Install Plugin"}]}},"_type":"markdown","_id":"content:1.guide:1.nuxt.md","_source":"content","_file":"1.guide/1.nuxt.md","_extension":"md"},{"_path":"/guide/migration","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Migration from v2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"migration-from-v2"},"children":[{"type":"text","value":"Migration from v2"}]},{"type":"element","tag":"h2","props":{"id":"_1-set-up-the-plugin"},"children":[{"type":"text","value":"1. set up the plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"V3 need you to set up a Vue plugin before start using."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_SITE_KEY_HERE'\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_SITE_KEY_HERE'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_2-provide-recaptcha-script"},"children":[{"type":"text","value":"2. Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_3-use-the-components"},"children":[{"type":"text","value":"3. Use the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now you can start using the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the \"I'm not a robot\" checkbox, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/checkbox"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the invisible reCAPTCHA, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"_1-set-up-the-plugin","depth":2,"text":"1. set up the plugin"},{"id":"_2-provide-recaptcha-script","depth":2,"text":"2. Provide reCAPTCHA script"},{"id":"_3-use-the-components","depth":2,"text":"3. Use the components"}]}},"_type":"markdown","_id":"content:1.guide:2.migration.md","_source":"content","_file":"1.guide/2.migration.md","_extension":"md"},{"_path":"/guide/enterprise","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Enterprise reCAPTCHA Support","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"enterprise-recaptcha-support"},"children":[{"type":"text","value":"Enterprise reCAPTCHA Support"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Simply change your plugin import to the following:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" and want to use the enterprise version, you can use the following code:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise-head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using Nuxt, you can set the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.enterprise"}]},{"type":"text","value":" option to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]},{"type":"text","value":":"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"},{"id":"nuxt","depth":2,"text":"Nuxt"}]}},"_type":"markdown","_id":"content:1.guide:3.enterprise.md","_source":"content","_file":"1.guide/3.enterprise.md","_extension":"md"},{"_path":"/guide/faq","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"FAQ","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"faq"},"children":[{"type":"text","value":"FAQ"}]},{"type":"element","tag":"h2","props":{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded"},"children":[{"type":"text","value":"What is \"ReCAPTCHA couldn't find user-provided function: "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"__vueRecaptchaLoaded"}]},{"type":"text","value":"\"?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app."}]},{"type":"element","tag":"h2","props":{"id":"how-to-test-vue-recaptcha"},"children":[{"type":"text","value":"How to test vue-recaptcha?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can mock "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"window.grecaptcha"}]},{"type":"text","value":" to bypass google's recaptcha."}]},{"type":"element","tag":"h2","props":{"id":"how-about-an-e2e-testing-or-integration-testing"},"children":[{"type":"text","value":"How about an e2e testing (or integration testing)?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please reference to "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-run-automated-tests-with-recaptcha.-what-should-i-do","rel":["nofollow"]},"children":[{"type":"text","value":"recaptcha's FAQ"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded","depth":2,"text":"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?"},{"id":"how-to-test-vue-recaptcha","depth":2,"text":"How to test vue-recaptcha?"},{"id":"how-about-an-e2e-testing-or-integration-testing","depth":2,"text":"How about an e2e testing (or integration testing)?"}]}},"_type":"markdown","_id":"content:1.guide:4.faq.md","_source":"content","_file":"1.guide/4.faq.md","_extension":"md"},{"_path":"/components/_dir","_dir":"components","_draft":false,"_partial":true,"_locale":"","title":"Components","_id":"content:2.components:_dir.yml","_type":"yaml","_source":"content","_file":"2.components/_dir.yml","_extension":"yml"},{"_path":"/components","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Overview","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"overview"},"children":[{"type":"text","value":"Overview"}]},{"type":"element","tag":"h2","props":{"id":"checkbox-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The most basic form of the reCAPTCHA"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"button-link","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev2-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Invisible reCAPTCHA."}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev3-v3"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"checkbox-v2","depth":2,"text":"Checkbox v2"},{"id":"challengev2-v2","depth":2,"text":"ChallengeV2 v2"},{"id":"challengev3-v3","depth":2,"text":"ChallengeV3 v3"}]}},"_type":"markdown","_id":"content:2.components:0.index.md","_source":"content","_file":"2.components/0.index.md","_extension":"md"},{"_path":"/components/checkbox","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"Checkbox","description":"Insert reCAPTCHA v2 checkbox","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"checkbox-v2"},"children":[{"type":"text","value":"Checkbox "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Insert reCAPTCHA v2 checkbox"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"checkbox-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ThemeButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response = ''\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? 'Verified' : 'Please click the checkbox' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :key"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :theme"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"theme"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light' | 'dark'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Theme for reCAPTCHA checkbox"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"size"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal' | 'compact'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Size for the reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]}]}},"_type":"markdown","_id":"content:2.components:1.checkbox.md","_source":"content","_file":"2.components/1.checkbox.md","_extension":"md"},{"_path":"/components/challenge-v2","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV2","description":"Create invisible reCAPTCHA v2","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev2-v2"},"children":[{"type":"text","value":"ChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create invisible reCAPTCHA v2"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v2-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { RecaptchaV2State } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '#recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" map"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Init]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Click to Challenge'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Verified]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Expired]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Error]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-slot"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"{ state }\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"badge"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"`'bottomright'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'bottomleft'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'inline'`"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * widget id\n */\n widgetId: WidgetID | undefined\n /**\n * reCAPTCHA state\n */\n state: RecaptchaV2State\n\n isError: boolean\n isExpired: boolean\n isVerified: boolean\n\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n /**\n * execute challenge\n */\n execute: () => void\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetId"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA state"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isVerified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"recaptchav2state"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaV2State"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export enum RecaptchaV2State {\n Init = 'init',\n Verified = 'verified',\n Expired = 'expired',\n Error = 'error',\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" enum"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Init"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'init'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Verified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Expired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Error"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"mermaid","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"},{"id":"recaptchav2state","depth":3,"text":"RecaptchaV2State"}]}]}},"_type":"markdown","_id":"content:2.components:2.challenge-v2.md","_source":"content","_file":"2.components/2.challenge-v2.md","_extension":"md"},{"_path":"/components/challenge-v3","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV3","description":"Create reCAPTCHA v3 challenge","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev3-v3"},"children":[{"type":"text","value":"ChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create reCAPTCHA v3 challenge"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v3-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" action"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":" for reCAPTCHA v3"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * reCAPTCHA v3 response\n */\n response: string | undefined\n /**\n * execute reCAPTCHA v3 challenge\n */\n execute: () => Promise\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute reCAPTCHA v3 challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"}]}]}},"_type":"markdown","_id":"content:2.components:3.challenge-v3.md","_source":"content","_file":"2.components/3.challenge-v3.md","_extension":"md"},{"_path":"/composables/_dir","_dir":"composables","_draft":false,"_partial":true,"_locale":"","title":"Composables","_id":"content:3.composables:_dir.yml","_type":"yaml","_source":"content","_file":"3.composables/_dir.yml","_extension":"yml"},{"_path":"/composables/recaptcha-provider","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useRecaptchaProvider","description":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"userecaptchaprovider"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work."}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.composables:0.recaptcha-provider.md","_source":"content","_file":"3.composables/0.recaptcha-provider.md","_extension":"md"},{"_path":"/composables/challenge-v2","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev2-v2"},"children":[{"type":"text","value":"useChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"interface RecaptchaV2CheckboxOptionsInput {\n theme?: 'dark' | 'light'\n size?: 'compact' | 'normal'\n tabindex?: string\n}\n\ninterface RecaptchaV2InvisibleOptionsInput {\n badge?: 'bottomright' | 'bottomleft' | 'inline'\n size: 'invisible'\n tabindex?: string\n}\n\nexport interface UseChallengeV2Input {\n /**\n * root to mount reCAPTCHA\n */\n root?: MaybeComputedRef\n /**\n * Option that pass to reCAPTCHA render\n */\n options?: RecaptchaV2OptionsInput\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2CheckboxOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'light'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'compact'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'normal'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2InvisibleOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" badge"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomright'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomleft'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'inline'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'invisible'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Input"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" MaybeComputedRef"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Option that pass to reCAPTCHA render"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" options"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2OptionsInput"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV2Return {\n /**\n * root element ref to mount reCAPTCHA\n */\n root: Ref\n /**\n * reCAPTCHA widget id\n */\n widgetID: Ref\n\n /**\n * state of reCAPTCHA\n */\n state: Ref\n\n /**\n * the verified event\n */\n onVerify: EventHookOn\n /**\n * the expired event\n */\n onExpired: EventHookOn\n /**\n * the error event\n */\n onError: EventHookOn\n\n /**\n * execute the challenge\n */\n execute: () => void\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root element ref to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * state of reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the verified event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the expired event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"void"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the error event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":35},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":37},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"About the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"state"}]},{"type":"text","value":" please see "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2#recaptchav2state"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" for more details"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please see "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/display#render_param","rel":["nofollow"]},"children":[{"type":"text","value":"reCAPTCHA docs"}]},{"type":"text","value":" for more information about the options."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"examples"},"children":[{"type":"text","value":"Examples"}]},{"type":"element","tag":"h3","props":{"id":"checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" theme: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'normal'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"invisible-recaptcha"},"children":[{"type":"text","value":"Invisible reCAPTCHA"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'invisible'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"execute\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"examples","depth":2,"text":"Examples","children":[{"id":"checkbox","depth":3,"text":"Checkbox"},{"id":"invisible-recaptcha","depth":3,"text":"Invisible reCAPTCHA"}]}]}},"_type":"markdown","_id":"content:3.composables:1.challenge-v2.md","_source":"content","_file":"3.composables/1.challenge-v2.md","_extension":"md"},{"_path":"/composables/challenge-v3","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV3","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev3-v3"},"children":[{"type":"text","value":"useChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you execute the reCAPTCHA v3 challenge"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":": The action for reCAPTCHA v3"}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV3Return {\n /**\n * reCAPTCHA v3 response as ref\n */\n response: Ref\n /**\n * Execute the challenge\n * @returns response for reCAPTCHA v3\n */\n execute: () => Promise\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV3Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response as ref"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"@returns"}]},{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" response for reCAPTCHA v3"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV3 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'submit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"usage","depth":2,"text":"Usage"}]}},"_type":"markdown","_id":"content:3.composables:2.challenge-v3.md","_source":"content","_file":"3.composables/2.challenge-v3.md","_extension":"md"},{"_path":"/advanced/_dir","_dir":"advanced","_draft":false,"_partial":true,"_locale":"","title":"Advanced Topics","_id":"content:4.advanced:_dir.yml","_type":"yaml","_source":"content","_file":"4.advanced/_dir.yml","_extension":"yml"},{"_path":"/advanced/customize-recaptcha-script-loading","_dir":"advanced","_draft":false,"_partial":false,"_locale":"","title":"Customize reCAPTCHA script loading","description":"By default vue-recaptcha will use unhead to load the reCAPTCHA script.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"customize-recaptcha-script-loading"},"children":[{"type":"text","value":"Customize reCAPTCHA script loading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default vue-recaptcha will use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" to load the reCAPTCHA script."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to completely control how to load the reCAPTCHA script. You can use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"createPlugin"}]},{"type":"text","value":" to create a plugin with your own "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"loadScript"}]},{"type":"text","value":" function."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { onMounted } from 'vue'\nimport { defineScriptLoader, toQueryString } from 'vue-recaptcha'\n\n// Define your own loadScript function\nconst loadScript = defineScriptLoader((options) => {\n // This function will be called by useRecaptchaProvider\n return () => {\n onMounted(() => {\n // You can use any way to load the reCAPTCHA script\n const script = document.createElement('script')\n script.src = `${options.recaptchaApiURL}?${toQueryString(options.params)}`\n script.async = true\n script.defer = true\n if (options.nonce) {\n script.nonce = options.nonce\n }\n document.head.append(script)\n })\n }\n})\n\nconst plugin = createPlugin(loadScript)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { onMounted } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { defineScriptLoader, toQueryString } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"// Define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" loadScript"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // This function will be called by useRecaptchaProvider"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onMounted"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You can use any way to load the reCAPTCHA script"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" script"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"createElement"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'script'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.src "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" `${"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}?${"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"toQueryString"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"params"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}`"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.async "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.defer "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" (options.nonce) {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.nonce "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options.nonce"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document.head."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"append"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(script)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" plugin"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(loadScript)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"the-definescriptloader-function-and-scriptloaderoptions"},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"defineScriptLoader"}]},{"type":"text","value":" function and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ScriptLoaderOptions"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface RecaptchaParams {\n // You must pass these two value as query string to reCAPTCHA\n render: LiteralUnion<'explicit', string>\n onload: string\n\n // Below you can customize as you want\n hl?: string | undefined\n trustedtypes?: 'true' | undefined\n [k: string]: string | undefined\n}\n\nexport interface ScriptLoaderOptions {\n /**\n * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored\n */\n useRecaptchaNet?: boolean\n /**\n * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored\n */\n recaptchaApiURL: string\n /**\n * nonce for script tag\n */\n nonce?: string\n /**\n * params for recaptcha api\n */\n params: RecaptchaParams\n}\n\n/**\n * Helper function for define your own loadScript function\n */\nfunction defineScriptLoader(fn: ScriptLoaderFactory): NormalizedScriptLoaderFactory\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You must pass these two value as query string to reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" render"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" LiteralUnion"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'explicit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onload"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // Below you can customize as you want"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" hl"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" trustedtypes"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'true'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [k: string]"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderOptions"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" useRecaptchaNet"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * nonce for script tag"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" nonce"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * params for recaptcha api"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" params"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"/**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Helper function for define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"fn"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderFactory"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" NormalizedScriptLoaderFactory"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"the-definescriptloader-function-and-scriptloaderoptions","depth":2,"text":"The defineScriptLoader function and ScriptLoaderOptions"}]}},"_type":"markdown","_id":"content:4.advanced:0.customize-recaptcha-script-loading.md","_source":"content","_file":"4.advanced/0.customize-recaptcha-script-loading.md","_extension":"md"},{"_path":"/integration/_dir","_dir":"integration","_draft":false,"_partial":true,"_locale":"","title":"Integration","_id":"content:5.integration:_dir.yml","_type":"yaml","_source":"content","_file":"5.integration/_dir.yml","_extension":"yml"},{"_path":"/integration/vee-validation","_dir":"integration","_draft":false,"_partial":false,"_locale":"","title":"Vee Validation","description":"Vee Validate is a plugin for form validation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"vee-validation"},"children":[{"type":"text","value":"Vee Validation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://vee-validate.logaretm.com/v4/","rel":["nofollow"]},"children":[{"type":"text","value":"Vee Validate"}]},{"type":"text","value":" is a plugin for form validation."}]},{"type":"element","tag":"h3","props":{"id":"confirm-user-has-clicked-the-checkbox-before-submit"},"children":[{"type":"text","value":"Confirm user has clicked the checkbox before submit"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Please verify you are human'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'recaptcha'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(values)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaCheckbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ recaptchaError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"execute-challenge-when-user-submit-form"},"children":[{"type":"text","value":"Execute challenge when user submit form"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-invisible","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { until } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '@vueuse/core'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" until"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({ "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"..."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"values, response: response.value })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"confirm-user-has-clicked-the-checkbox-before-submit","depth":3,"text":"Confirm user has clicked the checkbox before submit"},{"id":"execute-challenge-when-user-submit-form","depth":3,"text":"Execute challenge when user submit form"}]}},"_type":"markdown","_id":"content:5.integration:0.vee-validation.md","_source":"content","_file":"5.integration/0.vee-validation.md","_extension":"md"}],"navigation":[{"title":"Guide","_path":"/guide","children":[{"title":"Get started","_path":"/guide"},{"title":"Nuxt","_path":"/guide/nuxt"},{"title":"Migration from v2","_path":"/guide/migration"},{"title":"Enterprise reCAPTCHA Support","_path":"/guide/enterprise"},{"title":"FAQ","_path":"/guide/faq"}]},{"title":"Components","_path":"/components","children":[{"title":"Overview","_path":"/components"},{"title":"Checkbox","_path":"/components/checkbox"},{"title":"ChallengeV2","_path":"/components/challenge-v2"},{"title":"ChallengeV3","_path":"/components/challenge-v3"}]},{"title":"Composables","_path":"/composables","children":[{"title":"useRecaptchaProvider","_path":"/composables/recaptcha-provider"},{"title":"useChallengeV2","_path":"/composables/challenge-v2"},{"title":"useChallengeV3","_path":"/composables/challenge-v3"}]},{"title":"Advanced Topics","_path":"/advanced","children":[{"title":"Customize reCAPTCHA script loading","_path":"/advanced/customize-recaptcha-script-loading"}]},{"title":"Integration","_path":"/integration","children":[{"title":"Vee Validation","_path":"/integration/vee-validation"}]}]} \ No newline at end of file +{"generatedAt":1699999581799,"generateTime":5774,"contents":[{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"vue-recaptcha document","description":"","navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/guide\"]",":secondary":"[\"Open on GitHub →\",\"https://github.com/DanSnow/vue-recaptcha\"]","snippet":"yarn add vue-recaptcha@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js"}]}]}]},{"type":"element","tag":"index-demo","props":{},"children":[{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"What's included"}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v2"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The \"I'm not a robot\" checkbox"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Determinate if user is human without interrupt the user flow"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt integration"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use reCAPTCHA in Nuxt.js"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:0.index.md","_source":"content","_file":"0.index.md","_extension":"md"},{"_path":"/guide/_dir","_dir":"guide","_draft":false,"_partial":true,"_locale":"","title":"Guide","_id":"content:1.guide:_dir.yml","_type":"yaml","_source":"content","_file":"1.guide/_dir.yml","_extension":"yml"},{"_path":"/guide","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Get started","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"get-started"},"children":[{"type":"text","value":"Get started"}]},{"type":"element","tag":"alert","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From vue-recaptcha v2? v3 is a complete rewrite, please check out "},{"type":"element","tag":"a","props":{"href":"./guide/migration"},"children":[{"type":"text","value":"migration guide"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Let's get started with vue-recaptcha."}]},{"type":"element","tag":"h1","props":{"id":"what-is-vue-recaptcha"},"children":[{"type":"text","value":"What is vue-recaptcha"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is just a wrapper to provide an easier interface for "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/","rel":["nofollow"]},"children":[{"type":"text","value":"Google's reCAPTCHA"}]}]},{"type":"element","tag":"list","props":{"type":"success"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component that is easy to use"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"composable to integrate into your own app"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is not for:"}]},{"type":"element","tag":"list","props":{"type":"danger"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"customize reCAPTCHA UI"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"provide features that is not implemented by Google reCATPCHA, like change language on the fly"}]}]}]},{"type":"element","tag":"h2","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Yarn"},"children":[{"type":"element","tag":"terminal","props":{"content":"yarn add vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"NPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"npm install vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"PNPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"pnpm add vue-recaptcha@next"},"children":[]}]}]},{"type":"element","tag":"h2","props":{"id":"setup-vue-recaptcha-plugin"},"children":[{"type":"text","value":"Setup vue-recaptcha plugin"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, vue-recaptcha use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" to inject the reCAPTCHA script, if you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", please check out "},{"type":"element","tag":"a","props":{"href":"#usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please replace "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V2_SITEKEY_HERE"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V3_SITEKEY_HERE"}]},{"type":"text","value":" with your keys. If you don't have one, please go to "},{"type":"element","tag":"a","props":{"href":"https://www.google.com/recaptcha/admin","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" and apply one"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In this document, if you see "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]},{"type":"text","value":" which means you'll need to pass "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]},{"type":"text","value":" and "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]},{"type":"text","value":" means you'll need "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v3SiteKey"}]}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"text","value":"If you did't provide the corresponding site key, you'll get a runtime error"}]},{"type":"element","tag":"h2","props":{"id":"provide-recaptcha-script"},"children":[{"type":"text","value":"Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" id"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"app\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"router-view"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"That's all, now you can start using vue-recaptcha. Please see "},{"type":"element","tag":"a","props":{"href":"./components"},"children":[{"type":"text","value":"components"}]},{"type":"text","value":" for quick introduce for all of the components"}]},{"type":"element","tag":"button-link","props":{"href":"./components"},"children":[{"type":"text","value":"Go to component overview"}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", you can simply import the plugin from "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"vue-recaptcha/head"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha/head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With this version, it will inject the reCAPTCHA script by simply creating a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"script"}]},{"type":"text","value":" tag in document "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"head"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"installation","depth":2,"text":"Installation"},{"id":"setup-vue-recaptcha-plugin","depth":2,"text":"Setup vue-recaptcha plugin"},{"id":"provide-recaptcha-script","depth":2,"text":"Provide reCAPTCHA script"},{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"}]}},"_type":"markdown","_id":"content:1.guide:0.index.md","_source":"content","_file":"1.guide/0.index.md","_extension":"md"},{"_path":"/guide/nuxt","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Nuxt","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha supports Nuxt.js out of the box."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"danger"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Original name"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Renamed to"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Checkbox"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaCheckbox"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV3"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can pass options to the module by adding a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"runtimeConfig.public"}]},{"type":"text","value":"."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"enterprise"},"children":[{"type":"text","value":"Enterprise"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using reCAPTCHA Enterprise, you can use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config"}]},{"type":"text","value":" to enable the enterprise version support."}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"manually-install-plugin"},"children":[{"type":"text","value":"Manually Install Plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n plugin: false,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" plugin: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Then you will need to manually set up the plugin by creating a file named "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.ts"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"plugins"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha'\n\nexport default defineNuxtPlugin(({ vueApp }) => {\n const {\n public: { recaptcha },\n } = useRuntimeConfig()\n vueApp.use(VueRecaptchaPlugin, recaptcha)\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" default"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineNuxtPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(({ "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"vueApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }) "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" public"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptcha"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useRuntimeConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" vueApp."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, recaptcha)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"options","depth":2,"text":"Options"},{"id":"enterprise","depth":2,"text":"Enterprise"},{"id":"manually-install-plugin","depth":2,"text":"Manually Install Plugin"}]}},"_type":"markdown","_id":"content:1.guide:1.nuxt.md","_source":"content","_file":"1.guide/1.nuxt.md","_extension":"md"},{"_path":"/guide/migration","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Migration from v2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"migration-from-v2"},"children":[{"type":"text","value":"Migration from v2"}]},{"type":"element","tag":"h2","props":{"id":"_1-set-up-the-plugin"},"children":[{"type":"text","value":"1. set up the plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"V3 need you to set up a Vue plugin before start using."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_SITE_KEY_HERE'\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_SITE_KEY_HERE'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_2-provide-recaptcha-script"},"children":[{"type":"text","value":"2. Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_3-use-the-components"},"children":[{"type":"text","value":"3. Use the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now you can start using the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the \"I'm not a robot\" checkbox, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/checkbox"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the invisible reCAPTCHA, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"_1-set-up-the-plugin","depth":2,"text":"1. set up the plugin"},{"id":"_2-provide-recaptcha-script","depth":2,"text":"2. Provide reCAPTCHA script"},{"id":"_3-use-the-components","depth":2,"text":"3. Use the components"}]}},"_type":"markdown","_id":"content:1.guide:2.migration.md","_source":"content","_file":"1.guide/2.migration.md","_extension":"md"},{"_path":"/guide/enterprise","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Enterprise reCAPTCHA Support","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"enterprise-recaptcha-support"},"children":[{"type":"text","value":"Enterprise reCAPTCHA Support"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Simply change your plugin import to the following:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" and want to use the enterprise version, you can use the following code:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise-head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using Nuxt, you can set the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.enterprise"}]},{"type":"text","value":" option to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]},{"type":"text","value":":"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"},{"id":"nuxt","depth":2,"text":"Nuxt"}]}},"_type":"markdown","_id":"content:1.guide:3.enterprise.md","_source":"content","_file":"1.guide/3.enterprise.md","_extension":"md"},{"_path":"/guide/faq","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"FAQ","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"faq"},"children":[{"type":"text","value":"FAQ"}]},{"type":"element","tag":"h2","props":{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded"},"children":[{"type":"text","value":"What is \"ReCAPTCHA couldn't find user-provided function: "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"__vueRecaptchaLoaded"}]},{"type":"text","value":"\"?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app."}]},{"type":"element","tag":"h2","props":{"id":"how-to-test-vue-recaptcha"},"children":[{"type":"text","value":"How to test vue-recaptcha?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can mock "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"window.grecaptcha"}]},{"type":"text","value":" to bypass google's recaptcha."}]},{"type":"element","tag":"h2","props":{"id":"how-about-an-e2e-testing-or-integration-testing"},"children":[{"type":"text","value":"How about an e2e testing (or integration testing)?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please reference to "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-run-automated-tests-with-recaptcha.-what-should-i-do","rel":["nofollow"]},"children":[{"type":"text","value":"recaptcha's FAQ"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded","depth":2,"text":"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?"},{"id":"how-to-test-vue-recaptcha","depth":2,"text":"How to test vue-recaptcha?"},{"id":"how-about-an-e2e-testing-or-integration-testing","depth":2,"text":"How about an e2e testing (or integration testing)?"}]}},"_type":"markdown","_id":"content:1.guide:4.faq.md","_source":"content","_file":"1.guide/4.faq.md","_extension":"md"},{"_path":"/components/_dir","_dir":"components","_draft":false,"_partial":true,"_locale":"","title":"Components","_id":"content:2.components:_dir.yml","_type":"yaml","_source":"content","_file":"2.components/_dir.yml","_extension":"yml"},{"_path":"/components","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Overview","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"overview"},"children":[{"type":"text","value":"Overview"}]},{"type":"element","tag":"h2","props":{"id":"checkbox-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The most basic form of the reCAPTCHA"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"button-link","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev2-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Invisible reCAPTCHA."}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev3-v3"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"checkbox-v2","depth":2,"text":"Checkbox v2"},{"id":"challengev2-v2","depth":2,"text":"ChallengeV2 v2"},{"id":"challengev3-v3","depth":2,"text":"ChallengeV3 v3"}]}},"_type":"markdown","_id":"content:2.components:0.index.md","_source":"content","_file":"2.components/0.index.md","_extension":"md"},{"_path":"/components/checkbox","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"Checkbox","description":"Insert reCAPTCHA v2 checkbox","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"checkbox-v2"},"children":[{"type":"text","value":"Checkbox "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Insert reCAPTCHA v2 checkbox"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"checkbox-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ThemeButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response = ''\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? 'Verified' : 'Please click the checkbox' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :key"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :theme"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"theme"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light' | 'dark'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Theme for reCAPTCHA checkbox"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"size"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal' | 'compact'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Size for the reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]}]}},"_type":"markdown","_id":"content:2.components:1.checkbox.md","_source":"content","_file":"2.components/1.checkbox.md","_extension":"md"},{"_path":"/components/challenge-v2","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV2","description":"Create invisible reCAPTCHA v2","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev2-v2"},"children":[{"type":"text","value":"ChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create invisible reCAPTCHA v2"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v2-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { RecaptchaV2State } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '#recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" map"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Init]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Click to Challenge'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Verified]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Expired]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Error]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-slot"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"{ state }\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"badge"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"`'bottomright'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'bottomleft'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'inline'`"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * widget id\n */\n widgetId: WidgetID | undefined\n /**\n * reCAPTCHA state\n */\n state: RecaptchaV2State\n\n isError: boolean\n isExpired: boolean\n isVerified: boolean\n\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n /**\n * execute challenge\n */\n execute: () => void\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetId"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA state"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isVerified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"recaptchav2state"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaV2State"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export enum RecaptchaV2State {\n Init = 'init',\n Verified = 'verified',\n Expired = 'expired',\n Error = 'error',\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" enum"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Init"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'init'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Verified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Expired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Error"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"mermaid","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"},{"id":"recaptchav2state","depth":3,"text":"RecaptchaV2State"}]}]}},"_type":"markdown","_id":"content:2.components:2.challenge-v2.md","_source":"content","_file":"2.components/2.challenge-v2.md","_extension":"md"},{"_path":"/components/challenge-v3","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV3","description":"Create reCAPTCHA v3 challenge","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev3-v3"},"children":[{"type":"text","value":"ChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create reCAPTCHA v3 challenge"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v3-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" action"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":" for reCAPTCHA v3"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * reCAPTCHA v3 response\n */\n response: string | undefined\n /**\n * execute reCAPTCHA v3 challenge\n */\n execute: () => Promise\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute reCAPTCHA v3 challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"}]}]}},"_type":"markdown","_id":"content:2.components:3.challenge-v3.md","_source":"content","_file":"2.components/3.challenge-v3.md","_extension":"md"},{"_path":"/composables/_dir","_dir":"composables","_draft":false,"_partial":true,"_locale":"","title":"Composables","_id":"content:3.composables:_dir.yml","_type":"yaml","_source":"content","_file":"3.composables/_dir.yml","_extension":"yml"},{"_path":"/composables/recaptcha-provider","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useRecaptchaProvider","description":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"userecaptchaprovider"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work."}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.composables:0.recaptcha-provider.md","_source":"content","_file":"3.composables/0.recaptcha-provider.md","_extension":"md"},{"_path":"/composables/challenge-v2","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev2-v2"},"children":[{"type":"text","value":"useChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"interface RecaptchaV2CheckboxOptionsInput {\n theme?: 'dark' | 'light'\n size?: 'compact' | 'normal'\n tabindex?: string\n}\n\ninterface RecaptchaV2InvisibleOptionsInput {\n badge?: 'bottomright' | 'bottomleft' | 'inline'\n size: 'invisible'\n tabindex?: string\n}\n\nexport interface UseChallengeV2Input {\n /**\n * root to mount reCAPTCHA\n */\n root?: MaybeComputedRef\n /**\n * Option that pass to reCAPTCHA render\n */\n options?: RecaptchaV2OptionsInput\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2CheckboxOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'light'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'compact'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'normal'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2InvisibleOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" badge"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomright'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomleft'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'inline'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'invisible'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Input"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" MaybeComputedRef"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Option that pass to reCAPTCHA render"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" options"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2OptionsInput"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV2Return {\n /**\n * root element ref to mount reCAPTCHA\n */\n root: Ref\n /**\n * reCAPTCHA widget id\n */\n widgetID: Ref\n\n /**\n * state of reCAPTCHA\n */\n state: Ref\n\n /**\n * the verified event\n */\n onVerify: EventHookOn\n /**\n * the expired event\n */\n onExpired: EventHookOn\n /**\n * the error event\n */\n onError: EventHookOn\n\n /**\n * execute the challenge\n */\n execute: () => void\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root element ref to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * state of reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the verified event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the expired event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"void"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the error event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":35},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":37},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"About the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"state"}]},{"type":"text","value":" please see "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2#recaptchav2state"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" for more details"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please see "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/display#render_param","rel":["nofollow"]},"children":[{"type":"text","value":"reCAPTCHA docs"}]},{"type":"text","value":" for more information about the options."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"examples"},"children":[{"type":"text","value":"Examples"}]},{"type":"element","tag":"h3","props":{"id":"checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" theme: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'normal'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"invisible-recaptcha"},"children":[{"type":"text","value":"Invisible reCAPTCHA"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'invisible'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"execute\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"examples","depth":2,"text":"Examples","children":[{"id":"checkbox","depth":3,"text":"Checkbox"},{"id":"invisible-recaptcha","depth":3,"text":"Invisible reCAPTCHA"}]}]}},"_type":"markdown","_id":"content:3.composables:1.challenge-v2.md","_source":"content","_file":"3.composables/1.challenge-v2.md","_extension":"md"},{"_path":"/composables/challenge-v3","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV3","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev3-v3"},"children":[{"type":"text","value":"useChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you execute the reCAPTCHA v3 challenge"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":": The action for reCAPTCHA v3"}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV3Return {\n /**\n * reCAPTCHA v3 response as ref\n */\n response: Ref\n /**\n * Execute the challenge\n * @returns response for reCAPTCHA v3\n */\n execute: () => Promise\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV3Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response as ref"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"@returns"}]},{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" response for reCAPTCHA v3"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV3 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'submit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"usage","depth":2,"text":"Usage"}]}},"_type":"markdown","_id":"content:3.composables:2.challenge-v3.md","_source":"content","_file":"3.composables/2.challenge-v3.md","_extension":"md"},{"_path":"/advanced/_dir","_dir":"advanced","_draft":false,"_partial":true,"_locale":"","title":"Advanced Topics","_id":"content:4.advanced:_dir.yml","_type":"yaml","_source":"content","_file":"4.advanced/_dir.yml","_extension":"yml"},{"_path":"/advanced/customize-recaptcha-script-loading","_dir":"advanced","_draft":false,"_partial":false,"_locale":"","title":"Customize reCAPTCHA script loading","description":"By default vue-recaptcha will use unhead to load the reCAPTCHA script.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"customize-recaptcha-script-loading"},"children":[{"type":"text","value":"Customize reCAPTCHA script loading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default vue-recaptcha will use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" to load the reCAPTCHA script."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to completely control how to load the reCAPTCHA script. You can use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"createPlugin"}]},{"type":"text","value":" to create a plugin with your own "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"loadScript"}]},{"type":"text","value":" function."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { onMounted } from 'vue'\nimport { defineScriptLoader, toQueryString } from 'vue-recaptcha'\n\n// Define your own loadScript function\nconst loadScript = defineScriptLoader((options) => {\n // This function will be called by useRecaptchaProvider\n return () => {\n onMounted(() => {\n // You can use any way to load the reCAPTCHA script\n const script = document.createElement('script')\n script.src = `${options.recaptchaApiURL}?${toQueryString(options.params)}`\n script.async = true\n script.defer = true\n if (options.nonce) {\n script.nonce = options.nonce\n }\n document.head.append(script)\n })\n }\n})\n\nconst plugin = createPlugin(loadScript)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { onMounted } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { defineScriptLoader, toQueryString } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"// Define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" loadScript"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // This function will be called by useRecaptchaProvider"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onMounted"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You can use any way to load the reCAPTCHA script"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" script"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"createElement"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'script'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.src "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" `${"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}?${"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"toQueryString"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"params"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}`"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.async "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.defer "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" (options.nonce) {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.nonce "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options.nonce"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document.head."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"append"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(script)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" plugin"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(loadScript)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"the-definescriptloader-function-and-scriptloaderoptions"},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"defineScriptLoader"}]},{"type":"text","value":" function and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ScriptLoaderOptions"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface RecaptchaParams {\n // You must pass these two value as query string to reCAPTCHA\n render: LiteralUnion<'explicit', string>\n onload: string\n\n // Below you can customize as you want\n hl?: string | undefined\n trustedtypes?: 'true' | undefined\n [k: string]: string | undefined\n}\n\nexport interface ScriptLoaderOptions {\n /**\n * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored\n */\n useRecaptchaNet?: boolean\n /**\n * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored\n */\n recaptchaApiURL: string\n /**\n * nonce for script tag\n */\n nonce?: string\n /**\n * params for recaptcha api\n */\n params: RecaptchaParams\n}\n\n/**\n * Helper function for define your own loadScript function\n */\nfunction defineScriptLoader(fn: ScriptLoaderFactory): NormalizedScriptLoaderFactory\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You must pass these two value as query string to reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" render"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" LiteralUnion"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'explicit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onload"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // Below you can customize as you want"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" hl"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" trustedtypes"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'true'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [k: string]"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderOptions"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" useRecaptchaNet"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * nonce for script tag"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" nonce"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * params for recaptcha api"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" params"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"/**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Helper function for define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"fn"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderFactory"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" NormalizedScriptLoaderFactory"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"the-definescriptloader-function-and-scriptloaderoptions","depth":2,"text":"The defineScriptLoader function and ScriptLoaderOptions"}]}},"_type":"markdown","_id":"content:4.advanced:0.customize-recaptcha-script-loading.md","_source":"content","_file":"4.advanced/0.customize-recaptcha-script-loading.md","_extension":"md"},{"_path":"/integration/_dir","_dir":"integration","_draft":false,"_partial":true,"_locale":"","title":"Integration","_id":"content:5.integration:_dir.yml","_type":"yaml","_source":"content","_file":"5.integration/_dir.yml","_extension":"yml"},{"_path":"/integration/vee-validation","_dir":"integration","_draft":false,"_partial":false,"_locale":"","title":"Vee Validation","description":"Vee Validate is a plugin for form validation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"vee-validation"},"children":[{"type":"text","value":"Vee Validation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://vee-validate.logaretm.com/v4/","rel":["nofollow"]},"children":[{"type":"text","value":"Vee Validate"}]},{"type":"text","value":" is a plugin for form validation."}]},{"type":"element","tag":"h3","props":{"id":"confirm-user-has-clicked-the-checkbox-before-submit"},"children":[{"type":"text","value":"Confirm user has clicked the checkbox before submit"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Please verify you are human'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'recaptcha'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(values)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaCheckbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ recaptchaError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"execute-challenge-when-user-submit-form"},"children":[{"type":"text","value":"Execute challenge when user submit form"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-invisible","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { until } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '@vueuse/core'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" until"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({ "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"..."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"values, response: response.value })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"confirm-user-has-clicked-the-checkbox-before-submit","depth":3,"text":"Confirm user has clicked the checkbox before submit"},{"id":"execute-challenge-when-user-submit-form","depth":3,"text":"Execute challenge when user submit form"}]}},"_type":"markdown","_id":"content:5.integration:0.vee-validation.md","_source":"content","_file":"5.integration/0.vee-validation.md","_extension":"md"}],"navigation":[{"title":"Guide","_path":"/guide","children":[{"title":"Get started","_path":"/guide"},{"title":"Nuxt","_path":"/guide/nuxt"},{"title":"Migration from v2","_path":"/guide/migration"},{"title":"Enterprise reCAPTCHA Support","_path":"/guide/enterprise"},{"title":"FAQ","_path":"/guide/faq"}]},{"title":"Components","_path":"/components","children":[{"title":"Overview","_path":"/components"},{"title":"Checkbox","_path":"/components/checkbox"},{"title":"ChallengeV2","_path":"/components/challenge-v2"},{"title":"ChallengeV3","_path":"/components/challenge-v3"}]},{"title":"Composables","_path":"/composables","children":[{"title":"useRecaptchaProvider","_path":"/composables/recaptcha-provider"},{"title":"useChallengeV2","_path":"/composables/challenge-v2"},{"title":"useChallengeV3","_path":"/composables/challenge-v3"}]},{"title":"Advanced Topics","_path":"/advanced","children":[{"title":"Customize reCAPTCHA script loading","_path":"/advanced/customize-recaptcha-script-loading"}]},{"title":"Integration","_path":"/integration","children":[{"title":"Vee Validation","_path":"/integration/vee-validation"}]}]} \ No newline at end of file diff --git a/api/_content/navigation/u7BbTyuhiE.1699977297241.json b/api/_content/navigation/u7BbTyuhiE.1699999516346.json similarity index 100% rename from api/_content/navigation/u7BbTyuhiE.1699977297241.json rename to api/_content/navigation/u7BbTyuhiE.1699999516346.json diff --git a/api/_content/query/5o97oNYApY.1699977297241.json b/api/_content/query/5o97oNYApY.1699999516346.json similarity index 100% rename from api/_content/query/5o97oNYApY.1699977297241.json rename to api/_content/query/5o97oNYApY.1699999516346.json diff --git a/api/_content/query/6Ma98zDOAL.1699977297241.json b/api/_content/query/6Ma98zDOAL.1699999516346.json similarity index 100% rename from api/_content/query/6Ma98zDOAL.1699977297241.json rename to api/_content/query/6Ma98zDOAL.1699999516346.json diff --git a/api/_content/query/71x6tI7TZ6.1699977297241.json b/api/_content/query/71x6tI7TZ6.1699999516346.json similarity index 100% rename from api/_content/query/71x6tI7TZ6.1699977297241.json rename to api/_content/query/71x6tI7TZ6.1699999516346.json diff --git a/api/_content/query/7iVMcekoeE.1699977297241.json b/api/_content/query/7iVMcekoeE.1699999516346.json similarity index 100% rename from api/_content/query/7iVMcekoeE.1699977297241.json rename to api/_content/query/7iVMcekoeE.1699999516346.json diff --git a/api/_content/query/M3XVXw3HJU.1699977297241.json b/api/_content/query/M3XVXw3HJU.1699999516346.json similarity index 100% rename from api/_content/query/M3XVXw3HJU.1699977297241.json rename to api/_content/query/M3XVXw3HJU.1699999516346.json diff --git a/api/_content/query/MNRZfjwhUr.1699977297241.json b/api/_content/query/MNRZfjwhUr.1699999516346.json similarity index 100% rename from api/_content/query/MNRZfjwhUr.1699977297241.json rename to api/_content/query/MNRZfjwhUr.1699999516346.json diff --git a/api/_content/query/RR98Iqj5nh.1699977297241.json b/api/_content/query/RR98Iqj5nh.1699999516346.json similarity index 100% rename from api/_content/query/RR98Iqj5nh.1699977297241.json rename to api/_content/query/RR98Iqj5nh.1699999516346.json diff --git a/api/_content/query/SeoqWQG0fS.1699977297241.json b/api/_content/query/SeoqWQG0fS.1699999516346.json similarity index 100% rename from api/_content/query/SeoqWQG0fS.1699977297241.json rename to api/_content/query/SeoqWQG0fS.1699999516346.json diff --git a/api/_content/query/T9GHEEsuxc.1699977297241.json b/api/_content/query/T9GHEEsuxc.1699999516346.json similarity index 100% rename from api/_content/query/T9GHEEsuxc.1699977297241.json rename to api/_content/query/T9GHEEsuxc.1699999516346.json diff --git a/api/_content/query/TdqgdZYwVh.1699977297241.json b/api/_content/query/TdqgdZYwVh.1699999516346.json similarity index 100% rename from api/_content/query/TdqgdZYwVh.1699977297241.json rename to api/_content/query/TdqgdZYwVh.1699999516346.json diff --git a/api/_content/query/a9mJ5sb0Ut.1699977297241.json b/api/_content/query/a9mJ5sb0Ut.1699999516346.json similarity index 100% rename from api/_content/query/a9mJ5sb0Ut.1699977297241.json rename to api/_content/query/a9mJ5sb0Ut.1699999516346.json diff --git a/api/_content/query/brX4CwCJoQ.1699977297241.json b/api/_content/query/brX4CwCJoQ.1699999516346.json similarity index 100% rename from api/_content/query/brX4CwCJoQ.1699977297241.json rename to api/_content/query/brX4CwCJoQ.1699999516346.json diff --git a/api/_content/query/cYHfkdXNA9.1699977297241.json b/api/_content/query/cYHfkdXNA9.1699999516346.json similarity index 100% rename from api/_content/query/cYHfkdXNA9.1699977297241.json rename to api/_content/query/cYHfkdXNA9.1699999516346.json diff --git a/api/_content/query/cwi4DXcuTN.1699977297241.json b/api/_content/query/cwi4DXcuTN.1699999516346.json similarity index 100% rename from api/_content/query/cwi4DXcuTN.1699977297241.json rename to api/_content/query/cwi4DXcuTN.1699999516346.json diff --git a/api/_content/query/enlVh97sWo.1699977297241.json b/api/_content/query/enlVh97sWo.1699999516346.json similarity index 100% rename from api/_content/query/enlVh97sWo.1699977297241.json rename to api/_content/query/enlVh97sWo.1699999516346.json diff --git a/api/_content/query/ilY3438huT.1699977297241.json b/api/_content/query/ilY3438huT.1699999516346.json similarity index 100% rename from api/_content/query/ilY3438huT.1699977297241.json rename to api/_content/query/ilY3438huT.1699999516346.json diff --git a/api/_content/query/llVwSUGQ8t.1699977297241.json b/api/_content/query/llVwSUGQ8t.1699999516346.json similarity index 100% rename from api/_content/query/llVwSUGQ8t.1699977297241.json rename to api/_content/query/llVwSUGQ8t.1699999516346.json diff --git a/api/_content/query/nEtvTjdOht.1699977297241.json b/api/_content/query/nEtvTjdOht.1699999516346.json similarity index 100% rename from api/_content/query/nEtvTjdOht.1699977297241.json rename to api/_content/query/nEtvTjdOht.1699999516346.json diff --git a/api/_content/query/nkLpzwYCmw.1699977297241.json b/api/_content/query/nkLpzwYCmw.1699999516346.json similarity index 100% rename from api/_content/query/nkLpzwYCmw.1699977297241.json rename to api/_content/query/nkLpzwYCmw.1699999516346.json diff --git a/api/_content/query/o37MdY9M7h.1699977297241.json b/api/_content/query/o37MdY9M7h.1699999516346.json similarity index 100% rename from api/_content/query/o37MdY9M7h.1699977297241.json rename to api/_content/query/o37MdY9M7h.1699999516346.json diff --git a/api/_content/query/qD1kmuf7LZ.1699977297241.json b/api/_content/query/qD1kmuf7LZ.1699999516346.json similarity index 100% rename from api/_content/query/qD1kmuf7LZ.1699977297241.json rename to api/_content/query/qD1kmuf7LZ.1699999516346.json diff --git a/api/_content/query/qI1iJDV4vv.1699977297241.json b/api/_content/query/qI1iJDV4vv.1699999516346.json similarity index 100% rename from api/_content/query/qI1iJDV4vv.1699977297241.json rename to api/_content/query/qI1iJDV4vv.1699999516346.json diff --git a/api/_content/query/qIaVkSSVbL.1699977297241.json b/api/_content/query/qIaVkSSVbL.1699999516346.json similarity index 100% rename from api/_content/query/qIaVkSSVbL.1699977297241.json rename to api/_content/query/qIaVkSSVbL.1699999516346.json diff --git a/api/_content/query/s1rpjBKntu.1699977297241.json b/api/_content/query/s1rpjBKntu.1699999516346.json similarity index 100% rename from api/_content/query/s1rpjBKntu.1699977297241.json rename to api/_content/query/s1rpjBKntu.1699999516346.json diff --git a/api/_content/query/udG4RswcBp.1699977297241.json b/api/_content/query/udG4RswcBp.1699999516346.json similarity index 100% rename from api/_content/query/udG4RswcBp.1699977297241.json rename to api/_content/query/udG4RswcBp.1699999516346.json diff --git a/api/_content/query/wrDfznErw4.1699977297241.json b/api/_content/query/wrDfznErw4.1699999516346.json similarity index 100% rename from api/_content/query/wrDfznErw4.1699977297241.json rename to api/_content/query/wrDfznErw4.1699999516346.json diff --git a/api/_content/query/xIJVJksIkT.1699977297241.json b/api/_content/query/xIJVJksIkT.1699999516346.json similarity index 100% rename from api/_content/query/xIJVJksIkT.1699977297241.json rename to api/_content/query/xIJVJksIkT.1699999516346.json diff --git a/api/_content/query/xWeY3NfYtX.1699977297241.json b/api/_content/query/xWeY3NfYtX.1699999516346.json similarity index 100% rename from api/_content/query/xWeY3NfYtX.1699977297241.json rename to api/_content/query/xWeY3NfYtX.1699999516346.json diff --git a/api/_content/query/y5OZXjriWq.1699977297241.json b/api/_content/query/y5OZXjriWq.1699999516346.json similarity index 100% rename from api/_content/query/y5OZXjriWq.1699977297241.json rename to api/_content/query/y5OZXjriWq.1699999516346.json diff --git a/api/_content/query/zlYjVpH9OK.1699977297241.json b/api/_content/query/zlYjVpH9OK.1699999516346.json similarity index 100% rename from api/_content/query/zlYjVpH9OK.1699977297241.json rename to api/_content/query/zlYjVpH9OK.1699999516346.json diff --git a/components/_payload.json b/components/_payload.json index 8ae00d6ee1..c6a4426680 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;}",1699977342991] \ 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;}",1699999588068] \ No newline at end of file diff --git a/components/challenge-v2/_payload.json b/components/challenge-v2/_payload.json index cc6e45a8a7..cd72216d86 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;}",1699977342995] \ 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;}",1699999588074] \ No newline at end of file diff --git a/components/challenge-v2/index.html b/components/challenge-v2/index.html index 3574728ddb..6263424b2d 100644 --- a/components/challenge-v2/index.html +++ b/components/challenge-v2/index.html @@ -39,63 +39,63 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

ChallengeV2 v2

Create invisible reCAPTCHA v2

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

Props

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

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

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

About the visible Badge for invisible reCAPTCHA

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

.grecaptcha-badge { visibility: hidden; }

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

Slots

default

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

Slot API

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

RecaptchaV2State

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

ChallengeV2 v2

Create invisible reCAPTCHA v2

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

Props

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

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

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

About the visible Badge for invisible reCAPTCHA

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

.grecaptcha-badge { visibility: hidden; }

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

Slots

default

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

Slot API

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

RecaptchaV2State

export enum RecaptchaV2State {  Init = 'init',  Verified = 'verified',  Expired = 'expired',  Error = 'error',}
+ \ No newline at end of file diff --git a/components/challenge-v3/_payload.json b/components/challenge-v3/_payload.json index 19768d00e9..29a799c305 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;}",1699977342997] \ 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;}",1699999588228] \ No newline at end of file diff --git a/components/challenge-v3/index.html b/components/challenge-v3/index.html index ab449daf93..4a576a4bdf 100644 --- a/components/challenge-v3/index.html +++ b/components/challenge-v3/index.html @@ -39,61 +39,61 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

ChallengeV3 v3

Create reCAPTCHA v3 challenge

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

Props

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

v-model

keytypedescription
modelValuestringThe reCAPTCHA response

Slots

default

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

Slot API

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

ChallengeV3 v3

Create reCAPTCHA v3 challenge

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

Props

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

v-model

keytypedescription
modelValuestringThe reCAPTCHA response

Slots

default

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

Slot API

interface SlotApi {  /**   * reCAPTCHA v3 response   */  response: string | undefined  /**   * execute reCAPTCHA v3 challenge   */  execute: () => Promise<string>}
Table of Contents
+ \ No newline at end of file diff --git a/components/checkbox/_payload.json b/components/checkbox/_payload.json index dcedcf3d00..2c6c0ffe60 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;}",1699977342993] \ 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;}",1699999588071] \ No newline at end of file diff --git a/components/checkbox/index.html b/components/checkbox/index.html index cad905a983..e36ec9da5b 100644 --- a/components/checkbox/index.html +++ b/components/checkbox/index.html @@ -38,62 +38,62 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Checkbox v2

Insert reCAPTCHA v2 checkbox

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

Props

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

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

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

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

Checkbox v2

Insert reCAPTCHA v2 checkbox

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

Props

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

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

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

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

Overview

Checkbox v2

The most basic form of the reCAPTCHA

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

ChallengeV2 v2

Invisible reCAPTCHA.

Go to document

ChallengeV3 v3

reCAPTCHA v3

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

Overview

Checkbox v2

The most basic form of the reCAPTCHA

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

ChallengeV2 v2

Invisible reCAPTCHA.

Go to document

ChallengeV3 v3

reCAPTCHA v3

Go to document
+ \ No newline at end of file diff --git a/composables/challenge-v2/_payload.json b/composables/challenge-v2/_payload.json index 9d53137328..313e8761ec 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;}",1699977343001] \ 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;}",1699999588912] \ No newline at end of file diff --git a/composables/challenge-v2/index.html b/composables/challenge-v2/index.html index 7b18f6f369..e03abeed90 100644 --- a/composables/challenge-v2/index.html +++ b/composables/challenge-v2/index.html @@ -30,47 +30,47 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

useChallengeV2 v2

Description

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

Input

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

Return

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

About the state please see here for more details

Please see reCAPTCHA docs for more information about the options.

About the visible Badge for invisible reCAPTCHA

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

.grecaptcha-badge { visibility: hidden; }

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

Examples

Checkbox

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

Invisible reCAPTCHA

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

useChallengeV2 v2

Description

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

Input

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

Return

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

About the state please see here for more details

Please see reCAPTCHA docs for more information about the options.

About the visible Badge for invisible reCAPTCHA

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

.grecaptcha-badge { visibility: hidden; }

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

Examples

Checkbox

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

Invisible reCAPTCHA

<script>import { useChallengeV2 } from 'vue-recaptcha'const { root, execute, onVerify } = useChallengeV2({  options: {    // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA    size: 'invisible',  }})onVerify((response) => {  // do something with response  console.log(response)})</script><template>  <div>    <button @click="execute">submit</button>    <!-- You must give an empty div to render the invisible reCAPTCHA -->    <div ref="root" />  </div></template>
+ \ No newline at end of file diff --git a/composables/challenge-v3/_payload.json b/composables/challenge-v3/_payload.json index c2ec6b77e8..b1b7b6cc2e 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;}",1699977343003] \ 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;}",1699999588915] \ No newline at end of file diff --git a/composables/challenge-v3/index.html b/composables/challenge-v3/index.html index 91d052db9e..9196ce1550 100644 --- a/composables/challenge-v3/index.html +++ b/composables/challenge-v3/index.html @@ -31,48 +31,48 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

useChallengeV3 v3

Description

A composable to help you execute the reCAPTCHA v3 challenge

Input

  • action: The action for reCAPTCHA v3

Return

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

Usage

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

useChallengeV3 v3

Description

A composable to help you execute the reCAPTCHA v3 challenge

Input

  • action: The action for reCAPTCHA v3

Return

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

Usage

<script lang="ts" setup>import { useChallengeV3 } from 'vue-recaptcha'const { execute } = useChallengeV3('submit')async function onSubmit () {  const response = await execute()  // do something with response  console.log(response)}</script><template>  <div>    <button @click="onSubmit">submit</button>  </div></template>
+ \ No newline at end of file diff --git a/composables/recaptcha-provider/_payload.json b/composables/recaptcha-provider/_payload.json index 567425208b..38fcb78487 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;}",1699977342999] \ 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;}",1699999588909] \ No newline at end of file diff --git a/composables/recaptcha-provider/index.html b/composables/recaptcha-provider/index.html index b3fe529dd6..4fdc97871b 100644 --- a/composables/recaptcha-provider/index.html +++ b/composables/recaptcha-provider/index.html @@ -27,44 +27,44 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

useRecaptchaProvider

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

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

useRecaptchaProvider

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

Code
<script setup lang="ts">import { useRecaptchaProvider } from 'vue-recaptcha'useRecaptchaProvider()</script>
+ \ No newline at end of file diff --git a/guide/_payload.json b/guide/_payload.json index 010738bd7f..6515394f8b 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;}",1699977342726] \ 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;}",1699999587724] \ No newline at end of file diff --git a/guide/enterprise/_payload.json b/guide/enterprise/_payload.json index aac885560c..2b472b2f75 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;}",1699977342987] \ 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;}",1699999588061] \ No newline at end of file diff --git a/guide/enterprise/index.html b/guide/enterprise/index.html index 6cd9cd3936..f707598a0a 100644 --- a/guide/enterprise/index.html +++ b/guide/enterprise/index.html @@ -24,49 +24,49 @@ + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Enterprise reCAPTCHA Support

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

Simply change your plugin import to the following:

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

Usage without unhead

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

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

Nuxt

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

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

Enterprise reCAPTCHA Support

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

Simply change your plugin import to the following:

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

Usage without unhead

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

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

Nuxt

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

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },  recaptcha: {    enterprise: true,  },})
Table of Contents
+ \ No newline at end of file diff --git a/guide/faq/_payload.json b/guide/faq/_payload.json index c65863bff8..d2246cd8e9 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;}",1699977342989] \ 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;}",1699999588064] \ No newline at end of file diff --git a/guide/faq/index.html b/guide/faq/index.html index fca682c030..8b54962a4e 100644 --- a/guide/faq/index.html +++ b/guide/faq/index.html @@ -26,43 +26,43 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development
+ \ No newline at end of file diff --git a/guide/index.html b/guide/index.html index 8272b3851f..9462ab3d98 100644 --- a/guide/index.html +++ b/guide/index.html @@ -33,51 +33,51 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Get started

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

Let's get started with vue-recaptcha.

What is vue-recaptcha

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

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

vue-recaptcha is not for:

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

Installation

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

Setup vue-recaptcha plugin

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

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

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

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

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

Provide reCAPTCHA script

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

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

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

Go to component overview

Usage without unhead

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

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

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

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

Get started

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

Let's get started with vue-recaptcha.

What is vue-recaptcha

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

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

vue-recaptcha is not for:

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

Installation

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

Setup vue-recaptcha plugin

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

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

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

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

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

Provide reCAPTCHA script

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

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

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

Go to component overview

Usage without unhead

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

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

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

+ \ No newline at end of file diff --git a/guide/migration/_payload.json b/guide/migration/_payload.json index 54c5cd77f5..b70c6d9f4f 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;}",1699977342984] \ 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;}",1699999588058] \ No newline at end of file diff --git a/guide/migration/index.html b/guide/migration/index.html index 6392fd7fd5..8a6d774f27 100644 --- a/guide/migration/index.html +++ b/guide/migration/index.html @@ -24,49 +24,49 @@ + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Migration from v2

1. set up the plugin

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

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

2. Provide reCAPTCHA script

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

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

3. Use the components

Now you can start using the components

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

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

You can read more at here

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

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

You can read more at here

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

Migration from v2

1. set up the plugin

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

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

2. Provide reCAPTCHA script

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

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

3. Use the components

Now you can start using the components

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

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

You can read more at here

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

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

You can read more at here

+ \ No newline at end of file diff --git a/guide/nuxt/_payload.json b/guide/nuxt/_payload.json index d397f2bce3..e67adfd259 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;}",1699977342982] \ 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;}",1699999588054] \ No newline at end of file diff --git a/guide/nuxt/index.html b/guide/nuxt/index.html index cbcd6958ee..e28437993b 100644 --- a/guide/nuxt/index.html +++ b/guide/nuxt/index.html @@ -34,52 +34,52 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Nuxt

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

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

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

Options

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

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

Enterprise

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

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

Manually Install Plugin

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

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

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

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

Nuxt

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

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

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

Options

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

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

Enterprise

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

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

Manually Install Plugin

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

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

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

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

vue-recaptcha

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

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

Easy to use

Use <Checkbox /> to render reCAPTCHA checkbox

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

What's included

reCAPTCHA v2

The "I'm not a robot" checkbox

reCAPTCHA v3

Determinate if user is human without interrupt the user flow

Nuxt integration

Use reCAPTCHA in Nuxt.js

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

vue-recaptcha

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

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

Easy to use

Use <Checkbox /> to render reCAPTCHA checkbox

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

What's included

reCAPTCHA v2

The "I'm not a robot" checkbox

reCAPTCHA v3

Determinate if user is human without interrupt the user flow

Nuxt integration

Use reCAPTCHA in Nuxt.js

+ \ No newline at end of file diff --git a/integration/vee-validation/_payload.json b/integration/vee-validation/_payload.json index 5011659a51..440830f16a 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;}",1699977343006] \ 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;}",1699999588927] \ No newline at end of file diff --git a/integration/vee-validation/index.html b/integration/vee-validation/index.html index 1354f5fc2a..8aed8ace27 100644 --- a/integration/vee-validation/index.html +++ b/integration/vee-validation/index.html @@ -30,56 +30,56 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Vee Validation

Vee Validate is a plugin for form validation.

Confirm user has clicked the checkbox before submit

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

Execute challenge when user submit form

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

Vee Validation

Vee Validate is a plugin for form validation.

Confirm user has clicked the checkbox before submit

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

Execute challenge when user submit form

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