@deot/docs-client 1.1.10 → 1.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 (87) hide show
  1. package/README.md +6 -4
  2. package/dist/{chunks/chunk-rhk8Qtmk-CUgXtmq_.js → bundle/chunk-rhk8Qtmk-CbLEbM7n.js} +0 -1
  3. package/dist/{chunks/compile-no-AB7-B-CQpy3ePZ.js → bundle/compile-D33div4Y-CVbeyITp.js} +21848 -21852
  4. package/dist/{chunks/compiler-sfc.esm-browser-5dA1IWMJ.js → bundle/compiler-sfc.esm-browser-DmhYZRPB.js} +1374 -1378
  5. package/dist/bundle/css-sV_dM9Hl-BpgypWsW.js +18927 -0
  6. package/dist/{chunks/echarts-BBzcOaek.js → bundle/echarts-BWkcVFuU.js} +1 -2
  7. package/dist/bundle/index.js +103578 -0
  8. package/dist/{eval → bundle}/index.style.css +1 -1
  9. package/dist/{chunks/jsx-CwMPlI4_-CBhlIHLh.js → bundle/jsx-CwMPlI4_-D02C9U5w.js} +9057 -9061
  10. package/dist/{chunks/photoswipe.esm-D52MAtDT.js → bundle/photoswipe.esm-CvVKUjTj.js} +114 -116
  11. package/dist/{chunks/rolldown-runtime-Ce3zPWPd.js → bundle/rolldown-runtime-DArdT4gl.js} +0 -1
  12. package/dist/index.d.ts +0 -1
  13. package/dist/index.js +6839 -103273
  14. package/dist/index.style.css +1 -1
  15. package/package.json +10 -9
  16. package/dist/chunks/browser-Cmwcvs-d.js +0 -505
  17. package/dist/chunks/css-D47JLekg-B8Z2QI1W.js +0 -15160
  18. package/dist/chunks/dayjs.min-B3g34Qcz.js +0 -300
  19. package/dist/chunks/dist-0ySyXNpo.js +0 -415
  20. package/dist/chunks/dist-B44jICwZ.js +0 -22
  21. package/dist/chunks/dist-BUw25nXJ.js +0 -65
  22. package/dist/chunks/dist-BeOE8qTX.js +0 -345
  23. package/dist/chunks/dist-C3V7reR4.js +0 -197
  24. package/dist/chunks/dist-CI9Lp9Cj.js +0 -247
  25. package/dist/chunks/dist-CQir6D4y.js +0 -244
  26. package/dist/chunks/dist-Cxf7_ocf.js +0 -44
  27. package/dist/chunks/dist-DF4kisl2.js +0 -43
  28. package/dist/chunks/dist-DHJhaOSs.js +0 -426
  29. package/dist/chunks/dist-DLj8yJdm.js +0 -38
  30. package/dist/chunks/dist-DSypl37f.js +0 -58
  31. package/dist/chunks/dist-DWn6r6un.js +0 -76
  32. package/dist/chunks/dist-DWqBe2Ah.js +0 -132
  33. package/dist/chunks/dist-D_Uqh6m9.js +0 -80
  34. package/dist/chunks/dist-DcIU51zW.js +0 -166
  35. package/dist/chunks/dist-Wm6vE6kM.js +0 -17
  36. package/dist/chunks/dist-kiZUqqzR.js +0 -27
  37. package/dist/chunks/dist-oZ12SGqg.js +0 -6
  38. package/dist/chunks/dist-va7FmnW4.js +0 -156
  39. package/dist/chunks/html2canvas-DoKTvaOT.js +0 -4012
  40. package/dist/chunks/index.es-wVPQxEPP.js +0 -5752
  41. package/dist/chunks/jspdf.es.min-Zm27YeAg.js +0 -17900
  42. package/dist/chunks/jszip.min-Da8UgalE.js +0 -3044
  43. package/dist/chunks/lodash-CYyW02I7.js +0 -5157
  44. package/dist/chunks/purify.es-DhHsvqCe.js +0 -845
  45. package/dist/chunks/vue-router-LT2FR3OX.js +0 -1208
  46. package/dist/chunks/vue.runtime.esm-bundler-Bk0CnRBe.js +0 -4851
  47. package/dist/eval/chunks/browser-Cmwcvs-d.js +0 -4
  48. package/dist/eval/chunks/chunk-rhk8Qtmk-CUgXtmq_.js +0 -4
  49. package/dist/eval/chunks/compile-no-AB7-B-CQpy3ePZ.js +0 -7
  50. package/dist/eval/chunks/compiler-sfc.esm-browser-5dA1IWMJ.js +0 -4
  51. package/dist/eval/chunks/css-D47JLekg-B8Z2QI1W.js +0 -8
  52. package/dist/eval/chunks/dayjs.min-B3g34Qcz.js +0 -4
  53. package/dist/eval/chunks/dist-0ySyXNpo.js +0 -4
  54. package/dist/eval/chunks/dist-B44jICwZ.js +0 -5
  55. package/dist/eval/chunks/dist-BUw25nXJ.js +0 -6
  56. package/dist/eval/chunks/dist-BeOE8qTX.js +0 -4
  57. package/dist/eval/chunks/dist-C3V7reR4.js +0 -4
  58. package/dist/eval/chunks/dist-CI9Lp9Cj.js +0 -4
  59. package/dist/eval/chunks/dist-CQir6D4y.js +0 -5
  60. package/dist/eval/chunks/dist-Cxf7_ocf.js +0 -4
  61. package/dist/eval/chunks/dist-DF4kisl2.js +0 -5
  62. package/dist/eval/chunks/dist-DHJhaOSs.js +0 -5
  63. package/dist/eval/chunks/dist-DLj8yJdm.js +0 -4
  64. package/dist/eval/chunks/dist-DSypl37f.js +0 -5
  65. package/dist/eval/chunks/dist-DWn6r6un.js +0 -4
  66. package/dist/eval/chunks/dist-DWqBe2Ah.js +0 -6
  67. package/dist/eval/chunks/dist-D_Uqh6m9.js +0 -4
  68. package/dist/eval/chunks/dist-DcIU51zW.js +0 -4
  69. package/dist/eval/chunks/dist-Wm6vE6kM.js +0 -1
  70. package/dist/eval/chunks/dist-kiZUqqzR.js +0 -4
  71. package/dist/eval/chunks/dist-oZ12SGqg.js +0 -4
  72. package/dist/eval/chunks/dist-va7FmnW4.js +0 -4
  73. package/dist/eval/chunks/echarts-BBzcOaek.js +0 -4
  74. package/dist/eval/chunks/eval-runtime-e7f6eb9af5d4.js +0 -1
  75. package/dist/eval/chunks/html2canvas-DoKTvaOT.js +0 -4
  76. package/dist/eval/chunks/index.es-wVPQxEPP.js +0 -5
  77. package/dist/eval/chunks/jspdf.es.min-Zm27YeAg.js +0 -78
  78. package/dist/eval/chunks/jsx-CwMPlI4_-CBhlIHLh.js +0 -4
  79. package/dist/eval/chunks/jszip.min-Da8UgalE.js +0 -4
  80. package/dist/eval/chunks/lodash-CYyW02I7.js +0 -4
  81. package/dist/eval/chunks/photoswipe.esm-D52MAtDT.js +0 -4
  82. package/dist/eval/chunks/purify.es-DhHsvqCe.js +0 -4
  83. package/dist/eval/chunks/rolldown-runtime-Ce3zPWPd.js +0 -4
  84. package/dist/eval/chunks/vue-router-LT2FR3OX.js +0 -5
  85. package/dist/eval/chunks/vue.runtime.esm-bundler-Bk0CnRBe.js +0 -4
  86. package/dist/eval/index.js +0 -24
  87. package/dist/index.cjs +0 -23
package/dist/index.cjs DELETED
@@ -1,23 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("vue"),t=require("@deot/docs-locale"),n=require("@deot/vc"),r=require("vue-router"),i=require("@deot/docs-markdown"),a=require("@deot/helper-cache"),o=require("@deot/docs-theme"),s=require("@deot/docs-playground"),c=require("@deot/helper-fp"),l=require("@deot/http"),u=require("@deot/docs-renderer"),d=require("es-module-lexer"),f=require("@deot/helper-unicode"),p=require("@deot/helper-dom"),m=require("codemirror"),h=require("@codemirror/state"),g=require("@codemirror/lang-json"),_=require("@codemirror/lang-markdown");var v=Object.freeze({mode:`production`}),y=(e=window,t=e.$docs||{locales:{},routes:{}})=>{let n=e.__DOCS_RUNTIME__||v,r=Object.freeze(t.runtime?.cdn?{...n,cdn:t.runtime.cdn}:n);return t.runtime=r,e.$docs=t,r},b=()=>window.$docs,x=()=>b().runtime||v,S=e=>/^[a-z][a-z\d+.-]*:/i.test(e)||e.startsWith(`//`),C=(e,t)=>!e.defaultPrevented&&e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!t.hasAttribute(`download`)&&(!t.target||t.target.toLowerCase()===`_self`),w=e=>e.replace(/^\/+|\/+$/g,``),T=/* @__PURE__ */ new WeakMap,E=/* @__PURE__ */ new WeakMap,D=(e=`/site/`)=>{let t=w(e);return t?`/${t}/`:`/`},O=e=>{let t=`http://localhost/`;if(typeof document<`u`&&document.querySelector(`base[href]`))return document.baseURI||t;if(typeof location<`u`){let t=location.pathname.split(`/`).filter(Boolean),n=Object.keys(e.locales),r=n.length?n:[`zh-CN`],i=/^__docs\/(?:preview|raw-editor|markdown-editor)$/.test(t.slice(-2).join(`/`))?t.length-2:t.findIndex(e=>r.includes(e));if(i>=0){let e=t.slice(0,i);return new URL(`/${e.join(`/`)}${e.length?`/`:``}`,location.origin).href}return new URL(`./`,location.href).href}return t},k=e=>{let t=E.get(e);if(t)return t;let n=O(e);return E.set(e,n),n},A=e=>{let t=T.get(e);if(t)return t;let n=k(e),r=new URL(e.base||n,n);return r.search=``,r.hash=``,r.pathname.endsWith(`/`)||(r.pathname+=`/`),T.set(e,r.href),r.href},j=e=>{let t=w(e.replace(/^\.\//,``)),n;try{n=decodeURIComponent(t)}catch{throw TypeError(`Invalid resource source: ${e}`)}if(n.includes(`\0`)||n.includes(`\\`)||n.startsWith(`/`)||n.split(`/`).includes(`..`))throw TypeError(`Resource source escapes its language directory: ${e}`);return t},M=e=>{let t=w(e),n;try{n=decodeURIComponent(t)}catch{throw TypeError(`Invalid resource language: ${e}`)}if(!n||n===`.`||n===`..`||n.includes(`\0`)||n.includes(`/`)||n.includes(`\\`))throw TypeError(`Invalid resource language: ${e}`);return t},N=(e,t,n)=>{if(e.includes(`\0`)||e.includes(`\\`))throw TypeError(`Invalid resource source: ${e}`);let r=M(n),i=j(t),a=new URL(`https://docs.local/${r}/`),o=new URL(e,new URL(i,a)),s=`/${r}/`;if(!o.pathname.startsWith(s))throw TypeError(`Resource source escapes its language directory: ${e}`);return{language:r,pathname:o.pathname.slice(s.length),search:o.search,hash:o.hash}},P=e=>Object.keys(e.locales)[0]||`zh-CN`,F=e=>e.namespace?e.namespace:A(e),I=async(e,t)=>{let n=e.runtime||{mode:`production`},r={...t,base:e.base,runtime:n};if(e.resolve?.resource){let t=await e.resolve.resource(r);if(t)return t}let{source:i,lang:a,importer:o}=t;if(S(i)||i.startsWith(`/`))return i;if(o&&(S(o)||o.startsWith(`/`))){if(S(o))return new URL(i,o).href;let t=new URL(i,new URL(o,k(e)));return`${t.pathname}${t.search}${t.hash}`}if(o){let t=N(i,o,a),r=`${t.pathname}${t.search}${t.hash}`;return n.mode===`development`?`${D(n.workspace)}${t.language}/${r}`:new URL(`${t.language}/${r}`,A(e)).href}let s=j(i),c=M(a);return n.mode===`development`?`${D(n.workspace)}${c}/${s}`:new URL(`${c}/${s}`,A(e)).href},L=e=>/\.page\.json(?:$|[?#])/i.test(e)?`page`:/\.json(?:$|[?#])/i.test(e)?`sidebar`:/\.vue(?:$|[?#])/i.test(e)?`sfc`:/\.css(?:$|[?#])/i.test(e)?`style`:/\.[jt]s(?:$|[?#])/i.test(e)?`module`:`markdown`,R=(e,t,n,r)=>({namespace:F(e),lang:t,type:n,source:r}),z=e=>[e.namespace,e.lang,e.type,e.source].map(encodeURIComponent).join(`|`),ee=e=>e.startsWith(`/`)?e:`/${e}`,B=e=>`/${e.split(`/`).filter(Boolean).join(`/`)}`,V=(e,t)=>{let n=ee(t);return`/${e}${n===`/`?``:n}`},H=(e,t,n)=>{let r=n.split(/[?#]/u,1)[0].split(`/`).filter(Boolean)[0],i=Object.keys(e.locales),a=!!(r&&(Object.prototype.hasOwnProperty.call(e.locales,r)||!i.length&&r===t));return S(n)||a?n:V(t,n)},te=(e,t)=>{if(typeof t.value==`function`)return t.value(e);if(typeof t.value==`string`)return t.value;let n=Object.entries(e.params).filter(([e])=>e!==`lang`).flatMap(([,e])=>e).filter(Boolean),r=e.path.split(`/`).filter(Boolean);return r[0]===String(e.params.lang||``)&&r.shift(),String(n.at(-1)||r.at(-1)||`index`)},U=(e,t)=>{let n=t.replace(/_/g,`-`).toLowerCase(),r=Object.keys(e).find(e=>e.replace(/_/g,`-`).toLowerCase()===n);return r?e[r]:void 0},ne=(e,t,n)=>Array.isArray(e)?e:!e||typeof e!=`object`?null:U(e,t)||U(e,P(n))||null,re=e=>/^[a-z][a-z\d+.-]*:/i.test(e)||e.startsWith(`//`),W=(e,t,n)=>{if(re(n))return!1;let r=V(t,n);return e===r||e.startsWith(`${r}/`)},ie=(e,t,n)=>{for(let r of e){if(r.children?.length){let e=ie(r.children,t,n);if(e.length)return[r,...e]}if(r.value&&W(t,n,r.value))return[r]}return[]},ae=(e,t,n)=>{let r=ie(e,t,n);if(!(r.length<2))return[...r.slice(0,-1)].reverse().find(e=>!e.value)||r[0]},oe=e=>{let t=[],n=e=>{for(let r of e)r.value&&!re(r.value)&&t.push(r),r.children?.length&&n(r.children)};return n(e),t},se=(e,t,n)=>{let r=oe(e),i=r.findIndex(e=>!!e.value&&V(n,e.value)===t);return i<0?{}:{previous:i>0?r[i-1]:void 0,next:i<r.length-1?r[i+1]:void 0}},ce=[`regular`,`wide`,`full`],le=`wide`,ue=`contentWidth`,de=e=>e===`regular`||e===`wide`||e===`full`,fe=class{settings;currentValue=(0,e.ref)(le);namespace=``;session=0;preferenceVersion=0;active=!1;current=(0,e.readonly)(this.currentValue);constructor(e){this.settings=e}start(e){let t=++this.session,n=++this.preferenceVersion;return this.active=!0,this.namespace=F(e),this.currentValue.value=le,this.restore(t,n,this.namespace),()=>this.stop(t)}stop(e){e===this.session&&(this.session++,this.active=!1)}async restore(e,t,n){let r;try{r=await this.settings.get(n,ue)}catch{}de(r)&&e===this.session&&t===this.preferenceVersion&&(this.currentValue.value=r)}async set(e){if(de(e)&&e!==this.currentValue.value&&(this.preferenceVersion++,this.currentValue.value=e,this.active))try{await this.settings.set(this.namespace,ue,e)}catch{}}},pe=`language`,me=(e,t)=>typeof t==`string`&&Object.prototype.hasOwnProperty.call(e.locales,t),he=class{settings;constructor(e){this.settings=e}async restore(e){try{let t=await this.settings.get(F(e),pe);return me(e,t)?t:void 0}catch{return}}async persist(e,t){if(me(e,t))try{await this.settings.set(F(e),pe,t)}catch{}}},ge=class{settings;currentValue=(0,e.ref)(`light`);enabledValue=(0,e.ref)(!0);readyValue=(0,e.ref)(!1);active=!1;namespace=``;media;session=0;preferenceVersion=0;followingSystem=!1;target;appliedTarget;appliedTheme;operation;queued;requested;current=(0,e.readonly)(this.currentValue);enabled=(0,e.readonly)(this.enabledValue);ready=(0,e.readonly)(this.readyValue);constructor(e){this.settings=e}normalizeDefault(e){if(!e.theme||e.theme===!0)return`system`;let t=e.theme.default;return(0,o.isDocsTheme)(t)||t===`system`?t:`system`}getSystemTheme(){return this.target?.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}resolveInitialTheme(e){let t=this.target?.document,n=t?.body,r=t?.documentElement,i=[n?.getAttribute(`data-doc-theme`),n?.getAttribute(`data-vc-theme`),r?.getAttribute(`data-doc-theme`),r?.getAttribute(`data-vc-theme`)].find(o.isDocsTheme),a=this.appliedTarget===this.target&&i===this.appliedTheme;if(i&&!a)return{followingSystem:!1,theme:i};let s=this.normalizeDefault(e);return s===`system`?{followingSystem:!0,theme:this.getSystemTheme()}:{followingSystem:!1,theme:s}}apply(e){this.currentValue.value=e,this.appliedTarget=this.target,this.appliedTheme=e;let t=this.target?.document,n=t?.body,r=t?.documentElement;n&&r&&(n.setAttribute(`data-doc-theme`,e),n.setAttribute(`data-vc-theme`,e),r.setAttribute(`data-doc-theme`,e),r.setAttribute(`data-vc-theme`,e),r.style.colorScheme=e)}detachSystemListener(){this.media&&=(this.media.removeEventListener(`change`,this.handleSystemChange),void 0)}attachSystemListener(){this.detachSystemListener(),this.target?.matchMedia&&this.followingSystem&&(this.media=this.target.matchMedia(`(prefers-color-scheme: dark)`),this.media.addEventListener(`change`,this.handleSystemChange))}handleSystemChange=e=>{if(!this.followingSystem)return;let t=e.matches?`dark`:`light`;this.requested=t,this.apply(t)};shouldAnimate(){return!(!this.target?.document?.startViewTransition||this.target?.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches)}resolveTransitionPoint(e){let t=this.target?.document,n=[e,...Array.from(t?.querySelectorAll(`.theme-toggler`)||[])].filter((e,t,n)=>!!(e&&typeof e.getBoundingClientRect==`function`&&n.indexOf(e)===t));for(let e of n){let t=e.getBoundingClientRect();if(t.width>0&&t.height>0)return{x:t.left+t.width/2,y:t.top+t.height/2}}return null}async applyWithTransition(e,t,n){let r=this.target?.document,i=this.resolveTransitionPoint(t);if(!r||!this.shouldAnimate()||!i){n===this.session&&this.apply(e);return}let{x:a,y:o}=i,s=Math.hypot(Math.max(a,this.target.innerWidth-a),Math.max(o,this.target.innerHeight-o)),c=100*a/this.target.innerWidth,l=100*o/this.target.innerHeight,u=Math.hypot(this.target.innerWidth,this.target.innerHeight)/Math.SQRT2,d=100*s/u,f=r.startViewTransition(async()=>{n===this.session&&this.apply(e)});try{await f.ready;let e=[`circle(0% at ${c}% ${l}%)`,`circle(${d}% at ${c}% ${l}%)`];r.documentElement.animate({clipPath:e},{duration:400,easing:`ease-in`,fill:`both`,pseudoElement:`::view-transition-new(root)`}),await f.finished}catch{}}async restore(e,t,n){let r;try{r=await this.settings.get(n,`theme`)}catch{}(0,o.isDocsTheme)(r)&&e===this.session&&t===this.preferenceVersion&&(this.followingSystem=!1,this.detachSystemListener(),this.requested=r,this.apply(r)),e===this.session&&(this.readyValue.value=!0)}start(e,t=window){let n=++this.session,r=++this.preferenceVersion;if(this.target=t,this.active=!0,this.queued=void 0,this.requested=void 0,this.readyValue.value=!1,this.enabledValue.value=e.theme!==!1,this.detachSystemListener(),!this.enabledValue.value)return this.readyValue.value=!0,()=>this.stop(n);this.namespace=F(e);let i=this.resolveInitialTheme(e);return this.followingSystem=i.followingSystem,this.apply(i.theme),this.attachSystemListener(),this.requested=i.theme,this.restore(n,r,this.namespace),()=>this.stop(n)}stop(e){e===this.session&&(this.session++,this.active=!1,this.enabledValue.value=!1,this.readyValue.value=!1,this.queued=void 0,this.requested=void 0,this.detachSystemListener())}async flush(e){for(;this.queued?.session===e;){let t=this.queued;if(this.queued=void 0,t.theme!==this.currentValue.value&&await this.applyWithTransition(t.theme,t.origin,e),e!==this.session)return;try{await this.settings.set(t.namespace,`theme`,t.theme)}catch{}}e===this.session&&(this.requested=this.currentValue.value)}async ensureFlush(e){for(;this.queued?.session===e;){if(this.operation){await this.operation;continue}let t=this.flush(e);this.operation=t;try{await t}finally{this.operation===t&&(this.operation=void 0)}}}async set(e,t){if(!this.active||!this.enabledValue.value||!(0,o.isDocsTheme)(e))return;let n=this.session;e!==(this.requested||this.currentValue.value)&&(this.preferenceVersion++,this.followingSystem=!1,this.detachSystemListener(),this.requested=e,this.queued={theme:e,origin:t,namespace:this.namespace,session:n},await this.ensureFlush(n))}toggle(e){return this.set((this.requested||this.currentValue.value)===`dark`?`light`:`dark`,e)}},_e=new class{store=new a.IndexedDBStore({name:`deot-docs-settings`,storeName:`settings`,keyPath:`__id`,version:1});language=new he(this);theme=new ge(this);contentWidth=new fe(this);createId(e,t){return[e,t].map(encodeURIComponent).join(`|`)}isRecord(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.namespace==`string`&&typeof t.key==`string`&&typeof t.updatedAt==`number`&&Object.prototype.hasOwnProperty.call(t,`value`)}async get(e,t){let n=await this.store.get(this.createId(e,t));return this.isRecord(n)?n.value:null}async set(e,t,n){let r=this.createId(e,t);await this.store.set(r,{id:r,key:t,namespace:e,updatedAt:Date.now(),value:n})}async remove(e,t){await this.store.remove(this.createId(e,t))}},ve=_e.theme,ye=_e.theme,be=_e.contentWidth,xe=_e.contentWidth,Se=(0,e.ref)(null),Ce=Se,we=e=>{Se.value=e},Te=[`data-content-width`],Ee={key:0,class:`docs-footer__inner`},De={class:`docs-footer__content`},Oe={class:`docs-footer__title`},ke={key:0,class:`docs-footer__links`},Ae=[`href`],je={key:2},Me={class:`docs-footer__bar`},Ne={class:`docs-footer__bar-inner`},Pe=[`href`],Fe=[`src`],Ie=[`src`],Le={key:2,class:`docs-footer__powered-by`},Re=/* @__PURE__ */ (0,e.defineComponent)({__name:`default-footer`,setup(n){let{lang:i,t:a}=(0,t.useLocale)(),o=(0,r.useRoute)(),s=b(),c=s.layout?.footer,l=s.layout?.header?.brand,u=(0,e.computed)(()=>Ce.value?.length?be.current.value:`wide`),d=(e=>{if(e)try{let t=new URL(e);if(![`http:`,`https:`].includes(t.protocol)||t.hostname.toLowerCase()!==`github.com`)return;let[n,r,...i]=t.pathname.split(`/`).filter(Boolean),a=r?.replace(/\.git$/i,``);return!n||!a||i.length?void 0:`${t.origin}/${n}/${a}`}catch{return}})(s.repository),f=()=>{let e=[{label:a(`client.footer.resources`),children:[{label:a(`client.footer.vueComponents`),value:`https://deot.github.io/vc/`},{label:a(`client.footer.http`),value:`https://deot.github.io/http/`},{label:a(`client.footer.style`),value:`https://deot.github.io/style/`},{label:a(`client.footer.helper`),value:`https://deot.github.io/helper/`},{label:a(`client.footer.env`),value:`https://deot.github.io/env/`},{label:a(`client.footer.uni`),value:`https://deot.github.io/uni/`}]},{label:a(`client.footer.community`),children:[{label:a(`client.footer.github`),value:`https://github.com`}]}];return d&&e.push({label:a(`client.footer.feedback`),children:[{label:a(`client.footer.reportIssue`),value:`${d}/issues`},{label:a(`client.footer.requestFeature`),value:`${d}/issues/new`},{label:a(`client.footer.changelog`),value:`${d}/releases`}]}),e.push({label:a(`client.footer.more`),children:[{label:a(`client.footer.moreResources`),value:`https://github.com/deot`}]}),e},p=(0,e.computed)(()=>c&&c!=="default"?c:void 0);function m(e){return!e||typeof e!=`object`||Array.isArray(e)?e:U(e,i.value)??U(e,P(s))}let h=(0,e.computed)(()=>p.value?m(p.value.nav)||[]:f()),g=(0,e.computed)(()=>{let e=p.value?m(p.value.poweredBy):`default`;return e==="default"?a(`client.common.poweredBy`):e||``}),_=(0,e.computed)(()=>m(l?.logo)||``),v=(0,e.computed)(()=>m(l?.label)||s.namespace||a(`client.header.brand`)),y=(0,e.computed)(()=>m(l?.value)||`/${i.value}`),x=(0,e.computed)(()=>S(y.value)),C=(0,e.computed)(()=>H(s,i.value,y.value)),w=e=>/^[a-z][a-z\d+.-]*:/i.test(e)||e.startsWith(`//`),T=e=>`/${String(o.params.lang||``)}/${e.replace(/^\/+/,``)}`;return(t,n)=>(0,e.unref)(c)===!1?(0,e.createCommentVNode)(`v-if`,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`footer`,{key:0,class:`docs-footer`,"data-content-width":u.value},[h.value.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ee,[(0,e.createElementVNode)(`div`,De,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(h.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,{key:t.label,class:`docs-footer__group`},[(0,e.createElementVNode)(`h2`,Oe,(0,e.toDisplayString)(t.label),1),t.children?.length?((0,e.openBlock)(),(0,e.createElementBlock)(`ul`,ke,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.children,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:`${t.label}:${t.value||``}`},[t.value&&w(t.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:t.value,target:`_blank`,rel:`noopener noreferrer`},(0,e.toDisplayString)(t.label),9,Ae)):t.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:1,to:T(t.value)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.label),1)]),_:2},1032,[`to`])):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,je,(0,e.toDisplayString)(t.label),1))]))),128))])):(0,e.createCommentVNode)(`v-if`,!0)]))),128))])])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createElementVNode)(`div`,Me,[(0,e.createElementVNode)(`div`,Ne,[x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,class:`docs-footer__brand`,href:y.value,target:`_blank`,rel:`noopener noreferrer`},[_.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`docs-footer__brand-logo`,src:_.value,alt:``},null,8,Fe)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createTextVNode)(` `+(0,e.toDisplayString)(v.value),1)],8,Pe)):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:1,class:`docs-footer__brand`,to:C.value},{default:(0,e.withCtx)(()=>[_.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`docs-footer__brand-logo`,src:_.value,alt:``},null,8,Ie)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createTextVNode)(` `+(0,e.toDisplayString)(v.value),1)]),_:1},8,[`to`])),g.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Le,(0,e.toDisplayString)(g.value),1)):(0,e.createCommentVNode)(`v-if`,!0)])])],8,Te))}}),ze={key:0,class:`docs-search-highlight`},Be=/* @__PURE__ */ (0,e.defineComponent)({__name:`highlight-text`,props:{text:{},keyword:{}},setup(t){let n=t,r=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,`\\$&`),i=(0,e.computed)(()=>{let e=n.keyword.trim().split(/\s+/u).filter(Boolean);if(!e.length)return[{text:n.text,match:!1}];let t=RegExp(`(${e.map(r).join(`|`)})`,`giu`);return n.text.split(t).filter(Boolean).map(t=>({text:t,match:e.some(e=>t.localeCompare(e,void 0,{sensitivity:`accent`})===0)}))});return(t,n)=>((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(i.value,(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:`${n}:${t.text}`},[t.match?((0,e.openBlock)(),(0,e.createElementBlock)(`mark`,ze,(0,e.toDisplayString)(t.text),1)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)((0,e.toDisplayString)(t.text),1)],64))],64))),128))}}),Ve=e=>{if(!e||typeof e!=`object`)return!1;let t=e.identity;return!!(t&&typeof e.url==`string`&&typeof t.namespace==`string`&&typeof t.lang==`string`&&typeof t.type==`string`&&typeof t.source==`string`)},He=class{store=new a.IndexedDBStore({name:`deot-docs`,storeName:`resources`,keyPath:`__id`,version:1});async get(e){let t=await this.store.get(e);return Ve(t)?t:null}async set(e,t){await this.store.set(e,t)}async remove(e){await this.store.remove(e)}async list(){let e=await this.store.search();return(await Promise.all(e.map(e=>this.store.get(String(e.__id))))).filter(Ve)}async clear(){let e=await this.store.search();await Promise.all(e.map(e=>this.store.remove(String(e.__id))))}},Ue=1e3,We=[`waiting`,`pending`,`success`,`error`],Ge=0,Ke=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16)},qe=e=>typeof e==`string`&&We.includes(e),Je=e=>Number.isInteger(e),Ye=e=>typeof e.content==`string`&&typeof e.hash==`string`&&typeof e.updatedAt==`number`,Xe=(e,t=`Resource request failed`)=>{let n=``;return e instanceof Error||e&&typeof e==`object`&&typeof e.message==`string`?n=e.message:typeof e==`string`&&(n=e),(n.trim()||t).slice(0,Ue)},Ze=(e=Date.now())=>globalThis.crypto?.randomUUID?.()||`${e}-${++Ge}`,Qe=e=>({id:Ze(e),status:`success`,createdAt:e,completedAt:e}),$e=(e,t)=>{let n=typeof e?.createdAt==`number`?e.createdAt:Date.now(),r=qe(e?.status)?e.status:`error`;return{id:typeof e?.id==`string`&&e.id?e.id:`${Ze(n)}-${t}`,status:r,createdAt:n,waitingAt:typeof e?.waitingAt==`number`?e.waitingAt:void 0,pendingAt:typeof e?.pendingAt==`number`?e.pendingAt:void 0,completedAt:typeof e?.completedAt==`number`?e.completedAt:void 0,reason:r===`error`?Xe(e?.reason):void 0}},et=(e,t)=>{let n=t?e.find(e=>e.id===t&&e.status===`success`):void 0;if(!n)return{history:e.slice(-20),contentHistoryId:null,contentHistoryIndex:null};let r=new Set(e.filter(e=>e.id!==n.id).slice(-19).map(e=>e.id)),i=e.filter(e=>e.id===n.id||r.has(e.id));return{history:i,contentHistoryId:n.id,contentHistoryIndex:i.findIndex(e=>e.id===n.id)}},tt=e=>{let t=Date.now(),n=typeof e.content==`string`?e.content:void 0,r=n!==void 0,i=typeof e.checkedAt==`number`?e.checkedAt:0,a=typeof e.accessedAt==`number`?e.accessedAt:0,o=typeof e.updatedAt==`number`?e.updatedAt:i||a||t,s=r?o:void 0,c=qe(e.requestStatus)?e.requestStatus:r?`success`:`error`,l=typeof e.requestStatusUpdatedAt==`number`?e.requestStatusUpdatedAt:i||s||a||t,u=Array.isArray(e.statusHistory)?e.statusHistory.map($e):[],d=typeof e.contentHistoryId==`string`?e.contentHistoryId:null,f=d?u.find(e=>e.id===d&&e.status===`success`):void 0;if(!f&&Je(e.contentHistoryIndex)){let t=u[e.contentHistoryIndex];t?.status===`success`&&(f=t,d=t.id)}r&&!f&&(f=Qe(o),u.push(f),d=f.id),r||(d=null);let p=et(u,d),m=r?`Resource request failed`:`Legacy resource has no content`,h=c===`error`?Xe(e.reason,m):void 0,g={...e,status:r?`success`:c,requestStatus:c,requestStatusUpdatedAt:l,statusHistory:p.history,contentHistoryId:p.contentHistoryId,contentHistoryIndex:p.contentHistoryIndex,reason:h,content:n,hash:r?typeof e.hash==`string`?e.hash:Ke(n):void 0,updatedAt:s,checkedAt:i,accessedAt:a};return delete g.statusUpdatedAt,g},nt=(e,t)=>JSON.stringify(e)===JSON.stringify(t),rt=(e,t,n,r,i)=>{let a=e.findIndex(e=>e.id===t),o=a>=0?e[a]:{id:t,status:n,createdAt:r},s={...o,status:n,waitingAt:n===`waiting`?o.waitingAt||r:o.waitingAt,pendingAt:n===`pending`?o.pendingAt||r:o.pendingAt,completedAt:n===`success`||n===`error`?r:o.completedAt,reason:n===`error`?Xe(i):void 0};return a<0?[...e,s]:e.map((e,t)=>t===a?s:e)},it=class{concurrency;queue=[];parallel=null;constructor(e){this.concurrency=e}setConcurrency(e){this.concurrency=Math.max(1,e),this.parallel?.setConcurrency(this.concurrency)}schedule(e,t=0){let n,r=new Promise((r,i)=>{n=Object.assign(async()=>{try{r(await e())}catch(e){i(e)}},{priority:t}),this.queue.push(n),this.queue.sort((e,t)=>e.priority-t.priority),this.start()});return Object.assign(r,{setPriority:e=>{!this.queue.includes(n)||e<=n.priority||(n.priority=e,this.queue.sort((e,t)=>e.priority-t.priority))}})}start(){if(!this.parallel){let e=new c.Parallel(this.queue,this.concurrency,{skipError:!0});this.parallel=e,this.run(e)}this.parallel.setConcurrency(this.concurrency)}async run(e){try{await e.start()}catch{}finally{this.parallel===e&&(this.parallel=null),this.queue.length&&this.start()}}},at=e=>{let t=c.Task.of(void 0).map(e);return t.start(),t},ot=(0,l.createInstance)({credentials:`omit`,responseType:`text`,timeout:6e4}),st=class extends Error{status;constructor(e,t=`HTTP ${e}`){super(t),this.status=e,this.name=`ResourceRequestError`}},ct=/* @__PURE__ */ new Map,lt=(e,t)=>e?.get?.(t)||e?.get?.(t.toLowerCase()),ut=e=>{let t=typeof e?.status==`number`||typeof e?.status==`string`?String(e.status).trim():``,n=typeof e?.body?.statusText==`string`?e.body.statusText.trim():``,r=typeof e?.statusText==`string`&&!/^HTTP_[A-Z0-9_]+$/.test(e.statusText)?e.statusText.trim():``,i=n||r;return t&&i?`${t} ${i}`:t?`HTTP ${t}`:i||`Resource request failed`},dt=e=>JSON.stringify(Object.entries(e).map(([e,t])=>[e.toLowerCase(),t]).sort(([e],[t])=>e.localeCompare(t))),ft=e=>{try{return new URL(e,typeof location>`u`?void 0:location.href).href}catch{return e}},pt=()=>new DOMException(`The operation was aborted`,`AbortError`),mt=async(e,t)=>{if(!t)return await e();if(t.aborted)throw pt();let n,r=new Promise((e,t)=>{n=t}),i=()=>n(pt());t.addEventListener(`abort`,i,{once:!0});try{return await Promise.race([e(),r])}finally{t.removeEventListener(`abort`,i)}},ht=async(e,t)=>{let n=Symbol(`transport-consumer`);e.consumers.add(n);let r,i=new Promise((e,t)=>{r=t}),a=()=>{e.consumers.delete(n),r(pt()),!(e.settled||e.consumers.size)&&(e.cancelled=!0,e.cancel())};t?.aborted?a():t?.addEventListener(`abort`,a,{once:!0});try{return await(t?Promise.race([e.promise,i]):e.promise)}finally{t?.removeEventListener(`abort`,a),e.consumers.delete(n)}},gt=(e,t,n)=>{let r=()=>ot.http(e,{headers:{Accept:`text/plain`,...n},responseType:`text`,shared:r}),i=r(),a=null,o={headersKey:dt(n),consumers:/* @__PURE__ */ new Set,settled:!1,cancelled:!1,cancel:()=>(a||=(async()=>{try{await i.cancel()}catch{}})(),a)},s=(async()=>{try{let e=await i;return{status:e.status,body:typeof e.body==`string`?e.body:JSON.stringify(e.body??``),etag:lt(e.headers,`etag`),lastModified:lt(e.headers,`last-modified`)}}catch(e){if(e?.status===304)return{status:304,body:``,etag:lt(e.headers,`etag`),lastModified:lt(e.headers,`last-modified`)};let t=ut(e),n=Number(e?.status);throw Number.isInteger(n)&&n>=100&&n<=599?new st(n,t):e instanceof Error&&t===`Resource request failed`&&e.message.trim()&&e.message.trim()!==`[object Object]`?e:Error(t,{cause:e})}})(),c=Object.assign(o,{promise:(async()=>{try{return await s}finally{try{await ot.removeShared(r)}catch{}o.settled=!0,ct.get(t)===o&&ct.delete(t)}})()});return ct.set(t,c),c},_t=async(e,t,n)=>{if(n?.aborted)throw pt();let r=ft(e),i=ct.get(r);i?.cancelled&&(await i.cancel(),ct.get(r)===i&&ct.delete(r),i=void 0),i||=gt(e,r,t);let a=await ht(i,n);return a.status===304&&i.headersKey!==dt(t)?await _t(e,{},n):a},vt=class{cache;request;scheduler;memory=/* @__PURE__ */ new Map;pending=/* @__PURE__ */ new Map;controllers=/* @__PURE__ */ new Map;trailing=/* @__PURE__ */ new Map;cacheWrites=/* @__PURE__ */ new Map;subscribers=/* @__PURE__ */ new Map;statusSubscribers=/* @__PURE__ */ new Set;prefetched=/* @__PURE__ */ new Set;globalRevision=0;resourceRevisions=/* @__PURE__ */ new Map;polling=/* @__PURE__ */ new Map;deletionBarrier=Promise.resolve();constructor(e={}){this.cache=e.cache||new He,this.request=e.request||_t,this.scheduler=new it(e.concurrency||6)}setConcurrency(e){this.scheduler.setConcurrency(e)}async load(e,t={}){return this.loadInternal(e,t,!1)}revalidate(e,t={}){return this.revalidateInternal(e,t,!1,t.trailing===!0)}async prefetch(e,t={}){return e.forEach(e=>this.prefetched.add(z(e))),Promise.allSettled(e.map(e=>this.revalidateInternal(e,{priority:t.priority??25,signal:t.signal},!0,!1)))}poll(e,t=6e4){let n=Array.isArray(e)?e:[e],r=typeof t==`number`?t:t.interval??6e4,i=Number.isFinite(r)&&r>0?r:6e4,a=typeof t==`number`?0:t.priority??0,o=[...new Map(n.map(e=>[z(e),e])).values()].map(e=>this.startPolling(e,i,a));return()=>o.forEach(e=>e())}startPolling(e,t,n){let r=z(e);this.stopPolling(e);let i=setInterval(()=>{this.revalidateSilently(e,{priority:n},!1,!0)},t);return this.polling.set(r,i),()=>this.stopPolling(e)}stopPolling(e){let t=z(e),n=this.polling.get(t);n&&clearInterval(n),this.polling.delete(t)}subscribe(e,t){let n=z(e),r=this.subscribers.get(n)||/* @__PURE__ */ new Set;return r.add(t),this.subscribers.set(n,r),()=>{r.delete(t),r.size||this.subscribers.delete(n)}}subscribeStatus(e){return this.statusSubscribers.add(e),()=>this.statusSubscribers.delete(e)}isSubscribed(e){return!!this.subscribers.get(z(e))?.size}isPrefetched(e){return this.prefetched.has(z(e))}async list(){let e=this.deletionBarrier;await e;let t=/* @__PURE__ */ new Map;return await Promise.all((await this.cache.list()).map(async n=>{let r=tt(n),i=z(r.identity),a=this.getMutationToken(i);t.set(i,r),nt(n,r)||await this.enqueueCacheWrite(i,async()=>{e===this.deletionBarrier&&this.isMutationTokenCurrent(i,a)&&!this.memory.has(i)&&await this.cache.set(i,r)})})),this.memory.forEach((e,n)=>t.set(n,tt(e))),[...t.values()]}async invalidate(e){let t=z(e),n=this.pending.get(t);this.resourceRevisions.set(t,(this.resourceRevisions.get(t)||0)+1),this.stopPolling(e),this.cancelTrailing(t),this.controllers.get(t)?.abort(),this.controllers.delete(t),this.pending.delete(t),this.memory.delete(t),this.prefetched.delete(t),await this.enqueueDeletion(async()=>{await this.settlePending(n),await this.enqueueCacheWrite(t,async()=>this.cache.remove(t))})}async clear(){let e=[...this.pending.values()];this.globalRevision+=1,this.resourceRevisions.clear(),this.trailing.forEach((e,t)=>this.cancelTrailing(t)),this.controllers.forEach(e=>e.abort()),this.controllers.clear(),this.pending.clear(),this.memory.clear(),this.prefetched.clear(),this.polling.forEach(e=>clearInterval(e)),this.polling.clear(),await this.enqueueDeletion(async()=>{await Promise.all(e.map(e=>this.settlePending(e))),await Promise.all([...this.cacheWrites.values()]),await this.cache.clear()})}async prune(e,t){let n=new Set(t.filter(t=>t.namespace===e).map(z)),r=(await this.list()).filter(t=>t.identity.namespace===e&&!n.has(z(t.identity)));return await Promise.all(r.map(e=>this.invalidate(e.identity))),r}async loadInternal(e,t,n){let r=z(e);await this.deletionBarrier;let i=this.getMutationToken(r),a=await this.readRecord(r,i);if(a&&Ye(a)){let r=await this.writeRecord({...a,accessedAt:Date.now()},!1,i);return t.refresh!==!1&&this.revalidateSilently(e,t,n,!1),r}return this.revalidateInternal(e,t,n,!1)}revalidateInternal(e,t,n,r){let i=z(e),a=this.pending.get(i);if(a)return r?this.queueTrailing(e,t,n):(a.promote(t.priority??(n?25:100)),a.controller.signal.aborted?this.queueTrailing(e,t,n):this.consumePending(a,t.signal));let o=new AbortController,s={url:t.url,priority:t.priority,refresh:t.refresh,signal:o.signal},c=this.deletionBarrier,l=null,u={controller:o,consumers:/* @__PURE__ */ new Set,settled:!1,priority:t.priority??(n?25:100),promote:e=>{e<=u.priority||(u.priority=e,l?.setPriority(e))}},d,f=new Promise(e=>{d=e}),p=(async()=>{await f,await c;let t=this.getMutationToken(i),r=Ze();return n&&await this.transition(e,s,r,`waiting`,void 0,t),l=this.scheduler.schedule(async()=>{await this.transition(e,s,r,`pending`,void 0,t);try{return await at(async()=>{try{return await this.update(e,s,r,t)}catch(e){throw e&&typeof e==`object`?e:Error(Xe(e))}}).value}catch(n){throw await this.transition(e,s,r,`error`,n,t),n}},u.priority),l})(),m=Object.assign(u,{promise:(async()=>{try{return await p}finally{u.settled=!0;let e=this.pending.get(i)===u;e&&this.pending.delete(i),this.controllers.get(i)===o&&this.controllers.delete(i),e&&this.flushTrailing(i)}})()});return this.pending.set(i,m),this.controllers.set(i,o),d(),this.consumePending(m,t.signal)}async revalidateSilently(e,t,n,r){try{await this.revalidateInternal(e,t,n,r)}catch{}}async consumePending(e,t){let n=Symbol(`resource-consumer`);e.consumers.add(n);let r,i=new Promise((e,t)=>{r=t}),a=()=>{e.consumers.delete(n),r(pt()),!e.settled&&!e.consumers.size&&e.controller.abort()};t?.aborted?a():t?.addEventListener(`abort`,a,{once:!0});try{return await(t?Promise.race([e.promise,i]):e.promise)}finally{t?.removeEventListener(`abort`,a),e.consumers.delete(n),!e.settled&&!e.consumers.size&&e.controller.abort()}}queueTrailing(e,t,n){let r=z(e),i=this.trailing.get(r);if(i)return i.options=this.mergeTrailingOptions(i.options,t),i.prefetch||=n,mt(async()=>i.promise,t.signal);let a,o,s=new Promise((e,t)=>{a=e,o=t}),c={identity:e,options:this.mergeTrailingOptions({},t),prefetch:n,promise:s,resolve:a,reject:o};return this.trailing.set(r,c),mt(async()=>s,t.signal)}mergeTrailingOptions(e,t){return{url:t.url??e.url,priority:e.priority===void 0&&t.priority===void 0?void 0:Math.max(e.priority??0,t.priority??0),refresh:t.refresh??e.refresh}}flushTrailing(e){let t=this.trailing.get(e);t&&(this.trailing.delete(e),(async()=>{try{t.resolve(await this.revalidateInternal(t.identity,t.options,t.prefetch,!1))}catch(e){t.reject(e)}})())}cancelTrailing(e){let t=this.trailing.get(e);t&&(this.trailing.delete(e),t.reject(pt()))}enqueueDeletion(e){let t=this.deletionBarrier,n=(async()=>{try{await t}catch{}await e()})();return this.deletionBarrier=(async()=>{try{await n}catch{}})(),n}enqueueCacheWrite(e,t){let n=this.cacheWrites.get(e)||Promise.resolve(),r=(async()=>{try{await n}catch{}await t()})(),i=(async()=>{try{await r}catch{}})();return this.cacheWrites.set(e,i),(async()=>{await i,this.cacheWrites.get(e)===i&&this.cacheWrites.delete(e)})(),r}async settlePending(e){if(e)try{await e.promise}catch{}}async readRecord(e,t){t&&this.assertMutationToken(e,t);let n=this.memory.get(e);if(n)return tt(n);let r=await this.cache.get(e);if(t&&this.assertMutationToken(e,t),!r)return null;let i=tt(r);return this.memory.set(e,i),nt(r,i)||(await this.enqueueCacheWrite(e,async()=>this.cache.set(e,i)),t&&await this.repairStaleWrite(e,i,t)),i}async writeRecord(e,t=!1,n){let r=tt(e),i=z(r.identity);return n&&this.assertMutationToken(i,n),this.memory.set(i,r),await this.enqueueCacheWrite(i,async()=>this.cache.set(i,r)),n&&await this.repairStaleWrite(i,r,n),t&&this.statusSubscribers.forEach(e=>{try{e(r)}catch{}}),r}getMutationToken(e){return{global:this.globalRevision,resource:this.resourceRevisions.get(e)||0}}isMutationTokenCurrent(e,t){return t.global===this.globalRevision&&t.resource===(this.resourceRevisions.get(e)||0)}assertMutationToken(e,t){if(!this.isMutationTokenCurrent(e,t))throw pt()}async repairStaleWrite(e,t,n){if(this.isMutationTokenCurrent(e,n))return;let r=this.memory.get(e);throw!r||r===t?(this.memory.delete(e),await this.enqueueCacheWrite(e,async()=>this.cache.remove(e))):await this.enqueueCacheWrite(e,async()=>this.cache.set(e,r)),pt()}async transition(e,t,n,r,i,a){let o=z(e),s=await this.readRecord(o,a),c=Date.now(),l=s||{identity:e,url:t.url||e.source,requestStatus:r,requestStatusUpdatedAt:c,statusHistory:[],contentHistoryId:null,contentHistoryIndex:null,checkedAt:0,accessedAt:c};return this.writeRecord({...l,url:t.url||s?.url||e.source,requestStatus:r,requestStatusUpdatedAt:c,statusHistory:rt(l.statusHistory,n,r,c,i===void 0?void 0:Xe(i)),reason:r===`error`?Xe(i):void 0},!0,a)}async update(e,t,n,r){let i=z(e),a=await this.readRecord(i,r),o=t.url||await mt(async()=>I(b(),e),t.signal),c=(0,s.resolveCdnURL)(o),l={};a?.etag&&(l[`If-None-Match`]=a.etag),a?.lastModified&&(l[`If-Modified-Since`]=a.lastModified);let u=await mt(async()=>this.request(c,l,t.signal),t.signal);if(u.status===304&&a&&Ye(a)&&e.type===`sidebar`)try{JSON.parse(a.content)}catch{u=await mt(async()=>this.request(c,{},t.signal),t.signal)}if(u.status===304&&(!a||!Ye(a)))throw Error(`Resource returned 304 without cached content`);let d=Date.now();if(u.status===304&&a&&Ye(a))return await this.completeSuccess({...a,checkedAt:d,accessedAt:d,url:c},n,!1,r);if(u.status<200||u.status>=300)throw new st(u.status);let f=Ke(u.body);if(a&&Ye(a)&&a.hash===f)return await this.completeSuccess({...a,url:c,checkedAt:d,accessedAt:d,etag:u.etag||a.etag,lastModified:u.lastModified||a.lastModified},n,!1,r);let p={...a||{},identity:e,url:c,content:u.body,hash:f,etag:u.etag,lastModified:u.lastModified,updatedAt:d,checkedAt:d,accessedAt:d,requestStatus:`success`,requestStatusUpdatedAt:d,statusHistory:a?.statusHistory||[],contentHistoryId:n,contentHistoryIndex:null,previous:a&&Ye(a)?{content:a.content,hash:a.hash,updatedAt:a.updatedAt}:void 0};return await this.completeSuccess(p,n,!0,r)}async completeSuccess(e,t,n,r){let i=Date.now(),a=await this.writeRecord({...e,requestStatus:`success`,requestStatusUpdatedAt:i,statusHistory:rt(e.statusHistory,t,`success`,i),contentHistoryId:n?t:e.contentHistoryId,reason:void 0},!0,r);if(!Ye(a))throw TypeError(`Successful resource has no content`);return n&&this.subscribers.get(z(a.identity))?.forEach(e=>{try{e(a)}catch{}}),a}},G=new vt,yt=/\.(?:vue|[jt]sx?|json|css|scss|sass)(?:$|[?#])/i,bt=/@(?:import|use|forward)\s+(?:url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)|(['"])(.*?)\4)/gi,xt=/<(script|style)\b([^>]*)>([\s\S]*?)<\/\1>/gi,St=/\bsrc\s*=\s*(['"])(.*?)\1/i,Ct=e=>/\.vue(?:$|[?#])/i.test(e)?`sfc`:/\.(?:css|scss|sass)(?:$|[?#])/i.test(e)?`style`:`module`,wt=e=>e.startsWith(`.`)&&(yt.test(e)||/\.m(?:$|[?#])/.test(e)||!/\.[^/]+$/.test(e.split(/[?#]/)[0])),Tt=(e,t)=>{let n=typeof location>`u`?`http://localhost/`:location.href;return new URL(e,new URL(t,n)).href},Et=e=>[...e.matchAll(bt)].map(e=>e[2]||e[3]||e[5]).filter(e=>!/^(?:[a-z][a-z\d+.-]*:|\/)/i.test(e)).map(e=>e.startsWith(`.`)?e:`./${e}`),Dt=async e=>{await(0,d.init)();try{return(0,d.parse)(e)[0].flatMap(e=>e.type===`dynamic`?e.specifier&&!e.glob?[e.specifier]:[]:e.type===`import-meta`||e.typeOnly?[]:[e.specifier])}catch{return[...e.replace(/\b(?:import|export)\s+type\b(?!\s+from\b)\s*(?:\{[^}]*\}|\*\s+as\s+[\w$]+|[\w$]+)(?:\s+from\s*(['"])[^'"]+\1)?\s*;?/g,``).matchAll(/(?:\bfrom\s+|import\s*\(\s*|import\s+)['"]([^'"]+)['"]/g)].map(e=>e[1])}},Ot=async(e,t)=>{if(t===`style`)return[...new Set(Et(e))];if(t!==`sfc`)return[...new Set(await Dt(e))];let n=[];for(let t of e.matchAll(xt)){let[,e,r,i]=t,a=r.match(St)?.[2];a&&n.push(a),n.push(...e.toLowerCase()===`style`?Et(i):await Dt(i))}return[...new Set(n)]},kt=(e,t,n)=>{let r=typeof location>`u`?`http://localhost/`:location.href,i=new URL(n,r),a;if(e.runtime?.mode===`development`){let n=D(e.runtime.workspace);a=new URL(`${n}${w(t)}/`,r)}else a=new URL(`${w(t)}/`,A(e));return i.origin!==a.origin||!i.pathname.startsWith(a.pathname)?i.href:`./${i.pathname.slice(a.pathname.length)}${i.search}${i.hash}`},At=(e,t,n=!1)=>{let r=new URL(Tt(e,t)),i=r.pathname.replace(/\/$/,``),a=e=>e.replace(/([^/]+)$/,`_$1`),o=yt.test(i),s=n?o?[i,a(i)]:[`.scss`,`.sass`,`.css`].flatMap(e=>[`${i}${e}`,a(`${i}${e}`),`${i}/index${e}`,`${i}/_index${e}`]):o?[i]:[i,...[`.vue`,`.ts`,`.js`,`.tsx`,`.jsx`,`.json`].map(e=>`${i}${e}`),...[`.vue`,`.ts`,`.js`,`.tsx`,`.jsx`,`.json`].map(e=>`${i}/index${e}`)];return[...new Set(s)].map(e=>{let t=new URL(r);return t.pathname=e,t.href})},jt=(e,t)=>t===`style`?Et(e):t===`sfc`?[...e.matchAll(xt)].filter(e=>e[1].toLowerCase()===`style`).flatMap(e=>Et(e[3])):[],Mt=e=>{let t=new URL(e,typeof location>`u`?`http://localhost/`:location.href);if(t.hostname!==`raw.githubusercontent.com`)return e;let n=t.pathname.indexOf(`/node_modules/`);return n<0?e:`https://cdn.jsdelivr.net/npm/${t.pathname.slice(n+14)}${t.search}`},Nt=(e,t)=>{let n=new URL(e,typeof location>`u`?`http://localhost/`:location.href),r=n.hostname===`raw.githubusercontent.com`?n.pathname.match(/^\/([^/]+)\/([^/]+)\/(refs\/(?:heads|tags)\/)?([^/]+)\//):null;if(!r)return null;let[,i,a,,o]=r,s=`${n.origin}${r[0]}`,c,l,u=()=>(c??=(async()=>{try{let e=`https://api.github.com/repos/${i}/${a}/git/trees/${encodeURIComponent(o)}?recursive=1`,n=await fetch(e,{signal:t});if(!n.ok)return null;let r=await n.json();return r.truncated?null:new Set(r.tree.filter(e=>e.type===`blob`).map(e=>`${s}${e.path}`))}catch(e){if(t?.aborted)throw e;return null}})(),c),d=()=>(l??=(async()=>{let e=`https://data.jsdelivr.com/v1/package/gh/${i}/${a}@${encodeURIComponent(o)}/flat`,n=await fetch(e,{signal:t});if(!n.ok)throw Error(`[RemoteSfc] glob 备用文件清单加载失败: ${n.status}`);let r=await n.json();return new Set(r.files.map(e=>`${s}${e.name.replace(/^\//,``)}`))})(),l);return{base:s,resolve:async(e,t,n)=>{let r=At(e,t,n);if(!r[0].startsWith(s)||r[0].includes(`/node_modules/`))return r;let i=await u();if(!i)return r;let a=r.find(e=>i.has(e.split(/[?#]/)[0]));if(!a)throw Error(`[RemoteSfc] 无法解析依赖 "${e}"(来自 ${t})`);return[a]},expandGlob:async(e,t)=>{if(!e.includes(`import.meta.glob`))return e;let n=await u()??await d(),r=[],i=e.replace(/import\.meta\.glob(?:<[^;\n]+?>)?\(\s*(['"])([^'"]+)\1\s*,\s*\{\s*eager\s*:\s*true\s*\}\s*\)/g,(e,i,a)=>{let o=new URL(a,t).href.split(`*`).map(e=>e.replace(/[.+?^${}()|[\]\\]/g,`\\$&`)).join(`[^/]*`),s=RegExp(`^${o}$`),c=new URL(`.`,t).href;return`({${[...n].filter(e=>s.test(e)).sort().map(e=>{let t=`./${e.slice(c.length)}`,n=`__docs_glob_${r.length}`;return r.push(`import * as ${n} from ${JSON.stringify(t)};`),`${JSON.stringify(t)}: ${n}`}).join(`,`)}})`});if(i.includes(`import.meta.glob`))throw Error(`[RemoteSfc] 不支持的 glob 调用: ${t}`);return`${r.join(`
2
- `)}\n${i}`}}},Pt=(e,t=e=>e)=>e.replace(/@import\s+(['"])([^.'"/][^'"]*\.css)\1/g,(e,n,r)=>/^[a-z][a-z\d+.-]*:/i.test(r)?e:`@import ${n}${t(`https://cdn.jsdelivr.net/npm/${r}`)}${n}`),Ft=(e,t)=>{if(e.includes(`import.meta.glob`))throw Error(`[RemoteSfc] 普通 HTTP 资源无法枚举 glob 文件,请使用显式 import 或预先展开的文件清单: ${t}`)},It=(e=[])=>{let t=new Set(e),n=/* @__PURE__ */ new Map,r=[];return async(e,i,a,o)=>{if(t.add(a),/\.json(?:$|[?#])/i.test(a))return[];let s=r.find(e=>a.startsWith(e.base));s||(s=Nt(a)??void 0,s&&r.push(s));let c=e;i===`module`&&s&&(c=await s.expandGlob(c,a)),!s&&i!==`style`&&Ft(c,a),i===`style`&&(c=Pt(c));let l=await Ot(c,i),u=jt(c,i);return await Promise.all(l.filter(wt).map(async e=>{let r=u.includes(e)||/\.(?:scss|sass)(?:$|[?#])/i.test(e),i=s?await s.resolve(e,a,r):At(e,a,r),c=i.find(e=>t.has(e));if(c)return Mt(c);if(!o||i.length===1)return Mt(i[0]);let l=JSON.stringify(i),d=n.get(l);return d||(d=(async()=>{for(let e=0;;e+=1){let n=i[e];try{return await o(n),t.add(n),n}catch(t){if(!(t instanceof st)||t.status!==404||e===i.length-1)throw t}}})(),n.set(l,d)),Mt(await d)}))}},Lt=e=>!!(e&&typeof e==`object`&&`schemaVersion`in e),Rt=e=>typeof e==`string`&&/\.page\.json(?:$|[?#])/i.test(e),zt=e=>!(!e||typeof e!=`object`||Array.isArray(e)||`schemaVersion`in e),Bt=e=>Lt(e)||Rt(e)?!0:zt(e)?Object.values(e).some(e=>Lt(e)||Rt(e)):!1,Vt=e=>!e||typeof e==`string`||typeof e==`function`?!1:Bt(e.content),Ht=(e,t,n)=>{if(e!==void 0)return zt(e)?U(e,t)??U(e,n):e},Ut=(e,t)=>{let n=e.routes[`/`];if(n&&typeof n==`object`)return Ht(n.content,t,`en-US`)},Wt=(e,t,n,r=``)=>Ht(e,t,r===`/`?`en-US`:P(n)),Gt=(e,t,n)=>{let r=e.routes[`/`],i=r&&typeof r==`object`?r:{};e.routes[`/`]=i;let a=i.content;i.content=zt(a)||a===void 0?{...zt(a)?a:{},[t]:n}:n},Kt=e=>!!e&&typeof e==`object`&&!Array.isArray(e),qt=e=>e===`traditional`?`traditional`:`default`,Jt=e=>{let t=e.components?.markdown;if(!Kt(t))return{theme:`default`};let n={theme:qt(t.theme)};return`indicator`in t&&(n.indicator=t.indicator),n},Yt=e=>{let t=e.components?.playground;return Kt(t)?{...t}:{}},Xt=/* @__PURE__ */ new Set([`none`,`width`,`contain`]),Zt=e=>{let t=e.components?.renderer;if(!Kt(t))return{};let n={};return typeof t.fit==`string`&&Xt.has(t.fit)&&(n.fit=t.fit),n},Qt=/* @__PURE__ */ new Set([`left`,`right`]),$t=e=>!!e&&typeof e==`object`&&!Array.isArray(e),en=e=>{if(e===!0||e===!1)return e;if(!$t(e))return;let t={};return typeof e.preview==`boolean`&&(t.preview=e.preview),typeof e.draggable==`boolean`&&(t.draggable=e.draggable),typeof e.position==`string`&&Qt.has(e.position)&&(t.position=e.position),(typeof e.top==`number`||typeof e.top==`string`)&&(t.top=e.top),(typeof e.height==`number`||typeof e.height==`string`)&&(t.height=e.height),t},tn=e=>{if(!$t(e))return;let t={...e};if(`indicator`in t){let e=en(t.indicator);e===void 0?delete t.indicator:t.indicator=e}return Object.keys(t).length?t:void 0},nn=e=>{let t=$t(e)?e:{},n={source:typeof t.source==`string`?t.source:``};typeof t.content==`string`&&(n.content=t.content);let r=tn(t.options);return r&&(n.options=r),n},rn=e=>e.source.trim()||typeof e.content==`string`?[]:[{path:`$.source`,code:`source.required`,message:`Markdown source 或 content 至少需要一项`,severity:`error`}],an=e=>!e||e.indicator===void 0||e.indicator,on=e=>typeof e.content==`string`?e.content:void 0,sn={class:`docs-renderer-markdown`},cn={key:0,class:`docs-renderer-markdown__error`},ln={key:1,class:`docs-renderer-markdown__loading`},un=/* @__PURE__ */ (0,e.defineComponent)({__name:`markdown`,props:{node:{},context:{}},setup(n){let r=n,{t:a}=(0,t.useLocale)(),o=b(),s=(0,e.ref)(``),c=(0,e.ref)(``),l=(0,e.ref)(!1),u=(0,e.computed)(()=>nn(r.node.module.props)),d=(0,e.computed)(()=>Jt(o)),f=(0,e.computed)(()=>d.value.theme),p=(0,e.computed)(()=>u.value.options?.indicator===void 0?d.value.indicator===void 0||d.value.indicator:an(u.value.options)),m=(0,e.computed)(()=>Yt(o)),h,g,_=0;return(0,e.watch)(()=>[u.value,r.context.lang,r.context.source],async()=>{let e=++_;h?.abort(),g?.(),h=void 0,g=void 0,c.value=``;let t=on(u.value);if(typeof t==`string`){s.value=t,l.value=!1;return}let n=u.value.source.trim();if(!n){s.value=``,l.value=!1;return}l.value=!0;let i=new AbortController;h=i;try{let t=R(o,r.context.lang||``,`markdown`,n),a=await I(o,{source:n,type:`markdown`,lang:r.context.lang||``,importer:r.context.source});if(e!==_||i.signal.aborted)return;g=G.subscribe(t,t=>{e===_&&(s.value=t.content)});let c=await G.load(t,{url:a,priority:100,signal:i.signal});e===_&&(s.value=c.content)}catch(t){if(e!==_||i.signal.aborted)return;c.value=t instanceof Error?t.message:String(t)}finally{e===_&&(l.value=!1)}},{immediate:!0,deep:!0}),(0,e.onBeforeUnmount)(()=>{_+=1,h?.abort(),g?.()}),(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,sn,[c.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,cn,(0,e.toDisplayString)(c.value),1)):l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ln,(0,e.toDisplayString)((0,e.unref)(a)(`client.common.loading`)),1)):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i.Markdown),{key:2,value:s.value,indicator:p.value,locale:n.context.locale,theme:f.value,playground:m.value},null,8,[`value`,`indicator`,`locale`,`theme`,`playground`]))]))}}),dn={class:`docs-renderer-module-editor`},fn={class:`docs-renderer-field is-wide`},pn={class:`docs-renderer-field is-wide`},mn={class:`docs-renderer-field is-wide is-inline`},hn=/* @__PURE__ */ (0,e.defineComponent)({__name:`markdown-editor`,props:{node:{},modelValue:{},context:{}},emits:[`update:modelValue`],setup(r,{emit:i}){let a=r,o=i,{t:s}=(0,t.useLocale)(),c=(0,e.computed)(()=>{let e=a.modelValue.options;return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}),l=(0,e.computed)(()=>c.value.indicator!==!1),u=e=>o(`update:modelValue`,{...a.modelValue,...e}),d=e=>{if(e){u({content:e});return}let{content:t,...n}=a.modelValue;o(`update:modelValue`,n)},f=e=>{u({options:{...c.value,indicator:e}})};return(t,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,dn,[(0,e.createElementVNode)(`div`,fn,[(0,e.createElementVNode)(`label`,null,(0,e.toDisplayString)((0,e.unref)(s)(`renderer.editor.source`)),1),(0,e.createVNode)((0,e.unref)(n.Input),{"model-value":String(r.modelValue.source||``),placeholder:(0,e.unref)(s)(`renderer.editor.markdownSourceHint`),"onUpdate:modelValue":i[0]||=e=>u({source:e})},null,8,[`model-value`,`placeholder`])]),(0,e.createElementVNode)(`div`,pn,[(0,e.createElementVNode)(`label`,null,(0,e.toDisplayString)((0,e.unref)(s)(`renderer.editor.markdownContent`)),1),(0,e.createVNode)((0,e.unref)(n.Textarea),{"model-value":String(r.modelValue.content||``),rows:8,placeholder:(0,e.unref)(s)(`renderer.editor.markdownContentHint`),"onUpdate:modelValue":d},null,8,[`model-value`,`placeholder`])]),(0,e.createElementVNode)(`div`,mn,[(0,e.createElementVNode)(`label`,null,(0,e.toDisplayString)((0,e.unref)(s)(`markdown.indicator.label`)),1),(0,e.createVNode)((0,e.unref)(n.Switch),{"model-value":l.value,"onUpdate:modelValue":f},null,8,[`model-value`])])]))}}),gn=e=>{if(typeof e!=`string`||!e)throw TypeError(`raw must be a single encoded JSON value`);return JSON.parse((0,f.decode)(e))},_n=(e,t,n)=>{let r=new URL(t.trim(),n);if(!t.trim()||!/^https?:$/.test(r.protocol))throw TypeError(`target must be an HTTP(S) or relative URL`);return r.searchParams.set(`raw`,(0,f.encode)(JSON.stringify(e))),r.href},vn=Symbol(`preview-config`),yn=e=>typeof e==`object`&&!!e&&!Array.isArray(e),bn=[`local`,`styleless`,`views`,`viewport`,`previewInset`,`expandable`,`previewScroller`,`title`],xn=e=>{if(!yn(e))throw TypeError(`playground must be an object`);return Object.fromEntries(bn.filter(t=>t in e).map(t=>[t,e[t]]))},Sn=e=>{if(!yn(e))throw TypeError(`raw must contain a configuration object`);let t=e;if(typeof t.url!=`string`||!t.url.trim())throw TypeError(`url must be a non-empty string`);if(t.styles!==void 0&&(!Array.isArray(t.styles)||t.styles.some(e=>typeof e!=`string`)))throw TypeError(`styles must be an array of URL strings`);if(t.modules!==void 0&&(!yn(t.modules)||Object.entries(t.modules).some(([e,t])=>!e.trim()||typeof t!=`string`||!t.trim())))throw TypeError(`modules must map module names to URL strings`);if(t.lang!==void 0&&typeof t.lang!=`string`)throw TypeError(`lang must be a string`);return{url:t.url.trim(),styles:t.styles||[],modules:t.modules||{},...t.lang?{lang:t.lang}:{},...t.playground===void 0?{}:{playground:xn(t.playground)}}},Cn=e=>{if(e.raw!==void 0)return Sn(gn(e.raw));let t=Array.isArray(e.styles)?e.styles:typeof e.styles==`string`?e.styles.split(`,`):[];return{url:typeof e.url==`string`?e.url.trim():``,styles:t.filter(e=>typeof e==`string`),modules:{},...typeof e.lang==`string`?{lang:e.lang}:{}}},wn=(e,t)=>{let n=new URL(e,t);if(/^https?:$/.test(n.protocol)){if(/\.vue$/i.test(n.pathname))return`sfc`;if(/(?:^|\/|\.)page\.json$/i.test(n.pathname))return`page`}},Tn=(e,t)=>{let n=Array.isArray(e)?e:typeof e==`string`?e.split(`,`):[];return[...new Set(n.flatMap(e=>{let n=e?.trim();if(!n)return[];if(n.includes(`\\`)||!/^https?:\/\//i.test(n)&&(!n.startsWith(`/`)||n.startsWith(`//`)))throw TypeError(`Invalid stylesheet URL: ${n}`);let r=new URL(n,t);if(!/^https?:$/.test(r.protocol))throw TypeError(`Invalid stylesheet URL: ${n}`);return[r.href]}))]},En=/* @__PURE__ */ new Map,Dn=(e,t)=>{let n=e=>t(e),r=[...new Set(e.map(e=>(0,s.resolveCdnURL)(e)))].map(e=>{let t=En.get(e);if(!t){let n=[...document.querySelectorAll(`link[rel~="stylesheet"]`)].find(t=>t.href===e&&!t.disabled),r=n||document.createElement(`link`);t={link:r,owned:!n,listeners:/* @__PURE__ */ new Set,failed:!1,handleError:()=>{t.failed=!0,t.listeners.forEach(t=>t(e))}},En.set(e,t),r.addEventListener(`error`,t.handleError),n||(r.rel=`stylesheet`,r.href=e,r.setAttribute(`data-docs-preview-style`,``),document.head.appendChild(r))}return t.listeners.add(n),t.failed&&n(e),{url:e,record:t}});return()=>r.forEach(({url:e,record:t})=>{t.listeners.delete(n),!(t.listeners.size||En.get(e)!==t)&&(t.link.removeEventListener(`error`,t.handleError),t.owned&&t.link.remove(),En.delete(e))})},On={key:0,class:`docs-remote-sfc__error`},kn={key:1,class:`docs-remote-sfc__loading`},An=/* @__PURE__ */ (0,e.defineComponent)({__name:`remote-sfc`,props:{source:{},lang:{}},setup(n){let i=n,{locale:a,t:o}=(0,t.useLocale)(),c=(0,r.useRouter)(),l=b(),u=(0,e.inject)(vn,void 0),d=(0,e.ref)(!0),f=(0,e.ref)(``),p=(0,e.ref)({}),m=(0,e.ref)(``),h=(0,e.ref)(0),g=(0,e.ref)(null),_=[],v,y=0,x=(0,e.computed)(()=>Yt(l)),S=(0,e.computed)(()=>JSON.stringify(u?.value?.modules||{})),C=(0,e.computed)(()=>JSON.stringify(u?.value?.playground||{})),w=(0,e.computed)(()=>{let e=x.value.options||{},t=e.builtinImportMap||{};return{...e,builtinImportMap:{...t,imports:{...t.imports,...JSON.parse(S.value)}}}}),T=(0,e.computed)(()=>{let e=x.value,t=JSON.parse(C.value);return{...e,files:p.value,entry:m.value,locale:a.value,styleless:!0,...t,local:t.local??e.local,...D.value?{previewOptions:{...e.previewOptions,headHTML:`${e.previewOptions?.headHTML||``}${D.value}`}}:{},options:w.value}}),E=(0,e.computed)(()=>!!u?.value&&T.value.local===!1&&T.value.styleless&&!Array.isArray(T.value.viewport)),D=(0,e.computed)(()=>{try{return Tn(u?.value?.styles,location.href).map(e=>(0,s.resolveCdnURL)(e)).map(e=>`<link rel="stylesheet" href="${e.replaceAll(`&`,`&amp;`).replaceAll(`"`,`&quot;`)}">`).join(``)}catch{return``}}),O=()=>{for(;_.length;)_.pop()?.()},k=(e,t)=>{let n=decodeURIComponent(new URL(e,location.href).pathname),r=`/${t}/`,i=n.indexOf(r);return i>=0?n.slice(i+r.length):n.replace(/^\/+/,``)},A=async()=>{let t=++y;v?.abort();let n=new AbortController;v=n;let r=i.source,a=i.lang;d.value=!0,f.value=``,O();try{let i=await I(l,{source:r,type:`sfc`,lang:a});if(t!==y||n.signal.aborted)return;let o=Nt(i,n.signal),c={},u=/* @__PURE__ */ new Set,d=/* @__PURE__ */ new Set,f=async(e,r)=>{if(t!==y||u.has(e))return;u.add(e);let i=Ct(e),p=r||kt(l,a,e),m=R(l,a,i,p),h=z(m),g=()=>{d.has(h)||A()};d.add(h);let v;try{v=await G.load(m,{url:Mt(e),priority:100,signal:n.signal})}catch(t){throw u.delete(e),t}finally{d.delete(h)}if(t!==y)return;_.push(G.subscribe(m,g));let b=o&&i===`module`?await o.expandGlob(v.content,e):v.content;!o&&i!==`style`&&Ft(b,e),o&&i===`style`&&(b=Pt(b,s.resolveCdnURL)),c[k(e,a)]=b;let x=/\.json(?:$|[?#])/i.test(e)?[]:await Ot(b,i),S=jt(b,i);await Promise.all(x.filter(wt).map(async t=>{let n=S.includes(t)||/\.(?:scss|sass)(?:$|[?#])/i.test(t),r=o?await o.resolve(t,e,n):At(t,e,n);if(!r.some(e=>u.has(e)))for(let[e,t]of r.entries())try{await f(t);break}catch(n){if(u.has(t)||!(n instanceof st)||n.status!==404||e===r.length-1)throw n}}))};if(await f(i,r),t!==y)return;let v=g.value;if(!g.value){let t=await import(`@deot/docs-playground`);v=(0,e.markRaw)(t.Playground)}if(t!==y||n.signal.aborted)return;p.value=c,m.value=k(i,a),g.value=v,h.value+=1}catch(e){n.abort(),t===y&&v===n&&(f.value=e instanceof Error?e.message:o(`client.common.resourceRequestFailed`))}finally{t===y&&(d.value=!1)}},j=e=>{if(/^[a-z][a-z\d+.-]*:/i.test(e)||e.startsWith(`//`)){location.href=e;return}let t=Object.keys(l.locales).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)),n=RegExp(`^/(?:${t.join(`|`)})(?:/|$)`);c.push(n.test(e)?e:`/${i.lang}/${e.replace(/^\/+/,``)}`)};return(0,e.watch)(()=>[i.source,i.lang],A,{immediate:!0}),(0,e.onBeforeUnmount)(()=>{y+=1,v?.abort(),v=void 0,O()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`docs-remote-sfc`,{"docs-remote-sfc--viewport":E.value}])},[f.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,On,(0,e.toDisplayString)(f.value),1)):d.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,kn,(0,e.toDisplayString)((0,e.unref)(o)(`client.common.loading`)),1)):g.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(g.value),(0,e.mergeProps)({key:`${h.value}:${T.value.local}`},T.value,{onNavigate:j}),null,16)):(0,e.createCommentVNode)(`v-if`,!0)],2))}}),jn=/* @__PURE__ */ (0,e.defineComponent)({__name:`sfc`,props:{node:{},context:{}},setup(t){let n=t,r=(0,e.computed)(()=>String(n.node.module.props.source||``));return(n,i)=>r.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(An),{key:0,source:r.value,lang:t.context.lang||``},null,8,[`source`,`lang`])):(0,e.createCommentVNode)(`v-if`,!0)}}),Mn={class:`docs-renderer-module-editor`},Nn=/* @__PURE__ */ (0,e.defineComponent)({__name:`source-editor`,props:{node:{},modelValue:{},context:{}},emits:[`update:modelValue`],setup(r,{emit:i}){let a=r,o=i,{t:s}=(0,t.useLocale)(),c=e=>o(`update:modelValue`,{...a.modelValue,source:e});return(t,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Mn,[(0,e.createElementVNode)(`label`,null,(0,e.toDisplayString)((0,e.unref)(s)(`renderer.editor.source`)),1),(0,e.createVNode)((0,e.unref)(n.Input),{"model-value":String(r.modelValue.source||``),"onUpdate:modelValue":c},null,8,[`model-value`])]))}}),Pn=(0,u.defineRendererModule)({identity:{type:`docs:markdown`,version:1,label:`Markdown`,category:`Docs`},widget:{visible:!0},data:{create:()=>({source:``}),normalize:nn,validate:rn},viewer:un,editor:hn,frames:{sortable:{movable:!0,deletable:!0,maxWidth:u.RENDERER_SORTABLE_CONTENT_WIDTH}},integrations:{collectResources:e=>{let t=e&&typeof e==`object`?e:{};if(typeof t.content==`string`)return[];let n=typeof t.source==`string`?t.source.trim():``;return n?[{type:`markdown`,source:n}]:[]}}}),Fn=(0,u.defineRendererModule)({identity:{type:`docs:sfc`,version:1,label:`Remote SFC`,category:`Docs`},widget:{visible:!0},data:{create:()=>({source:``}),normalize:e=>{let t=e&&typeof e==`object`&&`source`in e?e.source:``;return{source:typeof t==`string`?t:``}},validate:e=>e.source?[]:[{path:`$.source`,code:`source.required`,message:`SFC source 不能为空`,severity:`error`}]},viewer:jn,editor:Nn,frames:{sortable:{movable:!0,deletable:!0,maxWidth:u.RENDERER_SORTABLE_CONTENT_WIDTH}},integrations:{collectResources:e=>{let t=e&&typeof e==`object`&&`source`in e?e.source:``;return typeof t==`string`&&t?[{type:`sfc`,source:t}]:[]}}}),In=Object.freeze([Pn,Fn]),Ln=Object.freeze([...u.BuiltinModules,...In]),Rn=/* @__PURE__ */ new WeakMap,zn=Symbol(`docs-renderer-modules`),Bn=e=>{let t=Rn.get(e);if(!t){let n=e.renderers||[];n.forEach(e=>{let t=`identity`in e?e.identity.type:e.type;if(t.startsWith(`docs:`))throw TypeError(`Renderer module namespace is reserved: ${t}`)});let r=Object.freeze([...u.BuiltinModules,...In,...n]);t={modules:r,catalog:(0,u.createRendererModuleCatalog)(r)},Rn.set(e,t)}return t},Vn=(e,t)=>{e.provide(zn,Bn(t).modules)},Hn=()=>(0,e.inject)(zn,Ln),Un=[`content`,`sidebar`,`header`,`footer`,`extra`],Wn=class{gateway;constructor(e){this.gateway=e}getLanguages(e){return Object.keys(e.locales).length?Object.keys(e.locales):[P(e)]}getRouteScore(e){return e.split(`/`).filter(Boolean).reduce((e,t)=>e+(t===`*`?0:t.startsWith(`:`)?1:2),0)}matchRoute(e,t){let n=t.split(`/`).filter(Boolean),r=[];for(let[t,i]of Object.entries(e)){if(!i||t===`*`)continue;let e=t.split(`/`).filter(Boolean);if(e.length!==n.length&&!e.includes(`*`))continue;let a={};e.every((e,t)=>e===`*`?!0:e.startsWith(`:`)?(a[e.slice(1)]=n[t],!0):e===n[t])&&r.push({config:i,params:a,pattern:t,score:this.getRouteScore(t)})}if(r.length)return r.sort((e,t)=>t.score-e.score),r[0];let i=e[`*`];return i?{config:i,params:{pathMatch:n},pattern:`*`,score:-1}:null}createRouteShape(e,t,n={}){let r=V(e,B(t));return{path:r,fullPath:r,params:{...n,lang:e},query:{},hash:``,matched:[],meta:{},name:void 0,redirectedFrom:void 0}}getRedirectPath(e,t,n){if(typeof n!=`string`||!n||S(n))return null;let r=n.split(/[?#]/u,1)[0].split(`/`).filter(Boolean);return(r[0]===t||Object.prototype.hasOwnProperty.call(e.locales,r[0]))&&r.shift(),`/${r.join(`/`)}`}resolveRouteMatch(e,t,n){let r=this.getRedirectPath(e,t,n),i=/* @__PURE__ */ new Set;for(;r!==null;){if(i.has(r))throw Error(`Cannot build a complete prefetch plan: redirect cycle (${r})`);if(i.add(r),r===`/`&&!e.routes[`/`])return null;let n=this.matchRoute(e.routes,r);if(!n)return null;if(typeof n.config==`object`)return{config:n.config,params:n.params,pathname:r,pattern:n.pattern};let a=this.createRouteShape(t,r,n.params),o=typeof n.config==`function`?n.config(a):n.config;r=this.getRedirectPath(e,t,o)}return null}getSidebarValuesDepthFirst(e,t=[]){return Array.isArray(e)&&e.forEach(e=>{if(!e||typeof e!=`object`)return;let n=e;typeof n.value==`string`&&t.push(n.value),this.getSidebarValuesDepthFirst(n.children,t)}),t}parseInternalRouteTarget(e,t,n){if(!n||S(n))return null;let r;try{r=new URL(n,`https://docs.local/`)}catch{return null}if(r.origin!==`https://docs.local`)return null;let i=r.pathname.split(`/`).filter(Boolean),a=i[0]&&Object.prototype.hasOwnProperty.call(e.locales,i[0])?i.shift():``,o=`/${i.join(`/`)}`;return o===`/`?null:{pathname:o,path:`/${a||t}${o}${r.search}${r.hash}`}}matchesRoutePattern(e,t){let n=e.startsWith(`/`)?e:`/${e}`,i;try{return i=(0,r.createRouterMatcher)([{path:n,component:{}}],{}),i.resolve({path:t},{path:`/`,name:void 0,params:{},matched:[],meta:{}}).matched.length>0}catch{return!1}}getConfiguredSidebarSources(e){let t=[],n=/* @__PURE__ */ new Set;for(let r of Object.values(e.routes)){if(!r||typeof r!=`object`)continue;let e=r.sidebar==="default"?`./sidebar.json`:r.sidebar;typeof e==`string`&&e&&!n.has(e)&&(n.add(e),t.push(e))}return t}async loadConfiguredSidebarValues(e,t,n){let r=[];for(let n of Object.values(e.routes)){if(!n||typeof n!=`object`)continue;let i=ne(n.sidebar,t,e);i&&this.getSidebarValuesDepthFirst(i,r)}for(let i of this.getConfiguredSidebarSources(e)){if(n.signal?.aborted)break;try{let a=R(e,t,`sidebar`,i),o=await I(e,{source:i,type:`sidebar`,lang:t});if(n.signal?.aborted)break;let s=await this.gateway.load(a,{url:o,priority:100,signal:n.signal}),c=JSON.parse(s.content);this.getSidebarValuesDepthFirst(c,r)}catch{}}return r}async resolveHomeEntry(e,t,n={}){let r=null;for(let[i,a]of Object.entries(e.routes)){let o=i.startsWith(`/`)?i:`/${i}`;if(a&&i!==`/`&&i!==`*`&&o!==`/__docs/database`&&o!==`/__docs/playground-resource`&&(typeof a!=`object`||a.content!==null)&&(typeof a!=`string`||!/^[a-z][a-z\d+.-]*:/i.test(a)&&!a.startsWith(`//`))){if(i.includes(`:`)||i.includes(`*`)){if(r||=await this.loadConfiguredSidebarValues(e,t,n),n.signal?.aborted)return null;for(let n of r){let r=this.parseInternalRouteTarget(e,t,n);if(r&&this.matchesRoutePattern(i,r.pathname))return r.path}}else{let n=this.parseInternalRouteTarget(e,t,i);if(n&&this.matchesRoutePattern(i,n.pathname))return n.path}}}return null}createCollector(e){let t=/* @__PURE__ */ new Map;return{identities:t,add:(n,r,i)=>{if(typeof r!=`string`||!r||r==="default")return null;let a=R(e,n,i||L(r),r),o=z(a);return t.has(o)?null:(t.set(o,a),a)}}}async resolveRouteContentIdentity(e,t,n,r){if(!r)return null;let i=this.createRouteShape(t,n,r.params),a=r.config.content===void 0?`default`:Wt(r.config.content,t,e,n),o=a===void 0?null:a;if(o===null)return null;if(o!=="default")return typeof o==`string`?R(e,t,L(o),o):null;let s=Object.values(r.params).flatMap(e=>e).filter(Boolean),c=typeof r.config.value==`function`?r.config.value(i):r.config.value||s.at(-1)||n.split(`/`).filter(Boolean).at(-1)||`index`;return R(e,t,`markdown`,await e.resolve?.markdown?.({lang:t,value:c,route:i})||`./${c}.md`)}async addRouteContent(e,t,n,r,i){let a=await this.resolveRouteContentIdentity(e,n,r,i);a&&t.add(n,a.source)}async collectConfiguredResources(e,t){for(let n of this.getLanguages(e))for(let[r,i]of Object.entries(e.routes)){if(!i||r===`*`)continue;if(typeof i!=`object`){if(typeof i==`string`||!r.includes(`:`)){let i=this.resolveRouteMatch(e,n,r);i&&await this.addRouteContent(e,t,n,i.pathname,i)}continue}Un.forEach(e=>{let r=e===`sidebar`&&i[e]==="default"?`./sidebar.json`:i[e];t.add(n,r)});let a=ne(i.sidebar,n,e);if(a)for(let r of this.getSidebarValuesDepthFirst(a)){let i=this.resolveRouteMatch(e,n,r);await this.addRouteContent(e,t,n,i?.pathname||r,i)}(!r.includes(`:`)&&!r.includes(`*`)||typeof i.value==`string`)&&await this.addRouteContent(e,t,n,r,{config:i,params:{}})}}needsSidebarDiscovery(e){return Object.entries(e.routes).some(([e,t])=>(e.includes(`:`)||e.includes(`*`))&&t&&(typeof t==`function`||typeof t==`object`&&(t.content===void 0||t.content==="default")&&typeof t.value!=`string`))}async collectSidebarResources(e,t,n,r){let i=/* @__PURE__ */ new Set,a=new Map(n.map(e=>[z(e.identity),e]));for(let n of r){let r=a.get(n);if(!r||typeof r.content!=`string`)continue;let o;try{o=JSON.parse(r.content)}catch{continue}if(Array.isArray(o)){i.add(n);for(let n of this.getSidebarValuesDepthFirst(o)){let i=this.resolveRouteMatch(e,r.identity.lang,n);await this.addRouteContent(e,t,r.identity.lang,i?.pathname||n,i)}}}return i}async collectResourcesDepthFirst(e,t,n){let r=It(n.filter(e=>typeof e.content==`string`).map(e=>e.url)),i=new Map(n.map(e=>[z(e.identity),e])),a=[],o=/* @__PURE__ */ new Set,s=async n=>{let c=z(n);if(o.has(c))return;if(o.add(c),a.push(n),n.type===`page`){let r=i.get(c);if(!r||typeof r.content!=`string`)return;let a=await this.getRendererReferences(e,r.content,!1,n.lang);for(let r of a){let i=R(e,n.lang,r.type,r.source),a=t.add(n.lang,r.source,r.type)||t.identities.get(z(i));a&&await s(a)}return}if(![`sfc`,`module`,`style`].includes(n.type))return;let l=i.get(c);if(!l||typeof l.content!=`string`)return;let u;try{u=await r(l.content,n.type,l.url)}catch{return}for(let r of u){let i;try{i=kt(e,n.lang,r)}catch{continue}let a=R(e,n.lang,Ct(i),i),o=t.add(n.lang,i,Ct(i))||t.identities.get(z(a));o&&await s(o)}};for(let e of[...t.identities.values()])await s(e);return a}async collectConfiguredOrder(e,t){let n=this.createCollector(e);await this.collectConfiguredResources(e,n);let r=new Set([...n.identities.values()].filter(e=>e.type===`sidebar`).map(z));return await this.collectSidebarResources(e,n,t,r),this.collectResourcesDepthFirst(e,n,t)}toLocalizedRoutePath(e,t){return V(e,B(t))}async collectRouteResources(e,t){let n=/* @__PURE__ */ new Map,r=async(t,r)=>{let i=this.resolveRouteMatch(e,t,r);if(!i)return;let a=await this.resolveRouteContentIdentity(e,t,i.pathname,i);if(!a||![`markdown`,`page`].includes(a.type))return;let o=z(a);n.has(o)||n.set(o,{identity:a,path:this.toLocalizedRoutePath(t,i.pathname)})},i=this.createCollector(e);await this.collectConfiguredResources(e,i);let a=new Set([...i.identities.values()].filter(e=>e.type===`sidebar`).map(z));for(let t of this.getLanguages(e)){await r(t,`/`);for(let[n,i]of Object.entries(e.routes))i&&n!==`*`&&(typeof i==`object`?(!n.includes(`:`)&&!n.includes(`*`)||typeof i.value==`string`)&&await r(t,n):(typeof i==`string`||!n.includes(`:`))&&await r(t,n))}for(let e of t){if(e.identity.type!==`sidebar`||!a.has(z(e.identity))||typeof e.content!=`string`)continue;let t;try{t=JSON.parse(e.content)}catch{continue}for(let n of this.getSidebarValuesDepthFirst(t))await r(e.identity.lang,n)}for(let t of this.getLanguages(e))for(let n of Object.values(e.routes)){if(!n||typeof n!=`object`)continue;let i=ne(n.sidebar,t,e);if(i)for(let e of this.getSidebarValuesDepthFirst(i))await r(t,e)}return[...n.values()]}summarize(e){return{fulfilled:e.filter(e=>e.status===`fulfilled`).length,rejected:e.filter(e=>e.status===`rejected`).length}}getRejectedIdentity(e,t){let n=t.findIndex(e=>e.status===`rejected`);return n>=0?e[n]:null}isGraphResource(e){return e.type!==`markdown`}async prefetchResources(e){return e.length?this.gateway.prefetch(e):[]}async getRendererReferences(e,n,r,i){let a;try{a=JSON.parse(n)}catch(e){if(r)throw e;return[]}let o=(a&&typeof a==`object`?a:{}).layout?.mode===`draggable`?`draggable`:`sortable`,s=Bn(e).catalog,c=await(0,u.prepareRendererDocument)(a,s,{scene:`renderer`,frameMode:o,readonly:!0,lang:i,locale:(0,t.resolveLocale)(i,e.locales)});if(!c.document){if(r)throw Error(`Cannot inspect page resource: ${c.issues.map(e=>e.message).join(`; `)}`);return[]}if(!c.valid&&r){let e=c.issues.find(e=>e.code===`module.unknown`);throw Error(e?`Cannot inspect unknown renderer module: ${e.message}`:`Cannot inspect page resource: ${c.issues.map(e=>e.message).join(`; `)}`)}let l=[],d=new Set(c.issues.filter(e=>e.severity===`error`&&e.nodeId).map(e=>e.nodeId));for(let e of c.document.blocks){if(d.has(e.id))continue;let t;try{t=await s.get(e.module.type)}catch(e){if(r)throw e;continue}if(t)for(let n of t.integrations?.collectResources?.(e.module.props)||[]){if(typeof n.source!=`string`||!n.source)continue;let e=n.type;if([`markdown`,`sidebar`,`sfc`,`module`,`style`,`page`].includes(e))l.push({type:e,source:n.source});else if(r)throw Error(`Unsupported renderer resource type: ${n.type}`)}else if(r)throw Error(`Cannot inspect unknown renderer module: ${e.module.type}`)}return l}async collectRendererResources({config:e,collector:t,strict:n,loadResources:r}){let i=[],a=/* @__PURE__ */ new Set;for(;;){let o=new Map((await this.gateway.list()).map(e=>[z(e.identity),e])),s=[...t.identities.values()].filter(e=>e.type===`page`&&!a.has(z(e)));if(!s.length)break;let c=[];for(let r of s){let i=z(r);a.add(i);let s=o.get(i);if(!s||typeof s.content!=`string`){if(n)throw Error(`Cannot inspect page resource: ${r.source}`)}else for(let i of await this.getRendererReferences(e,s.content,n,r.lang)){let e=t.add(r.lang,i.source,i.type);e&&e.type!==`markdown`&&c.push(e)}}if(!c.length)continue;let l=await r(c);i.push(...l);let u=this.getRejectedIdentity(c,l);if(n&&u)throw Error(`Cannot build a complete prefetch plan: page dependency unavailable (${u.source})`)}return i}async collectDependencyResources({config:e,collector:t,seeds:n,strict:r,loadResources:i}){let a=It((await this.gateway.list()).filter(e=>typeof e.content==`string`).map(e=>e.url)),o=[],s=/* @__PURE__ */ new Set,c=n;for(;c.length;){let n=new Map((await this.gateway.list()).map(e=>[z(e.identity),e])),l=[];for(let o of c){let c=z(o);if(s.has(c))continue;s.add(c);let u=n.get(c);if(!u||typeof u.content!=`string`){if(r)throw Error(`Cannot inspect dependency resource: ${o.source}`);continue}let d;try{d=await a(u.content,o.type,u.url,async t=>{let n=kt(e,o.lang,t),[r]=await i([R(e,o.lang,Ct(t),n)]);if(r.status===`rejected`)throw r.reason})}catch(e){if(r)throw e;continue}for(let n of d){let i;try{i=kt(e,o.lang,n)}catch(e){if(r)throw e;continue}let a=t.add(o.lang,i,Ct(i));a&&l.push(a)}}if(!l.length)break;let u=await i(l);o.push(...u);let d=this.getRejectedIdentity(l,u);if(r&&d)throw Error(`Cannot build a complete prefetch plan: dependency unavailable (${d.source})`);c=l}return o}async build(e={}){let{config:t=b(),downloadMarkdown:n=!0,graphFirst:r=!1,strict:i=!1}=e,a=e.prefetchResources||(e=>this.prefetchResources(e)),o=this.createCollector(t);await this.collectConfiguredResources(t,o);let s=[...o.identities.values()],c=new Set(o.identities.keys()),l=new Set(s.filter(e=>e.type===`sidebar`).map(z)),u=this.getLanguages(t).some(e=>Object.values(t.routes).some(n=>n&&typeof n==`object`&&!!ne(n.sidebar,e,t)));if(i&&this.needsSidebarDiscovery(t)&&!l.size&&!u)throw Error(`Cannot build a complete prefetch plan: dynamic routes require a sidebar resource`);let d=n&&!r?s:s.filter(e=>this.isGraphResource(e)),f=await a(d),p=new Set(d.filter((e,t)=>e.type===`sidebar`&&f[t]?.status===`fulfilled`).map(z)),m=await this.collectSidebarResources(t,o,await this.gateway.list(),l);if(i&&[...l].some(e=>!p.has(e)||!m.has(e)))throw Error(`Cannot build a complete prefetch plan: sidebar unavailable or invalid`);let h=this.getRejectedIdentity(d,f);if(i&&h)throw Error(`Cannot build a complete prefetch plan: configured resource unavailable (${h.source})`);let g=[...o.identities].filter(([e])=>!c.has(e)).map(([,e])=>e),_=n&&!r?g:g.filter(e=>this.isGraphResource(e)),v=await a(_),y=this.getRejectedIdentity(_,v);if(i&&y)throw Error(`Cannot build a complete prefetch plan: route resource unavailable (${y.source})`);let x=await this.collectRendererResources({config:t,collector:o,strict:i,loadResources:a}),S=[...o.identities.values()].filter(e=>e.type===`sfc`||e.type===`module`||e.type===`style`),C=await this.collectDependencyResources({config:t,collector:o,seeds:S,strict:i,loadResources:a}),w=new Set([...d,..._].map(z)),T=n?[...o.identities.values()].filter(e=>e.type===`markdown`&&!w.has(z(e))):[],E=await a(T),D=this.getRejectedIdentity(T,E);if(i&&D)throw Error(`Cannot build a complete prefetch plan: route resource unavailable (${D.source})`);let O=await this.collectResourcesDepthFirst(t,o,await this.gateway.list());return o.identities.clear(),O.forEach(e=>o.identities.set(z(e),e)),{config:t,collector:o,results:[...f,...v,...x,...C,...E]}}},Gn=4,Kn=8e3,qn=[`waiting`,`pending`,`success`,`error`],Jn=[`save`,`reset`,`prefetch`,`retry`],Yn=[`default`,`override`],Xn=(e,t)=>e.includes(t)?t:void 0,Zn=e=>e===`style`?`style`:`import`,Qn=e=>Xn(qn,e),$n=e=>Xn(Jn,e),er=e=>Xn(Yn,e),tr=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.namespace==`string`&&typeof t.alias==`string`&&typeof t.url==`string`&&typeof t.updatedAt==`number`&&!!t.alias&&!!t.url&&(t.kind===`import`||t.kind===`style`)},nr=e=>({...e,kind:Zn(e.kind),source:er(e.source),requestStatus:Qn(e.requestStatus),lastAction:$n(e.lastAction),requestStatusUpdatedAt:typeof e.requestStatusUpdatedAt==`number`?e.requestStatusUpdatedAt:void 0,checkedAt:typeof e.checkedAt==`number`?e.checkedAt:void 0,reason:typeof e.reason==`string`?e.reason:void 0}),rr=(e,t)=>e.kind===t.kind?e.alias.localeCompare(t.alias):e.kind===`style`?-1:1,ir=(e,t)=>Object.fromEntries(e.filter(e=>e.kind===t).map(e=>[e.alias,e.url])),ar=(e,t)=>`${e}:${t}`,or=e=>({style:{...(0,s.createBuiltinStyles)(),...e?.styles||{}},import:{...(0,s.createBuiltinImports)(),...e?.modules||{}}}),sr=(e,t,n)=>or(n)[e][t]||``,cr=(e,t)=>{let n=hr(e);return!!n&&n!==hr(t)},lr=e=>{let t=or(e);return[`style`,`import`].flatMap(e=>Object.entries(t[e]).map(([t,n])=>({kind:e,alias:t,defaultUrl:n})))},ur=e=>{if(!e||typeof e!=`object`)return null;let t=e.data;if(t&&typeof t==`object`)return t;if(typeof t!=`string`)return e;try{return JSON.parse(t)}catch{return null}},dr=(e,t,n,r)=>{(e===`style`?s.applyPlaygroundStyleOverride:s.applyPlaygroundImportMapOverride)(t,r?n:``)},fr=(e,t)=>e instanceof Error?e.message:t,pr=new TextEncoder,mr=e=>e.reduce((e,t)=>e+pr.encode(JSON.stringify(t)).length,0),hr=e=>e.split(/\r?\n/u).map(e=>e.trim()).filter(Boolean).join(``),gr=class{store=new a.IndexedDBStore({name:`deot-docs-playground-resource`,storeName:`resources`,keyPath:`__id`,version:1});createId(e,t,n){return[e,t,n].map(encodeURIComponent).join(`|`)}async putRecord(e){await this.store.update(e.id,{...e,data:JSON.stringify(e)})}async list(e){return(await this.store.search()).flatMap(t=>{let n=ur(t);return!tr(n)||n.namespace!==e?[]:[nr(n)]}).sort(rr)}async set(e,t,n,r,i={}){let a=t.trim(),o=hr(n),s=Zn(r);if(!a||!o)return null;let c={id:this.createId(e,s,a),namespace:e,alias:a,url:o,kind:s,updatedAt:Date.now(),...i,source:er(i.source)??(cr(o,sr(s,a))?`override`:`default`)};return await this.putRecord(c),c}async patch(e,t,n,r){let i=this.createId(e,n,t.trim()),a=ur(await this.store.read(i));if(!tr(a))return null;let o=nr({...a,...r,id:i,namespace:e,alias:a.alias,kind:Zn(n)});return await this.putRecord(o),o}async remove(e,t,n){let r=t.trim(),i=Zn(n);await this.store.remove(this.createId(e,i,r))}async clear(e){let t=await this.list(e);await Promise.all(t.map(t=>this.remove(e,t.alias,t.kind)))}},_r=class{cache=new gr;generation=0;seedTask=Promise.resolve();statusSubscribers=/* @__PURE__ */ new Set;sessionStatus=/* @__PURE__ */ new Map;async waitForIdle(){await this.seedTask}subscribeStatus(e){return this.statusSubscribers.add(e),()=>this.statusSubscribers.delete(e)}notifyStatus(){this.statusSubscribers.forEach(e=>{try{e()}catch{}})}sessionKey(e,t,n){return`${e}|${ar(t,n)}`}setSessionStatus(e,t,n,r){this.sessionStatus.set(this.sessionKey(e,t,n),r),this.notifyStatus()}clearSessionStatus(e,t,n){if(t&&n){this.sessionStatus.delete(this.sessionKey(e,t,n)),this.notifyStatus();return}let r=`${e}|`;for(let e of[...this.sessionStatus.keys()])e.startsWith(r)&&this.sessionStatus.delete(e);this.notifyStatus()}async markStatus(e,t,n){this.setSessionStatus(e,t.kind,t.alias,n);let r={requestStatus:n.requestStatus,requestStatusUpdatedAt:n.requestStatusUpdatedAt,checkedAt:n.checkedAt,reason:n.reason,lastAction:n.lastAction,source:t.overridden?`override`:`default`},i=await this.cache.patch(e,t.alias,t.kind,r),a=hr(t.currentUrl);!i&&a&&await this.cache.set(e,t.alias,a,t.kind,r)}async hydrateDefaults(e,t,n,r=()=>!0){let i=new Map(n.map(e=>[ar(e.kind,e.alias),e]));return await Promise.all(lr(t).map(async t=>{if(!r()||!t.defaultUrl)return;let n=ar(t.kind,t.alias),a=i.get(n),o=!!(a?.source==="default"&&cr(a.url,t.defaultUrl));if(a&&!o)return;let s=await this.cache.set(e,t.alias,t.defaultUrl,t.kind,{requestStatus:`waiting`,requestStatusUpdatedAt:Date.now(),source:`default`,lastAction:a?.lastAction});s&&i.set(n,s)})),[...i.values()]}toRows(e,t,n){let r=new Map(n.map(e=>[ar(e.kind,e.alias),e])),i=lr(t),a=new Set(i.map(e=>ar(e.kind,e.alias)));return[...i,...n.filter(e=>!a.has(ar(e.kind,e.alias))).map(e=>({kind:e.kind,alias:e.alias,defaultUrl:``}))].map(t=>{let n=r.get(ar(t.kind,t.alias)),i=this.sessionStatus.get(this.sessionKey(e,t.kind,t.alias)),a=!!(n&&cr(n.url,t.defaultUrl));return{kind:t.kind,alias:t.alias,defaultUrl:t.defaultUrl,currentUrl:a&&n?n.url:t.defaultUrl,overridden:a,requestStatus:i?.requestStatus||n?.requestStatus||`waiting`,requestStatusUpdatedAt:i?.requestStatusUpdatedAt??n?.requestStatusUpdatedAt,updatedAt:n?.updatedAt,checkedAt:i?.checkedAt??n?.checkedAt,reason:i?.reason??n?.reason,lastAction:i?.lastAction??n?.lastAction}}).sort(rr)}async list(e){return this.cache.list(e)}async listPage(e){let t=F(e),n=await this.hydrateDefaults(t,e,await this.cache.list(t));return{rows:this.toRows(t,e,n),bytes:mr(n)}}async set(e,t,n,r){let i=await this.cache.set(e,t,n,r);return i?(dr(i.kind,i.alias,i.url,i.source===`override`),i):null}async remove(e,t,n){let r=Zn(n);await this.cache.remove(e,t,r),dr(r,t,``,!1),this.clearSessionStatus(e,r,t)}async probeUrl(e,t,n){let r=hr(t.currentUrl),i=Date.now();await this.markStatus(e,t,{requestStatus:`pending`,requestStatusUpdatedAt:i,lastAction:n,reason:void 0});let a=(r,i)=>{let a=Date.now();return this.markStatus(e,t,{requestStatus:r?`success`:`error`,requestStatusUpdatedAt:a,checkedAt:a,reason:i,lastAction:n})};if(!(0,s.isSafePlaygroundHref)(r))return await a(!1,`Unsafe URL`),!1;let o=new AbortController,c=setTimeout(()=>o.abort(),Kn);try{let e=await fetch((0,s.resolveCdnURL)(r),{method:`GET`,signal:o.signal,cache:`no-store`});return await a(e.ok,e.ok?void 0:`HTTP ${e.status}`),e.ok}catch(e){return await a(!1,fr(e,`Probe failed`)),!1}finally{clearTimeout(c)}}async runPool(e,t){let n=0,r=0,i=0,a=Array.from({length:Math.min(Gn,e.length)},async()=>{for(;n<e.length;){let a=e[n++];await t(a)?r+=1:i+=1}});return await Promise.all(a),{total:e.length,fulfilled:r,rejected:i}}async withPending(e,t,n,r,i,a,o={}){let s=Date.now();this.setSessionStatus(e,t,n,{...o,requestStatus:`pending`,requestStatusUpdatedAt:s,lastAction:r});try{return await a(s)}catch(a){throw this.setSessionStatus(e,t,n,{...o,requestStatus:`error`,requestStatusUpdatedAt:Date.now(),lastAction:r,reason:fr(a,i)}),a}}async save(e,t,n,r,i){let a=hr(n),o=hr(i??sr(r,t));return this.withPending(e,r,t,`save`,`Save failed`,async n=>{if(!a)throw Error(`Invalid alias or url`);let i=cr(a,o),s=await this.cache.set(e,t,a,r,{requestStatus:`pending`,requestStatusUpdatedAt:n,lastAction:`save`,source:i?`override`:`default`,reason:void 0});if(!s)throw Error(`Invalid alias or url`);return dr(s.kind,s.alias,s.url,i),this.clearSessionStatus(e,r,t),await this.probeUrl(e,{kind:s.kind,alias:s.alias,currentUrl:s.url,overridden:i},`save`),s},{pendingUrl:a})}async reset(e,t,n,r){return this.withPending(e,n,t,`reset`,`Rollback failed`,async i=>{let a=hr(r);if(a){if(!await this.cache.set(e,t,a,n,{requestStatus:`pending`,requestStatusUpdatedAt:i,lastAction:`reset`,source:`default`,reason:void 0}))throw Error(`Invalid alias or url`)}else await this.cache.remove(e,t,n);dr(n,t,``,!1),this.clearSessionStatus(e,n,t),a&&await this.probeUrl(e,{kind:n,alias:t,currentUrl:a,overridden:!1},`reset`)})}async prefetch(e,t){return this.runPool(t,t=>this.probeUrl(e,t,`prefetch`))}async retry(e,t){let n=this.sessionStatus.get(this.sessionKey(e,t.kind,t.alias)),r=t.lastAction||n?.lastAction;return r===`save`&&t.requestStatus===`error`&&n?.pendingUrl?this.save(e,t.alias,n.pendingUrl,t.kind,t.defaultUrl):r===`reset`&&t.requestStatus===`error`&&t.overridden?(await this.reset(e,t.alias,t.kind,t.defaultUrl),null):(await this.probeUrl(e,t,`retry`),null)}async clear(e){this.generation+=1,await this.seedTask.catch(()=>void 0),await this.cache.clear(e),this.clearSessionStatus(e),(0,s.setPlaygroundImportMapOverrides)({}),(0,s.setPlaygroundStyleOverrides)({})}async start(e){let t=++this.generation,n=()=>{t===this.generation&&(this.generation++,(0,s.clearPlaygroundMaps)(),this.sessionStatus.clear())};try{let r=F(e),i=await this.cache.list(r);if(t!==this.generation)return n;let a=or(e),o=i.filter(e=>e.source!=="default"&&cr(e.url,a[e.kind][e.alias]||``));(0,s.setPlaygroundSiteModules)(e.modules||{}),(0,s.setPlaygroundSiteStyles)(e.styles||{}),(0,s.setPlaygroundImportMapOverrides)(ir(o,`import`)),(0,s.setPlaygroundStyleOverrides)(ir(o,`style`)),this.seedTask=this.hydrateDefaults(r,e,i,()=>t===this.generation).then(()=>void 0,()=>void 0)}catch{t===this.generation&&(0,s.clearPlaygroundMaps)()}return n}},vr=2,yr=1500,br=16,xr=class{gateway;plan;constructor(e,t){this.gateway=e,this.plan=t}normalizeOptions(e){if(e===!1)return null;let t=typeof e==`object`?e:{},n=Number(t.batchSize),r=Number(t.idleTimeout);return{batchSize:Number.isFinite(n)&&n>0?Math.min(20,Math.max(1,Math.floor(n))):vr,idleTimeout:Number.isFinite(r)&&r>=0?r:yr}}createAbortError(){let e=/* @__PURE__ */ Error(`Idle prefetch aborted`);return e.name=`AbortError`,e}start(e,t=window){let n=this.normalizeOptions(e.prefetch);if(!n)return()=>void 0;let r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=new AbortController,o=null,s=!1,c=!1,l=!1,u=!1,d=()=>{o&&=(o.type===`idle`?t.cancelIdleCallback?.(o.id):t.clearTimeout(o.id),null)},f=()=>new Promise((e,r)=>{if(a.signal.aborted){r(this.createAbortError());return}let i=()=>{a.signal.removeEventListener(`abort`,c),o=null},s=()=>{i(),e()},c=()=>{d(),i(),r(this.createAbortError())};a.signal.addEventListener(`abort`,c,{once:!0}),o=typeof t.requestIdleCallback==`function`?{id:t.requestIdleCallback(s,{timeout:n.idleTimeout}),type:`idle`}:{id:t.setTimeout(s,br),type:`timer`}}),p=async e=>{let t=Array(e.length),o=e.map((e,t)=>({identity:e,index:t})).filter(({identity:e,index:n})=>!r.has(z(e))||(t[n]={status:`fulfilled`},!1));for(let e=0;e<o.length;e+=n.batchSize){await f();let s=o.slice(e,e+n.batchSize),c=await this.gateway.prefetch(s.map(e=>e.identity),{priority:25,signal:a.signal});s.forEach((e,n)=>{let a=z(e.identity),o=c[n];t[e.index]=o,o.status===`fulfilled`?(r.add(a),i.delete(a)):i.add(a)})}return t},m=async()=>{if(!(s||u)){s=!0,c=!1;try{await this.plan.build({config:e,graphFirst:!0,prefetchResources:p}),l=i.size>0}catch(e){e?.name!==`AbortError`&&(l=!0)}finally{s=!1,!u&&c&&l&&m()}}},h=()=>{u||!s&&!l||(s?c=!0:m())};return t.addEventListener(`online`,h),m(),()=>{u||(u=!0,d(),a.abort(),t.removeEventListener(`online`,h))}}},K=new class{gateway=G;plan=new Wn(this.gateway);prefetch=new xr(this.gateway,this.plan);playground=new _r},Sr=20,Cr=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.namespace==`string`&&typeof t.lang==`string`&&typeof t.path==`string`&&typeof t.hash==`string`&&typeof t.title==`string`&&typeof t.pinned==`boolean`&&typeof t.visitedAt==`number`},wr=e=>[e.namespace,e.lang,e.path,e.hash].map(encodeURIComponent).join(`|`),Tr=class{store=new a.IndexedDBStore({name:`deot-docs-search`,storeName:`history`,keyPath:`__id`,version:1});async list(e,t){let n=await this.store.search();return(await Promise.all(n.map(e=>this.store.get(String(e.__id))))).filter(Cr).filter(n=>n.namespace===e&&n.lang===t).sort((e,t)=>Number(t.pinned)-Number(e.pinned)||(t.pinnedAt||0)-(e.pinnedAt||0)||t.visitedAt-e.visitedAt)}async record(e){let t=wr(e),n=await this.store.get(t),r=Cr(n)?n:null,i=await this.list(e.namespace,e.lang);if(!r&&i.length>=Sr){let e=[...i].filter(e=>!e.pinned).sort((e,t)=>e.visitedAt-t.visitedAt)[0];if(!e)return!1;await this.store.remove(e.id)}return await this.store.set(t,{...e,id:t,pinned:r?.pinned||!1,pinnedAt:r?.pinnedAt,visitedAt:Date.now()}),!0}async togglePinned(e){let t=await this.store.get(e);if(!Cr(t))return null;let n=!t.pinned,r={...t,pinned:n,pinnedAt:n?Date.now():void 0};return await this.store.set(e,r),r}async remove(e){await this.store.remove(e)}},Er=50,Dr=e=>e.normalize(`NFKC`).toLocaleLowerCase(),Or=e=>Dr(e).split(/\s+/u).filter(Boolean),kr=(e,t)=>{let n=Dr(e);return t.every(e=>n.includes(e))},Ar=(e,t,n,r)=>{let i=Dr(e);return kr(e,n)?i===t?r+300:i.startsWith(t)?r+200:i.includes(t)?r+100:r:0},jr=(e,t)=>{if(!e)return``;let n=Dr(e),r=t.map(e=>n.indexOf(e)).filter(e=>e>=0),i=r.length?Math.min(...r):0,a=Math.max(0,i-45),o=Math.min(e.length,a+140);return`${a?`…`:``}${e.slice(a,o).trim()}${o<e.length?`…`:``}`},Mr=async(e,n,r)=>{let i=JSON.parse(n),a=(i&&typeof i==`object`?i:{}).layout?.mode===`draggable`?`draggable`:`sortable`,o=Bn(e).catalog,s=await(0,u.prepareRendererDocument)(i,o,{scene:`renderer`,frameMode:a,readonly:!0,lang:r,locale:(0,t.resolveLocale)(r,e.locales)});if(!s.document)throw TypeError(s.issues.map(e=>e.message).join(`; `));let c=[],l=[],d=new Set(s.issues.filter(e=>e.severity===`error`&&e.nodeId).map(e=>e.nodeId));for(let e of s.document.blocks){if(d.has(e.id))continue;let t=(await o.get(e.module.type))?.integrations?.collectSearchText?.(e.module.props)||[];for(let e of t)e.text&&l.push(e.text),e.title&&c.push({title:e.title,anchor:e.anchor||``,text:e.text})}return{title:s.document.meta.title||``,text:l.join(` `),sections:c}},Nr=new class{history=new Tr;parsed=/* @__PURE__ */ new Map;documents=/* @__PURE__ */ new Map;async prepare(e){let n=b(),r=F(n),a=(0,t.buildTranslator)((0,t.resolveLocale)(e,n.locales)),o=await G.list(),s=await K.plan.collectRouteResources(n,o),c=new Map(s.map(e=>[z(e.identity),e.path])),l=[];for(let t of o){if(t.identity.namespace!==r||t.identity.lang!==e||![`markdown`,`page`].includes(t.identity.type)||typeof t.content!=`string`)continue;let o=z(t.identity),s=c.get(o);if(!s)continue;let u=this.parsed.get(o);if(u&&u.hash===t.hash){l.push({...u,path:s});continue}let d;try{d=t.identity.type===`page`?await Mr(n,t.content,e):(0,i.parseMarkdownSearchSections)(t.content)}catch{continue}let f=t.identity.source.split(`/`).at(-1)?.replace(/\.(?:page\.json|md|markdown)$/iu,``)||a(`client.search.untitled`),p={key:o,hash:t.hash||``,namespace:r,lang:e,path:s,source:t.identity.source,title:d.title||f,text:d.text,sections:d.sections.filter((e,t)=>!(t===0&&`level`in e&&e.level===1&&e.title===d.title)).map(e=>({title:e.title,anchor:e.anchor,text:e.text}))};this.parsed.set(o,p),l.push(p)}let u=Ut(n,e);if(Lt(u)){let t=`${r}|${e}|inline-home`;try{let i=await Mr(n,JSON.stringify(u),e);l.push({key:t,hash:`inline-home`,namespace:r,lang:e,path:`/${e}`,source:`home`,title:i.title||a(`client.search.untitled`),text:i.text,sections:i.sections.map(e=>({title:e.title,anchor:e.anchor,text:e.text}))})}catch{}}return this.documents.set(`${r}|${e}`,l),l.length}getPreparedCount(e){let t=F(b());return this.documents.get(`${t}|${e}`)?.length||0}async query(e,t){let n=Or(t);if(!n.length)return[];let r=n.join(` `);await this.prepare(e);let i=F(b()),a=this.documents.get(`${i}|${e}`)||[],o=[];for(let e of a){let t=Ar(e.title,r,n,1e3),i=kr(`${e.title} ${e.text}`,n)?200:0;(t||i)&&o.push({id:wr({...e,hash:``}),kind:`document`,namespace:e.namespace,lang:e.lang,path:e.path,hash:``,title:e.title,source:e.source,excerpt:jr(e.text,n),score:t||i});for(let t of e.sections){let i=Ar(t.title,r,n,600),a=kr(`${t.title} ${t.text}`,n)?100:0;if(!i&&!a)continue;let s=t.anchor?`#${t.anchor}`:``;o.push({id:wr({...e,hash:s}),kind:`section`,namespace:e.namespace,lang:e.lang,path:e.path,hash:s,title:e.title,sectionTitle:t.title,source:e.source,excerpt:jr(t.text,n),score:i||a})}}return o.sort((e,t)=>t.score-e.score||e.title.localeCompare(t.title)||(e.sectionTitle||``).localeCompare(t.sectionTitle||``)).slice(0,Er)}listHistory(e){return this.history.list(F(b()),e)}record(e){return this.history.record(e)}togglePinned(e){return this.history.togglePinned(e)}removeHistory(e){return this.history.remove(e)}},Pr=[`aria-label`],Fr={class:`docs-search__header`},Ir=[`placeholder`,`aria-label`],Lr={class:`docs-search__actions`},Rr=[`aria-label`],zr={class:`docs-search__body`},Br={class:`docs-search__content`},Vr={key:0,class:`docs-search__state`},Hr={key:1,class:`docs-search__state docs-search__state--error`},Ur={class:`docs-search__group-title`},Wr=[`data-search-index`,`onMouseenter`,`onClick`],Gr={class:`docs-search__result-icon`,"aria-hidden":`true`},Kr={class:`docs-search__result-content`},qr={class:`docs-search__result-title`},Jr={key:0,class:`docs-search__result-parent`},Yr={key:1,class:`docs-search__result-excerpt`},Xr={key:0,class:`docs-search__state`},Zr={class:`docs-search__group-title`},Qr=[`data-search-index`,`onMouseenter`,`onClick`],$r={class:`docs-search__result-content`},ei={class:`docs-search__result-title`},ti={key:0,class:`docs-search__result-parent`},ni=[`aria-label`,`onClick`],ri=[`aria-label`,`onClick`],ii={key:0,class:`docs-search__state`},ai={class:`docs-search__footer`},oi=80,si=/* @__PURE__ */ (0,e.defineComponent)({__name:`search`,props:{lang:{},locale:{},onNavigate:{type:Function}},emits:[`portal-fulfilled`],setup(r,{emit:i}){let a=r,{t:o}=(0,t.useLocale)((0,e.computed)(()=>a.locale)),s=i,c=(0,e.ref)(),l=(0,e.ref)(``),u=(0,e.ref)([]),d=(0,e.ref)([]),f=(0,e.ref)(-1),p=(0,e.ref)(0),m=(0,e.ref)(!1),h=(0,e.ref)(``),g=(0,e.ref)(!1),_,v,y=0,b=!0,x=(0,e.computed)(()=>l.value.trim()?u.value:d.value),S=()=>{_&&clearTimeout(_),_=void 0},C=()=>{f.value=x.value.length?0:-1},w=async()=>{try{d.value=await Nr.listHistory(a.lang),h.value=``,C()}catch(e){h.value=e instanceof Error?e.message:o(`client.search.historyLoadFailed`)}},T=async()=>{let e=++y;if(l.value.trim()){m.value=!0;try{let t=await Nr.query(a.lang,l.value);if(e!==y)return;u.value=t,p.value=Nr.getPreparedCount(a.lang),h.value=``,C()}catch(t){if(e!==y)return;h.value=t instanceof Error?t.message:o(`client.search.queryFailed`),u.value=[],f.value=-1}finally{e===y&&(m.value=!1)}}else{m.value=!1,u.value=[],await w();try{let t=await Nr.prepare(a.lang);e===y&&(p.value=t)}catch{}}},E=()=>{S(),_=setTimeout(()=>void T(),oi)},D=async()=>{if(l.value=``,u.value=[],h.value=``,await w(),b){try{p.value=await Nr.prepare(a.lang)}catch{}b&&(v?.(),v=G.subscribeStatus(e=>{b&&e.identity.lang===a.lang&&e.identity.type===`markdown`&&e.requestStatus===`success`&&E()}),await(0,e.nextTick)(),c.value?.focus())}},O=async()=>{b=!1,l.value=``,u.value=[],y+=1,S(),v?.(),v=void 0,s(`portal-fulfilled`)},k=async()=>{y+=1,m.value=!1,S(),l.value=``,u.value=[],await w(),await(0,e.nextTick)(),c.value?.focus()},A=e=>{f.value=e},j=async()=>{await(0,e.nextTick)(),document.querySelector(`.docs-search [data-search-index="${f.value}"]`)?.scrollIntoView?.({block:`nearest`})},M=async e=>{x.value.length&&(f.value=(f.value+e+x.value.length)%x.value.length,await j())},N=async e=>{try{await Nr.record(e)}catch{}await a.onNavigate({path:e.path,hash:e.hash}),await O()},P=async e=>{try{await Nr.togglePinned(e),await w()}catch(e){h.value=e instanceof Error?e.message:o(`client.search.historyUpdateFailed`)}},F=async e=>{try{await Nr.removeHistory(e),await w()}catch(e){h.value=e instanceof Error?e.message:o(`client.search.historyRemoveFailed`)}},I=async e=>{if(e.key===`Escape`)e.preventDefault(),await O();else if(e.key===`ArrowDown`)e.preventDefault(),await M(1);else if(e.key===`ArrowUp`)e.preventDefault(),await M(-1);else if(e.key===`Enter`&&!g.value&&!e.isComposing){e.preventDefault();let t=x.value[f.value];t&&await N(t)}},L=()=>{g.value=!1,E()};return(0,e.watch)(l,()=>{b&&!g.value&&E()}),(0,e.onMounted)(()=>void D()),(0,e.onBeforeUnmount)(()=>{b=!1,y+=1,S(),v?.()}),(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`docs-search-mask`,role:`presentation`,onClick:(0,e.withModifiers)(O,[`self`])},[(0,e.createElementVNode)(`section`,{class:`docs-search`,role:`dialog`,"aria-modal":`true`,"aria-label":(0,e.unref)(o)(`client.search.dialogLabel`),onKeydown:I},[(0,e.createElementVNode)(`header`,Fr,[r[2]||=(0,e.createElementVNode)(`span`,{class:`docs-search__icon`,"aria-hidden":`true`},null,-1),(0,e.withDirectives)((0,e.createElementVNode)(`input`,{ref_key:`input`,ref:c,"onUpdate:modelValue":r[0]||=e=>l.value=e,class:`docs-search__input`,type:`search`,placeholder:(0,e.unref)(o)(`client.search.placeholder`),autocomplete:`off`,"aria-label":(0,e.unref)(o)(`client.search.placeholder`),onCompositionstart:r[1]||=e=>g.value=!0,onCompositionend:L},null,40,Ir),[[e.vModelText,l.value]]),(0,e.createElementVNode)(`div`,Lr,[l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,class:`docs-search__clear`,type:`button`,onClick:k},(0,e.toDisplayString)((0,e.unref)(o)(`client.search.clearQuery`)),1)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createElementVNode)(`button`,{class:`docs-search__close`,type:`button`,"aria-label":(0,e.unref)(o)(`client.search.close`),onClick:O},` esc `,8,Rr)])]),(0,e.createElementVNode)(`div`,zr,[(0,e.createVNode)((0,e.unref)(n.Scroller),{class:`docs-search__scroller`,"auto-resize":!0,native:!1,"show-bar":!0,height:`100%`,"wrapper-style":`overflow-x: hidden;`},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,Br,[m.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Vr,(0,e.toDisplayString)((0,e.unref)(o)(`client.search.searching`)),1)):h.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Hr,(0,e.toDisplayString)(h.value),1)):l.value.trim()?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:2},[(0,e.createElementVNode)(`div`,Ur,(0,e.toDisplayString)((0,e.unref)(o)(`client.search.documentation`)),1),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(u.value,(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:`${t.id}:${t.kind}`,class:(0,e.normalizeClass)([`docs-search__result`,{"docs-search__result--active":n===f.value,"docs-search__result--section":t.kind===`section`}]),"data-search-index":n,type:`button`,onMouseenter:e=>A(n),onClick:e=>N(t)},[(0,e.createElementVNode)(`span`,Gr,(0,e.toDisplayString)(t.kind===`section`?`#`:`▤`),1),(0,e.createElementVNode)(`span`,Kr,[(0,e.createElementVNode)(`span`,qr,[(0,e.createVNode)(Be,{text:t.sectionTitle||t.title,keyword:l.value},null,8,[`text`,`keyword`])]),t.kind===`section`?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Jr,(0,e.toDisplayString)(t.title),1)):t.excerpt?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Yr,[(0,e.createVNode)(Be,{text:t.excerpt,keyword:l.value},null,8,[`text`,`keyword`])])):(0,e.createCommentVNode)(`v-if`,!0)]),r[3]||=(0,e.createElementVNode)(`span`,{class:`docs-search__enter`,"aria-hidden":`true`},`↵`,-1)],42,Wr))),128)),u.value.length?(0,e.createCommentVNode)(`v-if`,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Xr,(0,e.toDisplayString)(p.value?(0,e.unref)(o)(`client.search.noResults`):(0,e.unref)(o)(`client.search.noCachedDocuments`)),1))],64)):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:3},[(0,e.createElementVNode)(`div`,Zr,(0,e.toDisplayString)((0,e.unref)(o)(`client.search.recent`)),1),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(d.value,(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:t.id,class:(0,e.normalizeClass)([`docs-search__history`,{"docs-search__history--active":n===f.value}]),"data-search-index":n,role:`button`,tabindex:`-1`,onMouseenter:e=>A(n),onClick:e=>N(t)},[r[4]||=(0,e.createElementVNode)(`span`,{class:`docs-search__history-icon`,"aria-hidden":`true`},`↶`,-1),(0,e.createElementVNode)(`span`,$r,[(0,e.createElementVNode)(`span`,ei,(0,e.toDisplayString)(t.sectionTitle||t.title),1),t.sectionTitle?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ti,(0,e.toDisplayString)(t.title),1)):(0,e.createCommentVNode)(`v-if`,!0)]),(0,e.createElementVNode)(`button`,{class:(0,e.normalizeClass)([`docs-search__history-action`,{"docs-search__history-action--active":t.pinned}]),type:`button`,"aria-label":t.pinned?(0,e.unref)(o)(`client.search.unpin`):(0,e.unref)(o)(`client.search.pin`),onClick:(0,e.withModifiers)(e=>P(t.id),[`stop`])},(0,e.toDisplayString)(t.pinned?`★`:`☆`),11,ni),(0,e.createElementVNode)(`button`,{class:`docs-search__history-action`,type:`button`,"aria-label":(0,e.unref)(o)(`client.search.remove`),onClick:(0,e.withModifiers)(e=>F(t.id),[`stop`])},` × `,8,ri)],42,Qr))),128)),d.value.length?(0,e.createCommentVNode)(`v-if`,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ii,(0,e.toDisplayString)((0,e.unref)(o)(`client.search.noRecent`)),1))],64))])]),_:1})]),(0,e.createElementVNode)(`footer`,ai,[(0,e.createElementVNode)(`span`,null,[r[5]||=(0,e.createElementVNode)(`kbd`,null,`↓`,-1),r[6]||=(0,e.createElementVNode)(`kbd`,null,`↑`,-1),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(o)(`client.search.navigateHint`)),1)]),(0,e.createElementVNode)(`span`,null,[r[7]||=(0,e.createElementVNode)(`kbd`,null,`↵`,-1),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(o)(`client.search.selectHint`)),1)]),(0,e.createElementVNode)(`span`,null,[r[8]||=(0,e.createElementVNode)(`kbd`,null,`ESC`,-1),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(o)(`client.search.closeHint`)),1)])])],40,Pr)]))}}),ci=new n.Portal(si,{name:`docs-search`,leaveDelay:0,multiple:!1}),li=[`aria-label`],ui={class:`docs-search-trigger__shortcut`},di=/* @__PURE__ */ (0,e.defineComponent)({__name:`trigger`,setup(n){let i=(0,r.useRoute)(),a=(0,r.useRouter)(),{locale:o,t:s}=(0,t.useLocale)(),c=(0,e.ref)(),l=(0,e.computed)(()=>String(i.params.lang||`zh-CN`)),u=/Mac|iPhone|iPad/i.test(`${navigator.platform} ${navigator.userAgent}`)?`⌘K`:`Ctrl K`,d=()=>{ci.popup({lang:l.value,locale:o.value,onNavigate:e=>a.push(e),onDestroyed:()=>c.value?.focus()})},f=e=>{e.repeat||e.altKey||e.code!==`KeyK`||(e.metaKey||e.ctrlKey)&&(e.preventDefault(),!document.querySelector(`.docs-search`)&&d())};return(0,e.watch)(l,()=>ci.destroy()),(0,e.onMounted)(()=>window.addEventListener(`keydown`,f)),(0,e.onBeforeUnmount)(()=>{window.removeEventListener(`keydown`,f),ci.destroy()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{ref_key:`trigger`,ref:c,class:`docs-search-trigger`,type:`button`,"aria-label":(0,e.unref)(s)(`client.search.dialogLabel`),onClick:d},[n[0]||=(0,e.createElementVNode)(`span`,{class:`docs-search-trigger__icon`,"aria-hidden":`true`},null,-1),(0,e.createElementVNode)(`kbd`,ui,(0,e.toDisplayString)((0,e.unref)(u)),1)],8,li))}}),fi={language:{filled:!0,path:[`m18.5 10 4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10z`,`M10 2v2h6v2h-1.968a18.2 18.2 0 0 1-3.62 6.301 15 15 0 0 0 2.335 1.707`,`l-.75 1.878A17 17 0 0 1 9 13.725a16.7 16.7 0 0 1-6.201 3.548l-.536-1.929`,`a14.7 14.7 0 0 0 5.327-3.042A18 18 0 0 1 4.767 8h2.24A16 16 0 0 0 9 10.877`,`a16.2 16.2 0 0 0 2.91-4.876L2 6V4h6V2zm7.5 10.885L16.253 16h2.492z`].join(``)},sun:{filled:!1,path:[`M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12M12 2V0m0 24v-2`,`M4.22 4.22 2.8 2.8m18.4 18.4-1.42-1.42M2 12H0m24 0h-2`,`M4.22 19.78 2.8 21.2M21.2 2.8l-1.42 1.42`].join(``)},moon:{filled:!1,path:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79`},database:{filled:!1,path:[`M4 6c0-1.66 3.58-3 8-3s8 1.34 8 3-3.58 3-8 3-8-1.34-8-3Z`,`M4 6v6c0 1.66 3.58 3 8 3s8-1.34 8-3V6M4 12v6c0 1.66 3.58 3 8 3s8-1.34 8-3v-6`].join(``)},playgroundResource:{filled:!1,path:[`M3 4.5h18v3H3zm0 6h12v3H3zm0 6h18v3H3z`,`M16.5 8.25 22 12l-5.5 3.75V8.25z`].join(``)},editor:{filled:!1,path:[`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84`,`a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`].join(``)},more:{filled:!1,path:[`M4 4h6v6H4zm10 0h6v6h-6z`,`M4 14h6v6H4zm10 0h6v6h-6z`].join(``)},menu:{filled:!1,path:`M4 7h16M4 12h16M4 17h16`},close:{filled:!1,path:`m6 6 12 12M18 6 6 18`},back:{filled:!1,path:`M19 12H5m6-6-6 6 6 6`},home:{filled:!1,path:`M3 11 12 3l9 8M5 10v10h14V10M9 20v-6h6v6`},github:{filled:!0,path:[`M12.001 2c-5.525 0-10 4.475-10 10a9.99 9.99 0 0 0 6.837 9.488`,`c.5.087.688-.213.688-.476c0-.237-.013-1.024-.013-1.862c-2.512.463-3.162-.612`,`-3.362-1.175c-.113-.288-.6-1.175-1.025-1.413c-.35-.187-.85-.65-.013-.662`,`c.788-.013 1.35.725 1.538 1.025c.9 1.512 2.337 1.087 2.912.825`,`c.088-.65.35-1.087.638-1.337c-2.225-.25-4.55-1.113-4.55-4.938`,`c0-1.088.387-1.987 1.025-2.687c-.1-.25-.45-1.275.1-2.65c0 0 .837-.263`,` 2.75 1.024a9.3 9.3 0 0 1 2.5-.337c.85 0 1.7.112 2.5.337c1.913-1.3`,` 2.75-1.024 2.75-1.024c.55 1.375.2 2.4.1 2.65c.637.7 1.025 1.587`,` 1.025 2.687c0 3.838-2.337 4.688-4.562 4.938c.362.312.675.912.675 1.85`,`c0 1.337-.013 2.412-.013 2.75c0 .262.188.574.688.474A10.02 10.02 0 0 0 22 12`,`c0-5.525-4.475-10-10-10`].join(``)},repository:{filled:!1,path:[`M4 5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z`,`M10 9.5 8 12l2 2.5M14 9.5 16 12l-2 2.5`].join(``)},widthRegular:{filled:!1,path:[`M7 3h10a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,`M7 8h10`].join(``)},widthWide:{filled:!1,path:[`M3 3h18a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,`M3 8h18`,`M12 8v13`].join(``)},widthFull:{filled:!1,path:[`M15 3h6v6`,`M9 21H3v-6`,`M21 3l-7 7`,`M3 21l7-7`].join(``)}},pi=[`data-icon`,`fill`,`stroke`],mi=[`d`],hi=/* @__PURE__ */ (0,e.defineComponent)({__name:`icon`,props:{name:{},size:{}},setup(t){let n=t,r=(0,e.computed)(()=>fi[n.name]),i=(0,e.computed)(()=>{if(n.size==null)return;let e=typeof n.size==`number`?`${n.size}px`:n.size;return{width:e,height:e}});return(n,a)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{class:`docs-client-icon`,"data-icon":t.name,viewBox:`0 0 24 24`,style:(0,e.normalizeStyle)(i.value),fill:r.value.filled?`currentColor`:`none`,stroke:r.value.filled?`none`:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,e.createElementVNode)(`path`,{d:r.value.path},null,8,mi)],12,pi))}}),gi=[`aria-checked`,`aria-label`,`onKeydown`],_i=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(r){let{t:i}=(0,t.useLocale)(),a=(0,e.ref)(),o=(0,e.computed)(()=>ve.current.value===`dark`),s=(0,e.computed)(()=>i(o.value?`client.header.switchToLight`:`client.header.switchToDark`)),c=()=>ve.toggle(a.value),l=()=>ve.toggle(a.value);return(t,r)=>(0,e.unref)(ve).enabled.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,ref_key:`togglerRef`,ref:a,class:`theme-toggler-content theme-toggler`,role:`switch`,tabindex:`0`,"aria-checked":o.value,"aria-label":s.value,onClickCapture:c,onKeydown:[(0,e.withKeys)((0,e.withModifiers)(l,[`stop`,`prevent`]),[`enter`]),(0,e.withKeys)((0,e.withModifiers)(l,[`stop`,`prevent`]),[`space`])]},[(0,e.createVNode)((0,e.unref)(n.Switch),{"model-value":(0,e.unref)(ve).current.value,"checked-value":`dark`,"unchecked-value":`light`,width:40,height:24,"border-width":1},null,8,[`model-value`]),(0,e.createVNode)((0,e.unref)(hi),{name:o.value?`moon`:`sun`,class:(0,e.normalizeClass)([`theme-toggler__icon`,o.value?`is-dark`:`is-light`])},null,8,[`name`,`class`])],40,gi)):(0,e.createCommentVNode)(`v-if`,!0)}}),vi=`docs-renderer-inline-document`,yi=()=>{try{let e=sessionStorage.getItem(vi);if(!e)return;let t=JSON.parse(e);if(!t||typeof t!=`object`)return;let n=t;if(typeof n.from!=`string`)return;let r=(0,u.validateRendererDocument)(n.document);return r.document?{from:n.from,document:r.document}:void 0}catch{return}},bi=(e,t)=>{let n=(0,u.validateRendererDocument)(t);if(n.document)try{sessionStorage.setItem(vi,JSON.stringify({from:e,document:(0,u.cloneRendererValue)(n.document)}))}catch{}},xi=e=>{let t=yi();if(t&&t.from===e)return(0,u.cloneRendererValue)(t.document)},Si={class:`docs-header`},Ci=[`href`],wi=[`src`],Ti=[`src`],Ei={class:`docs-header__search`},Di=[`aria-label`],Oi=[`aria-expanded`],ki=[`href`],Ai={key:2},ji=[`href`],Mi={key:3,class:`docs-header__nav-item`},Ni={class:`docs-header__actions`},Pi={key:0,class:`docs-header__locales`},Fi=[`title`,`aria-label`,`aria-expanded`],Ii=[`href`,`title`,`aria-label`],Li={class:`docs-header__tools`},Ri=[`title`,`aria-label`,`aria-expanded`],zi=/* @__PURE__ */ (0,e.defineComponent)({__name:`default-header`,setup(i){let a=(0,r.useRoute)(),o=(0,r.useRouter)(),s=b(),{t:c}=(0,t.useLocale)(),l=(0,e.ref)(!1),u=(0,e.ref)(!1),d=(0,e.computed)(()=>String(a.params.lang));function f(e){return!e||typeof e!=`object`||Array.isArray(e)?e:U(e,d.value)??U(e,P(s))}let p=s.layout?.header?.brand,m=(0,e.computed)(()=>f(s.layout?.header?.nav)||[]),h=(0,e.ref)({});function g(e){if(!e||S(e))return!1;let t=H(s,d.value,e);return a.path===t||a.path.startsWith(`${t}/`)}function _(e){return g(e.value)||!!e.children?.some(e=>g(e.value))}let v=(0,e.computed)(()=>f(p?.logo)||``),y=(0,e.computed)(()=>f(p?.label)||s.namespace||c(`client.header.brand`)),x=(0,e.computed)(()=>f(p?.value)||`/${d.value}`),C=(0,e.computed)(()=>S(x.value)),w=(0,e.computed)(()=>H(s,d.value,x.value)),T=(0,e.computed)(()=>`/${d.value}/__docs/database`),E=(0,e.computed)(()=>`/${d.value}/__docs/playground-resource`),D=(0,e.computed)(()=>Object.entries(s.locales).map(([e,t])=>({label:t.label,value:e})));function O(e){let t=e?.trim();if(!t)return``;try{let e=new URL(t);return[`http:`,`https:`].includes(e.protocol)?t:``}catch{return``}}let k=(0,e.computed)(()=>O(s.repository)),A=(0,e.computed)(()=>{try{let e=new URL(k.value).hostname.toLowerCase();return e===`github.com`||e.endsWith(`.github.com`)?`github`:`repository`}catch{return`repository`}}),j=(0,e.computed)(()=>[{value:`editor`,icon:`editor`,label:c(`client.header.editor`),selected:!!a.meta.docsEditor},{value:`playgroundResource`,icon:`playgroundResource`,label:c(`client.header.playgroundResource`),selected:!!a.meta.docsPlaygroundResource},{value:`database`,icon:`database`,label:c(`client.header.database`),selected:!!a.meta.docsDatabase}]),M=e=>{let t=a.path.split(`/`).filter(Boolean);return t[0]=e,{path:`/${t.join(`/`)}`,query:a.query,hash:a.hash}},N=e=>{l.value=!1;let t=String(e);t!==d.value&&o.push(M(t))},F=e=>Lt(e),I=async()=>{let e=a.meta.docsRoute,t=a.meta.docsHome?Ut(s,d.value):Wt(e?.content,d.value,s),n=a.meta.docsHome?`home`:``;a.meta.docsHome&&typeof t==`string`&&(n=`page`),!a.meta.docsHome&&F(t)?(bi(a.fullPath,t),await o.push({path:`/${d.value}/__docs/renderer-editor`,query:{from:a.fullPath,type:`inline`}})):(t==="default"&&e&&(t=await s.resolve?.markdown?.({lang:d.value,value:te(a,e),route:a})||`./${te(a,e)}.md`),typeof t==`string`&&(n=/\.page\.json(?:$|[?#])/i.test(t)?`page`:/\.vue(?:$|[?#])/i.test(t)?`sfc`:`markdown`),await o.push({path:`/${d.value}/__docs/renderer-editor`,query:{from:a.fullPath,type:n,...typeof t==`string`?{source:t}:{}}}))},L=e=>{u.value=!1,e===`editor`?I():e===`playgroundResource`?o.push(E.value):e===`database`&&o.push(T.value)};return(t,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`header`,Si,[C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,class:`docs-header__brand`,href:x.value,target:`_blank`,rel:`noopener noreferrer`},[v.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`docs-header__brand-logo`,src:v.value,alt:``},null,8,wi)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createTextVNode)(` `+(0,e.toDisplayString)(y.value),1)],8,Ci)):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:1,class:`docs-header__brand`,to:w.value},{default:(0,e.withCtx)(()=>[v.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`docs-header__brand-logo`,src:v.value,alt:``},null,8,Ti)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createTextVNode)(` `+(0,e.toDisplayString)(y.value),1)]),_:1},8,[`to`])),(0,e.createElementVNode)(`div`,Ei,[(0,e.createVNode)((0,e.unref)(di))]),m.value.length?((0,e.openBlock)(),(0,e.createElementBlock)(`nav`,{key:2,class:`docs-header__nav`,"aria-label":(0,e.unref)(c)(`client.header.nav`)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(m.value,(t,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:`${t.label}:${t.value||``}:${i}`},[t.children?.length?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Dropdown),{key:0,"model-value":!!h.value[i],class:`docs-header__nav-dropdown`,"portal-class":`docs-header__nav-portal`,trigger:`hover`,placement:`bottom`,"onUpdate:modelValue":e=>h.value[i]=!!e},{content:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DropdownMenu),{class:`docs-header__nav-options`,role:`menu`,"aria-label":t.label},{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.children,t=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.DropdownItem),{key:`${t.label}:${t.value||``}`,class:`docs-header__nav-option`,value:t.value||t.label,role:`menuitem`},{default:(0,e.withCtx)(()=>[t.value&&(0,e.unref)(S)(t.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:t.value,target:`_blank`,rel:`noopener noreferrer`},(0,e.toDisplayString)(t.label),9,ki)):t.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:1,to:(0,e.unref)(H)((0,e.unref)(s),d.value,t.value)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.label),1)]),_:2},1032,[`to`])):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Ai,(0,e.toDisplayString)(t.label),1))]),_:2},1032,[`value`]))),128))]),_:2},1032,[`aria-label`])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`docs-header__nav-item docs-header__nav-trigger`,{"is-active":_(t)}]),"aria-expanded":!!h.value[i],"aria-haspopup":`menu`},(0,e.toDisplayString)(t.label),11,Oi)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])):t.value&&(0,e.unref)(S)(t.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:1,class:`docs-header__nav-item`,href:t.value,target:`_blank`,rel:`noopener noreferrer`},(0,e.toDisplayString)(t.label),9,ji)):t.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:2,class:(0,e.normalizeClass)([`docs-header__nav-item`,{"is-active":_(t)}]),to:(0,e.unref)(H)((0,e.unref)(s),d.value,t.value)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.label),1)]),_:2},1032,[`class`,`to`])):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Mi,(0,e.toDisplayString)(t.label),1))],64))),128))],8,Di)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createElementVNode)(`div`,Ni,[(0,e.createVNode)((0,e.unref)(_i),{class:`docs-header__theme`}),D.value.length>1?((0,e.openBlock)(),(0,e.createElementBlock)(`nav`,Pi,[(0,e.createVNode)((0,e.unref)(n.Dropdown),{modelValue:l.value,"onUpdate:modelValue":i[0]||=e=>l.value=e,class:`docs-header__locale-dropdown`,"portal-class":`docs-header__locale-portal`,trigger:`hover`,placement:`bottom-right`},{content:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DropdownMenu),{class:`docs-header__locale-options`,role:`menu`,"aria-label":(0,e.unref)(c)(`client.header.language`)},{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(D.value,t=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.DropdownItem),{key:t.value,class:`docs-header__locale-option`,value:t.value,selected:t.value===d.value,role:`menuitemradio`,"aria-checked":t.value===d.value,onClick:N},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.label),1)]),_:2},1032,[`value`,`selected`,`aria-checked`]))),128))]),_:1},8,[`aria-label`])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`docs-header__action docs-header__locale-trigger`,title:(0,e.unref)(c)(`client.header.language`),"aria-label":(0,e.unref)(c)(`client.header.language`),"aria-expanded":l.value,"aria-haspopup":`menu`},[(0,e.createVNode)((0,e.unref)(hi),{name:`language`,size:22})],8,Fi)]),_:1},8,[`modelValue`])])):(0,e.createCommentVNode)(`v-if`,!0),k.value?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:1,class:`docs-header__action docs-header__repository`,href:k.value,target:`_blank`,rel:`noopener noreferrer`,title:(0,e.unref)(c)(`client.header.repository`),"aria-label":(0,e.unref)(c)(`client.header.repository`)},[(0,e.createVNode)((0,e.unref)(hi),{name:A.value,size:24},null,8,[`name`])],8,Ii)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createElementVNode)(`nav`,Li,[(0,e.createVNode)((0,e.unref)(n.Dropdown),{modelValue:u.value,"onUpdate:modelValue":i[1]||=e=>u.value=e,class:`docs-header__tools-dropdown`,"portal-class":`docs-header__tools-portal`,trigger:`hover`,placement:`bottom-right`},{content:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DropdownMenu),{class:`docs-header__tools-options`,role:`menu`,"aria-label":(0,e.unref)(c)(`client.header.tools`)},{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(j.value,t=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.DropdownItem),{key:t.value,class:`docs-header__tools-option`,value:t.value,selected:t.selected,role:`menuitem`,onClick:L},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(hi),{name:t.icon,size:16},null,8,[`name`]),(0,e.createTextVNode)(` `+(0,e.toDisplayString)(t.label),1)]),_:2},1032,[`value`,`selected`]))),128))]),_:1},8,[`aria-label`])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`docs-header__action docs-header__tools-trigger`,title:(0,e.unref)(c)(`client.header.tools`),"aria-label":(0,e.unref)(c)(`client.header.tools`),"aria-expanded":u.value,"aria-haspopup":`menu`},[(0,e.createVNode)((0,e.unref)(hi),{name:`more`,size:22})],8,Ri)]),_:1},8,[`modelValue`])])])]))}}),Bi=/^https?:\/\//i,Vi=/^data:image\//i,Hi=/^blob:/i,Ui=/^(?:\/|\.\/|\.\.\/)/,Wi=[[/^iVBORw0KGgo/,`image/png`],[/^\/9j\//,`image/jpeg`],[/^R0lGOD/,`image/gif`],[/^UklGR/,`image/webp`]],Gi=e=>String(e||``).trim(),Ki=e=>{let t=Gi(e).replace(/\s+/g,``);return Wi.some(([e])=>e.test(t))},qi=e=>{let t=Gi(e);if(!t)return``;if(Vi.test(t)||Bi.test(t)||Hi.test(t)||Ui.test(t))return t;let n=t.replace(/\s+/g,``),r=Wi.find(([e])=>e.test(n))?.[1];return r?`data:${r};base64,${n}`:t},Ji=e=>{let t=Gi(e);return t?Bi.test(t)||Vi.test(t)||Hi.test(t)||Ui.test(t)||Ki(t)?`url`:`type`:`none`},Yi=(e,t)=>{if(!e)return``;if(Array.isArray(e)){let[n,r]=e;return Gi(t&&r||n)}return Gi(e)},Xi={key:0,class:`docs-sidebar__icon`},Zi=[`src`],Qi=/* @__PURE__ */ (0,e.defineComponent)({name:`DocsSidebarGlyph`,__name:`sidebar-glyph`,props:{item:{},selected:{type:Boolean}},setup(t){let r=t,i=(0,e.computed)(()=>Yi(r.item.icon,!!r.selected)),a=(0,e.computed)(()=>Ji(i.value)),o=(0,e.computed)(()=>qi(i.value));return(t,r)=>i.value?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Xi,[a.value===`url`?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:0,class:`docs-sidebar__media`,src:o.value,alt:``},null,8,Zi)):a.value===`type`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Icon),{key:1,class:`docs-sidebar__glyph`,type:i.value,inherit:``},null,8,[`type`])):(0,e.createCommentVNode)(`v-if`,!0)])):(0,e.createCommentVNode)(`v-if`,!0)}}),$i=[`href`],ea={class:`docs-sidebar__text`},ta={key:0,class:`docs-sidebar__tag`},na={class:`docs-sidebar__text`},ra={key:0,class:`docs-sidebar__tag`},ia={key:2,class:`docs-sidebar__label`},aa={class:`docs-sidebar__text`},oa={key:0,class:`docs-sidebar__tag`},sa=/* @__PURE__ */ (0,e.defineComponent)({name:`DefaultSidebar`,__name:`default-sidebar`,props:{items:{},nested:{type:Boolean},depth:{default:0}},setup(t){let n=(0,r.useRoute)(),i=e=>/^[a-z][a-z\d+.-]*:/i.test(e)||e.startsWith(`//`),a=e=>`/${String(n.params.lang||``)}/${e.replace(/^\/+/,``)}`,o=e=>{let t=a(e);return n.path===t||n.path.startsWith(`${t}/`)};return(n,s)=>{let c=(0,e.resolveComponent)(`DefaultSidebar`,!0);return(0,e.openBlock)(),(0,e.createElementBlock)(`ul`,{class:(0,e.normalizeClass)([`docs-sidebar`,{"docs-sidebar--nested":t.nested}]),style:(0,e.normalizeStyle)(t.nested?{"--docs-sidebar-depth":t.depth}:void 0)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.items,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:`${n.label}:${n.value||``}`,class:`docs-sidebar__item`},[n.value&&i(n.value)?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,class:`docs-sidebar__link`,href:n.value},[(0,e.createVNode)(Qi,{item:n},null,8,[`item`]),(0,e.createElementVNode)(`span`,ea,(0,e.toDisplayString)(n.label),1),n.tag?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ta,(0,e.toDisplayString)(n.tag),1)):(0,e.createCommentVNode)(`v-if`,!0)],8,$i)):n.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:1,class:(0,e.normalizeClass)([`docs-sidebar__link`,{"is-active":o(n.value)}]),to:a(n.value)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(Qi,{item:n,selected:o(n.value)},null,8,[`item`,`selected`]),(0,e.createElementVNode)(`span`,na,(0,e.toDisplayString)(n.label),1),n.tag?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ra,(0,e.toDisplayString)(n.tag),1)):(0,e.createCommentVNode)(`v-if`,!0)]),_:2},1032,[`class`,`to`])):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ia,[(0,e.createVNode)(Qi,{item:n},null,8,[`item`]),(0,e.createElementVNode)(`span`,aa,(0,e.toDisplayString)(n.label),1),n.tag?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,oa,(0,e.toDisplayString)(n.tag),1)):(0,e.createCommentVNode)(`v-if`,!0)])),n.children?.length?((0,e.openBlock)(),(0,e.createBlock)(c,{key:3,items:n.children,nested:``,depth:t.depth+1},null,8,[`items`,`depth`])):(0,e.createCommentVNode)(`v-if`,!0)]))),128))],6)}}}),ca=[`aria-label`],la=[`aria-checked`,`aria-label`,`tabindex`,`onClick`],ua=/* @__PURE__ */ (0,e.defineComponent)({name:`DocsContentWidthToggle`,__name:`content-width-toggle`,setup(n){let{t:r}=(0,t.useLocale)(),i=(0,e.ref)(),a=be.current,o=(0,e.computed)(()=>[{value:`regular`,icon:`widthRegular`,label:r(`client.page.widthRegular`)},{value:`wide`,icon:`widthWide`,label:r(`client.page.widthWide`)},{value:`full`,icon:`widthFull`,label:r(`client.page.widthFull`)}]),s=e=>{be.set(e)},c=t=>{let n=t.key===`ArrowRight`||t.key===`ArrowDown`?1:t.key===`ArrowLeft`||t.key===`ArrowUp`?-1:0;if(!n)return;t.preventDefault();let r=ce[(ce.indexOf(a.value)+n+ce.length)%ce.length];s(r),(0,e.nextTick)(()=>{i.value?.querySelector(`[aria-checked="true"]`)?.focus()})};return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`root`,ref:i,class:`docs-content-width`,role:`radiogroup`,"aria-label":(0,e.unref)(r)(`client.page.width`),onKeydown:c},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(o.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.value,class:(0,e.normalizeClass)([`docs-content-width__option`,{"is-active":(0,e.unref)(a)===t.value}]),type:`button`,role:`radio`,"aria-checked":(0,e.unref)(a)===t.value,"aria-label":t.label,tabindex:(0,e.unref)(a)===t.value?0:-1,onClick:e=>s(t.value)},[(0,e.createVNode)((0,e.unref)(hi),{class:`docs-content-width__icon`,name:t.icon,size:12},null,8,[`name`])],10,la))),128))],40,ca))}}),da={class:`docs-page-header`},fa={key:0,class:`docs-page-header__start`},pa={class:`docs-page-header__eyebrow`},ma={class:`docs-page-header__end`},ha=/* @__PURE__ */ (0,e.defineComponent)({name:`DocsPageHeader`,__name:`page-header`,setup(t){let n=(0,r.useRoute)(),i=(0,e.computed)(()=>String(n.params.lang||`zh-CN`)),a=(0,e.computed)(()=>{if(Ce.value?.length)return ae(Ce.value,n.path,i.value)});return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`header`,da,[a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,fa,[(0,e.createElementVNode)(`p`,pa,(0,e.toDisplayString)(a.value.label),1)])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createElementVNode)(`div`,ma,[(0,e.createVNode)(ua)])]))}}),ga=[`aria-label`],_a=/* @__PURE__ */ (0,e.defineComponent)({name:`DocsPageFooter`,__name:`page-footer`,setup(n){let i=(0,r.useRoute)(),{t:a}=(0,t.useLocale)(),o=(0,e.computed)(()=>String(i.params.lang||`zh-CN`)),s=(0,e.computed)(()=>Ce.value?.length?se(Ce.value,i.path,o.value):{}),c=(0,e.computed)(()=>s.value.previous),l=(0,e.computed)(()=>s.value.next),u=e=>V(o.value,e||`/`);return(t,n)=>c.value||l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`nav`,{key:0,class:`docs-page-footer`,"aria-label":(0,e.unref)(a)(`client.page.navigation`)},[c.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:0,class:`docs-page-footer__link docs-page-footer__link--previous`,to:u(c.value.value),"aria-label":(0,e.unref)(a)(`client.page.previous`,{label:c.value.label})},{default:(0,e.withCtx)(()=>[n[0]||=(0,e.createElementVNode)(`svg`,{class:`docs-page-footer__icon`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`},[(0,e.createElementVNode)(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M9.78 4.22a.75.75 0 0 1 0 1.06L7.06 8l2.72 2.72a.75.75 0 1
3
- 1-1.06 1.06L5.47 8.53a.75.75 0 0 1 0-1.06l3.25-3.25a.75.75 0 0 1 1.06 0Z`})],-1),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(c.value.label),1)]),_:1},8,[`to`,`aria-label`])):(0,e.createCommentVNode)(`v-if`,!0),l.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterLink),{key:1,class:`docs-page-footer__link docs-page-footer__link--next`,to:u(l.value.value),"aria-label":(0,e.unref)(a)(`client.page.next`,{label:l.value.label})},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(l.value.label),1),n[1]||=(0,e.createElementVNode)(`svg`,{class:`docs-page-footer__icon`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`},[(0,e.createElementVNode)(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0
4
- 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z`})],-1)]),_:1},8,[`to`,`aria-label`])):(0,e.createCommentVNode)(`v-if`,!0)],8,ga)):(0,e.createCommentVNode)(`v-if`,!0)}}),va=Symbol(`docs-markdown-article`),ya=`h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]`,ba=[`pre`,`.docs-markdown-code-preview`,`[data-playground][data-code]`,`[data-playground][data-files]`,`.docs-markdown-tabs__panel[hidden]`].join(`, `),xa=e=>{let t=e.cloneNode(!0);return t.querySelectorAll(`.header-anchor`).forEach(e=>e.remove()),(t.textContent||``).replace(/\s+/g,` `).trim()},Sa=e=>!e||!(`querySelectorAll`in e)?[]:[...e.querySelectorAll(ya)].filter(e=>!e.closest(ba)&&!!xa(e)).map(e=>({element:e,id:e.id,level:Number(e.tagName.slice(1)),text:xa(e)})).filter((e,t,n)=>e.level>1||n.every(e=>e.level===1)),Ca=e=>{let t=[],n=[];for(let r of e){let e={children:[],id:r.id,level:r.level,text:r.text};for(;n.length&&n[n.length-1].level>=r.level;)n.pop();let i=n[n.length-1];i?i.children.push(e):t.push(e),n.push(e)}return t},wa=(e,t)=>{let n=e.replace(/^#/,``);if(!n)return``;let r=n;try{r=decodeURIComponent(n)}catch{}let i=/* @__PURE__ */ new Set([n,r]);try{i.add(encodeURIComponent(r))}catch{}for(let e of t)if(i.has(e))return e;return``},Ta=(e,t)=>{if(!e.length)return``;if(t.isScrollEnd)return e[e.length-1].id;let n=e[0].id;for(let r of e){if(r.element.getBoundingClientRect().top>t.threshold)break;n=r.id}return n},Ea=(e,t)=>{let n=Math.max(0,e),r=Math.max(0,t);return n?r?Math.min(n,r):n:r},Da=(e,t)=>{let n=Math.max(0,e-172);return n?Math.min(t>0?t:48,n):0},Oa=[`aria-label`],ka={class:`docs-page-outline__title`},Aa=80,ja=/* @__PURE__ */ (0,e.defineComponent)({name:`DocsPageOutline`,__name:`page-outline`,props:{target:{}},setup(i){let a=(0,e.defineComponent)({name:`DocsPageOutlineLinks`,props:{activeId:{type:String,default:``},depth:{type:Number,default:0},items:{type:Array,required:!0},nested:Boolean},emits:[`select`],setup(t,{emit:n}){return()=>(0,e.h)(`ul`,{class:[`docs-page-outline__list`,t.nested?`docs-page-outline__list--nested`:``]},t.items.map(r=>(0,e.h)(`li`,{key:r.id,class:`docs-page-outline__item`},[(0,e.h)(`a`,{"aria-current":t.activeId===r.id?`location`:void 0,class:[`docs-page-outline__link`,t.nested?`docs-page-outline__link--nested`:``],href:`#${r.id}`,onClick:e=>n(`select`,e,r.id),style:{paddingLeft:`${16+t.depth*14}px`}},r.text),r.children.length?(0,e.h)(a,{activeId:t.activeId,depth:t.depth+1,items:r.children,nested:!0,onSelect:(e,t)=>n(`select`,e,t)}):null])))}}),o=i,s=(0,r.useRoute)(),c=(0,r.useRouter)(),{t:l}=(0,t.useLocale)(),u=(0,e.inject)(`vc-scroller`,null),d=(0,e.inject)(va,(0,e.ref)()),f=(0,e.ref)(),m=(0,e.ref)(),h=(0,e.shallowRef)([]),g=(0,e.ref)(``),_=(0,e.ref)(0),v=(0,e.ref)(0),y,b,x,S=!1,C=0,w=0,T=0,E=(0,e.computed)(()=>Ca(h.value)),D=(0,e.computed)(()=>Math.max(0,_.value-172)),O=(0,e.computed)(()=>v.value>D.value),k=(0,e.computed)(()=>`${Da(_.value,v.value)}px`),A=(0,e.computed)(()=>({"--docs-page-outline-max-height":_.value?`${_.value}px`:`calc(100svh - 60px)`})),j=(0,e.computed)(()=>o.target||d.value),M=()=>(0,p.getScroller)(j.value)||window,N=()=>S?u?.wrapper?.getBoundingClientRect().top||0:x instanceof HTMLElement?x.getBoundingClientRect().top:0,P=()=>S?u?.wrapper?.clientHeight||u?.clientHeight||0:x instanceof HTMLElement?x.clientHeight:window.innerHeight,F=()=>{let e,t,n;return S?(e=u?.clientHeight||0,t=u?.scrollHeight||0,n=u?.scrollTop||0):x instanceof HTMLElement?(e=x.clientHeight,t=x.scrollHeight,n=x.scrollTop):(e=window.innerHeight,t=document.documentElement.scrollHeight,n=window.scrollY),t>e&&n+e>=t-1},I=()=>{_.value=Ea(j.value?.offsetHeight||0,P())},L=async()=>{await(0,e.nextTick)();let t=f.value?.querySelector(`a[aria-current="location"]`),n=f.value?.querySelector(`.vc-scroller`);if(!t||!n)return;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect();r.top>=i.top&&r.bottom<=i.bottom||m.value?.setScrollTop?.(Math.max(0,n.scrollTop+r.top-i.top))},R=()=>{if(w=0,!h.value.length){g.value=``;return}let e=Ta(h.value,{isScrollEnd:F(),threshold:N()+Aa});g.value=e||h.value[0].id,L()},z=()=>{w||=requestAnimationFrame(R)},ee=()=>{C=0,h.value=Sa(j.value),I(),R(),(0,e.nextTick)(()=>{let e=f.value?.querySelector(`.docs-page-outline__list`);v.value=e?.scrollHeight||0})},B=()=>{C||=requestAnimationFrame(ee)},V=()=>{y?.disconnect(),y=void 0,b?.disconnect(),b=void 0,window.removeEventListener(`resize`,I),S?u?.off?.(z):x&&x.removeEventListener(`scroll`,z),S=!1,x=void 0},H=async()=>{let t=++T;if(V(),await(0,e.nextTick)(),t===T){if(!j.value)h.value=[],g.value=``;else{ee();try{S=!!u?.on,S?(u?.on?.(z),x=u?.wrapper||window):(x=M(),x.addEventListener(`scroll`,z,{passive:!0}))}catch{S=!1,x=window,window.addEventListener(`scroll`,z,{passive:!0})}window.addEventListener(`resize`,I,{passive:!0}),y=new MutationObserver(B),y.observe(j.value,{childList:!0,characterData:!0,subtree:!0}),typeof ResizeObserver<`u`&&(b=new ResizeObserver(I),b.observe(j.value),S&&u?.wrapper?b.observe(u.wrapper):x instanceof HTMLElement&&b.observe(x)),ee()}}},te=e=>{let t=h.value.find(t=>t.id===e)?.element;if(!t)return;let n=t.closest(`.docs-layout__main-scroller`)?.querySelector(`.vc-scroller`)||t.closest(`.vc-scroller`);n?n.scrollTop+=t.getBoundingClientRect().top-n.getBoundingClientRect().top:t.scrollIntoView?.({block:`start`})},U=async(e,t)=>{e.preventDefault(),g.value=t;let n=`#${t}`;try{n=decodeURIComponent(n)}catch{}await c.push({path:s.path,query:s.query,hash:n}),te(t)};return(0,e.watch)(j,H,{immediate:!0,flush:`post`}),(0,e.watch)(()=>s.hash,()=>{if(!h.value.length)return;let e=wa(s.hash,h.value.map(e=>e.id));e&&(g.value=e)}),(0,e.onBeforeUnmount)(()=>{T+=1,V(),C&&cancelAnimationFrame(C),w&&cancelAnimationFrame(w)}),(t,r)=>h.value.length?((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,{key:0,ref_key:`outlineRoot`,ref:f,class:`docs-page-outline`,style:(0,e.normalizeStyle)(A.value),"aria-label":(0,e.unref)(l)(`client.page.outline`)},[(0,e.createElementVNode)(`p`,ka,(0,e.toDisplayString)((0,e.unref)(l)(`client.page.outline`)),1),(0,e.createVNode)((0,e.unref)(n.Scroller),{ref_key:`outlineScroller`,ref:m,class:`docs-page-outline__scroller`,"auto-resize":!0,native:!1,"show-bar":O.value,height:k.value,"wrapper-style":`overflow-x: hidden;`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(a),{items:E.value,"active-id":g.value,onSelect:U},null,8,[`items`,`active-id`])]),_:1},8,[`show-bar`,`height`])],12,Oa)):(0,e.createCommentVNode)(`v-if`,!0)}}),Ma=(e,t)=>{let n=new Set(t),r={};return Object.keys(e).forEach(t=>{n.has(t)||(r[t]=e[t])}),r},Na=[`data-slot`,`data-resource-type`,`data-content-width`],Pa={key:0,class:`docs-resource-slot__error`,role:`alert`},Fa={key:5,class:`docs-resource-slot__page`},Ia={key:0,class:`docs-resource-slot__error`},La={key:6,class:`docs-resource-slot__error`},Ra={key:7,class:`docs-resource-slot__loading`},za={key:8,class:`docs-resource-slot__body`},Ba=[`data-builtin`],Va=/* @__PURE__ */ (0,e.defineComponent)({__name:`resource-slot`,props:{name:{}},setup(n){let a=n,o=(0,r.useRoute)(),s=(0,r.useRouter)(),c=b(),{locale:l,t:d}=(0,t.useLocale)(),f=Hn(),p=(0,e.computed)(()=>Jt(c)),m=(0,e.computed)(()=>p.value.theme),h=(0,e.computed)(()=>p.value.indicator===void 0||p.value.indicator),g=(0,e.computed)(()=>Yt(c)),_=(0,e.computed)(()=>Zt(c).fit),v=be.current,y=(0,e.ref)(``),x=(0,e.ref)(``),w=(0,e.ref)(``),T,E=(0,e.computed)(()=>{if(!o.meta.docsPreview||a.name!==`content`)return{config:void 0,error:``};try{return{config:Cn(o.query),error:``}}catch(e){return{config:void 0,error:d(`client.common.previewConfigFailed`,{message:e instanceof Error?e.message:String(e)})}}});(0,e.provide)(vn,(0,e.computed)(()=>E.value.config));let D=(0,e.ref)(!1),O=(0,e.ref)(``),k=(0,e.ref)(``),A=(0,e.ref)(``),j=(0,e.ref)(null),M=(0,e.ref)(),N=(0,e.ref)(),P=(0,e.ref)(``),F=e=>{N.value=e instanceof HTMLElement?e:void 0};(0,e.provide)(va,N);let z=(0,e.ref)(),ee,B,V=0,H=``,U=``,re=/* @__PURE__ */ new WeakMap,W=(0,e.computed)(()=>String(o.params.lang||Object.keys(c.locales)[0]||`zh-CN`)),ie=(0,e.computed)(()=>({lang:W.value,locale:l.value,theme:ve.current.value,route:o,source:O.value,services:{resolveAsset:(e,t)=>I(c,{source:e,type:`module`,lang:W.value,importer:t}),resolveLink:e=>s.resolve(e).href,navigate:async e=>{await s.push(e)}}})),ae=(0,e.computed)(()=>o.meta.docsRoute),oe=()=>{ee?.(),ee=void 0,B?.abort(),B=void 0},se=()=>{if(a.name!==`content`||!M.value)return;let e=Math.ceil(M.value.getBoundingClientRect().height);P.value=e>0?`${e}px`:``},ce=async t=>{await(0,e.nextTick)(),t===V&&(P.value=``)},le=e=>{let t=e.replace(/^#/,``);if(!t||!M.value)return;let n=t;try{n=decodeURIComponent(t)}catch{}let r=/* @__PURE__ */ new Set([t,n,encodeURIComponent(n)]);return[...M.value.querySelectorAll(`[id], [name]`)].find(e=>r.has(e.id)||r.has(e.getAttribute(`name`)||``))},ue=async(t=V)=>{if(a.name!==`content`||k.value!==`markdown`||!c.resolve?.link||(await(0,e.nextTick)(),t!==V||!M.value))return;let n=M.value.querySelectorAll(`a[href]`);if(!n.length){if(await(0,e.nextTick)(),t!==V||!M.value)return;n=M.value.querySelectorAll(`a[href]`)}for(let e of n){if(re.get(e)===t)continue;re.set(e,t);let n=e.dataset.docsOriginalHref||e.getAttribute(`href`);if(!n||n.startsWith(`#`))continue;e.dataset.docsOriginalHref=n,e.setAttribute(`href`,n),delete e.dataset.docsRoute;let r;try{r=c.resolve.link({href:n,lang:W.value,source:O.value,route:o})}catch{continue}if(t!==V)return;if(r){if(S(r))e.setAttribute(`href`,r),delete e.dataset.docsRoute;else try{let t=s.resolve(r);e.setAttribute(`href`,t.href),e.dataset.docsRoute=t.fullPath}catch{}}}},de=async(t,n=V)=>{if(!t||(await(0,e.nextTick)(),n!==V))return;let r=le(t);if(!r){if(await(0,e.nextTick)(),n!==V)return;r=le(t)}let i=r?.closest(`.vc-scroller`);r&&i?i.scrollTop+=r.getBoundingClientRect().top-i.getBoundingClientRect().top:r?.scrollIntoView?.({block:`start`})},fe=(e,t=V)=>{if(a.name===`content`&&k.value===`page`)try{let t=JSON.parse(e),n=(0,u.validateRendererDocument)(t);if(!n.valid||!n.document)throw TypeError(n.issues.map(e=>e.message).join(`; `));z.value=n.document,x.value=``}catch(e){x.value=e instanceof Error?e.message:d(`client.common.resourceRequestFailed`)}else if(a.name===`sidebar`&&k.value===`sidebar`)try{let t=JSON.parse(e);if(!Array.isArray(t))throw TypeError(d(`client.common.invalidSidebar`));j.value=t,x.value=``}catch(e){j.value=null,x.value=e instanceof Error?e.message:d(`client.common.invalidSidebar`)}else x.value=``;y.value=e,a.name===`content`&&k.value===`markdown`&&ue(t),a.name===`content`&&k.value===`markdown`&&o.hash&&de(o.hash,t)},pe=async e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`a[href]`);if(!t||!C(e,t))return;let n=t.getAttribute(`href`);if(!n)return;let r=t.dataset.docsRoute;if(!n.startsWith(`#`)){if(!r)return;e.preventDefault(),await s.push(r);return}if(n===`#`)return;e.preventDefault();let i=n;try{i=decodeURIComponent(n)}catch{}await s.push({path:o.path,query:o.query,hash:i}),await de(n)};return(0,e.watch)(()=>JSON.stringify([o.meta.docsPreview,o.path,E.value.config?.url,E.value.config?.styles,a.name]),()=>{if(T?.(),T=void 0,w.value=``,E.value.config)try{T=Dn(Tn(E.value.config.styles,location.href),e=>{w.value=d(`client.common.previewStyleFailed`,{url:e})})}catch(e){w.value=e instanceof Error?e.message:String(e)}},{immediate:!0}),(0,e.watch)([()=>o.path,()=>o.meta.docsPreview?JSON.stringify([E.value.error,E.value.config?.url,W.value]):JSON.stringify(Ma(o.query,[`tab`])),()=>a.name],async()=>{let e=ae.value,t=e?.[a.name];t===void 0&&(t=a.name===`content`?`default`:null),a.name===`content`&&(t=Wt(t,W.value,c,o.meta.docsHome?`/`:``),t===void 0&&(t=null)),t==="default"&&a.name===`sidebar`&&(t=`./sidebar.json`);let n=t==="default"&&a.name!==`content`,r=[`header`,`sidebar`,`footer`].includes(a.name)?JSON.stringify([n||t===null?``:W.value,a.name,n?`builtin:${a.name}`:t]):``;if(r&&(H===r||U===r))return;let i=++V;if(H=``,U=r,se(),oe(),y.value=``,x.value=``,D.value=!1,O.value=``,k.value=``,z.value=void 0,A.value=``,j.value=null,!e){H=r,U=``,await ce(i);return}D.value=!0;let s,l=()=>{i===V&&r&&(H=r)};try{let r;if(o.meta.docsPreview&&a.name===`content`){if(E.value.error)throw TypeError(E.value.error);let e=E.value.config?.url;if(typeof e!=`string`||!e.trim())throw TypeError(d(`client.common.previewUrlRequired`));if(t=e.trim(),r=wn(t,location.href),!r)throw TypeError(d(`client.common.previewUrlUnsupported`))}if(t===null){l();return}if(n){A.value=a.name,l();return}let f=a.name===`sidebar`?ne(t,W.value,c):null;if(f){j.value=f,l();return}if(a.name===`content`&&t&&typeof t==`object`&&`schemaVersion`in t){let e=(0,u.validateRendererDocument)(t);if(!e.valid||!e.document)throw TypeError(e.issues.map(e=>e.message).join(`; `));k.value=`page`,z.value=e.document,l();return}if(t==="default"&&(t=await c.resolve?.markdown?.({lang:W.value,value:te(o,e),route:o})||`./${te(o,e)}.md`),i!==V||typeof t!=`string`)return;if(O.value=t,k.value=r||L(t),k.value===`sfc`){l();return}s=new AbortController,B=s;let p=R(c,W.value,k.value,t),m=await I(c,{source:t,type:k.value,lang:W.value});if(i!==V||s.signal.aborted)return;ee=G.subscribe(p,e=>{i===V&&fe(e.content,i)});let h=await G.load(p,{url:m,priority:100,signal:s.signal});i===V&&(fe(h.content,i),l())}catch(e){i===V&&!s?.signal.aborted&&(x.value=e instanceof Error?e.message:d(`client.common.resourceRequestFailed`))}finally{i===V&&(U=``,D.value=!1,await ce(i))}},{immediate:!0}),(0,e.watch)(()=>o.hash,e=>{a.name===`content`&&k.value===`markdown`&&de(e)},{flush:`post`}),(0,e.watch)([y,k,D,()=>a.name],async()=>{await(0,e.nextTick)(),N.value=M.value?.querySelector(`.docs-resource-slot__article`)||void 0},{flush:`post`,immediate:!0}),(0,e.watch)(j,e=>{a.name===`sidebar`&&we(e)}),(0,e.onBeforeUnmount)(()=>{V+=1,T?.(),oe(),a.name===`sidebar`&&we(null)}),(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`root`,ref:M,class:`docs-resource-slot`,"data-slot":n.name,"data-resource-type":k.value||void 0,"data-content-width":n.name===`content`&&k.value===`markdown`?(0,e.unref)(v):void 0,style:(0,e.normalizeStyle)({minHeight:P.value})},[w.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Pa,(0,e.toDisplayString)(w.value),1)):(0,e.createCommentVNode)(`v-if`,!0),A.value===`header`?((0,e.openBlock)(),(0,e.createBlock)(zi,{key:1})):A.value===`footer`?((0,e.openBlock)(),(0,e.createBlock)(Re,{key:2})):j.value?((0,e.openBlock)(),(0,e.createBlock)(sa,{key:3,items:j.value},null,8,[`items`])):k.value===`sfc`&&O.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(An),{key:4,source:O.value,lang:W.value},null,8,[`source`,`lang`])):z.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Fa,[x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ia,(0,e.toDisplayString)(x.value),1)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createVNode)((0,e.unref)(u.Renderer),{document:z.value,modules:(0,e.unref)(f),context:ie.value,fit:_.value},null,8,[`document`,`modules`,`context`,`fit`])])):x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,La,(0,e.toDisplayString)(x.value),1)):D.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ra,(0,e.toDisplayString)((0,e.unref)(d)(`client.common.loading`)),1)):k.value===`markdown`&&n.name===`content`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,za,[(0,e.createElementVNode)(`div`,{ref:F,class:`docs-resource-slot__article`},[(0,e.createVNode)(ha),(0,e.createVNode)((0,e.unref)(i.Markdown),{value:y.value,theme:m.value,indicator:h.value,playground:g.value,onClick:pe},null,8,[`value`,`theme`,`indicator`,`playground`]),(0,e.createVNode)(_a)],512),(0,e.createVNode)(ja,{target:N.value},null,8,[`target`])])):k.value===`markdown`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i.Markdown),{key:9,value:y.value,theme:m.value,indicator:h.value,playground:g.value,onClick:pe},null,8,[`value`,`theme`,`indicator`,`playground`])):A.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:10,class:`docs-resource-slot__builtin`,"data-builtin":A.value},null,8,Ba)):(0,e.createCommentVNode)(`v-if`,!0)],12,Na))}}),Ha=e=>e.toLowerCase().startsWith(`zh`),q=(e,t,n)=>Ha(e)?t:n,J=(e,t=1152,n=648,r=`456cf6`,i=`fff`)=>`https://dummyimage.com/${t}x${n}/${r.replace(`#`,``)}/${i.replace(`#`,``)}/?text=${encodeURIComponent(e)}`,Y=(e,t=`/`,n=`solid`)=>({label:e,to:t,variant:n,size:`medium`,color:``,textColor:``}),Ua=(e,t=2,n=32)=>({text:e,level:t,fontSize:n,fontWeight:700,lineHeight:1.3,letterSpacing:0,color:``,align:`left`}),X=(e,t=16)=>({text:e,fontSize:t,fontWeight:400,lineHeight:1.7,letterSpacing:0,color:``,align:`left`}),Wa=(e,t,n=16)=>({src:e,dark:``,alt:t,fit:`cover`,borderRadius:n,eager:!1}),Ga=(e={})=>({fullWidth:!0,maxWidth:u.RENDERER_SORTABLE_CONTENT_WIDTH,...e}),Ka=(e={})=>({marginTop:0,marginBottom:24,paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0,fullWidth:!1,maxWidth:u.RENDERER_SORTABLE_CONTENT_WIDTH,...e}),Z=(e,t,n={})=>({id:(0,u.createRendererId)(),module:{type:e,version:1,props:t},appearance:Ka(n)}),Q=(e,t,n)=>({id:(0,u.createRendererId)(),module:{type:e,version:1,props:t},placement:{rotate:0,zIndex:1,...n}}),qa=(e,t,n={})=>{let r=(0,u.createEmptyRendererDocument)(`sortable`);return r.meta.title=e,r.layout={...r.layout,minHeight:720,...n},r.blocks=t,r},Ja=(e,t,n={})=>{let r=(0,u.createEmptyRendererDocument)(`draggable`);return r.meta.title=e,r.layout={...r.layout,width:1200,height:900,...n},r.blocks=t,r},Ya=e=>qa(q(e,`流式画布`,`Sortable canvas`),[Z(`title`,Ua(q(e,`从这条流开始搭页面`,`Start the page in this flow`),1,40),{marginBottom:8}),Z(`text`,X(q(e,`Sortable Frame 按上下顺序堆叠模块。左侧 Widget 拖进来的块会出现在当前选区附近,也可以在属性面板改间距和内边距。`,`Sortable Frame stacks modules top to bottom. Drops land near the selection; spacing lives in the inspector.`))),Z(`text`,X(q(e,"下面已经放好一组基础块,方便对照排版。删掉它们,或继续往中间插入 Features、FAQ、广告位。保存会写出 `.page.json`。","A starter set is already on the canvas so you can judge spacing. Delete it, or insert Features, FAQ and ads between the blocks. Save writes `.page.json`."))),Z(`list`,{ordered:!0,items:[q(e,`从组件库拖入 Title / Text / Image`,`Drop Title / Text / Image from the widget library`),q(e,`用上下手柄调整顺序,用属性面板改外观`,`Reorder with handles; tune appearance in the inspector`),q(e,`Hero 和 CTA 铺满画布、正文 1200;其它模块不铺满、整块 1200 居中`,`Hero and CTA fill the canvas with 1200px content; other modules stay boxed at 1200`),q(e,`预览、导出 JSON,或在开发模式直接保存`,`Preview, export JSON, or save in development`)]}),Z(`image`,Wa(J(q(e,`流式画布`,`Sortable`),1200,560,`5b6b8c`),q(e,`流式画布示意:模块自上而下排列`,`Flow canvas: modules stacked from top to bottom`),20)),Z(`actions`,{items:[Y(q(e,`打开落地页`,`Open landing`),`/${e}/renderer-editor-demos?name=landing`),Y(q(e,`打开基础模块`,`Open shared`),`/${e}/renderer-editor-demos?name=shared`,`outline`),Y(q(e,`打开自由画布`,`Open free canvas`),`/${e}/renderer-editor-demos?name=draggable`,`outline`)]}),Z(`space`,{height:64,background:`transparent`},{marginBottom:0})]),Xa=e=>qa(q(e,`落地页组合`,`Landing composition`),[Z(`hero`,{eyebrow:q(e,`产品首页`,`Product home`),title:q(e,`用可复用模块拼出完整落地页`,`Compose a complete landing page from reusable modules`),description:q(e,"Hero、特性、步骤、问答和行动条已经串好。把 landing 工厂赋给 `routes['/'].content` 或其它路由 `content`,再按品牌改文案。","Hero, features, steps, FAQ and CTA are already wired. Assign the landing factory to `routes['/'].content` or another route `content`."),align:`left`,accent:`#873bf4`,accentSecondary:`#2d8cf0`,background:``,showVisual:!0,minHeight:560,highlights:[{value:`Vue 3`,label:q(e,`运行时`,`Runtime`)},{value:`i18n`,label:q(e,`中英切换`,`Locales`)},{value:`V2`,label:q(e,`扁平文档`,`Flat document`)},{value:`Static`,label:q(e,`静态发布`,`Static ship`)}],actions:[Y(q(e,`开始搭建`,`Start building`)),Y(q(e,`查看基础模块`,`Browse shared modules`),`/${e}/renderer-editor-demos?name=shared`,`outline`),Y(q(e,`混合组合`,`Mixed combo`),`/${e}/renderer-editor-demos?name=combo`,`outline`)]},Ga({marginBottom:72})),Z(`features`,{eyebrow:q(e,`能力`,`Features`),title:q(e,`落地页真正用得到的积木`,`The blocks a landing page actually uses`),description:q(e,`每张卡片对应一个可复用模块。它们共享同一份 Catalog,首页、文档页和活动页不必各写一套。`,`Each card maps to a reusable module. Home, docs and campaign pages share one catalog.`),columns:3,gap:24,accent:``,items:[{title:q(e,`流式排版`,`Flow layout`),description:q(e,`Sortable Frame 按块堆叠,适合长页和营销叙事。`,`Sortable Frame stacks blocks for long pages and marketing stories.`),badge:`Sortable`,icon:`list`,accent:`#873bf4`},{title:q(e,`自由画布`,`Free canvas`),description:q(e,`Draggable Frame 管坐标、图层、标尺和吸附。`,`Draggable Frame owns coordinates, layers, rulers and snapping.`),badge:`Draggable`,icon:`grid`,accent:`#2d8cf0`},{title:q(e,`同一份文档`,`One document`),description:q(e,`V2 扁平 blocks,不写 children,Store 按节点 ID 更新。`,`V2 flat blocks, no children tree. The store writes by node id.`),badge:`Protocol`,icon:`file`,accent:`#14b8a6`},{title:q(e,`即时预览`,`Live preview`),description:q(e,`编辑、撤销和预览弹层共用同一份文档快照。`,`Edit, undo and the preview popup share one document snapshot.`),badge:`Combo`,icon:`preview`,accent:`#f59e0b`},{title:q(e,`多语言文案`,`Localized copy`),description:q(e,"演示工厂按 `lang` 输出中英两套,业务可继续覆盖。","Demo factories emit zh/en from `lang`; products can still override."),badge:`i18n`,icon:`notice`,accent:`#ed4014`},{title:q(e,`静态发布`,`Static publish`),description:q(e,"开发模式保存 `.page.json`,生产只做导入、导出和预览。","Development writes `.page.json`; production keeps import, export and preview."),badge:`Ship`,icon:`upload`,accent:`#eb2f96`}]},Ga({marginBottom:88})),Z(`steps`,{eyebrow:q(e,`流程`,`Start`),title:q(e,`四步从空白到上线`,`Four steps from blank to live`),description:q(e,`落地页不需要另起仓库。模块、路由和静态资源都走现有文档站点。`,`A landing page does not need a second repo. Modules, routes and assets stay in this docs site.`),columns:4,accent:``,items:[{title:q(e,`编写`,`Write`),description:q(e,`从组件库拖入 Hero、Features,或直接改这份演示。`,`Drop Hero and Features, or edit this demo in place.`),icon:`1`,accent:`#873bf4`},{title:q(e,`对照`,`Compare`),description:q(e,`用预览弹层看只读画布,确认间距和强调色。`,`Open the preview popup and check spacing and accents.`),icon:`2`,accent:`#2d8cf0`},{title:q(e,`保存`,`Save`),description:q(e,"开发模式写出 `.page.json`,也可导出 JSON 交给业务仓库。","Development writes `.page.json`, or export JSON into the product repo."),icon:`3`,accent:`#14b8a6`},{title:q(e,`发布`,`Ship`),description:q(e,`跟文档站一起构建。生产环境仍可导入和预览。`,`Ship with the docs site. Production still imports and previews.`),icon:`4`,accent:`#f59e0b`}]},Ga({marginBottom:88})),Z(`faq`,{eyebrow:`FAQ`,title:q(e,`落地页常见问题`,`Landing page questions`),description:q(e,`这份演示本身就是可拷贝文档。下面几条覆盖接入、布局和保存。`,`This demo is itself a copyable document. The answers cover wiring, layout and save.`),accent:``,items:[{question:q(e,`能直接当首页用吗?`,`Can I use this as the home page?`),answer:q(e,"可以。把 `createRendererEditorDemoDocument('landing', lang)` 赋给 `routes['/'].content`,或把保存后的 `.page.json` 配到对应语言。","Yes. Assign `createRendererEditorDemoDocument('landing', lang)` to `routes['/'].content`, or point the matching language at the saved `.page.json`.")},{question:q(e,`切换到自由布局会丢块吗?`,`Will switching to a free canvas drop blocks?`),answer:q(e,"落地模块现在同时声明 draggable;只有 `space` 仍是 Sortable 专属。切换后会按模块默认尺寸生成坐标。","Landing modules now declare draggable; only `space` stays sortable-only. Switching assigns default placements.")},{question:q(e,`强调色要写在每个模块里吗?`,`Do I set the accent on every module?`),answer:q(e,`Hero 和 CTA 有独立 accent;Features / Steps 可以给单卡填 accent,留空则按调色板轮换。`,`Hero and CTA have their own accent. Features / Steps accept per-card accents, or rotate the palette when empty.`)},{question:q(e,`按钮能跳到其它演示吗?`,`Can buttons open other demos?`),answer:q(e,"可以。`to` 写成 `/${lang}/renderer-editor-demos?name=shared` 即可,和业务路由一样走 Vue Router。","Yes. Set `to` to `/${lang}/renderer-editor-demos?name=shared`. It uses Vue Router like product routes.")},{question:q(e,`生产环境还能保存吗?`,`Can I save in production?`),answer:q(e,"不能写回工作区。生产仍可撤销、预览、导入和导出;保存只在 development 调用 `/__docs/page`。","Not back to the workspace. Production still undoes, previews, imports and exports; save hits `/__docs/page` only in development.")},{question:q(e,`如何换成自己的模块?`,`How do I swap in my own modules?`),answer:q(e,"通过 `$docs.renderers` 注册业务模块。不要占用 `docs:` 前缀。落地模块可以和 Banner、表单混排。","Register product modules on `$docs.renderers`. Do not use the `docs:` prefix. Landing blocks can sit next to banners and forms.")}]},Ga({marginBottom:88})),Z(`cta`,{eyebrow:q(e,`下一步`,`Next`),title:q(e,`把这份组合带到业务页`,`Take this composition into a product page`),description:q(e,"保存会写出 `.page.json`。也可以继续改模块顺序,或打开混合组合看 Markdown 和广告位怎么插进来。","Save writes `.page.json`. Keep rearranging modules, or open the mixed combo to see Markdown and ads in the same flow."),align:`center`,accent:`#873bf4`,accentSecondary:`#2d8cf0`,background:``,actions:[Y(q(e,`返回演示目录`,`Back to catalog`),`/${e}/renderer-editor-demos`),Y(q(e,`打开混合组合`,`Open mixed combo`),`/${e}/renderer-editor-demos?name=combo`,`outline`)]},Ga({marginBottom:0}))]),Za=e=>qa(q(e,`基础模块`,`Shared modules`),[Z(`title`,Ua(q(e,`基础内容模块`,`Shared content modules`),1,40),{marginBottom:8}),Z(`text`,X(q(e,`Title、Text、List、Image、Actions 同时支持流式和自由画布。演示里它们显式写成不铺满、整块 1200 居中;实例未写宽度时会跟着容器铺开。`,`Title, Text, List, Image and Actions work in both flow and free-canvas frames. Demos write boxed 1200 explicitly; unset width follows the container.`))),Z(`title`,Ua(q(e,`标题层级`,`Heading levels`),2,28),{marginBottom:8}),Z(`text`,X(q(e,"Title 用 `level` 输出 h1–h6,同时可单独改字号、字重、行高和颜色。下面这段是常规正文,行高 1.7,适合连续阅读。","Title emits h1–h6 through `level`, and still accepts font size, weight, line height and color. The paragraph below is body copy at 1.7 for long reading."))),Z(`text`,X(q(e,`同一页里可以连续放多个 Text。需要拉开章节时插入 Space,而不是靠把段落 margin 写死在模块数据里。`,`Stack several Text blocks on one page. Use Space to separate chapters instead of baking section gaps into the paragraph data.`))),Z(`title`,Ua(q(e,`列表把结构说清楚`,`Lists make structure obvious`),2,28),{marginBottom:8}),Z(`list`,{ordered:!0,items:[q(e,`Title 负责层级标题,不要把整段说明塞进标题`,`Title owns heading levels; do not dump a paragraph into the title`),q(e,`Text 负责段落,可连续堆叠`,`Text owns paragraphs and can stack`),q(e,`List 负责步骤、清单和并列要点`,`List owns steps, checklists and parallel points`),q(e,`Image / Actions 负责视觉和跳转`,`Image / Actions own visuals and navigation`)]}),Z(`list`,{ordered:!1,items:[q(e,`无序列表适合特性、注意项和资源清单`,`Unordered lists fit features, caveats and resource lists`),q(e,`图片地址可以是站点相对路径,也可以是外链`,"Image `src` can be a site-relative path or an absolute URL"),q(e,"Actions 的 `to` 走 Vue Router,外链会在新窗口打开","Action `to` uses Vue Router; external links open in a new tab")]}),Z(`title`,Ua(q(e,`图片与操作区`,`Image and actions`),2,28),{marginBottom:8}),Z(`image`,Wa(J(q(e,`基础模块`,`Shared`),1200,640,`2d8cf0`),q(e,`基础模块示意:图片在正文流中占满内容宽`,`Shared modules: an image filling the content width`),20)),Z(`area`,{src:J(q(e,`图片热区`,`Hotspots`),1200,640,`5b6b8c`),alt:q(e,`可点击的图片热区`,`Clickable image hotspots`),areas:[{x:8,y:16,width:28,height:32,zIndex:1,to:`/${e}/renderer-editor-demos?name=landing`,label:q(e,`落地页`,`Landing`)},{x:62,y:48,width:28,height:32,zIndex:2,to:`/${e}/renderer-editor-demos?name=docs`,label:q(e,`文档模块`,`Docs`)}]}),Z(`text`,X(q(e,"图片支持 `cover` / `contain` / `fill`,以及圆角和暗色主题备用图。操作区可以放主按钮、次按钮和文本按钮,尺寸有 small / medium / large。","Images support `cover` / `contain` / `fill`, radius and a dark-theme fallback. Actions can mix solid, outline and text buttons in small / medium / large."))),Z(`actions`,{items:[Y(q(e,`打开落地页`,`Open landing`),`/${e}/renderer-editor-demos?name=landing`),Y(q(e,`打开文档模块`,`Open docs modules`),`/${e}/renderer-editor-demos?name=docs`,`outline`),Y(q(e,`返回目录`,`Back to catalog`),`/${e}/renderer-editor-demos`,`outline`)]}),Z(`space`,{height:72,background:`transparent`},{marginBottom:0})]),$=(e,t,n=`https://example.com`)=>({src:t,href:n,title:e,alt:e}),Qa=e=>qa(q(e,`广告位样式`,`Promo placements`),[Z(`title`,Ua(q(e,`广告位(type: ads)`,`Ads module (type: ads)`),1,36),{marginBottom:8}),Z(`text`,X(q(e,"目录在 `modules/sortable/promo`,避免 URL 含 `/ads/` 被拦截。模块 type 仍是 `ads`。下面四种样式共用一份 items:图片、标题和跳转。","Lives in `modules/sortable/promo` so URLs avoid `/ads/` blockers. The module type stays `ads`. The four styles share the same items: image, title and href."))),Z(`title`,Ua(q(e,`横幅 Banner`,`Banner tiles`),2,24),{marginBottom:8}),Z(`text`,X(q(e,"`layout: tile` + `style: banner` 适合页顶或章节之间的双栏推广。缺图时会用标题首字做回退。","`layout: tile` + `style: banner` fits a two-column promo between sections. Missing images fall back to the title initial."),15)),Z(`ads`,{layout:`tile`,style:`banner`,columns:2,gap:16,height:180,speed:4,items:[$(q(e,`春季文档主题`,`Spring docs theme`),J(q(e,`春季主题`,`Spring`),960,360,`456cf6`)),$(q(e,`组件库更新`,`Component updates`),J(q(e,`组件库`,`Components`),960,360,`873bf4`)),$(q(e,`静态托管指南`,`Static hosting guide`),J(q(e,`静态托管`,`Hosting`),960,360,`2d8cf0`)),$(q(e,`搜索与预取`,`Search and prefetch`),J(q(e,`搜索`,`Search`),960,360,`14b8a6`))]},Ga()),Z(`title`,Ua(q(e,`滚动卡片`,`Scrolling cards`),2,24),{marginBottom:8}),Z(`text`,X(q(e,"`layout: scroll` 会复制一份轨道做无缝循环。卡片多于一列时更明显,速度用 `speed` 控制。","`layout: scroll` clones the track for a seamless loop. It reads better with more than one card; `speed` controls the motion."),15)),Z(`ads`,{layout:`scroll`,style:`card`,columns:3,gap:16,height:200,speed:6,items:[$(q(e,`Hero 模板`,`Hero template`),J(`Hero`,640,400,`873bf4`)),$(q(e,`FAQ 模板`,`FAQ template`),J(`FAQ`,640,400,`2d8cf0`)),$(q(e,`CTA 模板`,`CTA template`),J(`CTA`,640,400,`14b8a6`)),$(q(e,`广告横幅`,`Ad banner`),J(`Ads`,640,400,`ed6a0c`)),$(q(e,`自由画布`,`Free canvas`),J(`Canvas`,640,400,`f5a623`)),$(q(e,`组合框`,`Selection group`),J(`Group`,640,400,`13c2c2`))]},Ga()),Z(`title`,Ua(q(e,`海报 Poster`,`Poster tiles`),2,24),{marginBottom:8}),Z(`text`,X(q(e,`海报更高,适合活动封面和版本发布。两列时注意标题不要太长,否则会压住图片。`,`Posters are taller, for campaign covers and release art. Keep titles short in two columns so they do not cover the image.`),15)),Z(`ads`,{layout:`tile`,style:`poster`,columns:2,gap:16,height:260,speed:4,items:[$(q(e,`1.0 发布海报`,`1.0 release poster`),J(`1.0`,800,520,`456cf6`)),$(q(e,`主题工坊`,`Theme workshop`),J(q(e,`主题`,`Theme`),800,520,`c23bd6`)),$(q(e,`编辑器演示`,`Editor demos`),J(`Demos`,800,520,`873bf4`)),$(q(e,`贡献指南`,`Contributing guide`),J(q(e,`贡献`,`Contribute`),800,520,`19be6b`))]},Ga()),Z(`title`,Ua(q(e,`通知条 Notice`,`Notice strip`),2,24),{marginBottom:8}),Z(`text`,X(q(e,`通知条可以只有标题。用来放版本提示、维护公告或文档迁移说明。`,`A notice can be title-only. Use it for version notes, maintenance banners or migration hints.`),15)),Z(`ads`,{layout:`tile`,style:`notice`,columns:1,gap:8,height:88,speed:4,items:[$(q(e,`通知:Renderer 演示已改为 /renderer-editor-demos`,`Notice: demos now live at /renderer-editor-demos`),``),$(q(e,`维护:开发模式保存会写回 ./pages/*.page.json`,`Maintenance: development save writes ./pages/*.page.json`),``),$(q(e,`提示:广告链接只允许 http(s) 与站内路径`,`Hint: ad hrefs allow http(s) and in-site paths only`),``)]},Ga({marginBottom:0}))]),$a=e=>{let t=q(e,(/* @__PURE__ */ "# docs:markdown((这个块用内联 `content`,不依赖 `.md` 文件。业务路由也可以把 `content` 直接设成 Renderer 文档;需要文件时改成 `{ source: './guide.md' }`。((## 和落地模块混排((Markdown 可以插在 Hero、Features、广告位之间。它走文档站点同一套高亮、标题锚点和提示容器。((- 内联 `content` 适合短说明和演示(- `source` 可以是站点路径或 `https://` 地址,走 Gateway 缓存和热更新(- `options.indicator` 控制文档指示器,后续渲染选项也放在 `options`(- 演示文档显式写成不铺满 + 1200;实例未写 `maxWidth` 时正文会跟着容器铺开(- 通栏时写 `fullWidth: true` 并保留 `maxWidth: 1200`(- 不要把整本手册塞进一个块,必要时拆成多个 `docs:markdown`((## 代码与提示((```ts(window.$docs = {( routes: {( '/guide': { content: { schemaVersion: 2, meta: { id: 'guide', title: 'Guide' }, layout: { mode: 'sortable' }, blocks: [] } }( }(}(```((:::tip(开发模式从 Header 进入编辑器后,保存会把内联文档写成 `.page.json`,并回写 `routes['/'].content`。(:::((:::warning(`docs:` 前缀留给 Client。业务模块不要注册 `docs:markdown` 或 `docs:sfc`。(:::".split(`(`)).join(`
5
- `),(/* @__PURE__ */ "# docs:markdown((This block uses inline `content` and does not need a `.md` file. Routes can also set `content` to a Renderer document; switch to `{ source: './guide.md' }` for a file.((## Mix with landing modules((Markdown can sit between Hero, Features and ads. It uses the same highlighting, heading anchors and callout containers as the docs site.((- Inline `content` fits short notes and demos(- `source` can be a site path or `https://` URL, with Gateway cache and hot reload(- `options.indicator` toggles the document map; later renderer flags also go under `options`(- Demos write boxed 1200 explicitly; unset `maxWidth` follows the container(- Use `fullWidth: true` with `maxWidth: 1200` for a bleed(- Do not dump a whole manual into one block; split into several `docs:markdown` nodes((## Code and callouts((```ts(window.$docs = {( routes: {( '/guide': { content: { schemaVersion: 2, meta: { id: 'guide', title: 'Guide' }, layout: { mode: 'sortable' }, blocks: [] } }( }(}(```((:::tip(In development, saving from the header editor writes an inline document to `.page.json` and updates `routes['/'].content`.(:::((:::warning(The `docs:` prefix is reserved for Client. Product modules must not register `docs:markdown` or `docs:sfc`.(:::".split(`(`)).join(`
6
- `)),n=q(e,[`## docs:sfc`,``,"下一个块指向 `./examples/renderer-demo.vue`。远程 SFC 由 Gateway 拉取,失败时会显示错误而不是空白。",``,"1. `source` 不能为空",`2. 相对路径相对当前语言目录`,`3. 预览里的跳转仍走文档 Router`,``,"> 若只要静态说明,优先用 `docs:markdown`;SFC 留给需要交互的示例。"].join(`
7
- `),[`## docs:sfc`,``,"The next block points at `./examples/renderer-demo.vue`. Remote SFCs load through Gateway and show an error instead of a blank frame.",``,"1. `source` is required",`2. Relative paths are resolved from the current language directory`,`3. Links inside the preview still use the docs router`,``,"> Prefer `docs:markdown` for static notes. Keep SFC for interactive examples."].join(`
8
- `));return qa(q(e,`文档模块`,`Docs modules`),[Z(`docs:markdown`,{content:t}),Z(`docs:markdown`,{content:n}),Z(`docs:sfc`,{source:`./examples/renderer-demo.vue`},{marginBottom:0})])},eo=e=>qa(q(e,`混合组合`,`Mixed composition`),[Z(`hero`,{eyebrow:q(e,`组合页`,`Combo page`),title:q(e,`落地模块、文档块和广告位放在同一画布`,`Landing blocks, docs and ads on one canvas`),description:q(e,`业务页经常是 Hero 后面直接接 Markdown,再夹一条赞助位。这份演示按这个顺序排好,按钮可以跳到落地页对照。`,`Product pages often put Markdown right after Hero, then a sponsor strip. This demo follows that order; the button opens the landing reference.`),align:`left`,accent:`#873bf4`,accentSecondary:`#2d8cf0`,background:``,showVisual:!0,minHeight:480,highlights:[{value:`Hero`,label:q(e,`首屏`,`Opening`)},{value:`MD`,label:q(e,`文档块`,`Docs block`)},{value:`Ads`,label:q(e,`赞助位`,`Sponsor`)},{value:`CTA`,label:q(e,`收束`,`Close`)}],actions:[Y(q(e,`打开落地页演示`,`Open landing demo`),`/${e}/renderer-editor-demos?name=landing`),Y(q(e,`打开广告位`,`Open promo`),`/${e}/renderer-editor-demos?name=promo`,`outline`)]},Ga({marginBottom:48})),Z(`docs:markdown`,{content:q(e,[`## 文档插入点`,``,"`docs:markdown` 可以插在任意内置模块之间。这里放产品说明、版本差异或一段带代码的接入示例。",``,"- 短说明用内联 `content`","- 长文档用 `{ source: './guide.md' }` 或 https 地址","- `{ options: { indicator: false } }` 可关掉文档指示器","- 需要交互示例时换成 `docs:sfc`",``,"```js",`content: createRendererEditorDemoDocument('combo', lang)`,"```",``,`:::tip`,`混排时 Hero / CTA / 广告位铺满画布、正文 1200;Markdown 与 Features 不铺满、整块 1200 居中。`,`:::`].join(`
9
- `),[`## Docs insertion`,``,"`docs:markdown` can sit between any built-in modules. Use it for product notes, changelog or a short integration snippet.",``,"- Inline `content` for short notes","- `{ source: './guide.md' }` or an https URL for long guides","- `{ options: { indicator: false } }` hides the document map","- `docs:sfc` when the example must be interactive",``,"```js",`content: createRendererEditorDemoDocument('combo', lang)`,"```",``,`:::tip`,`Hero, CTA and ads fill the canvas with 1200px content. Markdown and Features stay boxed at 1200.`,`:::`].join(`
10
- `))}),Z(`features`,{eyebrow:q(e,`对照`,`Reference`),title:q(e,`复制时保留的结构`,`Keep this structure when copying`),description:q(e,`Combo 是编辑器壳,Renderer 是只读画布。首页用 Renderer,装修页用 Combo,模块表必须是同一份。`,`Combo is the editor shell; Renderer is the read-only canvas. Home uses Renderer, the editor uses Combo, and both must share one module table.`),columns:2,gap:20,accent:``,items:[{title:`Combo`,description:q(e,`编辑器壳:撤销、预览、保存、导入导出。`,`Editor shell: undo, preview, save, import and export.`),badge:`API`,icon:`edit`,accent:`#873bf4`},{title:`Renderer`,description:q(e,`只读画布:首页和内容页直接挂文档。`,`Read-only canvas: home and content pages mount the document.`),badge:`API`,icon:`visible`,accent:`#2d8cf0`},{title:`docs:markdown`,description:q(e,`内联或文件 Markdown,可插在营销模块之间。`,`Inline or file Markdown between marketing modules.`),badge:`Docs`,icon:`file`,accent:`#14b8a6`},{title:`ads`,description:q(e,`赞助位和通知条。目录叫 promo,type 仍是 ads。`,`Sponsors and notices. Folder is promo; type stays ads.`),badge:`Promo`,icon:`activity`,accent:`#f59e0b`}]}),Z(`ads`,{layout:`tile`,style:`banner`,columns:2,gap:16,height:160,speed:4,items:[{src:J(q(e,`主题与组件`,`Theme`),960,320,`873bf4`),href:`https://example.com`,title:q(e,`赞助:主题与组件`,`Sponsor: theme and components`),alt:q(e,`主题与组件`,`Theme and components`)},{src:J(q(e,`静态托管`,`Hosting`),960,320,`2d8cf0`),href:`https://example.com`,title:q(e,`赞助:静态托管`,`Sponsor: static hosting`),alt:q(e,`静态托管`,`Static hosting`)}]},Ga()),Z(`faq`,{eyebrow:`FAQ`,title:q(e,`混排时要注意什么`,`What to watch when mixing`),description:q(e,`营销模块和文档块共用一条流,间距靠 appearance,不要靠空 Text 撑开。`,`Marketing and docs share one flow. Use appearance for gaps, not empty Text.`),accent:``,items:[{question:q(e,`Markdown 会不会打乱强调色?`,`Will Markdown reset the accent?`),answer:q(e,`不会。Markdown 用文档主题色;Hero / CTA / Features 仍用自己的 accent。`,`No. Markdown uses the docs theme; Hero / CTA / Features keep their own accents.`)},{question:q(e,`广告位必须有图吗?`,`Do ads require an image?`),answer:q(e,`图片和标题至少要有一项。通知条可以只有标题;横幅和海报建议给图。`,`Provide an image or a title. Notices can be title-only; banners and posters should have images.`)}]}),Z(`cta`,{eyebrow:q(e,`收束`,`Close`),title:q(e,`同一套模块表供给首页和内容页`,`One module table for home and content pages`),description:q(e,"把这份文档交给 `routes['/'].content` 或其它路由 `content`。需要纯落地页时打开 landing,需要纯文档块时打开 docs。","Hand this document to `routes['/'].content` or another route `content`. Open landing for a pure marketing page, or docs for document blocks only."),align:`center`,accent:`#873bf4`,accentSecondary:`#2d8cf0`,background:``,actions:[Y(q(e,`返回目录`,`Back to catalog`),`/${e}/renderer-editor-demos`),Y(q(e,`打开文档模块`,`Open docs modules`),`/${e}/renderer-editor-demos?name=docs`,`outline`)]},Ga({marginBottom:0}))]),to=e=>Ja(q(e,`自由画布`,`Free canvas`),[Q(`title`,Ua(q(e,`自由布局`,`Free layout`),1,40),{x:64,y:48,width:520,height:72,zIndex:3}),Q(`text`,X(q(e,`标尺、缩放、吸附和右键菜单都挂在 Draggable Frame 上。按住画布空白处平移,滚轮缩放,选中后四角拉伸。`,`Rulers, zoom, snapping and the context menu live on Draggable Frame. Pan on empty canvas, wheel to zoom, drag corners to resize.`),16),{x:64,y:132,width:400,height:120,zIndex:3}),Q(`text`,X(q(e,`右侧大图是独立图层。广告位叠在左下,操作区浮在文字下方。可以用组合框把标题和正文收成一组。`,`The large image on the right is its own layer. Ads sit bottom-left; actions float under the copy. Group the title and body with a selection box.`),15),{x:64,y:268,width:400,height:110,zIndex:3}),Q(`image`,Wa(J(q(e,`自由画布`,`Canvas`),900,640,`f5a623`),q(e,`自由画布主视觉`,`Free-canvas hero image`),20),{x:500,y:48,width:640,height:360,zIndex:1}),Q(`actions`,{items:[Y(q(e,`打开组合框`,`Open selection`),`/${e}/renderer-editor-demos?name=selection`),Y(q(e,`打开流式画布`,`Open flow canvas`),`/${e}/renderer-editor-demos?name=sortable`,`outline`)]},{x:64,y:400,width:360,height:56,zIndex:4}),Q(`list`,{ordered:!1,items:[q(e,`对齐时看标尺和辅助线`,`Use rulers and guides when aligning`),q(e,`图层顺序看 zIndex,右键可置顶或置底`,`zIndex owns stacking; the menu can raise or lower a node`),q(e,`旋转和缩放以当前锚点为准`,`Rotate and zoom around the current anchor`)]},{x:64,y:480,width:400,height:160,zIndex:3}),Q(`ads`,{layout:`tile`,style:`card`,columns:1,gap:8,height:180,speed:4,items:[{src:J(q(e,`画布赞助`,`Sponsor`),720,360,`ed6a0c`),href:`https://example.com`,title:q(e,`画布赞助位`,`Canvas sponsor`),alt:q(e,`画布赞助位`,`Canvas sponsor`)}]},{x:500,y:440,width:300,height:200,zIndex:2}),Q(`image`,Wa(J(q(e,`参考图`,`Reference`),640,400,`873bf4`),q(e,`第二张参考图`,`Second reference image`),16),{x:828,y:440,width:312,height:200,zIndex:2}),Q(`title`,Ua(q(e,`再放一组说明`,`Another note`),3,22),{x:64,y:680,width:320,height:48,zIndex:3}),Q(`text`,X(q(e,`自由画布适合海报、活动页和需要叠层的封面。长文还是回到 Sortable,避免靠坐标硬排段落。`,`Use the free canvas for posters, campaigns and layered covers. Keep long articles on Sortable instead of placing paragraphs by hand.`),15),{x:64,y:740,width:480,height:100,zIndex:3})],{width:1280,height:1100}),no=e=>{let t=Q(`title`,Ua(q(e,`已组合的标题`,`Grouped title`),2,30),{x:80,y:80,width:320,height:56,zIndex:2}),n=Q(`text`,X(q(e,`这两个节点被第一个 selection 收纳。拖动组合框会一起移动;解组后恢复成独立图层。`,`These two nodes sit in the first selection. Dragging the group moves them together; ungrouping restores separate layers.`),15),{x:80,y:152,width:340,height:100,zIndex:2}),r=Q(`actions`,{items:[Y(q(e,`打开自由画布`,`Open free canvas`),`/${e}/renderer-editor-demos?name=draggable`),Y(q(e,`返回目录`,`Back to catalog`),`/${e}/renderer-editor-demos`,`outline`)]},{x:80,y:268,width:340,height:52,zIndex:3}),i=Q(`image`,Wa(J(q(e,`未编组`,`Ungrouped`),800,560,`13c2c2`),q(e,`未编组图片,可单独框选`,`Ungrouped image; select it on its own`),16),{x:500,y:80,width:360,height:240,zIndex:1}),a=Q(`title`,Ua(q(e,`第二组:说明与清单`,`Second group: note and list`),3,22),{x:80,y:400,width:360,height:48,zIndex:2}),o=Q(`text`,X(q(e,`框选多个块后,右键可以建立新的组合。组合框本身也是一个模块,数据里只存 member ids。`,`After multi-select, the context menu can create another group. The selection node is a module that only stores member ids.`),15),{x:80,y:460,width:360,height:110,zIndex:2}),s=Q(`list`,{ordered:!1,items:[q(e,`点组合框选中整组`,`Click the box to select the whole group`),q(e,`点空白处取消选择`,`Click empty canvas to clear the selection`),q(e,`解组不会删除成员`,`Ungrouping does not delete members`)]},{x:80,y:588,width:360,height:140,zIndex:2}),c=Q(`text`,X(q(e,`右侧图片没有进组,方便对照:编组块一起移动,未编组块留在原地。`,`The image on the right stays ungrouped so you can compare: grouped nodes move together, the image stays put.`),15),{x:500,y:360,width:360,height:110,zIndex:2}),l={id:(0,u.createRendererId)(),module:{type:`selection`,version:1,props:{members:[t.id,n.id,r.id]}},placement:{x:64,y:64,width:376,height:272,rotate:0,zIndex:5}},d={id:(0,u.createRendererId)(),module:{type:`selection`,version:1,props:{members:[a.id,o.id,s.id]}},placement:{x:64,y:384,width:396,height:360,rotate:0,zIndex:5}};return Ja(q(e,`组合框`,`Selection group`),[t,n,r,i,a,o,s,c,l,d],{width:1280,height:1e3})},ro=[`sortable`,`landing`,`shared`,`promo`,`docs`,`combo`,`draggable`,`selection`],io={sortable:Ya,landing:Xa,shared:Za,promo:Qa,docs:$a,combo:eo,draggable:to,selection:no},ao={sortable:{title:[`流式画布`,`Sortable canvas`],description:[`空白上下流,对照 Widget 拖入。`,`Empty flow canvas for widget drops.`],modules:[],accent:`#5b6b8c`},landing:{title:[`落地页组合`,`Landing composition`],description:[`Hero → Features → Steps → FAQ → CTA。`,`Hero → Features → Steps → FAQ → CTA.`],modules:[`hero`,`features`,`steps`,`faq`,`cta`],accent:`#873bf4`},shared:{title:[`基础模块`,`Shared modules`],description:[`Title / Text / List / Image / 图片热区 / Actions / Space。`,`Title / Text / List / Image / Image hotspots / Actions / Space.`],modules:[`title`,`text`,`list`,`image`,`area`,`actions`,`space`],accent:`#2d8cf0`},promo:{title:[`广告位样式`,`Promo placements`],description:[`ads 的 banner / card / poster / notice。`,`ads banner / card / poster / notice.`],modules:[`ads`],accent:`#ed6a0c`},docs:{title:[`文档模块`,`Docs modules`],description:[`docs:markdown 与 docs:sfc。`,`docs:markdown and docs:sfc.`],modules:[`docs:markdown`,`docs:sfc`],accent:`#19be6b`},combo:{title:[`混合组合`,`Mixed composition`],description:[`落地模块、Markdown 和广告位混排。`,`Landing blocks mixed with Markdown and ads.`],modules:[`hero`,`docs:markdown`,`features`,`ads`,`cta`],accent:`#c23bd6`},draggable:{title:[`自由画布`,`Free canvas`],description:[`带坐标的 Title / Text / Image / Actions / Ads。`,`Positioned Title / Text / Image / Actions / Ads.`],modules:[`title`,`text`,`image`,`actions`,`ads`],accent:`#f5a623`},selection:{title:[`组合框`,`Selection group`],description:[`预置 selection 多选组合。`,`A prebuilt selection group.`],modules:[`title`,`text`,`image`,`selection`],accent:`#13c2c2`}},oo=e=>typeof e==`string`&&ro.includes(e),so=(e,t)=>t?`/${e}/renderer-editor-demos?name=${t}`:`/${e}/renderer-editor-demos`,co=e=>ro.map(t=>({name:t,title:q(e,...ao[t].title),description:q(e,...ao[t].description),modules:ao[t].modules,accent:ao[t].accent})),lo=(e,t)=>io[e](t),uo={class:`docs-app__header`},fo=[`aria-label`,`aria-expanded`],po=[`aria-label`],mo={class:`docs-layout__main`},ho={class:`docs-layout__footer`},go=/* @__PURE__ */ (0,e.defineComponent)({__name:`app`,setup(a){let o=(0,r.useRoute)(),s=(0,r.useRouter)(),c=(0,e.computed)(()=>o.meta.docsRoute?.layout??`default`),{t:l}=(0,t.useLocale)(),u=(0,e.ref)(),d=(0,e.ref)(!1),f=(0,e.computed)(()=>!!(o.meta?.docsDatabase||o.meta?.docsPlaygroundResource)),p=(0,e.computed)(()=>!!o.meta?.docsEditor||!!o.meta?.docsEditorDemos&&oo(o.query.name)),m=()=>{d.value=!1},h=()=>{d.value=!d.value},g=e=>{e.target?.closest(`a`)&&m()};return(0,e.provide)(i.markdownTabQueryKey,{get:()=>{let e=o.query.tab;return typeof e==`string`?e:Array.isArray(e)?String(e[0]||``):``},set:e=>{let t={...o.query};e?t.tab=e:delete t.tab,s.replace({path:o.path,query:t,hash:o.hash})},subscribe:t=>(0,e.watch)(()=>o.query.tab,()=>t())}),(0,e.watch)([()=>o.path,()=>JSON.stringify(Ma(o.query,[`tab`]))],async()=>{m(),await(0,e.nextTick)(),u.value?.setScrollTop(0)}),(t,i)=>c.value===`none`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r.RouterView),{key:0,class:`docs-page--none`})):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,class:(0,e.normalizeClass)([`docs-app`,{"docs-app--database":f.value,"docs-app--editor":p.value,"docs-app--mobile-sidebar-open":d.value}]),onKeydown:(0,e.withKeys)(m,[`esc`])},[(0,e.createElementVNode)(`div`,uo,[(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`docs-app__sidebar-toggle`,{"is-open":d.value}]),"aria-label":(0,e.unref)(l)(d.value?`client.header.closeSidebar`:`client.header.openSidebar`),"aria-expanded":d.value,"aria-controls":`docs-mobile-sidebar`,onClick:h},[(0,e.createVNode)((0,e.unref)(hi),{name:d.value?`close`:`menu`},null,8,[`name`])],10,fo),(0,e.createVNode)((0,e.unref)(Va),{name:`header`})]),(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`docs-layout`,{"docs-layout--database":f.value,"docs-layout--editor":p.value,"docs-layout--home":(0,e.unref)(o).meta?.docsHome}])},[(0,e.createElementVNode)(`aside`,{id:`docs-mobile-sidebar`,class:`docs-layout__sidebar`,onClick:g},[(0,e.createVNode)((0,e.unref)(n.Scroller),{class:`docs-layout__sidebar-scroller`,"auto-resize":!0,native:!1,"show-bar":!0,height:`100%`,"wrapper-style":`overflow-x: hidden;`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(Va),{name:`sidebar`})]),_:1})]),(0,e.createElementVNode)(`button`,{type:`button`,class:`docs-layout__sidebar-mask`,"aria-label":(0,e.unref)(l)(`client.header.closeSidebar`),onClick:m},null,8,po),(0,e.createVNode)((0,e.unref)(n.Scroller),{ref_key:`mainScroller`,ref:u,class:`docs-layout__main-scroller`,"auto-resize":!0,native:!1,"show-bar":!0,height:`100%`,"content-class":`docs-layout__content`,"wrapper-style":`overflow-x: hidden;`},{default:(0,e.withCtx)(()=>[i[0]||=(0,e.createElementVNode)(`div`,{class:`docs-layout__rail docs-layout__rail--start`,"aria-hidden":`true`},null,-1),(0,e.createElementVNode)(`main`,mo,[(0,e.createVNode)((0,e.unref)(r.RouterView)),(0,e.createVNode)((0,e.unref)(r.RouterView),{name:`extra`})]),i[1]||=(0,e.createElementVNode)(`div`,{class:`docs-layout__rail docs-layout__rail--end`,"aria-hidden":`true`},null,-1),(0,e.createElementVNode)(`div`,ho,[(0,e.createVNode)((0,e.unref)(Va),{name:`footer`})])]),_:1},512)],2)],34))}}),_o=[`markdown`,`sidebar`,`page`,`sfc`,`module`,`style`],vo=[`add`,`change`,`unlink`,`reload`],yo=_o,bo=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return!t.type||!vo.includes(t.type)||typeof t.timestamp!=`number`?!1:t.type===`reload`||typeof t.lang==`string`&&typeof t.source==`string`&&!!(t.resourceType&&yo.includes(t.resourceType))},xo=async e=>{try{await G.revalidate(e,{priority:75,trailing:!0})}catch{}},So=()=>{let e=x();if(e.mode!==`development`||!e.events||typeof EventSource>`u`)return()=>void 0;let t=b(),n=new EventSource(e.events);return n.onmessage=e=>{let n;try{n=JSON.parse(e.data)}catch{return}if(!bo(n))return;let r=n;if(r.type===`reload`){location.reload();return}let i=Object.keys(t.locales),a=r.lang&&!i.includes(r.lang)?`${r.lang}/${r.source.replace(/^\.\//,``)}`:r.source;(r.lang&&i.includes(r.lang)?[r.lang]:i.length?i:[P(t)]).forEach(e=>{let n=R(t,e,r.resourceType,a);(G.isSubscribed(n)||G.isPrefetched(n))&&xo(n)})},()=>n.close()},Co=async()=>{let e=await G.list(),t=[];try{t=await K.plan.collectConfiguredOrder(b(),e)}catch{}let n=new Map(t.map((e,t)=>[z(e),t]));return e.sort((e,t)=>{let r=n.get(z(e.identity)),i=n.get(z(t.identity));return typeof r==`number`&&typeof i==`number`?r-i:typeof r==`number`?-1:typeof i==`number`?1:(t.accessedAt||0)-(e.accessedAt||0)||z(e.identity).localeCompare(z(t.identity))})},wo=async e=>G.revalidate(e.identity,{url:e.url,priority:100}),To=async e=>{let t=(await Promise.allSettled(e.map(e=>G.revalidate(e.identity,{url:e.url,priority:50})))).filter(e=>e.status===`rejected`).length;if(t)throw Error(`${t} records failed to reload`)},Eo=async e=>{await G.invalidate(e.identity)},Do=async()=>{await G.clear()},Oo=async()=>{let{collector:e,results:t}=await K.plan.build(),n=K.plan.summarize(t);return{total:e.identities.size,...n}},ko=async()=>{let{config:e,collector:t}=await K.plan.build({strict:!0,downloadMarkdown:!1});return(await G.prune(F(e),[...t.identities.values()])).length},Ao={class:`docs-paging-filter-item`},jo={key:0,class:`docs-paging-filter-item__label`},Mo={key:1,class:`docs-paging-filter-item__range`},No={class:`docs-paging-filter-item__separator`},Po=/* @__PURE__ */ (0,e.defineComponent)({__name:`filter-item`,props:{module:{},modelValue:{},startValue:{},endValue:{}},emits:[`update:modelValue`,`update:startValue`,`update:endValue`,`search`],setup(r,{emit:i}){let a=r,{t:o}=(0,t.useLocale)(),s=i,c=e=>e instanceof Date||e==null?void 0:e,l=e=>e instanceof Date||e==null?void 0:e,u=e=>typeof e==`number`||e==null?void 0:e,d=e=>{let t=a.module.placeholder;return Array.isArray(t)?t[e]:t||o(e?`client.paging.max`:`client.paging.min`)},f=e=>{s(`update:modelValue`,e)},p=e=>{s(`update:startValue`,e)},m=e=>{s(`update:endValue`,e)},h=()=>{s(`search`)},g=e=>{s(`update:modelValue`,e),(e===``||e==null)&&s(`search`)},_=e=>{s(`update:modelValue`,e),s(`search`)};return(t,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ao,[r.module.label?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,jo,(0,e.toDisplayString)(r.module.label),1)):(0,e.createCommentVNode)(`v-if`,!0),r.module.type===`range`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Mo,[(0,e.createVNode)((0,e.unref)(n.InputNumber),(0,e.mergeProps)({"model-value":l(r.startValue),"data-filter":r.module.field[0],placeholder:d(0)},r.module.options,{"onUpdate:modelValue":p,onEnter:h}),null,16,[`model-value`,`data-filter`,`placeholder`]),(0,e.createElementVNode)(`span`,No,(0,e.toDisplayString)(r.module.separator||`-`),1),(0,e.createVNode)((0,e.unref)(n.InputNumber),(0,e.mergeProps)({"model-value":l(r.endValue),"data-filter":r.module.field[1],placeholder:d(1)},r.module.options,{"onUpdate:modelValue":m,onEnter:h}),null,16,[`model-value`,`data-filter`,`placeholder`])])):r.module.type===`input`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Input),(0,e.mergeProps)({key:2,"model-value":c(r.modelValue),"data-filter":r.module.field,clearable:``,placeholder:r.module.placeholder||(0,e.unref)(o)(`client.paging.enter`)},r.module.options,{"onUpdate:modelValue":f,onChange:g,onEnter:h}),null,16,[`model-value`,`data-filter`,`placeholder`])):r.module.type===`select`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Select),(0,e.mergeProps)({key:3,"model-value":c(r.modelValue),"data-filter":r.module.field,data:r.module.data||[],clearable:``,placeholder:r.module.placeholder||(0,e.unref)(o)(`client.paging.select`)},r.module.options,{"onUpdate:modelValue":f,onChange:_}),null,16,[`model-value`,`data-filter`,`data`,`placeholder`])):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.DatePicker),(0,e.mergeProps)({key:4,"model-value":u(r.modelValue),"data-filter":r.module.field,confirm:!1,clearable:``,placeholder:r.module.placeholder||(0,e.unref)(o)(`client.paging.pickDate`)},r.module.options,{"onUpdate:modelValue":f,onChange:_,onOk:h}),null,16,[`model-value`,`data-filter`,`placeholder`]))]))}}),Fo={class:`docs-paging-filter`},Io={class:`docs-paging-filter__operate`},Lo=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,props:{modules:{}},emits:[`search`,`reset`],setup(r,{emit:i}){let a=r,{t:o}=(0,t.useLocale)(),s=i,c=(0,e.reactive)({}),l=e=>Array.isArray(e)?[...e]:e,u=(e,t)=>e.type===`range`?l(e.defaultValue?.[t||0]):l(e.defaultValue);(0,e.watch)(()=>a.modules,()=>{let e=new Set(a.modules.flatMap(e=>Array.isArray(e.field)?e.field:[e.field]));Object.keys(c).forEach(t=>{e.has(t)||delete c[t]}),a.modules.forEach(e=>{(Array.isArray(e.field)?e.field:[e.field]).forEach((t,n)=>{t in c||(c[t]=u(e,n))})})},{immediate:!0,deep:!0});let d=()=>Object.fromEntries(Object.entries(c).map(([e,t])=>[e,l(t)])),f=e=>Array.isArray(e.field)?e.field.join(`:`):e.field,p=e=>e.type===`range`?void 0:c[e.field],m=(e,t)=>{e.type!==`range`&&(c[e.field]=t)},h=(e,t)=>e.type===`range`?c[e.field[t]]:void 0,g=(e,t,n)=>{e.type===`range`&&(c[e.field[t]]=n)},_=()=>s(`search`,d()),v=()=>{a.modules.forEach(e=>{(Array.isArray(e.field)?e.field:[e.field]).forEach((t,n)=>{c[t]=u(e,n)})});let e=d();s(`reset`,e),s(`search`,e)};return(t,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Fo,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(r.modules,t=>((0,e.openBlock)(),(0,e.createBlock)(Po,{key:f(t),module:t,"model-value":p(t),"start-value":h(t,0),"end-value":h(t,1),"onUpdate:modelValue":e=>m(t,e),"onUpdate:startValue":e=>g(t,0,e),"onUpdate:endValue":e=>g(t,1,e),onSearch:_},null,8,[`module`,`model-value`,`start-value`,`end-value`,`onUpdate:modelValue`,`onUpdate:startValue`,`onUpdate:endValue`]))),128)),(0,e.createElementVNode)(`div`,Io,[(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,onClick:_},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(o)(`client.paging.search`)),1)]),_:1}),(0,e.createVNode)((0,e.unref)(n.Button),{onClick:v},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(o)(`client.paging.reset`)),1)]),_:1})])]))}}),Ro={class:`docs-paging`},zo={class:`docs-paging__pagination`},Bo={class:`docs-paging__pagination-control`},Vo=/* @__PURE__ */ (0,e.defineComponent)({__name:`paging`,props:{loadData:{},filterModules:{default:()=>[]},tableOptions:{default:()=>({})},defaultPageSize:{default:10},pageSizeOptions:{default:()=>[10,20,50]},showPagination:{type:Boolean,default:!0},affix:{type:[Boolean,Array],default:!1}},emits:[`search`,`reset`,`page-change`,`page-size-change`,`loading-change`,`load-error`],setup(t,{expose:r,emit:i}){let a=t,o=i,s=(0,e.ref)([]),c=(0,e.ref)({}),l=(0,e.ref)(1),u=(0,e.ref)(a.defaultPageSize),d=(0,e.ref)(0),f=(0,e.ref)(!1),p=(0,e.ref)(),m=(0,e.ref)(),h=0,g=(0,e.computed)(()=>(Array.isArray(a.affix)?a.affix:[a.affix,a.affix]).map((e,t)=>({disabled:!e,placement:t===0?`top`:`bottom`,offset:0,...e&&typeof e==`object`?e:{}}))),_=()=>{(0,e.nextTick)(()=>{p.value?.refreshAffix?.(),m.value?.refresh?.()})},v=e=>!!e&&typeof e==`object`&&Array.isArray(e.records),y=e=>!!e&&typeof e==`object`&&Array.isArray(e.list),b=e=>e&&typeof e==`object`&&!Array.isArray(e)&&`data`in e?e.data:e,x=e=>{let t=b(e);if(Array.isArray(t)){let e=Math.max(1,Math.ceil(t.length/u.value));l.value=Math.min(l.value,e);let n=(l.value-1)*u.value;return{records:t.slice(n,n+u.value),total:t.length}}if(v(t))return t.current&&(l.value=t.current),{records:t.records,total:t.total};if(y(t))return t.page.current&&(l.value=t.page.current),{records:t.list,total:t.page.count};throw TypeError(`Invalid Paging loadData result`)},S=async()=>{let e=++h;f.value=!0,o(`loading-change`,!0);try{let t=await a.loadData(l.value,u.value,{...c.value});if(e!==h)return;let n=x(t);s.value=n.records,d.value=n.total,_()}catch(t){e===h&&o(`load-error`,t)}finally{e===h&&(f.value=!1,o(`loading-change`,!1))}},C=async(e=!1)=>{e&&(l.value=1),await S()},w=()=>s.value,T=e=>{c.value=e,l.value=1,o(`search`,e),S()},E=()=>{o(`reset`)},D=e=>{l.value=e,o(`page-change`,e),S()},O=e=>{let t=Number(e);!Number.isFinite(t)||t<=0||(u.value=t,l.value=1,o(`page-size-change`,t),S())};return(0,e.onMounted)(()=>void S()),r({getData:w,load:S,reset:C,refreshAffix:_}),(r,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ro,[t.filterModules.length?((0,e.openBlock)(),(0,e.createBlock)(Lo,{key:0,modules:t.filterModules,onSearch:T,onReset:E},null,8,[`modules`])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createVNode)((0,e.unref)(n.Table),(0,e.mergeProps)({ref_key:`table`,ref:p,class:`docs-paging__table`,data:s.value,loading:f.value},t.tableOptions,{affix:[g.value[0],!1]}),(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,`default`)]),_:2},[r.$slots.empty?{name:`empty`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,`empty`)]),key:`0`}:void 0,r.$slots.append?{name:`append`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,`append`)]),key:`1`}:void 0]),1040,[`data`,`loading`,`affix`]),t.showPagination?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Affix),(0,e.mergeProps)({key:1,ref_key:`footerAffix`,ref:m},g.value[1]),{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`footer`,zo,[(0,e.renderSlot)(r.$slots,`footer-extra`,{current:l.value,pageSize:u.value,total:d.value,loading:f.value}),(0,e.createElementVNode)(`div`,Bo,[(0,e.createVNode)((0,e.unref)(n.Pagination),{count:d.value,current:l.value,"page-size":u.value,"page-size-options":t.pageSizeOptions,"show-count":``,"show-sizer":``,"show-elevator":``,onChange:D,onPageSizeChange:O},null,8,[`count`,`current`,`page-size`,`page-size-options`])])])]),_:3},16)):(0,e.createCommentVNode)(`v-if`,!0)]))}}),Ho=[`data-type`],Uo=/* @__PURE__ */ (0,e.defineComponent)({__name:`tag`,props:{type:{default:`default`},value:{default:0},label:{default:``},options:{default:()=>({})},color:{default:()=>({})},ellipsis:{type:Boolean,default:!0}},setup(t){let n=t,r=(0,e.computed)(()=>({default:[`var(--docs-background-color-mute)`,`var(--docs-foreground-color)`],waiting:[`var(--docs-background-color-mute)`,`var(--docs-foreground-color)`],pending:[`color-mix(in srgb, var(--vc-color-warning) 18%, var(--docs-background-color))`,`var(--vc-color-warning)`],success:[`color-mix(in srgb, var(--vc-color-success) 18%, var(--docs-background-color))`,`var(--vc-color-success)`],error:[`color-mix(in srgb, var(--vc-color-error) 18%, var(--docs-background-color))`,`var(--vc-color-error)`],green:[`color-mix(in srgb, var(--vc-color-success) 18%, var(--docs-background-color))`,`var(--vc-color-success)`],orange:[`color-mix(in srgb, var(--vc-color-warning) 18%, var(--docs-background-color))`,`var(--vc-color-warning)`],red:[`color-mix(in srgb, var(--vc-color-error) 18%, var(--docs-background-color))`,`var(--vc-color-error)`],blue:[`color-mix(in srgb, var(--vc-color-primary) 18%, var(--docs-background-color))`,`var(--vc-color-primary)`],purple:[`var(--docs-primary-color-light)`,`var(--docs-primary-color)`],...n.color})),i=(0,e.computed)(()=>n.type==="default"?Object.keys(n.options).find(e=>n.options[e]?.includes(n.value))||`default`:n.type),a=(0,e.computed)(()=>r.value[i.value]||r.value.default),o=(0,e.computed)(()=>typeof n.label==`object`?n.label[i.value]:n.label);return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{class:`docs-tag`,"data-type":i.value,style:(0,e.normalizeStyle)({backgroundColor:a.value[0],color:a.value[1]})},[(0,e.createElementVNode)(`span`,{class:(0,e.normalizeClass)([`docs-tag__label`,{"docs-tag__label--ellipsis":t.ellipsis}])},[(0,e.renderSlot)(n.$slots,`default`,{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(o.value),1)])],2)],12,Ho))}}),Wo={class:`docs-database`},Go={class:`docs-database__header`},Ko=[`title`],qo={class:`docs-database__toolbar`},Jo={class:`docs-database__toolbar-primary`},Yo={class:`docs-database__button-content`},Xo={class:`docs-database__button-content`},Zo={class:`docs-database__columns`},Qo={class:`docs-database__toolbar-danger`},$o=[`title`],es=[`title`],ts={class:`docs-database__actions`},ns=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(i){let a=(0,e.ref)([]),o=(0,r.useRoute)(),s=(0,r.useRouter)(),{t:c}=(0,t.useLocale)(),l=(0,e.ref)(),u=(0,e.ref)(0),d=(0,e.computed)(()=>u.value>0),f=(0,e.ref)(/* @__PURE__ */ new Set),p={class:`docs-database__table`,rowHeight:52,border:!0},m=[`source`,`namespace`,`language`,`type`,`hash`,`content`],h=(0,e.computed)(()=>m.map(e=>({value:e,label:c(`client.database.${e}`)}))),g=(0,e.ref)([]),_={WAITING:`WAITING`,PENDING:`PENDING`,SUCCESS:`SUCCESS`,ERROR:`ERROR`},v={WAITING:`waiting`,PENDING:`pending`,SUCCESS:`success`,ERROR:`error`},y=Object.keys(_).map(e=>({label:_[e],value:v[e]})),x=e=>_[e.toUpperCase()],S=F(b()),C=e=>new TextEncoder().encode(e).length,w=e=>C(JSON.stringify(e)),T=e=>e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`,E=(0,e.computed)(()=>T(a.value.reduce((e,t)=>t.identity.namespace===S?e+w(t):e,0))),D=e=>[...new Set(e)].sort().map(e=>({label:e,value:e})),O=(0,e.computed)(()=>D(a.value.map(e=>e.identity.type))),k=(0,e.computed)(()=>D(a.value.map(e=>e.identity.lang))),A=(0,e.computed)(()=>[{type:`input`,field:`source`,label:c(`client.database.source`),placeholder:c(`client.database.source`)},{type:`select`,field:`type`,label:c(`client.database.type`),placeholder:c(`client.database.type`),data:O.value},{type:`select`,field:`language`,label:c(`client.database.language`),placeholder:c(`client.database.language`),data:k.value},{type:`select`,field:`status`,label:c(`client.database.contentStatus`),placeholder:c(`client.database.contentStatus`),data:y},{type:`select`,field:`requestStatus`,label:c(`client.database.requestStatus`),placeholder:c(`client.database.requestStatus`),data:y}]),j=(e,t)=>{let n=String(t.source||``).trim().toLowerCase(),r=String(t.type||``),i=String(t.language||``),a=String(t.status||``),o=String(t.requestStatus||``);return(!n||e.identity.source.toLowerCase().includes(n))&&(!r||e.identity.type===r)&&(!i||e.identity.lang===i)&&(!a||e.status===a)&&(!o||e.requestStatus===o)},M=()=>{u.value+=1},N=()=>{u.value=Math.max(0,u.value-1)},P=0,I=async(e,t,r)=>{let i=++P;M();try{let e=await Co();return i===P&&(a.value=e),e.filter(e=>j(e,r))}catch(e){return i===P&&n.Message.error(U(e,c(`client.database.loadFailed`))),[]}finally{N()}},L=e=>z(e.identity),R=e=>e?new Date(e).toLocaleString():`-`,ee=e=>typeof e==`string`?T(C(e)):`-`,B=e=>e.reason||c(`client.common.resourceRequestFailed`),V=e=>g.value.includes(e),H=(e,t)=>{g.value=t?[...g.value,e]:g.value.filter(t=>t!==e)},te=(e,t)=>{let n=new Set(f.value);t?n.add(e):n.delete(e),f.value=n},U=(e,t)=>e instanceof Error?e.message:t,ne=async(e,t)=>{M();try{await e(),await l.value?.reset(),t&&n.Message.success(t)}catch(e){n.Message.error(U(e,c(`client.database.operationFailed`)))}finally{N()}},re=()=>s.back(),W=()=>void s.push(`/${String(o.params.lang||``)}`),ie=()=>ne(async()=>void 0,c(`client.database.refreshed`)),ae=async e=>{let t=L(e);te(t,!0);try{await wo(e),await l.value?.reset(),n.Message.success(c(`client.database.updatedSource`,{source:e.identity.source}))}catch(e){n.Message.error(U(e,c(`client.database.reloadFailed`)))}finally{te(t,!1)}},oe=e=>ne(()=>Eo(e),c(`client.database.deletedSource`,{source:e.identity.source})),se=()=>ne(()=>To(a.value),c(`client.database.updatedAll`)),ce=()=>ne(Do,c(`client.database.clearedAll`)),le=async()=>{M();try{let e=await Oo();await l.value?.reset(),e.rejected?n.Message.error(c(`client.database.prefetchSummary`,e)):n.Message.success(c(`client.database.prefetched`,{total:e.total}))}catch(e){n.Message.error(U(e,c(`client.database.prefetchFailed`)))}finally{N()}},ue=async()=>{M();try{let e=await ko();await l.value?.reset(),n.Message.success(c(`client.database.pruned`,{count:e}))}catch(e){n.Message.error(U(e,c(`client.database.pruneFailed`)))}finally{N()}},de,fe,pe=!1,me=()=>{de&&clearTimeout(de),de=setTimeout(()=>{de=void 0,pe||l.value?.reset()},80)};return(0,e.onMounted)(()=>{pe=!1,fe=G.subscribeStatus(me)}),(0,e.onBeforeUnmount)(()=>{pe=!0,fe?.(),fe=void 0,de&&clearTimeout(de),de=void 0}),(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,Wo,[(0,e.createElementVNode)(`header`,Go,[(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`h1`,null,(0,e.toDisplayString)((0,e.unref)(c)(`client.database.title`)),1),(0,e.createElementVNode)(`p`,null,[(0,e.createTextVNode)(` deot-docs / resources · `+(0,e.toDisplayString)((0,e.unref)(c)(`client.database.records`,{count:a.value.length}))+` · `,1),(0,e.createElementVNode)(`span`,{title:(0,e.unref)(S)},(0,e.toDisplayString)((0,e.unref)(S)),9,Ko),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(c)(`client.database.cache`,{size:E.value})),1)])]),(0,e.createElementVNode)(`div`,qo,[(0,e.createElementVNode)(`div`,Jo,[(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:d.value,onClick:re},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`span`,Yo,[(0,e.createVNode)((0,e.unref)(hi),{name:`back`}),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(c)(`client.database.back`)),1)])]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:d.value,onClick:W},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`span`,Xo,[(0,e.createVNode)((0,e.unref)(hi),{name:`home`}),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(c)(`client.database.home`)),1)])]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Popover),{trigger:`click`,placement:`bottom-right`},{content:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,Zo,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(h.value,t=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Checkbox),{key:t.value,"model-value":V(t.value),label:t.label,onChange:e=>H(t.value,e)},null,8,[`model-value`,`label`,`onChange`]))),128))])]),default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:d.value},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.columns`)),1)]),_:1},8,[`disabled`])]),_:1}),(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:d.value,onClick:ie},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.refresh`)),1)]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:d.value||!a.value.length,onClick:se},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.updateAll`)),1)]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:d.value,onClick:le},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.prefetch`)),1)]),_:1},8,[`disabled`])]),(0,e.createElementVNode)(`div`,Qo,[(0,e.createVNode)((0,e.unref)(n.Button),{type:`error`,disabled:d.value||!a.value.length,onClick:ce},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.clear`)),1)]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Button),{type:`error`,disabled:d.value||!a.value.length,onClick:ue},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.prune`)),1)]),_:1},8,[`disabled`])])])]),(0,e.createVNode)((0,e.unref)(Vo),{ref_key:`paging`,ref:l,"load-data":I,"filter-modules":A.value,"table-options":p,"default-page-size":20,affix:!0},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.url`),"min-width":260,fixed:`left`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`span`,{class:`docs-database__ellipsis`,title:t.url},(0,e.toDisplayString)(t.url),9,$o)]),_:1},8,[`label`]),V(`source`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:0,label:(0,e.unref)(c)(`client.database.source`),"min-width":190},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`span`,{class:`docs-database__ellipsis`,title:t.identity.source},(0,e.toDisplayString)(t.identity.source),9,es)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.contentStatus`),width:130,align:`center`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createVNode)((0,e.unref)(n.Popover),{disabled:t.status!==`error`,placement:`top`},{content:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(B(t)),1)]),default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(Uo),{type:t.status},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x(t.status)),1)]),_:2},1032,[`type`])]),_:2},1032,[`disabled`])]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.requestStatus`),width:135,align:`center`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createVNode)((0,e.unref)(n.Popover),{disabled:t.requestStatus!==`error`,placement:`top`},{content:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(B(t)),1)]),default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(Uo),{type:t.requestStatus},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x(t.requestStatus)),1)]),_:2},1032,[`type`])]),_:2},1032,[`disabled`])]),_:1},8,[`label`]),V(`namespace`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:1,label:(0,e.unref)(c)(`client.database.namespace`),"min-width":150},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.identity.namespace),1)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),V(`language`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:2,label:(0,e.unref)(c)(`client.database.language`),width:100},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.identity.lang),1)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),V(`type`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:3,label:(0,e.unref)(c)(`client.database.type`),width:90},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.identity.type),1)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),V(`hash`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:4,label:(0,e.unref)(c)(`client.database.hash`),width:110},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.hash||`-`),1)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),V(`content`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:5,label:(0,e.unref)(c)(`client.database.content`),width:100},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(ee(t.content)),1)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.updated`),"min-width":170},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(R(t.updatedAt)),1)]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.checked`),"min-width":170},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(R(t.checkedAt)),1)]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.accessed`),"min-width":170},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(R(t.accessedAt)),1)]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.previous`),width:90,align:`center`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.previous?(0,e.unref)(c)(`client.common.yes`):`-`),1)]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(c)(`client.database.actions`),width:190,align:`center`,fixed:`right`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`div`,ts,[(0,e.createVNode)((0,e.unref)(n.Button),{class:`docs-database__action`,type:`text`,disabled:d.value||f.value.has(L(t)),onClick:e=>ae(t)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.update`)),1)]),_:1},8,[`disabled`,`onClick`]),(0,e.createVNode)((0,e.unref)(n.Button),{class:`docs-database__action`,type:`text`,disabled:d.value||f.value.has(L(t)),onClick:e=>oe(t)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)(`client.database.delete`)),1)]),_:1},8,[`disabled`,`onClick`])])]),_:1},8,[`label`])]),_:1},8,[`filter-modules`])]))}}),rs={class:`docs-renderer-editor-demos-card__name`},is={class:`docs-renderer-editor-demos-card__title`},as={class:`docs-renderer-editor-demos-card__desc`},os={key:0,class:`docs-renderer-editor-demos-card__modules`},ss={class:`docs-renderer-editor-demos-card__action`},cs=/* @__PURE__ */ (0,e.defineComponent)({__name:`card`,props:{item:{},action:{}},emits:[`open`],setup(n,{emit:r}){let i=r,{t:a}=(0,t.useLocale)();return(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{type:`button`,class:`docs-renderer-editor-demos-card`,style:(0,e.normalizeStyle)({"--docs-demo-accent":n.item.accent}),onClick:r[0]||=e=>i(`open`,n.item.name)},[r[1]||=(0,e.createElementVNode)(`i`,{class:`docs-renderer-editor-demos-card__accent`,"aria-hidden":`true`},null,-1),(0,e.createElementVNode)(`span`,rs,(0,e.toDisplayString)(n.item.name),1),(0,e.createElementVNode)(`strong`,is,(0,e.toDisplayString)(n.item.title),1),(0,e.createElementVNode)(`p`,as,(0,e.toDisplayString)(n.item.description),1),n.item.modules.length?((0,e.openBlock)(),(0,e.createElementBlock)(`ul`,os,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.item.modules,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t},(0,e.toDisplayString)(t),1))),128))])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createElementVNode)(`span`,ss,(0,e.toDisplayString)(n.action||(0,e.unref)(a)(`client.demos.open`)),1)],4))}}),ls={class:`docs-renderer-editor-demos-gallery`},us={class:`docs-renderer-editor-demos-gallery__intro`},ds={class:`docs-renderer-editor-demos-gallery__grid`},fs=/* @__PURE__ */ (0,e.defineComponent)({__name:`gallery`,emits:[`open`,`editor`],setup(n,{emit:r}){let i=r,{locale:a,t:o}=(0,t.useLocale)(),s=(0,e.computed)(()=>co(a.value.name)),c=(0,e.computed)(()=>({name:`editor`,title:o(`client.demos.editor`),description:o(`client.demos.editorHint`),modules:[],accent:`#4c6ef5`})),l=e=>{oo(e)&&i(`open`,e)};return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,ls,[(0,e.createElementVNode)(`header`,us,[(0,e.createElementVNode)(`h1`,null,(0,e.toDisplayString)((0,e.unref)(o)(`client.demos.title`)),1),(0,e.createElementVNode)(`p`,null,(0,e.toDisplayString)((0,e.unref)(o)(`client.demos.subtitle`)),1)]),(0,e.createElementVNode)(`div`,ds,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(s.value,t=>((0,e.openBlock)(),(0,e.createBlock)(cs,{key:t.name,item:t,onOpen:l},null,8,[`item`]))),128)),(0,e.createVNode)(cs,{item:c.value,action:(0,e.unref)(o)(`client.demos.openEditor`),onOpen:n[0]||=e=>i(`editor`)},null,8,[`item`,`action`])])]))}}),ps={class:`docs-renderer-editor-demos-stage`},ms=/* @__PURE__ */ (0,e.defineComponent)({__name:`stage`,props:{name:{}},emits:[`back`],setup(i,{emit:a}){let o=i,s=a,c=(0,r.useRoute)(),l=(0,r.useRouter)(),d=b(),{locale:f,t:p}=(0,t.useLocale)(),m=Hn(),h=(0,e.ref)(),g=(0,e.computed)(()=>String(c.params.lang||f.value.name)),_=(0,e.computed)(()=>[`docs-editor-demo`,F(d),g.value,o.name].join(`:`)),v=(0,e.computed)(()=>({lang:g.value,locale:f.value,theme:ve.current.value,route:c,services:{resolveAsset:(e,t)=>I(d,{source:e,type:`module`,lang:g.value,importer:t}),resolveLink:e=>l.resolve(e).href,navigate:async e=>{await l.push(e)}}})),y=async e=>{if(x().mode===`development`)try{let t=await fetch(`/__docs/page`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({lang:g.value,source:`./pages/renderer-${o.name}.page.json`,document:e})});if(!t.ok)throw Error(await t.text()||`HTTP ${t.status}`);n.Message.success(p(`renderer.common.saved`))}catch(e){n.Message.error(e instanceof Error?e.message:String(e))}};return(0,e.watch)([()=>o.name,g],()=>{h.value=lo(o.name,g.value)},{immediate:!0}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ps,[h.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(u.Combo),{key:0,modelValue:h.value,"onUpdate:modelValue":n[0]||=e=>h.value=e,modules:(0,e.unref)(m),context:v.value,"draft-key":_.value,onBack:n[1]||=e=>s(`back`),onSave:y},null,8,[`modelValue`,`modules`,`context`,`draft-key`])):(0,e.createCommentVNode)(`v-if`,!0)]))}}),hs=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(t){let n=(0,r.useRoute)(),i=(0,r.useRouter)(),a=(0,e.computed)(()=>String(n.params.lang||``)),o=(0,e.computed)(()=>oo(n.query.name)?n.query.name:void 0),s=e=>{i.push({path:n.path,query:{name:e}})},c=()=>{i.push({path:`/${a.value}/__docs/renderer-editor`,query:{from:n.fullPath}})},l=()=>{i.push({path:n.path,query:{}})};return(t,n)=>o.value?((0,e.openBlock)(),(0,e.createBlock)(ms,{key:0,name:o.value,onBack:l},null,8,[`name`])):((0,e.openBlock)(),(0,e.createBlock)(fs,{key:1,onOpen:s,onEditor:c}))}}),gs={class:`docs-renderer-editor-page`},_s={key:0,class:`docs-renderer-editor-page__error`},vs={key:1,class:`docs-renderer-editor-page__loading`},ys=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(i){let a=(0,r.useRoute)(),o=(0,r.useRouter)(),s=b(),{locale:c,t:l}=(0,t.useLocale)(),d=Hn(),f=(0,e.ref)(),p=(0,e.ref)(!1),m=(0,e.ref)(``),h,g=0,_=(0,e.computed)(()=>String(a.params.lang||Object.keys(s.locales)[0]||`en-US`)),v=(0,e.computed)(()=>String(a.query.source||``)),y=()=>Ut(s,_.value),S=e=>{let t=JSON.stringify(e),n=2166136261;for(let e=0;e<t.length;e+=1)n^=t.charCodeAt(e),n=Math.imul(n,16777619);return(n>>>0).toString(36)},C=(0,e.computed)(()=>{let e=String(a.query.type||`blank`),t=[`docs-editor`,F(s),_.value,v.value||e];if(e===`home`&&!v.value){let e=y();e&&typeof e!=`string`&&t.push(S(e))}return t.join(`:`)}),w=(0,e.computed)(()=>({lang:_.value,locale:c.value,theme:ve.current.value,route:a,source:v.value,services:{resolveAsset:(e,t)=>I(s,{source:e,type:`module`,lang:_.value,importer:t}),resolveLink:e=>o.resolve(e).href,navigate:async e=>{await o.push(e)}}})),T=()=>{if(/\.page\.json(?:$|[?#])/iu.test(v.value))return v.value.split(/[?#]/u,1)[0];let e=y();return String(a.query.type||``)===`home`&&typeof e==`string`?e:``},E=()=>{let e=T();if(e)return e;let t=String(a.query.from||``).split(/[?#]/u,1)[0].split(`/`).filter(Boolean);return t[0]===_.value&&t.shift(),`./pages/${t.map(e=>e.replace(/[^a-z\d_-]+/giu,`-`).replace(/^-+|-+$/gu,``)).filter(Boolean).join(`-`)||`home`}.page.json`},D=async e=>{let t=E(),n=await fetch(`/__docs/page`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({lang:_.value,source:t,document:e})});if(!n.ok)throw Error(await n.text()||`HTTP ${n.status}`);let r=await n.json();return{...r,configuration:`content: ${JSON.stringify(r.source)}`}},O=()=>{let e=(0,u.createEmptyRendererDocument)(`sortable`);return e.meta.id=(0,u.createRendererId)(),e.meta.title=String(a.query.title||l(`renderer.common.untitledPage`)),e},k=()=>{let e=String(a.query.type||``),t=v.value;if(e===`inline`)return xi(String(a.query.from||``))||O();if(e===`home`){let e=y();return e&&typeof e!=`string`?(0,u.cloneRendererValue)(e):O()}let n=e=>({id:(0,u.createRendererId)(),module:{type:e,version:1,props:{source:t}},appearance:{marginTop:0,marginBottom:0,paddingTop:0,paddingBottom:0,fullWidth:!1,maxWidth:u.RENDERER_SORTABLE_CONTENT_WIDTH}}),r=e===`markdown`&&t?n(`docs:markdown`):e===`sfc`&&t?n(`docs:sfc`):null,i=O();return r&&i.blocks.push(r),i},A=async()=>{let e=++g;h?.abort();let t=new AbortController;h=t,m.value=``,p.value=!0;try{let n=T();if(!n){let n=k();e===g&&!t.signal.aborted&&(f.value=n);return}let r=R(s,_.value,`page`,n),i=await I(s,{source:n,type:`page`,lang:_.value}),a=await G.load(r,{url:i,priority:100,signal:t.signal});if(e!==g||t.signal.aborted)return;let o=JSON.parse(a.content),c=(0,u.validateRendererDocument)(o);if(!c.valid||!c.document)throw TypeError(c.issues.map(e=>e.message).join(`; `));f.value=c.document}catch(n){if(e===g&&!t.signal.aborted&&n instanceof st&&n.status===404){f.value=O();return}e===g&&!t.signal.aborted&&(m.value=n instanceof Error?n.message:String(n))}finally{e===g&&!t.signal.aborted&&(p.value=!1)}},j=()=>{let e=String(a.query.from||`/${_.value}`);o.push(e)},M=e=>{o.replace({query:{...a.query,source:e,type:`page`}})},N=async e=>{if(x().mode===`development`)try{let t=await D(e);String(a.query.type||``)===`home`&&Gt(s,_.value,t.source),M(t.source),n.Message.success(l(`renderer.common.saved`))}catch(e){n.Message.error(e instanceof Error?e.message:String(e))}};return(0,e.watch)([_,v,()=>a.query.type],A,{immediate:!0}),(0,e.onBeforeUnmount)(()=>{g+=1,h?.abort()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,gs,[m.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,_s,(0,e.toDisplayString)(m.value),1)):p.value||!f.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,vs,(0,e.toDisplayString)((0,e.unref)(l)(`client.common.loading`)),1)):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(u.Combo),{key:2,modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,modules:(0,e.unref)(d),context:w.value,"draft-key":C.value,onBack:j,onSave:N},null,8,[`modelValue`,`modules`,`context`,`draft-key`]))]))}}),bs={class:`docs-home`},xs={key:0,class:`docs-home__error`},Ss={key:2,class:`docs-home__loading`},Cs=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(n){let i=(0,r.useRoute)(),a=(0,r.useRouter)(),o=b(),{locale:s,t:c}=(0,t.useLocale)(),l=Hn(),d=(0,e.ref)(),f=(0,e.ref)(!0),p=(0,e.ref)(``),m,h,g=0,_=(0,e.computed)(()=>String(i.params.lang||P(o))),v=(0,e.computed)(()=>Zt(o).fit),y=(0,e.computed)(()=>({lang:_.value,locale:s.value,theme:ve.current.value,route:i,services:{resolveAsset:(e,t)=>I(o,{source:e,type:`module`,lang:_.value,importer:t}),resolveLink:e=>a.resolve(e).href,navigate:async e=>{await a.push(e)}}})),x=e=>{let t=(0,u.validateRendererDocument)(e);if(!t.valid||!t.document)throw TypeError(t.issues.map(e=>e.message).join(`; `));return t.document};return(0,e.watch)(_,async()=>{let e=++g;m?.abort(),h?.(),h=void 0;let t=new AbortController;m=t,p.value=``,f.value=!0,d.value=void 0;try{let n=Ut(o,_.value);if(!n||n==="default")return;if(typeof n!=`string`){d.value=x(n);return}let r=R(o,_.value,`page`,n),i=await I(o,{source:n,type:`page`,lang:_.value});if(e!==g||t.signal.aborted)return;h=G.subscribe(r,e=>{try{d.value=x(JSON.parse(e.content)),p.value=``}catch(e){p.value=e instanceof Error?e.message:String(e)}});let a=await G.load(r,{url:i,priority:100,signal:t.signal});e===g&&(d.value=x(JSON.parse(a.content)))}catch(n){e===g&&!t.signal.aborted&&(p.value=n instanceof Error?n.message:String(n))}finally{e===g&&!t.signal.aborted&&(f.value=!1)}},{immediate:!0}),(0,e.onBeforeUnmount)(()=>{g+=1,m?.abort(),h?.()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,bs,[p.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,xs,(0,e.toDisplayString)(p.value),1)):(0,e.createCommentVNode)(`v-if`,!0),d.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(u.Renderer),{key:1,document:d.value,modules:(0,e.unref)(l),context:y.value,fit:v.value},null,8,[`document`,`modules`,`context`,`fit`])):f.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ss,(0,e.toDisplayString)((0,e.unref)(c)(`client.common.loading`)),1)):(0,e.createCommentVNode)(`v-if`,!0)]))}}),ws=()=>F(b()),Ts=async()=>K.playground.listPage(b()),Es=async(e,t)=>K.playground.save(ws(),e.alias,t,e.kind,e.defaultUrl),Ds=async e=>K.playground.reset(ws(),e.alias,e.kind,e.defaultUrl),Os=async()=>K.playground.clear(ws()),ks=async e=>K.playground.prefetch(ws(),e),As=async e=>K.playground.retry(ws(),e),js=e=>K.playground.subscribeStatus(e),Ms={class:`docs-playground-resource-source-editor__meta`},Ns=[`title`],Ps={class:`docs-playground-resource-source-editor__label`},Fs=/* @__PURE__ */ (0,e.defineComponent)({__name:`source-editor`,props:{row:{},onConfirm:{type:Function}},emits:[`portal-fulfilled`],setup(r,{emit:i}){let a=r,o=i,{t:s}=(0,t.useLocale)(),c=(0,e.ref)(!0),l=(0,e.ref)(a.row.currentUrl||``),u=!1,d=(0,e.computed)(()=>a.row.kind===`style`?s(`client.playgroundResource.kindStyle`):s(`client.playgroundResource.kindImport`)),f=()=>{u||(u=!0,o(`portal-fulfilled`))},p=async()=>{let e=hr(l.value);e&&(await a.onConfirm?.(e),f())};return(t,i)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Modal),{modelValue:c.value,"onUpdate:modelValue":i[1]||=e=>c.value=e,title:(0,e.unref)(s)(`client.playgroundResource.editTitle`),width:560,"mask-closable":!0,class:`docs-playground-resource-source-editor`,onOk:p,onCancel:f,onClose:f},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,Ms,[(0,e.createElementVNode)(`p`,null,[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)((0,e.unref)(s)(`client.playgroundResource.kind`)),1),(0,e.createElementVNode)(`span`,{class:(0,e.normalizeClass)([`docs-playground-resource__kind`,{"is-style":r.row.kind===`style`}])},(0,e.toDisplayString)(d.value),3)]),(0,e.createElementVNode)(`p`,null,[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)((0,e.unref)(s)(`client.playgroundResource.alias`)),1),(0,e.createElementVNode)(`code`,null,(0,e.toDisplayString)(r.row.alias),1)]),(0,e.createElementVNode)(`p`,null,[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)((0,e.unref)(s)(`client.playgroundResource.defaultUrl`)),1),(0,e.createElementVNode)(`code`,{class:`docs-playground-resource__ellipsis`,title:r.row.defaultUrl||`-`},(0,e.toDisplayString)(r.row.defaultUrl||`-`),9,Ns)])]),(0,e.createElementVNode)(`label`,Ps,(0,e.toDisplayString)((0,e.unref)(s)(`client.playgroundResource.currentUrl`)),1),(0,e.createVNode)((0,e.unref)(n.Textarea),{modelValue:l.value,"onUpdate:modelValue":i[0]||=e=>l.value=e,rows:4,placeholder:(0,e.unref)(s)(`client.playgroundResource.urlPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`]))}}),Is=new n.Portal(Fs,{name:`docs-playground-resource-source-editor`,leaveDelay:0,multiple:!1}),Ls={class:`docs-playground-resource`},Rs={class:`docs-playground-resource__header`},zs=[`title`],Bs={class:`docs-playground-resource__hint`},Vs={class:`docs-playground-resource__toolbar`},Hs={class:`docs-playground-resource__toolbar-primary`},Us={class:`docs-playground-resource__button-content`},Ws={class:`docs-playground-resource__button-content`},Gs={class:`docs-playground-resource__columns`},Ks={class:`docs-playground-resource__toolbar-danger`},qs=[`title`],Js=[`title`],Ys={class:`docs-playground-resource__actions`},Xs=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(i){let a=(0,e.ref)([]),o=(0,e.ref)(0),s=(0,r.useRoute)(),c=(0,r.useRouter)(),{t:l}=(0,t.useLocale)(),u=(0,e.ref)(),d=(0,e.ref)(0),f=(0,e.computed)(()=>d.value>0),p=(0,e.ref)(/* @__PURE__ */ new Set),m={class:`docs-playground-resource__table`,rowHeight:52,border:!0},h=[`defaultUrl`,`updated`,`checked`],g=(0,e.computed)(()=>h.map(e=>({value:e,label:l(`client.playgroundResource.${e}`)}))),_=(0,e.ref)([]),v=[{label:`WAITING`,value:`waiting`},{label:`PENDING`,value:`pending`},{label:`SUCCESS`,value:`success`},{label:`ERROR`,value:`error`}],y=[{label:`Import`,value:`import`},{label:`CSS`,value:`style`}],x=[{label:`YES`,value:`1`},{label:`NO`,value:`0`}],S=F(b()),C=e=>e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`,w=(0,e.computed)(()=>C(o.value)),T=e=>`${e.kind}:${e.alias}`,E=e=>e?new Date(e).toLocaleString():`-`,D=e=>_.value.includes(e),O=(e,t)=>{_.value=t?[..._.value,e]:_.value.filter(t=>t!==e)},k=(0,e.computed)(()=>[{type:`input`,field:`alias`,label:l(`client.playgroundResource.alias`),placeholder:l(`client.playgroundResource.alias`)},{type:`select`,field:`kind`,label:l(`client.playgroundResource.kind`),placeholder:l(`client.playgroundResource.kind`),data:y},{type:`select`,field:`overridden`,label:l(`client.playgroundResource.status`),placeholder:l(`client.playgroundResource.status`),data:x},{type:`select`,field:`requestStatus`,label:l(`client.playgroundResource.requestStatus`),placeholder:l(`client.playgroundResource.requestStatus`),data:v}]),A=(e,t)=>{let n=String(t.alias||``).trim().toLowerCase(),r=String(t.kind||``),i=String(t.overridden||``),a=String(t.requestStatus||``);return(!n||e.alias.toLowerCase().includes(n))&&(!r||e.kind===r)&&(!i||(e.overridden?`1`:`0`)===i)&&(!a||e.requestStatus===a)},j=()=>{d.value+=1},M=()=>{d.value=Math.max(0,d.value-1)},N=0,P=async(e,t,r)=>{let i=++N;j();try{let e=await Ts();return i===N&&(a.value=e.rows,o.value=e.bytes),e.rows.filter(e=>A(e,r))}catch(e){return i===N&&n.Message.error(L(e,l(`client.playgroundResource.loadFailed`))),[]}finally{M()}},I=(e,t)=>{let n=new Set(p.value);t?n.add(e):n.delete(e),p.value=n},L=(e,t)=>e instanceof Error?e.message:t,R=async(e,t)=>{j();try{await e(),await u.value?.reset(),n.Message.success(t)}catch(e){n.Message.error(L(e,l(`client.playgroundResource.operationFailed`)))}finally{M()}},z=async(e,t,r,i)=>{let a=T(e);I(a,!0);try{await t(),await u.value?.reset(),n.Message.success(r)}catch(e){await u.value?.reset(),n.Message.error(L(e,i))}finally{I(a,!1)}},ee=()=>c.back(),B=()=>void c.push(`/${String(s.params.lang||``)}`),V=()=>R(async()=>void 0,l(`client.playgroundResource.refreshed`)),H=()=>R(Os,l(`client.playgroundResource.cleared`)),te=async()=>{j();try{let e=await ks(a.value);await u.value?.reset(),e.rejected?n.Message.error(l(`client.playgroundResource.prefetchSummary`,{total:e.total,fulfilled:e.fulfilled,rejected:e.rejected})):n.Message.success(l(`client.playgroundResource.prefetched`,{total:e.total}))}catch(e){n.Message.error(L(e,l(`client.playgroundResource.prefetchFailed`)))}finally{M()}},U=e=>{Is.popup({row:e,onConfirm:t=>z(e,()=>Es(e,t),l(`client.playgroundResource.saved`,{alias:e.alias}),l(`client.playgroundResource.saveFailed`))})},ne=e=>{if(!e.overridden)n.Message.info(l(`client.playgroundResource.rollbackSkipped`));else return z(e,()=>Ds(e),l(`client.playgroundResource.rollbackDone`,{alias:e.alias}),l(`client.playgroundResource.rollbackFailed`))},re=e=>z(e,()=>As(e),l(`client.playgroundResource.retried`,{alias:e.alias}),l(`client.playgroundResource.retryFailed`)),W,ie,ae=!1,oe=()=>{W&&clearTimeout(W),W=setTimeout(()=>{W=void 0,ae||u.value?.reset()},80)};return(0,e.onMounted)(()=>{ae=!1,ie=js(oe)}),(0,e.onBeforeUnmount)(()=>{ae=!0,ie?.(),ie=void 0,W&&clearTimeout(W),W=void 0,Is.destroy()}),(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,Ls,[(0,e.createElementVNode)(`header`,Rs,[(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`h1`,null,(0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.title`)),1),(0,e.createElementVNode)(`p`,null,[(0,e.createTextVNode)(` deot-docs-playground-resource / resources · `+(0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.records`,{count:a.value.length}))+` · `,1),(0,e.createElementVNode)(`span`,{title:(0,e.unref)(S)},(0,e.toDisplayString)((0,e.unref)(S)),9,zs),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.cache`,{size:w.value})),1)]),(0,e.createElementVNode)(`p`,Bs,(0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.hint`)),1)]),(0,e.createElementVNode)(`div`,Vs,[(0,e.createElementVNode)(`div`,Hs,[(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:f.value,onClick:ee},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`span`,Us,[(0,e.createVNode)((0,e.unref)(hi),{name:`back`}),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.back`)),1)])]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:f.value,onClick:B},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`span`,Ws,[(0,e.createVNode)((0,e.unref)(hi),{name:`home`}),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.home`)),1)])]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Popover),{trigger:`click`,placement:`bottom-right`},{content:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,Gs,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(g.value,t=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Checkbox),{key:t.value,"model-value":D(t.value),label:t.label,onChange:e=>O(t.value,e)},null,8,[`model-value`,`label`,`onChange`]))),128))])]),default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:f.value},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.columns`)),1)]),_:1},8,[`disabled`])]),_:1}),(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:f.value,onClick:V},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.refresh`)),1)]),_:1},8,[`disabled`]),(0,e.createVNode)((0,e.unref)(n.Button),{type:`primary`,disabled:f.value||!a.value.length,onClick:te},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.prefetch`)),1)]),_:1},8,[`disabled`])]),(0,e.createElementVNode)(`div`,Ks,[(0,e.createVNode)((0,e.unref)(n.Button),{type:`error`,disabled:f.value||!a.value.length,onClick:H},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.clear`)),1)]),_:1},8,[`disabled`])])])]),(0,e.createVNode)((0,e.unref)(Vo),{ref_key:`paging`,ref:u,"load-data":P,"filter-modules":k.value,"table-options":m,"default-page-size":20,affix:!0},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(l)(`client.playgroundResource.kind`),width:100,fixed:`left`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`span`,{class:(0,e.normalizeClass)([`docs-playground-resource__kind`,{"is-style":t.kind===`style`}])},(0,e.toDisplayString)(t.kind===`style`?(0,e.unref)(l)(`client.playgroundResource.kindStyle`):(0,e.unref)(l)(`client.playgroundResource.kindImport`)),3)]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(l)(`client.playgroundResource.alias`),"min-width":140,fixed:`left`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`code`,null,(0,e.toDisplayString)(t.alias),1)]),_:1},8,[`label`]),D(`defaultUrl`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:0,label:(0,e.unref)(l)(`client.playgroundResource.defaultUrl`),"min-width":220},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`span`,{class:`docs-playground-resource__ellipsis`,title:t.defaultUrl||`-`},(0,e.toDisplayString)(t.defaultUrl||`-`),9,qs)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(l)(`client.playgroundResource.currentUrl`),"min-width":240},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`span`,{class:`docs-playground-resource__ellipsis`,title:t.currentUrl||`-`},(0,e.toDisplayString)(t.currentUrl||`-`),9,Js)]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(l)(`client.playgroundResource.status`),width:110,align:`center`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`span`,{class:(0,e.normalizeClass)([`docs-playground-resource__status`,{"is-overridden":t.overridden}])},(0,e.toDisplayString)(t.overridden?(0,e.unref)(l)(`client.playgroundResource.overridden`):(0,e.unref)(l)(`client.playgroundResource.default`)),3)]),_:1},8,[`label`]),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(l)(`client.playgroundResource.requestStatus`),width:135,align:`center`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createVNode)((0,e.unref)(n.Popover),{disabled:t.requestStatus!==`error`,placement:`top`},{content:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.reason||(0,e.unref)(l)(`client.playgroundResource.probeFailed`)),1)]),default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(Uo),{type:t.requestStatus},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.requestStatus.toUpperCase()),1)]),_:2},1032,[`type`])]),_:2},1032,[`disabled`])]),_:1},8,[`label`]),D(`updated`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:1,label:(0,e.unref)(l)(`client.playgroundResource.updated`),"min-width":170},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(E(t.updatedAt)),1)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),D(`checked`)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.TableColumn),{key:2,label:(0,e.unref)(l)(`client.playgroundResource.checked`),"min-width":170},{default:(0,e.withCtx)(({row:t})=>[(0,e.createTextVNode)((0,e.toDisplayString)(E(t.checkedAt)),1)]),_:1},8,[`label`])):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createVNode)((0,e.unref)(n.TableColumn),{label:(0,e.unref)(l)(`client.playgroundResource.actions`),width:210,align:`center`,fixed:`right`},{default:(0,e.withCtx)(({row:t})=>[(0,e.createElementVNode)(`div`,Ys,[(0,e.createVNode)((0,e.unref)(n.Button),{class:`docs-playground-resource__action`,type:`text`,disabled:f.value||p.value.has(T(t)),onClick:e=>U(t)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.edit`)),1)]),_:1},8,[`disabled`,`onClick`]),(0,e.createVNode)((0,e.unref)(n.Button),{class:`docs-playground-resource__action`,type:`text`,disabled:f.value||p.value.has(T(t)),onClick:e=>ne(t)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.rollback`)),1)]),_:1},8,[`disabled`,`onClick`]),t.requestStatus===`error`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Button),{key:0,class:`docs-playground-resource__action`,type:`text`,disabled:f.value||p.value.has(T(t)),onClick:e=>re(t)},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l)(`client.playgroundResource.retry`)),1)]),_:1},8,[`disabled`,`onClick`])):(0,e.createCommentVNode)(`v-if`,!0)])]),_:1},8,[`label`])]),_:1},8,[`filter-modules`])]))}}),Zs=/* @__PURE__ */ (0,e.defineComponent)({__name:`json-editor`,props:{modelValue:{},label:{}},emits:[`update:modelValue`],setup(t,{emit:r}){let i=t,a=r,o=(0,e.ref)(),s=new h.Compartment,c=new h.Compartment,l,u=()=>m.EditorView.theme({},{dark:ve.current.value===`dark`}),d=()=>m.EditorView.contentAttributes.of({"aria-label":i.label});return(0,e.onMounted)(()=>{l=new m.EditorView({parent:o.value,state:h.EditorState.create({doc:i.modelValue,extensions:[m.basicSetup,(0,g.json)(),m.EditorView.lineWrapping,s.of(u()),c.of(d()),m.EditorView.updateListener.of(e=>{if(!e.docChanged)return;let t=e.state.doc.toString();t!==i.modelValue&&a(`update:modelValue`,t)})]})})}),(0,e.watch)(()=>i.modelValue,e=>{l&&e!==l.state.doc.toString()&&l.dispatch({changes:{from:0,to:l.state.doc.length,insert:e}})}),(0,e.watch)(ve.current,()=>l?.dispatch({effects:s.reconfigure(u())})),(0,e.watch)(()=>i.label,()=>l?.dispatch({effects:c.reconfigure(d())})),(0,e.onBeforeUnmount)(()=>l?.destroy()),(t,r)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Scroller),{class:`docs-raw-editor-json-editor`,native:!1,wheel:!1,"auto-resize":!0,always:!0,height:`100%`},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,{ref_key:`host`,ref:o,class:`docs-raw-editor-json-editor__host`},null,512)]),_:1}))}}),Qs={class:`docs-raw-editor`},$s={class:`docs-raw-editor__import`},ec={for:`raw-import`},tc={class:`docs-raw-editor__actions`},nc=[`placeholder`],rc=[`disabled`],ic={key:0,role:`alert`},ac={for:`raw-target`},oc={class:`docs-raw-editor__actions`},sc={class:`docs-raw-editor__panels`},cc={class:`docs-raw-editor__panel`},lc={class:`docs-raw-editor__panel`},uc={key:0,role:`alert`},dc={id:`raw-link`},fc={class:`docs-raw-editor__actions`},pc=[`href`],mc=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(i){let a=(0,r.useRoute)(),{t:o}=(0,t.useLocale)(),s=k(b()),c=(0,e.ref)(`{}`),l=(0,e.ref)(`__docs/preview`),u=(0,e.ref)(``),d=(0,e.ref)(``),f=e=>e instanceof Error?e.message:String(e),p=(0,e.computed)(()=>{try{return{href:_n(JSON.parse(c.value),l.value,s),error:``}}catch(e){return{href:``,error:o(`client.rawEditor.invalid`,{message:f(e)})}}}),m=e=>{try{typeof e.target==`string`&&(l.value=e.target),e.raw===void 0?e.url!==void 0&&(c.value=JSON.stringify(Cn(e),null,2)):c.value=JSON.stringify(gn(e.raw),null,2),d.value=``}catch(e){d.value=o(`client.rawEditor.invalid`,{message:f(e)})}},h=()=>{try{let e=new URL(u.value.trim(),s);if(!/^https?:$/.test(e.protocol))throw TypeError(`Invalid HTTP(S) URL`);let t={};if(e.searchParams.forEach((n,r)=>{let i=e.searchParams.getAll(r);t[r]=i.length===1?i[0]:i}),t.raw===void 0&&t.url===void 0)throw TypeError(`raw or url is required`);let n=t.raw===void 0?Cn(t):gn(t.raw);e.searchParams.delete(`raw`),c.value=JSON.stringify(n,null,2),l.value=e.href,d.value=``}catch(e){d.value=o(`client.rawEditor.invalid`,{message:f(e)})}};return(0,e.watch)(()=>a.query,m,{immediate:!0}),(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,Qs,[(0,e.createElementVNode)(`header`,null,[(0,e.createElementVNode)(`h1`,null,(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.title`)),1),(0,e.createElementVNode)(`p`,null,(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.description`)),1)]),(0,e.createElementVNode)(`div`,$s,[(0,e.createElementVNode)(`label`,ec,(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.importLabel`)),1),(0,e.createElementVNode)(`div`,tc,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`raw-import`,"onUpdate:modelValue":r[0]||=e=>u.value=e,placeholder:(0,e.unref)(o)(`client.rawEditor.parseHint`)},null,8,nc),[[e.vModelText,u.value]]),(0,e.createElementVNode)(`button`,{type:`button`,disabled:!u.value.trim(),onClick:h},(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.parse`)),9,rc)]),d.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,ic,(0,e.toDisplayString)(d.value),1)):(0,e.createCommentVNode)(`v-if`,!0)]),(0,e.createElementVNode)(`label`,ac,(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.target`)),1),(0,e.createElementVNode)(`div`,oc,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{id:`raw-target`,"onUpdate:modelValue":r[1]||=e=>l.value=e},null,512),[[e.vModelText,l.value]]),(0,e.createElementVNode)(`button`,{type:`button`,onClick:r[2]||=e=>l.value=`__docs/preview`},`preview`),(0,e.createElementVNode)(`button`,{type:`button`,onClick:r[3]||=e=>l.value=`__docs/markdown-editor`},`markdown-editor`)]),(0,e.createElementVNode)(`div`,sc,[(0,e.createElementVNode)(`div`,cc,[(0,e.createElementVNode)(`label`,null,(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.json`)),1),(0,e.createVNode)(Zs,{modelValue:c.value,"onUpdate:modelValue":r[4]||=e=>c.value=e,label:(0,e.unref)(o)(`client.rawEditor.json`)},null,8,[`modelValue`,`label`])]),(0,e.createElementVNode)(`div`,lc,[(0,e.createElementVNode)(`label`,null,(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.link`)),1),p.value.error?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,uc,(0,e.toDisplayString)(p.value.error),1)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createVNode)((0,e.unref)(n.Scroller),{native:!1,"auto-resize":!0,class:`docs-raw-editor__output`},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`pre`,dc,(0,e.toDisplayString)(p.value.href),1)]),_:1}),(0,e.createElementVNode)(`div`,fc,[(0,e.createVNode)((0,e.unref)(n.Clipboard),{tag:`button`,type:`button`,value:p.value.href,disabled:!p.value.href},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.copy`)),1)]),_:1},8,[`value`,`disabled`]),p.value.href?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:p.value.href,target:`_blank`,rel:`noopener`},(0,e.toDisplayString)((0,e.unref)(o)(`client.rawEditor.open`)),9,pc)):(0,e.createCommentVNode)(`v-if`,!0)])])])]))}}),hc=/* @__PURE__ */ (0,e.defineComponent)({__name:`source-editor`,props:{modelValue:{},label:{}},emits:[`update:modelValue`,`scroll`],setup(t,{expose:r,emit:i}){let a=t,o=i,s=(0,e.ref)(),c=(0,e.ref)(),l=new h.Compartment,u=new h.Compartment,d,f=()=>m.EditorView.theme({},{dark:ve.current.value===`dark`}),p=()=>m.EditorView.contentAttributes.of({"aria-label":a.label});return(0,e.onMounted)(()=>{d=new m.EditorView({parent:s.value,state:h.EditorState.create({doc:a.modelValue,extensions:[m.basicSetup,(0,_.markdown)(),m.EditorView.lineWrapping,l.of(f()),u.of(p()),m.EditorView.updateListener.of(e=>{if(!e.docChanged)return;let t=e.state.doc.toString();t!==a.modelValue&&o(`update:modelValue`,t)})]})})}),(0,e.watch)(()=>a.modelValue,e=>{d&&e!==d.state.doc.toString()&&d.dispatch({changes:{from:0,to:d.state.doc.length,insert:e}})}),(0,e.watch)(ve.current,()=>d?.dispatch({effects:l.reconfigure(f())})),(0,e.watch)(()=>a.label,()=>d?.dispatch({effects:u.reconfigure(p())})),(0,e.onBeforeUnmount)(()=>d?.destroy()),r({getScrollElement:()=>c.value?.$el,getLineTop:e=>d?.lineBlockAt(d.state.doc.line(e).from).top??0,setScrollTop:e=>c.value?.setScrollTop(e)}),(t,r)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.Scroller),{ref_key:`scroller`,ref:c,class:`docs-markdown-editor-source-editor`,native:!1,wheel:!1,"auto-resize":!0,always:!0,height:`100%`,onScroll:r[0]||=e=>o(`scroll`)},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,{ref_key:`host`,ref:s,class:`docs-markdown-editor-source-editor__host`},null,512)]),_:1},512))}}),gc=[`aria-label`,`aria-valuenow`],_c=/* @__PURE__ */ (0,e.defineComponent)({__name:`pane-divider`,props:{modelValue:{}},emits:[`update:modelValue`],setup(n,{emit:r}){let i=n,a=r,{t:o}=(0,t.useLocale)(),s=(0,e.ref)(!1),c=0,l=50,u=e=>a(`update:modelValue`,Math.min(80,Math.max(20,e))),d=e=>{e.button===0&&(c=e.clientX,l=i.modelValue,s.value=!0,e.currentTarget.setPointerCapture(e.pointerId))},f=e=>{if(!s.value)return;let t=e.currentTarget,n=t.parentElement.clientWidth-t.offsetWidth;u(l+(e.clientX-c)/n*100)};return(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`docs-markdown-editor-pane-divider`,{"is-dragging":s.value}]),role:`separator`,tabindex:`0`,"aria-orientation":`vertical`,"aria-label":(0,e.unref)(o)(`client.markdownEditor.resize`),"aria-valuenow":Math.round(n.modelValue),"aria-valuemin":`20`,"aria-valuemax":`80`,onPointerdown:(0,e.withModifiers)(d,[`prevent`]),onPointermove:f,onPointerup:r[0]||=e=>s.value=!1,onPointercancel:r[1]||=e=>s.value=!1,onLostpointercapture:r[2]||=e=>s.value=!1,onKeydown:[r[3]||=(0,e.withKeys)((0,e.withModifiers)(e=>u(n.modelValue-2),[`prevent`]),[`left`]),r[4]||=(0,e.withKeys)((0,e.withModifiers)(e=>u(n.modelValue+2),[`prevent`]),[`right`])]},null,42,gc))}}),vc={class:`docs-markdown-editor`},yc={class:`docs-markdown-editor__toolbar`},bc=[`disabled`],xc={key:0,class:`docs-markdown-editor__status`,role:`status`},Sc={key:1,class:`docs-markdown-editor__status`,role:`alert`},Cc=`# Markdown
11
-
12
- ## Hello
13
-
14
- Edit **Markdown** and preview it here.
15
-
16
- | Name | Value |
17
- | --- | --- |
18
- | Markdown | Live preview |
19
-
20
- \`\`\`js
21
- console.log("Hello Markdown");
22
- \`\`\`
23
- `,wc=/* @__PURE__ */ (0,e.defineComponent)({__name:`index`,setup(a){let o=(0,r.useRoute)(),s=b(),c=k(s),l=F(s),{locale:u,t:d}=(0,t.useLocale)(),f=(0,e.computed)(()=>String(o.params.lang||u.value.name)),p=e=>e instanceof Error?e.message:String(e),m=(0,e.computed)(()=>{try{return{config:Cn(o.query),error:``}}catch(e){return{config:void 0,error:p(e)}}}),h=(0,e.computed)(()=>Jt(s)),g=(0,e.computed)(()=>{let e=Yt(s),t=m.value.config;return{...e,...t?.playground,options:{...e.options,builtinImportMap:{...e.options?.builtinImportMap,imports:{...e.options?.builtinImportMap?.imports,...t?.modules}}}}}),_=(0,e.ref)(Cc),v=(0,e.ref)(Cc),y=(0,e.ref)(),x=(0,e.ref)(c),S=(0,e.ref)(0),C=(0,e.ref)(!1),w=(0,e.ref)(!1),T=(0,e.ref)(``),E=(0,e.ref)(``),D=(0,e.ref)(!1),O=(0,e.ref)(50),A=(0,e.ref)(),j=(0,e.ref)(),M=(0,e.ref)(),N=(0,e.ref)(),P=Cc,L=0,z,ee,B=`editor`,V=[],H=(e=B)=>{if(!D.value||e!==B||y.value!==_.value)return;let t={editor:{element:j.value?.getScrollElement(),view:j.value},preview:{element:M.value?.$el,view:M.value}},n=t[e].element,r=t[e===`editor`?`preview`:`editor`];if(!n||!r.element)return;let i={editor:Math.max(0,t.editor.element.scrollHeight-t.editor.element.clientHeight),preview:Math.max(0,t.preview.element.scrollHeight-t.preview.element.clientHeight)},a=[{editor:0,preview:0}],o=N.value?.querySelector(`.docs-markdown-reset`),s=o?.getBoundingClientRect().top||0;o&&[...o.children].forEach((e,t)=>{let n=V[t];if(!n)return;let r={editor:j.value.getLineTop(n),preview:e.getBoundingClientRect().top-s},o=a[a.length-1];r.editor>o.editor&&r.preview>o.preview&&r.editor<i.editor&&r.preview<i.preview&&a.push(r)}),a.push(i);let c=1;for(;c<a.length-1&&a[c][e]<=n.scrollTop;)c++;let l=a[c-1],u=a[c],d=(n.scrollTop-l[e])/(u[e]-l[e]||1),f=e===`editor`?`preview`:`editor`,p=l[f]+d*(u[f]-l[f]);Math.abs(r.element.scrollTop-p)<=1||r.view?.setScrollTop(p)},te=()=>{ee!==void 0&&(clearTimeout(ee),ee=void 0,_e.set(l,`markdown-editor:draft`,{text:_.value,base:x.value}).catch(()=>{}))},U=()=>{clearTimeout(ee),ee=setTimeout(te,300)},ne=(t,n,r=t)=>{clearTimeout(z),_.value=v.value=t,x.value=n,P=r,S.value++,B=`editor`,(0,e.nextTick)(()=>M.value?.setScrollTop(0))},re=e=>{L++,C.value=!1,_.value=e,T.value=``,clearTimeout(z),z=setTimeout(()=>v.value=_.value,150),U()},W=async()=>{te();let e=++L;T.value=``;let t=m.value.config;if(C.value=!!t,t)try{if(t.url){let n=await I(s,{source:t.url,type:`markdown`,lang:f.value}),r=new URL(n,c).href,i=await G.revalidate(R(s,f.value,`markdown`,t.url),{url:r,priority:100});e===L&&ne(i.content,r)}else{let t=await _e.get(l,`markdown-editor:draft`);e===L&&ne(t?.text??Cc,t?.base||c,Cc)}}catch(t){e===L&&(T.value=p(t))}finally{e===L&&(C.value=!1)}},ie=async e=>{let t=e.target,n=t.files?.[0];t.value=``,n&&(L++,T.value=``,C.value=!0,ne(await n.text(),c),C.value=!1,U())},ae=()=>{(_.value===P||window.confirm(d(`client.markdownEditor.confirmReset`)))&&(L++,C.value=!1,T.value=``,ne(P,x.value),U())},oe=(e,t)=>{y.value=e,V=t,N.value?.querySelectorAll(`img[src], a[href]`).forEach(e=>{let t=e instanceof HTMLImageElement?`src`:`href`,n=e.getAttribute(t);if(n&&!n.startsWith(`#`))try{e.setAttribute(t,new URL(n,x.value).href)}catch{}}),H()},se=async()=>{w.value=!0,await Promise.all([document.fonts?.ready,...[...N.value?.querySelectorAll(`img`)||[]].map(e=>e.decode?.().catch(()=>{}))]),window.print(),w.value=!1};return(0,e.watch)([()=>m.value.config?.url,()=>m.value.error,f],W,{immediate:!0}),(0,e.watch)(()=>m.value.config?.styles,(e,t,n)=>{E.value=``;try{n(Dn(Tn(e,c),e=>E.value=d(`client.common.previewStyleFailed`,{url:e})))}catch(e){E.value=p(e)}},{immediate:!0}),(0,e.watch)(D,e=>{B=`editor`,H(),_e.set(l,`markdown-editor:sync`,e).catch(()=>{})}),(0,e.watch)(O,()=>{(0,e.nextTick)(()=>requestAnimationFrame(()=>H()))}),(0,e.onMounted)(()=>{_e.get(l,`markdown-editor:sync`).then(e=>D.value=e??!1).catch(()=>{})}),(0,e.onBeforeUnmount)(()=>{L++,te(),clearTimeout(z)}),(t,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,vc,[(0,e.createElementVNode)(`header`,yc,[(0,e.createElementVNode)(`h1`,null,(0,e.toDisplayString)((0,e.unref)(d)(`client.markdownEditor.title`)),1),(0,e.createElementVNode)(`button`,{type:`button`,onClick:r[0]||=e=>A.value?.click()},(0,e.toDisplayString)((0,e.unref)(d)(`client.markdownEditor.open`)),1),(0,e.createElementVNode)(`input`,{ref_key:`fileInput`,ref:A,type:`file`,accept:`.md,.markdown,.txt,text/markdown,text/plain`,hidden:``,onChange:ie},null,544),(0,e.createVNode)((0,e.unref)(n.Clipboard),{tag:`button`,type:`button`,value:_.value},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(d)(`client.markdownEditor.copy`)),1)]),_:1},8,[`value`]),(0,e.createElementVNode)(`button`,{type:`button`,disabled:w.value||C.value||!!m.value.error||y.value!==_.value,onClick:se},(0,e.toDisplayString)((0,e.unref)(d)(`client.markdownEditor.pdf`)),9,bc),(0,e.createElementVNode)(`button`,{type:`button`,onClick:ae},(0,e.toDisplayString)((0,e.unref)(d)(`client.markdownEditor.reset`)),1),(0,e.createElementVNode)(`label`,null,[(0,e.withDirectives)((0,e.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>D.value=e,type:`checkbox`},null,512),[[e.vModelCheckbox,D.value]]),(0,e.createTextVNode)(` `+(0,e.toDisplayString)((0,e.unref)(d)(`client.markdownEditor.sync`)),1)]),(0,e.createVNode)(_i)]),C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,xc,(0,e.toDisplayString)((0,e.unref)(d)(`client.common.loading`)),1)):(0,e.createCommentVNode)(`v-if`,!0),m.value.error||T.value||E.value?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Sc,(0,e.toDisplayString)(m.value.error||T.value||E.value),1)):(0,e.createCommentVNode)(`v-if`,!0),(0,e.createElementVNode)(`div`,{class:`docs-markdown-editor__panes`,style:(0,e.normalizeStyle)({"--docs-markdown-editor-columns":`minmax(0, ${O.value}fr) 8px minmax(0, ${100-O.value}fr)`})},[((0,e.openBlock)(),(0,e.createBlock)(hc,{key:S.value,ref_key:`editor`,ref:j,"model-value":_.value,label:(0,e.unref)(d)(`client.markdownEditor.source`),onWheelCapture:r[2]||=t=>(0,e.isRef)(B)?B.value=`editor`:B=`editor`,onPointerdownCapture:r[3]||=t=>(0,e.isRef)(B)?B.value=`editor`:B=`editor`,onKeydownCapture:r[4]||=t=>(0,e.isRef)(B)?B.value=`editor`:B=`editor`,"onUpdate:modelValue":re,onScroll:r[5]||=e=>H(`editor`)},null,8,[`model-value`,`label`])),(0,e.createVNode)(_c,{modelValue:O.value,"onUpdate:modelValue":r[6]||=e=>O.value=e},null,8,[`modelValue`]),(0,e.createVNode)((0,e.unref)(n.Scroller),{ref_key:`previewScroller`,ref:M,class:`docs-markdown-editor__preview`,native:!1,wheel:!1,"auto-resize":!0,always:!0,height:`100%`,onWheelCapture:r[8]||=t=>(0,e.isRef)(B)?B.value=`preview`:B=`preview`,onPointerdownCapture:r[9]||=t=>(0,e.isRef)(B)?B.value=`preview`:B=`preview`,onKeydownCapture:r[10]||=t=>(0,e.isRef)(B)?B.value=`preview`:B=`preview`,onScroll:r[11]||=e=>H(`preview`)},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`article`,{ref_key:`article`,ref:N,onLoadCapture:r[7]||=e=>H()},[((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i.Markdown),{key:S.value,"model-value":v.value,theme:h.value.theme,indicator:h.value.indicator,locale:(0,e.unref)(u),playground:g.value,onRendered:oe},null,8,[`model-value`,`theme`,`indicator`,`locale`,`playground`]))],544)]),_:1},512)],4)]))}}),Tc={default:Va,extra:Va},Ec={default:{name:`content`},extra:{name:`extra`}},Dc=(e,t)=>Object.prototype.hasOwnProperty.call(e.locales,t),Oc=(e,t)=>{let n=t.split(`/`).filter(Boolean);return Object.keys(e.routes).some(e=>{if(e===`/`||e===`*`)return!1;let t=e.split(`/`).filter(Boolean);return t.length===n.length&&t.every((e,t)=>e.startsWith(`:`)||e===n[t])})},kc=(e,t)=>{let n=t.path.split(`/`).filter(Boolean);return n[0]=e,{path:`/${n.join(`/`)}`,query:t.query,hash:t.hash}},Ac=(e,t,n,r=!1)=>r&&Oc(e,n.path)?{path:`/${t}${n.path}`,query:n.query,hash:n.hash}:kc(t,n),jc=(e,t,n)=>H(e,String(n.params.lang||P(e)),typeof t==`function`?t(n):t),Mc=(e,t,n,r={})=>typeof n==`string`||typeof n==`function`?{path:t,redirect:t=>{let i=String(t.params.lang||``);return r.localized&&!Dc(e,i)?Ac(e,P(e),t,r.languageRoot):jc(e,n,t)}}:{path:t,components:Tc,props:Ec,meta:{docsRoute:n,docsLocalized:r.localized,docsLanguageRoot:r.languageRoot}},Nc=(e,t={})=>{let n=P(e),i=t.initialLanguage&&Dc(e,t.initialLanguage)?t.initialLanguage:n,a=Object.keys(e.routes).some(e=>(e.startsWith(`/`)?e:`/${e}`)===`/renderer-editor`),o=Object.keys(e.routes).some(e=>(e.startsWith(`/`)?e:`/${e}`)===`/renderer-editor-demos`),s=e.runtime?.mode===`development`,c=[{path:`/__docs/raw-editor`,component:mc,meta:{docsRawEditor:!0,docsRoute:{layout:`none`,content:null}}},{path:`/__docs/markdown-editor`,component:wc,meta:{docsMarkdownEditor:!0,docsRoute:{layout:`none`,content:null}}},{path:`/__docs/preview`,component:Va,props:{name:`content`},meta:{docsPreview:!0,docsRoute:{layout:`none`,content:null}}},{path:`/:lang/__docs/database`,component:ns,meta:{docsDatabase:!0,docsLocalized:!0}},{path:`/:lang/__docs/playground-resource`,component:Xs,meta:{docsPlaygroundResource:!0,docsLocalized:!0}},{path:`/:lang/__docs/renderer-editor`,component:ys,meta:{docsEditor:!0,docsLocalized:!0}}];s&&c.push({path:`/:lang/__docs/renderer-editor-demos`,component:hs,meta:{docsEditorDemos:!0,docsLocalized:!0}}),a||c.push({path:`/renderer-editor`,redirect:e=>({path:`/${n}/renderer-editor`,query:e.query,hash:e.hash})},{path:`/:lang/renderer-editor`,component:ys,meta:{docsEditor:!0,docsLocalized:!0}}),s&&!o&&c.push({path:`/renderer-editor-demos`,redirect:e=>({path:`/${n}/renderer-editor-demos`,query:e.query,hash:e.hash})},{path:`/:lang/renderer-editor-demos`,component:hs,meta:{docsEditorDemos:!0,docsLocalized:!0}}),c.push({path:`/`,redirect:()=>`/${i}`});let l=e.routes[`/`];if(l!==void 0&&!Vt(l))c.push(Mc(e,`/:lang`,l,{localized:!0,languageRoot:!0}));else{let e=typeof l==`object`&&l?l:{};c.push({path:`/:lang`,components:{default:Cs,extra:Va},props:{extra:{name:`extra`}},meta:{docsHome:!0,docsLocalized:!0,docsLanguageRoot:!0,docsRoute:{content:null,sidebar:null,header:`default`,footer:`default`,extra:null,...e}}})}Object.entries(e.routes).forEach(([t,r])=>{if(t===`/`||t===`*`)return;let i=t.startsWith(`/`)?t:`/${t}`;c.push({path:i,redirect:e=>`/${n}${e.fullPath}`}),c.push(Mc(e,`/:lang${i}`,r,{localized:!0}))});let u=e.routes[`*`];u?c.push(Mc(e,`/:lang/:pathMatch(.*)*`,u,{localized:!0})):c.push({path:`/:lang/:pathMatch(.*)*`,redirect:e=>`/${String(e.params.lang||n)}`});let d=k(e),f=new URL(d).pathname,p=(0,r.createRouter)({history:(0,r.createWebHistory)(f),routes:c});return p.beforeEach(t=>{if(t.meta.docsPreview||t.meta.docsRawEditor||t.meta.docsMarkdownEditor){let r=``;try{if(t.meta.docsRawEditor){let e=t.query.raw===void 0?t.query:gn(t.query.raw);e&&typeof e==`object`&&`lang`in e&&typeof e.lang==`string`&&(r=e.lang)}else r=Cn(t.query).lang||``}catch{}return t.params.lang=Dc(e,r)?r:n,!0}let r=String(t.params.lang||``),a=Object.keys(e.locales);return r&&(Dc(e,r)||!a.length&&r===n)?(i=r,!0):t.meta.docsLocalized?Ac(e,n,t,!!t.meta.docsLanguageRoot):{path:`/${n}${t.path===`/`?``:t.path}`,query:t.query,hash:t.hash}}),p},Pc=K.playground,Fc=async(e,t)=>{let n=`@deot/docs:redirect`,r;try{r=sessionStorage.getItem(n),sessionStorage.removeItem(n)}catch{return}if(!r||!r.startsWith(`/`)||r.startsWith(`//`))return;let i=new URL(k(t)).pathname;if(r!==`${location.pathname}${location.search}${location.hash}`&&(i===`/`||r.startsWith(i)))try{await e.push(`/${r.slice(i.length)}`)}catch{}},Ic=async n=>{n||=window.$docs||{locales:{},routes:{}},y(window,n);let r=ye.start(n),i=xe.start(n),a=await K.playground.start(n),o=await _e.language.restore(n),s=Nc(n,{initialLanguage:o}),c=s.afterEach(e=>{_e.language.persist(n,e.params.lang)}),l=(0,e.createApp)(go);l.use(s),Vn(l,n);let u=(0,e.computed)(()=>(0,t.resolveLocale)(String(s.currentRoute.value.params.lang||P(n)),n.locales));(0,t.provideLocale)(u,l);let d=(0,e.watch)(u,e=>{document.documentElement.lang=e.name},{immediate:!0});l.mount(`#app`);let f=So(),p=!1,m,h=()=>{};return(async()=>{try{if(await s.isReady(),p||(await Fc(s,n),p))return;let e=e=>{e.meta.docsPreview||e.meta.docsRawEditor||e.meta.docsMarkdownEditor?(m?.(),m=void 0):m??=K.prefetch.start(n)};e(s.currentRoute.value),h=s.afterEach(e)}catch{}})(),{app:l,router:s,disconnect:()=>{p||(p=!0,f(),c(),h(),m?.(),d(),a(),i(),r())}}};typeof window<`u`&&typeof document<`u`&&document.querySelector(`#app:not([data-v-app])`)&&Ic(),exports.DOCS_RESOURCE_TYPES=_o,exports.Gateway=G,exports.Network=ot,exports.PlaygroundResource=Pc,exports.PlaygroundResourceCache=gr,exports.RENDERER_EDITOR_DEMOS=ro,exports.ResourceGateway=vt,exports.Theme=ve,exports.bootstrap=Ic,exports.classifyResourceSource=L,exports.createRendererEditorDemoDocument=lo,exports.createResourceIdentity=R,exports.getDefaultLanguage=P,exports.getDocsBase=A,exports.getDocsConfig=b,exports.getDocsDeploymentBase=k,exports.getDocsNamespace=F,exports.getDocsRuntime=x,exports.initializeDocsRuntime=y,exports.isRendererEditorDemo=oo,exports.listRendererEditorDemos=co,exports.normalizeWorkspaceBase=D,exports.rendererEditorDemoPath=so,exports.resolveResource=I,exports.resourceIdentityKey=z,exports.trimSlashes=w;