UNPKG

vuepress-theme-hope

Version:

A light vuepress theme with tons of features

3 lines (2 loc) 28.3 kB
import{isLinkWithProtocol as he,isLinkExternal as Ye,ensureEndingSlash as Xe,isLinkAbsolute as Je,isArray as fe,isPlainObject as Ze,keys as ge,startsWith as Ke,isString as B,fromEntries as Qe,entries as be,useRoutePaths as ea,hasGlobalComponent as A,isSlotContentEmpty as Z,RenderDefault as aa,isNumber as la}from"@vuepress/helper/client";import{usePreferredDark as ta,useStorage as na,useEventListener as D,watchImmediate as j,useFullscreen as K,useScrollLock as ke,useToggle as ye,useThrottleFn as oa,useElementHover as sa}from"@vueuse/core";import{computed as i,watchEffect as ra,onMounted as L,inject as we,provide as ua,defineComponent as d,h as a,nextTick as ia,ref as g,resolveComponent as b,toRef as Le,watch as V,shallowRef as _,onUnmounted as Se,Transition as F,TransitionGroup as ca}from"vue";import{resolveRoute as H,ClientOnly as va,onContentUpdated as M,AutoLink as pa,useRoute as T,withBase as xe,RouteLink as da,useRoutePath as ma,Content as ha}from"vuepress/client";import{e as q,a as I,l as fa,d as U,k as R}from"./PageInfo-CL1v9JCd.js";import Q from"@vuepress/helper/noopComponent";import{IconBase as S,resolveRepoLink as ga,resolveRepoType as ba,RepoIcon as ka,isActiveLink as Me}from"vuepress-shared/client";import ee from"./styles/variables.module.scss";import"@vuepress/helper/transition/fade-in-down.css";import{sidebarData as ae}from"@temp/theme-hope/sidebar.js";import"@vuepress/helper/transition/fade-in.css";const Ce=Symbol(__VUEPRESS_DEV__?"darkMode":""),E=()=>{const e=we(Ce);if(!e)throw new Error("useDarkMode() is called without provider.");return e},ya=e=>{const l=ta(),t=q(),s=i(()=>t.value.darkmode??"switch"),n=na("vuepress-theme-hope-scheme","auto"),o=i(()=>{const u=s.value;return u==="disable"?!1:u==="enable"?!0:u==="auto"?l.value:u==="toggle"?n.value==="dark":n.value==="dark"||n.value==="auto"&&l.value}),r=i(()=>{const u=s.value;return u==="switch"||u==="toggle"});e.provide(Ce,{canToggle:r,config:s,isDarkMode:o,status:n}),Object.defineProperties(e.config.globalProperties,{$isDarkMode:{get:()=>o.value}})},wa=()=>{const{config:e,isDarkMode:l,status:t}=E();ra(()=>{e.value==="disable"?t.value="light":e.value==="enable"?t.value="dark":e.value==="toggle"&&t.value==="auto"&&(t.value="light")}),D("beforeprint",()=>{l.value&&document.documentElement.setAttribute("data-theme","light")}),D("afterprint",()=>{l.value&&document.documentElement.setAttribute("data-theme","dark")}),L(()=>{j(l,s=>{document.documentElement.setAttribute("data-theme",s?"dark":"light")})})},le=e=>!he(e)&&!Ye(e),te=(e,l=!1,t)=>{const{meta:s,path:n,notFound:o}=H(e,t);return o?{text:n,link:n}:{text:!l&&s.shortTitle?s.shortTitle:s.title||n,link:n,icon:s.icon}},C=(e="",l="")=>he(l)||Je(l)?l:`${Xe(e)}${l}`,$e=(e,l)=>{const t=B(e)?te(C(l,e)):B(e.link)?{...e,link:le(e.link)?H(C(l,e.link)).path:e.link}:e;if("children"in t){const s=C(l,t.prefix),n=t.children==="structure"?ae[s]:t.children;return{...t,prefix:s,children:n.map(o=>$e(o,s))}}return{...t}},ne=({config:e,prefix:l=""})=>e.map(t=>$e(t,l)),La=({config:e,routePath:l})=>{const t=ge(e).sort((s,n)=>n.length-s.length);for(const s of t)if(Ke(decodeURI(l),s)){const n=e[s];return ne({config:n==="structure"?ae[s]:n||[],prefix:s})}return console.warn(`${decodeURI(l)} is missing it's sidebar config.`),[]},Sa=({config:e,routeLocale:l,routePath:t})=>e==="structure"?ne({config:ae[l],prefix:l}):fe(e)?ne({config:e}):Ze(e)?La({config:e,routePath:t}):[],Te=Symbol(__VUEPRESS_DEV__?"sidebarItems":""),xa=()=>{const{frontmatter:e,routeLocale:l,routePath:t,themeLocale:s}=I(),n=i(()=>e.value.home?!1:e.value.sidebar??s.value.sidebar??"structure"),o=i(()=>Sa({config:n.value,routeLocale:l.value,routePath:t.value}));ua(Te,o)},oe=()=>{const e=we(Te);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var Ma=d({name:"PageFooter",setup(){const{frontmatter:e,theme:l,themeLocale:t}=I(),s=fa(),n=i(()=>{const{copyright:c,footer:v}=e.value;return v!==!1&&!!(c||v||t.value.displayFooter)}),o=i(()=>{const{footer:c}=e.value;return B(c)?c:t.value.footer??""}),r=i(()=>s.value.map(({name:c})=>c).join(", ")),u=c=>`Copyright © ${new Date().getFullYear()} ${r.value} ${c?`${c} Licensed`:""}`,p=i(()=>{const{copyright:c,license:v=""}=e.value,{license:h}=l.value,{copyright:k}=t.value;return c??(v?u(v):k??(r.value||h?u(h):!1))});return()=>n.value?a("footer",{class:"vp-footer-wrapper","vp-footer":""},[o.value?a("div",{class:"vp-footer",innerHTML:o.value}):null,p.value?a("div",{class:"vp-copyright",innerHTML:p.value}):null]):null}});const Ie=()=>a(S,{name:"outlook"},()=>[a("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);Ie.displayName="AppearanceIcon";const Ee=()=>a(S,{name:"auto"},()=>a("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));Ee.displayName="AutoColorModeIcon";const ze=()=>a(S,{name:"light"},()=>a("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));ze.displayName="LightColorModeIcon";const Ne=()=>a(S,{name:"dark"},()=>a("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));Ne.displayName="DarkColorModeIcon";var se=d({name:"ColorModeSwitch",setup(){const{config:e,isDarkMode:l,status:t}=E(),s=U(),n=()=>{e.value==="switch"?t.value={light:"dark",dark:"auto",auto:"light"}[t.value]:t.value=t.value==="light"?"dark":"light"},o=async r=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!s.value)){n();return}const u=r.clientX,p=r.clientY,c=Math.hypot(Math.max(u,innerWidth-u),Math.max(p,innerHeight-p)),v=l.value;await document.startViewTransition(async()=>{n(),await ia()}).ready,l.value!==v&&document.documentElement.animate({clipPath:l.value?[`circle(${c}px at ${u}px ${p}px)`,`circle(0px at ${u}px ${p}px)`]:[`circle(0px at ${u}px ${p}px)`,`circle(${c}px at ${u}px ${p}px)`]},{duration:400,pseudoElement:l.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>a("button",{type:"button",class:"vp-color-mode-switch",id:"color-mode-switch",onClick:o},[a(Ee,{style:{display:t.value==="auto"?"block":"none"}}),a(Ne,{style:{display:t.value==="dark"?"block":"none"}}),a(ze,{style:{display:t.value==="light"?"block":"none"}})])}});const re=()=>{const e=R();return i(()=>e.value.outlookLocales)};var Ca=d({name:"ColorMode",setup(){const e=re(),{canToggle:l}=E();return()=>l.value?a("div",{class:"vp-color-mode"},[a("label",{class:"vp-color-mode-title",for:"color-mode-switch"},e.value.darkmode),a(se)]):null}});const ue="VUEPRESS_THEME_COLOR";var Pe=d({name:"ThemeColorPicker",props:{themeColors:{type:Object,required:!0}},setup(e){const{isDarkMode:l}=E(),t=i(()=>{const n={...e.themeColors};for(const[o,r]of Object.entries(n))o.includes("light")&&(l.value||(n[o.replace("light-","")]=r),delete n[o]),o.includes("dark")&&(l.value&&(n[o.replace("dark-","")]=r),delete n[o]);return Object.entries(n).map(([o,r])=>({name:o,color:r}))}),s=(n="")=>{const o=document.documentElement.classList,r=t.value.map(({name:u})=>u);if(!n){localStorage.removeItem(ue),o.remove(...r);return}o.remove(...r.filter(u=>u!==n)),o.add(n),localStorage.setItem(ue,n)};return L(()=>{const n=localStorage.getItem(ue);n&&s(n)}),()=>a("ul",{class:"vp-theme-color-picker",id:"theme-color-picker"},[a("li",a("span",{class:"theme-color",onClick:()=>{s()}})),t.value.map(({name:n,color:o})=>a("li",a("span",{style:{background:o},onClick:()=>{s(n)}})))])}});const z=ee.hasMultipleThemeColors==="true",$a=z?Qe(be(ee).filter(([e])=>e.startsWith("theme-"))):{};var Ta=d({name:"ThemeColor",setup(){const e=re();return()=>z?a("div",{class:"vp-theme-color"},[a("label",{class:"vp-theme-color-title",for:"theme-color-picker"},e.value.themeColor),a(Pe,{themeColors:$a})]):null}});const Be=()=>a(S,{name:"cancel-fullscreen"},()=>a("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));Be.displayName="CancelFullScreenIcon";const Ae=()=>a(S,{name:"enter-fullscreen"},()=>a("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));Ae.displayName="EnterFullScreenIcon";var ie=d({name:"ToggleFullScreenButton",setup(){const{isSupported:e,isFullscreen:l,toggle:t}=K();return()=>e.value?a("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:l.value,onClick:()=>t()},l.value?a(Be):a(Ae)):null}}),Ia=d({name:"ToggleFullScreenButton",setup(){const e=re(),{isSupported:l}=K();return()=>l.value?a("div",{class:"full-screen-wrapper"},[a("label",{class:"full-screen-title",for:"full-screen-switch"},e.value.fullscreen),a(ie)]):null}}),De=d({name:"AppearanceSettings",setup(){const e=q(),l=U(),t=i(()=>!l.value&&e.value.fullscreen);return()=>a(va,()=>[z?a(Ta):null,a(Ca),t.value?a(Ia):null])}}),Ea=d({name:"AppearanceButton",setup(){const e=q(),{canToggle:l}=E(),{isSupported:t}=K(),s=U(),n=g(!1),o=i(()=>!s.value&&e.value.fullscreen&&t),r=i(()=>z||l.value||o.value);return M(()=>{n.value=!1}),()=>r.value?a("div",{class:"vp-nav-item hide-in-mobile"},l.value&&!o.value&&!z?a(se):o.value&&!l.value&&!z?a(ie):a("button",{type:"button",class:["vp-appearance-button",{open:n.value}],tabindex:"-1","aria-hidden":!0},[a(Ie),a("div",{class:"vp-appearance-dropdown"},a(De))])):null}});const Ve=()=>a(S,{name:"i18n"},()=>[a("path",{d:"M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z"})]);Ve.displayName="I18nIcon";const f=({config:e,iconSizing:l="both"},{emit:t,slots:s})=>{const{icon:n}=e;return a(pa,{config:e,onFocusout:()=>{t("focusout")}},{...s,before:s.before??(n?()=>a(b("VPIcon"),{icon:n,sizing:l}):null)})};f.displayName="AutoLink";var Re=d({name:"NavbarDropdown",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:l}){const t=Le(e,"config"),s=i(()=>t.value.ariaLabel??t.value.text),n=g(!1),o=r=>{r.detail===0&&(n.value=!n.value)};return M(()=>{n.value=!1}),()=>a("div",{class:["vp-dropdown-wrapper",{open:n.value}]},[a("button",{type:"button",class:"vp-dropdown-title","aria-label":s.value,onClick:o},[l.title?.()??[a(b("VPIcon"),{icon:t.value.icon}),e.config.text],a("span",{class:"arrow"}),a("ul",{class:"vp-dropdown"},t.value.children.map((r,u)=>{const p=u===t.value.children.length-1;return a("li",{class:"vp-dropdown-item"},"children"in r?[a("h4",{class:"vp-dropdown-subtitle"},r.link?a(f,{config:r,onFocusout:()=>{r.children.length===0&&p&&(n.value=!1)}}):r.text),a("ul",{class:"vp-dropdown-subitems"},r.children.map((c,v)=>a("li",{class:"vp-dropdown-subitem"},a(f,{config:c,onFocusout:()=>{v===r.children.length-1&&p&&(n.value=!1)}}))))]:a(f,{config:r,onFocusout:()=>{p&&(n.value=!1)}}))}))])])}});const za=()=>{const{routeLocale:e,site:l,siteLocale:t,theme:s,themeLocale:n}=I(),o=ea(),r=T(),u=g(!1);return L(()=>{u.value=!0}),i(()=>{const p=ge(l.value.locales),c=be(s.value.extraLocales??{});if(p.length<2&&!c.length)return null;const{path:v,fullPath:h}=r,{navbarLocales:k}=n.value;return{text:"",ariaLabel:k.selectLangAriaLabel,children:[...p.map(y=>{const x=l.value.locales[y]??{},$=s.value.locales[y]??{},O=x.lang,W=$.navbarLocales.langName;let N;if(O===t.value.lang)N=h;else{const w=v.replace(e.value,y);N=o.value.some(Y=>Y===w)?u.value?h.replace(v,w):w:$.home??y}return{text:W,link:N}}),...c.map(([y,x])=>({text:y,link:x.replace(":route",(u.value?h:x).replace(e.value,""))}))]}})};var Na=d({name:"LanguageDropdown",setup(){const e=za();return()=>e.value?a("div",{class:"vp-nav-item"},a(Re,{config:e.value},{title:()=>a(Ve,{"aria-label":e.value?.ariaLabel,style:{width:"1rem",height:"1rem",verticalAlign:"middle"}})})):null}}),Pa=d({name:"NavScreenMenu",props:{config:{type:Object,required:!0}},setup(e){const l=Le(e,"config"),t=T(),s=i(()=>l.value.ariaLabel??l.value.text),n=g(!1),o=(r,u)=>u[u.length-1]===r;return M(()=>{n.value=!1}),V(()=>t.fullPath,()=>{n.value=!1}),()=>[a("button",{type:"button",class:["vp-nav-screen-menu-title",{active:n.value}],"aria-label":s.value,onClick:()=>{n.value=!n.value}},[a("span",{class:"text"},[a(b("VPIcon"),{icon:l.value.icon,sizing:"both"}),e.config.text]),a("span",{class:["arrow",n.value?"down":"end"]})]),a("ul",{class:["vp-nav-screen-menu",{hide:!n.value}]},l.value.children.map(r=>a("li",{class:"vp-nav-screen-menu-item"},"children"in r?[a("h4",{class:"vp-nav-screen-menu-subtitle"},r.link?a(f,{config:r,onFocusout:()=>{o(r,l.value.children)&&r.children.length===0&&(n.value=!1)}}):r.text),a("ul",{class:"vp-nav-screen-menu-subitems"},r.children.map(u=>a("li",{class:"vp-nav-screen-menu-subitem"},a(f,{config:u,onFocusout:()=>{o(u,r.children)&&o(r,l.value.children)&&(n.value=!1)}}))))]:a(f,{config:r,onFocusout:()=>{o(r,l.value.children)&&(n.value=!1)}}))))]}});const Oe=(e,l="")=>B(e)?te(C(l,e)):"children"in e?{...e,...e.link&&le(e.link)?{link:H(C(l,e.link)).path}:{},children:e.children.map(t=>Oe(t,C(l,e.prefix)))}:{...e,link:le(e.link)?H(C(l,e.link)).path:e.link},je=()=>{const e=R();return i(()=>(e.value.navbar||[]).map(l=>Oe(l)))};var Ba=d({name:"NavScreenLinks",setup(){const e=je();return()=>e.value.length?a("nav",{class:"nav-screen-links"},e.value.map(l=>a("div",{class:"navbar-links-item"},"children"in l?a(Pa,{config:l}):a(f,{config:l})))):null}});const{mobileBreakPoint:Aa,pcBreakPoint:Da}=ee,_e=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,G=()=>{const e=g(!1),l=g(!1),t=()=>{e.value=window.innerWidth<=(_e(Aa)??719),l.value=window.innerWidth>=(_e(Da)??1440)};return D("resize",t,!1),D("orientationchange",t,!1),L(()=>{t()}),{isMobile:e,isPC:l}};var Va=d({name:"NavScreen",props:{show:Boolean},slots:Object,setup(e,{slots:l}){const{isMobile:t}=G(),s=_(),n=ke(s);return M(()=>{n.value=!1}),V(t,o=>{!o&&e.show&&(n.value=!1)}),L(()=>{s.value=document.body}),Se(()=>{n.value=!1}),()=>a(F,{name:"fade-in-down",onEnter:()=>{n.value=!0},onAfterLeave:()=>{n.value=!1}},()=>e.show?a("div",{id:"nav-screen",class:"vp-nav-screen"},a("div",{class:"vp-nav-screen-container"},[l.navScreenTop?.(),a(Ba),a("div",{class:"vp-appearance-wrapper"},a(De)),l.navScreenBottom?.()])):null)}}),Ra=d({name:"NavbarBrand",setup(){const{routeLocale:e,siteLocale:l,themeLocale:t}=I(),s=i(()=>t.value.home??e.value),n=i(()=>l.value.title),o=i(()=>t.value.navbarTitle??n.value),r=i(()=>t.value.logo?xe(t.value.logo):null),u=i(()=>t.value.logoDark?xe(t.value.logoDark):null);return()=>a(da,{to:s.value,class:"vp-brand","aria-label":t.value.routerLocales.home},()=>[r.value?a("img",{class:["vp-nav-logo",{light:!!u.value}],src:r.value,alt:""}):null,u.value?a("img",{class:["vp-nav-logo dark"],src:u.value,alt:""}):null,o.value?a("span",{class:["vp-site-name",{"hide-in-pad":r.value&&(t.value.hideSiteNameOnMobile??!0)}]},o.value):null])}}),Oa=d({name:"NavbarLinks",setup(){const e=je();return()=>e.value.length?a("nav",{class:"vp-nav-links"},e.value.map(l=>a("div",{class:"vp-nav-item hide-in-mobile"},"children"in l?a(Re,{config:l}):a(f,{config:l,iconSizing:"height"})))):null}});const ja=()=>{const e=R(),l=i(()=>e.value.repo),t=i(()=>l.value?ga(l.value):null),s=i(()=>l.value?ba(l.value):null),n=i(()=>t.value?e.value.repoLabel??s.value??"Source":null);return i(()=>!t.value||!n.value||e.value.repoDisplay===!1?null:{type:s.value??"Source",label:n.value,link:t.value})};var _a=d({name:"RepoLink",setup(){const e=ja();return()=>e.value?a("div",{class:"vp-nav-item vp-action"},a("a",{class:"vp-action-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},a(ka,{type:e.value.type,style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const Fe=({active:e=!1},{emit:l})=>a("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>{l("toggle")}},a("span",[a("span",{class:"vp-top"}),a("span",{class:"vp-middle"}),a("span",{class:"vp-bottom"})]));Fe.displayName="ToggleNavbarButton";const ce=(e,{emit:l})=>a("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>{l("toggle")}},a("span",{class:"icon"}));ce.displayName="ToggleSidebarButton",ce.emits=["toggle"];var Fa=d({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:l,slots:t}){const s=R(),{isMobile:n}=G(),o=g(!1),r=i(()=>{const{navbarAutoHide:v="mobile"}=s.value;return v!=="none"&&(v==="always"||n.value)}),u=i(()=>s.value.navbarLayout??{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),p={Brand:Ra,Language:__VP_I18N__?Na:Q,Links:Oa,Repo:_a,Outlook:Ea,Search:A("SearchBox")?b("SearchBox"):Q},c=v=>p[v]??(A(v)?b(v):Q);return M(()=>{o.value=!1}),V(n,v=>{v||(o.value=!1)}),()=>[a("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":r.value}],"vp-navbar":""},[a("div",{class:"vp-navbar-start"},[a(ce,{onToggle:()=>{o.value&&(o.value=!1),l("toggleSidebar")}}),u.value.start?.map(v=>a(c(v)))]),a("div",{class:"vp-navbar-center"},[u.value.center?.map(v=>a(c(v)))]),a("div",{class:"vp-navbar-end"},[u.value.end?.map(v=>a(c(v))),a(Fe,{active:o.value,onToggle:()=>{o.value=!o.value}})])]),a(Va,{show:o.value},t)]}});const ve=(e,l)=>l.activeMatch?new RegExp(l.activeMatch,"u").test(e.path):Me(e,l.link);var Ha=d({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const l=T();return()=>B(e.config.link)?a(f,{class:["vp-sidebar-link",{active:ve(l,e.config)}],config:{...e.config,exact:!0}}):a("p",e,[a(b("VPIcon"),{icon:e.config.icon,sizing:"both"}),e.config.text])}});const pe=(e,l)=>"children"in l?!!l.prefix&&Me(e,l.prefix)||l.children.some(t=>pe(e,t)):ve(e,l);var qa=d({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:l}){const t=T(),s=g(!1),n=i(()=>pe(t,e.config)),o=i(()=>ve(t,e.config)),r=i(()=>e.open||e.config.expanded&&!s.value);return()=>{const{collapsible:u,children:p=[],icon:c,prefix:v,link:h,text:k}=e.config;return a("section",{class:"vp-sidebar-group"},[a(u?"button":"p",{class:["vp-sidebar-header",{clickable:u||h,exact:o.value,active:n.value}],...u?{type:"button",onClick:()=>{s.value=!0,l("toggle")}}:{}},[a(b("VPIcon"),{icon:c,sizing:"both"}),h?a(f,{class:"vp-sidebar-title no-external-link-icon",config:{text:k,link:h}}):a("span",{class:"vp-sidebar-title"},k),u?a("span",{class:["vp-arrow",r.value?"down":"end"]}):null]),r.value||!u?a(He,{key:v,config:p}):null])}}}),He=d({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const l=T(),t=ma(),s=g(-1),n=o=>{s.value=o===s.value?-1:o};return j(t,()=>{const o=e.config.findIndex(r=>pe(l,r));s.value=o},{flush:"post"}),()=>a("ul",{class:"vp-sidebar-links"},e.config.map((o,r)=>a("li","children"in o?a(qa,{config:o,open:r===s.value,onToggle:()=>{n(r)}}):a(Ha,{config:o}))))}}),Ua=d({name:"SideBar",slots:Object,setup(e,{slots:l}){const t=T(),s=oe(),n=_();return L(()=>{j(()=>t.hash,o=>{const r=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${t.path}${o}"]`);if(!r)return;const{top:u,height:p}=n.value.getBoundingClientRect(),{top:c,height:v}=r.getBoundingClientRect();c<u?r.scrollIntoView(!0):c+v>u+p&&r.scrollIntoView(!1)})}),()=>a("aside",{ref:n,key:"sidebar",id:"sidebar",class:"vp-sidebar","vp-sidebar":""},[l.sidebarTop?.(),l.sidebarItems?.(s.value)??a(He,{config:s.value}),l.sidebarBottom?.()])}}),Ga=d({name:"MainLayout",props:{containerClass:String,noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:l}){const{frontmatter:t,theme:s,themeLocale:n}=I(),{isMobile:o,isPC:r}=G(),u=U(),[p,c]=ye(!1),[v,h]=ye(!1),k=oe(),y=_(),x=ke(y),$=g(!1),O=i(()=>e.noNavbar||t.value.navbar===!1||n.value.navbar===!1?!1:!!(n.value.logo??n.value.repo??n.value.navbar)),W=i(()=>t.value.externalLinkIcon??s.value.externalLinkIcon??!0),N=i(()=>!e.noToc&&!t.value.home&&!!(t.value.toc??n.value.toc??!0)),w={x:0,y:0},Y=m=>{w.x=m.changedTouches[0].clientX,w.y=m.changedTouches[0].clientY},Ge=m=>{const P=m.changedTouches[0].clientX-w.x,J=m.changedTouches[0].clientY-w.y;Math.abs(P)>Math.abs(J)*1.5&&Math.abs(P)>40&&(P>0&&w.x<=80?c(!0):c(!1))};let X=0;return D("scroll",oa(()=>{const m=window.scrollY;m<=58||m<X?$.value=!1:X+200<m&&!p.value&&($.value=!0),X=m},300,!0)),V(o,m=>{m||c(!1)}),V(p,m=>{x.value=m}),M(()=>{c(!1)}),L(()=>{y.value=document.body}),Se(()=>{x.value=!1}),()=>{const m=l.sidebarTop?.(),P=l.sidebarItems?.(k.value),J=l.sidebarBottom?.(),We=Z(m)&&Z(P)&&Z(J),me=e.noSidebar||t.value.sidebar===!1||(t.value.home||k.value.length===0)&&We;return a(A("GlobalEncrypt")?b("GlobalEncrypt"):aa,()=>a("div",{class:["theme-container",{"hide-navbar":$.value,"no-navbar":!O.value,"sidebar-collapsed":!o.value&&!r.value&&v.value,"sidebar-open":o.value&&p.value,"no-sidebar":me,"external-link-icon":W.value,pure:u.value,"has-toc":N.value},e.containerClass??"",t.value.containerClass??""],"vp-container":"",onTouchStart:Y,onTouchEnd:Ge},[O.value?a(Fa,{onToggleSidebar:()=>c()},l):null,a(F,{name:"fade-in"},()=>p.value?a("div",{class:"vp-sidebar-mask",onClick:()=>c(!1)}):null),a(F,{name:"fade-in"},()=>o.value?null:a("div",{class:"toggle-sidebar-wrapper",onClick:()=>h()},a("span",{class:["arrow",v.value?"end":"start"]}))),me?null:a(Ua,null,l),l.default(),a(Ma)]))}}});const qe=()=>{const{frontmatter:e,themeLocale:l}=I(),t=i(()=>e.value.changelog??((l.value.changelog??!1)&&!e.value.home)),s=i(()=>{const{contributors:o,home:r}=e.value;return fe(o)?r?!1:l.value.contributors??!0:o??(r?!1:l.value.contributors??!0)}),n=i(()=>e.value.lastUpdated??l.value.lastUpdated??!0);return{changelog:t,contributors:s,lastUpdated:n}};var Wa=d({name:"MarkdownContent",props:{custom:Boolean},slots:Object,setup(e,{slots:l}){const t=q(),{changelog:s,contributors:n}=qe(),o=g(),r=sa(o,{delayEnter:la(t.value.focus)?t.value.focus:1500,delayLeave:0}),u=i(()=>!!(t.value.focus??t.value.pure)&&r.value);return L(()=>{const p=document.documentElement;j(u,c=>{c?p.classList.add("is-focusing"):p.classList.remove("is-focusing")})}),()=>a("div",{class:{custom:e.custom},"vp-content":""},[l.contentBefore?.(),a(ha,{ref:o,id:"markdown-content"}),l.contentAfter?.(),s.value&&A("GitChangelog")?a(b("GitChangelog")):null,n.value==="content"&&A("GitContributors")?a(b("GitContributors")):null])}}),Ya=d({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const l=R(),t=_(),s=({target:n})=>{const o=document.querySelector(n.hash);if(o){const r=()=>{o.removeAttribute("tabindex"),o.removeEventListener("blur",r)};o.setAttribute("tabindex","-1"),o.addEventListener("blur",r),o.focus(),window.scrollTo(0,0)}};return M(()=>{t.value?.focus()}),()=>[a("span",{ref:t,tabindex:"-1"}),a("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:s},l.value.routerLocales.skipToContent)]}});const de=()=>a(S,{name:"slide-down"},()=>a("path",{d:"M108.775 312.23c13.553 0 27.106 3.734 39.153 11.806l375.205 250.338 363.641-252.808c32.587-21.624 76.499-12.83 98.123 19.757 21.685 32.467 12.95 76.56-19.576 98.184l-402.854 278.89c-23.733 15.901-54.694 15.962-78.547.12L69.501 442.097c-32.647-21.685-41.441-65.777-19.817-98.304 13.734-20.54 36.201-31.563 59.09-31.563Z"}));de.displayName="SlideDownIcon";const Ue=(e,{emit:l})=>a("button",{type:"button",class:"vp-hero-slide-down-button",onClick:()=>l("click")},[a(de),a(de)]);Ue.displayName="HeroSlideDownButton";var Xa=d({name:"DropTransition",props:{delay:{type:Number,default:0},duration:{type:Number,default:.25},group:Boolean,appear:Boolean},slots:Object,setup(e,{slots:l}){const t=n=>{n.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,n.style.transform="translateY(-20px)",n.style.opacity="0"},s=n=>{n.style.transform="translateY(0)",n.style.opacity="1"};return()=>{const n={name:"drop",appear:e.appear,onAppear:t,onAfterAppear:s,onEnter:t,onAfterEnter:s,onBeforeLeave:t};return e.group?a(ca,n,l.default):a(F,n,l.default)}}});export{xa as a,ie as b,f as c,Wa as d,Ya as e,qe as f,G as g,se as h,ya as i,oe as j,te as k,Ga as m,Pe as p,Xa as r,wa as s,Ue as t,E as u}; //# sourceMappingURL=DropTransition-CVQMFowA.js.map