ivue 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/docs/.vitepress/dist/404.html +2 -2
- package/docs/docs/.vitepress/dist/api/ivue.html +3 -3
- package/docs/docs/.vitepress/dist/api/propsWithDefaults.html +3 -3
- package/docs/docs/.vitepress/dist/assets/{app.2nR_jJ6K.js → app.DQ9wCVNL.js} +1 -1
- package/docs/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.HQhVwKCx.js +1 -0
- package/docs/docs/.vitepress/dist/assets/chunks/{VPLocalSearchBox.DkPjtbh1.js → VPLocalSearchBox.EJpZrMkj.js} +1 -1
- package/docs/docs/.vitepress/dist/assets/chunks/{theme.DoTp8yA-.js → theme.BCqH7Ey3.js} +2 -2
- package/docs/docs/.vitepress/dist/assets/{pages_browse-code.md.D-gTrMhG.js → pages_browse-code.md.d01mQ5OL.js} +2 -2
- package/docs/docs/.vitepress/dist/assets/{pages_getting-started.md.COvbcFGT.js → pages_getting-started.md.g77_aCnX.js} +2 -2
- package/docs/docs/.vitepress/dist/assets/{pages_guidelines.md.BI1PexCc.js → pages_guidelines.md.DufOHb7U.js} +2 -2
- package/docs/docs/.vitepress/dist/assets/{pages_guidelines.md.BI1PexCc.lean.js → pages_guidelines.md.DufOHb7U.lean.js} +2 -2
- package/docs/docs/.vitepress/dist/assets/{pages_how-it-works.md.NImDvDby.js → pages_how-it-works.md.BaYaFawX.js} +2 -2
- package/docs/docs/.vitepress/dist/assets/{pages_how-it-works.md.NImDvDby.lean.js → pages_how-it-works.md.BaYaFawX.lean.js} +2 -2
- package/docs/docs/.vitepress/dist/assets/{pages_usage.md.DRJXyExt.js → pages_usage.md.Fo9SdFjd.js} +29 -29
- package/docs/docs/.vitepress/dist/assets/{pages_usage.md.DRJXyExt.lean.js → pages_usage.md.Fo9SdFjd.lean.js} +29 -29
- package/docs/docs/.vitepress/dist/hashmap.json +1 -1
- package/docs/docs/.vitepress/dist/index.html +3 -3
- package/docs/docs/.vitepress/dist/pages/advanced-usage.html +3 -3
- package/docs/docs/.vitepress/dist/pages/api.html +3 -3
- package/docs/docs/.vitepress/dist/pages/browse-code.html +6 -6
- package/docs/docs/.vitepress/dist/pages/getting-started.html +6 -6
- package/docs/docs/.vitepress/dist/pages/guidelines.html +5 -5
- package/docs/docs/.vitepress/dist/pages/how-it-works.html +6 -6
- package/docs/docs/.vitepress/dist/pages/how-its-made.html +3 -3
- package/docs/docs/.vitepress/dist/pages/introduction.html +3 -3
- package/docs/docs/.vitepress/dist/pages/usage.html +32 -32
- package/docs/docs/pages/guidelines.md +1 -1
- package/docs/docs/pages/usage.md +7 -7
- package/package.json +1 -1
- package/docs/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.yrRWVEzw.js +0 -1
- /package/docs/docs/.vitepress/dist/assets/{pages_browse-code.md.D-gTrMhG.lean.js → pages_browse-code.md.d01mQ5OL.lean.js} +0 -0
- /package/docs/docs/.vitepress/dist/assets/{pages_getting-started.md.COvbcFGT.lean.js → pages_getting-started.md.g77_aCnX.lean.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.
|
|
2
|
-
import{d as p,o as i,c,r,n as w,a as D,t as T,b as k,w as d,e as m,T as ve,_ as b,u as Ge,i as Ue,f as je,g as he,h as y,j as v,k as s,p as A,l as B,m as K,q as le,s as I,v as O,x as Q,y as q,z as fe,A as me,B as ze,C as Ke,F as N,D as C,E as W,G as Pe,H as Z,I as _,J as E,K as Ve,L as ee,M as z,N as te,O as qe,P as Le,Q as re,R as We,S as Se,U as ne,V as Re,W as Te,X as Je,Y as Xe,Z as Ie,$ as we,a0 as Ye,a1 as Qe,a2 as Ze,a3 as et,a4 as tt}from"./framework.CvEKxEoK.js";const nt=p({__name:"VPBadge",props:{text:null,type:{default:"tip"}},setup(e){return(t,n)=>(i(),c("span",{class:w(["VPBadge",e.type])},[r(t.$slots,"default",{},()=>[D(T(e.text),1)])],2))}}),at={key:0,class:"VPBackdrop"},ot=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(i(),k(ve,{name:"fade"},{default:d(()=>[e.show?(i(),c("div",at)):m("",!0)]),_:1}))}}),st=b(ot,[["__scopeId","data-v-c79a1216"]]),P=Ge;function it(e,t){let n,a=!1;return()=>{n&&clearTimeout(n),a?n=setTimeout(e,t):(e(),(a=!0)&&setTimeout(()=>a=!1,t))}}function ce(e){return/^\//.test(e)?e:`/${e}`}function pe(e){const{pathname:t,search:n,hash:a,protocol:o}=new URL(e,"http://a.com");if(Ue(e)||e.startsWith("#")||!o.startsWith("http")||!je(t))return e;const{site:l}=P(),u=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,l.value.cleanUrls?"":".html")}${n}${a}`);return he(u)}function J({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:a,theme:o,hash:l}=P(),u=y(()=>{var h,$;return{label:(h=t.value.locales[n.value])==null?void 0:h.label,link:(($=t.value.locales[n.value])==null?void 0:$.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([h,$])=>u.value.label===$.label?[]:{text:$.label,link:lt($.link||(h==="root"?"/":`/${h}/`),o.value.i18nRouting!==!1&&e,a.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+l.value})),currentLang:u}}function lt(e,t,n,a){return t?e.replace(/\/$/,"")+ce(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):e}const rt=e=>(A("data-v-d6be1790"),e=e(),B(),e),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=rt(()=>v("div",{class:"divider"},null,-1)),ht={class:"quote"},ft={class:"action"},mt=["href","aria-label"],pt=p({__name:"NotFound",setup(e){const{theme:t}=P(),{currentLang:n}=J();return(a,o)=>{var l,u,f,h,$;return i(),c("div",ct,[v("p",ut,T(((l=s(t).notFound)==null?void 0:l.code)??"404"),1),v("h1",dt,T(((u=s(t).notFound)==null?void 0:u.title)??"PAGE NOT FOUND"),1),vt,v("blockquote",ht,T(((f=s(t).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",ft,[v("a",{class:"link",href:s(he)(s(n).link),"aria-label":((h=s(t).notFound)==null?void 0:h.linkLabel)??"go to home"},T((($=s(t).notFound)==null?void 0:$.linkText)??"Take me home"),9,mt)])])}}}),_t=b(pt,[["__scopeId","data-v-d6be1790"]]);function Ne(e,t){if(Array.isArray(e))return X(e);if(e==null)return[];t=ce(t);const n=Object.keys(e).sort((o,l)=>l.split("/").length-o.split("/").length).find(o=>t.startsWith(ce(o))),a=n?e[n]:[];return Array.isArray(a)?X(a):X(a.items,a.base)}function kt(e){const t=[];let n=0;for(const a in e){const o=e[a];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function bt(e){const t=[];function n(a){for(const o of a)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function ue(e,t){return Array.isArray(t)?t.some(n=>ue(e,n)):K(e,t.link)?!0:t.items?ue(e,t.items):!1}function X(e,t){return[...e].map(n=>{const a={...n},o=a.base||t;return o&&a.link&&(a.link=o+a.link),a.items&&(a.items=X(a.items,o)),a})}function G(){const{frontmatter:e,page:t,theme:n}=P(),a=le("(min-width: 960px)"),o=I(!1),l=y(()=>{const M=n.value.sidebar,H=t.value.relativePath;return M?Ne(M,H):[]}),u=I(l.value);O(l,(M,H)=>{JSON.stringify(M)!==JSON.stringify(H)&&(u.value=l.value)});const f=y(()=>e.value.sidebar!==!1&&u.value.length>0&&e.value.layout!=="home"),h=y(()=>$?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),$=y(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),L=y(()=>f.value&&a.value),g=y(()=>f.value?kt(u.value):[]);function V(){o.value=!0}function S(){o.value=!1}function x(){o.value?S():V()}return{isOpen:o,sidebar:u,sidebarGroups:g,hasSidebar:f,hasAside:$,leftAside:h,isSidebarEnabled:L,open:V,close:S,toggle:x}}function $t(e,t){let n;Q(()=>{n=e.value?document.activeElement:void 0}),q(()=>{window.addEventListener("keyup",a)}),fe(()=>{window.removeEventListener("keyup",a)});function a(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function gt(e){const{page:t,hash:n}=P(),a=I(!1),o=y(()=>e.value.collapsed!=null),l=y(()=>!!e.value.link),u=I(!1),f=()=>{u.value=K(t.value.relativePath,e.value.link)};O([t,e,n],f),q(f);const h=y(()=>u.value?!0:e.value.items?ue(t.value.relativePath,e.value.items):!1),$=y(()=>!!(e.value.items&&e.value.items.length));Q(()=>{a.value=!!(o.value&&e.value.collapsed)}),me(()=>{(u.value||h.value)&&(a.value=!1)});function L(){o.value&&(a.value=!a.value)}return{collapsed:a,collapsible:o,isLink:l,isActiveLink:u,hasActiveLink:h,hasChildren:$,toggle:L}}function yt(){const{hasSidebar:e}=G(),t=le("(min-width: 960px)"),n=le("(min-width: 1280px)");return{isAsideEnabled:y(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const de=[];function xe(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function _e(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const a=Number(n.tagName[1]);return{element:n,title:Pt(n),link:"#"+n.id,level:a}});return Vt(t,e)}function Pt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor")||n.classList.contains("ignore-header"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function Vt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[a,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(u=>u.level>=a&&u.level<=o),de.length=0;for(const{element:u,link:f}of e)de.push({element:u,link:f});const l=[];e:for(let u=0;u<e.length;u++){const f=e[u];if(u===0)l.push(f);else{for(let h=u-1;h>=0;h--){const $=e[h];if($.level<f.level){($.children||($.children=[])).push(f);continue e}}l.push(f)}}return l}function Lt(e,t){const{isAsideEnabled:n}=yt(),a=it(l,100);let o=null;q(()=>{requestAnimationFrame(l),window.addEventListener("scroll",a)}),ze(()=>{u(location.hash)}),fe(()=>{window.removeEventListener("scroll",a)});function l(){if(!n.value)return;const f=window.scrollY,h=window.innerHeight,$=document.body.offsetHeight,L=Math.abs(f+h-$)<1,g=de.map(({element:S,link:x})=>({link:x,top:St(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,x)=>S.top-x.top);if(!g.length){u(null);return}if(f<1){u(null);return}if(L){u(g[g.length-1].link);return}let V=null;for(const{link:S,top:x}of g){if(x>f+Ke()+4)break;V=S}u(V)}function u(f){o&&o.classList.remove("active"),f==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const h=o;h?(h.classList.add("active"),t.value.style.top=h.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function St(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}const Tt=["href","title"],It=p({__name:"VPDocOutlineItem",props:{headers:null,root:{type:Boolean}},setup(e){function t({target:n}){const a=n.href.split("#")[1],o=document.getElementById(decodeURIComponent(a));o==null||o.focus({preventScroll:!0})}return(n,a)=>{const o=W("VPDocOutlineItem",!0);return i(),c("ul",{class:w(["VPDocOutlineItem",e.root?"root":"nested"])},[(i(!0),c(N,null,C(e.headers,({children:l,link:u,title:f})=>(i(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:t,title:f},T(f),9,Tt),l!=null&&l.length?(i(),k(o,{key:0,headers:l},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Me=b(It,[["__scopeId","data-v-b933a997"]]),wt={class:"content"},Nt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},xt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=P(),a=Pe([]);Z(()=>{a.value=_e(t.value.outline??n.value.outline)});const o=I(),l=I();return Lt(o,l),(u,f)=>(i(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:w(["VPDocAsideOutline",{"has-outline":s(a).length>0}]),ref_key:"container",ref:o},[v("div",wt,[v("div",{class:"outline-marker",ref_key:"marker",ref:l},null,512),v("div",Nt,T(s(xe)(s(n))),1),_(Me,{headers:s(a),root:!0},null,8,["headers"])])],2))}}),Mt=b(xt,[["__scopeId","data-v-a5bbad30"]]),At={class:"VPDocAsideCarbonAds"},Bt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=()=>null;return(n,a)=>(i(),c("div",At,[_(s(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Ct=e=>(A("data-v-3f215769"),e=e(),B(),e),Ht={class:"VPDocAside"},Et=Ct(()=>v("div",{class:"spacer"},null,-1)),Ft=p({__name:"VPDocAside",setup(e){const{theme:t}=P();return(n,a)=>(i(),c("div",Ht,[r(n.$slots,"aside-top",{},void 0,!0),r(n.$slots,"aside-outline-before",{},void 0,!0),_(Mt),r(n.$slots,"aside-outline-after",{},void 0,!0),Et,r(n.$slots,"aside-ads-before",{},void 0,!0),s(t).carbonAds?(i(),k(Bt,{key:0,"carbon-ads":s(t).carbonAds},null,8,["carbon-ads"])):m("",!0),r(n.$slots,"aside-ads-after",{},void 0,!0),r(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Dt=b(Ft,[["__scopeId","data-v-3f215769"]]);function Ot(){const{theme:e,page:t}=P();return y(()=>{const{text:n="Edit this page",pattern:a=""}=e.value.editLink||{};let o;return typeof a=="function"?o=a(t.value):o=a.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function Gt(){const{page:e,theme:t,frontmatter:n}=P();return y(()=>{var $,L,g,V,S,x,M,H;const a=Ne(t.value.sidebar,e.value.relativePath),o=bt(a),l=Ut(o,U=>U.link.replace(/[?#].*$/,"")),u=l.findIndex(U=>K(e.value.relativePath,U.link)),f=(($=t.value.docFooter)==null?void 0:$.prev)===!1&&!n.value.prev||n.value.prev===!1,h=((L=t.value.docFooter)==null?void 0:L.next)===!1&&!n.value.next||n.value.next===!1;return{prev:f?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((g=l[u-1])==null?void 0:g.docFooterText)??((V=l[u-1])==null?void 0:V.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((S=l[u-1])==null?void 0:S.link)},next:h?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((x=l[u+1])==null?void 0:x.docFooterText)??((M=l[u+1])==null?void 0:M.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((H=l[u+1])==null?void 0:H.link)}}})}function Ut(e,t){const n=new Set;return e.filter(a=>{const o=t(a);return n.has(o)?!1:n.add(o)})}const F=p({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=y(()=>t.tag??(t.href?"a":"span")),a=y(()=>t.href&&Ve.test(t.href)||t.target==="_blank");return(o,l)=>(i(),k(E(s(n)),{class:w(["VPLink",{link:e.href,"vp-external-link-icon":s(a),"no-icon":e.noIcon}]),href:e.href?s(pe)(e.href):void 0,target:e.target??(s(a)?"_blank":void 0),rel:e.rel??(s(a)?"noreferrer":void 0)},{default:d(()=>[r(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),jt={class:"VPLastUpdated"},zt=["datetime"],Kt=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:a}=P(),o=y(()=>new Date(n.value.lastUpdated)),l=y(()=>o.value.toISOString()),u=I("");return q(()=>{Q(()=>{var f,h,$;u.value=new Intl.DateTimeFormat((h=(f=t.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&h.forceLocale?a.value:void 0,(($=t.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(f,h)=>{var $;return i(),c("p",jt,[D(T((($=s(t).lastUpdated)==null?void 0:$.text)||s(t).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:s(l)},T(u.value),9,zt)])}}}),qt=b(Kt,[["__scopeId","data-v-e98dd255"]]),Ae=e=>(A("data-v-e257564d"),e=e(),B(),e),Wt={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Jt={key:0,class:"edit-link"},Xt=Ae(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Yt={key:1,class:"last-updated"},Qt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Zt=Ae(()=>v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),en={class:"pager"},tn=["innerHTML"],nn=["innerHTML"],an={class:"pager"},on=["innerHTML"],sn=["innerHTML"],ln=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:a}=P(),o=Ot(),l=Gt(),u=y(()=>t.value.editLink&&a.value.editLink!==!1),f=y(()=>n.value.lastUpdated),h=y(()=>u.value||f.value||l.value.prev||l.value.next);return($,L)=>{var g,V,S,x;return s(h)?(i(),c("footer",Wt,[r($.$slots,"doc-footer-before",{},void 0,!0),s(u)||s(f)?(i(),c("div",Rt,[s(u)?(i(),c("div",Jt,[_(F,{class:"edit-link-button",href:s(o).url,"no-icon":!0},{default:d(()=>[Xt,D(" "+T(s(o).text),1)]),_:1},8,["href"])])):m("",!0),s(f)?(i(),c("div",Yt,[_(qt)])):m("",!0)])):m("",!0),(g=s(l).prev)!=null&&g.link||(V=s(l).next)!=null&&V.link?(i(),c("nav",Qt,[Zt,v("div",en,[(S=s(l).prev)!=null&&S.link?(i(),k(F,{key:0,class:"pager-link prev",href:s(l).prev.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=s(t).docFooter)==null?void 0:M.prev)||"Previous page"},null,8,tn),v("span",{class:"title",innerHTML:s(l).prev.text},null,8,nn)]}),_:1},8,["href"])):m("",!0)]),v("div",an,[(x=s(l).next)!=null&&x.link?(i(),k(F,{key:0,class:"pager-link next",href:s(l).next.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=s(t).docFooter)==null?void 0:M.next)||"Next page"},null,8,on),v("span",{class:"title",innerHTML:s(l).next.text},null,8,sn)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),rn=b(ln,[["__scopeId","data-v-e257564d"]]),cn=e=>(A("data-v-39a288b8"),e=e(),B(),e),un={class:"container"},dn=cn(()=>v("div",{class:"aside-curtain"},null,-1)),vn={class:"aside-container"},hn={class:"aside-content"},fn={class:"content"},mn={class:"content-container"},pn={class:"main"},_n=p({__name:"VPDoc",setup(e){const{theme:t}=P(),n=ee(),{hasSidebar:a,hasAside:o,leftAside:l}=G(),u=y(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,h)=>{const $=W("Content");return i(),c("div",{class:w(["VPDoc",{"has-sidebar":s(a),"has-aside":s(o)}])},[r(f.$slots,"doc-top",{},void 0,!0),v("div",un,[s(o)?(i(),c("div",{key:0,class:w(["aside",{"left-aside":s(l)}])},[dn,v("div",vn,[v("div",hn,[_(Dt,null,{"aside-top":d(()=>[r(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[r(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[r(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[r(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[r(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[r(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",fn,[v("div",mn,[r(f.$slots,"doc-before",{},void 0,!0),v("main",pn,[_($,{class:w(["vp-doc",[s(u),s(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(rn,null,{"doc-footer-before":d(()=>[r(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),r(f.$slots,"doc-after",{},void 0,!0)])])]),r(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),kn=b(_n,[["__scopeId","data-v-39a288b8"]]),bn=p({__name:"VPButton",props:{tag:null,size:{default:"medium"},theme:{default:"brand"},text:null,href:null,target:null,rel:null},setup(e){const t=e,n=y(()=>t.href&&Ve.test(t.href)),a=y(()=>t.tag||t.href?"a":"button");return(o,l)=>(i(),k(E(s(a)),{class:w(["VPButton",[e.size,e.theme]]),href:e.href?s(pe)(e.href):void 0,target:t.target??(s(n)?"_blank":void 0),rel:t.rel??(s(n)?"noreferrer":void 0)},{default:d(()=>[D(T(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),$n=b(bn,[["__scopeId","data-v-cad61b99"]]),gn=["src","alt"],yn=p({__name:"VPImage",props:{image:null,alt:null},setup(e){return defineOptions({inheritAttrs:!1}),(t,n)=>{const a=W("VPImage",!0);return e.image?(i(),c(N,{key:0},[typeof e.image=="string"||"src"in e.image?(i(),c("img",z({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:s(he)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,gn)):(i(),c(N,{key:1},[_(a,z({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(a,z({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),Y=b(yn,[["__scopeId","data-v-8426fc1a"]]),Pn=e=>(A("data-v-303bb580"),e=e(),B(),e),Vn={class:"container"},Ln={class:"main"},Sn={key:0,class:"name"},Tn=["innerHTML"],In=["innerHTML"],wn=["innerHTML"],Nn={key:0,class:"actions"},xn={key:0,class:"image"},Mn={class:"image-container"},An=Pn(()=>v("div",{class:"image-bg"},null,-1)),Bn=p({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=te("hero-image-slot-exists");return(n,a)=>(i(),c("div",{class:w(["VPHero",{"has-image":e.image||s(t)}])},[v("div",Vn,[v("div",Ln,[r(n.$slots,"home-hero-info-before",{},void 0,!0),r(n.$slots,"home-hero-info",{},()=>[e.name?(i(),c("h1",Sn,[v("span",{innerHTML:e.name,class:"clip"},null,8,Tn)])):m("",!0),e.text?(i(),c("p",{key:1,innerHTML:e.text,class:"text"},null,8,In)):m("",!0),e.tagline?(i(),c("p",{key:2,innerHTML:e.tagline,class:"tagline"},null,8,wn)):m("",!0)],!0),r(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(i(),c("div",Nn,[(i(!0),c(N,null,C(e.actions,o=>(i(),c("div",{key:o.link,class:"action"},[_($n,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):m("",!0),r(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||s(t)?(i(),c("div",xn,[v("div",Mn,[An,r(n.$slots,"home-hero-image",{},()=>[e.image?(i(),k(Y,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),Cn=b(Bn,[["__scopeId","data-v-303bb580"]]),Hn=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=P();return(n,a)=>s(t).hero?(i(),k(Cn,{key:0,class:"VPHomeHero",name:s(t).hero.name,text:s(t).hero.text,tagline:s(t).hero.tagline,image:s(t).hero.image,actions:s(t).hero.actions},{"home-hero-info-before":d(()=>[r(n.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[r(n.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[r(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[r(n.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[r(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),En=e=>(A("data-v-a3976bdc"),e=e(),B(),e),Fn={class:"box"},Dn={key:0,class:"icon"},On=["innerHTML"],Gn=["innerHTML"],Un=["innerHTML"],jn={key:4,class:"link-text"},zn={class:"link-text-value"},Kn=En(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),qn=p({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null,rel:null,target:null},setup(e){return(t,n)=>(i(),k(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Fn,[typeof e.icon=="object"&&e.icon.wrap?(i(),c("div",Dn,[_(Y,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(i(),k(Y,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(i(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,On)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Gn),e.details?(i(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Un)):m("",!0),e.linkText?(i(),c("div",jn,[v("p",zn,[D(T(e.linkText)+" ",1),Kn])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Wn=b(qn,[["__scopeId","data-v-a3976bdc"]]),Rn={key:0,class:"VPFeatures"},Jn={class:"container"},Xn={class:"items"},Yn=p({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=y(()=>{const a=t.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,o)=>e.features?(i(),c("div",Rn,[v("div",Jn,[v("div",Xn,[(i(!0),c(N,null,C(e.features,l=>(i(),c("div",{key:l.title,class:w(["item",[s(n)]])},[_(Wn,{icon:l.icon,title:l.title,details:l.details,link:l.link,"link-text":l.linkText,rel:l.rel,target:l.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),Qn=b(Yn,[["__scopeId","data-v-a6181336"]]),Zn=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=P();return(n,a)=>s(t).features?(i(),k(Qn,{key:0,class:"VPHomeFeatures",features:s(t).features},null,8,["features"])):m("",!0)}}),ea=p({__name:"VPHomeContent",setup(e){const{width:t}=qe({initialWidth:0,includeScrollbar:!1});return(n,a)=>(i(),c("div",{class:"vp-doc container",style:Le(s(t)?{"--vp-offset":`calc(50% - ${s(t)/2}px)`}:{})},[r(n.$slots,"default",{},void 0,!0)],4))}}),ta=b(ea,[["__scopeId","data-v-8e2d4988"]]),na={class:"VPHome"},aa=p({__name:"VPHome",setup(e){const{frontmatter:t}=P();return(n,a)=>{const o=W("Content");return i(),c("div",na,[r(n.$slots,"home-hero-before",{},void 0,!0),_(Hn,null,{"home-hero-info-before":d(()=>[r(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[r(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[r(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[r(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[r(n.$slots,"home-hero-image",{},void 0,!0)]),_:3}),r(n.$slots,"home-hero-after",{},void 0,!0),r(n.$slots,"home-features-before",{},void 0,!0),_(Zn),r(n.$slots,"home-features-after",{},void 0,!0),s(t).markdownStyles!==!1?(i(),k(ta,{key:0},{default:d(()=>[_(o)]),_:1})):(i(),k(o,{key:1}))])}}}),oa=b(aa,[["__scopeId","data-v-686f80a6"]]),sa={},ia={class:"VPPage"};function la(e,t){const n=W("Content");return i(),c("div",ia,[r(e.$slots,"page-top"),_(n),r(e.$slots,"page-bottom")])}const ra=b(sa,[["render",la]]),ca=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=P(),{hasSidebar:a}=G();return(o,l)=>(i(),c("div",{class:w(["VPContent",{"has-sidebar":s(a),"is-home":s(n).layout==="home"}]),id:"VPContent"},[s(t).isNotFound?r(o.$slots,"not-found",{key:0},()=>[_(_t)],!0):s(n).layout==="page"?(i(),k(ra,{key:1},{"page-top":d(()=>[r(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[r(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):s(n).layout==="home"?(i(),k(oa,{key:2},{"home-hero-before":d(()=>[r(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[r(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[r(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[r(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[r(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[r(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[r(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[r(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[r(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):s(n).layout&&s(n).layout!=="doc"?(i(),k(E(s(n).layout),{key:3})):(i(),k(kn,{key:4},{"doc-top":d(()=>[r(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[r(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[r(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[r(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[r(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[r(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[r(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[r(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[r(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[r(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[r(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),ua=b(ca,[["__scopeId","data-v-1428d186"]]),da={class:"container"},va=["innerHTML"],ha=["innerHTML"],fa=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=G();return(o,l)=>s(t).footer&&s(n).footer!==!1?(i(),c("footer",{key:0,class:w(["VPFooter",{"has-sidebar":s(a)}])},[v("div",da,[s(t).footer.message?(i(),c("p",{key:0,class:"message",innerHTML:s(t).footer.message},null,8,va)):m("",!0),s(t).footer.copyright?(i(),c("p",{key:1,class:"copyright",innerHTML:s(t).footer.copyright},null,8,ha)):m("",!0)])],2)):m("",!0)}}),ma=b(fa,[["__scopeId","data-v-e315a0ad"]]);function pa(){const{theme:e,frontmatter:t}=P(),n=Pe([]),a=y(()=>n.value.length>0);return Z(()=>{n.value=_e(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:a}}const _a=e=>(A("data-v-17a5e62e"),e=e(),B(),e),ka={class:"menu-text"},ba=_a(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),$a={class:"header"},ga={class:"outline"},ya=p({__name:"VPLocalNavOutlineDropdown",props:{headers:null,navHeight:null},setup(e){const t=e,{theme:n}=P(),a=I(!1),o=I(0),l=I(),u=I();function f(g){var V;(V=l.value)!=null&&V.contains(g.target)||(a.value=!1)}O(a,g=>{if(g){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),re("Escape",()=>{a.value=!1}),Z(()=>{a.value=!1});function h(){a.value=!a.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function $(g){g.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{a.value=!1}))}function L(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(g,V)=>(i(),c("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":o.value+"px"}),ref_key:"main",ref:l},[e.headers.length>0?(i(),c("button",{key:0,onClick:h,class:w({open:a.value})},[v("span",ka,T(s(xe)(s(n))),1),ba],2)):(i(),c("button",{key:1,onClick:L},T(s(n).returnToTopLabel||"Return to top"),1)),_(ve,{name:"flyout"},{default:d(()=>[a.value?(i(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:$},[v("div",$a,[v("a",{class:"top-link",href:"#",onClick:L},T(s(n).returnToTopLabel||"Return to top"),1)]),v("div",ga,[_(Me,{headers:e.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),Pa=b(ya,[["__scopeId","data-v-17a5e62e"]]),Va=e=>(A("data-v-a6f0e41e"),e=e(),B(),e),La={class:"container"},Sa=["aria-expanded"],Ta=Va(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Ia={class:"menu-text"},wa=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=G(),{headers:o}=pa(),{y:l}=Se(),u=I(0);q(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{o.value=_e(n.value.outline??t.value.outline)});const f=y(()=>o.value.length===0),h=y(()=>f.value&&!a.value),$=y(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:f.value,fixed:h.value}));return(L,g)=>s(n).layout!=="home"&&(!s(h)||s(l)>=u.value)?(i(),c("div",{key:0,class:w(s($))},[v("div",La,[s(a)?(i(),c("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:g[0]||(g[0]=V=>L.$emit("open-menu"))},[Ta,v("span",Ia,T(s(t).sidebarMenuLabel||"Menu"),1)],8,Sa)):m("",!0),_(Pa,{headers:s(o),navHeight:u.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),Na=b(wa,[["__scopeId","data-v-a6f0e41e"]]);function xa(){const e=I(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function a(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const l=ee();return O(()=>l.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:a}}const Ma={},Aa={class:"VPSwitch",type:"button",role:"switch"},Ba={class:"check"},Ca={key:0,class:"icon"};function Ha(e,t){return i(),c("button",Aa,[v("span",Ba,[e.$slots.default?(i(),c("span",Ca,[r(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const Ea=b(Ma,[["render",Ha],["__scopeId","data-v-1d5665e3"]]),Be=e=>(A("data-v-5337faa4"),e=e(),B(),e),Fa=Be(()=>v("span",{class:"vpi-sun sun"},null,-1)),Da=Be(()=>v("span",{class:"vpi-moon moon"},null,-1)),Oa=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=P(),a=te("toggle-appearance",()=>{t.value=!t.value}),o=I("");return me(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(l,u)=>(i(),k(Ea,{title:o.value,class:"VPSwitchAppearance","aria-checked":s(t),onClick:s(a)},{default:d(()=>[Fa,Da]),_:1},8,["title","aria-checked","onClick"]))}}),ke=b(Oa,[["__scopeId","data-v-5337faa4"]]),Ga={key:0,class:"VPNavBarAppearance"},Ua=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=P();return(n,a)=>s(t).appearance&&s(t).appearance!=="force-dark"&&s(t).appearance!=="force-auto"?(i(),c("div",Ga,[_(ke)])):m("",!0)}}),ja=b(Ua,[["__scopeId","data-v-6c893767"]]),be=I();let Ce=!1,ie=0;function za(e){const t=I(!1);if(ne){!Ce&&Ka(),ie++;const n=O(be,a=>{var o,l,u;a===e.el.value||(o=e.el.value)!=null&&o.contains(a)?(t.value=!0,(l=e.onFocus)==null||l.call(e)):(t.value=!1,(u=e.onBlur)==null||u.call(e))});fe(()=>{n(),ie--,ie||qa()})}return Re(t)}function Ka(){document.addEventListener("focusin",He),Ce=!0,be.value=document.activeElement}function qa(){document.removeEventListener("focusin",He)}function He(){be.value=document.activeElement}const Wa={class:"VPMenuLink"},Ra=p({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=P();return(n,a)=>(i(),c("div",Wa,[_(F,{class:w({active:s(K)(s(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:d(()=>[D(T(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ae=b(Ra,[["__scopeId","data-v-43f1e123"]]),Ja={class:"VPMenuGroup"},Xa={key:0,class:"title"},Ya=p({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(i(),c("div",Ja,[e.text?(i(),c("p",Xa,T(e.text),1)):m("",!0),(i(!0),c(N,null,C(e.items,a=>(i(),c(N,null,["link"in a?(i(),k(ae,{key:0,item:a},null,8,["item"])):m("",!0)],64))),256))]))}}),Qa=b(Ya,[["__scopeId","data-v-69e747b5"]]),Za={class:"VPMenu"},eo={key:0,class:"items"},to=p({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(i(),c("div",Za,[e.items?(i(),c("div",eo,[(i(!0),c(N,null,C(e.items,a=>(i(),c(N,{key:JSON.stringify(a)},["link"in a?(i(),k(ae,{key:0,item:a},null,8,["item"])):"component"in a?(i(),k(E(a.component),Te(z({key:1},a.props)),null,16)):(i(),k(Qa,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):m("",!0),r(t.$slots,"default",{},void 0,!0)]))}}),no=b(to,[["__scopeId","data-v-b98bc113"]]),ao=e=>(A("data-v-b6c34ac9"),e=e(),B(),e),oo=["aria-expanded","aria-label"],so={key:0,class:"text"},io=["innerHTML"],lo=ao(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),ro={key:1,class:"vpi-more-horizontal icon"},co={class:"menu"},uo=p({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=I(!1),n=I();za({el:n,onBlur:a});function a(){t.value=!1}return(o,l)=>(i(),c("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:l[1]||(l[1]=u=>t.value=!0),onMouseleave:l[2]||(l[2]=u=>t.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:l[0]||(l[0]=u=>t.value=!t.value)},[e.button||e.icon?(i(),c("span",so,[e.icon?(i(),c("span",{key:0,class:w([e.icon,"option-icon"])},null,2)):m("",!0),e.button?(i(),c("span",{key:1,innerHTML:e.button},null,8,io)):m("",!0),lo])):(i(),c("span",ro))],8,oo),v("div",co,[_(no,{items:e.items},{default:d(()=>[r(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=b(uo,[["__scopeId","data-v-b6c34ac9"]]),vo=["href","aria-label","innerHTML"],ho=p({__name:"VPSocialLink",props:{icon:null,link:null,ariaLabel:null},setup(e){const t=e,n=y(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}" />`);return(a,o)=>(i(),c("a",{class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:s(n)},null,8,vo))}}),fo=b(ho,[["__scopeId","data-v-eee4e7cb"]]),mo={class:"VPSocialLinks"},po=p({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(i(),c("div",mo,[(i(!0),c(N,null,C(e.links,({link:a,icon:o,ariaLabel:l})=>(i(),k(fo,{key:a,icon:o,link:a,ariaLabel:l},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=b(po,[["__scopeId","data-v-7bc22406"]]),_o={key:0,class:"group translations"},ko={class:"trans-title"},bo={key:1,class:"group"},$o={class:"item appearance"},go={class:"label"},yo={class:"appearance-action"},Po={key:2,class:"group"},Vo={class:"item social-links"},Lo=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=P(),{localeLinks:a,currentLang:o}=J({correspondingLink:!0}),l=y(()=>a.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(u,f)=>s(l)?(i(),k($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[s(a).length&&s(o).label?(i(),c("div",_o,[v("p",ko,T(s(o).label),1),(i(!0),c(N,null,C(s(a),h=>(i(),k(ae,{key:h.link,item:h},null,8,["item"]))),128))])):m("",!0),s(t).appearance&&s(t).appearance!=="force-dark"&&s(t).appearance!=="force-auto"?(i(),c("div",bo,[v("div",$o,[v("p",go,T(s(n).darkModeSwitchLabel||"Appearance"),1),v("div",yo,[_(ke)])])])):m("",!0),s(n).socialLinks?(i(),c("div",Po,[v("div",Vo,[_(ge,{class:"social-links-list",links:s(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),So=b(Lo,[["__scopeId","data-v-bb2aa2f0"]]),To=e=>(A("data-v-e5dd9c1c"),e=e(),B(),e),Io=["aria-expanded"],wo=To(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),No=[wo],xo=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(i(),c("button",{type:"button",class:w(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=a=>t.$emit("click"))},No,10,Io))}}),Mo=b(xo,[["__scopeId","data-v-e5dd9c1c"]]),Ao=["innerHTML"],Bo=p({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=P();return(n,a)=>(i(),k(F,{class:w({VPNavBarMenuLink:!0,active:s(K)(s(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,noIcon:e.item.noIcon,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,Ao)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Co=b(Bo,[["__scopeId","data-v-9c663999"]]),Ho=p({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const t=e,{page:n}=P(),a=l=>"component"in l?!1:"link"in l?K(n.value.relativePath,l.link,!!t.item.activeMatch):l.items.some(a),o=y(()=>a(t.item));return(l,u)=>(i(),k($e,{class:w({VPNavBarMenuGroup:!0,active:s(K)(s(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||s(o)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),Eo=e=>(A("data-v-dc692963"),e=e(),B(),e),Fo={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Do=Eo(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Oo=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=P();return(n,a)=>s(t).nav?(i(),c("nav",Fo,[Do,(i(!0),c(N,null,C(s(t).nav,o=>(i(),c(N,{key:JSON.stringify(o)},["link"in o?(i(),k(Co,{key:0,item:o},null,8,["item"])):"component"in o?(i(),k(E(o.component),Te(z({key:1},o.props)),null,16)):(i(),k(Ho,{key:2,item:o},null,8,["item"]))],64))),128))])):m("",!0)}}),Go=b(Oo,[["__scopeId","data-v-dc692963"]]);function Uo(e){const{localeIndex:t,theme:n}=P();function a(o){var x,M,H;const l=o.split("."),u=(x=n.value.search)==null?void 0:x.options,f=u&&typeof u=="object",h=f&&((H=(M=u.locales)==null?void 0:M[t.value])==null?void 0:H.translations)||null,$=f&&u.translations||null;let L=h,g=$,V=e;const S=l.pop();for(const U of l){let j=null;const R=V==null?void 0:V[U];R&&(j=V=R);const oe=g==null?void 0:g[U];oe&&(j=g=oe);const se=L==null?void 0:L[U];se&&(j=L=se),R||(V=j),oe||(g=j),se||(L=j)}return(L==null?void 0:L[S])??(g==null?void 0:g[S])??(V==null?void 0:V[S])??""}return a}const jo=["aria-label"],zo={class:"DocSearch-Button-Container"},Ko=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),qo={class:"DocSearch-Button-Placeholder"},Wo=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=p({__name:"VPNavBarSearchButton",setup(e){const n=Uo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,o)=>(i(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":s(n)("button.buttonAriaLabel")},[v("span",zo,[Ko,v("span",qo,T(s(n)("button.buttonText")),1)]),Wo],8,jo))}}),Ro={class:"VPNavBarSearch"},Jo={id:"local-search"},Xo={key:1,id:"docsearch"},Yo=p({__name:"VPNavBarSearch",setup(e){const t=Je(()=>Xe(()=>import("./VPLocalSearchBox.DkPjtbh1.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:a}=P(),o=I(!1),l=I(!1);q(()=>{});function u(){o.value||(o.value=!0,setTimeout(f,16))}function f(){const g=new Event("keydown");g.key="k",g.metaKey=!0,window.dispatchEvent(g),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}function h(g){const V=g.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const $=I(!1);re("k",g=>{(g.ctrlKey||g.metaKey)&&(g.preventDefault(),$.value=!0)}),re("/",g=>{h(g)||(g.preventDefault(),$.value=!0)});const L="local";return(g,V)=>{var S;return i(),c("div",Ro,[s(L)==="local"?(i(),c(N,{key:0},[$.value?(i(),k(s(t),{key:0,onClose:V[0]||(V[0]=x=>$.value=!1)})):m("",!0),v("div",Jo,[_(ye,{onClick:V[1]||(V[1]=x=>$.value=!0)})])],64)):s(L)==="algolia"?(i(),c(N,{key:1},[o.value?(i(),k(s(n),{key:0,algolia:((S=s(a).search)==null?void 0:S.options)??s(a).algolia,onVnodeBeforeMount:V[2]||(V[2]=x=>l.value=!0)},null,8,["algolia"])):m("",!0),l.value?m("",!0):(i(),c("div",Xo,[_(ye,{onClick:u})]))],64)):m("",!0)])}}}),Qo=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>s(t).socialLinks?(i(),k(ge,{key:0,class:"VPNavBarSocialLinks",links:s(t).socialLinks},null,8,["links"])):m("",!0)}}),Zo=b(Qo,[["__scopeId","data-v-0394ad82"]]),es=["href","rel","target"],ts={key:1},ns={key:2},as=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=P(),{hasSidebar:a}=G(),{currentLang:o}=J(),l=y(()=>{var h;return typeof n.value.logoLink=="string"?n.value.logoLink:(h=n.value.logoLink)==null?void 0:h.link}),u=y(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.rel}),f=y(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.target});return(h,$)=>(i(),c("div",{class:w(["VPNavBarTitle",{"has-sidebar":s(a)}])},[v("a",{class:"title",href:s(l)??s(pe)(s(o).link),rel:s(u),target:s(f)},[r(h.$slots,"nav-bar-title-before",{},void 0,!0),s(n).logo?(i(),k(Y,{key:0,class:"logo",image:s(n).logo},null,8,["image"])):m("",!0),s(n).siteTitle?(i(),c("span",ts,T(s(n).siteTitle),1)):s(n).siteTitle===void 0?(i(),c("span",ns,T(s(t).title),1)):m("",!0),r(h.$slots,"nav-bar-title-after",{},void 0,!0)],8,es)],2))}}),os=b(as,[["__scopeId","data-v-ab179fa1"]]),ss={class:"items"},is={class:"title"},ls=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=P(),{localeLinks:n,currentLang:a}=J({correspondingLink:!0});return(o,l)=>s(n).length&&s(a).label?(i(),k($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:s(t).langMenuLabel||"Change language"},{default:d(()=>[v("div",ss,[v("p",is,T(s(a).label),1),(i(!0),c(N,null,C(s(n),u=>(i(),k(ae,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),rs=b(ls,[["__scopeId","data-v-88af2de4"]]),cs=e=>(A("data-v-6aa21345"),e=e(),B(),e),us={class:"wrapper"},ds={class:"container"},vs={class:"title"},hs={class:"content"},fs={class:"content-body"},ms=cs(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),ps=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Se(),{hasSidebar:a}=G(),{frontmatter:o}=P(),l=I({});return me(()=>{l.value={"has-sidebar":a.value,home:o.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(u,f)=>(i(),c("div",{class:w(["VPNavBar",l.value])},[v("div",us,[v("div",ds,[v("div",vs,[_(os,null,{"nav-bar-title-before":d(()=>[r(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[r(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",hs,[v("div",fs,[r(u.$slots,"nav-bar-content-before",{},void 0,!0),_(Yo,{class:"search"}),_(Go,{class:"menu"}),_(rs,{class:"translations"}),_(ja,{class:"appearance"}),_(Zo,{class:"social-links"}),_(So,{class:"extra"}),r(u.$slots,"nav-bar-content-after",{},void 0,!0),_(Mo,{class:"hamburger",active:e.isScreenOpen,onClick:f[0]||(f[0]=h=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),ms],2))}}),_s=b(ps,[["__scopeId","data-v-6aa21345"]]),ks={key:0,class:"VPNavScreenAppearance"},bs={class:"text"},$s=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=P();return(a,o)=>s(t).appearance&&s(t).appearance!=="force-dark"&&s(t).appearance!=="force-auto"?(i(),c("div",ks,[v("p",bs,T(s(n).darkModeSwitchLabel||"Appearance"),1),_(ke)])):m("",!0)}}),gs=b($s,[["__scopeId","data-v-b44890b2"]]),ys=p({__name:"VPNavScreenMenuLink",props:{item:null},setup(e){const t=te("close-screen");return(n,a)=>(i(),k(F,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:s(t),innerHTML:e.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Ps=b(ys,[["__scopeId","data-v-7f31e1f6"]]),Vs=p({__name:"VPNavScreenMenuGroupLink",props:{item:null},setup(e){const t=te("close-screen");return(n,a)=>(i(),k(F,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:s(t)},{default:d(()=>[D(T(e.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=b(Vs,[["__scopeId","data-v-19976ae1"]]),Ls={class:"VPNavScreenMenuGroupSection"},Ss={key:0,class:"title"},Ts=p({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(i(),c("div",Ls,[e.text?(i(),c("p",Ss,T(e.text),1)):m("",!0),(i(!0),c(N,null,C(e.items,a=>(i(),k(Ee,{key:a.text,item:a},null,8,["item"]))),128))]))}}),Is=b(Ts,[["__scopeId","data-v-8133b170"]]),ws=e=>(A("data-v-b9ab8c58"),e=e(),B(),e),Ns=["aria-controls","aria-expanded"],xs=["innerHTML"],Ms=ws(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),As=["id"],Bs={key:0,class:"item"},Cs={key:1,class:"item"},Hs={key:2,class:"group"},Es=p({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=I(!1),a=y(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(l,u)=>(i(),c("div",{class:w(["VPNavScreenMenuGroup",{open:n.value}])},[v("button",{class:"button","aria-controls":s(a),"aria-expanded":n.value,onClick:o},[v("span",{class:"button-text",innerHTML:e.text},null,8,xs),Ms],8,Ns),v("div",{id:s(a),class:"items"},[(i(!0),c(N,null,C(e.items,f=>(i(),c(N,{key:JSON.stringify(f)},["link"in f?(i(),c("div",Bs,[_(Ee,{item:f},null,8,["item"])])):"component"in f?(i(),c("div",Cs,[(i(),k(E(f.component),z(f.props,{"screen-menu":""}),null,16))])):(i(),c("div",Hs,[_(Is,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,As)],2))}}),Fs=b(Es,[["__scopeId","data-v-b9ab8c58"]]),Ds={key:0,class:"VPNavScreenMenu"},Os=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=P();return(n,a)=>s(t).nav?(i(),c("nav",Ds,[(i(!0),c(N,null,C(s(t).nav,o=>(i(),c(N,{key:JSON.stringify(o)},["link"in o?(i(),k(Ps,{key:0,item:o},null,8,["item"])):"component"in o?(i(),k(E(o.component),z({key:1},o.props,{"screen-menu":""}),null,16)):(i(),k(Fs,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),Gs=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>s(t).socialLinks?(i(),k(ge,{key:0,class:"VPNavScreenSocialLinks",links:s(t).socialLinks},null,8,["links"])):m("",!0)}}),Fe=e=>(A("data-v-858fe1a4"),e=e(),B(),e),Us=Fe(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),js=Fe(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),zs={class:"list"},Ks=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=J({correspondingLink:!0}),a=I(!1);function o(){a.value=!a.value}return(l,u)=>s(t).length&&s(n).label?(i(),c("div",{key:0,class:w(["VPNavScreenTranslations",{open:a.value}])},[v("button",{class:"title",onClick:o},[Us,D(" "+T(s(n).label)+" ",1),js]),v("ul",zs,[(i(!0),c(N,null,C(s(t),f=>(i(),c("li",{key:f.link,class:"item"},[_(F,{class:"link",href:f.link},{default:d(()=>[D(T(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),qs=b(Ks,[["__scopeId","data-v-858fe1a4"]]),Ws={class:"container"},Rs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=I(null),n=Ie(ne?document.body:null);return(a,o)=>(i(),k(ve,{name:"fade",onEnter:o[0]||(o[0]=l=>n.value=!0),onAfterLeave:o[1]||(o[1]=l=>n.value=!1)},{default:d(()=>[e.open?(i(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[v("div",Ws,[r(a.$slots,"nav-screen-content-before",{},void 0,!0),_(Os,{class:"menu"}),_(qs,{class:"translations"}),_(gs,{class:"appearance"}),_(Gs,{class:"social-links"}),r(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),Js=b(Rs,[["__scopeId","data-v-f2779853"]]),Xs={key:0,class:"VPNav"},Ys=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:a}=xa(),{frontmatter:o}=P(),l=y(()=>o.value.navbar!==!1);return we("close-screen",n),Q(()=>{ne&&document.documentElement.classList.toggle("hide-nav",!l.value)}),(u,f)=>s(l)?(i(),c("header",Xs,[_(_s,{"is-screen-open":s(t),onToggleScreen:s(a)},{"nav-bar-title-before":d(()=>[r(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[r(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[r(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[r(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(Js,{open:s(t)},{"nav-screen-content-before":d(()=>[r(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[r(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),Qs=b(Ys,[["__scopeId","data-v-ae24b3ad"]]),De=e=>(A("data-v-b7550ba0"),e=e(),B(),e),Zs=["role","tabindex"],ei=De(()=>v("div",{class:"indicator"},null,-1)),ti=["onKeydown"],ni=De(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),ai=[ni],oi={key:1,class:"items"},si=p({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:a,isLink:o,isActiveLink:l,hasActiveLink:u,hasChildren:f,toggle:h}=gt(y(()=>t.item)),$=y(()=>f.value?"section":"div"),L=y(()=>o.value?"a":"div"),g=y(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),V=y(()=>o.value?void 0:"button"),S=y(()=>[[`level-${t.depth}`],{collapsible:a.value},{collapsed:n.value},{"is-link":o.value},{"is-active":l.value},{"has-active":u.value}]);function x(H){"key"in H&&H.key!=="Enter"||!t.item.link&&h()}function M(){t.item.link&&h()}return(H,U)=>{const j=W("VPSidebarItem",!0);return i(),k(E(s($)),{class:w(["VPSidebarItem",s(S)])},{default:d(()=>[e.item.text?(i(),c("div",z({key:0,class:"item",role:s(V)},Ye(e.item.items?{click:x,keydown:x}:{},!0),{tabindex:e.item.items&&0}),[ei,e.item.link?(i(),k(F,{key:0,tag:s(L),class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:d(()=>[(i(),k(E(s(g)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(i(),k(E(s(g)),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(i(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:M,onKeydown:Qe(M,["enter"]),tabindex:"0"},ai,40,ti)):m("",!0)],16,Zs)):m("",!0),e.item.items&&e.item.items.length?(i(),c("div",oi,[e.depth<5?(i(!0),c(N,{key:0},C(e.item.items,R=>(i(),k(j,{key:R.text,item:R,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),ii=b(si,[["__scopeId","data-v-b7550ba0"]]),li=p({__name:"VPSidebarGroup",props:{items:null},setup(e){const t=I(!0);let n=null;return q(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),Ze(()=>{n!=null&&(clearTimeout(n),n=null)}),(a,o)=>(i(!0),c(N,null,C(e.items,l=>(i(),c("div",{key:l.text,class:w(["group",{"no-transition":t.value}])},[_(ii,{item:l,depth:0},null,8,["item"])],2))),128))}}),ri=b(li,[["__scopeId","data-v-c40bc020"]]),Oe=e=>(A("data-v-319d5ca6"),e=e(),B(),e),ci=Oe(()=>v("div",{class:"curtain"},null,-1)),ui={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},di=Oe(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),vi=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:a}=G(),o=I(null),l=Ie(ne?document.body:null);O([t,o],()=>{var f;t.open?(l.value=!0,(f=o.value)==null||f.focus()):l.value=!1},{immediate:!0,flush:"post"});const u=I(0);return O(n,()=>{u.value+=1},{deep:!0}),(f,h)=>s(a)?(i(),c("aside",{key:0,class:w(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:h[0]||(h[0]=et(()=>{},["stop"]))},[ci,v("nav",ui,[di,r(f.$slots,"sidebar-nav-before",{},void 0,!0),(i(),k(ri,{items:s(n),key:u.value},null,8,["items"])),r(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),hi=b(vi,[["__scopeId","data-v-319d5ca6"]]),fi=p({__name:"VPSkipLink",setup(e){const t=ee(),n=I();O(()=>t.path,()=>n.value.focus());function a({target:o}){const l=document.getElementById(decodeURIComponent(o.hash).slice(1));if(l){const u=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",u)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",u),l.focus(),window.scrollTo(0,0)}}return(o,l)=>(i(),c(N,null,[v("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a}," Skip to content ")],64))}}),mi=b(fi,[["__scopeId","data-v-0f60ec36"]]),pi=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:a}=G(),o=ee();O(()=>o.path,a),$t(t,a);const{frontmatter:l}=P(),u=tt(),f=y(()=>!!u["home-hero-image"]);return we("hero-image-slot-exists",f),(h,$)=>{const L=W("Content");return s(l).layout!==!1?(i(),c("div",{key:0,class:w(["Layout",s(l).pageClass])},[r(h.$slots,"layout-top",{},void 0,!0),_(mi),_(st,{class:"backdrop",show:s(t),onClick:s(a)},null,8,["show","onClick"]),_(Qs,null,{"nav-bar-title-before":d(()=>[r(h.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[r(h.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[r(h.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[r(h.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[r(h.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[r(h.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(Na,{open:s(t),onOpenMenu:s(n)},null,8,["open","onOpenMenu"]),_(hi,{open:s(t)},{"sidebar-nav-before":d(()=>[r(h.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[r(h.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(ua,null,{"page-top":d(()=>[r(h.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[r(h.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[r(h.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[r(h.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[r(h.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[r(h.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[r(h.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[r(h.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[r(h.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[r(h.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[r(h.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[r(h.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[r(h.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[r(h.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[r(h.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[r(h.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[r(h.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[r(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[r(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[r(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[r(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[r(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[r(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(ma),r(h.$slots,"layout-bottom",{},void 0,!0)],2)):(i(),k(L,{key:1}))}}}),_i=b(pi,[["__scopeId","data-v-5d98c3a5"]]),bi={Layout:_i,enhanceApp:({app:e})=>{e.component("Badge",nt)}};export{Uo as c,bi as t,P as u};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.EJpZrMkj.js","assets/chunks/framework.CvEKxEoK.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as p,o as i,c,r,n as w,a as D,t as T,b as k,w as d,e as m,T as ve,_ as b,u as Ge,i as Ue,f as je,g as he,h as y,j as v,k as s,p as A,l as B,m as K,q as le,s as I,v as O,x as Q,y as q,z as fe,A as me,B as ze,C as Ke,F as N,D as C,E as W,G as Pe,H as Z,I as _,J as E,K as Ve,L as ee,M as z,N as te,O as qe,P as Le,Q as re,R as We,S as Se,U as ne,V as Re,W as Te,X as Je,Y as Xe,Z as Ie,$ as we,a0 as Ye,a1 as Qe,a2 as Ze,a3 as et,a4 as tt}from"./framework.CvEKxEoK.js";const nt=p({__name:"VPBadge",props:{text:null,type:{default:"tip"}},setup(e){return(t,n)=>(i(),c("span",{class:w(["VPBadge",e.type])},[r(t.$slots,"default",{},()=>[D(T(e.text),1)])],2))}}),at={key:0,class:"VPBackdrop"},ot=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(i(),k(ve,{name:"fade"},{default:d(()=>[e.show?(i(),c("div",at)):m("",!0)]),_:1}))}}),st=b(ot,[["__scopeId","data-v-c79a1216"]]),P=Ge;function it(e,t){let n,a=!1;return()=>{n&&clearTimeout(n),a?n=setTimeout(e,t):(e(),(a=!0)&&setTimeout(()=>a=!1,t))}}function ce(e){return/^\//.test(e)?e:`/${e}`}function pe(e){const{pathname:t,search:n,hash:a,protocol:o}=new URL(e,"http://a.com");if(Ue(e)||e.startsWith("#")||!o.startsWith("http")||!je(t))return e;const{site:l}=P(),u=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,l.value.cleanUrls?"":".html")}${n}${a}`);return he(u)}function J({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:a,theme:o,hash:l}=P(),u=y(()=>{var h,$;return{label:(h=t.value.locales[n.value])==null?void 0:h.label,link:(($=t.value.locales[n.value])==null?void 0:$.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([h,$])=>u.value.label===$.label?[]:{text:$.label,link:lt($.link||(h==="root"?"/":`/${h}/`),o.value.i18nRouting!==!1&&e,a.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+l.value})),currentLang:u}}function lt(e,t,n,a){return t?e.replace(/\/$/,"")+ce(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):e}const rt=e=>(A("data-v-d6be1790"),e=e(),B(),e),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=rt(()=>v("div",{class:"divider"},null,-1)),ht={class:"quote"},ft={class:"action"},mt=["href","aria-label"],pt=p({__name:"NotFound",setup(e){const{theme:t}=P(),{currentLang:n}=J();return(a,o)=>{var l,u,f,h,$;return i(),c("div",ct,[v("p",ut,T(((l=s(t).notFound)==null?void 0:l.code)??"404"),1),v("h1",dt,T(((u=s(t).notFound)==null?void 0:u.title)??"PAGE NOT FOUND"),1),vt,v("blockquote",ht,T(((f=s(t).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",ft,[v("a",{class:"link",href:s(he)(s(n).link),"aria-label":((h=s(t).notFound)==null?void 0:h.linkLabel)??"go to home"},T((($=s(t).notFound)==null?void 0:$.linkText)??"Take me home"),9,mt)])])}}}),_t=b(pt,[["__scopeId","data-v-d6be1790"]]);function Ne(e,t){if(Array.isArray(e))return X(e);if(e==null)return[];t=ce(t);const n=Object.keys(e).sort((o,l)=>l.split("/").length-o.split("/").length).find(o=>t.startsWith(ce(o))),a=n?e[n]:[];return Array.isArray(a)?X(a):X(a.items,a.base)}function kt(e){const t=[];let n=0;for(const a in e){const o=e[a];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function bt(e){const t=[];function n(a){for(const o of a)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function ue(e,t){return Array.isArray(t)?t.some(n=>ue(e,n)):K(e,t.link)?!0:t.items?ue(e,t.items):!1}function X(e,t){return[...e].map(n=>{const a={...n},o=a.base||t;return o&&a.link&&(a.link=o+a.link),a.items&&(a.items=X(a.items,o)),a})}function G(){const{frontmatter:e,page:t,theme:n}=P(),a=le("(min-width: 960px)"),o=I(!1),l=y(()=>{const M=n.value.sidebar,H=t.value.relativePath;return M?Ne(M,H):[]}),u=I(l.value);O(l,(M,H)=>{JSON.stringify(M)!==JSON.stringify(H)&&(u.value=l.value)});const f=y(()=>e.value.sidebar!==!1&&u.value.length>0&&e.value.layout!=="home"),h=y(()=>$?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),$=y(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),L=y(()=>f.value&&a.value),g=y(()=>f.value?kt(u.value):[]);function V(){o.value=!0}function S(){o.value=!1}function x(){o.value?S():V()}return{isOpen:o,sidebar:u,sidebarGroups:g,hasSidebar:f,hasAside:$,leftAside:h,isSidebarEnabled:L,open:V,close:S,toggle:x}}function $t(e,t){let n;Q(()=>{n=e.value?document.activeElement:void 0}),q(()=>{window.addEventListener("keyup",a)}),fe(()=>{window.removeEventListener("keyup",a)});function a(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function gt(e){const{page:t,hash:n}=P(),a=I(!1),o=y(()=>e.value.collapsed!=null),l=y(()=>!!e.value.link),u=I(!1),f=()=>{u.value=K(t.value.relativePath,e.value.link)};O([t,e,n],f),q(f);const h=y(()=>u.value?!0:e.value.items?ue(t.value.relativePath,e.value.items):!1),$=y(()=>!!(e.value.items&&e.value.items.length));Q(()=>{a.value=!!(o.value&&e.value.collapsed)}),me(()=>{(u.value||h.value)&&(a.value=!1)});function L(){o.value&&(a.value=!a.value)}return{collapsed:a,collapsible:o,isLink:l,isActiveLink:u,hasActiveLink:h,hasChildren:$,toggle:L}}function yt(){const{hasSidebar:e}=G(),t=le("(min-width: 960px)"),n=le("(min-width: 1280px)");return{isAsideEnabled:y(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const de=[];function xe(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function _e(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const a=Number(n.tagName[1]);return{element:n,title:Pt(n),link:"#"+n.id,level:a}});return Vt(t,e)}function Pt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor")||n.classList.contains("ignore-header"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function Vt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[a,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(u=>u.level>=a&&u.level<=o),de.length=0;for(const{element:u,link:f}of e)de.push({element:u,link:f});const l=[];e:for(let u=0;u<e.length;u++){const f=e[u];if(u===0)l.push(f);else{for(let h=u-1;h>=0;h--){const $=e[h];if($.level<f.level){($.children||($.children=[])).push(f);continue e}}l.push(f)}}return l}function Lt(e,t){const{isAsideEnabled:n}=yt(),a=it(l,100);let o=null;q(()=>{requestAnimationFrame(l),window.addEventListener("scroll",a)}),ze(()=>{u(location.hash)}),fe(()=>{window.removeEventListener("scroll",a)});function l(){if(!n.value)return;const f=window.scrollY,h=window.innerHeight,$=document.body.offsetHeight,L=Math.abs(f+h-$)<1,g=de.map(({element:S,link:x})=>({link:x,top:St(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,x)=>S.top-x.top);if(!g.length){u(null);return}if(f<1){u(null);return}if(L){u(g[g.length-1].link);return}let V=null;for(const{link:S,top:x}of g){if(x>f+Ke()+4)break;V=S}u(V)}function u(f){o&&o.classList.remove("active"),f==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const h=o;h?(h.classList.add("active"),t.value.style.top=h.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function St(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}const Tt=["href","title"],It=p({__name:"VPDocOutlineItem",props:{headers:null,root:{type:Boolean}},setup(e){function t({target:n}){const a=n.href.split("#")[1],o=document.getElementById(decodeURIComponent(a));o==null||o.focus({preventScroll:!0})}return(n,a)=>{const o=W("VPDocOutlineItem",!0);return i(),c("ul",{class:w(["VPDocOutlineItem",e.root?"root":"nested"])},[(i(!0),c(N,null,C(e.headers,({children:l,link:u,title:f})=>(i(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:t,title:f},T(f),9,Tt),l!=null&&l.length?(i(),k(o,{key:0,headers:l},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Me=b(It,[["__scopeId","data-v-b933a997"]]),wt={class:"content"},Nt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},xt=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=P(),a=Pe([]);Z(()=>{a.value=_e(t.value.outline??n.value.outline)});const o=I(),l=I();return Lt(o,l),(u,f)=>(i(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:w(["VPDocAsideOutline",{"has-outline":s(a).length>0}]),ref_key:"container",ref:o},[v("div",wt,[v("div",{class:"outline-marker",ref_key:"marker",ref:l},null,512),v("div",Nt,T(s(xe)(s(n))),1),_(Me,{headers:s(a),root:!0},null,8,["headers"])])],2))}}),Mt=b(xt,[["__scopeId","data-v-a5bbad30"]]),At={class:"VPDocAsideCarbonAds"},Bt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=()=>null;return(n,a)=>(i(),c("div",At,[_(s(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Ct=e=>(A("data-v-3f215769"),e=e(),B(),e),Ht={class:"VPDocAside"},Et=Ct(()=>v("div",{class:"spacer"},null,-1)),Ft=p({__name:"VPDocAside",setup(e){const{theme:t}=P();return(n,a)=>(i(),c("div",Ht,[r(n.$slots,"aside-top",{},void 0,!0),r(n.$slots,"aside-outline-before",{},void 0,!0),_(Mt),r(n.$slots,"aside-outline-after",{},void 0,!0),Et,r(n.$slots,"aside-ads-before",{},void 0,!0),s(t).carbonAds?(i(),k(Bt,{key:0,"carbon-ads":s(t).carbonAds},null,8,["carbon-ads"])):m("",!0),r(n.$slots,"aside-ads-after",{},void 0,!0),r(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Dt=b(Ft,[["__scopeId","data-v-3f215769"]]);function Ot(){const{theme:e,page:t}=P();return y(()=>{const{text:n="Edit this page",pattern:a=""}=e.value.editLink||{};let o;return typeof a=="function"?o=a(t.value):o=a.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function Gt(){const{page:e,theme:t,frontmatter:n}=P();return y(()=>{var $,L,g,V,S,x,M,H;const a=Ne(t.value.sidebar,e.value.relativePath),o=bt(a),l=Ut(o,U=>U.link.replace(/[?#].*$/,"")),u=l.findIndex(U=>K(e.value.relativePath,U.link)),f=(($=t.value.docFooter)==null?void 0:$.prev)===!1&&!n.value.prev||n.value.prev===!1,h=((L=t.value.docFooter)==null?void 0:L.next)===!1&&!n.value.next||n.value.next===!1;return{prev:f?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((g=l[u-1])==null?void 0:g.docFooterText)??((V=l[u-1])==null?void 0:V.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((S=l[u-1])==null?void 0:S.link)},next:h?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((x=l[u+1])==null?void 0:x.docFooterText)??((M=l[u+1])==null?void 0:M.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((H=l[u+1])==null?void 0:H.link)}}})}function Ut(e,t){const n=new Set;return e.filter(a=>{const o=t(a);return n.has(o)?!1:n.add(o)})}const F=p({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=y(()=>t.tag??(t.href?"a":"span")),a=y(()=>t.href&&Ve.test(t.href)||t.target==="_blank");return(o,l)=>(i(),k(E(s(n)),{class:w(["VPLink",{link:e.href,"vp-external-link-icon":s(a),"no-icon":e.noIcon}]),href:e.href?s(pe)(e.href):void 0,target:e.target??(s(a)?"_blank":void 0),rel:e.rel??(s(a)?"noreferrer":void 0)},{default:d(()=>[r(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),jt={class:"VPLastUpdated"},zt=["datetime"],Kt=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:a}=P(),o=y(()=>new Date(n.value.lastUpdated)),l=y(()=>o.value.toISOString()),u=I("");return q(()=>{Q(()=>{var f,h,$;u.value=new Intl.DateTimeFormat((h=(f=t.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&h.forceLocale?a.value:void 0,(($=t.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(f,h)=>{var $;return i(),c("p",jt,[D(T((($=s(t).lastUpdated)==null?void 0:$.text)||s(t).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:s(l)},T(u.value),9,zt)])}}}),qt=b(Kt,[["__scopeId","data-v-e98dd255"]]),Ae=e=>(A("data-v-e257564d"),e=e(),B(),e),Wt={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Jt={key:0,class:"edit-link"},Xt=Ae(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Yt={key:1,class:"last-updated"},Qt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Zt=Ae(()=>v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),en={class:"pager"},tn=["innerHTML"],nn=["innerHTML"],an={class:"pager"},on=["innerHTML"],sn=["innerHTML"],ln=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:a}=P(),o=Ot(),l=Gt(),u=y(()=>t.value.editLink&&a.value.editLink!==!1),f=y(()=>n.value.lastUpdated),h=y(()=>u.value||f.value||l.value.prev||l.value.next);return($,L)=>{var g,V,S,x;return s(h)?(i(),c("footer",Wt,[r($.$slots,"doc-footer-before",{},void 0,!0),s(u)||s(f)?(i(),c("div",Rt,[s(u)?(i(),c("div",Jt,[_(F,{class:"edit-link-button",href:s(o).url,"no-icon":!0},{default:d(()=>[Xt,D(" "+T(s(o).text),1)]),_:1},8,["href"])])):m("",!0),s(f)?(i(),c("div",Yt,[_(qt)])):m("",!0)])):m("",!0),(g=s(l).prev)!=null&&g.link||(V=s(l).next)!=null&&V.link?(i(),c("nav",Qt,[Zt,v("div",en,[(S=s(l).prev)!=null&&S.link?(i(),k(F,{key:0,class:"pager-link prev",href:s(l).prev.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=s(t).docFooter)==null?void 0:M.prev)||"Previous page"},null,8,tn),v("span",{class:"title",innerHTML:s(l).prev.text},null,8,nn)]}),_:1},8,["href"])):m("",!0)]),v("div",an,[(x=s(l).next)!=null&&x.link?(i(),k(F,{key:0,class:"pager-link next",href:s(l).next.link},{default:d(()=>{var M;return[v("span",{class:"desc",innerHTML:((M=s(t).docFooter)==null?void 0:M.next)||"Next page"},null,8,on),v("span",{class:"title",innerHTML:s(l).next.text},null,8,sn)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),rn=b(ln,[["__scopeId","data-v-e257564d"]]),cn=e=>(A("data-v-39a288b8"),e=e(),B(),e),un={class:"container"},dn=cn(()=>v("div",{class:"aside-curtain"},null,-1)),vn={class:"aside-container"},hn={class:"aside-content"},fn={class:"content"},mn={class:"content-container"},pn={class:"main"},_n=p({__name:"VPDoc",setup(e){const{theme:t}=P(),n=ee(),{hasSidebar:a,hasAside:o,leftAside:l}=G(),u=y(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,h)=>{const $=W("Content");return i(),c("div",{class:w(["VPDoc",{"has-sidebar":s(a),"has-aside":s(o)}])},[r(f.$slots,"doc-top",{},void 0,!0),v("div",un,[s(o)?(i(),c("div",{key:0,class:w(["aside",{"left-aside":s(l)}])},[dn,v("div",vn,[v("div",hn,[_(Dt,null,{"aside-top":d(()=>[r(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[r(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[r(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[r(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[r(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[r(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",fn,[v("div",mn,[r(f.$slots,"doc-before",{},void 0,!0),v("main",pn,[_($,{class:w(["vp-doc",[s(u),s(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(rn,null,{"doc-footer-before":d(()=>[r(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),r(f.$slots,"doc-after",{},void 0,!0)])])]),r(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),kn=b(_n,[["__scopeId","data-v-39a288b8"]]),bn=p({__name:"VPButton",props:{tag:null,size:{default:"medium"},theme:{default:"brand"},text:null,href:null,target:null,rel:null},setup(e){const t=e,n=y(()=>t.href&&Ve.test(t.href)),a=y(()=>t.tag||t.href?"a":"button");return(o,l)=>(i(),k(E(s(a)),{class:w(["VPButton",[e.size,e.theme]]),href:e.href?s(pe)(e.href):void 0,target:t.target??(s(n)?"_blank":void 0),rel:t.rel??(s(n)?"noreferrer":void 0)},{default:d(()=>[D(T(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),$n=b(bn,[["__scopeId","data-v-cad61b99"]]),gn=["src","alt"],yn=p({__name:"VPImage",props:{image:null,alt:null},setup(e){return defineOptions({inheritAttrs:!1}),(t,n)=>{const a=W("VPImage",!0);return e.image?(i(),c(N,{key:0},[typeof e.image=="string"||"src"in e.image?(i(),c("img",z({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:s(he)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,gn)):(i(),c(N,{key:1},[_(a,z({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),_(a,z({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),Y=b(yn,[["__scopeId","data-v-8426fc1a"]]),Pn=e=>(A("data-v-303bb580"),e=e(),B(),e),Vn={class:"container"},Ln={class:"main"},Sn={key:0,class:"name"},Tn=["innerHTML"],In=["innerHTML"],wn=["innerHTML"],Nn={key:0,class:"actions"},xn={key:0,class:"image"},Mn={class:"image-container"},An=Pn(()=>v("div",{class:"image-bg"},null,-1)),Bn=p({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=te("hero-image-slot-exists");return(n,a)=>(i(),c("div",{class:w(["VPHero",{"has-image":e.image||s(t)}])},[v("div",Vn,[v("div",Ln,[r(n.$slots,"home-hero-info-before",{},void 0,!0),r(n.$slots,"home-hero-info",{},()=>[e.name?(i(),c("h1",Sn,[v("span",{innerHTML:e.name,class:"clip"},null,8,Tn)])):m("",!0),e.text?(i(),c("p",{key:1,innerHTML:e.text,class:"text"},null,8,In)):m("",!0),e.tagline?(i(),c("p",{key:2,innerHTML:e.tagline,class:"tagline"},null,8,wn)):m("",!0)],!0),r(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(i(),c("div",Nn,[(i(!0),c(N,null,C(e.actions,o=>(i(),c("div",{key:o.link,class:"action"},[_($n,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):m("",!0),r(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||s(t)?(i(),c("div",xn,[v("div",Mn,[An,r(n.$slots,"home-hero-image",{},()=>[e.image?(i(),k(Y,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),Cn=b(Bn,[["__scopeId","data-v-303bb580"]]),Hn=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=P();return(n,a)=>s(t).hero?(i(),k(Cn,{key:0,class:"VPHomeHero",name:s(t).hero.name,text:s(t).hero.text,tagline:s(t).hero.tagline,image:s(t).hero.image,actions:s(t).hero.actions},{"home-hero-info-before":d(()=>[r(n.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[r(n.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[r(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[r(n.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[r(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),En=e=>(A("data-v-a3976bdc"),e=e(),B(),e),Fn={class:"box"},Dn={key:0,class:"icon"},On=["innerHTML"],Gn=["innerHTML"],Un=["innerHTML"],jn={key:4,class:"link-text"},zn={class:"link-text-value"},Kn=En(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),qn=p({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null,rel:null,target:null},setup(e){return(t,n)=>(i(),k(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Fn,[typeof e.icon=="object"&&e.icon.wrap?(i(),c("div",Dn,[_(Y,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(i(),k(Y,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(i(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,On)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Gn),e.details?(i(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Un)):m("",!0),e.linkText?(i(),c("div",jn,[v("p",zn,[D(T(e.linkText)+" ",1),Kn])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Wn=b(qn,[["__scopeId","data-v-a3976bdc"]]),Rn={key:0,class:"VPFeatures"},Jn={class:"container"},Xn={class:"items"},Yn=p({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=y(()=>{const a=t.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,o)=>e.features?(i(),c("div",Rn,[v("div",Jn,[v("div",Xn,[(i(!0),c(N,null,C(e.features,l=>(i(),c("div",{key:l.title,class:w(["item",[s(n)]])},[_(Wn,{icon:l.icon,title:l.title,details:l.details,link:l.link,"link-text":l.linkText,rel:l.rel,target:l.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),Qn=b(Yn,[["__scopeId","data-v-a6181336"]]),Zn=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=P();return(n,a)=>s(t).features?(i(),k(Qn,{key:0,class:"VPHomeFeatures",features:s(t).features},null,8,["features"])):m("",!0)}}),ea=p({__name:"VPHomeContent",setup(e){const{width:t}=qe({initialWidth:0,includeScrollbar:!1});return(n,a)=>(i(),c("div",{class:"vp-doc container",style:Le(s(t)?{"--vp-offset":`calc(50% - ${s(t)/2}px)`}:{})},[r(n.$slots,"default",{},void 0,!0)],4))}}),ta=b(ea,[["__scopeId","data-v-8e2d4988"]]),na={class:"VPHome"},aa=p({__name:"VPHome",setup(e){const{frontmatter:t}=P();return(n,a)=>{const o=W("Content");return i(),c("div",na,[r(n.$slots,"home-hero-before",{},void 0,!0),_(Hn,null,{"home-hero-info-before":d(()=>[r(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[r(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[r(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[r(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[r(n.$slots,"home-hero-image",{},void 0,!0)]),_:3}),r(n.$slots,"home-hero-after",{},void 0,!0),r(n.$slots,"home-features-before",{},void 0,!0),_(Zn),r(n.$slots,"home-features-after",{},void 0,!0),s(t).markdownStyles!==!1?(i(),k(ta,{key:0},{default:d(()=>[_(o)]),_:1})):(i(),k(o,{key:1}))])}}}),oa=b(aa,[["__scopeId","data-v-686f80a6"]]),sa={},ia={class:"VPPage"};function la(e,t){const n=W("Content");return i(),c("div",ia,[r(e.$slots,"page-top"),_(n),r(e.$slots,"page-bottom")])}const ra=b(sa,[["render",la]]),ca=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=P(),{hasSidebar:a}=G();return(o,l)=>(i(),c("div",{class:w(["VPContent",{"has-sidebar":s(a),"is-home":s(n).layout==="home"}]),id:"VPContent"},[s(t).isNotFound?r(o.$slots,"not-found",{key:0},()=>[_(_t)],!0):s(n).layout==="page"?(i(),k(ra,{key:1},{"page-top":d(()=>[r(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[r(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):s(n).layout==="home"?(i(),k(oa,{key:2},{"home-hero-before":d(()=>[r(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[r(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[r(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[r(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[r(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[r(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[r(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[r(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[r(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):s(n).layout&&s(n).layout!=="doc"?(i(),k(E(s(n).layout),{key:3})):(i(),k(kn,{key:4},{"doc-top":d(()=>[r(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[r(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[r(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[r(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[r(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[r(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[r(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[r(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[r(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[r(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[r(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),ua=b(ca,[["__scopeId","data-v-1428d186"]]),da={class:"container"},va=["innerHTML"],ha=["innerHTML"],fa=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=G();return(o,l)=>s(t).footer&&s(n).footer!==!1?(i(),c("footer",{key:0,class:w(["VPFooter",{"has-sidebar":s(a)}])},[v("div",da,[s(t).footer.message?(i(),c("p",{key:0,class:"message",innerHTML:s(t).footer.message},null,8,va)):m("",!0),s(t).footer.copyright?(i(),c("p",{key:1,class:"copyright",innerHTML:s(t).footer.copyright},null,8,ha)):m("",!0)])],2)):m("",!0)}}),ma=b(fa,[["__scopeId","data-v-e315a0ad"]]);function pa(){const{theme:e,frontmatter:t}=P(),n=Pe([]),a=y(()=>n.value.length>0);return Z(()=>{n.value=_e(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:a}}const _a=e=>(A("data-v-17a5e62e"),e=e(),B(),e),ka={class:"menu-text"},ba=_a(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),$a={class:"header"},ga={class:"outline"},ya=p({__name:"VPLocalNavOutlineDropdown",props:{headers:null,navHeight:null},setup(e){const t=e,{theme:n}=P(),a=I(!1),o=I(0),l=I(),u=I();function f(g){var V;(V=l.value)!=null&&V.contains(g.target)||(a.value=!1)}O(a,g=>{if(g){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),re("Escape",()=>{a.value=!1}),Z(()=>{a.value=!1});function h(){a.value=!a.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function $(g){g.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{a.value=!1}))}function L(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(g,V)=>(i(),c("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":o.value+"px"}),ref_key:"main",ref:l},[e.headers.length>0?(i(),c("button",{key:0,onClick:h,class:w({open:a.value})},[v("span",ka,T(s(xe)(s(n))),1),ba],2)):(i(),c("button",{key:1,onClick:L},T(s(n).returnToTopLabel||"Return to top"),1)),_(ve,{name:"flyout"},{default:d(()=>[a.value?(i(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:$},[v("div",$a,[v("a",{class:"top-link",href:"#",onClick:L},T(s(n).returnToTopLabel||"Return to top"),1)]),v("div",ga,[_(Me,{headers:e.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),Pa=b(ya,[["__scopeId","data-v-17a5e62e"]]),Va=e=>(A("data-v-a6f0e41e"),e=e(),B(),e),La={class:"container"},Sa=["aria-expanded"],Ta=Va(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Ia={class:"menu-text"},wa=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=G(),{headers:o}=pa(),{y:l}=Se(),u=I(0);q(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{o.value=_e(n.value.outline??t.value.outline)});const f=y(()=>o.value.length===0),h=y(()=>f.value&&!a.value),$=y(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:f.value,fixed:h.value}));return(L,g)=>s(n).layout!=="home"&&(!s(h)||s(l)>=u.value)?(i(),c("div",{key:0,class:w(s($))},[v("div",La,[s(a)?(i(),c("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:g[0]||(g[0]=V=>L.$emit("open-menu"))},[Ta,v("span",Ia,T(s(t).sidebarMenuLabel||"Menu"),1)],8,Sa)):m("",!0),_(Pa,{headers:s(o),navHeight:u.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),Na=b(wa,[["__scopeId","data-v-a6f0e41e"]]);function xa(){const e=I(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function a(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const l=ee();return O(()=>l.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:a}}const Ma={},Aa={class:"VPSwitch",type:"button",role:"switch"},Ba={class:"check"},Ca={key:0,class:"icon"};function Ha(e,t){return i(),c("button",Aa,[v("span",Ba,[e.$slots.default?(i(),c("span",Ca,[r(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const Ea=b(Ma,[["render",Ha],["__scopeId","data-v-1d5665e3"]]),Be=e=>(A("data-v-5337faa4"),e=e(),B(),e),Fa=Be(()=>v("span",{class:"vpi-sun sun"},null,-1)),Da=Be(()=>v("span",{class:"vpi-moon moon"},null,-1)),Oa=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=P(),a=te("toggle-appearance",()=>{t.value=!t.value}),o=I("");return me(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(l,u)=>(i(),k(Ea,{title:o.value,class:"VPSwitchAppearance","aria-checked":s(t),onClick:s(a)},{default:d(()=>[Fa,Da]),_:1},8,["title","aria-checked","onClick"]))}}),ke=b(Oa,[["__scopeId","data-v-5337faa4"]]),Ga={key:0,class:"VPNavBarAppearance"},Ua=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=P();return(n,a)=>s(t).appearance&&s(t).appearance!=="force-dark"&&s(t).appearance!=="force-auto"?(i(),c("div",Ga,[_(ke)])):m("",!0)}}),ja=b(Ua,[["__scopeId","data-v-6c893767"]]),be=I();let Ce=!1,ie=0;function za(e){const t=I(!1);if(ne){!Ce&&Ka(),ie++;const n=O(be,a=>{var o,l,u;a===e.el.value||(o=e.el.value)!=null&&o.contains(a)?(t.value=!0,(l=e.onFocus)==null||l.call(e)):(t.value=!1,(u=e.onBlur)==null||u.call(e))});fe(()=>{n(),ie--,ie||qa()})}return Re(t)}function Ka(){document.addEventListener("focusin",He),Ce=!0,be.value=document.activeElement}function qa(){document.removeEventListener("focusin",He)}function He(){be.value=document.activeElement}const Wa={class:"VPMenuLink"},Ra=p({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=P();return(n,a)=>(i(),c("div",Wa,[_(F,{class:w({active:s(K)(s(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:d(()=>[D(T(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ae=b(Ra,[["__scopeId","data-v-43f1e123"]]),Ja={class:"VPMenuGroup"},Xa={key:0,class:"title"},Ya=p({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(i(),c("div",Ja,[e.text?(i(),c("p",Xa,T(e.text),1)):m("",!0),(i(!0),c(N,null,C(e.items,a=>(i(),c(N,null,["link"in a?(i(),k(ae,{key:0,item:a},null,8,["item"])):m("",!0)],64))),256))]))}}),Qa=b(Ya,[["__scopeId","data-v-69e747b5"]]),Za={class:"VPMenu"},eo={key:0,class:"items"},to=p({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(i(),c("div",Za,[e.items?(i(),c("div",eo,[(i(!0),c(N,null,C(e.items,a=>(i(),c(N,{key:JSON.stringify(a)},["link"in a?(i(),k(ae,{key:0,item:a},null,8,["item"])):"component"in a?(i(),k(E(a.component),Te(z({key:1},a.props)),null,16)):(i(),k(Qa,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):m("",!0),r(t.$slots,"default",{},void 0,!0)]))}}),no=b(to,[["__scopeId","data-v-b98bc113"]]),ao=e=>(A("data-v-b6c34ac9"),e=e(),B(),e),oo=["aria-expanded","aria-label"],so={key:0,class:"text"},io=["innerHTML"],lo=ao(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),ro={key:1,class:"vpi-more-horizontal icon"},co={class:"menu"},uo=p({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=I(!1),n=I();za({el:n,onBlur:a});function a(){t.value=!1}return(o,l)=>(i(),c("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:l[1]||(l[1]=u=>t.value=!0),onMouseleave:l[2]||(l[2]=u=>t.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:l[0]||(l[0]=u=>t.value=!t.value)},[e.button||e.icon?(i(),c("span",so,[e.icon?(i(),c("span",{key:0,class:w([e.icon,"option-icon"])},null,2)):m("",!0),e.button?(i(),c("span",{key:1,innerHTML:e.button},null,8,io)):m("",!0),lo])):(i(),c("span",ro))],8,oo),v("div",co,[_(no,{items:e.items},{default:d(()=>[r(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=b(uo,[["__scopeId","data-v-b6c34ac9"]]),vo=["href","aria-label","innerHTML"],ho=p({__name:"VPSocialLink",props:{icon:null,link:null,ariaLabel:null},setup(e){const t=e,n=y(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}" />`);return(a,o)=>(i(),c("a",{class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:s(n)},null,8,vo))}}),fo=b(ho,[["__scopeId","data-v-eee4e7cb"]]),mo={class:"VPSocialLinks"},po=p({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(i(),c("div",mo,[(i(!0),c(N,null,C(e.links,({link:a,icon:o,ariaLabel:l})=>(i(),k(fo,{key:a,icon:o,link:a,ariaLabel:l},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=b(po,[["__scopeId","data-v-7bc22406"]]),_o={key:0,class:"group translations"},ko={class:"trans-title"},bo={key:1,class:"group"},$o={class:"item appearance"},go={class:"label"},yo={class:"appearance-action"},Po={key:2,class:"group"},Vo={class:"item social-links"},Lo=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=P(),{localeLinks:a,currentLang:o}=J({correspondingLink:!0}),l=y(()=>a.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(u,f)=>s(l)?(i(),k($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[s(a).length&&s(o).label?(i(),c("div",_o,[v("p",ko,T(s(o).label),1),(i(!0),c(N,null,C(s(a),h=>(i(),k(ae,{key:h.link,item:h},null,8,["item"]))),128))])):m("",!0),s(t).appearance&&s(t).appearance!=="force-dark"&&s(t).appearance!=="force-auto"?(i(),c("div",bo,[v("div",$o,[v("p",go,T(s(n).darkModeSwitchLabel||"Appearance"),1),v("div",yo,[_(ke)])])])):m("",!0),s(n).socialLinks?(i(),c("div",Po,[v("div",Vo,[_(ge,{class:"social-links-list",links:s(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),So=b(Lo,[["__scopeId","data-v-bb2aa2f0"]]),To=e=>(A("data-v-e5dd9c1c"),e=e(),B(),e),Io=["aria-expanded"],wo=To(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),No=[wo],xo=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(i(),c("button",{type:"button",class:w(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=a=>t.$emit("click"))},No,10,Io))}}),Mo=b(xo,[["__scopeId","data-v-e5dd9c1c"]]),Ao=["innerHTML"],Bo=p({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=P();return(n,a)=>(i(),k(F,{class:w({VPNavBarMenuLink:!0,active:s(K)(s(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,noIcon:e.item.noIcon,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:e.item.text},null,8,Ao)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Co=b(Bo,[["__scopeId","data-v-9c663999"]]),Ho=p({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const t=e,{page:n}=P(),a=l=>"component"in l?!1:"link"in l?K(n.value.relativePath,l.link,!!t.item.activeMatch):l.items.some(a),o=y(()=>a(t.item));return(l,u)=>(i(),k($e,{class:w({VPNavBarMenuGroup:!0,active:s(K)(s(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||s(o)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),Eo=e=>(A("data-v-dc692963"),e=e(),B(),e),Fo={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Do=Eo(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Oo=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=P();return(n,a)=>s(t).nav?(i(),c("nav",Fo,[Do,(i(!0),c(N,null,C(s(t).nav,o=>(i(),c(N,{key:JSON.stringify(o)},["link"in o?(i(),k(Co,{key:0,item:o},null,8,["item"])):"component"in o?(i(),k(E(o.component),Te(z({key:1},o.props)),null,16)):(i(),k(Ho,{key:2,item:o},null,8,["item"]))],64))),128))])):m("",!0)}}),Go=b(Oo,[["__scopeId","data-v-dc692963"]]);function Uo(e){const{localeIndex:t,theme:n}=P();function a(o){var x,M,H;const l=o.split("."),u=(x=n.value.search)==null?void 0:x.options,f=u&&typeof u=="object",h=f&&((H=(M=u.locales)==null?void 0:M[t.value])==null?void 0:H.translations)||null,$=f&&u.translations||null;let L=h,g=$,V=e;const S=l.pop();for(const U of l){let j=null;const R=V==null?void 0:V[U];R&&(j=V=R);const oe=g==null?void 0:g[U];oe&&(j=g=oe);const se=L==null?void 0:L[U];se&&(j=L=se),R||(V=j),oe||(g=j),se||(L=j)}return(L==null?void 0:L[S])??(g==null?void 0:g[S])??(V==null?void 0:V[S])??""}return a}const jo=["aria-label"],zo={class:"DocSearch-Button-Container"},Ko=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),qo={class:"DocSearch-Button-Placeholder"},Wo=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=p({__name:"VPNavBarSearchButton",setup(e){const n=Uo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,o)=>(i(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":s(n)("button.buttonAriaLabel")},[v("span",zo,[Ko,v("span",qo,T(s(n)("button.buttonText")),1)]),Wo],8,jo))}}),Ro={class:"VPNavBarSearch"},Jo={id:"local-search"},Xo={key:1,id:"docsearch"},Yo=p({__name:"VPNavBarSearch",setup(e){const t=Je(()=>Xe(()=>import("./VPLocalSearchBox.EJpZrMkj.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:a}=P(),o=I(!1),l=I(!1);q(()=>{});function u(){o.value||(o.value=!0,setTimeout(f,16))}function f(){const g=new Event("keydown");g.key="k",g.metaKey=!0,window.dispatchEvent(g),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}function h(g){const V=g.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const $=I(!1);re("k",g=>{(g.ctrlKey||g.metaKey)&&(g.preventDefault(),$.value=!0)}),re("/",g=>{h(g)||(g.preventDefault(),$.value=!0)});const L="local";return(g,V)=>{var S;return i(),c("div",Ro,[s(L)==="local"?(i(),c(N,{key:0},[$.value?(i(),k(s(t),{key:0,onClose:V[0]||(V[0]=x=>$.value=!1)})):m("",!0),v("div",Jo,[_(ye,{onClick:V[1]||(V[1]=x=>$.value=!0)})])],64)):s(L)==="algolia"?(i(),c(N,{key:1},[o.value?(i(),k(s(n),{key:0,algolia:((S=s(a).search)==null?void 0:S.options)??s(a).algolia,onVnodeBeforeMount:V[2]||(V[2]=x=>l.value=!0)},null,8,["algolia"])):m("",!0),l.value?m("",!0):(i(),c("div",Xo,[_(ye,{onClick:u})]))],64)):m("",!0)])}}}),Qo=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>s(t).socialLinks?(i(),k(ge,{key:0,class:"VPNavBarSocialLinks",links:s(t).socialLinks},null,8,["links"])):m("",!0)}}),Zo=b(Qo,[["__scopeId","data-v-0394ad82"]]),es=["href","rel","target"],ts={key:1},ns={key:2},as=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=P(),{hasSidebar:a}=G(),{currentLang:o}=J(),l=y(()=>{var h;return typeof n.value.logoLink=="string"?n.value.logoLink:(h=n.value.logoLink)==null?void 0:h.link}),u=y(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.rel}),f=y(()=>{var h;return typeof n.value.logoLink=="string"||(h=n.value.logoLink)==null?void 0:h.target});return(h,$)=>(i(),c("div",{class:w(["VPNavBarTitle",{"has-sidebar":s(a)}])},[v("a",{class:"title",href:s(l)??s(pe)(s(o).link),rel:s(u),target:s(f)},[r(h.$slots,"nav-bar-title-before",{},void 0,!0),s(n).logo?(i(),k(Y,{key:0,class:"logo",image:s(n).logo},null,8,["image"])):m("",!0),s(n).siteTitle?(i(),c("span",ts,T(s(n).siteTitle),1)):s(n).siteTitle===void 0?(i(),c("span",ns,T(s(t).title),1)):m("",!0),r(h.$slots,"nav-bar-title-after",{},void 0,!0)],8,es)],2))}}),os=b(as,[["__scopeId","data-v-ab179fa1"]]),ss={class:"items"},is={class:"title"},ls=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=P(),{localeLinks:n,currentLang:a}=J({correspondingLink:!0});return(o,l)=>s(n).length&&s(a).label?(i(),k($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:s(t).langMenuLabel||"Change language"},{default:d(()=>[v("div",ss,[v("p",is,T(s(a).label),1),(i(!0),c(N,null,C(s(n),u=>(i(),k(ae,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),rs=b(ls,[["__scopeId","data-v-88af2de4"]]),cs=e=>(A("data-v-6aa21345"),e=e(),B(),e),us={class:"wrapper"},ds={class:"container"},vs={class:"title"},hs={class:"content"},fs={class:"content-body"},ms=cs(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),ps=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Se(),{hasSidebar:a}=G(),{frontmatter:o}=P(),l=I({});return me(()=>{l.value={"has-sidebar":a.value,home:o.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(u,f)=>(i(),c("div",{class:w(["VPNavBar",l.value])},[v("div",us,[v("div",ds,[v("div",vs,[_(os,null,{"nav-bar-title-before":d(()=>[r(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[r(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",hs,[v("div",fs,[r(u.$slots,"nav-bar-content-before",{},void 0,!0),_(Yo,{class:"search"}),_(Go,{class:"menu"}),_(rs,{class:"translations"}),_(ja,{class:"appearance"}),_(Zo,{class:"social-links"}),_(So,{class:"extra"}),r(u.$slots,"nav-bar-content-after",{},void 0,!0),_(Mo,{class:"hamburger",active:e.isScreenOpen,onClick:f[0]||(f[0]=h=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),ms],2))}}),_s=b(ps,[["__scopeId","data-v-6aa21345"]]),ks={key:0,class:"VPNavScreenAppearance"},bs={class:"text"},$s=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=P();return(a,o)=>s(t).appearance&&s(t).appearance!=="force-dark"&&s(t).appearance!=="force-auto"?(i(),c("div",ks,[v("p",bs,T(s(n).darkModeSwitchLabel||"Appearance"),1),_(ke)])):m("",!0)}}),gs=b($s,[["__scopeId","data-v-b44890b2"]]),ys=p({__name:"VPNavScreenMenuLink",props:{item:null},setup(e){const t=te("close-screen");return(n,a)=>(i(),k(F,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:s(t),innerHTML:e.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Ps=b(ys,[["__scopeId","data-v-7f31e1f6"]]),Vs=p({__name:"VPNavScreenMenuGroupLink",props:{item:null},setup(e){const t=te("close-screen");return(n,a)=>(i(),k(F,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:s(t)},{default:d(()=>[D(T(e.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=b(Vs,[["__scopeId","data-v-19976ae1"]]),Ls={class:"VPNavScreenMenuGroupSection"},Ss={key:0,class:"title"},Ts=p({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(i(),c("div",Ls,[e.text?(i(),c("p",Ss,T(e.text),1)):m("",!0),(i(!0),c(N,null,C(e.items,a=>(i(),k(Ee,{key:a.text,item:a},null,8,["item"]))),128))]))}}),Is=b(Ts,[["__scopeId","data-v-8133b170"]]),ws=e=>(A("data-v-b9ab8c58"),e=e(),B(),e),Ns=["aria-controls","aria-expanded"],xs=["innerHTML"],Ms=ws(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),As=["id"],Bs={key:0,class:"item"},Cs={key:1,class:"item"},Hs={key:2,class:"group"},Es=p({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=I(!1),a=y(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(l,u)=>(i(),c("div",{class:w(["VPNavScreenMenuGroup",{open:n.value}])},[v("button",{class:"button","aria-controls":s(a),"aria-expanded":n.value,onClick:o},[v("span",{class:"button-text",innerHTML:e.text},null,8,xs),Ms],8,Ns),v("div",{id:s(a),class:"items"},[(i(!0),c(N,null,C(e.items,f=>(i(),c(N,{key:JSON.stringify(f)},["link"in f?(i(),c("div",Bs,[_(Ee,{item:f},null,8,["item"])])):"component"in f?(i(),c("div",Cs,[(i(),k(E(f.component),z(f.props,{"screen-menu":""}),null,16))])):(i(),c("div",Hs,[_(Is,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,As)],2))}}),Fs=b(Es,[["__scopeId","data-v-b9ab8c58"]]),Ds={key:0,class:"VPNavScreenMenu"},Os=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=P();return(n,a)=>s(t).nav?(i(),c("nav",Ds,[(i(!0),c(N,null,C(s(t).nav,o=>(i(),c(N,{key:JSON.stringify(o)},["link"in o?(i(),k(Ps,{key:0,item:o},null,8,["item"])):"component"in o?(i(),k(E(o.component),z({key:1},o.props,{"screen-menu":""}),null,16)):(i(),k(Fs,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),Gs=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>s(t).socialLinks?(i(),k(ge,{key:0,class:"VPNavScreenSocialLinks",links:s(t).socialLinks},null,8,["links"])):m("",!0)}}),Fe=e=>(A("data-v-858fe1a4"),e=e(),B(),e),Us=Fe(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),js=Fe(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),zs={class:"list"},Ks=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=J({correspondingLink:!0}),a=I(!1);function o(){a.value=!a.value}return(l,u)=>s(t).length&&s(n).label?(i(),c("div",{key:0,class:w(["VPNavScreenTranslations",{open:a.value}])},[v("button",{class:"title",onClick:o},[Us,D(" "+T(s(n).label)+" ",1),js]),v("ul",zs,[(i(!0),c(N,null,C(s(t),f=>(i(),c("li",{key:f.link,class:"item"},[_(F,{class:"link",href:f.link},{default:d(()=>[D(T(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),qs=b(Ks,[["__scopeId","data-v-858fe1a4"]]),Ws={class:"container"},Rs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=I(null),n=Ie(ne?document.body:null);return(a,o)=>(i(),k(ve,{name:"fade",onEnter:o[0]||(o[0]=l=>n.value=!0),onAfterLeave:o[1]||(o[1]=l=>n.value=!1)},{default:d(()=>[e.open?(i(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[v("div",Ws,[r(a.$slots,"nav-screen-content-before",{},void 0,!0),_(Os,{class:"menu"}),_(qs,{class:"translations"}),_(gs,{class:"appearance"}),_(Gs,{class:"social-links"}),r(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),Js=b(Rs,[["__scopeId","data-v-f2779853"]]),Xs={key:0,class:"VPNav"},Ys=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:a}=xa(),{frontmatter:o}=P(),l=y(()=>o.value.navbar!==!1);return we("close-screen",n),Q(()=>{ne&&document.documentElement.classList.toggle("hide-nav",!l.value)}),(u,f)=>s(l)?(i(),c("header",Xs,[_(_s,{"is-screen-open":s(t),onToggleScreen:s(a)},{"nav-bar-title-before":d(()=>[r(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[r(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[r(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[r(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(Js,{open:s(t)},{"nav-screen-content-before":d(()=>[r(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[r(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),Qs=b(Ys,[["__scopeId","data-v-ae24b3ad"]]),De=e=>(A("data-v-b7550ba0"),e=e(),B(),e),Zs=["role","tabindex"],ei=De(()=>v("div",{class:"indicator"},null,-1)),ti=["onKeydown"],ni=De(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),ai=[ni],oi={key:1,class:"items"},si=p({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:a,isLink:o,isActiveLink:l,hasActiveLink:u,hasChildren:f,toggle:h}=gt(y(()=>t.item)),$=y(()=>f.value?"section":"div"),L=y(()=>o.value?"a":"div"),g=y(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),V=y(()=>o.value?void 0:"button"),S=y(()=>[[`level-${t.depth}`],{collapsible:a.value},{collapsed:n.value},{"is-link":o.value},{"is-active":l.value},{"has-active":u.value}]);function x(H){"key"in H&&H.key!=="Enter"||!t.item.link&&h()}function M(){t.item.link&&h()}return(H,U)=>{const j=W("VPSidebarItem",!0);return i(),k(E(s($)),{class:w(["VPSidebarItem",s(S)])},{default:d(()=>[e.item.text?(i(),c("div",z({key:0,class:"item",role:s(V)},Ye(e.item.items?{click:x,keydown:x}:{},!0),{tabindex:e.item.items&&0}),[ei,e.item.link?(i(),k(F,{key:0,tag:s(L),class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:d(()=>[(i(),k(E(s(g)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(i(),k(E(s(g)),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(i(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:M,onKeydown:Qe(M,["enter"]),tabindex:"0"},ai,40,ti)):m("",!0)],16,Zs)):m("",!0),e.item.items&&e.item.items.length?(i(),c("div",oi,[e.depth<5?(i(!0),c(N,{key:0},C(e.item.items,R=>(i(),k(j,{key:R.text,item:R,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),ii=b(si,[["__scopeId","data-v-b7550ba0"]]),li=p({__name:"VPSidebarGroup",props:{items:null},setup(e){const t=I(!0);let n=null;return q(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),Ze(()=>{n!=null&&(clearTimeout(n),n=null)}),(a,o)=>(i(!0),c(N,null,C(e.items,l=>(i(),c("div",{key:l.text,class:w(["group",{"no-transition":t.value}])},[_(ii,{item:l,depth:0},null,8,["item"])],2))),128))}}),ri=b(li,[["__scopeId","data-v-c40bc020"]]),Oe=e=>(A("data-v-319d5ca6"),e=e(),B(),e),ci=Oe(()=>v("div",{class:"curtain"},null,-1)),ui={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},di=Oe(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),vi=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:a}=G(),o=I(null),l=Ie(ne?document.body:null);O([t,o],()=>{var f;t.open?(l.value=!0,(f=o.value)==null||f.focus()):l.value=!1},{immediate:!0,flush:"post"});const u=I(0);return O(n,()=>{u.value+=1},{deep:!0}),(f,h)=>s(a)?(i(),c("aside",{key:0,class:w(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:h[0]||(h[0]=et(()=>{},["stop"]))},[ci,v("nav",ui,[di,r(f.$slots,"sidebar-nav-before",{},void 0,!0),(i(),k(ri,{items:s(n),key:u.value},null,8,["items"])),r(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),hi=b(vi,[["__scopeId","data-v-319d5ca6"]]),fi=p({__name:"VPSkipLink",setup(e){const t=ee(),n=I();O(()=>t.path,()=>n.value.focus());function a({target:o}){const l=document.getElementById(decodeURIComponent(o.hash).slice(1));if(l){const u=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",u)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",u),l.focus(),window.scrollTo(0,0)}}return(o,l)=>(i(),c(N,null,[v("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a}," Skip to content ")],64))}}),mi=b(fi,[["__scopeId","data-v-0f60ec36"]]),pi=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:a}=G(),o=ee();O(()=>o.path,a),$t(t,a);const{frontmatter:l}=P(),u=tt(),f=y(()=>!!u["home-hero-image"]);return we("hero-image-slot-exists",f),(h,$)=>{const L=W("Content");return s(l).layout!==!1?(i(),c("div",{key:0,class:w(["Layout",s(l).pageClass])},[r(h.$slots,"layout-top",{},void 0,!0),_(mi),_(st,{class:"backdrop",show:s(t),onClick:s(a)},null,8,["show","onClick"]),_(Qs,null,{"nav-bar-title-before":d(()=>[r(h.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[r(h.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[r(h.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[r(h.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[r(h.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[r(h.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(Na,{open:s(t),onOpenMenu:s(n)},null,8,["open","onOpenMenu"]),_(hi,{open:s(t)},{"sidebar-nav-before":d(()=>[r(h.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[r(h.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(ua,null,{"page-top":d(()=>[r(h.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[r(h.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[r(h.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[r(h.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[r(h.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[r(h.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[r(h.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[r(h.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[r(h.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[r(h.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[r(h.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[r(h.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[r(h.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[r(h.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[r(h.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[r(h.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[r(h.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[r(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[r(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[r(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[r(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[r(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[r(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(ma),r(h.$slots,"layout-bottom",{},void 0,!0)],2)):(i(),k(L,{key:1}))}}}),_i=b(pi,[["__scopeId","data-v-5d98c3a5"]]),bi={Layout:_i,enhanceApp:({app:e})=>{e.component("Badge",nt)}};export{Uo as c,bi as t,P as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.CvEKxEoK.js";const c=JSON.parse('{"title":"Source code","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"pages/browse-code.md","filePath":"pages/browse-code.md"}'),p={name:"pages/browse-code.md"},l=n(`<h1 id="source-code" tabindex="-1">Source code <a class="header-anchor" href="#source-code" aria-label="Permalink to "Source code""></a></h1><p>Or <a href="https://github.com/infinite-system/ivue/blob/main/src/ivue.ts" target="_blank" rel="noreferrer">Browse the source code on GitHub</a></p><h2 id="install-by-copying" tabindex="-1">Install by Copying <a class="header-anchor" href="#install-by-copying" aria-label="Permalink to "Install by Copying""></a></h2><p><code>ivue</code> is designed to be easily shareable and installable so if you are running TypeScript, you can just copy the <code>ivue.ts</code> into your repo and you are done:</p><div class="tip custom-block"><p class="custom-block-title">NOTE</p><p>This installation path is recommended only if you quickly want to tinker with the internals of ivue, as you won't be getting the latest updates. Also note that this code comes from github <code>main</code> branch latest which might also be in beta and not fully published to <code>npm</code>.</p></div><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-
|
|
1
|
+
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.CvEKxEoK.js";const c=JSON.parse('{"title":"Source code","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"pages/browse-code.md","filePath":"pages/browse-code.md"}'),p={name:"pages/browse-code.md"},l=n(`<h1 id="source-code" tabindex="-1">Source code <a class="header-anchor" href="#source-code" aria-label="Permalink to "Source code""></a></h1><p>Or <a href="https://github.com/infinite-system/ivue/blob/main/src/ivue.ts" target="_blank" rel="noreferrer">Browse the source code on GitHub</a></p><h2 id="install-by-copying" tabindex="-1">Install by Copying <a class="header-anchor" href="#install-by-copying" aria-label="Permalink to "Install by Copying""></a></h2><p><code>ivue</code> is designed to be easily shareable and installable so if you are running TypeScript, you can just copy the <code>ivue.ts</code> into your repo and you are done:</p><div class="tip custom-block"><p class="custom-block-title">NOTE</p><p>This installation path is recommended only if you quickly want to tinker with the internals of ivue, as you won't be getting the latest updates. Also note that this code comes from github <code>main</code> branch latest which might also be in beta and not fully published to <code>npm</code>.</p></div><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-0d4Pq" id="tab-xyvUha3" checked><label for="tab-xyvUha3">ivue.ts</label></div><div class="blocks"><div class="language-ts vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* eslint-disable @typescript-eslint/ban-types */</span></span>
|
|
2
2
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* eslint-disable @typescript-eslint/no-explicit-any */</span></span>
|
|
3
3
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ComputedRef, ExtractPropTypes, Ref, ToRef } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
4
4
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { computed, reactive, ref, toRef } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
@@ -18,7 +18,7 @@ import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.CvEKxEoK.js";const c
|
|
|
18
18
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
|
|
19
19
|
<span class="line"></span>
|
|
20
20
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/**</span></span>
|
|
21
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> *
|
|
21
|
+
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * Type definition for \`.toRefs()\` method converts reactive class properties to composable .value properties.</span></span>
|
|
22
22
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * But if unwrap = true is specified, the refs will be unwrapped refs available to be merged with the the root class properties.</span></span>
|
|
23
23
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> */</span></span>
|
|
24
24
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IVueToRefsFn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> extends</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> AnyClass</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">> {</span></span>
|
|
@@ -5,7 +5,7 @@ import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.CvEKxEoK.js";const c
|
|
|
5
5
|
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> i</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ivue</span></span>
|
|
6
6
|
<span class="line"></span>
|
|
7
7
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># pnpm</span></span>
|
|
8
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> i</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ivue</span></span></code></pre></div><h2 id="install-by-copying" tabindex="-1">Install by Copying <a class="header-anchor" href="#install-by-copying" aria-label="Permalink to "Install by Copying""></a></h2><p><code>ivue</code> is designed to be easily shareable and installable so if you are running TypeScript, you can just copy the <code>ivue.ts</code> into your repo and you are done:</p><details class="details custom-block"><summary>Click to expand the latest <code>ivue</code> source code to copy</summary><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-
|
|
8
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> i</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ivue</span></span></code></pre></div><h2 id="install-by-copying" tabindex="-1">Install by Copying <a class="header-anchor" href="#install-by-copying" aria-label="Permalink to "Install by Copying""></a></h2><p><code>ivue</code> is designed to be easily shareable and installable so if you are running TypeScript, you can just copy the <code>ivue.ts</code> into your repo and you are done:</p><details class="details custom-block"><summary>Click to expand the latest <code>ivue</code> source code to copy</summary><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-_HkEh" id="tab-cHTVrX0" checked><label for="tab-cHTVrX0">ivue.ts</label></div><div class="blocks"><div class="language-ts vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* eslint-disable @typescript-eslint/ban-types */</span></span>
|
|
9
9
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* eslint-disable @typescript-eslint/no-explicit-any */</span></span>
|
|
10
10
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ComputedRef, ExtractPropTypes, Ref, ToRef } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
11
11
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { computed, reactive, ref, toRef } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
@@ -25,7 +25,7 @@ import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.CvEKxEoK.js";const c
|
|
|
25
25
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
|
|
26
26
|
<span class="line"></span>
|
|
27
27
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/**</span></span>
|
|
28
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> *
|
|
28
|
+
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * Type definition for \`.toRefs()\` method converts reactive class properties to composable .value properties.</span></span>
|
|
29
29
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * But if unwrap = true is specified, the refs will be unwrapped refs available to be merged with the the root class properties.</span></span>
|
|
30
30
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> */</span></span>
|
|
31
31
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IVueToRefsFn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> extends</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> AnyClass</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">> {</span></span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{E as c,x as E,S as g}from"./chunks/index.es.CUL6WvM-.js";import{d as h,s as y,o as p,c as k,j as a,k as l,a as u,t as F,F as
|
|
1
|
+
import{E as c,x as E,S as g}from"./chunks/index.es.CUL6WvM-.js";import{d as h,s as y,o as p,c as k,j as a,k as l,a as u,t as F,F as f,y as b,I as m,a5 as r}from"./chunks/framework.CvEKxEoK.js";const D=a("br",null,null,-1),A=h({__name:"CounterExternalRefsDetailed",setup(d,{expose:n}){class e{constructor(s){this.span=s,this.count=g(0)}init(){b(()=>{this.span.innerHTML="Initial span text!"})}increment(){this.count++,this.span.innerHTML=String(this.count+1)}}const t=y(null),i=c(e,E(t));return n(i),(o,s)=>(p(),k(f,null,[a("a",{href:"javascript:void(0)",onClick:s[0]||(s[0]=()=>l(i).increment())},"Increment"),u(" Count: "+F(l(i).count)+" ",1),D,a("span",{ref_key:"span",ref:t},null,512)],64))}}),C=r(`<h1 id="guidelines" tabindex="-1">Guidelines <a class="header-anchor" href="#guidelines" aria-label="Permalink to "Guidelines""></a></h1><h2 id="dos-and-don-ts" tabindex="-1">Dos and Don'ts <a class="header-anchor" href="#dos-and-don-ts" aria-label="Permalink to "Dos and Don'ts""></a></h2><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">type</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> UseMouse</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> UseComposable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> useMouse>;</span></span>
|
|
2
2
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/**</span></span>
|
|
3
3
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * Example of a properly defined ivue class.</span></span>
|
|
4
4
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> */</span></span>
|
|
@@ -67,7 +67,7 @@ import{E as c,x as E,S as g}from"./chunks/index.es.CUL6WvM-.js";import{d as h,s
|
|
|
67
67
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
|
|
68
68
|
<span class="line"></span>
|
|
69
69
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/** ✓ Properly intilized IVUE class runner. */</span></span>
|
|
70
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> counter</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ivue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Counter, props, emit);</span></span></code></pre></div><h3 id="use-ref-for-properties" tabindex="-1">Use ref() for properties <a class="header-anchor" href="#use-ref-for-properties" aria-label="Permalink to "Use ref() for properties""></a></h3><p><code>ivue</code> recommends all class properties to be defined as <code>ref()</code> to be able to interoperate with <code>defineExpose()</code>, if you simply pass reactive props which are not Refs through <code>defineExpose()</code>, they will lose reactivity. <code>ref()</code> refs just like computed refs get flattened into the <code>reactive()</code> object, so there is no need to worry about using <code>.value</code>. The <code>ref()</code> refs are necessary just internally for Vue 3 to know which refs to keep reactive.</p><h3 id="unwrap-de-ref-the-types" tabindex="-1">Unwrap (de-Ref) the types <a class="header-anchor" href="#unwrap-de-ref-the-types" aria-label="Permalink to "Unwrap (de-Ref) the types""></a></h3><p>Next, we convert the types back to their normal types as if they have no reactivity at all, so <code>Ref<number></code> is <code>number</code> in <code>ivue</code>, so rather than going in the direction of complexifying the types, we are going in the opposite direction towards simplification.</p><h3 id="use-standard-declaration-syntax-for-functions" tabindex="-1">Use standard declaration syntax for functions <a class="header-anchor" href="#use-standard-declaration-syntax-for-functions" aria-label="Permalink to "Use standard declaration syntax for functions""></a></h3><p><code>ivue</code> recommends all class functions to be defined in plain full function style (not arrow functions), this allows all <code>ivue</code> classes to be extensible at any point. By using plain standard functions, it allows the developer to be able to override them at any time by simply extending the class.</p><h3 id="do-not-use-arrow-functions-in-class-declarations" tabindex="-1">Do not use arrow functions in class declarations <a class="header-anchor" href="#do-not-use-arrow-functions-in-class-declarations" aria-label="Permalink to "Do not use arrow functions in class declarations""></a></h3><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Arrow functions break full extensibility of classes because they carry their own context at the point of declaration, so avoid using them inside of <code>ivue</code> classes.</p></div><h2 id="constructor-vs-init" tabindex="-1">constructor() vs .init() <a class="header-anchor" href="#constructor-vs-init" aria-label="Permalink to "constructor() vs .init()""></a></h2><h4 id="use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" tabindex="-1">Use <code>constructor()</code> to assign properties of the class and cast Refs to Unwrapped bare types. <br> <a class="header-anchor" href="#use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" aria-label="Permalink to "Use \`constructor()\` to assign properties of the class and cast Refs to Unwrapped bare types. <br />""></a></h4><h4 id="use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" tabindex="-1">Use <code>.init()</code> to declare reactive state functions like <code>watch</code>, <code>watchEffect</code>, and lifecycle hooks like <code>onMounted</code>, <code>onBeforeMount</code> etc, do assignments of reactive properties, since <code>.init()</code> already has access to <code>reactive()</code> state through <code>this</code>.<br> <a class="header-anchor" href="#use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" aria-label="Permalink to "Use \`.init()\` to declare reactive state functions like \`watch\`, \`watchEffect\`, and lifecycle hooks like \`onMounted\`, \`onBeforeMount\` etc, do assignments of reactive properties, since \`.init()\` already has access to \`reactive()\` state through \`this\`.<br />""></a></h4><hr><p>Inside the <code>constructor()</code> method you still have access to non-reactive state, because when <code>constructor()</code> is initialized, it does NOT yet have access to the reactive properties of the class, since it was not yet converted to <code>reactive()</code> by <code>ivue</code>, so if you use the properties like Refs or ComputedRefs inside <code>constructor()</code> you would have to use them with the <code>.value</code>.</p><p>As a general rule, there is no need to manipulate the values in the <code>constructor()</code>, use constructor only for assigning the properties and casting the types of those assigned properties to the unwrapped (de-Refed) final state of the resulting <code>reactive()</code> object.</p><p><strong>Let's look at a <code>constructor()</code> vs <code>.init()</code> example:</strong></p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-
|
|
70
|
+
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> counter</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ivue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Counter, props, emit);</span></span></code></pre></div><h3 id="use-ref-for-properties" tabindex="-1">Use ref() for properties <a class="header-anchor" href="#use-ref-for-properties" aria-label="Permalink to "Use ref() for properties""></a></h3><p><code>ivue</code> recommends all class properties to be defined as <code>ref()</code> to be able to interoperate with <code>defineExpose()</code>, if you simply pass reactive props which are not Refs through <code>defineExpose()</code>, they will lose reactivity. <code>ref()</code> refs just like computed refs get flattened into the <code>reactive()</code> object, so there is no need to worry about using <code>.value</code>. The <code>ref()</code> refs are necessary just internally for Vue 3 to know which refs to keep reactive.</p><h3 id="unwrap-de-ref-the-types" tabindex="-1">Unwrap (de-Ref) the types <a class="header-anchor" href="#unwrap-de-ref-the-types" aria-label="Permalink to "Unwrap (de-Ref) the types""></a></h3><p>Next, we convert the types back to their normal types as if they have no reactivity at all, so <code>Ref<number></code> is <code>number</code> in <code>ivue</code>, so rather than going in the direction of complexifying the types, we are going in the opposite direction towards simplification.</p><h3 id="use-standard-declaration-syntax-for-functions" tabindex="-1">Use standard declaration syntax for functions <a class="header-anchor" href="#use-standard-declaration-syntax-for-functions" aria-label="Permalink to "Use standard declaration syntax for functions""></a></h3><p><code>ivue</code> recommends all class functions to be defined in plain full function style (not arrow functions), this allows all <code>ivue</code> classes to be extensible at any point. By using plain standard functions, it allows the developer to be able to override them at any time by simply extending the class.</p><h3 id="do-not-use-arrow-functions-in-class-declarations" tabindex="-1">Do not use arrow functions in class declarations <a class="header-anchor" href="#do-not-use-arrow-functions-in-class-declarations" aria-label="Permalink to "Do not use arrow functions in class declarations""></a></h3><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Arrow functions break full extensibility of classes because they carry their own context at the point of declaration, so avoid using them inside of <code>ivue</code> classes.</p></div><h2 id="constructor-vs-init" tabindex="-1">constructor() vs .init() <a class="header-anchor" href="#constructor-vs-init" aria-label="Permalink to "constructor() vs .init()""></a></h2><h4 id="use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" tabindex="-1">Use <code>constructor()</code> to assign properties of the class and cast Refs to Unwrapped bare types. <br> <a class="header-anchor" href="#use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" aria-label="Permalink to "Use \`constructor()\` to assign properties of the class and cast Refs to Unwrapped bare types. <br />""></a></h4><h4 id="use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" tabindex="-1">Use <code>.init()</code> to declare reactive state functions like <code>watch</code>, <code>watchEffect</code>, and lifecycle hooks like <code>onMounted</code>, <code>onBeforeMount</code> etc, do assignments of reactive properties, since <code>.init()</code> already has access to <code>reactive()</code> state through <code>this</code>.<br> <a class="header-anchor" href="#use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" aria-label="Permalink to "Use \`.init()\` to declare reactive state functions like \`watch\`, \`watchEffect\`, and lifecycle hooks like \`onMounted\`, \`onBeforeMount\` etc, do assignments of reactive properties, since \`.init()\` already has access to \`reactive()\` state through \`this\`.<br />""></a></h4><hr><p>Inside the <code>constructor()</code> method you still have access to non-reactive state, because when <code>constructor()</code> is initialized, it does NOT yet have access to the reactive properties of the class, since it was not yet converted to <code>reactive()</code> by <code>ivue</code>, so if you use the properties like Refs or ComputedRefs inside <code>constructor()</code> you would have to use them with the <code>.value</code>.</p><p>As a general rule, there is no need to manipulate the values in the <code>constructor()</code>, use constructor only for assigning the properties and casting the types of those assigned properties to the unwrapped (de-Refed) final state of the resulting <code>reactive()</code> object.</p><p><strong>Let's look at a <code>constructor()</code> vs <code>.init()</code> example:</strong></p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-8HA4O" id="tab-mhfNS2o" checked><label for="tab-mhfNS2o">CounterExternalRefsDetailed.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"ts"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
71
71
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { onMounted, ref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
72
72
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref, iuse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'ivue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
73
73
|
<span class="line"></span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{E as c,x as E,S as g}from"./chunks/index.es.CUL6WvM-.js";import{d as h,s as y,o as p,c as k,j as a,k as l,a as u,t as F,F as
|
|
1
|
+
import{E as c,x as E,S as g}from"./chunks/index.es.CUL6WvM-.js";import{d as h,s as y,o as p,c as k,j as a,k as l,a as u,t as F,F as f,y as b,I as m,a5 as r}from"./chunks/framework.CvEKxEoK.js";const D=a("br",null,null,-1),A=h({__name:"CounterExternalRefsDetailed",setup(d,{expose:n}){class e{constructor(s){this.span=s,this.count=g(0)}init(){b(()=>{this.span.innerHTML="Initial span text!"})}increment(){this.count++,this.span.innerHTML=String(this.count+1)}}const t=y(null),i=c(e,E(t));return n(i),(o,s)=>(p(),k(f,null,[a("a",{href:"javascript:void(0)",onClick:s[0]||(s[0]=()=>l(i).increment())},"Increment"),u(" Count: "+F(l(i).count)+" ",1),D,a("span",{ref_key:"span",ref:t},null,512)],64))}}),C=r(`<h1 id="guidelines" tabindex="-1">Guidelines <a class="header-anchor" href="#guidelines" aria-label="Permalink to "Guidelines""></a></h1><h2 id="dos-and-don-ts" tabindex="-1">Dos and Don'ts <a class="header-anchor" href="#dos-and-don-ts" aria-label="Permalink to "Dos and Don'ts""></a></h2><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">type</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> UseMouse</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> UseComposable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> useMouse>;</span></span>
|
|
2
2
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/**</span></span>
|
|
3
3
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * Example of a properly defined ivue class.</span></span>
|
|
4
4
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> */</span></span>
|
|
@@ -67,7 +67,7 @@ import{E as c,x as E,S as g}from"./chunks/index.es.CUL6WvM-.js";import{d as h,s
|
|
|
67
67
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
|
|
68
68
|
<span class="line"></span>
|
|
69
69
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/** ✓ Properly intilized IVUE class runner. */</span></span>
|
|
70
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> counter</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ivue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Counter, props, emit);</span></span></code></pre></div><h3 id="use-ref-for-properties" tabindex="-1">Use ref() for properties <a class="header-anchor" href="#use-ref-for-properties" aria-label="Permalink to "Use ref() for properties""></a></h3><p><code>ivue</code> recommends all class properties to be defined as <code>ref()</code> to be able to interoperate with <code>defineExpose()</code>, if you simply pass reactive props which are not Refs through <code>defineExpose()</code>, they will lose reactivity. <code>ref()</code> refs just like computed refs get flattened into the <code>reactive()</code> object, so there is no need to worry about using <code>.value</code>. The <code>ref()</code> refs are necessary just internally for Vue 3 to know which refs to keep reactive.</p><h3 id="unwrap-de-ref-the-types" tabindex="-1">Unwrap (de-Ref) the types <a class="header-anchor" href="#unwrap-de-ref-the-types" aria-label="Permalink to "Unwrap (de-Ref) the types""></a></h3><p>Next, we convert the types back to their normal types as if they have no reactivity at all, so <code>Ref<number></code> is <code>number</code> in <code>ivue</code>, so rather than going in the direction of complexifying the types, we are going in the opposite direction towards simplification.</p><h3 id="use-standard-declaration-syntax-for-functions" tabindex="-1">Use standard declaration syntax for functions <a class="header-anchor" href="#use-standard-declaration-syntax-for-functions" aria-label="Permalink to "Use standard declaration syntax for functions""></a></h3><p><code>ivue</code> recommends all class functions to be defined in plain full function style (not arrow functions), this allows all <code>ivue</code> classes to be extensible at any point. By using plain standard functions, it allows the developer to be able to override them at any time by simply extending the class.</p><h3 id="do-not-use-arrow-functions-in-class-declarations" tabindex="-1">Do not use arrow functions in class declarations <a class="header-anchor" href="#do-not-use-arrow-functions-in-class-declarations" aria-label="Permalink to "Do not use arrow functions in class declarations""></a></h3><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Arrow functions break full extensibility of classes because they carry their own context at the point of declaration, so avoid using them inside of <code>ivue</code> classes.</p></div><h2 id="constructor-vs-init" tabindex="-1">constructor() vs .init() <a class="header-anchor" href="#constructor-vs-init" aria-label="Permalink to "constructor() vs .init()""></a></h2><h4 id="use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" tabindex="-1">Use <code>constructor()</code> to assign properties of the class and cast Refs to Unwrapped bare types. <br> <a class="header-anchor" href="#use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" aria-label="Permalink to "Use \`constructor()\` to assign properties of the class and cast Refs to Unwrapped bare types. <br />""></a></h4><h4 id="use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" tabindex="-1">Use <code>.init()</code> to declare reactive state functions like <code>watch</code>, <code>watchEffect</code>, and lifecycle hooks like <code>onMounted</code>, <code>onBeforeMount</code> etc, do assignments of reactive properties, since <code>.init()</code> already has access to <code>reactive()</code> state through <code>this</code>.<br> <a class="header-anchor" href="#use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" aria-label="Permalink to "Use \`.init()\` to declare reactive state functions like \`watch\`, \`watchEffect\`, and lifecycle hooks like \`onMounted\`, \`onBeforeMount\` etc, do assignments of reactive properties, since \`.init()\` already has access to \`reactive()\` state through \`this\`.<br />""></a></h4><hr><p>Inside the <code>constructor()</code> method you still have access to non-reactive state, because when <code>constructor()</code> is initialized, it does NOT yet have access to the reactive properties of the class, since it was not yet converted to <code>reactive()</code> by <code>ivue</code>, so if you use the properties like Refs or ComputedRefs inside <code>constructor()</code> you would have to use them with the <code>.value</code>.</p><p>As a general rule, there is no need to manipulate the values in the <code>constructor()</code>, use constructor only for assigning the properties and casting the types of those assigned properties to the unwrapped (de-Refed) final state of the resulting <code>reactive()</code> object.</p><p><strong>Let's look at a <code>constructor()</code> vs <code>.init()</code> example:</strong></p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-
|
|
70
|
+
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> counter</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ivue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Counter, props, emit);</span></span></code></pre></div><h3 id="use-ref-for-properties" tabindex="-1">Use ref() for properties <a class="header-anchor" href="#use-ref-for-properties" aria-label="Permalink to "Use ref() for properties""></a></h3><p><code>ivue</code> recommends all class properties to be defined as <code>ref()</code> to be able to interoperate with <code>defineExpose()</code>, if you simply pass reactive props which are not Refs through <code>defineExpose()</code>, they will lose reactivity. <code>ref()</code> refs just like computed refs get flattened into the <code>reactive()</code> object, so there is no need to worry about using <code>.value</code>. The <code>ref()</code> refs are necessary just internally for Vue 3 to know which refs to keep reactive.</p><h3 id="unwrap-de-ref-the-types" tabindex="-1">Unwrap (de-Ref) the types <a class="header-anchor" href="#unwrap-de-ref-the-types" aria-label="Permalink to "Unwrap (de-Ref) the types""></a></h3><p>Next, we convert the types back to their normal types as if they have no reactivity at all, so <code>Ref<number></code> is <code>number</code> in <code>ivue</code>, so rather than going in the direction of complexifying the types, we are going in the opposite direction towards simplification.</p><h3 id="use-standard-declaration-syntax-for-functions" tabindex="-1">Use standard declaration syntax for functions <a class="header-anchor" href="#use-standard-declaration-syntax-for-functions" aria-label="Permalink to "Use standard declaration syntax for functions""></a></h3><p><code>ivue</code> recommends all class functions to be defined in plain full function style (not arrow functions), this allows all <code>ivue</code> classes to be extensible at any point. By using plain standard functions, it allows the developer to be able to override them at any time by simply extending the class.</p><h3 id="do-not-use-arrow-functions-in-class-declarations" tabindex="-1">Do not use arrow functions in class declarations <a class="header-anchor" href="#do-not-use-arrow-functions-in-class-declarations" aria-label="Permalink to "Do not use arrow functions in class declarations""></a></h3><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Arrow functions break full extensibility of classes because they carry their own context at the point of declaration, so avoid using them inside of <code>ivue</code> classes.</p></div><h2 id="constructor-vs-init" tabindex="-1">constructor() vs .init() <a class="header-anchor" href="#constructor-vs-init" aria-label="Permalink to "constructor() vs .init()""></a></h2><h4 id="use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" tabindex="-1">Use <code>constructor()</code> to assign properties of the class and cast Refs to Unwrapped bare types. <br> <a class="header-anchor" href="#use-constructor-to-assign-properties-of-the-class-and-cast-refs-to-unwrapped-bare-types" aria-label="Permalink to "Use \`constructor()\` to assign properties of the class and cast Refs to Unwrapped bare types. <br />""></a></h4><h4 id="use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" tabindex="-1">Use <code>.init()</code> to declare reactive state functions like <code>watch</code>, <code>watchEffect</code>, and lifecycle hooks like <code>onMounted</code>, <code>onBeforeMount</code> etc, do assignments of reactive properties, since <code>.init()</code> already has access to <code>reactive()</code> state through <code>this</code>.<br> <a class="header-anchor" href="#use-init-to-declare-reactive-state-functions-like-watch-watcheffect-and-lifecycle-hooks-like-onmounted-onbeforemount-etc-do-assignments-of-reactive-properties-since-init-already-has-access-to-reactive-state-through-this" aria-label="Permalink to "Use \`.init()\` to declare reactive state functions like \`watch\`, \`watchEffect\`, and lifecycle hooks like \`onMounted\`, \`onBeforeMount\` etc, do assignments of reactive properties, since \`.init()\` already has access to \`reactive()\` state through \`this\`.<br />""></a></h4><hr><p>Inside the <code>constructor()</code> method you still have access to non-reactive state, because when <code>constructor()</code> is initialized, it does NOT yet have access to the reactive properties of the class, since it was not yet converted to <code>reactive()</code> by <code>ivue</code>, so if you use the properties like Refs or ComputedRefs inside <code>constructor()</code> you would have to use them with the <code>.value</code>.</p><p>As a general rule, there is no need to manipulate the values in the <code>constructor()</code>, use constructor only for assigning the properties and casting the types of those assigned properties to the unwrapped (de-Refed) final state of the resulting <code>reactive()</code> object.</p><p><strong>Let's look at a <code>constructor()</code> vs <code>.init()</code> example:</strong></p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-8HA4O" id="tab-mhfNS2o" checked><label for="tab-mhfNS2o">CounterExternalRefsDetailed.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"ts"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
71
71
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { onMounted, ref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
72
72
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref, iuse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'ivue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
73
73
|
<span class="line"></span>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import{d as s,c as i,o as a,a5 as n}from"./chunks/framework.CvEKxEoK.js";const p=n(`<h1 id="how-it-works" tabindex="-1">How it works? <a class="header-anchor" href="#how-it-works" aria-label="Permalink to "How it works?""></a></h1><h2 id="what-ivue-is-not" tabindex="-1">What ivue is NOT? <a class="header-anchor" href="#what-ivue-is-not" aria-label="Permalink to "What ivue is NOT?""></a></h2><p>To understand how ivue works and how it does it, it is important to understand what it does not do.</p><div class="info custom-block"><p class="custom-block-title"><code>ivue</code> is different from other class based libraries</p><p>— <code>ivue</code> does NOT inherit from a base Class.<br> — <code>ivue</code> does NOT use Decorators to achieve its objectives.<br> — <code>ivue</code> does NOT alter Vue 3 underlying behavior, but rather relies on it.<br> — <code>ivue</code> is NOT the same as Class Components (though you can build components with it).<br> — <code>ivue</code> aims to be opaque, by giving the developer the Class API reactivity system.<br> — <code>ivue</code> omits custom implementations of IOC Container, Decorators & Mixins, etc. by design.<br> — <code>ivue</code> enforces a sane default standard of operation to contain the ever flexible Class API.<br></p></div><div class="tip custom-block"><p class="custom-block-title">IVUE IMPLEMENTS MINIMAL API ARCHITECTURE</p><p>Things like IOC Container, Decorators, Traits, Mixins, etc. were omitted by design to slim down the surface area and scope of <code>ivue</code> core purpose, which was JavaScript / TypeScript Class API based reactivity. Any Traits, Decorators & IOC Container can be built around it using third-party libraries or roll your own systems. You are more than welcome to contribute in this area!</p></div><h2 id="how-it-works-1" tabindex="-1">How it works? <a class="header-anchor" href="#how-it-works-1" aria-label="Permalink to "How it works?""></a></h2><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ivue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> extends</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> AnyClass</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">>(</span></span>
|
|
2
2
|
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> className</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> T</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
3
3
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ...</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">args</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> InferredArgs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
4
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IVue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">>;</span></span></code></pre></div><p>The main <code>ivue()</code> initializer function uses TypeScript to be able to infer and validate the constrcutor argument types of <code>AnyClass</code> and passes those arguments to the constructor of <code>AnyClass</code>.</p><p><code>ivue</code> allows you to pass any number of arguments into the class <code>constructor(arg1, arg2, arg3, ...etc)</code></p><p><code>ivue()</code> initializer function returns an extended Vue 3 <code>reactive()</code> object in which getters and setters are internally converted to computeds and adds <code>.toRefs()</code> method to the created object. Computeds auto-unwrap themselves when they are accessed as a reactive object property, so the <code>.value</code> properties and computeds get flattened in the resulting object and do not require <code>.value</code> to be accessed.</p><p><code>ivue</code> replicates native JavaScript / TypeScript class implementation by extending descriptors (getters and setters) up the whole prototype ancestors chain thus supporting classical inheritance.</p><p><code>ivue</code> aims to be opaque and minimal, just doing the minimum to convert a class to a reactive object, leaving the rest to be implemented using Vue 3 Composition API inside an initializer function called <code>.init()</code></p><h2 id="usage-recommendation" tabindex="-1">Usage Recommendation <a class="header-anchor" href="#usage-recommendation" aria-label="Permalink to "Usage Recommendation""></a></h2><p><code>ivue</code> recommends all class properties to be defined as <code>ref()</code> to be able to interoperate with <code>defineExpose()</code>, if you simply pass reactive props which are not Refs through <code>defineExpose()</code>, they will lose reactivity. <code>ref()</code> refs just like computed refs get flattened into the <code>reactive()</code> object, so there is no need to worry about using <code>.value</code>. The <code>ref()</code> refs are necessary just internally for Vue 3 to know which refs to keep reactive, and we just convert the types back to their normal types as if they have no reactivity at all, so <code>Ref<number></code> is <code>number</code> in <code>ivue</code>, so rather than going in the direction of complexifying the types, we are going in the opposite direction towards simplification.</p><p><code>ivue</code> recommends all class functions, getters and setters to be defined in plain full function style (not arrow functions), this allows all <code>ivue</code> classes to be extensible at any point. By using plain standard functions, getters and setters allows for any getter, setter, function or property to be overriden by extending this class. Arrow functions break full extensibility of classes, so avoid using them inside of classes.</p><p>See: <a href="/ivue/pages/guidelines.html">More Guidelines</a></p><h2 id="minimal-api-surface-area" tabindex="-1">Minimal API Surface Area <a class="header-anchor" href="#minimal-api-surface-area" aria-label="Permalink to "Minimal API Surface Area""></a></h2><p><code>ivue()</code> initializer function is the main core function to initialize the <code>ivue</code> reactive object<br><code>iref()</code> ref initializer instantiates the Ref but Unwraps its type as the raw type of the Ref<br><code>iuse()</code> function converts the type of composables to they Unwraped raw types<br><code>.init()</code> method helps initialize the reactive state like <code>watch</code>, <code>onMount</code>, etc.<br><code>.toRefs()</code> method allows to interoperate with Vue 3 Composables<br> Utility Types help to achieve the rest of <code>ivue</code> capabilities</p><details class="details custom-block"><summary>Click to see the whole latest <code>ivue</code> source code from github main branch below:</summary><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-
|
|
4
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IVue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">>;</span></span></code></pre></div><p>The main <code>ivue()</code> initializer function uses TypeScript to be able to infer and validate the constrcutor argument types of <code>AnyClass</code> and passes those arguments to the constructor of <code>AnyClass</code>.</p><p><code>ivue</code> allows you to pass any number of arguments into the class <code>constructor(arg1, arg2, arg3, ...etc)</code></p><p><code>ivue()</code> initializer function returns an extended Vue 3 <code>reactive()</code> object in which getters and setters are internally converted to computeds and adds <code>.toRefs()</code> method to the created object. Computeds auto-unwrap themselves when they are accessed as a reactive object property, so the <code>.value</code> properties and computeds get flattened in the resulting object and do not require <code>.value</code> to be accessed.</p><p><code>ivue</code> replicates native JavaScript / TypeScript class implementation by extending descriptors (getters and setters) up the whole prototype ancestors chain thus supporting classical inheritance.</p><p><code>ivue</code> aims to be opaque and minimal, just doing the minimum to convert a class to a reactive object, leaving the rest to be implemented using Vue 3 Composition API inside an initializer function called <code>.init()</code></p><h2 id="usage-recommendation" tabindex="-1">Usage Recommendation <a class="header-anchor" href="#usage-recommendation" aria-label="Permalink to "Usage Recommendation""></a></h2><p><code>ivue</code> recommends all class properties to be defined as <code>ref()</code> to be able to interoperate with <code>defineExpose()</code>, if you simply pass reactive props which are not Refs through <code>defineExpose()</code>, they will lose reactivity. <code>ref()</code> refs just like computed refs get flattened into the <code>reactive()</code> object, so there is no need to worry about using <code>.value</code>. The <code>ref()</code> refs are necessary just internally for Vue 3 to know which refs to keep reactive, and we just convert the types back to their normal types as if they have no reactivity at all, so <code>Ref<number></code> is <code>number</code> in <code>ivue</code>, so rather than going in the direction of complexifying the types, we are going in the opposite direction towards simplification.</p><p><code>ivue</code> recommends all class functions, getters and setters to be defined in plain full function style (not arrow functions), this allows all <code>ivue</code> classes to be extensible at any point. By using plain standard functions, getters and setters allows for any getter, setter, function or property to be overriden by extending this class. Arrow functions break full extensibility of classes, so avoid using them inside of classes.</p><p>See: <a href="/ivue/pages/guidelines.html">More Guidelines</a></p><h2 id="minimal-api-surface-area" tabindex="-1">Minimal API Surface Area <a class="header-anchor" href="#minimal-api-surface-area" aria-label="Permalink to "Minimal API Surface Area""></a></h2><p><code>ivue()</code> initializer function is the main core function to initialize the <code>ivue</code> reactive object<br><code>iref()</code> ref initializer instantiates the Ref but Unwraps its type as the raw type of the Ref<br><code>iuse()</code> function converts the type of composables to they Unwraped raw types<br><code>.init()</code> method helps initialize the reactive state like <code>watch</code>, <code>onMount</code>, etc.<br><code>.toRefs()</code> method allows to interoperate with Vue 3 Composables<br> Utility Types help to achieve the rest of <code>ivue</code> capabilities</p><details class="details custom-block"><summary>Click to see the whole latest <code>ivue</code> source code from github main branch below:</summary><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-2ZTbG" id="tab-5_JnvII" checked><label for="tab-5_JnvII">ivue.ts</label></div><div class="blocks"><div class="language-ts vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* eslint-disable @typescript-eslint/ban-types */</span></span>
|
|
5
5
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* eslint-disable @typescript-eslint/no-explicit-any */</span></span>
|
|
6
6
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ComputedRef, ExtractPropTypes, Ref, ToRef } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
7
7
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { computed, reactive, ref, toRef } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'vue'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
@@ -21,7 +21,7 @@ import{d as s,c as i,o as a,a5 as n}from"./chunks/framework.CvEKxEoK.js";const p
|
|
|
21
21
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
|
|
22
22
|
<span class="line"></span>
|
|
23
23
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/**</span></span>
|
|
24
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> *
|
|
24
|
+
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * Type definition for \`.toRefs()\` method converts reactive class properties to composable .value properties.</span></span>
|
|
25
25
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * But if unwrap = true is specified, the refs will be unwrapped refs available to be merged with the the root class properties.</span></span>
|
|
26
26
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> */</span></span>
|
|
27
27
|
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IVueToRefsFn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> extends</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> AnyClass</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">> {</span></span>
|