kindy-editor 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +27 -2
  2. package/dist-lib/builder.js +4 -4
  3. package/dist-lib/{editorApp-F48A7I6z.js → editorApp-CtrnSSsP.js} +9620 -8998
  4. package/dist-lib/events.js +1 -1
  5. package/dist-lib/export.js +6 -6
  6. package/dist-lib/generate-toc.js +3 -3
  7. package/dist-lib/import.js +2 -2
  8. package/dist-lib/{kindy-editor-DnWvHijW.js → kindy-editor-CoeqFYYG.js} +100 -85
  9. package/dist-lib/kindy-editor.js +1 -1
  10. package/dist-lib/measure.js +3 -3
  11. package/dist-lib/{measureHost-Ca_gM01T.js → measureHost-mtLj644m.js} +2 -2
  12. package/dist-lib/{metrics-BFTHu_jF.js → metrics-DHgtBP-R.js} +1 -1
  13. package/dist-lib/{paintStyle-GQFOpJKx.js → paintStyle-Cjk9egel.js} +10 -9
  14. package/dist-lib/{parse-DmTwoFz6.js → parse-D3V5Abci.js} +11 -11
  15. package/dist-lib/{pipeline-BTemNJdx.js → pipeline-JfHxzjns.js} +1 -1
  16. package/dist-lib/recalc-docx.js +1 -1
  17. package/dist-lib/{recalcToc-c9kIMGbk.js → recalcToc-MRszlj8g.js} +80 -80
  18. package/dist-lib/{stylesheet-BcU1Q_JI.js → stylesheet-E5bu1xch.js} +1 -1
  19. package/dist-lib/{toc-mgkp-28Y.js → toc-DSwkNKls.js} +15 -15
  20. package/dist-lib/{webmcp-BLC_QALL.js → webmcp-Dr3n_xAO.js} +2 -2
  21. package/docs/.vitepress/cache/deps/_metadata.json +7 -7
  22. package/docs/.vitepress/config.ts +4 -0
  23. package/docs/.vitepress/dist/404.html +2 -2
  24. package/docs/.vitepress/dist/assets/{app.DYJtoZwO.js → app.rXBVdtfQ.js} +1 -1
  25. package/docs/.vitepress/dist/assets/chunks/framework.D9_ZvfG7.js +19 -0
  26. package/docs/.vitepress/dist/assets/chunks/{theme.BTGY7hKU.js → theme.CFP3sGN8.js} +1 -1
  27. package/docs/.vitepress/dist/assets/fonts.md.W87hfQua.js +75 -0
  28. package/docs/.vitepress/dist/assets/fonts.md.W87hfQua.lean.js +1 -0
  29. package/docs/.vitepress/dist/assets/{http-event-sink.md.BViKRVhd.js → http-event-sink.md.D7mTerle.js} +1 -1
  30. package/docs/.vitepress/dist/assets/{http-event-sink.md.BViKRVhd.lean.js → http-event-sink.md.D7mTerle.lean.js} +1 -1
  31. package/docs/.vitepress/dist/assets/{index.md.Bc6V9_E3.js → index.md.DN1JXJhG.js} +1 -1
  32. package/docs/.vitepress/dist/assets/{index.md.Bc6V9_E3.lean.js → index.md.DN1JXJhG.lean.js} +1 -1
  33. package/docs/.vitepress/dist/assets/{public-events.md.CMTD1Y84.js → public-events.md.Rj44CdBr.js} +1 -1
  34. package/docs/.vitepress/dist/assets/{public-events.md.CMTD1Y84.lean.js → public-events.md.Rj44CdBr.lean.js} +1 -1
  35. package/docs/.vitepress/dist/assets/{review-comments.md.19jCC2Pi.js → review-comments.md.466PcTcC.js} +1 -1
  36. package/docs/.vitepress/dist/assets/{review-comments.md.19jCC2Pi.lean.js → review-comments.md.466PcTcC.lean.js} +1 -1
  37. package/docs/.vitepress/dist/assets/table-editing.md.Bso_sgTE.js +28 -0
  38. package/docs/.vitepress/dist/assets/table-editing.md.Bso_sgTE.lean.js +1 -0
  39. package/docs/.vitepress/dist/fonts.html +99 -0
  40. package/docs/.vitepress/dist/hashmap.json +1 -1
  41. package/docs/.vitepress/dist/http-event-sink.html +6 -6
  42. package/docs/.vitepress/dist/index.html +6 -6
  43. package/docs/.vitepress/dist/public-events.html +7 -7
  44. package/docs/.vitepress/dist/review-comments.html +6 -6
  45. package/docs/.vitepress/dist/table-editing.html +52 -0
  46. package/docs/fonts.md +139 -0
  47. package/docs/table-editing.md +102 -0
  48. package/package.json +4 -1
  49. package/types/kindy-editor.d.ts +65 -1
  50. package/docs/.vitepress/dist/assets/chunks/framework.DCJ5T8RY.js +0 -19
@@ -1 +1 @@
1
- import{d as p,c as u,r as c,n as T,o as s,a as j,t as N,b as _,w as h,T as ce,e as m,_ as b,u as He,i as Ae,f as Be,g as ue,h as g,j as v,k as i,l as z,m as se,p as S,q as F,s as Y,v as U,x as de,y as ve,z as Ce,A as Ee,F as x,B as H,C as W,D as Q,E as k,G as ge,H as C,I as $e,J as X,K as G,L as Z,M as Fe,N as ye,O as De,P as Pe,Q as Le,R as ee,S as Oe,U as Ve,V as Se,W as Ge,X as Ue,Y as je,Z as ze,$ as We}from"./framework.DCJ5T8RY.js";const qe=p({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(s(),u("span",{class:T(["VPBadge",e.type])},[c(t.$slots,"default",{},()=>[j(N(e.text),1)])],2))}}),Ke={key:0,class:"VPBackdrop"},Re=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),_(ce,{name:"fade"},{default:h(()=>[e.show?(s(),u("div",Ke)):m("",!0)]),_:1}))}}),Je=b(Re,[["__scopeId","data-v-b2600058"]]),P=He;function Ye(e,t){let n,a=!1;return()=>{n&&clearTimeout(n),a?n=setTimeout(e,t):(e(),(a=!0)&&setTimeout(()=>a=!1,t))}}function ie(e){return e.startsWith("/")?e:`/${e}`}function fe(e){const{pathname:t,search:n,hash:a,protocol:o}=new URL(e,"http://a.com");if(Ae(e)||e.startsWith("#")||!o.startsWith("http")||!Be(t))return e;const{site:r}=P(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${n}${a}`);return ue(l)}function K({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:a,theme:o,hash:r}=P(),l=g(()=>{var d,y;return{label:(d=t.value.locales[n.value])==null?void 0:d.label,link:((y=t.value.locales[n.value])==null?void 0:y.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:g(()=>Object.entries(t.value.locales).flatMap(([d,y])=>l.value.label===y.label?[]:{text:y.label,link:Qe(y.link||(d==="root"?"/":`/${d}/`),o.value.i18nRouting!==!1&&e,a.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+r.value})),currentLang:l}}function Qe(e,t,n,a){return t?e.replace(/\/$/,"")+ie(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):e}const Xe={class:"NotFound"},Ze={class:"code"},et={class:"title"},tt={class:"quote"},nt={class:"action"},at=["href","aria-label"],ot=p({__name:"NotFound",setup(e){const{theme:t}=P(),{currentLang:n}=K();return(a,o)=>{var r,l,f,d,y;return s(),u("div",Xe,[v("p",Ze,N(((r=i(t).notFound)==null?void 0:r.code)??"404"),1),v("h1",et,N(((l=i(t).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),o[0]||(o[0]=v("div",{class:"divider"},null,-1)),v("blockquote",tt,N(((f=i(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",nt,[v("a",{class:"link",href:i(ue)(i(n).link),"aria-label":((d=i(t).notFound)==null?void 0:d.linkLabel)??"go to home"},N(((y=i(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,at)])])}}}),st=b(ot,[["__scopeId","data-v-93fd8736"]]);function Te(e,t){if(Array.isArray(e))return R(e);if(e==null)return[];t=ie(t);const n=Object.keys(e).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>t.startsWith(ie(o))),a=n?e[n]:[];return Array.isArray(a)?R(a):R(a.items,a.base)}function it(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 rt(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 re(e,t){return Array.isArray(t)?t.some(n=>re(e,n)):z(e,t.link)?!0:t.items?re(e,t.items):!1}function R(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=R(a.items,o)),a})}function D(){const{frontmatter:e,page:t,theme:n}=P(),a=se("(min-width: 960px)"),o=S(!1),r=g(()=>{const w=n.value.sidebar,A=t.value.relativePath;return w?Te(w,A):[]}),l=S(r.value);F(r,(w,A)=>{JSON.stringify(w)!==JSON.stringify(A)&&(l.value=r.value)});const f=g(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),d=g(()=>y?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),y=g(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),L=g(()=>f.value&&a.value),$=g(()=>f.value?it(l.value):[]);function V(){o.value=!0}function M(){o.value=!1}function I(){o.value?M():V()}return{isOpen:o,sidebar:l,sidebarGroups:$,hasSidebar:f,hasAside:y,leftAside:d,isSidebarEnabled:L,open:V,close:M,toggle:I}}function lt(e,t){let n;Y(()=>{n=e.value?document.activeElement:void 0}),U(()=>{window.addEventListener("keyup",a)}),de(()=>{window.removeEventListener("keyup",a)});function a(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function ct(e){const{page:t,hash:n}=P(),a=S(!1),o=g(()=>e.value.collapsed!=null),r=g(()=>!!e.value.link),l=S(!1),f=()=>{l.value=z(t.value.relativePath,e.value.link)};F([t,e,n],f),U(f);const d=g(()=>l.value?!0:e.value.items?re(t.value.relativePath,e.value.items):!1),y=g(()=>!!(e.value.items&&e.value.items.length));Y(()=>{a.value=!!(o.value&&e.value.collapsed)}),ve(()=>{(l.value||d.value)&&(a.value=!1)});function L(){o.value&&(a.value=!a.value)}return{collapsed:a,collapsible:o,isLink:r,isActiveLink:l,hasActiveLink:d,hasChildren:y,toggle:L}}function ut(){const{hasSidebar:e}=D(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:g(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const dt=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,le=[];function Ne(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function he(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:vt(n),link:"#"+n.id,level:a}});return ft(t,e)}function vt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(dt.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function ft(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;return pt(e,a,o)}function ht(e,t){const{isAsideEnabled:n}=ut(),a=Ye(r,100);let o=null;U(()=>{requestAnimationFrame(r),window.addEventListener("scroll",a)}),Ce(()=>{l(location.hash)}),de(()=>{window.removeEventListener("scroll",a)});function r(){if(!n.value)return;const f=window.scrollY,d=window.innerHeight,y=document.body.offsetHeight,L=Math.abs(f+d-y)<1,$=le.map(({element:M,link:I})=>({link:I,top:mt(M)})).filter(({top:M})=>!Number.isNaN(M)).sort((M,I)=>M.top-I.top);if(!$.length){l(null);return}if(f<1){l(null);return}if(L){l($[$.length-1].link);return}let V=null;for(const{link:M,top:I}of $){if(I>f+Ee()+4)break;V=M}l(V)}function l(f){o&&o.classList.remove("active"),f==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const d=o;d?(d.classList.add("active"),t.value.style.top=d.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function mt(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function pt(e,t,n){le.length=0;const a=[],o=[];return e.forEach(r=>{const l={...r,children:[]};let f=o[o.length-1];for(;f&&f.level>=l.level;)o.pop(),f=o[o.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){o.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level<t||(le.push({element:l.element,link:l.link}),f?f.children.push(l):a.push(l),o.push(l))}),a}const kt=["href","title"],_t=p({__name:"VPDocOutlineItem",props:{headers:{},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 s(),u("ul",{class:T(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(x,null,H(e.headers,({children:r,link:l,title:f})=>(s(),u("li",null,[v("a",{class:"outline-link",href:l,onClick:t,title:f},N(f),9,kt),r!=null&&r.length?(s(),_(o,{key:0,headers:r},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Me=b(_t,[["__scopeId","data-v-da421f78"]]),bt={class:"content"},gt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},$t=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=P(),a=ge([]);Q(()=>{a.value=he(t.value.outline??n.value.outline)});const o=S(),r=S();return ht(o,r),(l,f)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:T(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:o},[v("div",bt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",gt,N(i(Ne)(i(n))),1),k(Me,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),yt=b($t,[["__scopeId","data-v-dfbd9fb8"]]),Pt={class:"VPDocAsideCarbonAds"},Lt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,a)=>(s(),u("div",Pt,[k(i(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Vt={class:"VPDocAside"},St=p({__name:"VPDocAside",setup(e){const{theme:t}=P();return(n,a)=>(s(),u("div",Vt,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),k(yt),c(n.$slots,"aside-outline-after",{},void 0,!0),a[0]||(a[0]=v("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),i(t).carbonAds?(s(),_(Lt,{key:0,"carbon-ads":i(t).carbonAds},null,8,["carbon-ads"])):m("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Tt=b(St,[["__scopeId","data-v-79cae1a0"]]);function Nt(){const{theme:e,page:t}=P();return g(()=>{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 Mt(){const{page:e,theme:t,frontmatter:n}=P();return g(()=>{var y,L,$,V,M,I,w,A;const a=Te(t.value.sidebar,e.value.relativePath),o=rt(a),r=xt(o,B=>B.link.replace(/[?#].*$/,"")),l=r.findIndex(B=>z(e.value.relativePath,B.link)),f=((y=t.value.docFooter)==null?void 0:y.prev)===!1&&!n.value.prev||n.value.prev===!1,d=((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)??(($=r[l-1])==null?void 0:$.docFooterText)??((V=r[l-1])==null?void 0:V.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((M=r[l-1])==null?void 0:M.link)},next:d?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((I=r[l+1])==null?void 0:I.docFooterText)??((w=r[l+1])==null?void 0:w.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((A=r[l+1])==null?void 0:A.link)}}})}function xt(e,t){const n=new Set;return e.filter(a=>{const o=t(a);return n.has(o)?!1:n.add(o)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=g(()=>t.tag??(t.href?"a":"span")),a=g(()=>t.href&&$e.test(t.href)||t.target==="_blank");return(o,r)=>(s(),_(C(n.value),{class:T(["VPLink",{link:e.href,"vp-external-link-icon":a.value,"no-icon":e.noIcon}]),href:e.href?i(fe)(e.href):void 0,target:e.target??(a.value?"_blank":void 0),rel:e.rel??(a.value?"noreferrer":void 0)},{default:h(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),It={class:"VPLastUpdated"},wt=["datetime"],Ht=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:a}=P(),o=g(()=>new Date(n.value.lastUpdated)),r=g(()=>o.value.toISOString()),l=S("");return U(()=>{Y(()=>{var f,d,y;l.value=new Intl.DateTimeFormat((d=(f=t.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&d.forceLocale?a.value:void 0,((y=t.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(f,d)=>{var y;return s(),u("p",It,[j(N(((y=i(t).lastUpdated)==null?void 0:y.text)||i(t).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},N(l.value),9,wt)])}}}),At=b(Ht,[["__scopeId","data-v-e95db471"]]),Bt={key:0,class:"VPDocFooter"},Ct={key:0,class:"edit-info"},Et={key:0,class:"edit-link"},Ft={key:1,class:"last-updated"},Dt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ot={class:"pager"},Gt=["innerHTML"],Ut=["innerHTML"],jt={class:"pager"},zt=["innerHTML"],Wt=["innerHTML"],qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:a}=P(),o=Nt(),r=Mt(),l=g(()=>t.value.editLink&&a.value.editLink!==!1),f=g(()=>n.value.lastUpdated),d=g(()=>l.value||f.value||r.value.prev||r.value.next);return(y,L)=>{var $,V,M,I;return d.value?(s(),u("footer",Bt,[c(y.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(s(),u("div",Ct,[l.value?(s(),u("div",Et,[k(E,{class:"edit-link-button",href:i(o).url,"no-icon":!0},{default:h(()=>[L[0]||(L[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),j(" "+N(i(o).text),1)]),_:1},8,["href"])])):m("",!0),f.value?(s(),u("div",Ft,[k(At)])):m("",!0)])):m("",!0),($=i(r).prev)!=null&&$.link||(V=i(r).next)!=null&&V.link?(s(),u("nav",Dt,[L[1]||(L[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",Ot,[(M=i(r).prev)!=null&&M.link?(s(),_(E,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:h(()=>{var w;return[v("span",{class:"desc",innerHTML:((w=i(t).docFooter)==null?void 0:w.prev)||"Previous page"},null,8,Gt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,Ut)]}),_:1},8,["href"])):m("",!0)]),v("div",jt,[(I=i(r).next)!=null&&I.link?(s(),_(E,{key:0,class:"pager-link next",href:i(r).next.link},{default:h(()=>{var w;return[v("span",{class:"desc",innerHTML:((w=i(t).docFooter)==null?void 0:w.next)||"Next page"},null,8,zt),v("span",{class:"title",innerHTML:i(r).next.text},null,8,Wt)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),Kt=b(qt,[["__scopeId","data-v-07d71ff1"]]),Rt={class:"container"},Jt={class:"aside-container"},Yt={class:"aside-content"},Qt={class:"content"},Xt={class:"content-container"},Zt={class:"main"},en=p({__name:"VPDoc",setup(e){const{theme:t}=P(),n=X(),{hasSidebar:a,hasAside:o,leftAside:r}=D(),l=g(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,d)=>{const y=W("Content");return s(),u("div",{class:T(["VPDoc",{"has-sidebar":i(a),"has-aside":i(o)}])},[c(f.$slots,"doc-top",{},void 0,!0),v("div",Rt,[i(o)?(s(),u("div",{key:0,class:T(["aside",{"left-aside":i(r)}])},[d[0]||(d[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",Jt,[v("div",Yt,[k(Tt,null,{"aside-top":h(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",Qt,[v("div",Xt,[c(f.$slots,"doc-before",{},void 0,!0),v("main",Zt,[k(y,{class:T(["vp-doc",[l.value,i(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(Kt,null,{"doc-footer-before":h(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),tn=b(en,[["__scopeId","data-v-ef3a4dda"]]),nn=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=g(()=>t.href&&$e.test(t.href)),a=g(()=>t.tag||(t.href?"a":"button"));return(o,r)=>(s(),_(C(a.value),{class:T(["VPButton",[e.size,e.theme]]),href:e.href?i(fe)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:h(()=>[j(N(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),an=b(nn,[["__scopeId","data-v-b20c43c2"]]),on=["src","alt"],sn=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const a=W("VPImage",!0);return e.image?(s(),u(x,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",G({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:i(ue)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,on)):(s(),u(x,{key:1},[k(a,G({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),k(a,G({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),J=b(sn,[["__scopeId","data-v-4d414b82"]]),rn={class:"container"},ln={class:"main"},cn={class:"heading"},un=["innerHTML"],dn=["innerHTML"],vn=["innerHTML"],fn={key:0,class:"actions"},hn={key:0,class:"image"},mn={class:"image-container"},pn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=Z("hero-image-slot-exists");return(n,a)=>(s(),u("div",{class:T(["VPHero",{"has-image":e.image||i(t)}])},[v("div",rn,[v("div",ln,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[v("h1",cn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,un)):m("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,dn)):m("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,vn)):m("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",fn,[(s(!0),u(x,null,H(e.actions,o=>(s(),u("div",{key:o.link,class:"action"},[k(an,{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),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||i(t)?(s(),u("div",hn,[v("div",mn,[a[0]||(a[0]=v("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),_(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),kn=b(pn,[["__scopeId","data-v-d266baba"]]),_n=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=P();return(n,a)=>i(t).hero?(s(),_(kn,{key:0,class:"VPHomeHero",name:i(t).hero.name,text:i(t).hero.text,tagline:i(t).hero.tagline,image:i(t).hero.image,actions:i(t).hero.actions},{"home-hero-info-before":h(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":h(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":h(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":h(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":h(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),bn={class:"box"},gn={key:0,class:"icon"},$n=["innerHTML"],yn=["innerHTML"],Pn=["innerHTML"],Ln={key:4,class:"link-text"},Vn={class:"link-text-value"},Sn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),_(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:h(()=>[v("article",bn,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",gn,[k(J,{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"?(s(),_(J,{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?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,$n)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,yn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Pn)):m("",!0),e.linkText?(s(),u("div",Ln,[v("p",Vn,[j(N(e.linkText)+" ",1),n[0]||(n[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Tn=b(Sn,[["__scopeId","data-v-95001937"]]),Nn={key:0,class:"VPFeatures"},Mn={class:"container"},xn={class:"items"},In=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=g(()=>{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?(s(),u("div",Nn,[v("div",Mn,[v("div",xn,[(s(!0),u(x,null,H(e.features,r=>(s(),u("div",{key:r.title,class:T(["item",[n.value]])},[k(Tn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),wn=b(In,[["__scopeId","data-v-1da4ff3d"]]),Hn=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=P();return(n,a)=>i(t).features?(s(),_(wn,{key:0,class:"VPHomeFeatures",features:i(t).features},null,8,["features"])):m("",!0)}}),An=p({__name:"VPHomeContent",setup(e){const{width:t}=Fe({initialWidth:0,includeScrollbar:!1});return(n,a)=>(s(),u("div",{class:"vp-doc container",style:ye(i(t)?{"--vp-offset":`calc(50% - ${i(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),Bn=b(An,[["__scopeId","data-v-2498cc33"]]),Cn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=P();return(a,o)=>{const r=W("Content");return s(),u("div",{class:T(["VPHome",{"external-link-icon-enabled":i(n).externalLinkIcon}])},[c(a.$slots,"home-hero-before",{},void 0,!0),k(_n,null,{"home-hero-info-before":h(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(a.$slots,"home-hero-after",{},void 0,!0),c(a.$slots,"home-features-before",{},void 0,!0),k(Hn),c(a.$slots,"home-features-after",{},void 0,!0),i(t).markdownStyles!==!1?(s(),_(Bn,{key:0},{default:h(()=>[k(r)]),_:1})):(s(),_(r,{key:1}))],2)}}}),En=b(Cn,[["__scopeId","data-v-8b59c434"]]),Fn={},Dn={class:"VPPage"};function On(e,t){const n=W("Content");return s(),u("div",Dn,[c(e.$slots,"page-top"),k(n),c(e.$slots,"page-bottom")])}const Gn=b(Fn,[["render",On]]),Un=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=P(),{hasSidebar:a}=D();return(o,r)=>(s(),u("div",{class:T(["VPContent",{"has-sidebar":i(a),"is-home":i(n).layout==="home"}]),id:"VPContent"},[i(t).isNotFound?c(o.$slots,"not-found",{},()=>[k(st)],!0,0):i(n).layout==="page"?(s(),_(Gn,{key:1},{"page-top":h(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(n).layout==="home"?(s(),_(En,{key:2},{"home-hero-before":h(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(n).layout&&i(n).layout!=="doc"?(s(),_(C(i(n).layout),{key:3})):(s(),_(tn,{key:4},{"doc-top":h(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":h(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":h(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":h(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":h(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),jn=b(Un,[["__scopeId","data-v-d2aef184"]]),zn={class:"container"},Wn=["innerHTML"],qn=["innerHTML"],Kn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=D();return(o,r)=>i(t).footer&&i(n).footer!==!1?(s(),u("footer",{key:0,class:T(["VPFooter",{"has-sidebar":i(a)}])},[v("div",zn,[i(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:i(t).footer.message},null,8,Wn)):m("",!0),i(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:i(t).footer.copyright},null,8,qn)):m("",!0)])],2)):m("",!0)}}),Rn=b(Kn,[["__scopeId","data-v-e3157d6d"]]);function Jn(){const{theme:e,frontmatter:t}=P(),n=ge([]),a=g(()=>n.value.length>0);return Q(()=>{n.value=he(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:a}}const Yn={class:"menu-text"},Qn={class:"header"},Xn={class:"outline"},Zn=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=P(),a=S(!1),o=S(0),r=S(),l=S();function f($){var V;(V=r.value)!=null&&V.contains($.target)||(a.value=!1)}F(a,$=>{if($){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),De("Escape",()=>{a.value=!1}),Q(()=>{a.value=!1});function d(){a.value=!a.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function y($){$.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Pe(()=>{a.value=!1}))}function L(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,V)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:ye({"--vp-vh":o.value+"px"}),ref_key:"main",ref:r},[e.headers.length>0?(s(),u("button",{key:0,onClick:d,class:T({open:a.value})},[v("span",Yn,N(i(Ne)(i(n))),1),V[0]||(V[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:L},N(i(n).returnToTopLabel||"Return to top"),1)),k(ce,{name:"flyout"},{default:h(()=>[a.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:y},[v("div",Qn,[v("a",{class:"top-link",href:"#",onClick:L},N(i(n).returnToTopLabel||"Return to top"),1)]),v("div",Xn,[k(Me,{headers:e.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),ea=b(Zn,[["__scopeId","data-v-d61422fe"]]),ta={class:"container"},na=["aria-expanded"],aa={class:"menu-text"},oa=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=D(),{headers:o}=Jn(),{y:r}=Le(),l=S(0);U(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{o.value=he(n.value.outline??t.value.outline)});const f=g(()=>o.value.length===0),d=g(()=>f.value&&!a.value),y=g(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:f.value,fixed:d.value}));return(L,$)=>i(n).layout!=="home"&&(!d.value||i(r)>=l.value)?(s(),u("div",{key:0,class:T(y.value)},[v("div",ta,[i(a)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=V=>L.$emit("open-menu"))},[$[1]||($[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",aa,N(i(t).sidebarMenuLabel||"Menu"),1)],8,na)):m("",!0),k(ea,{headers:i(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),sa=b(oa,[["__scopeId","data-v-9d8129cc"]]);function ia(){const e=S(!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 r=X();return F(()=>r.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:a}}const ra={},la={class:"VPSwitch",type:"button",role:"switch"},ca={class:"check"},ua={key:0,class:"icon"};function da(e,t){return s(),u("button",la,[v("span",ca,[e.$slots.default?(s(),u("span",ua,[c(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const va=b(ra,[["render",da],["__scopeId","data-v-7012e5dd"]]),fa=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=P(),a=Z("toggle-appearance",()=>{t.value=!t.value}),o=S("");return ve(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(s(),_(va,{title:o.value,class:"VPSwitchAppearance","aria-checked":i(t),onClick:i(a)},{default:h(()=>[...l[0]||(l[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),me=b(fa,[["__scopeId","data-v-fa1daf57"]]),ha={key:0,class:"VPNavBarAppearance"},ma=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=P();return(n,a)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",ha,[k(me)])):m("",!0)}}),pa=b(ma,[["__scopeId","data-v-123fcb2f"]]),pe=S();let xe=!1,oe=0;function ka(e){const t=S(!1);if(ee){!xe&&_a(),oe++;const n=F(pe,a=>{var o,r,l;a===e.el.value||(o=e.el.value)!=null&&o.contains(a)?(t.value=!0,(r=e.onFocus)==null||r.call(e)):(t.value=!1,(l=e.onBlur)==null||l.call(e))});de(()=>{n(),oe--,oe||ba()})}return Oe(t)}function _a(){document.addEventListener("focusin",Ie),xe=!0,pe.value=document.activeElement}function ba(){document.removeEventListener("focusin",Ie)}function Ie(){pe.value=document.activeElement}const ga={class:"VPMenuLink"},$a=["innerHTML"],ya=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=P();return(n,a)=>(s(),u("div",ga,[k(E,{class:T({active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,$a)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=b(ya,[["__scopeId","data-v-65e4a6b1"]]),Pa={class:"VPMenuGroup"},La={key:0,class:"title"},Va=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Pa,[e.text?(s(),u("p",La,N(e.text),1)):m("",!0),(s(!0),u(x,null,H(e.items,a=>(s(),u(x,null,["link"in a?(s(),_(te,{key:0,item:a},null,8,["item"])):m("",!0)],64))),256))]))}}),Sa=b(Va,[["__scopeId","data-v-2bec9359"]]),Ta={class:"VPMenu"},Na={key:0,class:"items"},Ma=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",Ta,[e.items?(s(),u("div",Na,[(s(!0),u(x,null,H(e.items,a=>(s(),u(x,{key:JSON.stringify(a)},["link"in a?(s(),_(te,{key:0,item:a},null,8,["item"])):"component"in a?(s(),_(C(a.component),G({key:1,ref_for:!0},a.props),null,16)):(s(),_(Sa,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):m("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),xa=b(Ma,[["__scopeId","data-v-39eca401"]]),Ia=["aria-expanded","aria-label"],wa={key:0,class:"text"},Ha=["innerHTML"],Aa={key:1,class:"vpi-more-horizontal icon"},Ba={class:"menu"},Ca=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();ka({el:n,onBlur:a});function a(){t.value=!1}return(o,r)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=l=>t.value=!0),onMouseleave:r[2]||(r[2]=l=>t.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:r[0]||(r[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",wa,[e.icon?(s(),u("span",{key:0,class:T([e.icon,"option-icon"])},null,2)):m("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Ha)):m("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Aa))],8,Ia),v("div",Ba,[k(xa,{items:e.items},{default:h(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=b(Ca,[["__scopeId","data-v-40e55da0"]]),Ea=["href","aria-label","innerHTML"],Fa=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();U(async()=>{var r;await Pe();const o=(r=n.value)==null?void 0:r.children[0];o instanceof HTMLElement&&o.className.startsWith("vpi-social-")&&(getComputedStyle(o).maskImage||getComputedStyle(o).webkitMaskImage)==="none"&&o.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const a=g(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}"></span>`);return(o,r)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:a.value},null,8,Ea))}}),Da=b(Fa,[["__scopeId","data-v-fbf39218"]]),Oa={class:"VPSocialLinks"},Ga=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",Oa,[(s(!0),u(x,null,H(e.links,({link:a,icon:o,ariaLabel:r})=>(s(),_(Da,{key:a,icon:o,link:a,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),_e=b(Ga,[["__scopeId","data-v-f2234a39"]]),Ua={key:0,class:"group translations"},ja={class:"trans-title"},za={key:1,class:"group"},Wa={class:"item appearance"},qa={class:"label"},Ka={class:"appearance-action"},Ra={key:2,class:"group"},Ja={class:"item social-links"},Ya=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=P(),{localeLinks:a,currentLang:o}=K({correspondingLink:!0}),r=g(()=>a.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(l,f)=>r.value?(s(),_(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:h(()=>[i(a).length&&i(o).label?(s(),u("div",Ua,[v("p",ja,N(i(o).label),1),(s(!0),u(x,null,H(i(a),d=>(s(),_(te,{key:d.link,item:d},null,8,["item"]))),128))])):m("",!0),i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",za,[v("div",Wa,[v("p",qa,N(i(n).darkModeSwitchLabel||"Appearance"),1),v("div",Ka,[k(me)])])])):m("",!0),i(n).socialLinks?(s(),u("div",Ra,[v("div",Ja,[k(_e,{class:"social-links-list",links:i(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),Qa=b(Ya,[["__scopeId","data-v-0c845e5d"]]),Xa=["aria-expanded"],Za=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=a=>t.$emit("click"))},[...n[1]||(n[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)])],10,Xa))}}),eo=b(Za,[["__scopeId","data-v-670493dd"]]),to=["innerHTML"],no=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=P();return(n,a)=>(s(),_(E,{class:T({VPNavBarMenuLink:!0,active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,to)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ao=b(no,[["__scopeId","data-v-8dbce4d0"]]),oo=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=P(),a=r=>"component"in r?!1:"link"in r?z(n.value.relativePath,r.link,!!t.item.activeMatch):r.items.some(a),o=g(()=>a(t.item));return(r,l)=>(s(),_(ke,{class:T({VPNavBarMenuGroup:!0,active:i(z)(i(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||o.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),so={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},io=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=P();return(n,a)=>i(t).nav?(s(),u("nav",so,[a[0]||(a[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(x,null,H(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),_(ao,{key:0,item:o},null,8,["item"])):"component"in o?(s(),_(C(o.component),G({key:1,ref_for:!0},o.props),null,16)):(s(),_(oo,{key:2,item:o},null,8,["item"]))],64))),128))])):m("",!0)}}),ro=b(io,[["__scopeId","data-v-5bacfe89"]]);function lo(e){const{localeIndex:t,theme:n}=P();function a(o){var I,w,A;const r=o.split("."),l=(I=n.value.search)==null?void 0:I.options,f=l&&typeof l=="object",d=f&&((A=(w=l.locales)==null?void 0:w[t.value])==null?void 0:A.translations)||null,y=f&&l.translations||null;let L=d,$=y,V=e;const M=r.pop();for(const B of r){let O=null;const q=V==null?void 0:V[B];q&&(O=V=q);const ne=$==null?void 0:$[B];ne&&(O=$=ne);const ae=L==null?void 0:L[B];ae&&(O=L=ae),q||(V=O),ne||($=O),ae||(L=O)}return(L==null?void 0:L[M])??($==null?void 0:$[M])??(V==null?void 0:V[M])??""}return a}const co=["aria-label"],uo={class:"DocSearch-Button-Container"},vo={class:"DocSearch-Button-Placeholder"},be=p({__name:"VPNavBarSearchButton",setup(e){const n=lo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,o)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(n)("button.buttonAriaLabel")},[v("span",uo,[o[0]||(o[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",vo,N(i(n)("button.buttonText")),1)]),o[1]||(o[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,co))}}),fo={class:"VPNavBarSearch"},ho={id:"local-search"},mo={key:1,id:"docsearch"},po=p({__name:"VPNavBarSearch",setup(e){const t=()=>null,n=()=>null,{theme:a}=P(),o=S(!1),r=S(!1);U(()=>{});function l(){o.value||(o.value=!0,setTimeout(f,16))}function f(){const L=new Event("keydown");L.key="k",L.metaKey=!0,window.dispatchEvent(L),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}const d=S(!1),y="";return(L,$)=>{var V;return s(),u("div",fo,[i(y)==="local"?(s(),u(x,{key:0},[d.value?(s(),_(i(t),{key:0,onClose:$[0]||($[0]=M=>d.value=!1)})):m("",!0),v("div",ho,[k(be,{onClick:$[1]||($[1]=M=>d.value=!0)})])],64)):i(y)==="algolia"?(s(),u(x,{key:1},[o.value?(s(),_(i(n),{key:0,algolia:((V=i(a).search)==null?void 0:V.options)??i(a).algolia,onVnodeBeforeMount:$[2]||($[2]=M=>r.value=!0)},null,8,["algolia"])):m("",!0),r.value?m("",!0):(s(),u("div",mo,[k(be,{onClick:l})]))],64)):m("",!0)])}}}),ko=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>i(t).socialLinks?(s(),_(_e,{key:0,class:"VPNavBarSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),_o=b(ko,[["__scopeId","data-v-08b35e6f"]]),bo=["href","rel","target"],go=["innerHTML"],$o={key:2},yo=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=P(),{hasSidebar:a}=D(),{currentLang:o}=K(),r=g(()=>{var d;return typeof n.value.logoLink=="string"?n.value.logoLink:(d=n.value.logoLink)==null?void 0:d.link}),l=g(()=>{var d;return typeof n.value.logoLink=="string"||(d=n.value.logoLink)==null?void 0:d.rel}),f=g(()=>{var d;return typeof n.value.logoLink=="string"||(d=n.value.logoLink)==null?void 0:d.target});return(d,y)=>(s(),u("div",{class:T(["VPNavBarTitle",{"has-sidebar":i(a)}])},[v("a",{class:"title",href:r.value??i(fe)(i(o).link),rel:l.value,target:f.value},[c(d.$slots,"nav-bar-title-before",{},void 0,!0),i(n).logo?(s(),_(J,{key:0,class:"logo",image:i(n).logo},null,8,["image"])):m("",!0),i(n).siteTitle?(s(),u("span",{key:1,innerHTML:i(n).siteTitle},null,8,go)):i(n).siteTitle===void 0?(s(),u("span",$o,N(i(t).title),1)):m("",!0),c(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,bo)],2))}}),Po=b(yo,[["__scopeId","data-v-5622a072"]]),Lo={class:"items"},Vo={class:"title"},So=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=P(),{localeLinks:n,currentLang:a}=K({correspondingLink:!0});return(o,r)=>i(n).length&&i(a).label?(s(),_(ke,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(t).langMenuLabel||"Change language"},{default:h(()=>[v("div",Lo,[v("p",Vo,N(i(a).label),1),(s(!0),u(x,null,H(i(n),l=>(s(),_(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),To=b(So,[["__scopeId","data-v-dac637f3"]]),No={class:"wrapper"},Mo={class:"container"},xo={class:"title"},Io={class:"content"},wo={class:"content-body"},Ho=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Le(),{hasSidebar:a}=D(),{frontmatter:o}=P(),r=S({});return ve(()=>{r.value={"has-sidebar":a.value,home:o.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,f)=>(s(),u("div",{class:T(["VPNavBar",r.value])},[v("div",No,[v("div",Mo,[v("div",xo,[k(Po,null,{"nav-bar-title-before":h(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",Io,[v("div",wo,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(po,{class:"search"}),k(ro,{class:"menu"}),k(To,{class:"translations"}),k(pa,{class:"appearance"}),k(_o,{class:"social-links"}),k(Qa,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(eo,{class:"hamburger",active:e.isScreenOpen,onClick:f[0]||(f[0]=d=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Ao=b(Ho,[["__scopeId","data-v-bb7529ee"]]),Bo={key:0,class:"VPNavScreenAppearance"},Co={class:"text"},Eo=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=P();return(a,o)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",Bo,[v("p",Co,N(i(n).darkModeSwitchLabel||"Appearance"),1),k(me)])):m("",!0)}}),Fo=b(Eo,[["__scopeId","data-v-774971f8"]]),Do=["innerHTML"],Oo=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),_(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,Do)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Go=b(Oo,[["__scopeId","data-v-29871565"]]),Uo=["innerHTML"],jo=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),_(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,Uo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),we=b(jo,[["__scopeId","data-v-581896e9"]]),zo={class:"VPNavScreenMenuGroupSection"},Wo={key:0,class:"title"},qo=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",zo,[e.text?(s(),u("p",Wo,N(e.text),1)):m("",!0),(s(!0),u(x,null,H(e.items,a=>(s(),_(we,{key:a.text,item:a},null,8,["item"]))),128))]))}}),Ko=b(qo,[["__scopeId","data-v-836cddb8"]]),Ro=["aria-controls","aria-expanded"],Jo=["innerHTML"],Yo=["id"],Qo={key:0,class:"item"},Xo={key:1,class:"item"},Zo={key:2,class:"group"},es=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),a=g(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(r,l)=>(s(),u("div",{class:T(["VPNavScreenMenuGroup",{open:n.value}])},[v("button",{class:"button","aria-controls":a.value,"aria-expanded":n.value,onClick:o},[v("span",{class:"button-text",innerHTML:e.text},null,8,Jo),l[0]||(l[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,Ro),v("div",{id:a.value,class:"items"},[(s(!0),u(x,null,H(e.items,f=>(s(),u(x,{key:JSON.stringify(f)},["link"in f?(s(),u("div",Qo,[k(we,{item:f},null,8,["item"])])):"component"in f?(s(),u("div",Xo,[(s(),_(C(f.component),G({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(s(),u("div",Zo,[k(Ko,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,Yo)],2))}}),ts=b(es,[["__scopeId","data-v-a8d3502a"]]),ns={key:0,class:"VPNavScreenMenu"},as=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=P();return(n,a)=>i(t).nav?(s(),u("nav",ns,[(s(!0),u(x,null,H(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),_(Go,{key:0,item:o},null,8,["item"])):"component"in o?(s(),_(C(o.component),G({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(s(),_(ts,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),os=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>i(t).socialLinks?(s(),_(_e,{key:0,class:"VPNavScreenSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),ss={class:"list"},is=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=K({correspondingLink:!0}),a=S(!1);function o(){a.value=!a.value}return(r,l)=>i(t).length&&i(n).label?(s(),u("div",{key:0,class:T(["VPNavScreenTranslations",{open:a.value}])},[v("button",{class:"title",onClick:o},[l[0]||(l[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),j(" "+N(i(n).label)+" ",1),l[1]||(l[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",ss,[(s(!0),u(x,null,H(i(t),f=>(s(),u("li",{key:f.link,class:"item"},[k(E,{class:"link",href:f.link},{default:h(()=>[j(N(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),rs=b(is,[["__scopeId","data-v-0d43316b"]]),ls={class:"container"},cs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=Ve(ee?document.body:null);return(a,o)=>(s(),_(ce,{name:"fade",onEnter:o[0]||(o[0]=r=>n.value=!0),onAfterLeave:o[1]||(o[1]=r=>n.value=!1)},{default:h(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[v("div",ls,[c(a.$slots,"nav-screen-content-before",{},void 0,!0),k(as,{class:"menu"}),k(rs,{class:"translations"}),k(Fo,{class:"appearance"}),k(os,{class:"social-links"}),c(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),us=b(cs,[["__scopeId","data-v-34fa79a7"]]),ds={key:0,class:"VPNav"},vs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:a}=ia(),{frontmatter:o}=P(),r=g(()=>o.value.navbar!==!1);return Se("close-screen",n),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,f)=>r.value?(s(),u("header",ds,[k(Ao,{"is-screen-open":i(t),onToggleScreen:i(a)},{"nav-bar-title-before":h(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(us,{open:i(t)},{"nav-screen-content-before":h(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),fs=b(vs,[["__scopeId","data-v-a46e73f0"]]),hs=["role","tabindex"],ms={key:1,class:"items"},ps=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:a,isLink:o,isActiveLink:r,hasActiveLink:l,hasChildren:f,toggle:d}=ct(g(()=>t.item)),y=g(()=>f.value?"section":"div"),L=g(()=>o.value?"a":"div"),$=g(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),V=g(()=>o.value?void 0:"button"),M=g(()=>[[`level-${t.depth}`],{collapsible:a.value},{collapsed:n.value},{"is-link":o.value},{"is-active":r.value},{"has-active":l.value}]);function I(A){"key"in A&&A.key!=="Enter"||!t.item.link&&d()}function w(){t.item.link&&d()}return(A,B)=>{const O=W("VPSidebarItem",!0);return s(),_(C(y.value),{class:T(["VPSidebarItem",M.value])},{default:h(()=>[e.item.text?(s(),u("div",G({key:0,class:"item",role:V.value},Ge(e.item.items?{click:I,keydown:I}:{},!0),{tabindex:e.item.items&&0}),[B[1]||(B[1]=v("div",{class:"indicator"},null,-1)),e.item.link?(s(),_(E,{key:0,tag:L.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:h(()=>[(s(),_(C($.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),_(C($.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:w,onKeydown:Ue(w,["enter"]),tabindex:"0"},[...B[0]||(B[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):m("",!0)],16,hs)):m("",!0),e.item.items&&e.item.items.length?(s(),u("div",ms,[e.depth<5?(s(!0),u(x,{key:0},H(e.item.items,q=>(s(),_(O,{key:q.text,item:q,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),ks=b(ps,[["__scopeId","data-v-2e0476bc"]]),_s=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return U(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),je(()=>{n!=null&&(clearTimeout(n),n=null)}),(a,o)=>(s(!0),u(x,null,H(e.items,r=>(s(),u("div",{key:r.text,class:T(["group",{"no-transition":t.value}])},[k(ks,{item:r,depth:0},null,8,["item"])],2))),128))}}),bs=b(_s,[["__scopeId","data-v-ec086cd5"]]),gs={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},$s=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=D(),a=e,o=S(null),r=Ve(ee?document.body:null);F([a,o],()=>{var f;a.open?(r.value=!0,(f=o.value)==null||f.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=S(0);return F(t,()=>{l.value+=1},{deep:!0}),(f,d)=>i(n)?(s(),u("aside",{key:0,class:T(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:d[0]||(d[0]=ze(()=>{},["stop"]))},[d[2]||(d[2]=v("div",{class:"curtain"},null,-1)),v("nav",gs,[d[1]||(d[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(s(),_(bs,{items:i(t),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),ys=b($s,[["__scopeId","data-v-12a40e3d"]]),Ps=p({__name:"VPSkipLink",setup(e){const{theme:t}=P(),n=X(),a=S();F(()=>n.path,()=>a.value.focus());function o({target:r}){const l=document.getElementById(decodeURIComponent(r.hash).slice(1));if(l){const f=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",f)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",f),l.focus(),window.scrollTo(0,0)}}return(r,l)=>(s(),u(x,null,[v("span",{ref_key:"backToTop",ref:a,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o},N(i(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ls=b(Ps,[["__scopeId","data-v-17ad389b"]]),Vs=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:a}=D(),o=X();F(()=>o.path,a),lt(t,a);const{frontmatter:r}=P(),l=We(),f=g(()=>!!l["home-hero-image"]);return Se("hero-image-slot-exists",f),(d,y)=>{const L=W("Content");return i(r).layout!==!1?(s(),u("div",{key:0,class:T(["Layout",i(r).pageClass])},[c(d.$slots,"layout-top",{},void 0,!0),k(Ls),k(Je,{class:"backdrop",show:i(t),onClick:i(a)},null,8,["show","onClick"]),k(fs,null,{"nav-bar-title-before":h(()=>[c(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[c(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[c(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":h(()=>[c(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[c(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(sa,{open:i(t),onOpenMenu:i(n)},null,8,["open","onOpenMenu"]),k(ys,{open:i(t)},{"sidebar-nav-before":h(()=>[c(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":h(()=>[c(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(jn,null,{"page-top":h(()=>[c(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[c(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":h(()=>[c(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":h(()=>[c(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[c(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[c(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[c(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[c(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":h(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[c(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[c(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":h(()=>[c(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[c(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":h(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(Rn),c(d.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),_(L,{key:1}))}}}),Ss=b(Vs,[["__scopeId","data-v-c4daae71"]]),Ns={Layout:Ss,enhanceApp:({app:e})=>{e.component("Badge",qe)}};export{Ns as t};
1
+ import{d as p,c as u,r as c,n as T,o as s,a as j,t as N,b as _,w as h,T as ce,e as m,_ as b,u as He,i as Ae,f as Be,g as ue,h as g,j as v,k as i,l as z,m as se,p as S,q as F,s as Y,v as U,x as de,y as ve,z as Ce,A as Ee,F as x,B as H,C as W,D as Q,E as k,G as ge,H as C,I as $e,J as X,K as G,L as Z,M as Fe,N as ye,O as De,P as Pe,Q as Le,R as ee,S as Oe,U as Ve,V as Se,W as Ge,X as Ue,Y as je,Z as ze,$ as We}from"./framework.D9_ZvfG7.js";const qe=p({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(s(),u("span",{class:T(["VPBadge",e.type])},[c(t.$slots,"default",{},()=>[j(N(e.text),1)])],2))}}),Ke={key:0,class:"VPBackdrop"},Re=p({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(s(),_(ce,{name:"fade"},{default:h(()=>[e.show?(s(),u("div",Ke)):m("",!0)]),_:1}))}}),Je=b(Re,[["__scopeId","data-v-b2600058"]]),P=He;function Ye(e,t){let n,a=!1;return()=>{n&&clearTimeout(n),a?n=setTimeout(e,t):(e(),(a=!0)&&setTimeout(()=>a=!1,t))}}function ie(e){return e.startsWith("/")?e:`/${e}`}function fe(e){const{pathname:t,search:n,hash:a,protocol:o}=new URL(e,"http://a.com");if(Ae(e)||e.startsWith("#")||!o.startsWith("http")||!Be(t))return e;const{site:r}=P(),l=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${n}${a}`);return ue(l)}function K({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:a,theme:o,hash:r}=P(),l=g(()=>{var d,y;return{label:(d=t.value.locales[n.value])==null?void 0:d.label,link:((y=t.value.locales[n.value])==null?void 0:y.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:g(()=>Object.entries(t.value.locales).flatMap(([d,y])=>l.value.label===y.label?[]:{text:y.label,link:Qe(y.link||(d==="root"?"/":`/${d}/`),o.value.i18nRouting!==!1&&e,a.value.relativePath.slice(l.value.link.length-1),!t.value.cleanUrls)+r.value})),currentLang:l}}function Qe(e,t,n,a){return t?e.replace(/\/$/,"")+ie(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):e}const Xe={class:"NotFound"},Ze={class:"code"},et={class:"title"},tt={class:"quote"},nt={class:"action"},at=["href","aria-label"],ot=p({__name:"NotFound",setup(e){const{theme:t}=P(),{currentLang:n}=K();return(a,o)=>{var r,l,f,d,y;return s(),u("div",Xe,[v("p",Ze,N(((r=i(t).notFound)==null?void 0:r.code)??"404"),1),v("h1",et,N(((l=i(t).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),o[0]||(o[0]=v("div",{class:"divider"},null,-1)),v("blockquote",tt,N(((f=i(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",nt,[v("a",{class:"link",href:i(ue)(i(n).link),"aria-label":((d=i(t).notFound)==null?void 0:d.linkLabel)??"go to home"},N(((y=i(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,at)])])}}}),st=b(ot,[["__scopeId","data-v-93fd8736"]]);function Te(e,t){if(Array.isArray(e))return R(e);if(e==null)return[];t=ie(t);const n=Object.keys(e).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>t.startsWith(ie(o))),a=n?e[n]:[];return Array.isArray(a)?R(a):R(a.items,a.base)}function it(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 rt(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 re(e,t){return Array.isArray(t)?t.some(n=>re(e,n)):z(e,t.link)?!0:t.items?re(e,t.items):!1}function R(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=R(a.items,o)),a})}function D(){const{frontmatter:e,page:t,theme:n}=P(),a=se("(min-width: 960px)"),o=S(!1),r=g(()=>{const w=n.value.sidebar,A=t.value.relativePath;return w?Te(w,A):[]}),l=S(r.value);F(r,(w,A)=>{JSON.stringify(w)!==JSON.stringify(A)&&(l.value=r.value)});const f=g(()=>e.value.sidebar!==!1&&l.value.length>0&&e.value.layout!=="home"),d=g(()=>y?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),y=g(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),L=g(()=>f.value&&a.value),$=g(()=>f.value?it(l.value):[]);function V(){o.value=!0}function M(){o.value=!1}function I(){o.value?M():V()}return{isOpen:o,sidebar:l,sidebarGroups:$,hasSidebar:f,hasAside:y,leftAside:d,isSidebarEnabled:L,open:V,close:M,toggle:I}}function lt(e,t){let n;Y(()=>{n=e.value?document.activeElement:void 0}),U(()=>{window.addEventListener("keyup",a)}),de(()=>{window.removeEventListener("keyup",a)});function a(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function ct(e){const{page:t,hash:n}=P(),a=S(!1),o=g(()=>e.value.collapsed!=null),r=g(()=>!!e.value.link),l=S(!1),f=()=>{l.value=z(t.value.relativePath,e.value.link)};F([t,e,n],f),U(f);const d=g(()=>l.value?!0:e.value.items?re(t.value.relativePath,e.value.items):!1),y=g(()=>!!(e.value.items&&e.value.items.length));Y(()=>{a.value=!!(o.value&&e.value.collapsed)}),ve(()=>{(l.value||d.value)&&(a.value=!1)});function L(){o.value&&(a.value=!a.value)}return{collapsed:a,collapsible:o,isLink:r,isActiveLink:l,hasActiveLink:d,hasChildren:y,toggle:L}}function ut(){const{hasSidebar:e}=D(),t=se("(min-width: 960px)"),n=se("(min-width: 1280px)");return{isAsideEnabled:g(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const dt=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,le=[];function Ne(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function he(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:vt(n),link:"#"+n.id,level:a}});return ft(t,e)}function vt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(dt.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function ft(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;return pt(e,a,o)}function ht(e,t){const{isAsideEnabled:n}=ut(),a=Ye(r,100);let o=null;U(()=>{requestAnimationFrame(r),window.addEventListener("scroll",a)}),Ce(()=>{l(location.hash)}),de(()=>{window.removeEventListener("scroll",a)});function r(){if(!n.value)return;const f=window.scrollY,d=window.innerHeight,y=document.body.offsetHeight,L=Math.abs(f+d-y)<1,$=le.map(({element:M,link:I})=>({link:I,top:mt(M)})).filter(({top:M})=>!Number.isNaN(M)).sort((M,I)=>M.top-I.top);if(!$.length){l(null);return}if(f<1){l(null);return}if(L){l($[$.length-1].link);return}let V=null;for(const{link:M,top:I}of $){if(I>f+Ee()+4)break;V=M}l(V)}function l(f){o&&o.classList.remove("active"),f==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const d=o;d?(d.classList.add("active"),t.value.style.top=d.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function mt(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function pt(e,t,n){le.length=0;const a=[],o=[];return e.forEach(r=>{const l={...r,children:[]};let f=o[o.length-1];for(;f&&f.level>=l.level;)o.pop(),f=o[o.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){o.push({level:l.level,shouldIgnore:!0});return}l.level>n||l.level<t||(le.push({element:l.element,link:l.link}),f?f.children.push(l):a.push(l),o.push(l))}),a}const kt=["href","title"],_t=p({__name:"VPDocOutlineItem",props:{headers:{},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 s(),u("ul",{class:T(["VPDocOutlineItem",e.root?"root":"nested"])},[(s(!0),u(x,null,H(e.headers,({children:r,link:l,title:f})=>(s(),u("li",null,[v("a",{class:"outline-link",href:l,onClick:t,title:f},N(f),9,kt),r!=null&&r.length?(s(),_(o,{key:0,headers:r},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Me=b(_t,[["__scopeId","data-v-da421f78"]]),bt={class:"content"},gt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},$t=p({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=P(),a=ge([]);Q(()=>{a.value=he(t.value.outline??n.value.outline)});const o=S(),r=S();return ht(o,r),(l,f)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:T(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:o},[v("div",bt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",gt,N(i(Ne)(i(n))),1),k(Me,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),yt=b($t,[["__scopeId","data-v-dfbd9fb8"]]),Pt={class:"VPDocAsideCarbonAds"},Lt=p({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,a)=>(s(),u("div",Pt,[k(i(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Vt={class:"VPDocAside"},St=p({__name:"VPDocAside",setup(e){const{theme:t}=P();return(n,a)=>(s(),u("div",Vt,[c(n.$slots,"aside-top",{},void 0,!0),c(n.$slots,"aside-outline-before",{},void 0,!0),k(yt),c(n.$slots,"aside-outline-after",{},void 0,!0),a[0]||(a[0]=v("div",{class:"spacer"},null,-1)),c(n.$slots,"aside-ads-before",{},void 0,!0),i(t).carbonAds?(s(),_(Lt,{key:0,"carbon-ads":i(t).carbonAds},null,8,["carbon-ads"])):m("",!0),c(n.$slots,"aside-ads-after",{},void 0,!0),c(n.$slots,"aside-bottom",{},void 0,!0)]))}}),Tt=b(St,[["__scopeId","data-v-79cae1a0"]]);function Nt(){const{theme:e,page:t}=P();return g(()=>{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 Mt(){const{page:e,theme:t,frontmatter:n}=P();return g(()=>{var y,L,$,V,M,I,w,A;const a=Te(t.value.sidebar,e.value.relativePath),o=rt(a),r=xt(o,B=>B.link.replace(/[?#].*$/,"")),l=r.findIndex(B=>z(e.value.relativePath,B.link)),f=((y=t.value.docFooter)==null?void 0:y.prev)===!1&&!n.value.prev||n.value.prev===!1,d=((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)??(($=r[l-1])==null?void 0:$.docFooterText)??((V=r[l-1])==null?void 0:V.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((M=r[l-1])==null?void 0:M.link)},next:d?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((I=r[l+1])==null?void 0:I.docFooterText)??((w=r[l+1])==null?void 0:w.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((A=r[l+1])==null?void 0:A.link)}}})}function xt(e,t){const n=new Set;return e.filter(a=>{const o=t(a);return n.has(o)?!1:n.add(o)})}const E=p({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=g(()=>t.tag??(t.href?"a":"span")),a=g(()=>t.href&&$e.test(t.href)||t.target==="_blank");return(o,r)=>(s(),_(C(n.value),{class:T(["VPLink",{link:e.href,"vp-external-link-icon":a.value,"no-icon":e.noIcon}]),href:e.href?i(fe)(e.href):void 0,target:e.target??(a.value?"_blank":void 0),rel:e.rel??(a.value?"noreferrer":void 0)},{default:h(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),It={class:"VPLastUpdated"},wt=["datetime"],Ht=p({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:a}=P(),o=g(()=>new Date(n.value.lastUpdated)),r=g(()=>o.value.toISOString()),l=S("");return U(()=>{Y(()=>{var f,d,y;l.value=new Intl.DateTimeFormat((d=(f=t.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&d.forceLocale?a.value:void 0,((y=t.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(f,d)=>{var y;return s(),u("p",It,[j(N(((y=i(t).lastUpdated)==null?void 0:y.text)||i(t).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},N(l.value),9,wt)])}}}),At=b(Ht,[["__scopeId","data-v-e95db471"]]),Bt={key:0,class:"VPDocFooter"},Ct={key:0,class:"edit-info"},Et={key:0,class:"edit-link"},Ft={key:1,class:"last-updated"},Dt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ot={class:"pager"},Gt=["innerHTML"],Ut=["innerHTML"],jt={class:"pager"},zt=["innerHTML"],Wt=["innerHTML"],qt=p({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:a}=P(),o=Nt(),r=Mt(),l=g(()=>t.value.editLink&&a.value.editLink!==!1),f=g(()=>n.value.lastUpdated),d=g(()=>l.value||f.value||r.value.prev||r.value.next);return(y,L)=>{var $,V,M,I;return d.value?(s(),u("footer",Bt,[c(y.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(s(),u("div",Ct,[l.value?(s(),u("div",Et,[k(E,{class:"edit-link-button",href:i(o).url,"no-icon":!0},{default:h(()=>[L[0]||(L[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),j(" "+N(i(o).text),1)]),_:1},8,["href"])])):m("",!0),f.value?(s(),u("div",Ft,[k(At)])):m("",!0)])):m("",!0),($=i(r).prev)!=null&&$.link||(V=i(r).next)!=null&&V.link?(s(),u("nav",Dt,[L[1]||(L[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",Ot,[(M=i(r).prev)!=null&&M.link?(s(),_(E,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:h(()=>{var w;return[v("span",{class:"desc",innerHTML:((w=i(t).docFooter)==null?void 0:w.prev)||"Previous page"},null,8,Gt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,Ut)]}),_:1},8,["href"])):m("",!0)]),v("div",jt,[(I=i(r).next)!=null&&I.link?(s(),_(E,{key:0,class:"pager-link next",href:i(r).next.link},{default:h(()=>{var w;return[v("span",{class:"desc",innerHTML:((w=i(t).docFooter)==null?void 0:w.next)||"Next page"},null,8,zt),v("span",{class:"title",innerHTML:i(r).next.text},null,8,Wt)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),Kt=b(qt,[["__scopeId","data-v-07d71ff1"]]),Rt={class:"container"},Jt={class:"aside-container"},Yt={class:"aside-content"},Qt={class:"content"},Xt={class:"content-container"},Zt={class:"main"},en=p({__name:"VPDoc",setup(e){const{theme:t}=P(),n=X(),{hasSidebar:a,hasAside:o,leftAside:r}=D(),l=g(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,d)=>{const y=W("Content");return s(),u("div",{class:T(["VPDoc",{"has-sidebar":i(a),"has-aside":i(o)}])},[c(f.$slots,"doc-top",{},void 0,!0),v("div",Rt,[i(o)?(s(),u("div",{key:0,class:T(["aside",{"left-aside":i(r)}])},[d[0]||(d[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",Jt,[v("div",Yt,[k(Tt,null,{"aside-top":h(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",Qt,[v("div",Xt,[c(f.$slots,"doc-before",{},void 0,!0),v("main",Zt,[k(y,{class:T(["vp-doc",[l.value,i(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(Kt,null,{"doc-footer-before":h(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),tn=b(en,[["__scopeId","data-v-ef3a4dda"]]),nn=p({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=g(()=>t.href&&$e.test(t.href)),a=g(()=>t.tag||(t.href?"a":"button"));return(o,r)=>(s(),_(C(a.value),{class:T(["VPButton",[e.size,e.theme]]),href:e.href?i(fe)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:h(()=>[j(N(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),an=b(nn,[["__scopeId","data-v-b20c43c2"]]),on=["src","alt"],sn=p({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const a=W("VPImage",!0);return e.image?(s(),u(x,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",G({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:i(ue)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,on)):(s(),u(x,{key:1},[k(a,G({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),k(a,G({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),J=b(sn,[["__scopeId","data-v-4d414b82"]]),rn={class:"container"},ln={class:"main"},cn={class:"heading"},un=["innerHTML"],dn=["innerHTML"],vn=["innerHTML"],fn={key:0,class:"actions"},hn={key:0,class:"image"},mn={class:"image-container"},pn=p({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=Z("hero-image-slot-exists");return(n,a)=>(s(),u("div",{class:T(["VPHero",{"has-image":e.image||i(t)}])},[v("div",rn,[v("div",ln,[c(n.$slots,"home-hero-info-before",{},void 0,!0),c(n.$slots,"home-hero-info",{},()=>[v("h1",cn,[e.name?(s(),u("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,un)):m("",!0),e.text?(s(),u("span",{key:1,innerHTML:e.text,class:"text"},null,8,dn)):m("",!0)]),e.tagline?(s(),u("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,vn)):m("",!0)],!0),c(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(s(),u("div",fn,[(s(!0),u(x,null,H(e.actions,o=>(s(),u("div",{key:o.link,class:"action"},[k(an,{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),c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||i(t)?(s(),u("div",hn,[v("div",mn,[a[0]||(a[0]=v("div",{class:"image-bg"},null,-1)),c(n.$slots,"home-hero-image",{},()=>[e.image?(s(),_(J,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),kn=b(pn,[["__scopeId","data-v-d266baba"]]),_n=p({__name:"VPHomeHero",setup(e){const{frontmatter:t}=P();return(n,a)=>i(t).hero?(s(),_(kn,{key:0,class:"VPHomeHero",name:i(t).hero.name,text:i(t).hero.text,tagline:i(t).hero.tagline,image:i(t).hero.image,actions:i(t).hero.actions},{"home-hero-info-before":h(()=>[c(n.$slots,"home-hero-info-before")]),"home-hero-info":h(()=>[c(n.$slots,"home-hero-info")]),"home-hero-info-after":h(()=>[c(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":h(()=>[c(n.$slots,"home-hero-actions-after")]),"home-hero-image":h(()=>[c(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),bn={class:"box"},gn={key:0,class:"icon"},$n=["innerHTML"],yn=["innerHTML"],Pn=["innerHTML"],Ln={key:4,class:"link-text"},Vn={class:"link-text-value"},Sn=p({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(s(),_(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:h(()=>[v("article",bn,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",gn,[k(J,{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"?(s(),_(J,{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?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,$n)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,yn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Pn)):m("",!0),e.linkText?(s(),u("div",Ln,[v("p",Vn,[j(N(e.linkText)+" ",1),n[0]||(n[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Tn=b(Sn,[["__scopeId","data-v-95001937"]]),Nn={key:0,class:"VPFeatures"},Mn={class:"container"},xn={class:"items"},In=p({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=g(()=>{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?(s(),u("div",Nn,[v("div",Mn,[v("div",xn,[(s(!0),u(x,null,H(e.features,r=>(s(),u("div",{key:r.title,class:T(["item",[n.value]])},[k(Tn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),wn=b(In,[["__scopeId","data-v-1da4ff3d"]]),Hn=p({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=P();return(n,a)=>i(t).features?(s(),_(wn,{key:0,class:"VPHomeFeatures",features:i(t).features},null,8,["features"])):m("",!0)}}),An=p({__name:"VPHomeContent",setup(e){const{width:t}=Fe({initialWidth:0,includeScrollbar:!1});return(n,a)=>(s(),u("div",{class:"vp-doc container",style:ye(i(t)?{"--vp-offset":`calc(50% - ${i(t)/2}px)`}:{})},[c(n.$slots,"default",{},void 0,!0)],4))}}),Bn=b(An,[["__scopeId","data-v-2498cc33"]]),Cn=p({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=P();return(a,o)=>{const r=W("Content");return s(),u("div",{class:T(["VPHome",{"external-link-icon-enabled":i(n).externalLinkIcon}])},[c(a.$slots,"home-hero-before",{},void 0,!0),k(_n,null,{"home-hero-info-before":h(()=>[c(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(a.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(a.$slots,"home-hero-after",{},void 0,!0),c(a.$slots,"home-features-before",{},void 0,!0),k(Hn),c(a.$slots,"home-features-after",{},void 0,!0),i(t).markdownStyles!==!1?(s(),_(Bn,{key:0},{default:h(()=>[k(r)]),_:1})):(s(),_(r,{key:1}))],2)}}}),En=b(Cn,[["__scopeId","data-v-8b59c434"]]),Fn={},Dn={class:"VPPage"};function On(e,t){const n=W("Content");return s(),u("div",Dn,[c(e.$slots,"page-top"),k(n),c(e.$slots,"page-bottom")])}const Gn=b(Fn,[["render",On]]),Un=p({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=P(),{hasSidebar:a}=D();return(o,r)=>(s(),u("div",{class:T(["VPContent",{"has-sidebar":i(a),"is-home":i(n).layout==="home"}]),id:"VPContent"},[i(t).isNotFound?c(o.$slots,"not-found",{},()=>[k(st)],!0,0):i(n).layout==="page"?(s(),_(Gn,{key:1},{"page-top":h(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(n).layout==="home"?(s(),_(En,{key:2},{"home-hero-before":h(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(n).layout&&i(n).layout!=="doc"?(s(),_(C(i(n).layout),{key:3})):(s(),_(tn,{key:4},{"doc-top":h(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":h(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":h(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":h(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":h(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),jn=b(Un,[["__scopeId","data-v-d2aef184"]]),zn={class:"container"},Wn=["innerHTML"],qn=["innerHTML"],Kn=p({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=D();return(o,r)=>i(t).footer&&i(n).footer!==!1?(s(),u("footer",{key:0,class:T(["VPFooter",{"has-sidebar":i(a)}])},[v("div",zn,[i(t).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:i(t).footer.message},null,8,Wn)):m("",!0),i(t).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:i(t).footer.copyright},null,8,qn)):m("",!0)])],2)):m("",!0)}}),Rn=b(Kn,[["__scopeId","data-v-e3157d6d"]]);function Jn(){const{theme:e,frontmatter:t}=P(),n=ge([]),a=g(()=>n.value.length>0);return Q(()=>{n.value=he(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:a}}const Yn={class:"menu-text"},Qn={class:"header"},Xn={class:"outline"},Zn=p({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=P(),a=S(!1),o=S(0),r=S(),l=S();function f($){var V;(V=r.value)!=null&&V.contains($.target)||(a.value=!1)}F(a,$=>{if($){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),De("Escape",()=>{a.value=!1}),Q(()=>{a.value=!1});function d(){a.value=!a.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function y($){$.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Pe(()=>{a.value=!1}))}function L(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,V)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:ye({"--vp-vh":o.value+"px"}),ref_key:"main",ref:r},[e.headers.length>0?(s(),u("button",{key:0,onClick:d,class:T({open:a.value})},[v("span",Yn,N(i(Ne)(i(n))),1),V[0]||(V[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),u("button",{key:1,onClick:L},N(i(n).returnToTopLabel||"Return to top"),1)),k(ce,{name:"flyout"},{default:h(()=>[a.value?(s(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:y},[v("div",Qn,[v("a",{class:"top-link",href:"#",onClick:L},N(i(n).returnToTopLabel||"Return to top"),1)]),v("div",Xn,[k(Me,{headers:e.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),ea=b(Zn,[["__scopeId","data-v-d61422fe"]]),ta={class:"container"},na=["aria-expanded"],aa={class:"menu-text"},oa=p({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=P(),{hasSidebar:a}=D(),{headers:o}=Jn(),{y:r}=Le(),l=S(0);U(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{o.value=he(n.value.outline??t.value.outline)});const f=g(()=>o.value.length===0),d=g(()=>f.value&&!a.value),y=g(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:f.value,fixed:d.value}));return(L,$)=>i(n).layout!=="home"&&(!d.value||i(r)>=l.value)?(s(),u("div",{key:0,class:T(y.value)},[v("div",ta,[i(a)?(s(),u("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=V=>L.$emit("open-menu"))},[$[1]||($[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",aa,N(i(t).sidebarMenuLabel||"Menu"),1)],8,na)):m("",!0),k(ea,{headers:i(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),sa=b(oa,[["__scopeId","data-v-9d8129cc"]]);function ia(){const e=S(!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 r=X();return F(()=>r.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:a}}const ra={},la={class:"VPSwitch",type:"button",role:"switch"},ca={class:"check"},ua={key:0,class:"icon"};function da(e,t){return s(),u("button",la,[v("span",ca,[e.$slots.default?(s(),u("span",ua,[c(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const va=b(ra,[["render",da],["__scopeId","data-v-7012e5dd"]]),fa=p({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=P(),a=Z("toggle-appearance",()=>{t.value=!t.value}),o=S("");return ve(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(s(),_(va,{title:o.value,class:"VPSwitchAppearance","aria-checked":i(t),onClick:i(a)},{default:h(()=>[...l[0]||(l[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),me=b(fa,[["__scopeId","data-v-fa1daf57"]]),ha={key:0,class:"VPNavBarAppearance"},ma=p({__name:"VPNavBarAppearance",setup(e){const{site:t}=P();return(n,a)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",ha,[k(me)])):m("",!0)}}),pa=b(ma,[["__scopeId","data-v-123fcb2f"]]),pe=S();let xe=!1,oe=0;function ka(e){const t=S(!1);if(ee){!xe&&_a(),oe++;const n=F(pe,a=>{var o,r,l;a===e.el.value||(o=e.el.value)!=null&&o.contains(a)?(t.value=!0,(r=e.onFocus)==null||r.call(e)):(t.value=!1,(l=e.onBlur)==null||l.call(e))});de(()=>{n(),oe--,oe||ba()})}return Oe(t)}function _a(){document.addEventListener("focusin",Ie),xe=!0,pe.value=document.activeElement}function ba(){document.removeEventListener("focusin",Ie)}function Ie(){pe.value=document.activeElement}const ga={class:"VPMenuLink"},$a=["innerHTML"],ya=p({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=P();return(n,a)=>(s(),u("div",ga,[k(E,{class:T({active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,$a)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=b(ya,[["__scopeId","data-v-65e4a6b1"]]),Pa={class:"VPMenuGroup"},La={key:0,class:"title"},Va=p({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",Pa,[e.text?(s(),u("p",La,N(e.text),1)):m("",!0),(s(!0),u(x,null,H(e.items,a=>(s(),u(x,null,["link"in a?(s(),_(te,{key:0,item:a},null,8,["item"])):m("",!0)],64))),256))]))}}),Sa=b(Va,[["__scopeId","data-v-2bec9359"]]),Ta={class:"VPMenu"},Na={key:0,class:"items"},Ma=p({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(s(),u("div",Ta,[e.items?(s(),u("div",Na,[(s(!0),u(x,null,H(e.items,a=>(s(),u(x,{key:JSON.stringify(a)},["link"in a?(s(),_(te,{key:0,item:a},null,8,["item"])):"component"in a?(s(),_(C(a.component),G({key:1,ref_for:!0},a.props),null,16)):(s(),_(Sa,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):m("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),xa=b(Ma,[["__scopeId","data-v-39eca401"]]),Ia=["aria-expanded","aria-label"],wa={key:0,class:"text"},Ha=["innerHTML"],Aa={key:1,class:"vpi-more-horizontal icon"},Ba={class:"menu"},Ca=p({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=S(!1),n=S();ka({el:n,onBlur:a});function a(){t.value=!1}return(o,r)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=l=>t.value=!0),onMouseleave:r[2]||(r[2]=l=>t.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:r[0]||(r[0]=l=>t.value=!t.value)},[e.button||e.icon?(s(),u("span",wa,[e.icon?(s(),u("span",{key:0,class:T([e.icon,"option-icon"])},null,2)):m("",!0),e.button?(s(),u("span",{key:1,innerHTML:e.button},null,8,Ha)):m("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),u("span",Aa))],8,Ia),v("div",Ba,[k(xa,{items:e.items},{default:h(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=b(Ca,[["__scopeId","data-v-40e55da0"]]),Ea=["href","aria-label","innerHTML"],Fa=p({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=S();U(async()=>{var r;await Pe();const o=(r=n.value)==null?void 0:r.children[0];o instanceof HTMLElement&&o.className.startsWith("vpi-social-")&&(getComputedStyle(o).maskImage||getComputedStyle(o).webkitMaskImage)==="none"&&o.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const a=g(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}"></span>`);return(o,r)=>(s(),u("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:a.value},null,8,Ea))}}),Da=b(Fa,[["__scopeId","data-v-fbf39218"]]),Oa={class:"VPSocialLinks"},Ga=p({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(s(),u("div",Oa,[(s(!0),u(x,null,H(e.links,({link:a,icon:o,ariaLabel:r})=>(s(),_(Da,{key:a,icon:o,link:a,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),_e=b(Ga,[["__scopeId","data-v-f2234a39"]]),Ua={key:0,class:"group translations"},ja={class:"trans-title"},za={key:1,class:"group"},Wa={class:"item appearance"},qa={class:"label"},Ka={class:"appearance-action"},Ra={key:2,class:"group"},Ja={class:"item social-links"},Ya=p({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=P(),{localeLinks:a,currentLang:o}=K({correspondingLink:!0}),r=g(()=>a.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(l,f)=>r.value?(s(),_(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:h(()=>[i(a).length&&i(o).label?(s(),u("div",Ua,[v("p",ja,N(i(o).label),1),(s(!0),u(x,null,H(i(a),d=>(s(),_(te,{key:d.link,item:d},null,8,["item"]))),128))])):m("",!0),i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",za,[v("div",Wa,[v("p",qa,N(i(n).darkModeSwitchLabel||"Appearance"),1),v("div",Ka,[k(me)])])])):m("",!0),i(n).socialLinks?(s(),u("div",Ra,[v("div",Ja,[k(_e,{class:"social-links-list",links:i(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),Qa=b(Ya,[["__scopeId","data-v-0c845e5d"]]),Xa=["aria-expanded"],Za=p({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(s(),u("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=a=>t.$emit("click"))},[...n[1]||(n[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)])],10,Xa))}}),eo=b(Za,[["__scopeId","data-v-670493dd"]]),to=["innerHTML"],no=p({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=P();return(n,a)=>(s(),_(E,{class:T({VPNavBarMenuLink:!0,active:i(z)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,to)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ao=b(no,[["__scopeId","data-v-8dbce4d0"]]),oo=p({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=P(),a=r=>"component"in r?!1:"link"in r?z(n.value.relativePath,r.link,!!t.item.activeMatch):r.items.some(a),o=g(()=>a(t.item));return(r,l)=>(s(),_(ke,{class:T({VPNavBarMenuGroup:!0,active:i(z)(i(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||o.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),so={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},io=p({__name:"VPNavBarMenu",setup(e){const{theme:t}=P();return(n,a)=>i(t).nav?(s(),u("nav",so,[a[0]||(a[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),u(x,null,H(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),_(ao,{key:0,item:o},null,8,["item"])):"component"in o?(s(),_(C(o.component),G({key:1,ref_for:!0},o.props),null,16)):(s(),_(oo,{key:2,item:o},null,8,["item"]))],64))),128))])):m("",!0)}}),ro=b(io,[["__scopeId","data-v-5bacfe89"]]);function lo(e){const{localeIndex:t,theme:n}=P();function a(o){var I,w,A;const r=o.split("."),l=(I=n.value.search)==null?void 0:I.options,f=l&&typeof l=="object",d=f&&((A=(w=l.locales)==null?void 0:w[t.value])==null?void 0:A.translations)||null,y=f&&l.translations||null;let L=d,$=y,V=e;const M=r.pop();for(const B of r){let O=null;const q=V==null?void 0:V[B];q&&(O=V=q);const ne=$==null?void 0:$[B];ne&&(O=$=ne);const ae=L==null?void 0:L[B];ae&&(O=L=ae),q||(V=O),ne||($=O),ae||(L=O)}return(L==null?void 0:L[M])??($==null?void 0:$[M])??(V==null?void 0:V[M])??""}return a}const co=["aria-label"],uo={class:"DocSearch-Button-Container"},vo={class:"DocSearch-Button-Placeholder"},be=p({__name:"VPNavBarSearchButton",setup(e){const n=lo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,o)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(n)("button.buttonAriaLabel")},[v("span",uo,[o[0]||(o[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",vo,N(i(n)("button.buttonText")),1)]),o[1]||(o[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,co))}}),fo={class:"VPNavBarSearch"},ho={id:"local-search"},mo={key:1,id:"docsearch"},po=p({__name:"VPNavBarSearch",setup(e){const t=()=>null,n=()=>null,{theme:a}=P(),o=S(!1),r=S(!1);U(()=>{});function l(){o.value||(o.value=!0,setTimeout(f,16))}function f(){const L=new Event("keydown");L.key="k",L.metaKey=!0,window.dispatchEvent(L),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}const d=S(!1),y="";return(L,$)=>{var V;return s(),u("div",fo,[i(y)==="local"?(s(),u(x,{key:0},[d.value?(s(),_(i(t),{key:0,onClose:$[0]||($[0]=M=>d.value=!1)})):m("",!0),v("div",ho,[k(be,{onClick:$[1]||($[1]=M=>d.value=!0)})])],64)):i(y)==="algolia"?(s(),u(x,{key:1},[o.value?(s(),_(i(n),{key:0,algolia:((V=i(a).search)==null?void 0:V.options)??i(a).algolia,onVnodeBeforeMount:$[2]||($[2]=M=>r.value=!0)},null,8,["algolia"])):m("",!0),r.value?m("",!0):(s(),u("div",mo,[k(be,{onClick:l})]))],64)):m("",!0)])}}}),ko=p({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>i(t).socialLinks?(s(),_(_e,{key:0,class:"VPNavBarSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),_o=b(ko,[["__scopeId","data-v-08b35e6f"]]),bo=["href","rel","target"],go=["innerHTML"],$o={key:2},yo=p({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=P(),{hasSidebar:a}=D(),{currentLang:o}=K(),r=g(()=>{var d;return typeof n.value.logoLink=="string"?n.value.logoLink:(d=n.value.logoLink)==null?void 0:d.link}),l=g(()=>{var d;return typeof n.value.logoLink=="string"||(d=n.value.logoLink)==null?void 0:d.rel}),f=g(()=>{var d;return typeof n.value.logoLink=="string"||(d=n.value.logoLink)==null?void 0:d.target});return(d,y)=>(s(),u("div",{class:T(["VPNavBarTitle",{"has-sidebar":i(a)}])},[v("a",{class:"title",href:r.value??i(fe)(i(o).link),rel:l.value,target:f.value},[c(d.$slots,"nav-bar-title-before",{},void 0,!0),i(n).logo?(s(),_(J,{key:0,class:"logo",image:i(n).logo},null,8,["image"])):m("",!0),i(n).siteTitle?(s(),u("span",{key:1,innerHTML:i(n).siteTitle},null,8,go)):i(n).siteTitle===void 0?(s(),u("span",$o,N(i(t).title),1)):m("",!0),c(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,bo)],2))}}),Po=b(yo,[["__scopeId","data-v-5622a072"]]),Lo={class:"items"},Vo={class:"title"},So=p({__name:"VPNavBarTranslations",setup(e){const{theme:t}=P(),{localeLinks:n,currentLang:a}=K({correspondingLink:!0});return(o,r)=>i(n).length&&i(a).label?(s(),_(ke,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(t).langMenuLabel||"Change language"},{default:h(()=>[v("div",Lo,[v("p",Vo,N(i(a).label),1),(s(!0),u(x,null,H(i(n),l=>(s(),_(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),To=b(So,[["__scopeId","data-v-dac637f3"]]),No={class:"wrapper"},Mo={class:"container"},xo={class:"title"},Io={class:"content"},wo={class:"content-body"},Ho=p({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Le(),{hasSidebar:a}=D(),{frontmatter:o}=P(),r=S({});return ve(()=>{r.value={"has-sidebar":a.value,home:o.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(l,f)=>(s(),u("div",{class:T(["VPNavBar",r.value])},[v("div",No,[v("div",Mo,[v("div",xo,[k(Po,null,{"nav-bar-title-before":h(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",Io,[v("div",wo,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(po,{class:"search"}),k(ro,{class:"menu"}),k(To,{class:"translations"}),k(pa,{class:"appearance"}),k(_o,{class:"social-links"}),k(Qa,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(eo,{class:"hamburger",active:e.isScreenOpen,onClick:f[0]||(f[0]=d=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Ao=b(Ho,[["__scopeId","data-v-bb7529ee"]]),Bo={key:0,class:"VPNavScreenAppearance"},Co={class:"text"},Eo=p({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=P();return(a,o)=>i(t).appearance&&i(t).appearance!=="force-dark"&&i(t).appearance!=="force-auto"?(s(),u("div",Bo,[v("p",Co,N(i(n).darkModeSwitchLabel||"Appearance"),1),k(me)])):m("",!0)}}),Fo=b(Eo,[["__scopeId","data-v-774971f8"]]),Do=["innerHTML"],Oo=p({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),_(E,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,Do)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Go=b(Oo,[["__scopeId","data-v-29871565"]]),Uo=["innerHTML"],jo=p({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=Z("close-screen");return(n,a)=>(s(),_(E,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:i(t)},{default:h(()=>[v("span",{innerHTML:e.item.text},null,8,Uo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),we=b(jo,[["__scopeId","data-v-581896e9"]]),zo={class:"VPNavScreenMenuGroupSection"},Wo={key:0,class:"title"},qo=p({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(s(),u("div",zo,[e.text?(s(),u("p",Wo,N(e.text),1)):m("",!0),(s(!0),u(x,null,H(e.items,a=>(s(),_(we,{key:a.text,item:a},null,8,["item"]))),128))]))}}),Ko=b(qo,[["__scopeId","data-v-836cddb8"]]),Ro=["aria-controls","aria-expanded"],Jo=["innerHTML"],Yo=["id"],Qo={key:0,class:"item"},Xo={key:1,class:"item"},Zo={key:2,class:"group"},es=p({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=S(!1),a=g(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(r,l)=>(s(),u("div",{class:T(["VPNavScreenMenuGroup",{open:n.value}])},[v("button",{class:"button","aria-controls":a.value,"aria-expanded":n.value,onClick:o},[v("span",{class:"button-text",innerHTML:e.text},null,8,Jo),l[0]||(l[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,Ro),v("div",{id:a.value,class:"items"},[(s(!0),u(x,null,H(e.items,f=>(s(),u(x,{key:JSON.stringify(f)},["link"in f?(s(),u("div",Qo,[k(we,{item:f},null,8,["item"])])):"component"in f?(s(),u("div",Xo,[(s(),_(C(f.component),G({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(s(),u("div",Zo,[k(Ko,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,Yo)],2))}}),ts=b(es,[["__scopeId","data-v-a8d3502a"]]),ns={key:0,class:"VPNavScreenMenu"},as=p({__name:"VPNavScreenMenu",setup(e){const{theme:t}=P();return(n,a)=>i(t).nav?(s(),u("nav",ns,[(s(!0),u(x,null,H(i(t).nav,o=>(s(),u(x,{key:JSON.stringify(o)},["link"in o?(s(),_(Go,{key:0,item:o},null,8,["item"])):"component"in o?(s(),_(C(o.component),G({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(s(),_(ts,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),os=p({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=P();return(n,a)=>i(t).socialLinks?(s(),_(_e,{key:0,class:"VPNavScreenSocialLinks",links:i(t).socialLinks},null,8,["links"])):m("",!0)}}),ss={class:"list"},is=p({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=K({correspondingLink:!0}),a=S(!1);function o(){a.value=!a.value}return(r,l)=>i(t).length&&i(n).label?(s(),u("div",{key:0,class:T(["VPNavScreenTranslations",{open:a.value}])},[v("button",{class:"title",onClick:o},[l[0]||(l[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),j(" "+N(i(n).label)+" ",1),l[1]||(l[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",ss,[(s(!0),u(x,null,H(i(t),f=>(s(),u("li",{key:f.link,class:"item"},[k(E,{class:"link",href:f.link},{default:h(()=>[j(N(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),rs=b(is,[["__scopeId","data-v-0d43316b"]]),ls={class:"container"},cs=p({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null),n=Ve(ee?document.body:null);return(a,o)=>(s(),_(ce,{name:"fade",onEnter:o[0]||(o[0]=r=>n.value=!0),onAfterLeave:o[1]||(o[1]=r=>n.value=!1)},{default:h(()=>[e.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[v("div",ls,[c(a.$slots,"nav-screen-content-before",{},void 0,!0),k(as,{class:"menu"}),k(rs,{class:"translations"}),k(Fo,{class:"appearance"}),k(os,{class:"social-links"}),c(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),us=b(cs,[["__scopeId","data-v-34fa79a7"]]),ds={key:0,class:"VPNav"},vs=p({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:a}=ia(),{frontmatter:o}=P(),r=g(()=>o.value.navbar!==!1);return Se("close-screen",n),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,f)=>r.value?(s(),u("header",ds,[k(Ao,{"is-screen-open":i(t),onToggleScreen:i(a)},{"nav-bar-title-before":h(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(us,{open:i(t)},{"nav-screen-content-before":h(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),fs=b(vs,[["__scopeId","data-v-a46e73f0"]]),hs=["role","tabindex"],ms={key:1,class:"items"},ps=p({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:a,isLink:o,isActiveLink:r,hasActiveLink:l,hasChildren:f,toggle:d}=ct(g(()=>t.item)),y=g(()=>f.value?"section":"div"),L=g(()=>o.value?"a":"div"),$=g(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),V=g(()=>o.value?void 0:"button"),M=g(()=>[[`level-${t.depth}`],{collapsible:a.value},{collapsed:n.value},{"is-link":o.value},{"is-active":r.value},{"has-active":l.value}]);function I(A){"key"in A&&A.key!=="Enter"||!t.item.link&&d()}function w(){t.item.link&&d()}return(A,B)=>{const O=W("VPSidebarItem",!0);return s(),_(C(y.value),{class:T(["VPSidebarItem",M.value])},{default:h(()=>[e.item.text?(s(),u("div",G({key:0,class:"item",role:V.value},Ge(e.item.items?{click:I,keydown:I}:{},!0),{tabindex:e.item.items&&0}),[B[1]||(B[1]=v("div",{class:"indicator"},null,-1)),e.item.link?(s(),_(E,{key:0,tag:L.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:h(()=>[(s(),_(C($.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),_(C($.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:w,onKeydown:Ue(w,["enter"]),tabindex:"0"},[...B[0]||(B[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):m("",!0)],16,hs)):m("",!0),e.item.items&&e.item.items.length?(s(),u("div",ms,[e.depth<5?(s(!0),u(x,{key:0},H(e.item.items,q=>(s(),_(O,{key:q.text,item:q,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),ks=b(ps,[["__scopeId","data-v-2e0476bc"]]),_s=p({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=S(!0);let n=null;return U(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),je(()=>{n!=null&&(clearTimeout(n),n=null)}),(a,o)=>(s(!0),u(x,null,H(e.items,r=>(s(),u("div",{key:r.text,class:T(["group",{"no-transition":t.value}])},[k(ks,{item:r,depth:0},null,8,["item"])],2))),128))}}),bs=b(_s,[["__scopeId","data-v-ec086cd5"]]),gs={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},$s=p({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=D(),a=e,o=S(null),r=Ve(ee?document.body:null);F([a,o],()=>{var f;a.open?(r.value=!0,(f=o.value)==null||f.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=S(0);return F(t,()=>{l.value+=1},{deep:!0}),(f,d)=>i(n)?(s(),u("aside",{key:0,class:T(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:d[0]||(d[0]=ze(()=>{},["stop"]))},[d[2]||(d[2]=v("div",{class:"curtain"},null,-1)),v("nav",gs,[d[1]||(d[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(s(),_(bs,{items:i(t),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),ys=b($s,[["__scopeId","data-v-12a40e3d"]]),Ps=p({__name:"VPSkipLink",setup(e){const{theme:t}=P(),n=X(),a=S();F(()=>n.path,()=>a.value.focus());function o({target:r}){const l=document.getElementById(decodeURIComponent(r.hash).slice(1));if(l){const f=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",f)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",f),l.focus(),window.scrollTo(0,0)}}return(r,l)=>(s(),u(x,null,[v("span",{ref_key:"backToTop",ref:a,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o},N(i(t).skipToContentLabel||"Skip to content"),1)],64))}}),Ls=b(Ps,[["__scopeId","data-v-17ad389b"]]),Vs=p({__name:"Layout",setup(e){const{isOpen:t,open:n,close:a}=D(),o=X();F(()=>o.path,a),lt(t,a);const{frontmatter:r}=P(),l=We(),f=g(()=>!!l["home-hero-image"]);return Se("hero-image-slot-exists",f),(d,y)=>{const L=W("Content");return i(r).layout!==!1?(s(),u("div",{key:0,class:T(["Layout",i(r).pageClass])},[c(d.$slots,"layout-top",{},void 0,!0),k(Ls),k(Je,{class:"backdrop",show:i(t),onClick:i(a)},null,8,["show","onClick"]),k(fs,null,{"nav-bar-title-before":h(()=>[c(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[c(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[c(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[c(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":h(()=>[c(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[c(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(sa,{open:i(t),onOpenMenu:i(n)},null,8,["open","onOpenMenu"]),k(ys,{open:i(t)},{"sidebar-nav-before":h(()=>[c(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":h(()=>[c(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(jn,null,{"page-top":h(()=>[c(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[c(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":h(()=>[c(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":h(()=>[c(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[c(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[c(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[c(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[c(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[c(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[c(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[c(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[c(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":h(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[c(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[c(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":h(()=>[c(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[c(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":h(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(Rn),c(d.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),_(L,{key:1}))}}}),Ss=b(Vs,[["__scopeId","data-v-c4daae71"]]),Ns={Layout:Ss,enhanceApp:({app:e})=>{e.component("Badge",qe)}};export{Ns as t};
@@ -0,0 +1,75 @@
1
+ import{_ as i,o as a,c as n,ae as t}from"./chunks/framework.D9_ZvfG7.js";const o=JSON.parse('{"title":"Font tích hợp, font riêng và CDN","description":"","frontmatter":{},"headers":[],"relativePath":"fonts.md","filePath":"fonts.md"}'),h={name:"fonts.md"};function l(p,s,k,e,E,r){return a(),n("div",null,[...s[0]||(s[0]=[t(`<h1 id="font-tich-hop-font-rieng-va-cdn" tabindex="-1">Font tích hợp, font riêng và CDN <a class="header-anchor" href="#font-tich-hop-font-rieng-va-cdn" aria-label="Permalink to &quot;Font tích hợp, font riêng và CDN&quot;">​</a></h1><p>Kindy Editor dùng cùng một font source cho Canvas layout và export. Vì vậy font không chỉ cần hiển thị được trong CSS: exporter còn phải đọc được binary font để đo glyph và nhúng vào PDF. Font ngoài hiện hỗ trợ <strong>TTF/OTF</strong>; WOFF/WOFF2 chưa dùng được cho export PDF.</p><h2 id="khai-bao-nhieu-font-truc-tiep" tabindex="-1">Khai báo nhiều font trực tiếp <a class="header-anchor" href="#khai-bao-nhieu-font-truc-tiep" aria-label="Permalink to &quot;Khai báo nhiều font trực tiếp&quot;">​</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;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { KindyEditor, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> FontsConfig } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;kindy-editor&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
2
+ <span class="line"></span>
3
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> fonts</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> FontsConfig</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
4
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // Các URL tương đối bên dưới được ghép với thư mục CDN có version.</span></span>
5
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> baseUrl: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://cdn.example.vn/kindy-fonts/2026-08/&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
6
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> fonts: [</span></span>
7
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
8
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> family: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Inter&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
9
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> label: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Inter&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
10
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> faces: {</span></span>
11
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> regular: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;inter/Inter-Regular.ttf&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
12
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> bold: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;inter/Inter-Bold.ttf&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
13
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> italic: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;inter/Inter-Italic.ttf&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
14
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> boldItalic: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;inter/Inter-BoldItalic.ttf&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
15
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
16
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sizing: { ascent: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.969</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, descent: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.241</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
17
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
18
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
19
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> family: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Noto Serif&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
20
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> faces: { regular: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;noto-serif/NotoSerif-Regular.otf&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
21
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sizing: { ascent: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1.069</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, descent: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.293</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
22
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
23
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ],</span></span>
24
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">};</span></span>
25
+ <span class="line"></span>
26
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> editor</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> KindyEditor</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
27
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> container: document.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">querySelector</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;#editor&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
28
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> locale: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;vi&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
29
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> fonts,</span></span>
30
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p><code>regular</code> là bắt buộc. Face bị thiếu sẽ dùng lại Regular, bảo đảm preview và export không tự tạo faux-bold/faux-italic khác nhau. <code>sizing</code> là ascent/descent chia cho units-per-em của font; nên lấy từ <code>hhea</code>/<code>OS/2</code> của chính file font.</p><h2 id="dung-font-manifest-tren-cdn" tabindex="-1">Dùng font manifest trên CDN <a class="header-anchor" href="#dung-font-manifest-tren-cdn" aria-label="Permalink to &quot;Dùng font manifest trên CDN&quot;">​</a></h2><p>Ứng dụng có thể đưa hàng loạt family vào một catalog có version:</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</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>
31
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;schemaVersion&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;1.0&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
32
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;baseUrl&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;./files/&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
33
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;fonts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
34
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
35
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;family&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Inter&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
36
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;faces&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
37
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;regular&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Inter-Regular.ttf&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
38
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;bold&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Inter-Bold.ttf&quot;</span></span>
39
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
40
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;sizing&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;ascent&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.969</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;descent&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.241</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
41
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
42
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
43
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;family&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Noto Serif&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
44
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;faces&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;regular&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;NotoSerif-Regular.otf&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
45
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;sizing&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;ascent&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1.069</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;descent&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.293</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
46
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
47
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
48
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>Sau đó chỉ cần truyền URL catalog:</p><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;">new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> KindyEditor</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
49
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> container,</span></span>
50
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> fonts: {</span></span>
51
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> manifests: [</span></span>
52
+ <span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;https://cdn.example.vn/kindy-fonts/2026-08/manifest.json&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
53
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
54
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> url: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://static.example.vn/brand-fonts/manifest.json&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
55
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> baseUrl: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://static.example.vn/brand-fonts/files/&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
56
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
57
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ],</span></span>
58
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // Khai báo trực tiếp luôn ưu tiên hơn manifest nếu trùng family.</span></span>
59
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> fonts: [companyFont],</span></span>
60
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
61
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p>Catalog lỗi, timeout hoặc sai schema sẽ bị bỏ qua riêng lẻ; editor vẫn mở bằng font tích hợp sẵn và các font còn lại.</p><h2 id="cdn-co-xac-thuc-hoac-signed-url" tabindex="-1">CDN có xác thực hoặc signed URL <a class="header-anchor" href="#cdn-co-xac-thuc-hoac-signed-url" aria-label="Permalink to &quot;CDN có xác thực hoặc signed URL&quot;">​</a></h2><p><code>loader</code> được dùng chung khi tải manifest, khi hiển thị Canvas và khi chuẩn bị font cho export. Binary đã tải được truyền vào worker; token và hàm loader không đi vào worker.</p><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;">new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> KindyEditor</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
62
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> container,</span></span>
63
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> fonts: {</span></span>
64
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> manifests: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://assets.example.vn/fonts/manifest.json&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
65
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> loader</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">async</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">request</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">signal</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
66
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> response</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> fetch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(request.url, {</span></span>
67
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> signal,</span></span>
68
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> headers: { Authorization: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\`Bearer \${</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> getAssetToken</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">()</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}\`</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
69
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> credentials: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;include&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
70
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> });</span></span>
71
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">response.ok) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">throw</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Error</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\`Font HTTP \${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">response</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">status</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}\`</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
72
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> response.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">arrayBuffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
73
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
74
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
75
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p><code>request.kind</code> là <code>manifest</code> hoặc <code>font</code>; request font còn có <code>family</code> và <code>style</code> để ứng dụng ghi log, cấp signed URL hoặc áp dụng policy riêng.</p><h2 id="cau-hinh-cdn-khuyen-nghi" tabindex="-1">Cấu hình CDN khuyến nghị <a class="header-anchor" href="#cau-hinh-cdn-khuyen-nghi" aria-label="Permalink to &quot;Cấu hình CDN khuyến nghị&quot;">​</a></h2><ul><li>Cho phép CORS từ domain chạy editor, hoặc dùng <code>loader</code> qua transport của hệ thống.</li><li>Đặt version bất biến trong URL và trả <code>Cache-Control: public, max-age=31536000, immutable</code>.</li><li>Không ghi đè file font ở cùng URL; đổi version khi binary hoặc metrics thay đổi.</li><li>Tự host font thương mại theo đúng license. Không đưa Times New Roman lên CDN công cộng nếu tổ chức chưa có quyền phân phối.</li><li>Giữ manifest dưới 1 MB và mỗi font dưới 10 MB. Request bị giới hạn 15 giây để một CDN lỗi không treo quá trình mở editor.</li><li>Kiểm thử golden DOCX/PDF sau khi đổi font hoặc metrics vì thay đổi metrics có thể làm thay đổi điểm xuống dòng và phân trang.</li></ul><h2 id="quan-he-voi-dung-luong-bundle" tabindex="-1">Quan hệ với dung lượng bundle <a class="header-anchor" href="#quan-he-voi-dung-luong-bundle" aria-label="Permalink to &quot;Quan hệ với dung lượng bundle&quot;">​</a></h2><p>Font khai báo qua URL/manifest không được đóng vào bundle JavaScript của <code>kindy-editor</code>. Vì vậy có thể mở rộng catalog mà không làm tarball npm phình theo. Ở bước tối ưu tiếp theo, catalog lớn nên được tải theo family/style mà tài liệu thực sự sử dụng thay vì preload toàn bộ catalog.</p>`,19)])])}const g=i(h,[["render",l]]);export{o as __pageData,g as default};
@@ -0,0 +1 @@
1
+ import{_ as i,o as a,c as n,ae as t}from"./chunks/framework.D9_ZvfG7.js";const o=JSON.parse('{"title":"Font tích hợp, font riêng và CDN","description":"","frontmatter":{},"headers":[],"relativePath":"fonts.md","filePath":"fonts.md"}'),h={name:"fonts.md"};function l(p,s,k,e,E,r){return a(),n("div",null,[...s[0]||(s[0]=[t("",19)])])}const g=i(h,[["render",l]]);export{o as __pageData,g as default};
@@ -1,4 +1,4 @@
1
- import{_ as i,o as a,c as n,ae as t}from"./chunks/framework.DCJ5T8RY.js";const o=JSON.parse('{"title":"HTTP event sink","description":"","frontmatter":{},"headers":[],"relativePath":"http-event-sink.md","filePath":"http-event-sink.md"}'),e={name:"http-event-sink.md"};function h(k,s,l,p,E,r){return a(),n("div",null,[...s[0]||(s[0]=[t(`<h1 id="http-event-sink" tabindex="-1">HTTP event sink <a class="header-anchor" href="#http-event-sink" aria-label="Permalink to &quot;HTTP event sink&quot;">​</a></h1><p><code>createHttpEventSink</code> is an optional transport adapter. It batches envelopes, retries transient failures with exponential backoff, and sends JSON to a host-owned endpoint. It contains no Kindy backend URL or authentication policy.</p><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;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { KindyEditor } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;kindy-editor&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
1
+ import{_ as i,o as a,c as n,ae as t}from"./chunks/framework.D9_ZvfG7.js";const o=JSON.parse('{"title":"HTTP event sink","description":"","frontmatter":{},"headers":[],"relativePath":"http-event-sink.md","filePath":"http-event-sink.md"}'),e={name:"http-event-sink.md"};function h(k,s,l,p,E,r){return a(),n("div",null,[...s[0]||(s[0]=[t(`<h1 id="http-event-sink" tabindex="-1">HTTP event sink <a class="header-anchor" href="#http-event-sink" aria-label="Permalink to &quot;HTTP event sink&quot;">​</a></h1><p><code>createHttpEventSink</code> is an optional transport adapter. It batches envelopes, retries transient failures with exponential backoff, and sends JSON to a host-owned endpoint. It contains no Kindy backend URL or authentication policy.</p><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;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { KindyEditor } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;kindy-editor&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
2
2
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { createHttpEventSink } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;kindy-editor/events&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
3
3
  <span class="line"></span>
4
4
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> sink</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> createHttpEventSink</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
@@ -1 +1 @@
1
- import{_ as i,o as a,c as n,ae as t}from"./chunks/framework.DCJ5T8RY.js";const o=JSON.parse('{"title":"HTTP event sink","description":"","frontmatter":{},"headers":[],"relativePath":"http-event-sink.md","filePath":"http-event-sink.md"}'),e={name:"http-event-sink.md"};function h(k,s,l,p,E,r){return a(),n("div",null,[...s[0]||(s[0]=[t("",8)])])}const y=i(e,[["render",h]]);export{o as __pageData,y as default};
1
+ import{_ as i,o as a,c as n,ae as t}from"./chunks/framework.D9_ZvfG7.js";const o=JSON.parse('{"title":"HTTP event sink","description":"","frontmatter":{},"headers":[],"relativePath":"http-event-sink.md","filePath":"http-event-sink.md"}'),e={name:"http-event-sink.md"};function h(k,s,l,p,E,r){return a(),n("div",null,[...s[0]||(s[0]=[t("",8)])])}const y=i(e,[["render",h]]);export{o as __pageData,y as default};
@@ -1 +1 @@
1
- import{_ as e,o as t,c as n}from"./chunks/framework.DCJ5T8RY.js";const v=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Kindy Editor","text":"Documentation","tagline":"Trình soạn thảo tài liệu Word canvas chất lượng cao, hỗ trợ full layout engine và external event streaming.","actions":[{"theme":"brand","text":"Public Events API","link":"/public-events"},{"theme":"alt","text":"Review Comments & Mentions","link":"/review-comments"}]},"features":[{"title":"📄 Canvas-based DOCX Engine","details":"Render và xử lý layout văn bản Word chính xác trên Canvas với tốc độ cao."},{"title":"⚡ Real-time Event Stream","details":"Hệ thống event versioned mạnh mẽ cho autosave, audit log, workflow và tracking."},{"title":"🔌 Dễ dàng tích hợp","details":"Hỗ trợ TypeScript definitions, host-owned @mention picker, capability callbacks và notification events."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function i(o,r,s,c,l,d){return t(),n("div")}const h=e(a,[["render",i]]);export{v as __pageData,h as default};
1
+ import{_ as e,o as t,c as n}from"./chunks/framework.D9_ZvfG7.js";const v=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Kindy Editor","text":"Documentation","tagline":"Trình soạn thảo tài liệu Word canvas chất lượng cao, hỗ trợ full layout engine và external event streaming.","actions":[{"theme":"brand","text":"Public Events API","link":"/public-events"},{"theme":"alt","text":"Review Comments & Mentions","link":"/review-comments"}]},"features":[{"title":"📄 Canvas-based DOCX Engine","details":"Render và xử lý layout văn bản Word chính xác trên Canvas với tốc độ cao."},{"title":"⚡ Real-time Event Stream","details":"Hệ thống event versioned mạnh mẽ cho autosave, audit log, workflow và tracking."},{"title":"🔌 Dễ dàng tích hợp","details":"Hỗ trợ TypeScript definitions, host-owned @mention picker, capability callbacks và notification events."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function i(o,r,s,c,l,d){return t(),n("div")}const h=e(a,[["render",i]]);export{v as __pageData,h as default};
@@ -1 +1 @@
1
- import{_ as e,o as t,c as n}from"./chunks/framework.DCJ5T8RY.js";const v=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Kindy Editor","text":"Documentation","tagline":"Trình soạn thảo tài liệu Word canvas chất lượng cao, hỗ trợ full layout engine và external event streaming.","actions":[{"theme":"brand","text":"Public Events API","link":"/public-events"},{"theme":"alt","text":"Review Comments & Mentions","link":"/review-comments"}]},"features":[{"title":"📄 Canvas-based DOCX Engine","details":"Render và xử lý layout văn bản Word chính xác trên Canvas với tốc độ cao."},{"title":"⚡ Real-time Event Stream","details":"Hệ thống event versioned mạnh mẽ cho autosave, audit log, workflow và tracking."},{"title":"🔌 Dễ dàng tích hợp","details":"Hỗ trợ TypeScript definitions, host-owned @mention picker, capability callbacks và notification events."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function i(o,r,s,c,l,d){return t(),n("div")}const h=e(a,[["render",i]]);export{v as __pageData,h as default};
1
+ import{_ as e,o as t,c as n}from"./chunks/framework.D9_ZvfG7.js";const v=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Kindy Editor","text":"Documentation","tagline":"Trình soạn thảo tài liệu Word canvas chất lượng cao, hỗ trợ full layout engine và external event streaming.","actions":[{"theme":"brand","text":"Public Events API","link":"/public-events"},{"theme":"alt","text":"Review Comments & Mentions","link":"/review-comments"}]},"features":[{"title":"📄 Canvas-based DOCX Engine","details":"Render và xử lý layout văn bản Word chính xác trên Canvas với tốc độ cao."},{"title":"⚡ Real-time Event Stream","details":"Hệ thống event versioned mạnh mẽ cho autosave, audit log, workflow và tracking."},{"title":"🔌 Dễ dàng tích hợp","details":"Hỗ trợ TypeScript definitions, host-owned @mention picker, capability callbacks và notification events."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function i(o,r,s,c,l,d){return t(),n("div")}const h=e(a,[["render",i]]);export{v as __pageData,h as default};
@@ -1,4 +1,4 @@
1
- import{_ as i,o as a,c as e,ae as t}from"./chunks/framework.DCJ5T8RY.js";const c=JSON.parse('{"title":"Public events and external integrations","description":"","frontmatter":{},"headers":[],"relativePath":"public-events.md","filePath":"public-events.md"}'),n={name:"public-events.md"};function l(h,s,d,o,p,k){return a(),e("div",null,[...s[0]||(s[0]=[t(`<h1 id="public-events-and-external-integrations" tabindex="-1">Public events and external integrations <a class="header-anchor" href="#public-events-and-external-integrations" aria-label="Permalink to &quot;Public events and external integrations&quot;">​</a></h1><p>Kindy Editor exposes a versioned event stream for host applications that need autosave, audit, workflow, analytics, notifications, or backend integration. The existing <code>editor.on(&quot;presence&quot;, ...)</code> API remains supported; new integrations should use <code>editor.events</code> because it provides typed namespaced events and a stable envelope.</p><h2 id="quick-start" tabindex="-1">Quick start <a class="header-anchor" href="#quick-start" aria-label="Permalink to &quot;Quick start&quot;">​</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;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { KindyEditor } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;kindy-editor&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
1
+ import{_ as i,o as a,c as e,ae as t}from"./chunks/framework.D9_ZvfG7.js";const c=JSON.parse('{"title":"Public events and external integrations","description":"","frontmatter":{},"headers":[],"relativePath":"public-events.md","filePath":"public-events.md"}'),n={name:"public-events.md"};function l(h,s,d,o,p,k){return a(),e("div",null,[...s[0]||(s[0]=[t(`<h1 id="public-events-and-external-integrations" tabindex="-1">Public events and external integrations <a class="header-anchor" href="#public-events-and-external-integrations" aria-label="Permalink to &quot;Public events and external integrations&quot;">​</a></h1><p>Kindy Editor exposes a versioned event stream for host applications that need autosave, audit, workflow, analytics, notifications, or backend integration. The existing <code>editor.on(&quot;presence&quot;, ...)</code> API remains supported; new integrations should use <code>editor.events</code> because it provides typed namespaced events and a stable envelope.</p><h2 id="quick-start" tabindex="-1">Quick start <a class="header-anchor" href="#quick-start" aria-label="Permalink to &quot;Quick start&quot;">​</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;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { KindyEditor } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;kindy-editor&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
2
2
  <span class="line"></span>
3
3
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> editor</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> KindyEditor</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
4
4
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> container: document.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">querySelector</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;#editor&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
@@ -1 +1 @@
1
- import{_ as i,o as a,c as e,ae as t}from"./chunks/framework.DCJ5T8RY.js";const c=JSON.parse('{"title":"Public events and external integrations","description":"","frontmatter":{},"headers":[],"relativePath":"public-events.md","filePath":"public-events.md"}'),n={name:"public-events.md"};function l(h,s,d,o,p,k){return a(),e("div",null,[...s[0]||(s[0]=[t("",22)])])}const E=i(n,[["render",l]]);export{c as __pageData,E as default};
1
+ import{_ as i,o as a,c as e,ae as t}from"./chunks/framework.D9_ZvfG7.js";const c=JSON.parse('{"title":"Public events and external integrations","description":"","frontmatter":{},"headers":[],"relativePath":"public-events.md","filePath":"public-events.md"}'),n={name:"public-events.md"};function l(h,s,d,o,p,k){return a(),e("div",null,[...s[0]||(s[0]=[t("",22)])])}const E=i(n,[["render",l]]);export{c as __pageData,E as default};
@@ -1,4 +1,4 @@
1
- import{_ as i,o as a,c as n,ae as e}from"./chunks/framework.DCJ5T8RY.js";const E=JSON.parse('{"title":"Review comments, discussions, and @mentions","description":"","frontmatter":{},"headers":[],"relativePath":"review-comments.md","filePath":"review-comments.md"}'),t={name:"review-comments.md"};function l(h,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e(`<h1 id="review-comments-discussions-and-mentions" tabindex="-1">Review comments, discussions, and @mentions <a class="header-anchor" href="#review-comments-discussions-and-mentions" aria-label="Permalink to &quot;Review comments, discussions, and @mentions&quot;">​</a></h1><p>Comments are anchored discussions that are separate from tracked Suggestions. Users can create and reply in <code>edit</code> and <code>suggest</code> mode; <code>view</code> mode is read-only. An anchor may be a text range or a collapsed caret. Rectangular table-cell selections are not supported yet.</p><h2 id="user-flow" tabindex="-1">User flow <a class="header-anchor" href="#user-flow" aria-label="Permalink to &quot;User flow&quot;">​</a></h2><p>A user can start a discussion from the <strong>+ Comment</strong> button, the floating comment action beside a text selection, or <code>Ctrl+Alt+M</code> / <code>Cmd+Option+M</code>. Submitting the root comment opens the inline thread beside the document and focuses the same thread in Review &gt; Comments.</p><p>Open threads have a clickable count marker on the document, an always-available reply composer, and actions allowed by the host: Edit, Delete, Resolve, and Reopen. Delete creates a <code>Comment deleted</code> tombstone so replies and collaboration history remain intact. Resolved markers are hidden from the document and remain available through the Review panel&#39;s Open, Resolved, and All filters.</p><p>The public methods mirror the UI:</p><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;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> handle</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> editor.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">whenReady</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
1
+ import{_ as i,o as a,c as n,ae as e}from"./chunks/framework.D9_ZvfG7.js";const E=JSON.parse('{"title":"Review comments, discussions, and @mentions","description":"","frontmatter":{},"headers":[],"relativePath":"review-comments.md","filePath":"review-comments.md"}'),t={name:"review-comments.md"};function l(h,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e(`<h1 id="review-comments-discussions-and-mentions" tabindex="-1">Review comments, discussions, and @mentions <a class="header-anchor" href="#review-comments-discussions-and-mentions" aria-label="Permalink to &quot;Review comments, discussions, and @mentions&quot;">​</a></h1><p>Comments are anchored discussions that are separate from tracked Suggestions. Users can create and reply in <code>edit</code> and <code>suggest</code> mode; <code>view</code> mode is read-only. An anchor may be a text range or a collapsed caret. Rectangular table-cell selections are not supported yet.</p><h2 id="user-flow" tabindex="-1">User flow <a class="header-anchor" href="#user-flow" aria-label="Permalink to &quot;User flow&quot;">​</a></h2><p>A user can start a discussion from the <strong>+ Comment</strong> button, the floating comment action beside a text selection, or <code>Ctrl+Alt+M</code> / <code>Cmd+Option+M</code>. Submitting the root comment opens the inline thread beside the document and focuses the same thread in Review &gt; Comments.</p><p>Open threads have a clickable count marker on the document, an always-available reply composer, and actions allowed by the host: Edit, Delete, Resolve, and Reopen. Delete creates a <code>Comment deleted</code> tombstone so replies and collaboration history remain intact. Resolved markers are hidden from the document and remain available through the Review panel&#39;s Open, Resolved, and All filters.</p><p>The public methods mirror the UI:</p><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;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> handle</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> editor.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">whenReady</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
2
2
  <span class="line"></span>
3
3
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">handle.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">startComment</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
4
4
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">handle.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">openCommentThread</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(threadId);</span></span>
@@ -1 +1 @@
1
- import{_ as i,o as a,c as n,ae as e}from"./chunks/framework.DCJ5T8RY.js";const E=JSON.parse('{"title":"Review comments, discussions, and @mentions","description":"","frontmatter":{},"headers":[],"relativePath":"review-comments.md","filePath":"review-comments.md"}'),t={name:"review-comments.md"};function l(h,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e("",26)])])}const c=i(t,[["render",l]]);export{E as __pageData,c as default};
1
+ import{_ as i,o as a,c as n,ae as e}from"./chunks/framework.D9_ZvfG7.js";const E=JSON.parse('{"title":"Review comments, discussions, and @mentions","description":"","frontmatter":{},"headers":[],"relativePath":"review-comments.md","filePath":"review-comments.md"}'),t={name:"review-comments.md"};function l(h,s,p,k,d,r){return a(),n("div",null,[...s[0]||(s[0]=[e("",26)])])}const c=i(t,[["render",l]]);export{E as __pageData,c as default};