@nuxt/devtools-nightly 2.0.0-beta.2-28953210.23215e0 → 2.0.0-beta.3-28963581.45c0e2d

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 (117) hide show
  1. package/dist/chunks/module-main.mjs +58 -18
  2. package/dist/client/200.html +14 -14
  3. package/dist/client/404.html +14 -14
  4. package/dist/client/_nuxt/__blank-ohgur088.js +1 -0
  5. package/dist/client/_nuxt/analyze-build-j0ebcau7.js +1 -0
  6. package/dist/client/_nuxt/{assets-gwlrdipi.js → assets-ncyhkh7r.js} +3 -3
  7. package/dist/client/_nuxt/builds/latest.json +1 -1
  8. package/dist/client/_nuxt/builds/meta/75b10d99-a82f-45a8-b31c-8befa8b33c5a.json +1 -0
  9. package/dist/client/_nuxt/{client-bnemmvey.js → client-bvu6p7m4.js} +1 -1
  10. package/dist/client/_nuxt/{code-diff.vue-obmnd024.js → code-diff.vue-jc3c9o1p.js} +4 -4
  11. package/dist/client/_nuxt/code-snippets.vue-dnmstgq8.js +1 -0
  12. package/dist/client/_nuxt/components-lo3mq6y9.js +1 -0
  13. package/dist/client/_nuxt/composable-item.vue-dgxtjaf8.js +1 -0
  14. package/dist/client/_nuxt/custom-_name_-pduhuu9r.js +1 -0
  15. package/dist/client/_nuxt/d41h1x7t.js +17 -0
  16. package/dist/client/_nuxt/{default-5lq95or0.js → default-cnhydmlv.js} +1 -1
  17. package/dist/client/_nuxt/{duration-display.vue-jvaccd8v.js → duration-display.vue-onla0yr8.js} +1 -1
  18. package/dist/client/_nuxt/error-404-m6dwmafk.js +1 -0
  19. package/dist/client/_nuxt/error-404.css-cl514xfg.css +1 -0
  20. package/dist/client/_nuxt/{error-500-gt8dgv0s.js → error-500-9wvbqziq.js} +1 -1
  21. package/dist/client/_nuxt/error-500.css-m79ojnxd.css +1 -0
  22. package/dist/client/_nuxt/{error-gdziq9hd.js → error-bp3u9vvx.js} +7 -7
  23. package/dist/client/_nuxt/{filepath-item.vue-mv4aw3ye.js → filepath-item.vue-fxaqezvw.js} +1 -1
  24. package/dist/client/_nuxt/full-bn257ljv.js +1 -0
  25. package/dist/client/_nuxt/{help-fab.vue-gpu2zy8k.js → help-fab.vue-dib0u490.js} +1 -1
  26. package/dist/client/_nuxt/hooks-bs377zwu.js +1 -0
  27. package/dist/client/_nuxt/imports-e4dk8scn.js +1 -0
  28. package/dist/client/_nuxt/{index-lye7dnm2.js → index-cl3mehlu.js} +2 -2
  29. package/dist/client/_nuxt/index-d1d8bsq0.js +1 -0
  30. package/dist/client/_nuxt/launch-page.vue-k9suzodb.js +1 -0
  31. package/dist/client/_nuxt/{modules-mf59rheq.js → modules-hbz103wg.js} +1 -1
  32. package/dist/client/_nuxt/nbadge-ot616wdl.js +1 -0
  33. package/dist/client/_nuxt/{ncheckbox.vue-cg1g4cv9.js → ncheckbox.vue-c9bavwky.js} +1 -1
  34. package/dist/client/_nuxt/{ncode-block.vue-c2t0anp9.js → ncode-block.vue-bazndqbc.js} +2 -2
  35. package/dist/client/_nuxt/ndrawer.vue-b6cdk9y8.js +1 -0
  36. package/dist/client/_nuxt/ndropdown.vue-fzoyv3zc.js +1 -0
  37. package/dist/client/_nuxt/{nicon-title.vue-hch1agon.js → nicon-title.vue-evdbm4ef.js} +1 -1
  38. package/dist/client/_nuxt/nlink.vue-osj159jg.js +1 -0
  39. package/dist/client/_nuxt/nmarkdown.vue-ffthu1ys.js +1 -0
  40. package/dist/client/_nuxt/{nnavbar.vue-dj98cl9i.js → nnavbar.vue-ky8j5cdr.js} +1 -1
  41. package/dist/client/_nuxt/none-jo30kydw.js +1 -0
  42. package/dist/client/_nuxt/nsection-block-cbbvy04f.js +1 -0
  43. package/dist/client/_nuxt/nselect-tabs.vue-jb48kq2v.js +1 -0
  44. package/dist/client/_nuxt/{nselect.vue-e6i2easl.js → nselect.vue-o2d5zfs5.js} +1 -1
  45. package/dist/client/_nuxt/{open-graph-cyykp4pb.js → open-graph-e4y8ndkp.js} +2 -2
  46. package/dist/client/_nuxt/overview-gsz8vjjo.js +1 -0
  47. package/dist/client/_nuxt/pages-wdrdai4k.js +1 -0
  48. package/dist/client/_nuxt/payload-ewhdcsbh.js +1 -0
  49. package/dist/client/_nuxt/pinia-kegwgo0c.js +1 -0
  50. package/dist/client/_nuxt/plugins-hbobfmd4.js +1 -0
  51. package/dist/client/_nuxt/render-tree-fyx4bf1z.js +1 -0
  52. package/dist/client/_nuxt/runtime-configs-b4ga7nqx.js +1 -0
  53. package/dist/client/_nuxt/server-discovery-jllsz7kp.js +1 -0
  54. package/dist/client/_nuxt/server-route-inputs.vue-bxkuny0t.js +1 -0
  55. package/dist/client/_nuxt/{server-routes-k6e0cgnx.js → server-routes-he5hx793.js} +1 -1
  56. package/dist/client/_nuxt/server-tasks-df83dyrk.js +1 -0
  57. package/dist/client/_nuxt/settings-gippgsnw.js +1 -0
  58. package/dist/client/_nuxt/stacktrace-list.vue-7c1u8lmo.js +1 -0
  59. package/dist/client/_nuxt/{state-components-gkmefe4d.js → state-components-lq4erpch.js} +1 -1
  60. package/dist/client/_nuxt/{state-editor.vue-hwq6y6im.js → state-editor.vue-g5t0h5pi.js} +1 -1
  61. package/dist/client/_nuxt/state-modules-c4q0vk65.js +1 -0
  62. package/dist/client/_nuxt/storage-br9x9mkz.js +1 -0
  63. package/dist/client/_nuxt/terminals-k58bpy99.js +1 -0
  64. package/dist/client/_nuxt/timeline-kin9hf5p.js +31 -0
  65. package/dist/client/_nuxt/unocss-runtime-abddx8lv.js +1 -0
  66. package/dist/client/_nuxt/vendor/{json-editor-vue-fw81xiot.js → json-editor-vue-hrh84odz.js} +1 -1
  67. package/dist/client/_nuxt/vendor/{shiki-j4jbxo4i.js → shiki-gvafmef1.js} +19 -18
  68. package/dist/client/_nuxt/vendor/unocss-cbkcukyd.js +2 -0
  69. package/dist/client/_nuxt/virtual-files-eygv3kkf.js +1 -0
  70. package/dist/client/_nuxt/{vue-virtual-scroller.esm-luvj44av.js → vue-virtual-scroller.esm-btin7frf.js} +2 -2
  71. package/dist/client/discovery/index.html +1 -1
  72. package/dist/client/index.html +14 -14
  73. package/dist/module.json +2 -2
  74. package/package.json +31 -31
  75. package/dist/client/_nuxt/__blank-mzki7hds.js +0 -1
  76. package/dist/client/_nuxt/analyze-build-ggbso8ss.js +0 -1
  77. package/dist/client/_nuxt/builds/meta/55305690-3696-4c38-a13a-4bb5160a52cc.json +0 -1
  78. package/dist/client/_nuxt/code-snippets.vue-og9yn10f.js +0 -1
  79. package/dist/client/_nuxt/components-g9nr46k3.js +0 -1
  80. package/dist/client/_nuxt/composable-item.vue-mz4bp0bt.js +0 -1
  81. package/dist/client/_nuxt/custom-_name_-i54lphs1.js +0 -1
  82. package/dist/client/_nuxt/dwllqfm4.js +0 -17
  83. package/dist/client/_nuxt/error-404-labbsids.js +0 -1
  84. package/dist/client/_nuxt/error-404.css-lmmxplpx.css +0 -1
  85. package/dist/client/_nuxt/error-500.css-u0boq89r.css +0 -1
  86. package/dist/client/_nuxt/full-dqkz7zx6.js +0 -1
  87. package/dist/client/_nuxt/hooks-nqyy4fga.js +0 -1
  88. package/dist/client/_nuxt/imports-hrfwm121.js +0 -1
  89. package/dist/client/_nuxt/index-m6b2g1pg.js +0 -1
  90. package/dist/client/_nuxt/launch-page.vue-moq1yr65.js +0 -1
  91. package/dist/client/_nuxt/nbadge-bk5mr85f.js +0 -1
  92. package/dist/client/_nuxt/ndrawer.vue-egmno832.js +0 -1
  93. package/dist/client/_nuxt/ndropdown.vue-forrhsff.js +0 -1
  94. package/dist/client/_nuxt/nlink.vue-eztgyqbq.js +0 -1
  95. package/dist/client/_nuxt/nmarkdown.vue-lym2fx3e.js +0 -1
  96. package/dist/client/_nuxt/none-n7na02au.js +0 -1
  97. package/dist/client/_nuxt/nsection-block-eb4xa2rf.js +0 -1
  98. package/dist/client/_nuxt/nselect-tabs.vue-osh5oab8.js +0 -1
  99. package/dist/client/_nuxt/overview-j3mnq2ow.js +0 -1
  100. package/dist/client/_nuxt/pages-fpbrd4b3.js +0 -1
  101. package/dist/client/_nuxt/payload-di0z7ttu.js +0 -1
  102. package/dist/client/_nuxt/pinia-fh44dwfl.js +0 -1
  103. package/dist/client/_nuxt/plugins-npjp2nyi.js +0 -1
  104. package/dist/client/_nuxt/render-tree-fv4gqzhz.js +0 -1
  105. package/dist/client/_nuxt/runtime-configs-fow78pj8.js +0 -1
  106. package/dist/client/_nuxt/server-discovery-m9my3tdv.js +0 -1
  107. package/dist/client/_nuxt/server-route-inputs.vue-htkoe4hg.js +0 -1
  108. package/dist/client/_nuxt/server-tasks-2s8payv5.js +0 -1
  109. package/dist/client/_nuxt/settings-ozyg9iid.js +0 -1
  110. package/dist/client/_nuxt/stacktrace-list.vue-livbp84i.js +0 -1
  111. package/dist/client/_nuxt/state-modules-ihkeaem3.js +0 -1
  112. package/dist/client/_nuxt/storage-hp299in2.js +0 -1
  113. package/dist/client/_nuxt/terminals-fstydq52.js +0 -1
  114. package/dist/client/_nuxt/timeline-pdgjzc3t.js +0 -31
  115. package/dist/client/_nuxt/unocss-runtime-eltx4hvu.js +0 -1
  116. package/dist/client/_nuxt/vendor/unocss-dypm4cev.js +0 -2
  117. package/dist/client/_nuxt/virtual-files-c0qdy6ml.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{g as ot}from"./json-editor-vue-hrh84odz.js";const it=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,at=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,ct=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function lt(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){ft(e);return}return t}function ft(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function ut(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.endsWith('"')&&!e.includes("\\"))return n.slice(1,-1);if(n.length<=9){const r=n.toLowerCase();if(r==="true")return!0;if(r==="false")return!1;if(r==="undefined")return;if(r==="null")return null;if(r==="nan")return Number.NaN;if(r==="infinity")return Number.POSITIVE_INFINITY;if(r==="-infinity")return Number.NEGATIVE_INFINITY}if(!ct.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(it.test(e)||at.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,lt)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const dt=/#/g,ht=/&/g,pt=/\//g,mt=/=/g,pe=/\+/g,gt=/%5e/gi,yt=/%60/gi,wt=/%7c/gi,Ct=/%20/gi;function bt(e){return encodeURI(""+e).replace(wt,"|")}function fe(e){return bt(typeof e=="string"?e:JSON.stringify(e)).replace(pe,"%2B").replace(Ct,"+").replace(dt,"%23").replace(ht,"%26").replace(yt,"`").replace(gt,"^").replace(pt,"%2F")}function te(e){return fe(e).replace(mt,"%3D")}function Q(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function St(e){return Q(e.replace(pe," "))}function vt(e){return Q(e.replace(pe," "))}function Et(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=St(r[1]);if(s==="__proto__"||s==="constructor")continue;const i=vt(r[2]||"");t[s]===void 0?t[s]=i:Array.isArray(t[s])?t[s].push(i):t[s]=[t[s],i]}return t}function $t(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${te(e)}=${fe(n)}`).join("&"):`${te(e)}=${fe(t)}`:te(e)}function At(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>$t(t,e[t])).filter(Boolean).join("&")}const xt=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Ft=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,_t=/^([/\\]\s*){2,}[^/\\]/,Ot=/^[\s\0]*(blob|data|javascript|vbscript):$/i,Rt=/\/$|\/\?|\/#/,jt=/^\.?\//;function me(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?xt.test(e):Ft.test(e)||(t.acceptRelative?_t.test(e):!1)}function hr(e){return!!e&&Ot.test(e)}function ue(e="",t){return t?Rt.test(e):e.endsWith("/")}function qe(e="",t){if(!t)return(ue(e)?e.slice(0,-1):e)||"/";if(!ue(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s>=0&&(n=e.slice(0,s),r=e.slice(s));const[i,...u]=n.split("?");return((i.endsWith("/")?i.slice(0,-1):i)||"/")+(u.length>0?`?${u.join("?")}`:"")+r}function de(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(ue(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s>=0&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[i,...u]=n.split("?");return i+"/"+(u.length>0?`?${u.join("?")}`:"")+r}function Tt(e=""){return e.startsWith("/")}function we(e=""){return Tt(e)?e:"/"+e}function kt(e,t){if(Be(t)||me(e))return e;const n=qe(t);return e.startsWith(n)?e:It(n,e)}function pr(e,t){if(Be(t))return e;const n=qe(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function Mt(e,t){const n=Pt(e),r={...Et(n.search),...t};return n.search=At(r),Nt(n)}function Be(e){return!e||e==="/"}function Lt(e){return e&&e!=="/"}function It(e,...t){let n=e||"";for(const r of t.filter(s=>Lt(s)))if(n){const s=r.replace(jt,"");n=de(n)+s}else n=r;return n}function mr(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const u of n)if(!(!u||u==="/")){for(const[l,f]of u.split(t).entries())if(!(!f||f===".")){if(f===".."){if(r.length===1&&me(r[0]))continue;r.pop(),s--;continue}if(l===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+f;continue}r.push(f),s++}}let i=r.join("/");return s>=0?n[0]?.startsWith("/")&&!i.startsWith("/")?i="/"+i:n[0]?.startsWith("./")&&!i.startsWith("./")&&(i="./"+i):i="../".repeat(-1*s)+i,n[n.length-1]?.endsWith("/")&&!i.endsWith("/")&&(i+="/"),i}function gr(e,t,n={}){return n.trailingSlash||(e=de(e),t=de(t)),n.leadingSlash||(e=we(e),t=we(t)),n.encoding||(e=Q(e),t=Q(t)),e===t}const Ue=Symbol.for("ufo:protocolRelative");function Pt(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,a,d=""]=n;return{protocol:a.toLowerCase(),pathname:d,href:a+d,auth:"",host:"",search:"",hash:""}}if(!me(e,{acceptRelative:!0}))return Ce(e);const[,r="",s,i=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,u="",l=""]=i.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(l=l.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:f,search:c,hash:o}=Ce(l);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:u,pathname:f,search:c,hash:o,[Ue]:!r}}function Ce(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function Nt(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",i=e.host||"";return(e.protocol||e[Ue]?(e.protocol||"")+"//":"")+s+i+t+n+r}class Dt extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function zt(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,i=e.response?`${e.response.status} ${e.response.statusText}`:"<no response>",u=`${s}: ${i}${t?` ${t}`:""}`,l=new Dt(u,e.error?{cause:e.error}:void 0);for(const f of["request","options","response"])Object.defineProperty(l,f,{get(){return e[f]}});for(const[f,c]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(l,f,{get(){return e.response&&e.response[c]}});return l}const qt=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function be(e="GET"){return qt.has(e.toUpperCase())}function Bt(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Ut=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Vt=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Wt(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Vt.test(t)?"json":Ut.has(t)||t.startsWith("text/")?"text":"blob"}function Ht(e,t,n,r){const s=Gt(t?.headers??e?.headers,n?.headers,r);let i;return(n?.query||n?.params||t?.params||t?.query)&&(i={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:i,params:i,headers:s}}function Gt(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,i);return r}async function U(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const Jt=new Set([408,409,425,429,500,502,503,504]),Qt=new Set([101,204,205,304]);function Ve(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(l){const f=l.error&&l.error.name==="AbortError"&&!l.options.timeout||!1;if(l.options.retry!==!1&&!f){let o;typeof l.options.retry=="number"?o=l.options.retry:o=be(l.options.method)?0:1;const a=l.response&&l.response.status||500;if(o>0&&(Array.isArray(l.options.retryStatusCodes)?l.options.retryStatusCodes.includes(a):Jt.has(a))){const d=typeof l.options.retryDelay=="function"?l.options.retryDelay(l):l.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),i(l.request,{...l.options,retry:o-1})}}const c=zt(l);throw Error.captureStackTrace&&Error.captureStackTrace(c,i),c}const i=async function(f,c={}){const o={request:f,options:Ht(f,c,e.defaults,n),response:void 0,error:void 0};o.options.method&&(o.options.method=o.options.method.toUpperCase()),o.options.onRequest&&await U(o,o.options.onRequest),typeof o.request=="string"&&(o.options.baseURL&&(o.request=kt(o.request,o.options.baseURL)),o.options.query&&(o.request=Mt(o.request,o.options.query),delete o.options.query),"query"in o.options&&delete o.options.query,"params"in o.options&&delete o.options.params),o.options.body&&be(o.options.method)&&(Bt(o.options.body)?(o.options.body=typeof o.options.body=="string"?o.options.body:JSON.stringify(o.options.body),o.options.headers=new n(o.options.headers||{}),o.options.headers.has("content-type")||o.options.headers.set("content-type","application/json"),o.options.headers.has("accept")||o.options.headers.set("accept","application/json")):("pipeTo"in o.options.body&&typeof o.options.body.pipeTo=="function"||typeof o.options.body.pipe=="function")&&("duplex"in o.options||(o.options.duplex="half")));let a;if(!o.options.signal&&o.options.timeout){const h=new r;a=setTimeout(()=>{const y=new Error("[TimeoutError]: The operation was aborted due to timeout");y.name="TimeoutError",y.code=23,h.abort(y)},o.options.timeout),o.options.signal=h.signal}try{o.response=await t(o.request,o.options)}catch(h){return o.error=h,o.options.onRequestError&&await U(o,o.options.onRequestError),await s(o)}finally{a&&clearTimeout(a)}if((o.response.body||o.response._bodyInit)&&!Qt.has(o.response.status)&&o.options.method!=="HEAD"){const h=(o.options.parseResponse?"json":o.options.responseType)||Wt(o.response.headers.get("content-type")||"");switch(h){case"json":{const y=await o.response.text(),g=o.options.parseResponse||ut;o.response._data=g(y);break}case"stream":{o.response._data=o.response.body||o.response._bodyInit;break}default:o.response._data=await o.response[h]()}}return o.options.onResponse&&await U(o,o.options.onResponse),!o.options.ignoreResponseError&&o.response.status>=400&&o.response.status<600?(o.options.onResponseError&&await U(o,o.options.onResponseError),await s(o)):o.response},u=async function(f,c){return(await i(f,c))._data};return u.raw=i,u.native=(...l)=>t(...l),u.create=(l={},f={})=>Ve({...e,...f,defaults:{...e.defaults,...f.defaults,...l}}),u}const K=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),Kt=K.fetch?(...e)=>K.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Yt=K.Headers,Xt=K.AbortController,Zt=Ve({fetch:Kt,Headers:Yt,AbortController:Xt}),en=Zt,tn=Object.freeze({left:0,top:0,width:16,height:16}),Y=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),We=Object.freeze({...tn,...Y}),nn=Object.freeze({...We,body:"",hidden:!1}),rn=Object.freeze({width:null,height:null}),He=Object.freeze({...rn,...Y});function sn(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function Se(e,t){const n=sn(e,t);for(const r in nn)r in Y?r in e&&!(r in n)&&(n[r]=Y[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function on(e,t){const n=e.icons,r=e.aliases||Object.create(null),s=Object.create(null);function i(u){if(n[u])return s[u]=[];if(!(u in s)){s[u]=null;const l=r[u]&&r[u].parent,f=l&&i(l);f&&(s[u]=[l].concat(f))}return s[u]}return t.forEach(i),s}function ve(e,t,n){const r=e.icons,s=e.aliases||Object.create(null);let i={};function u(l){i=Se(r[l]||s[l],i)}return u(t),n.forEach(u),Se(e,i)}function an(e,t){if(e.icons[t])return ve(e,t,[]);const n=on(e,[t])[t];return n?ve(e,t,n):null}const cn=/(-?[0-9.]*[0-9]+[0-9.]*)/g,ln=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function X(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(cn);if(r===null||!r.length)return e;const s=[];let i=r.shift(),u=ln.test(i);for(;;){if(u){const l=parseFloat(i);isNaN(l)?s.push(i):s.push(Math.ceil(l*t*n)/n)}else s.push(i);if(i=r.shift(),i===void 0)return s.join("");u=!u}}function fn(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const s=e.indexOf(">",r),i=e.indexOf("</"+t);if(s===-1||i===-1)break;const u=e.indexOf(">",i);if(u===-1)break;n+=e.slice(s+1,i).trim(),e=e.slice(0,r).trim()+e.slice(u+1)}return{defs:n,content:e}}function un(e,t){return e?"<defs>"+e+"</defs>"+t:t}function dn(e,t,n){const r=fn(e);return un(r.defs,t+r.content+n)}const ge=e=>e==="unset"||e==="undefined"||e==="none";function hn(e,t){const n={...We,...e},r={...He,...t},s={left:n.left,top:n.top,width:n.width,height:n.height};let i=n.body;[n,r].forEach(g=>{const m=[],E=g.hFlip,C=g.vFlip;let S=g.rotate;E?C?S+=2:(m.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),m.push("scale(-1 1)"),s.top=s.left=0):C&&(m.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),m.push("scale(1 -1)"),s.top=s.left=0);let $;switch(S<0&&(S-=Math.floor(S/4)*4),S=S%4,S){case 1:$=s.height/2+s.top,m.unshift("rotate(90 "+$.toString()+" "+$.toString()+")");break;case 2:m.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:$=s.width/2+s.left,m.unshift("rotate(-90 "+$.toString()+" "+$.toString()+")");break}S%2===1&&(s.left!==s.top&&($=s.left,s.left=s.top,s.top=$),s.width!==s.height&&($=s.width,s.width=s.height,s.height=$)),m.length&&(i=dn(i,'<g transform="'+m.join(" ")+'">',"</g>"))});const u=r.width,l=r.height,f=s.width,c=s.height;let o,a;u===null?(a=l===null?"1em":l==="auto"?c:l,o=X(a,f/c)):(o=u==="auto"?f:u,a=l===null?X(o,c/f):l==="auto"?c:l);const d={},h=(g,m)=>{ge(m)||(d[g]=m.toString())};h("width",o),h("height",a);const y=[s.left,s.top,f,c];return d.viewBox=y.join(" "),{attributes:d,viewBox:y,body:i}}function pn(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function Ee(e){let t=e.startsWith("<svg>")?e.replace("<svg>","<svg >"):e;return!t.includes(" xmlns:xlink=")&&t.includes(" xlink:")&&(t=t.replace("<svg ",'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ')),t.includes(" xmlns=")||(t=t.replace("<svg ",'<svg xmlns="http://www.w3.org/2000/svg" ')),pn(t)}function mn(e){return e.replace(/(['"])\s*\n\s*([^>\\/\s])/g,"$1 $2").replace(/(["';{}><])\s*\n\s*/g,"$1").replace(/\s*\n\s*/g," ").replace(/\s+"/g,'"').replace(/="\s+/g,'="').replace(/(\s)+\/>/g,"/>").trim()}const gn=/\swidth\s*=\s*["']([\w.]+)["']/,yn=/\sheight\s*=\s*["']([\w.]+)["']/,ne=/<svg\s+/;function wn(e,t,n){const r=e.slice(0,e.indexOf(">")),s=(i,u)=>{const l=u.exec(r),f=l!=null,c=t[i];return!c&&!ge(c)&&(typeof n=="number"?n>0&&(t[i]=X(l?.[1]??"1em",n)):l&&(t[i]=l[1])),f};return[s("width",gn),s("height",yn)]}async function Ge(e,t,n,r,s,i){const{scale:u,addXmlNs:l=!1}=r??{},{additionalProps:f={},iconCustomizer:c}=r?.customizations??{},o=await s?.()??{};await c?.(t,n,o),Object.keys(f).forEach(g=>{const m=f[g];m!=null&&(o[g]=m)}),i?.(o);const[a,d]=wn(e,o,u);l&&(!e.includes("xmlns=")&&!o.xmlns&&(o.xmlns="http://www.w3.org/2000/svg"),!e.includes("xmlns:xlink=")&&e.includes("xlink:")&&!o["xmlns:xlink"]&&(o["xmlns:xlink"]="http://www.w3.org/1999/xlink"));const h=Object.keys(o).map(g=>g==="width"&&a||g==="height"&&d?null:`${g}="${o[g]}"`).filter(g=>g!=null);if(h.length&&(e=e.replace(ne,`<svg ${h.join(" ")} `)),r){const{defaultStyle:g,defaultClass:m}=r;m&&!e.includes("class=")&&(e=e.replace(ne,`<svg class="${m}" `)),g&&!e.includes("style=")&&(e=e.replace(ne,`<svg style="${g}" `))}const y=r?.usedProps;return y&&(Object.keys(f).forEach(g=>{const m=o[g];m!=null&&(y[g]=m)}),typeof o.width<"u"&&o.width!==null&&(y.width=o.width),typeof o.height<"u"&&o.height!==null&&(y.height=o.height)),e}var V={exports:{}},re,$e;function Cn(){if($e)return re;$e=1;var e=1e3,t=e*60,n=t*60,r=n*24,s=r*7,i=r*365.25;re=function(o,a){a=a||{};var d=typeof o;if(d==="string"&&o.length>0)return u(o);if(d==="number"&&isFinite(o))return a.long?f(o):l(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))};function u(o){if(o=String(o),!(o.length>100)){var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(o);if(a){var d=parseFloat(a[1]),h=(a[2]||"ms").toLowerCase();switch(h){case"years":case"year":case"yrs":case"yr":case"y":return d*i;case"weeks":case"week":case"w":return d*s;case"days":case"day":case"d":return d*r;case"hours":case"hour":case"hrs":case"hr":case"h":return d*n;case"minutes":case"minute":case"mins":case"min":case"m":return d*t;case"seconds":case"second":case"secs":case"sec":case"s":return d*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return d;default:return}}}}function l(o){var a=Math.abs(o);return a>=r?Math.round(o/r)+"d":a>=n?Math.round(o/n)+"h":a>=t?Math.round(o/t)+"m":a>=e?Math.round(o/e)+"s":o+"ms"}function f(o){var a=Math.abs(o);return a>=r?c(o,a,r,"day"):a>=n?c(o,a,n,"hour"):a>=t?c(o,a,t,"minute"):a>=e?c(o,a,e,"second"):o+" ms"}function c(o,a,d,h){var y=a>=d*1.5;return Math.round(o/d)+" "+h+(y?"s":"")}return re}var se,Ae;function bn(){if(Ae)return se;Ae=1;function e(t){r.debug=r,r.default=r,r.coerce=c,r.disable=l,r.enable=i,r.enabled=f,r.humanize=Cn(),r.destroy=o,Object.keys(t).forEach(a=>{r[a]=t[a]}),r.names=[],r.skips=[],r.formatters={};function n(a){let d=0;for(let h=0;h<a.length;h++)d=(d<<5)-d+a.charCodeAt(h),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=n;function r(a){let d,h=null,y,g;function m(...E){if(!m.enabled)return;const C=m,S=Number(new Date),$=S-(d||S);C.diff=$,C.prev=d,C.curr=S,d=S,E[0]=r.coerce(E[0]),typeof E[0]!="string"&&E.unshift("%O");let x=0;E[0]=E[0].replace(/%([a-zA-Z%])/g,(p,b)=>{if(p==="%%")return"%";x++;const v=r.formatters[b];if(typeof v=="function"){const M=E[x];p=v.call(C,M),E.splice(x,1),x--}return p}),r.formatArgs.call(C,E),(C.log||r.log).apply(C,E)}return m.namespace=a,m.useColors=r.useColors(),m.color=r.selectColor(a),m.extend=s,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(y!==r.namespaces&&(y=r.namespaces,g=r.enabled(a)),g),set:E=>{h=E}}),typeof r.init=="function"&&r.init(m),m}function s(a,d){const h=r(this.namespace+(typeof d>"u"?":":d)+a);return h.log=this.log,h}function i(a){r.save(a),r.namespaces=a,r.names=[],r.skips=[];const d=(typeof a=="string"?a:"").trim().replace(" ",",").split(",").filter(Boolean);for(const h of d)h[0]==="-"?r.skips.push(h.slice(1)):r.names.push(h)}function u(a,d){let h=0,y=0,g=-1,m=0;for(;h<a.length;)if(y<d.length&&(d[y]===a[h]||d[y]==="*"))d[y]==="*"?(g=y,m=h,y++):(h++,y++);else if(g!==-1)y=g+1,m++,h=m;else return!1;for(;y<d.length&&d[y]==="*";)y++;return y===d.length}function l(){const a=[...r.names,...r.skips.map(d=>"-"+d)].join(",");return r.enable(""),a}function f(a){for(const d of r.skips)if(u(a,d))return!1;for(const d of r.names)if(u(a,d))return!0;return!1}function c(a){return a instanceof Error?a.stack||a.message:a}function o(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}return se=e,se}var xe;function Sn(){return xe||(xe=1,function(e,t){var n={};t.formatArgs=s,t.save=i,t.load=u,t.useColors=r,t.storage=l(),t.destroy=(()=>{let c=!1;return()=>{c||(c=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function r(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let c;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(c=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(c[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function s(c){if(c[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+c[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const o="color: "+this.color;c.splice(1,0,o,"color: inherit");let a=0,d=0;c[0].replace(/%[a-zA-Z%]/g,h=>{h!=="%%"&&(a++,h==="%c"&&(d=a))}),c.splice(d,0,o)}t.log=console.debug||console.log||(()=>{});function i(c){try{c?t.storage.setItem("debug",c):t.storage.removeItem("debug")}catch{}}function u(){let c;try{c=t.storage.getItem("debug")}catch{}return!c&&typeof process<"u"&&"env"in process&&(c=n.DEBUG),c}function l(){try{return localStorage}catch{}}e.exports=bn()(t);const{formatters:f}=e.exports;f.j=function(c){try{return JSON.stringify(c)}catch(o){return"[UnexpectedJSONParseError]: "+o.message}}}(V,V.exports)),V.exports}var vn=Sn();const Je=ot(vn),En=Je("@iconify-loader:custom");async function Fe(e,t,n,r){let s;En(`${t}:${n}`);try{if(typeof e=="function")s=await e(n);else{const i=e[n];s=typeof i=="function"?await i():i}}catch(i){console.warn(`Failed to load custom icon "${n}" in "${t}":`,i);return}if(s){const i=s.indexOf("<svg");i>0&&(s=s.slice(i));const{transform:u}=r?.customizations??{};return s=typeof u=="function"?await u(s,t,n):s,s.startsWith("<svg")?await Ge(r?.customizations?.trimCustomSvg===!0?mn(s):s,t,n,r,void 0):(console.warn(`Custom icon "${n}" in "${t}" is not a valid SVG`),s)}}const $n=Je("@iconify-loader:icon");async function Qe(e,t,n,r){let s;const{customize:i}=r?.customizations??{};for(const u of n)if(s=an(e,u),s){$n(`${t}:${u}`);let l={...He};typeof i=="function"&&(s=Object.assign({},s),l=i(l,s,`${t}:${u}`)??l);const{attributes:{width:f,height:c,...o},body:a}=hn(s,l),d=r?.scale;return await Ge(`<svg >${a}</svg>`,t,u,r,()=>({...o}),h=>{const y=(g,m)=>{const E=h[g];let C;if(!ge(E)){if(E)return;typeof d=="number"?d&&(C=X(m??"1em",d)):C=m}C?h[g]=C:delete h[g]};y("width",f),y("height",c)})}}const Ke=async(e,t,n)=>{const r=n?.customCollections?.[e];if(r)if(typeof r=="function"){let s;try{s=await r(t)}catch(i){console.warn(`Failed to load custom icon "${t}" in "${e}":`,i);return}if(s){if(typeof s=="string")return await Fe(()=>s,e,t,n);if("icons"in s){const i=[t,t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t.replace(/([a-z])(\d+)/g,"$1-$2")];return await Qe(s,e,i,n)}}}else return await Fe(r,e,t,n)},G="default",he="preflights",An="shortcuts",xn="imports",Fn={[xn]:-200,[he]:-100,[An]:-10,[G]:0},_n=/[\\:]?[\s'"`;{}]+/g;function On(e){return e.split(_n)}const Rn={name:"@unocss/core/extractor-split",order:0,extract({code:e}){return On(e)}};function k(e=[]){return Array.isArray(e)?e:[e]}function N(e){return Array.from(new Set(e))}function _e(e,t){return e.reduce((n,r)=>(n.findIndex(i=>t(r,i))===-1&&n.push(r),n),[])}function j(e){return typeof e=="string"}class Ye extends Set{_map;constructor(t){super(t),this._map??=new Map}add(t){return this._map??=new Map,this._map.set(t,(this._map.get(t)??0)+1),super.add(t)}delete(t){return this._map.delete(t),super.delete(t)}clear(){this._map.clear(),super.clear()}getCount(t){return this._map.get(t)??0}setCount(t,n){return this._map.set(t,n),super.add(t)}}function oe(e){return e instanceof Ye}function jn(e){const t=e.length;let n=-1,r,s="";const i=e.charCodeAt(0);for(;++n<t;){if(r=e.charCodeAt(n),r===0){s+="�";continue}if(r===37){s+="\\%";continue}if(r===44){s+="\\,";continue}if(r>=1&&r<=31||r===127||n===0&&r>=48&&r<=57||n===1&&r>=48&&r<=57&&i===45){s+=`\\${r.toString(16)} `;continue}if(n===0&&t===1&&r===45){s+=`\\${e.charAt(n)}`;continue}if(r>=128||r===45||r===95||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122){s+=e.charAt(n);continue}s+=`\\${e.charAt(n)}`}return s}const ie=jn;function Tn(){return{events:{},emit(e,...t){(this.events[e]||[]).forEach(n=>n(...t))},on(e,t){return(this.events[e]=this.events[e]||[]).push(t),()=>this.events[e]=(this.events[e]||[]).filter(n=>n!==t)}}}function kn(e){return typeof e=="function"?{match:e}:e}function Oe(e){return e.length===3}function ae(e){return e!=null}function Mn(){}class Ln{_map=new Map;get(t,n){const r=this._map.get(t);if(r)return r.get(n)}getFallback(t,n,r){let s=this._map.get(t);return s||(s=new Map,this._map.set(t,s)),s.has(n)||s.set(n,r),s.get(n)}set(t,n,r){let s=this._map.get(t);return s||(s=new Map,this._map.set(t,s)),s.set(n,r),this}has(t,n){return this._map.get(t)?.has(n)}delete(t,n){return this._map.get(t)?.delete(n)||!1}deleteTop(t){return this._map.delete(t)}map(t){return Array.from(this._map.entries()).flatMap(([n,r])=>Array.from(r.entries()).map(([s,i])=>t(i,n,s)))}}class In extends Map{getFallback(t,n){const r=this.get(t);return r===void 0?(this.set(t,n),n):r}map(t){const n=[];return this.forEach((r,s)=>{n.push(t(r,s))}),n}flatMap(t){const n=[];return this.forEach((r,s)=>{n.push(...t(r,s))}),n}}function q(e){return j(e)?e:(Array.isArray(e)?e:Object.entries(e)).filter(t=>t[1]!=null)}function Pn(e){return Array.isArray(e)?e.find(t=>!Array.isArray(t)||Array.isArray(t[0]))?e.map(t=>q(t)):[e]:[q(e)]}function Nn(e){return e.filter(([t,n],r)=>{if(t.startsWith("$$"))return!1;for(let s=r-1;s>=0;s--)if(e[s][0]===t&&e[s][1]===n)return!1;return!0})}function ce(e){return e==null?"":Nn(e).map(([t,n])=>n!=null&&typeof n!="function"?`${t}:${n};`:void 0).filter(Boolean).join("")}function W(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Xe(e,t,n=!1){const r=e,s=t;if(Array.isArray(s))return n&&Array.isArray(s)?[...r,...s]:[...s];const i={...r};return W(r)&&W(s)&&Object.keys(s).forEach(u=>{W(r[u])&&W(s[u])||Array.isArray(r[u])&&Array.isArray(s[u])?i[u]=Xe(r[u],s[u],n):Object.assign(i,{[u]:s[u]})}),i}function J(e){let t,n,r;if(Array.isArray(e)){for(n=Array.from({length:t=e.length});t--;)n[t]=(r=e[t])&&typeof r=="object"?J(r):r;return n}if(Object.prototype.toString.call(e)==="[object Object]"){n={};for(t in e)t==="__proto__"?Object.defineProperty(n,t,{value:J(e[t]),configurable:!0,enumerable:!0,writable:!0}):n[t]=(r=e[t])&&typeof r=="object"?J(r):r;return n}return e}function Dn(e){return j(e[0])}function zn(e){return j(e[0])}const H={};function qn(e=["-",":"]){const t=e.join("|");return H[t]||(H[t]=new RegExp(`((?:[!@<~\\w+:_-]|\\[&?>?:?\\S*\\])+?)(${t})\\(((?:[~!<>\\w\\s:/\\\\,%#.$?-]|\\[.*?\\])+?)\\)(?!\\s*?=>)`,"gm")),H[t].lastIndex=0,H[t]}function Bn(e,t=["-",":"],n=5){const r=qn(t);let s,i=e.toString();const u=new Set,l=new Map;do s=!1,i=i.replace(r,(c,o,a,d,h)=>{if(!t.includes(a))return c;s=!0,u.add(o+a);const y=h+o.length+a.length+1,g={length:c.length,items:[]};l.set(h,g);for(const m of[...d.matchAll(/\S+/g)]){const E=y+m.index;let C=l.get(E)?.items;C?l.delete(E):C=[{offset:E,length:m[0].length,className:m[0]}];for(const S of C)S.className=S.className==="~"?o:S.className.replace(/^(!?)(.*)/,`$1${o}${a}$2`),g.items.push(S)}return"$".repeat(c.length)}),n-=1;while(s&&n);let f;if(typeof e=="string"){f="";let c=0;for(const[o,a]of l)f+=e.slice(c,o),f+=a.items.map(d=>d.className).join(" "),c=o+a.length;f+=e.slice(c)}else{f=e;for(const[c,o]of l)f.overwrite(c,c+o.length,o.items.map(a=>a.className).join(" "))}return{prefixes:Array.from(u),hasChanged:s,groupsByOffset:l,get expanded(){return f.toString()}}}function Un(e,t=["-",":"],n=5){const r=Bn(e,t,n);return typeof e=="string"?r.expanded:e}const Re=new Set;function Ze(e){Re.has(e)||(console.warn("[unocss]",e),Re.add(e))}function et(e){return k(e).flatMap(t=>Array.isArray(t)?[t]:Object.entries(t))}const je="_uno_resolved";async function Vn(e){let t=typeof e=="function"?await e():await e;if(je in t)return t;t={...t},Object.defineProperty(t,je,{value:!0,enumerable:!1});const n=t.shortcuts?et(t.shortcuts):void 0;if(t.shortcuts=n,t.prefix||t.layer){const r=s=>{s[2]||(s[2]={});const i=s[2];i.prefix==null&&t.prefix&&(i.prefix=k(t.prefix)),i.layer==null&&t.layer&&(i.layer=t.layer)};n?.forEach(r),t.rules?.forEach(r)}return t}async function tt(e){const t=await Vn(e);if(!t.presets)return[t];const n=(await Promise.all((t.presets||[]).flatMap(k).flatMap(tt))).flat();return[t,...n]}function Wn(e){if(e.length===0)return{};const t=[],n=[];let r=!1;const s=[],i=[],u=[];for(const f of e){if(f.pipeline===!1){r=!0;break}else f.pipeline?.include&&t.push(f.pipeline.include),f.pipeline?.exclude&&n.push(f.pipeline.exclude);f.filesystem&&s.push(f.filesystem),f.inline&&i.push(f.inline),f.plain&&u.push(f.plain)}const l={pipeline:r?!1:{include:N(ke(...t)),exclude:N(ke(...n))}};return s.length&&(l.filesystem=N(s.flat())),i.length&&(l.inline=N(i.flat())),u.length&&(l.plain=N(u.flat())),l}async function Te(e={},t={}){const n=Object.assign({},t,e),r=_e((await Promise.all((n.presets||[]).flatMap(k).flatMap(tt))).flat(),(w,p)=>w.name===p.name),s=[...r.filter(w=>w.enforce==="pre"),...r.filter(w=>!w.enforce),...r.filter(w=>w.enforce==="post")],i=[...s,n],u=[...i].reverse(),l=Object.assign({},Fn,...i.map(w=>w.layers));function f(w){return N(i.flatMap(p=>k(p[w]||[])))}const c=f("extractors");let o=u.find(w=>w.extractorDefault!==void 0)?.extractorDefault;o===void 0&&(o=Rn),o&&!c.includes(o)&&c.unshift(o),c.sort((w,p)=>(w.order||0)-(p.order||0));const a=f("rules"),d={},h=a.length,y=a.filter(w=>Dn(w)?(k(w[2]?.prefix||"").forEach(b=>{d[b+w[0]]=w}),!1):!0).reverse();let g=Hn(i.map(w=>w.theme));const m=f("extendTheme");for(const w of m)g=w(g)||g;const E={templates:N(i.flatMap(w=>k(w.autocomplete?.templates))),extractors:i.flatMap(w=>k(w.autocomplete?.extractors)).sort((w,p)=>(w.order||0)-(p.order||0)),shorthands:Gn(i.map(w=>w.autocomplete?.shorthands||{}))};let C=f("separators");C.length||(C=[":","-"]);const S=f("content"),$=Wn(S),x={mergeSelectors:!0,warn:!0,sortLayers:w=>w,...n,blocklist:f("blocklist"),presets:s,envMode:n.envMode||"build",shortcutsLayer:n.shortcutsLayer||"shortcuts",layers:l,theme:g,rules:a,rulesSize:h,rulesDynamic:y,rulesStaticMap:d,preprocess:f("preprocess"),postprocess:f("postprocess"),preflights:f("preflights"),autocomplete:E,variants:f("variants").map(kn).sort((w,p)=>(w.order||0)-(p.order||0)),shortcuts:et(f("shortcuts")).reverse(),extractors:c,safelist:f("safelist"),separators:C,details:n.details??n.envMode==="dev",content:$,transformers:_e(f("transformers"),(w,p)=>w.name===p.name)};for(const w of i)w?.configResolved?.(x);return x}function Hn(e){return e.map(t=>t?J(t):{}).reduce((t,n)=>Xe(t,n),{})}function Gn(e){return e.reduce((t,n)=>{const r={};for(const s in n){const i=n[s];Array.isArray(i)?r[s]=`(${i.join("|")})`:r[s]=i}return{...t,...r}},{})}function ke(...e){return e.flatMap(Jn)}function Jn(e){return Array.isArray(e)?e:e?[e]:[]}const Qn="65.4.3",z={shortcutsNoMerge:"$$symbol-shortcut-no-merge",variants:"$$symbol-variants",parent:"$$symbol-parent",selector:"$$symbol-selector",layer:"$$symbol-layer",sort:"$$symbol-sort"};class ye{constructor(t={},n={}){this.userConfig=t,this.defaults=n}version=Qn;events=Tn();config=void 0;cache=new Map;blocked=new Set;parentOrders=new Map;activatedRules=new Set;static async create(t={},n={}){const r=new ye(t,n);return r.config=await Te(r.userConfig,r.defaults),r.events.emit("config",r.config),r}async setConfig(t,n){t&&(n&&(this.defaults=n),this.userConfig=t,this.blocked.clear(),this.parentOrders.clear(),this.activatedRules.clear(),this.cache.clear(),this.config=await Te(t,this.defaults),this.events.emit("config",this.config))}async applyExtractors(t,n,r=new Set){const s={original:t,code:t,id:n,extracted:r,envMode:this.config.envMode};for(const i of this.config.extractors){const u=await i.extract?.(s);if(u)if(oe(u)&&oe(r))for(const l of u)r.setCount(l,r.getCount(l)+u.getCount(l));else for(const l of u)r.add(l)}return r}makeContext(t,n){const r={rawSelector:t,currentSelector:n[1],theme:this.config.theme,generator:this,symbols:z,variantHandlers:n[2],constructCSS:(...s)=>this.constructCustomCSS(r,...s),variantMatch:n};return r}async parseToken(t,n){if(this.blocked.has(t))return;const r=`${t}${n?` ${n}`:""}`;if(this.cache.has(r))return this.cache.get(r);let s=t;for(const f of this.config.preprocess)s=f(t);if(this.isBlocked(s)){this.blocked.add(t),this.cache.set(r,null);return}const i=await this.matchVariants(t,s);if(i.every(f=>!f||this.isBlocked(f[1]))){this.blocked.add(t),this.cache.set(r,null);return}const u=async f=>{const c=this.makeContext(t,[n||f[0],f[1],f[2],f[3]]);this.config.details&&(c.variants=[...f[3]]);const o=await this.expandShortcut(c.currentSelector,c);return o?await this.stringifyShortcuts(c.variantMatch,c,o[0],o[1]):(await this.parseUtil(c.variantMatch,c))?.map(d=>this.stringifyUtil(d,c)).filter(ae)},l=(await Promise.all(i.map(f=>u(f)))).flat().filter(f=>!!f);if(l?.length)return this.cache.set(r,l),l;this.cache.set(r,null)}async generate(t,n={}){const{id:r,scope:s,preflights:i=!0,safelist:u=!0,minify:l=!1,extendedInfo:f=!1}=n,c=j(t)?await this.applyExtractors(t,r,f?new Ye:new Set):Array.isArray(t)?new Set(t):t;if(u){const p={generator:this,theme:this.config.theme};this.config.safelist.flatMap(b=>typeof b=="function"?b(p):b).forEach(b=>{c.has(b)||c.add(b)})}const o=l?"":`
2
+ `,a=new Set([G]),d=f?new Map:new Set,h=new Map;let y={};const g=Array.from(c).map(async p=>{if(d.has(p))return;const b=await this.parseToken(p);if(b!=null){d instanceof Map?d.set(p,{data:b,count:oe(c)?c.getCount(p):-1}):d.add(p);for(const v of b){const M=v[3]||"",L=v[4]?.layer;h.has(M)||h.set(M,[]),h.get(M).push(v),L&&a.add(L)}}});await Promise.all(g),await(async()=>{if(!i)return;const p={generator:this,theme:this.config.theme},b=new Set([]);this.config.preflights.forEach(({layer:v=he})=>{a.add(v),b.add(v)}),y=Object.fromEntries(await Promise.all(Array.from(b).map(async v=>{const L=(await Promise.all(this.config.preflights.filter(I=>(I.layer||he)===v).map(async I=>await I.getCSS(p)))).filter(Boolean).join(o);return[v,L]})))})();const m=this.config.sortLayers(Array.from(a).sort((p,b)=>(this.config.layers[p]??0)-(this.config.layers[b]??0)||p.localeCompare(b))),E={},C=this.config.outputToCssLayers,S=p=>{let b=p;return typeof C=="object"&&(b=C.cssLayerName?.(p)),b===null?null:b??p},$=(p=G)=>{if(E[p])return E[p];let b=Array.from(h).sort((L,I)=>(this.parentOrders.get(L[0])??0)-(this.parentOrders.get(I[0])??0)||L[0]?.localeCompare(I[0]||"")||0).map(([L,I])=>{const A=I.length,_=I.filter(F=>(F[4]?.layer||G)===p).sort((F,T)=>F[0]-T[0]||(F[4]?.sort||0)-(T[4]?.sort||0)||F[5]?.currentSelector?.localeCompare(T[5]?.currentSelector??"")||F[1]?.localeCompare(T[1]||"")||F[2]?.localeCompare(T[2]||"")||0).map(([,F,T,,B,,Z])=>[[[(F&&Xn(F,s))??"",B?.sort??0]],T,!!(Z??B?.noMerge)]);if(!_.length)return;const O=_.reverse().map(([F,T,B],Z)=>{if(!B&&this.config.mergeSelectors)for(let D=Z+1;D<A;D++){const P=_[D];if(P&&!P[2]&&(F&&P[0]||F==null&&P[0]==null)&&P[1]===T)return F&&P[0]&&P[0].push(...F),null}const ee=F?N(F.sort((D,P)=>D[1]-P[1]||D[0]?.localeCompare(P[0]||"")||0).map(D=>D[0]).filter(Boolean)):[];return ee.length?`${ee.join(`,${o}`)}{${T}}`:T}).filter(Boolean).reverse().join(o);if(!L)return O;const R=L.split(" $$ ");return`${R.join("{")}{${o}${O}${o}${"}".repeat(R.length)}`}).filter(Boolean).join(o);i&&(b=[y[p],b].filter(Boolean).join(o));let v;C&&b&&(v=S(p),v!==null&&(b=`@layer ${v}{${o}${b}${o}}`));const M=l?"":`/* layer: ${p}${v&&v!==p?`, alias: ${v}`:""} */${o}`;return E[p]=b?M+b:""},x=(p=m,b)=>{const v=p.filter(M=>!b?.includes(M));return[C&&v.length>0?`@layer ${v.map(S).filter(ae).join(", ")};`:void 0,...v.map(M=>$(M)||"")].filter(Boolean).join(o)};return{get css(){return x()},layers:m,matched:d,getLayers:x,getLayer:$,setLayer:async(p,b)=>{const v=await b($(p));return E[p]=v,v}}}async matchVariants(t,n){const r={rawSelector:t,theme:this.config.theme,generator:this},s=async i=>{let u=!0;const[,,l,f]=i;for(;u;){u=!1;const c=i[1];for(const o of this.config.variants){if(!o.multiPass&&f.has(o))continue;let a=await o.match(c,r);if(a){if(j(a)){if(a===c)continue;a={matcher:a}}if(Array.isArray(a)){if(!a.length)continue;if(a.length===1)a=a[0];else{if(o.multiPass)throw new Error("multiPass can not be used together with array return variants");const d=a.map(h=>{const y=h.matcher??c,g=[h,...l],m=new Set(f);return m.add(o),[i[0],y,g,m]});return(await Promise.all(d.map(h=>s(h)))).flat()}}i[1]=a.matcher??c,l.unshift(a),f.add(o),u=!0;break}}if(!u)break;if(l.length>500)throw new Error(`Too many variants applied to "${t}"`)}return[i]};return await s([t,n||t,[],new Set])}applyVariants(t,n=t[4],r=t[1]){const i=n.slice().sort((c,o)=>(c.order||0)-(o.order||0)).reduceRight((c,o)=>a=>{const d=o.body?.(a.entries)||a.entries,h=Array.isArray(o.parent)?o.parent:[o.parent,void 0];return(o.handle??er)({...a,entries:d,selector:o.selector?.(a.selector,d)||a.selector,parent:h[0]||a.parent,parentOrder:h[1]||a.parentOrder,layer:o.layer||a.layer,sort:o.sort||a.sort},c)},c=>c)({prefix:"",selector:Zn(r),pseudo:"",entries:t[2]}),{parent:u,parentOrder:l}=i;u!=null&&l!=null&&this.parentOrders.set(u,l);const f={selector:[i.prefix,i.selector,i.pseudo].join(""),entries:i.entries,parent:u,layer:i.layer,sort:i.sort,noMerge:i.noMerge};for(const c of this.config.postprocess)c(f);return f}constructCustomCSS(t,n,r){const s=q(n);if(j(s))return s;const{selector:i,entries:u,parent:l}=this.applyVariants([0,r||t.rawSelector,s,void 0,t.variantHandlers]),f=`${i}{${ce(u)}}`;return l?`${l}{${f}}`:f}async parseUtil(t,n,r=!1,s){const i=j(t)?await this.matchVariants(t):[t],u=async([f,c,o])=>{this.config.details&&(n.rules=n.rules??[]);const a=this.config.rulesStaticMap[c];if(a&&a[1]&&(r||!a[2]?.internal)){n.generator.activatedRules.add(a),this.config.details&&n.rules.push(a);const h=this.config.rules.indexOf(a),y=q(a[1]),g=a[2];return j(y)?[[h,y,g]]:[[h,f,y,g,o]]}n.variantHandlers=o;const{rulesDynamic:d}=this.config;for(const h of d){const[y,g,m]=h;if(m?.internal&&!r)continue;let E=c;if(m?.prefix){const x=k(m.prefix);if(s){const w=k(s);if(!x.some(p=>w.includes(p)))continue}else{const w=x.find(p=>c.startsWith(p));if(w==null)continue;E=c.slice(w.length)}}const C=E.match(y);if(!C)continue;let S=await g(C,n);if(!S)continue;if(n.generator.activatedRules.add(h),this.config.details&&n.rules.push(h),typeof S!="string")if(Symbol.asyncIterator in S){const x=[];for await(const w of S)w&&x.push(w);S=x}else Symbol.iterator in S&&!Array.isArray(S)&&(S=Array.from(S).filter(ae));const $=Pn(S).filter(x=>x.length);if($.length){const x=this.config.rules.indexOf(h);return $.map(w=>{if(j(w))return[x,w,m];let p=o,b=m;for(const v of w)v[0]===z.variants?p=[...k(v[1]),...p]:v[0]===z.parent?p=[{parent:v[1]},...p]:v[0]===z.selector?p=[{selector:v[1]},...p]:v[0]===z.layer?p=[{layer:v[1]},...p]:v[0]===z.sort&&(b={...b,sort:v[1]});return[x,f,w,b,p]})}}},l=(await Promise.all(i.map(f=>u(f)))).flat().filter(f=>!!f);if(l.length)return l}stringifyUtil(t,n){if(!t)return;if(Oe(t))return[t[0],void 0,t[1],void 0,t[2],this.config.details?n:void 0,void 0];const{selector:r,entries:s,parent:i,layer:u,sort:l,noMerge:f}=this.applyVariants(t),c=ce(s);if(!c)return;const{layer:o,sort:a,...d}=t[3]??{},h={...d,layer:u??o,sort:l??a};return[t[0],r,c,i,h,this.config.details?n:void 0,f]}async expandShortcut(t,n,r=5){if(r===0)return;const s=this.config.details?c=>{n.shortcuts=n.shortcuts??[],n.shortcuts.push(c)}:Mn;let i,u,l,f;for(const c of this.config.shortcuts){let o=t;if(c[2]?.prefix){const d=k(c[2].prefix).find(h=>t.startsWith(h));if(d==null)continue;o=t.slice(d.length)}if(zn(c)){if(c[0]===o){i=i||c[2],u=c[1],s(c);break}}else{const a=o.match(c[0]);if(a&&(u=c[1](a,n)),u){i=i||c[2],s(c);break}}}if(u&&(l=N(k(u).filter(j).map(c=>Un(c.trim()).split(/\s+/g)).flat()),f=k(u).filter(c=>!j(c)).map(c=>({handles:[],value:c}))),!u){const c=j(t)?await this.matchVariants(t):[t];for(const o of c){const[a,d,h]=o;if(a!==d){const y=await this.expandShortcut(d,n,r-1);y&&(l=y[0].filter(j).map(g=>a.replace(d,g)),f=y[0].filter(g=>!j(g)).map(g=>({handles:[...g.handles,...h],value:g.value})))}}}if(!(!l?.length&&!f?.length))return[[await Promise.all(k(l).map(async c=>(await this.expandShortcut(c,n,r-1))?.[0]||[c])),f].flat(2).filter(c=>!!c),i]}async stringifyShortcuts(t,n,r,s={layer:this.config.shortcutsLayer}){const i=new In,u=(await Promise.all(N(r).map(async o=>{const a=j(o)?await this.parseUtil(o,n,!0,s.prefix):[[Number.POSITIVE_INFINITY,"{inline}",q(o.value),void 0,o.handles]];return!a&&this.config.warn&&Ze(`unmatched utility "${o}" in shortcut "${t[1]}"`),a||[]}))).flat(1).filter(Boolean).sort((o,a)=>o[0]-a[0]),[l,,f]=t,c=[];for(const o of u){if(Oe(o)){c.push([o[0],void 0,o[1],void 0,o[2],n,void 0]);continue}const{selector:a,entries:d,parent:h,sort:y,noMerge:g,layer:m}=this.applyVariants(o,[...o[4],...f],l);i.getFallback(m??s.layer,new Ln).getFallback(a,h,[[],o[0]])[0].push([d,!!(g??o[3]?.noMerge),y??0])}return c.concat(i.flatMap((o,a)=>o.map(([d,h],y,g)=>{const m=(C,S,$)=>{const x=Math.max(...$.map(p=>p[1])),w=$.map(p=>p[0]);return(C?[w.flat(1)]:w).map(p=>{const b=ce(p);if(b)return[h,y,b,g,{...s,noMerge:S,sort:x,layer:a},n,void 0]})};return[[d.filter(([,C])=>C).map(([C,,S])=>[C,S]),!0],[d.filter(([,C])=>!C).map(([C,,S])=>[C,S]),!1]].map(([C,S])=>[...m(!1,S,C.filter(([$])=>$.some(x=>x[0]===z.shortcutsNoMerge))),...m(!0,S,C.filter(([$])=>$.every(x=>x[0]!==z.shortcutsNoMerge)))])}).flat(2).filter(Boolean)))}isBlocked(t){return!t||this.config.blocklist.map(n=>Array.isArray(n)?n[0]:n).some(n=>typeof n=="function"?n(t):j(n)?n===t:n.test(t))}getBlocked(t){const n=this.config.blocklist.find(r=>{const s=Array.isArray(r)?r[0]:r;return typeof s=="function"?s(t):j(s)?s===t:s.test(t)});return n?Array.isArray(n)?n:[n,void 0]:void 0}}async function Kn(e,t){return await ye.create(e,t)}const nt=/\s\$\$\s+/g;function Yn(e){return nt.test(e)}function Xn(e,t){return Yn(e)?e.replace(nt,t?` ${t} `:" "):t?`${t} ${e}`:e}const Me=/^\[(.+?)(~?=)"(.*)"\]$/;function Zn(e){return Me.test(e)?e.replace(Me,(t,n,r,s)=>`[${ie(n)}${r}"${ie(s)}"]`):`.${ie(e)}`}function er(e,t){return t(e)}var Le={};function tr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var le,Ie;function nr(){return Ie||(Ie=1,le=["academicons","akar-icons","ant-design","arcticons","basil","bi","bitcoin-icons","bpmn","brandico","bubbles","bx","bxl","bxs","bytesize","carbon","catppuccin","cbi","charm","ci","cib","cif","cil","circle-flags","circum","clarity","codex","codicon","covid","cryptocurrency-color","cryptocurrency","cuida","dashicons","devicon-line","devicon-original","devicon-plain","devicon","duo-icons","ei","el","emblemicons","emojione-monotone","emojione-v1","emojione","entypo-social","entypo","eos-icons","ep","et","eva","f7","fa-brands","fa-regular","fa-solid","fa","fa6-brands","fa6-regular","fa6-solid","fad","famicons","fe","feather","file-icons","flag","flagpack","flat-color-icons","flat-ui","flowbite","fluent-color","fluent-emoji-flat","fluent-emoji-high-contrast","fluent-emoji","fluent-mdl2","fluent","fontelico","fontisto","formkit","foundation","fxemoji","gala","game-icons","garden","geo","gg","gis","gravity-ui","gridicons","grommet-icons","guidance","healthicons","heroicons-outline","heroicons-solid","heroicons","hugeicons","humbleicons","ic","icomoon-free","icon-park-outline","icon-park-solid","icon-park-twotone","icon-park","iconamoon","iconoir","icons8","il","ion","iwwa","ix","jam","la","lets-icons","line-md","lineicons","logos","ls","lsicon","lucide-lab","lucide","mage","majesticons","maki","map","marketeq","material-symbols-light","material-symbols","mdi-light","mdi","medical-icon","memory","meteocons","meteor-icons","mi","mingcute","mono-icons","mynaui","nimbus","nonicons","noto-v1","noto","nrk","octicon","oi","ooui","openmoji","oui","pajamas","pepicons-pencil","pepicons-pop","pepicons-print","pepicons","ph","pixelarticons","prime","proicons","ps","qlementine-icons","quill","radix-icons","raphael","ri","rivet-icons","si-glyph","si","simple-icons","simple-line-icons","skill-icons","solar","stash","streamline-emojis","streamline","subway","svg-spinners","system-uicons","tabler","tdesign","teenyicons","token-branded","token","topcoat","twemoji","typcn","uil","uim","uis","uit","uiw","unjs","vaadin","vs","vscode-icons","websymbol","weui","whh","wi","wpf","zmdi","zondicons"]),le}var rr=nr();const rt=tr(rr),sr=3;function or(e){return(t={})=>{const{scale:n=1,mode:r="auto",prefix:s="i-",warn:i=!1,iconifyCollectionsNames:u,collections:l,extraProperties:f={},customizations:c={},autoInstall:o=!1,collectionsNodeResolvePath:a,layer:d="icons",unit:h,processor:y}=t,g=ir(),m={addXmlNs:!0,scale:n,customCollections:l,autoInstall:o,cwd:a,warn:void 0,customizations:{...c,additionalProps:{...f},trimCustomSvg:!0,async iconCustomizer(C,S,$){await c.iconCustomizer?.(C,S,$),h&&($.width||($.width=`${n}${h}`),$.height||($.height=`${n}${h}`))}}};let E;return{name:"@unocss/preset-icons",enforce:"pre",options:t,layers:{icons:-30},api:{encodeSvgForCss:Ee,parseIconWithLoader:Pe},rules:[[/^([\w:-]+)(?:\?(mask|bg|auto))?$/,async C=>{let[S,$,x=r]=C;E=E||await e(t);const w={},p=await Pe($,E,{...m,usedProps:w},u);if(!p){i&&!g.isESLint&&Ze(`failed to load icon "${S}"`);return}let b;const v=`url("data:image/svg+xml;utf8,${Ee(p.svg)}")`;return x==="auto"&&(x=p.svg.includes("currentColor")?"mask":"bg"),x==="mask"?b={"--un-icon":v,"-webkit-mask":"var(--un-icon) no-repeat",mask:"var(--un-icon) no-repeat","-webkit-mask-size":"100% 100%","mask-size":"100% 100%","background-color":"currentColor",color:"inherit",...w}:b={background:`${v} no-repeat`,"background-size":"100% 100%","background-color":"transparent",...w},y?.(b,{...p,icon:p.name,mode:x}),b},{layer:d,prefix:s}]]}}}function st(e,t){const n=new Map;function r(s){if(rt.includes(s))return n.has(s)||n.set(s,e(`${t}@iconify-json/${s}/icons.json`)),n.get(s)}return async(s,i,u)=>{let l=await Ke(s,i,u);if(l)return l;const f=await r(s);if(f){const c=[i,i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),i.replace(/([a-z])(\d+)/g,"$1-$2")];l=await Qe(f,s,c,u)}return l}}function ir(){const e=typeof process<"u"&&process.stdout&&!process.versions.deno,t=e&&!!Le.VSCODE_CWD,n=e&&!!Le.ESLINT;return{isNode:e,isVSCode:t,isESLint:n}}async function Pe(e,t,n={},r=[]){let s="",i="",u;const l=new Set([...rt,...r,...Object.keys(n.customCollections||{})]);if(e.includes(":")){if([s,i]=e.split(":"),!l.has(s))return;u=await t(s,i,n)}else{const f=e.split(/-/g);for(let c=sr;c>=1&&(s=f.slice(0,c).join("-"),!(!!l.has(s)&&(i=f.slice(c).join("-"),u=await t(s,i,n),u)));c--);}if(u)return{collection:s,name:i,svg:u}}function ar(e){return st(en,e)}const yr=or(async e=>{const t=e?.customFetch,n=e?.cdn;return t&&n?st(t,n):n?ar(n):Ke});function cr(e){return e.replace(/-(\w)/g,(t,n)=>n?n.toUpperCase():"")}function Ne(e){return e.charAt(0).toUpperCase()+e.slice(1)}function De(e){return e.replace(/(?:^|\B)([A-Z])/g,"-$1").toLowerCase()}var ze=["Webkit","Moz","ms"];function lr(e){const t={};function n(r){const s=t[r];if(s)return s;let i=cr(r);if(i!=="filter"&&i in e)return t[r]=De(i);i=Ne(i);for(let u=0;u<ze.length;u++){const l=`${ze[u]}${i}`;if(l in e)return t[r]=De(Ne(l))}return r}return({entries:r})=>r.forEach(s=>{s[0].startsWith("--")||(s[0]=n(s[0]))})}function fr(e){return e.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<")}async function wr(e={}){if(typeof window>"u"){console.warn("@unocss/runtime been used in non-browser environment, skipped.");return}const t=window,n=window.document,r=()=>n.documentElement,s=t.__unocss||{},i=Object.assign({},e,s.runtime),u=i.defaults||{},l=i.cloakAttribute??"un-cloak";i.autoPrefix&&(u.postprocess=k(u.postprocess)).unshift(lr(n.createElement("div").style)),i.configResolved?.(s,u);const f=await Kn(s,u),c=A=>i.inject?i.inject(A):r().prepend(A),o=()=>i.rootElement?i.rootElement():n.body,a=new Map;let d=!0;const h=new Set;let y,g,m=[];const E=()=>new Promise(A=>{m.push(A),g!=null&&clearTimeout(g),g=setTimeout(()=>$().then(()=>{const _=m;m=[],_.forEach(O=>O())}),0)});function C(A,_=!1){if(A.nodeType!==1)return;const O=A;O.hasAttribute(l)&&O.removeAttribute(l),_&&O.querySelectorAll(`[${l}]`).forEach(R=>{R.removeAttribute(l)})}function S(A,_){let O=a.get(A);if(!O)if(O=n.createElement("style"),O.setAttribute("data-unocss-runtime-layer",A),a.set(A,O),_==null)c(O);else{const R=S(_),F=R.parentNode;F?F.insertBefore(O,R.nextSibling):c(O)}return O}async function $(){const A=[...h],_=await f.generate(A);return _.layers.reduce((R,F)=>(S(F,R).innerHTML=_.getLayer(F)??"",F),void 0),A.filter(R=>!_.matched.has(R)).forEach(R=>h.delete(R)),{..._,getStyleElement:R=>a.get(R),getStyleElements:()=>a}}async function x(A){const _=h.size;await f.applyExtractors(A,void 0,h),_!==h.size&&await E()}async function w(A=o()){const _=A&&A.outerHTML;_&&(await x(`${_} ${fr(_)}`),C(r()),C(A,!0))}const p=new MutationObserver(A=>{d||A.forEach(async _=>{if(_.target.nodeType!==1)return;const O=_.target;for(const R of a)if(O===R[1])return;if(_.type==="childList")_.addedNodes.forEach(async R=>{if(R.nodeType!==1)return;const F=R;y&&!y(F)||(await x(F.outerHTML),C(F))});else{if(y&&!y(O))return;if(_.attributeName!==l){const R=Array.from(O.attributes).map(T=>T.value?`${T.name}="${T.value}"`:T.name).join(" "),F=`<${O.tagName.toLowerCase()} ${R}>`;await x(F)}C(O)}})});let b=!1;function v(){if(b)return;const A=i.observer?.target?i.observer.target():o();A&&(p.observe(A,{childList:!0,subtree:!0,attributes:!0,attributeFilter:i.observer?.attributeFilter}),b=!0)}function M(){i.bypassDefined&&ur(f.blocked),w(),v()}function L(){n.readyState==="loading"?t.addEventListener("DOMContentLoaded",M):M()}const I=t.__unocss_runtime=t.__unocss_runtime={version:f.version,uno:f,async extract(A){j(A)||(A.forEach(_=>h.add(_)),A=""),await x(A)},extractAll:w,inspect(A){y=A},toggleObserver(A){A===void 0?d=!d:d=!!A,!b&&!d&&L()},update:$,presets:t.__unocss_runtime?.presets??{}};i.ready?.(I)!==!1&&(d=!1,L())}function ur(e=new Set){for(let t=0;t<document.styleSheets.length;t++){const n=document.styleSheets[t];let r;try{if(r=n.cssRules||n.rules,!r)continue;Array.from(r).flatMap(s=>s.selectorText?.split(/,/g)||[]).forEach(s=>{s&&(s=s.trim(),s.startsWith(".")&&(s=s.slice(1)),e.add(s))})}catch{continue}}return e}export{en as $,It as a,qe as b,pr as c,ut as d,gr as e,de as f,wr as g,me as h,hr as i,mr as j,yr as k,Et as p,Mt as w};
@@ -0,0 +1 @@
1
+ import{_ as w}from"./nnavbar.vue-ky8j5cdr.js";import{_ as D}from"./ncode-block.vue-bazndqbc.js";import{bl as B,bm as S,N as U,q as j,U as P,d as E}from"./d41h1x7t.js";import{R as i,U as c,V as a,l as I,c as f,w as R,m as d,a1 as l,a0 as u,F as _,ac as W,a6 as v,Z as q,N as z}from"./vendor/json-editor-vue-hrh84odz.js";import{_ as G}from"./help-fab.vue-dib0u490.js";import"./client-bvu6p7m4.js";import"./vendor/unocss-cbkcukyd.js";import"./vendor/shiki-gvafmef1.js";const H={class:"markdown-body"},L={__name:"virtual-files",setup(h,{expose:r}){return r({frontmatter:{}}),(p,o)=>(i(),c("div",H,o[0]||(o[0]=[a("h1",null,"Virtual Files",-1),a("p",null,"Virtual files are generated on the fly to support the conventions of the framework, and to provide a better developer experience.",-1)])))}},Z=["onClick"],A={key:0,"h-full":"","of-hidden":"",flex:"~ col"},J={border:"b base","flex-none":"",px4:"",py2:"","text-sm":"",op75:""},oe=I({__name:"virtual-files",setup(h){const r=f(""),n=B(),p=S(),o=f();R(()=>{if(!p.value)return;const e=`/_vfs.json/${encodeURIComponent(p.value)}`;fetch(e,{headers:{accept:"application/json"}}).then(t=>t.json()).then(t=>o.value=t.current)});function x(e){if(n.value?.rootDir)return e.startsWith(n.value?.rootDir)?e.slice(n.value.rootDir.length):e}const m=d(()=>n.value?n.value.entries.filter(e=>!e.id.startsWith(`${n.value?.rootDir||""}/.nuxt/`)).sort((e,t)=>e.id.localeCompare(t.id)):[]),b=d(()=>new U(m.value,{keys:["id","path"]})),k=d(()=>r.value?b.value.search(r.value).map(e=>e.item):m.value);return(e,t)=>{const y=w,g=D,C=P,N=E,F=j,$=L,V=G;return i(),c(_,null,[l(F,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:u(()=>[l(y,{search:r.value,"onUpdate:search":t[0]||(t[0]=s=>r.value=s),"no-padding":"",p3:""},null,8,["search"]),(i(!0),c(_,null,W(k.value,s=>(i(),c(_,{key:s.id},[a("button",{block:"","w-full":"","select-none":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:q(s.id===o.value?.id?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:K=>p.value=s.id},v(x(s.id)),11,Z),t[1]||(t[1]=a("div",{"x-divider":""},null,-1))],64))),128))]),right:u(()=>[o.value?.content?(i(),c("div",A,[a("div",J,[a("code",null,v(o.value.id),1)]),l(g,{"h-full":"","of-auto":"","text-sm":"",code:o.value.content,lang:"typescript"},null,8,["code"])])):(i(),z(N,{key:1},{default:u(()=>[l(C,{px6:"",py2:""},{default:u(()=>t[2]||(t[2]=[a("span",{op75:""},"Select a file to start",-1)])),_:1})]),_:1}))]),_:1}),l(V,null,{default:u(()=>[l($)]),_:1})],64)}}});export{oe as default};
@@ -1,2 +1,2 @@
1
- import{O as re,P as ne,n as Q,Q as $,M as L,N as oe,at as le,s as ae,R as ue,ae as ce,a8 as de,S as M,V as A,W,$ as K,F as fe,ab as he,a7 as q,a1 as me,au as pe,X as ye,Y,a0 as ve}from"./vendor/json-editor-vue-fw81xiot.js";function be(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var i=e.indexOf("Trident/");if(i>0){var s=e.indexOf("rv:");return parseInt(e.substring(s+3,e.indexOf(".",s)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}let R;function H(){H.init||(H.init=!0,R=be()!==-1)}var E={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){H(),Q(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",R&&this.$el.appendChild(e),e.data="about:blank",R||this.$el.appendChild(e)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!R&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const ge=oe();re("data-v-b329ee4c");const Se={class:"resize-observer",tabindex:"-1"};ne();const ze=ge((e,t,i,s,r,a)=>($(),L("div",Se)));E.render=ze;E.__scopeId="data-v-b329ee4c";E.__file="src/components/ResizeObserver.vue";function C(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(t){return typeof t}:C=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},C(e)}function _e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function we(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function Ie(e,t,i){return we(e.prototype,t),e}function X(e){return $e(e)||Te(e)||Oe(e)||Ve()}function $e(e){if(Array.isArray(e))return N(e)}function Te(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Oe(e,t){if(e){if(typeof e=="string")return N(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);if(i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set")return Array.from(e);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return N(e,t)}}function N(e,t){(t==null||t>e.length)&&(t=e.length);for(var i=0,s=new Array(t);i<t;i++)s[i]=e[i];return s}function Ve(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xe(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function ke(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s,r,a,u=function(n){for(var d=arguments.length,p=new Array(d>1?d-1:0),S=1;S<d;S++)p[S-1]=arguments[S];if(a=p,!(s&&n===r)){var w=i.leading;typeof w=="function"&&(w=w(n,r)),(!s||n!==r)&&w&&e.apply(void 0,[n].concat(X(a))),r=n,clearTimeout(s),s=setTimeout(function(){e.apply(void 0,[n].concat(X(a))),s=0},t)}};return u._clear=function(){clearTimeout(s),s=null},u}function J(e,t){if(e===t)return!0;if(C(e)==="object"){for(var i in e)if(!J(e[i],t[i]))return!1;return!0}return!1}var Me=function(){function e(t,i,s){_e(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(i,s)}return Ie(e,[{key:"createObserver",value:function(i,s){var r=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=xe(i),this.callback=function(c,n){r.options.callback(c,n),c&&r.options.once&&(r.frozen=!0,r.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},u=a.leading;this.callback=ke(this.callback,this.options.throttle,{leading:function(n){return u==="both"||u==="visible"&&n||u==="hidden"&&!n}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(c){var n=c[0];if(c.length>1){var d=c.find(function(S){return S.isIntersecting});d&&(n=d)}if(r.callback){var p=n.isIntersecting&&n.intersectionRatio>=r.threshold;if(p===r.oldResult)return;r.oldResult=p,r.callback(p,n)}},this.options.intersection),Q(function(){r.observer&&r.observer.observe(r.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Z(e,t,i){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new Me(e,s,i);e._vue_visibilityState=r}}function Ae(e,t,i){var s=t.value,r=t.oldValue;if(!J(s,r)){var a=e._vue_visibilityState;if(!s){ee(e);return}a?a.createObserver(s,i):Z(e,{value:s},i)}}function ee(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Re={beforeMount:Z,updated:Ae,unmounted:ee},Ce={itemsLimit:1e3},Ee=/(auto|scroll)/;function te(e,t){return e.parentNode===null?t:te(e.parentNode,t.concat([e]))}var P=function(t,i){return getComputedStyle(t,null).getPropertyValue(i)},Pe=function(t){return P(t,"overflow")+P(t,"overflow-y")+P(t,"overflow-x")},Le=function(t){return Ee.test(Pe(t))};function G(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=te(e.parentNode,[]),i=0;i<t.length;i+=1)if(Le(t[i]))return t[i];return document.scrollingElement||document.documentElement}}function j(e){"@babel/helpers - typeof";return j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j(e)}var He={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Ne(){return this.items.length&&j(this.items[0])!=="object"}var B=!1;if(typeof window<"u"){B=!1;try{var je=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",null,je)}catch{}}let Be=0;var ie={name:"RecycleScroller",components:{ResizeObserver:E},directives:{ObserveVisibility:Re},props:{...He,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},emits:["resize","visible","hidden","update","scroll-start","scroll-end"],data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,i=this.sizeField,s=this.minItemSize;let r=1e4,a=0,u;for(let c=0,n=t.length;c<n;c++)u=t[c][i]||s,u<r&&(r=u),a+=u,e[c]={accumulator:a,size:u};return this.$_computedMinItemSize=r,e}return[]},simpleArray:Ne,itemIndexByKey(){const{keyField:e,items:t}=this,i={};for(let s=0,r=t.length;s<r;s++)i[t[s][e]]=s;return i}},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,i,s,r){const a=le({id:Be++,index:t,used:!0,key:s,type:r}),u=ae({item:i,position:0,nr:a});return e.push(u),u},unuseView(e,t=!1){const i=this.$_unusedViews,s=e.nr.type;let r=i.get(s);r||(r=[],i.set(s,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:i}=this.updateVisibleItems(!1,!0);i||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const i=this.itemSize,s=this.gridItems||1,r=this.itemSecondarySize||i,a=this.$_computedMinItemSize,u=this.typeField,c=this.simpleArray?null:this.keyField,n=this.items,d=n.length,p=this.sizes,S=this.$_views,w=this.$_unusedViews,V=this.pool,se=this.itemIndexByKey;let y,f,T,g,z;if(!d)y=f=g=z=T=0;else if(this.$_prerender)y=g=0,f=z=Math.min(this.prerender,n.length),T=null;else{const o=this.getScroll();if(t){let m=o.start-this.$_lastUpdateScrollPosition;if(m<0&&(m=-m),i===null&&m<a||m<i)return{continuous:!0}}this.$_lastUpdateScrollPosition=o.start;const v=this.buffer;o.start-=v,o.end+=v;let h=0;if(this.$refs.before&&(h=this.$refs.before.scrollHeight,o.start-=h),this.$refs.after){const m=this.$refs.after.scrollHeight;o.end+=m}if(i===null){let m,O=0,F=d-1,b=~~(d/2),U;do U=b,m=p[b].accumulator,m<o.start?O=b:b<d-1&&p[b+1].accumulator>o.start&&(F=b),b=~~((O+F)/2);while(b!==U);for(b<0&&(b=0),y=b,T=p[d-1].accumulator,f=b;f<d&&p[f].accumulator<o.end;f++);for(f===-1?f=n.length-1:(f++,f>d&&(f=d)),g=y;g<d&&h+p[g].accumulator<o.start;g++);for(z=g;z<d&&h+p[z].accumulator<o.end;z++);}else{y=~~(o.start/i*s);const m=y%s;y-=m,f=Math.ceil(o.end/i*s),g=Math.max(0,Math.floor((o.start-h)/i*s)),z=Math.floor((o.end-h)/i*s),y<0&&(y=0),f>d&&(f=d),g<0&&(g=0),z>d&&(z=d),T=Math.ceil(d/s)*i}}f-y>Ce.itemsLimit&&this.itemsLimitError(),this.totalSize=T;let l;const x=y<=this.$_endIndex&&f>=this.$_startIndex;if(x)for(let o=0,v=V.length;o<v;o++)l=V[o],l.nr.used&&(e&&(l.nr.index=se[l.item[c]]),(l.nr.index==null||l.nr.index<y||l.nr.index>=f)&&this.unuseView(l));const D=x?null:new Map;let I,_,k;for(let o=y;o<f;o++){I=n[o];const v=c?I[c]:I;if(v==null)throw new Error(`Key is ${v} on item (keyField is '${c}')`);if(l=S.get(v),!i&&!p[o].size){l&&this.unuseView(l);continue}_=I[u];let h=w.get(_),m=!1;if(!l)x?h&&h.length?l=h.pop():l=this.addView(V,o,I,v,_):(k=D.get(_)||0,(!h||k>=h.length)&&(l=this.addView(V,o,I,v,_),this.unuseView(l,!0),h=w.get(_)),l=h[k],D.set(_,k+1)),S.delete(l.nr.key),l.nr.used=!0,l.nr.index=o,l.nr.key=v,l.nr.type=_,S.set(v,l),m=!0;else if(!l.nr.used&&(l.nr.used=!0,m=!0,h)){const O=h.indexOf(l);O!==-1&&h.splice(O,1)}l.item=I,m&&(o===n.length-1&&this.$emit("scroll-end"),o===0&&this.$emit("scroll-start")),i===null?(l.position=p[o-1].accumulator,l.offset=0):(l.position=Math.floor(o/s)*i,l.offset=o%s*r)}return this.$_startIndex=y,this.$_endIndex=f,this.emitUpdate&&this.$emit("update",y,f,g,z),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:x}},getListenerTarget(){let e=G(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,i=t==="vertical";let s;if(this.pageMode){const r=e.getBoundingClientRect(),a=i?r.height:r.width;let u=-(i?r.top:r.left),c=i?window.innerHeight:window.innerWidth;u<0&&(c+=u,u=0),u+c>a&&(c=a-u),s={start:u,end:u+c}}else i?s={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:s={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return s},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,B?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;const i=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/i)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,s,r;if(this.pageMode){const a=G(this.$el),u=a.tagName==="HTML"?0:a[t.scroll],c=a.getBoundingClientRect(),d=this.$el.getBoundingClientRect()[t.start]-c[t.start];i=a,s=t.scroll,r=e+u+d}else i=this.$el,s=t.scroll,r=e;i[s]=r},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};const De={key:0,ref:"before",class:"vue-recycle-scroller__slot"},Fe={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Ue(e,t,i,s,r,a){const u=ue("ResizeObserver"),c=ce("observe-visibility");return de(($(),M("div",{class:Y(["vue-recycle-scroller",{ready:r.ready,"page-mode":i.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...n)=>a.handleScroll&&a.handleScroll(...n))},[e.$slots.before?($(),M("div",De,[A(e.$slots,"before")],512)):W("v-if",!0),($(),L(q(i.listTag),{ref:"wrapper",style:ye({[e.direction==="vertical"?"minHeight":"minWidth"]:r.totalSize+"px"}),class:Y(["vue-recycle-scroller__item-wrapper",i.listClass])},{default:K(()=>[($(!0),M(fe,null,he(r.pool,n=>($(),L(q(i.itemTag),me({key:n.nr.id,style:r.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${n.position}px) translate${e.direction==="vertical"?"X":"Y"}(${n.offset}px)`,width:i.gridItems?`${e.direction==="vertical"&&i.itemSecondarySize||i.itemSize}px`:void 0,height:i.gridItems?`${e.direction==="horizontal"&&i.itemSecondarySize||i.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[i.itemClass,{hover:!i.skipHover&&r.hoverKey===n.nr.key}]]},pe(i.skipHover?{}:{mouseenter:()=>{r.hoverKey=n.nr.key},mouseleave:()=>{r.hoverKey=null}})),{default:K(()=>[A(e.$slots,"default",{item:n.item,index:n.nr.index,active:n.nr.used})]),_:2},1040,["style","class"]))),128)),A(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?($(),M("div",Fe,[A(e.$slots,"after")],512)):W("v-if",!0),ve(u,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[c,a.handleVisibilityChange]])}ie.render=Ue;ie.__file="src/components/RecycleScroller.vue";export{ie as s};
1
+ import{P as re,Q as ne,n as Q,R as $,N as L,O as oe,at as le,s as ae,S as ue,ae as ce,a9 as de,U as M,W as A,X as W,a0 as K,F as fe,ac as he,a8 as q,a2 as me,au as pe,Y as ye,Z as Y,a1 as ve}from"./vendor/json-editor-vue-hrh84odz.js";function be(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var i=e.indexOf("Trident/");if(i>0){var s=e.indexOf("rv:");return parseInt(e.substring(s+3,e.indexOf(".",s)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}let R;function H(){H.init||(H.init=!0,R=be()!==-1)}var E={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){H(),Q(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",R&&this.$el.appendChild(e),e.data="about:blank",R||this.$el.appendChild(e)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!R&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const ge=oe();re("data-v-b329ee4c");const Se={class:"resize-observer",tabindex:"-1"};ne();const ze=ge((e,t,i,s,r,a)=>($(),L("div",Se)));E.render=ze;E.__scopeId="data-v-b329ee4c";E.__file="src/components/ResizeObserver.vue";function C(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(t){return typeof t}:C=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},C(e)}function _e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function we(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function Ie(e,t,i){return we(e.prototype,t),e}function X(e){return $e(e)||Te(e)||Oe(e)||Ve()}function $e(e){if(Array.isArray(e))return N(e)}function Te(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Oe(e,t){if(e){if(typeof e=="string")return N(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);if(i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set")return Array.from(e);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return N(e,t)}}function N(e,t){(t==null||t>e.length)&&(t=e.length);for(var i=0,s=new Array(t);i<t;i++)s[i]=e[i];return s}function Ve(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xe(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function ke(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s,r,a,u=function(n){for(var d=arguments.length,p=new Array(d>1?d-1:0),S=1;S<d;S++)p[S-1]=arguments[S];if(a=p,!(s&&n===r)){var w=i.leading;typeof w=="function"&&(w=w(n,r)),(!s||n!==r)&&w&&e.apply(void 0,[n].concat(X(a))),r=n,clearTimeout(s),s=setTimeout(function(){e.apply(void 0,[n].concat(X(a))),s=0},t)}};return u._clear=function(){clearTimeout(s),s=null},u}function Z(e,t){if(e===t)return!0;if(C(e)==="object"){for(var i in e)if(!Z(e[i],t[i]))return!1;return!0}return!1}var Me=function(){function e(t,i,s){_e(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(i,s)}return Ie(e,[{key:"createObserver",value:function(i,s){var r=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=xe(i),this.callback=function(c,n){r.options.callback(c,n),c&&r.options.once&&(r.frozen=!0,r.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},u=a.leading;this.callback=ke(this.callback,this.options.throttle,{leading:function(n){return u==="both"||u==="visible"&&n||u==="hidden"&&!n}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(c){var n=c[0];if(c.length>1){var d=c.find(function(S){return S.isIntersecting});d&&(n=d)}if(r.callback){var p=n.isIntersecting&&n.intersectionRatio>=r.threshold;if(p===r.oldResult)return;r.oldResult=p,r.callback(p,n)}},this.options.intersection),Q(function(){r.observer&&r.observer.observe(r.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function J(e,t,i){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new Me(e,s,i);e._vue_visibilityState=r}}function Ae(e,t,i){var s=t.value,r=t.oldValue;if(!Z(s,r)){var a=e._vue_visibilityState;if(!s){ee(e);return}a?a.createObserver(s,i):J(e,{value:s},i)}}function ee(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Re={beforeMount:J,updated:Ae,unmounted:ee},Ce={itemsLimit:1e3},Ee=/(auto|scroll)/;function te(e,t){return e.parentNode===null?t:te(e.parentNode,t.concat([e]))}var P=function(t,i){return getComputedStyle(t,null).getPropertyValue(i)},Pe=function(t){return P(t,"overflow")+P(t,"overflow-y")+P(t,"overflow-x")},Le=function(t){return Ee.test(Pe(t))};function G(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=te(e.parentNode,[]),i=0;i<t.length;i+=1)if(Le(t[i]))return t[i];return document.scrollingElement||document.documentElement}}function j(e){"@babel/helpers - typeof";return j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j(e)}var He={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Ne(){return this.items.length&&j(this.items[0])!=="object"}var B=!1;if(typeof window<"u"){B=!1;try{var je=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",null,je)}catch{}}let Be=0;var ie={name:"RecycleScroller",components:{ResizeObserver:E},directives:{ObserveVisibility:Re},props:{...He,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},emits:["resize","visible","hidden","update","scroll-start","scroll-end"],data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,i=this.sizeField,s=this.minItemSize;let r=1e4,a=0,u;for(let c=0,n=t.length;c<n;c++)u=t[c][i]||s,u<r&&(r=u),a+=u,e[c]={accumulator:a,size:u};return this.$_computedMinItemSize=r,e}return[]},simpleArray:Ne,itemIndexByKey(){const{keyField:e,items:t}=this,i={};for(let s=0,r=t.length;s<r;s++)i[t[s][e]]=s;return i}},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,i,s,r){const a=le({id:Be++,index:t,used:!0,key:s,type:r}),u=ae({item:i,position:0,nr:a});return e.push(u),u},unuseView(e,t=!1){const i=this.$_unusedViews,s=e.nr.type;let r=i.get(s);r||(r=[],i.set(s,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:i}=this.updateVisibleItems(!1,!0);i||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const i=this.itemSize,s=this.gridItems||1,r=this.itemSecondarySize||i,a=this.$_computedMinItemSize,u=this.typeField,c=this.simpleArray?null:this.keyField,n=this.items,d=n.length,p=this.sizes,S=this.$_views,w=this.$_unusedViews,V=this.pool,se=this.itemIndexByKey;let y,f,T,g,z;if(!d)y=f=g=z=T=0;else if(this.$_prerender)y=g=0,f=z=Math.min(this.prerender,n.length),T=null;else{const o=this.getScroll();if(t){let m=o.start-this.$_lastUpdateScrollPosition;if(m<0&&(m=-m),i===null&&m<a||m<i)return{continuous:!0}}this.$_lastUpdateScrollPosition=o.start;const v=this.buffer;o.start-=v,o.end+=v;let h=0;if(this.$refs.before&&(h=this.$refs.before.scrollHeight,o.start-=h),this.$refs.after){const m=this.$refs.after.scrollHeight;o.end+=m}if(i===null){let m,O=0,F=d-1,b=~~(d/2),U;do U=b,m=p[b].accumulator,m<o.start?O=b:b<d-1&&p[b+1].accumulator>o.start&&(F=b),b=~~((O+F)/2);while(b!==U);for(b<0&&(b=0),y=b,T=p[d-1].accumulator,f=b;f<d&&p[f].accumulator<o.end;f++);for(f===-1?f=n.length-1:(f++,f>d&&(f=d)),g=y;g<d&&h+p[g].accumulator<o.start;g++);for(z=g;z<d&&h+p[z].accumulator<o.end;z++);}else{y=~~(o.start/i*s);const m=y%s;y-=m,f=Math.ceil(o.end/i*s),g=Math.max(0,Math.floor((o.start-h)/i*s)),z=Math.floor((o.end-h)/i*s),y<0&&(y=0),f>d&&(f=d),g<0&&(g=0),z>d&&(z=d),T=Math.ceil(d/s)*i}}f-y>Ce.itemsLimit&&this.itemsLimitError(),this.totalSize=T;let l;const x=y<=this.$_endIndex&&f>=this.$_startIndex;if(x)for(let o=0,v=V.length;o<v;o++)l=V[o],l.nr.used&&(e&&(l.nr.index=se[l.item[c]]),(l.nr.index==null||l.nr.index<y||l.nr.index>=f)&&this.unuseView(l));const D=x?null:new Map;let I,_,k;for(let o=y;o<f;o++){I=n[o];const v=c?I[c]:I;if(v==null)throw new Error(`Key is ${v} on item (keyField is '${c}')`);if(l=S.get(v),!i&&!p[o].size){l&&this.unuseView(l);continue}_=I[u];let h=w.get(_),m=!1;if(!l)x?h&&h.length?l=h.pop():l=this.addView(V,o,I,v,_):(k=D.get(_)||0,(!h||k>=h.length)&&(l=this.addView(V,o,I,v,_),this.unuseView(l,!0),h=w.get(_)),l=h[k],D.set(_,k+1)),S.delete(l.nr.key),l.nr.used=!0,l.nr.index=o,l.nr.key=v,l.nr.type=_,S.set(v,l),m=!0;else if(!l.nr.used&&(l.nr.used=!0,m=!0,h)){const O=h.indexOf(l);O!==-1&&h.splice(O,1)}l.item=I,m&&(o===n.length-1&&this.$emit("scroll-end"),o===0&&this.$emit("scroll-start")),i===null?(l.position=p[o-1].accumulator,l.offset=0):(l.position=Math.floor(o/s)*i,l.offset=o%s*r)}return this.$_startIndex=y,this.$_endIndex=f,this.emitUpdate&&this.$emit("update",y,f,g,z),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:x}},getListenerTarget(){let e=G(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,i=t==="vertical";let s;if(this.pageMode){const r=e.getBoundingClientRect(),a=i?r.height:r.width;let u=-(i?r.top:r.left),c=i?window.innerHeight:window.innerWidth;u<0&&(c+=u,u=0),u+c>a&&(c=a-u),s={start:u,end:u+c}}else i?s={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:s={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return s},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,B?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;const i=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/i)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,s,r;if(this.pageMode){const a=G(this.$el),u=a.tagName==="HTML"?0:a[t.scroll],c=a.getBoundingClientRect(),d=this.$el.getBoundingClientRect()[t.start]-c[t.start];i=a,s=t.scroll,r=e+u+d}else i=this.$el,s=t.scroll,r=e;i[s]=r},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};const De={key:0,ref:"before",class:"vue-recycle-scroller__slot"},Fe={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Ue(e,t,i,s,r,a){const u=ue("ResizeObserver"),c=ce("observe-visibility");return de(($(),M("div",{class:Y(["vue-recycle-scroller",{ready:r.ready,"page-mode":i.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...n)=>a.handleScroll&&a.handleScroll(...n))},[e.$slots.before?($(),M("div",De,[A(e.$slots,"before")],512)):W("v-if",!0),($(),L(q(i.listTag),{ref:"wrapper",style:ye({[e.direction==="vertical"?"minHeight":"minWidth"]:r.totalSize+"px"}),class:Y(["vue-recycle-scroller__item-wrapper",i.listClass])},{default:K(()=>[($(!0),M(fe,null,he(r.pool,n=>($(),L(q(i.itemTag),me({key:n.nr.id,style:r.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${n.position}px) translate${e.direction==="vertical"?"X":"Y"}(${n.offset}px)`,width:i.gridItems?`${e.direction==="vertical"&&i.itemSecondarySize||i.itemSize}px`:void 0,height:i.gridItems?`${e.direction==="horizontal"&&i.itemSecondarySize||i.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[i.itemClass,{hover:!i.skipHover&&r.hoverKey===n.nr.key}]]},pe(i.skipHover?{}:{mouseenter:()=>{r.hoverKey=n.nr.key},mouseleave:()=>{r.hoverKey=null}})),{default:K(()=>[A(e.$slots,"default",{item:n.item,index:n.nr.index,active:n.nr.used})]),_:2},1040,["style","class"]))),128)),A(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?($(),M("div",Fe,[A(e.$slots,"after")],512)):W("v-if",!0),ve(u,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[c,a.handleVisibilityChange]])}ie.render=Ue;ie.__file="src/components/RecycleScroller.vue";export{ie as s};
@@ -606,6 +606,6 @@ Tooltip options:
606
606
  .[name ~= #.filter]
607
607
  .sort(name asc)
608
608
  .({ ..., disabled: no options.usage })
609
- `}}]}],content:{view:"block",className:"content",data:"$[=> name=(#.view.name or #.id)]",content:{view:"switch",content:[{when:"no $ and #.id",content:'alert-warning:"View \\"" + #.id + "\\" not found"'},{when:"no $",content:['h1:"Views showcase"','alert:"\u2190 Select a view to get details"',{view:"markdown",source:Vx}]},{content:[{view:"context",postRender(e,i,o,l){n.overridePageHashStateWithAnchor({ref:o.name,anchor:n.pageRef===o.name?n.pageAnchor:null}),n.cancelScheduledRender(),l.id=n.pageRef}},il(n)]}]}}},{sidebar:!1})}var Kx=z(()=>{rd();Yx()});var ol={};Fe(ol,{default:()=>Ex,discovery:()=>Ux,notFound:()=>Lx,viewsShowcase:()=>Qx});var id=z(()=>{Mx();Tx();Gx();Kx()});function od(n,e,i){i?n.dataset[e]=i:delete n.dataset[e]}function _T(n,e,i,o){let l=n.page.get(e)?.options;return l!==void 0&&Ae(l,i)?l[i]:o}function Jx(n,e,i,o){let l=_T(n,e,i,o);return typeof l=="function"?l:o}var RT,Zx,HT,qT,ds,sd=z(()=>{Oe();ea();Wo();st();Wc();er();yi();Gc();iy();Jc();oy();of();Jf();id();Ho();RT=["nav","sidebar","page"],Zx=()=>{},HT=n=>n,qT=n=>Object.fromEntries(n);ds=class extends $o{compact;colorScheme;inspectMode;view;nav;preset;page;#e;#t;defaultPageId;discoveryPageId;reportToDiscoveryRedirect;pageId;pageRef;pageParams;pageAnchor;pageHash;dom;queryExtensions;constructor(e){let{container:i,styles:o,extensions:l,logLevel:c,compact:f,darkmode:d="light-only",darkmodePersistent:g=!1,colorScheme:m=d,colorSchemePersistent:y=g,defaultPage:k,defaultPageId:C,discoveryPageId:M,reportToDiscoveryRedirect:E=!0,inspector:F=!1}=e||{};super({...e,logLevel:c||"perf",extensions:void 0}),("darkmode"in e||"darkmodePersistent"in e)&&this.logger.warn('ViewModel "darkmode" option is deprecated, use "colorScheme" instead'),this.compact=!!f,this.colorScheme=new Zs(m,y),this.inspectMode=new Et(!1),this.initDom(o),this.view=new Ia(this),this.nav=new Oa(this),this.preset=new Pa(this.view),this.page=new Ba(this,this.view),this.#e=new Set,this.#t=16,this.defaultPageId=C||"default",this.discoveryPageId=M||"discovery",this.reportToDiscoveryRedirect=!!E,this.pageId=this.defaultPageId,this.pageRef=null,this.pageParams={},this.pageAnchor=null,this.pageHash=this.encodePageHash(this.pageId,this.pageRef,this.pageParams,this.pageAnchor),this.apply(Xa),this.apply(ol),k&&this.page.define(this.defaultPageId,k),F&&this.apply(rf),this.apply(l),this.setPageHash(this.pageHash),this.setContainer(i),this.scheduleRender();for(let{name:N,page:A}of this.objectMarkers.values)A&&!this.page.isDefined(A)&&this.logger.error(`Page reference "${A}" in object marker "${N}" doesn't exist`)}initRenderTriggers(){this.on("context",()=>this.scheduleRender()),this.on("unloadData",()=>this.scheduleRender()),this.on("pageStateChange",()=>this.scheduleRender()),this.on("pageAnchorChange",()=>this.applyPageAnchor()),this.action.on("define",()=>this.scheduleRender()).on("revoke",()=>this.scheduleRender()),this.page.on("define",e=>{this.pageId===e&&(this.setPageHash(this.pageHash),this.scheduleRender("page"))})}async setData(e,i){let{render:o=!0}=i||{};await super.setData(e,i),o&&this.scheduleRender()}async setDataProgress(e,i,o){let{dataset:l,progressbar:c}=o||{};this.cancelScheduledRender(),this.emit("startSetData",(...f)=>c?.subscribeSync(...f)||(()=>{})),await c?.setState({stage:"prepare"}),await this.setData(e,{dataset:l,setPrepareWorkTitle:c?.setStateStep.bind(c),render:!1}),await c?.setState({stage:"initui"}),this.scheduleRender(),await Promise.all([this.dom.wrapper.parentNode?this.dom.ready:!0,this.enforceScheduledRenders()]),c?.finish()}queryToConfig(e,i){let{ast:o}=Xt.syntax.parse(i),l={view:e};if(o.type!=="Block")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): query root must be a "Block"');if(o.body.type!=="Object")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): query root must return an "Object"');for(let c of o.body.properties){if(c.type!=="ObjectEntry")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): unsupported object entry type "'+c.type+'"');let f,d=c.value;switch(c.key.type){case"Literal":f=c.key.value;break;case"Identifier":f=c.key.name,d||=c.key;break;case"Reference":f=c.key.name.name,d||=c.key;break;default:throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): unsupported object key type "'+c.key.type+'"')}if(f==="view"||f==="postRender")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): set a value for "'+f+'" property in shorthand notation is prohibited');f==="when"||f==="data"||f==="whenData"?l[f]=d.type==="Literal"&&typeof d.value!="string"?d.value:Xt.syntax.stringify(d):l[f]=d.type==="Literal"&&(typeof d.value!="string"||d.value[0]!=="=")?d.value:"="+Xt.syntax.stringify(d)}return l}initDom(e){let i=$("div","discovery"),o=i.attachShadow({mode:"open"}),l=o.appendChild($("div")),c=$("article"),f=$("div","discovery-nav discovery-hidden-in-dzen"),d=$("nav","discovery-sidebar discovery-hidden-in-dzen"),g=$("main","discovery-content",[c]),m=ko(o,this.info.icon?e?.concat(`.discovery-root{--discovery-app-icon:url(${JSON.stringify(this.info.icon)}`):e);this.dom={ready:m,wrapper:i,root:o,container:l,nav:f,sidebar:d,content:g,pageContent:c,detachColorScheme:this.colorScheme.subscribe(y=>l.classList.toggle("discovery-root-darkmode",y==="dark"),!0)},l.classList.add("discovery-root","discovery"),l.append(f,d,g),o.addEventListener("click",y=>{let k=y.target?.closest("a");!k||k.getAttribute("target")||k.origin!==location.origin||k.pathname!==location.pathname||(y.preventDefault(),y.stopPropagation(),k.classList.contains("ignore-href")||this.setPageHash(k.hash)||this.applyPageAnchor())},!0)}setContainer(e){e instanceof HTMLElement?e.append(this.dom.wrapper):this.dom.wrapper.remove()}disposeDom(){typeof this.dom.detachColorScheme=="function"&&(this.dom.detachColorScheme(),this.dom.detachColorScheme=null),this.dom.container.remove(),this.dom=null}addGlobalEventListener(e,i,o){return document.addEventListener(e,i,o),()=>document.removeEventListener(e,i,o)}addHostElEventListener(e,i,o){let l=this.dom.container;return l.addEventListener(e,i,o),()=>l.removeEventListener(e,i,o)}scheduleRender(e){let i=e?[e]:RT;for(let o of i)this.#e.add(o);this.#e.timer&&clearTimeout(this.#e.timer),this.#e.timer=setTimeout(()=>this.enforceScheduledRenders(),this.#t),this.logger.debug(`Scheduled renders: ${[...this.#e].join(", ")} (requested: ${e||"all"})`)}async enforceScheduledRenders(){let e=[...this.#e];this.logger.debug(`Enforce scheduled renders: ${e.join(", ")||"none"}`),this.cancelScheduledRender();for(let i of e)switch(i){case"nav":await this.renderNav();break;case"sidebar":await this.renderSidebar();break;case"page":await this.renderPage();break}this.initRenderTriggers!==Zx&&(this.initRenderTriggers(),this.initRenderTriggers=Zx,this.#t=0)}cancelScheduledRender(e){let i=[...this.#e];e?this.#e.delete(e):this.#e.clear(),this.#e.size===0&&this.#e.timer&&(clearTimeout(this.#e.timer),this.#e.timer=null),this.#e.size!==i.length&&this.logger.debug(`Canceled renders: ${i.join(", ")}`)}getRenderContext(){return{page:this.pageId,id:this.pageRef,params:this.pageParams,model:this.info,actions:this.action.actionMap,datasets:this.datasets,data:this.data,...this.context}}renderNav(){return this.cancelScheduledRender("nav"),this.nav.render(this.dom.nav,this.data,this.getRenderContext())}renderSidebar(){if(this.cancelScheduledRender("sidebar"),this.hasDatasets()&&this.view.isDefined("sidebar")){let e=Date.now(),i=this.data,o=this.getRenderContext();return this.view.setViewRoot(this.dom.sidebar,"sidebar",{data:i,context:o}),this.dom.sidebar.innerHTML="",this.view.render(this.dom.sidebar,"sidebar",i,o).finally(()=>this.logger.perf(`Sidebar rendered in ${Date.now()-e}ms`))}}encodePageHash(e,i=null,o,l=null){let c=e||this.defaultPageId,d=Jx(this,e,"encodeParams",HT)(o||{});return super.encodePageHash(c!==this.defaultPageId?c:"",i,d,l)}decodePageHash(e){let{pageId:i,pageRef:o,pageParams:l,pageAnchor:c}=super.decodePageHash(e,f=>Jx(this,f||this.defaultPageId,"decodeParams",qT));return{pageId:i||this.defaultPageId,pageRef:o,pageParams:l,pageAnchor:c}}setPageHashState(e={},i=!1){return this.setPageHashStateWithAnchor({...e,anchor:null},i)}overridePageHashState(e,i=!1){return this.setPageHashState({...this.getPageHashState(),...e},i)}getPageHashState(){return{id:this.pageId,ref:this.pageRef,params:this.pageParams}}setPageHashStateWithAnchor(e,i=!1){let{id:o=null,ref:l=null,params:c={},anchor:f=null}=e;return this.setPageHash(this.encodePageHash(o||this.defaultPageId,l,c,f),i)}overridePageHashStateWithAnchor(e,i=!1){return this.setPageHashStateWithAnchor({...this.getPageHashStateWithAnchor(),...e},i)}getPageHashStateWithAnchor(){return{...this.getPageHashState(),anchor:this.pageAnchor}}setPage(e,i,o,l=!1){return this.setPageHashState({id:e,ref:i,params:o},l)}setPageRef(e=null,i=!1){return this.overridePageHashStateWithAnchor({ref:e},i)}setPageParams(e,i=!1){return this.overridePageHashStateWithAnchor({params:e},i)}setPageAnchor(e,i=!1){return this.overridePageHashStateWithAnchor({anchor:e},i)}setPageHash(e,i=!1){e.startsWith("#")||(e="#"+e),e.startsWith("#!")&&(e=this.stripAnchorFromHash(this.pageHash)+(e.length>2?"&!anchor="+e.slice(2):""));let{pageId:o,pageRef:l,pageParams:c,pageAnchor:f}=this.decodePageHash(e);if(this.reportToDiscoveryRedirect&&o==="report"&&this.discoveryPageId!=="report"&&setTimeout(()=>this.pageId==="report"&&this.setPageHashStateWithAnchor({id:this.discoveryPageId,ref:l,params:c,anchor:f},!0)),this.pageId!==o||this.pageRef!==l||!Ta(this.pageParams,c)){let d=this.getPageHashState();this.pageId=o,this.pageRef=l,this.pageParams=c,this.emit("pageStateChange",d)}if(f!==this.pageAnchor){let d=this.pageAnchor;this.pageAnchor=f,this.emit("pageAnchorChange",d)}return e!==this.pageHash?(this.pageHash=e,this.emit("pageHashChange",i),!0):!1}applyPageAnchor(e=!1){let i=this.dom.pageContent;if(this.pageAnchor){let o=i.querySelector("#"+CSS.escape("!anchor:"+this.pageAnchor));if(o){let l=i.querySelector(".view-page-header");o.style.scrollMargin=l?l.offsetHeight+"px":"",o.scrollIntoView(!0)}}else e||(this.dom.content.scrollTop=0)}renderPage(){this.cancelScheduledRender("page");let{data:e,pageId:i,pageParams:o,compact:l}=this,c=this.getRenderContext();this.logger.debug(`Start page "${i}" rendering...`);let f=Date.now(),{pageEl:d,renderState:g,config:m}=this.page.render(this.dom.pageContent,i,e,c);return this.view.setViewRoot(d,`Page: ${i}`,{inspectable:!1,config:m,data:e,context:c}),this.dom.pageContent=d,od(this.dom.container,"page",i),od(this.dom.container,"dzen",!!o.dzen),od(this.dom.container,"compact",!!l),g.then(async()=>{await this.dom.ready,this.applyPageAnchor(!0)}).catch(y=>{this.logger.error(`Page "${i}" render error:`,y)}),g.finally(()=>{this.logger.perf(`Page "${i}" render done in ${Date.now()-f}ms`)})}}});var Xx,ek=z(()=>{Xx=n=>{let e="";n.nav.remove("index-page"),n.nav.remove("discovery-page"),n.on("data",()=>{n.defaultPageId!==n.discoveryPageId&&(e=n.defaultPageId,n.defaultPageId=n.discoveryPageId,n.setPageHash(n.pageHash,!0),n.cancelScheduledRender())}),n.on("unloadData",()=>{e!==n.defaultPageId&&(n.defaultPageId=e,n.setPageHash(n.pageHash,!0))})}});function nk(n){return n={accept:"application/json,application/jsonxl,.json,.jsonxl",dragdrop:!0,clipboard:!1,...n},function(e){let i=!!n.dragdrop,o=!!n.clipboard,l=String(n.accept),c=l.split(",");i&&(e.dom.container.addEventListener("drop",f=>{e.loadDataFromEvent(f)},!0),e.dom.container.addEventListener("dragover",f=>{f.stopPropagation(),f.preventDefault()},!0),document.addEventListener("paste",f=>{let{files:d}=f.clipboardData||{files:[]};d?.length>0&&e.loadDataFromEvent(f)})),e.preset.define("upload",[{view:"button-primary",text:'=`Open file${#.actions.uploadFile.fileExtensions |? " (" + join(", ") + ")" : "" | size() > 1 and size() <= 17 ?: "\u2026"}`',onClick:"=#.actions.uploadFile"},{view:"context",when:"#.actions.uploadDataFromClipboard",content:['html:"<span style=\\"color: #888; padding: 0 1ex\\"> or </span>"',{view:"button",text:"Paste from clipboard",onClick:"=#.actions.uploadDataFromClipboard"}]},{view:"context",when:"#.actions.uploadFile.dragdrop",content:['html:"<span style=\\"color: #888; padding: 0 1ex\\"> or </span>"','text:"drop a file on the page"']}]),e.action.define("unloadData",()=>{e.unloadData()}),e.action.define("uploadFile",Object.assign(()=>{$("input",{type:"file",accept:l,onchange:f=>e.loadDataFromEvent(f)}).click()},{fileExtensions:c.filter(f=>tk(f)),mimeTypes:c.filter(f=>!tk(f)),dragdrop:i,clipboard:o})),o&&e.action.define("uploadDataFromClipboard",async()=>{let f=await navigator.clipboard.readText();e.loadDataFromStream(new Blob([f]).stream())})}}var sl,tk,ad=z(()=>{Oe();sl=Object.assign(nk(),{setup:nk}),tk=n=>/^\./.test(n)});function ld(n,e,i){let o=Array.isArray(i)?i:[];return JSON.parse(JSON.stringify(n),(l,c)=>typeof c=="string"&&o.includes(c)?()=>e("navMethod",c):c)}function ok(n){let e=n?.hostId||gi(),i=n?.postponeMessages,o=typeof n?.onNotify=="function"?n.onNotify:()=>{};return function(l){let c=null,f=rk,d=E=>{c?.finish(),c=null,E&&l.logger.debug("Cancel chunked data load from host with error:",E)},g=window.parent,m=new Map,y=(E,F)=>{let N={from:"discoveryjs-app",id:e,type:E,payload:F};g.postMessage(N,"*")},k=E=>{f=()=>{E!==null&&(f=rk,E())}},C=E=>{l.trackLoadDataProgress(E).catch(()=>{})},M=({data:E})=>{let{id:F,type:N,payload:A}=E||{};if(F===e)switch(N){case"notification":{let{name:b,details:L}=A;o(b,L);break}case"defineAction":{let b=A;l.action.define(b,(...L)=>new Promise((T,I)=>{let B=gi();m.set(B,{resolve:T,reject:I}),setTimeout(()=>{m.delete(B),I(new Error("Timeout"))},3e4),y("action",{callId:B,name:b,args:L})}));break}case"actionResult":{let{callId:b}=A;if(!m.has(b)){l.logger.error(`[Discovery.js] Unknown action call id "${b}"`);break}let{resolve:L,reject:T}=m.get(b);"error"in A?T(A.error):L(A.value);break}case"setPageHash":{let{replace:b,hash:L}=A||{};l.setPageHash(L||"",b||!1);break}case"setPageHashState":{let{replace:b,id:L,ref:T,params:I}=A||{};l.setPageHashState({id:L,ref:T,params:I},b);break}case"setPageHashStateWithAnchor":{let{replace:b,id:L,ref:T,params:I,anchor:B}=A||{};l.setPageHashStateWithAnchor({id:L,ref:T,params:I,anchor:B},b);break}case"setPage":{let{replace:b,id:L,ref:T,params:I}=A||{};l.setPage(L,T,I,b);break}case"setPageRef":{let{replace:b,ref:L}=A||{};l.setPageRef(L,b);break}case"setPageParams":{let{replace:b,params:L}=A||{};l.setPageParams(L,b);break}case"setPageAnchor":{let{replace:b,anchor:L}=A||{};l.setPageAnchor(L,b);break}case"setColorSchemeState":{let b=A;if(!Js.includes(b)){l.logger.warn(`Wrong value for colorScheme "${b}", supported values: ${Js.map(L=>JSON.stringify(L)).join(", ")}`);break}l.colorScheme.set(b);break}case"setRouterPreventLocationUpdate":{l.action.call("setPreventLocationUpdate",!!A);break}case"changeNavButtons":{let{section:b="primary",action:L="unknown"}=A;if(!ik.includes(b)){l.logger.warn(`Wrong value for nav button place "${b}", supported values: ${ik.map(T=>JSON.stringify(T)).join(", ")}`);break}switch(A.action){case"insert":{let{name:T,position:I,config:B,commands:R}=A;l.nav[b].insert(ld(B,y,R),I,T);break}case"prepend":case"append":{let{config:T,commands:I}=A;l.nav[b][A.action](ld(T,y,I));break}case"before":case"after":case"replace":{let{name:T,config:I,commands:B}=A;l.nav[b][A.action](T,ld(I,y,B));break}case"remove":{let{name:T}=A;l.nav[b].remove(T);break}default:l.logger.warn(`Wrong value for nav button action "${L}", supported values: ${WT.map(T=>JSON.stringify(T)).join(", ")}`)}break}case"unloadData":{d(),l.unloadData();break}case"dataStream":{let{stream:b,resource:L}=A;d(),C(Lo(b,{resource:L}));break}case"startChunkedDataUpload":{let{acceptToken:b,resource:L}=A;d(),c=Object.assign(Su({resource:L}),{acceptToken:b}),C(c);break}case"cancelChunkedDataUpload":{let{acceptToken:b,error:L}=A;c?.acceptToken===b&&d(L)}case"dataChunk":{let{acceptToken:b}=A;if(c===null){l.logger.warn("Loading data is not inited");break}if(c.acceptToken!==b){l.logger.warn("Bad accept token");break}"value"in A&&A.value!==void 0&&c.push(A.value),"done"in A&&A.done&&d();break}default:l.logger.warn(`Got a post-message addressed to discovery app but with unknown "${N}" type`)}};g!==window&&(l.on("pageHashChange",E=>{y("pageHashChanged",{replace:E,hash:l.pageHash||"#",id:l.pageId,ref:l.pageRef,params:l.pageParams,anchor:l.pageAnchor})}),l.on("startLoadData",E=>{f(),k(E(F=>y("loadingState",F)))}),l.on("startSetData",E=>{f(),k(E(F=>y("loadingState",F)))}),l.on("data",()=>{y("data",null)}),l.on("unloadData",()=>{f(),y("unloadData",null)}),l.colorScheme.subscribe((E,F)=>y("colorSchemeChanged",{state:F,value:mi(F)})),Array.isArray(i)&&Promise.resolve().then(()=>{for(let E of i)M({data:E})}),addEventListener("message",M,!1),addEventListener("unload",()=>y("destroy",null),!1),y("ready",{page:{hash:l.pageHash||"#",id:l.pageId,ref:l.pageRef,params:l.pageParams,anchor:l.pageAnchor},colorScheme:{state:l.colorScheme.state,value:l.colorScheme.serializedValue}}))}}var Hi,rk,ik,WT,ud=z(()=>{yi();Ys();wi();Hi=Object.assign(ok(),{setup:ok}),rk=()=>{},ik=["primary","secondary","menu"],WT=["insert","prepend","append","before","after","replace","remove"]});function cd(n){function e(){return Cf(o=>n.setPageHash(o),n.logger)}let i=e();n.setPageHash(location.hash),n.cancelScheduledRender(),n.action.define("permalink",o=>new URL(o,String(location)).href),n.action.define("setPreventLocationUpdate",(o=!0)=>{o?(i?.dispose(),i=null):i===null&&(i=e())}),n.on("pageHashChange",o=>i?.set(n.pageHash,o))}var fd=z(()=>{Df()});var qi,_i,sk=z(()=>{st();Oe();wi();sd();da();ek();ad();ud();fd();Uc();qi=(n,e)=>n!==void 0?n:e,_i=class extends ds{constructor(e={}){let i=[];i.push(Rm),i.push(Hm),i.push(_m),qi(e.router,!0)&&i.push(cd),e.mode==="modelfree"&&i.push(Xx),qi(e.upload,!1)&&(i.push(e.upload===!0?sl:sl.setup(e.upload||{})),i.push(qm)),qi(e.inspector,!0)&&i.push(Wm),qi(e.embed,!1)&&i.push(e.embed===!0?Hi:Hi.setup(e.embed||{})),super({container:document.body,...e,extensions:e.extensions?[i,e.extensions]:i,colorScheme:qi(e.colorScheme??e.darkmode,"auto"),colorSchemePersistent:qi(e.colorSchemePersistent??e.darkmodePersistent,!0)})}setLoadingState(e,i){let o=this.dom.loadingOverlay,{progressbar:l}=i||{};switch(e){case"init":{if(o.classList.remove("error","done"),l?.el.parentNode)return;o.replaceChildren(l?.el||"");break}case"success":{o.classList.add("done");break}case"error":{let c=i?.error,f=this.getRenderContext(),d={stage:l?.value.stage,errorText:String(c),errorMessage:c.message||String(c),errorStack:(c.stack||"").replace(/^Error:\s*(\S+Error:)/,"$1")},g=["app-header:#.model",{view:"block",className:"action-buttons",content:[{view:"preset/upload",when:this.preset.isDefined("upload")}]},{view:"block",className:Ae(c,"renderContent")?"warning-message":"error-message",content:[{view:"block",className:"error-type-badge",postRender(m,y,k){k.stage&&(m.dataset.stage=` on ${k.stage}`)}},"h3:errorText",c.renderContent||'text:"(see details in the console)"']}];o.classList.add("error"),o.replaceChildren(),this.view.setViewRoot(o,"AppOverlay",{inspectable:!1,config:g,data:d,context:f}),this.view.render(o,g,d,f).then(()=>{this.logger.error(c),l?.setState({error:c})});break}}}async setDataProgress(e,i,o){let l=o?.dataset,c=o?.progressbar||this.progressbar({title:"Set data"});try{this.setLoadingState("init",{progressbar:c}),await super.setDataProgress(e,i,{dataset:l,progressbar:c}),this.setLoadingState("success")}catch(f){this.setLoadingState("error",{error:f,progressbar:c})}}progressbar(e){return new Ar({domReady:this.dom.ready,onFinish:i=>this.logger.perf.groupCollapsed(`${e.title||"Load data"} (${i[i.length-1].duration}ms)`,()=>[...i.map(o=>`${o.title}: ${o.duration}ms`),`(await repaint: ${i.awaitRepaintPenaltyTime}ms)`]),...e})}async trackLoadDataProgress(e){let i=this.progressbar({title:e.title});this.cancelScheduledRender(),this.setLoadingState("init",{progressbar:i}),this.emit("startLoadData",i.subscribeSync.bind(i)),fa(e,i).then(o=>this.setDataProgress(o.data,null,{dataset:o,progressbar:i}),o=>this.setLoadingState("error",{error:o,progressbar:i})),await e.dataset}initDom(e){super.initDom(e),this.dom.container.append(this.dom.loadingOverlay=$("div","loading-overlay done"))}renderPage(){return document.title=this.info.name||document.title,super.renderPage()}}});var ak=z(()=>{Wc();sd();sk()});var lk=z(()=>{Pu();ak();Jf();id();of();ad();fd();ud();Gc();Cu();Af()});var uk={};Fe(uk,{default:()=>$T});function $T(n,e,i,o){let l=n.model,c={model:l},f=new _i({name:l.name,version:l.version,description:l.description,icon:l.icon,mode:n.mode,styles:n.styles,...ha(l),upload:l.upload,inspector:l.inspector,router:l.router,encodings:Vs,context:c,setup:Iu,extensions:[l.embed&&Hi.setup(i),!Iu&&Yh,...Zh]});n.mode==="multi"&&f.nav.menu.append({name:"switch-model",onClick:'=$handler:"openModelIndex".actionHandler(href); $hide: #.hide; $handler and => $hide() or $handler()',data:{text:"Switch model",href:n.indexUrl}});let d={progressbar:e,dataset:o};if(typeof f.setContext=="function"){if(o)return f.setDataProgress(o.data,null,d)}else return f.context=c,o?f.setDataProgress(o.data,c,d):f.scheduleRender()}var ck=z(()=>{Qh();Kh();iu();Jh();lk();Ou()});var hi={name:"Implicit config",version:null,description:null,icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii02IC00IDEzNiAxNDAiPgogICAgPHJlY3QgeD0iNjUuNiIgeT0iMjQuNiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45Mzk3IC0wLjM0MiAwLjM0MiAwLjkzOTcgLTkuOTQyNiAzMS44MjgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzkuMyIgaGVpZ2h0PSIzOSI+PC9yZWN0PgogICAgPHJlY3QgeD0iNzAuNiIgeT0iNTIuNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTM5NyAwLjM0MiAtMC4zNDIgLTAuOTM5NyAxOTQuNzg1MiA4MS4xMjA0KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjM5LjMiIGhlaWdodD0iMTAiPjwvcmVjdD4KICAgIDxwYXRoIGZpbGw9IiM5OEJFRDgiIGQ9Ik0xMTEuNSw1NC42bC0xLjEsMS4xTDk3LjEsMTkuMWwxLjUsMC4yYzgsMC45LDE0LjcsNi4yLDE3LjQsMTMuN2wwLDBDMTE4LjgsNDAuNCwxMTcsNDguOCwxMTEuNSw1NC42eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTczLjUsNzIuMmMtMS4yLDAtMi40LTAuOC0yLjgtMkw1Ny4zLDMzLjVjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDM2LjktMTMuNGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGwxMy4zLDM2LjZjMC4zLDAuNywwLjIsMS42LTAuMSwyLjNjLTAuMywwLjctMC45LDEuMy0xLjcsMS42TDc0LjUsNzJDNzQuMiw3Mi4xLDczLjgsNzIuMiw3My41LDcyLjJ6TTY0LDM0LjNsMTEuMywzMWwzMS4zLTExLjRsLTExLjMtMzFMNjQsMzQuM3oiPjwvcGF0aD4KICAgIDxyZWN0IHg9IjM1IiB5PSI0Ni43IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjkzOTcgLTAuMzQyIDAuMzQyIDAuOTM5NyAtMTYuMjAxMSAyMC45ODgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzIuOCIgaGVpZ2h0PSIxOS41Ij48L3JlY3Q+CiAgICA8cmVjdCB4PSIzNy4zIiB5PSI1OS44IiB0cmFuc2Zvcm09Im1hdHJpeCgtMC45Mzk3IDAuMzQyIC0wLjM0MiAtMC45Mzk3IDEyNS42NzYzIDEwMy4zOTQ2KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjMyLjgiIGhlaWdodD0iNiI+PC9yZWN0PgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTM5LjQsNzQuMmMtMC40LDAtMC45LTAuMS0xLjMtMC4zYy0wLjctMC4zLTEuMy0wLjktMS42LTEuN2wtNi43LTE4LjNjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDMwLjgtMTEuMmMwLjctMC4zLDEuNi0wLjIsMi4zLDAuMWMwLjcsMC4zLDEuMywwLjksMS42LDEuN0w3Myw1OWMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEw0MC40LDc0QzQwLDc0LjEsMzkuNyw3NC4yLDM5LjQsNzQuMnogTTM2LjUsNTQuN2w0LjYsMTIuN2wyNS4yLTkuMmwtNC42LTEyLjdMMzYuNSw1NC43eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTcwLDExOC45Yy0xLjIsMC0yLjQtMC43LTIuOC0xLjlsLTE0LTM3LjJsLTguNCwzLjFsLTE3LjIsMzQuNGMtMC43LDEuNS0yLjUsMi4xLTQsMS4zYy0xLjUtMC43LTIuMS0yLjUtMS4zLTRMNDAsNzljMC4zLTAuNywwLjktMS4yLDEuNy0xLjVMNTQsNzMuMWMxLjUtMC42LDMuMywwLjIsMy44LDEuOGwxNSw0MGMwLjYsMS42LTAuMiwzLjMtMS44LDMuOUM3MC43LDExOC44LDcwLjQsMTE4LjksNzAsMTE4Ljl6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuNiw4MC4xYy0xLjIsMC0yLjQtMC44LTIuOC0yTDYuMyw2NS45Yy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGw0LjQsMTIuMmMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEMxNC4zLDgwLjEsMTQsODAuMSwxMy42LDgwLjF6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuMiw3My4zYy0xLjIsMC0yLjQtMC44LTIuOC0yYy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOEwzNSw1OS4yYzEuNi0wLjYsMy4zLDAuMiwzLjgsMS44YzAuNiwxLjYtMC4yLDMuMy0xLjgsMy44bC0yMi44LDguM0MxMy45LDczLjMsMTMuNiw3My4zLDEzLjIsNzMuM3oiPjwvcGF0aD4KPC9zdmc+Cg==",mode:"single",embed:!0,inspector:!0,router:!0,colorScheme:"auto",colorSchemePersistent:!0,model:{slug:"default",name:"Nuxt Server Data",version:null,description:null,icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii02IC00IDEzNiAxNDAiPgogICAgPHJlY3QgeD0iNjUuNiIgeT0iMjQuNiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45Mzk3IC0wLjM0MiAwLjM0MiAwLjkzOTcgLTkuOTQyNiAzMS44MjgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzkuMyIgaGVpZ2h0PSIzOSI+PC9yZWN0PgogICAgPHJlY3QgeD0iNzAuNiIgeT0iNTIuNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTM5NyAwLjM0MiAtMC4zNDIgLTAuOTM5NyAxOTQuNzg1MiA4MS4xMjA0KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjM5LjMiIGhlaWdodD0iMTAiPjwvcmVjdD4KICAgIDxwYXRoIGZpbGw9IiM5OEJFRDgiIGQ9Ik0xMTEuNSw1NC42bC0xLjEsMS4xTDk3LjEsMTkuMWwxLjUsMC4yYzgsMC45LDE0LjcsNi4yLDE3LjQsMTMuN2wwLDBDMTE4LjgsNDAuNCwxMTcsNDguOCwxMTEuNSw1NC42eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTczLjUsNzIuMmMtMS4yLDAtMi40LTAuOC0yLjgtMkw1Ny4zLDMzLjVjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDM2LjktMTMuNGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGwxMy4zLDM2LjZjMC4zLDAuNywwLjIsMS42LTAuMSwyLjNjLTAuMywwLjctMC45LDEuMy0xLjcsMS42TDc0LjUsNzJDNzQuMiw3Mi4xLDczLjgsNzIuMiw3My41LDcyLjJ6TTY0LDM0LjNsMTEuMywzMWwzMS4zLTExLjRsLTExLjMtMzFMNjQsMzQuM3oiPjwvcGF0aD4KICAgIDxyZWN0IHg9IjM1IiB5PSI0Ni43IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjkzOTcgLTAuMzQyIDAuMzQyIDAuOTM5NyAtMTYuMjAxMSAyMC45ODgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzIuOCIgaGVpZ2h0PSIxOS41Ij48L3JlY3Q+CiAgICA8cmVjdCB4PSIzNy4zIiB5PSI1OS44IiB0cmFuc2Zvcm09Im1hdHJpeCgtMC45Mzk3IDAuMzQyIC0wLjM0MiAtMC45Mzk3IDEyNS42NzYzIDEwMy4zOTQ2KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjMyLjgiIGhlaWdodD0iNiI+PC9yZWN0PgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTM5LjQsNzQuMmMtMC40LDAtMC45LTAuMS0xLjMtMC4zYy0wLjctMC4zLTEuMy0wLjktMS42LTEuN2wtNi43LTE4LjNjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDMwLjgtMTEuMmMwLjctMC4zLDEuNi0wLjIsMi4zLDAuMWMwLjcsMC4zLDEuMywwLjksMS42LDEuN0w3Myw1OWMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEw0MC40LDc0QzQwLDc0LjEsMzkuNyw3NC4yLDM5LjQsNzQuMnogTTM2LjUsNTQuN2w0LjYsMTIuN2wyNS4yLTkuMmwtNC42LTEyLjdMMzYuNSw1NC43eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTcwLDExOC45Yy0xLjIsMC0yLjQtMC43LTIuOC0xLjlsLTE0LTM3LjJsLTguNCwzLjFsLTE3LjIsMzQuNGMtMC43LDEuNS0yLjUsMi4xLTQsMS4zYy0xLjUtMC43LTIuMS0yLjUtMS4zLTRMNDAsNzljMC4zLTAuNywwLjktMS4yLDEuNy0xLjVMNTQsNzMuMWMxLjUtMC42LDMuMywwLjIsMy44LDEuOGwxNSw0MGMwLjYsMS42LTAuMiwzLjMtMS44LDMuOUM3MC43LDExOC44LDcwLjQsMTE4LjksNzAsMTE4Ljl6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuNiw4MC4xYy0xLjIsMC0yLjQtMC44LTIuOC0yTDYuMyw2NS45Yy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGw0LjQsMTIuMmMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEMxNC4zLDgwLjEsMTQsODAuMSwxMy42LDgwLjF6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuMiw3My4zYy0xLjIsMC0yLjQtMC44LTIuOC0yYy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOEwzNSw1OS4yYzEuNi0wLjYsMy4zLDAuMiwzLjgsMS44YzAuNiwxLjYtMC4yLDMuMy0xLjgsMy44bC0yMi44LDguM0MxMy45LDczLjMsMTMuNiw3My4zLDEzLjIsNzMuM3oiPjwvcGF0aD4KPC9zdmc+Cg==",url:"default/index.html",data:null,cache:!1,cacheReset:!1,upload:!1,download:!1,embed:!0,colorScheme:"auto",colorSchemePersistent:!0,inspector:!0,router:!0,meta:null},indexUrl:"../../index.html",assets:{"model.css":"model.css","model-loader.css":"model-loader.css"}};if(!location.pathname.endsWith(".html")&&(hi.model&&(hi.indexUrl=hi.indexUrl.replace(/^\.\.\/|index\.html$/g,"")),hi.models))for(let n of hi.models)n.url=n.url.replace(/(^|\/|\\)index\.html$/,"$1");var Cr=hi;iu();Ou();Gh(Promise.resolve().then(()=>(ck(),uk)).then(n=>n.default),[Nu(Cr.assets["model.css"])],Cr,{styles:[Nu(Cr.assets["model-loader.css"])],embed:Cr.model.embed,...ha(Cr.model),encodings:Vs,dataSource:"push",data:!!Cr.model.data||null});})();
609
+ `}}]}],content:{view:"block",className:"content",data:"$[=> name=(#.view.name or #.id)]",content:{view:"switch",content:[{when:"no $ and #.id",content:'alert-warning:"View \\"" + #.id + "\\" not found"'},{when:"no $",content:['h1:"Views showcase"','alert:"\u2190 Select a view to get details"',{view:"markdown",source:Vx}]},{content:[{view:"context",postRender(e,i,o,l){n.overridePageHashStateWithAnchor({ref:o.name,anchor:n.pageRef===o.name?n.pageAnchor:null}),n.cancelScheduledRender(),l.id=n.pageRef}},il(n)]}]}}},{sidebar:!1})}var Kx=z(()=>{rd();Yx()});var ol={};Fe(ol,{default:()=>Ex,discovery:()=>Ux,notFound:()=>Lx,viewsShowcase:()=>Qx});var id=z(()=>{Mx();Tx();Gx();Kx()});function od(n,e,i){i?n.dataset[e]=i:delete n.dataset[e]}function _T(n,e,i,o){let l=n.page.get(e)?.options;return l!==void 0&&Ae(l,i)?l[i]:o}function Jx(n,e,i,o){let l=_T(n,e,i,o);return typeof l=="function"?l:o}var RT,Zx,HT,qT,ds,sd=z(()=>{Oe();ea();Wo();st();Wc();er();yi();Gc();iy();Jc();oy();of();Jf();id();Ho();RT=["nav","sidebar","page"],Zx=()=>{},HT=n=>n,qT=n=>Object.fromEntries(n);ds=class extends $o{compact;colorScheme;inspectMode;view;nav;preset;page;#e;#t;defaultPageId;discoveryPageId;reportToDiscoveryRedirect;pageId;pageRef;pageParams;pageAnchor;pageHash;dom;queryExtensions;constructor(e){let{container:i,styles:o,extensions:l,logLevel:c,compact:f,darkmode:d="light-only",darkmodePersistent:g=!1,colorScheme:m=d,colorSchemePersistent:y=g,defaultPage:k,defaultPageId:C,discoveryPageId:M,reportToDiscoveryRedirect:E=!0,inspector:F=!1}=e||{};super({...e,logLevel:c||"perf",extensions:void 0}),("darkmode"in e||"darkmodePersistent"in e)&&this.logger.warn('ViewModel "darkmode" option is deprecated, use "colorScheme" instead'),this.compact=!!f,this.colorScheme=new Zs(m,y),this.inspectMode=new Et(!1),this.initDom(o),this.view=new Ia(this),this.nav=new Oa(this),this.preset=new Pa(this.view),this.page=new Ba(this,this.view),this.#e=new Set,this.#t=16,this.defaultPageId=C||"default",this.discoveryPageId=M||"discovery",this.reportToDiscoveryRedirect=!!E,this.pageId=this.defaultPageId,this.pageRef=null,this.pageParams={},this.pageAnchor=null,this.pageHash=this.encodePageHash(this.pageId,this.pageRef,this.pageParams,this.pageAnchor),this.apply(Xa),this.apply(ol),k&&this.page.define(this.defaultPageId,k),F&&this.apply(rf),this.apply(l),this.setPageHash(this.pageHash),this.setContainer(i),this.scheduleRender();for(let{name:N,page:A}of this.objectMarkers.values)A&&!this.page.isDefined(A)&&this.logger.error(`Page reference "${A}" in object marker "${N}" doesn't exist`)}initRenderTriggers(){this.on("context",()=>this.scheduleRender()),this.on("unloadData",()=>this.scheduleRender()),this.on("pageStateChange",()=>this.scheduleRender()),this.on("pageAnchorChange",()=>this.applyPageAnchor()),this.action.on("define",()=>this.scheduleRender()).on("revoke",()=>this.scheduleRender()),this.page.on("define",e=>{this.pageId===e&&(this.setPageHash(this.pageHash),this.scheduleRender("page"))})}async setData(e,i){let{render:o=!0}=i||{};await super.setData(e,i),o&&this.scheduleRender()}async setDataProgress(e,i,o){let{dataset:l,progressbar:c}=o||{};this.cancelScheduledRender(),this.emit("startSetData",(...f)=>c?.subscribeSync(...f)||(()=>{})),await c?.setState({stage:"prepare"}),await this.setData(e,{dataset:l,setPrepareWorkTitle:c?.setStateStep.bind(c),render:!1}),await c?.setState({stage:"initui"}),this.scheduleRender(),await Promise.all([this.dom.wrapper.parentNode?this.dom.ready:!0,this.enforceScheduledRenders()]),c?.finish()}queryToConfig(e,i){let{ast:o}=Xt.syntax.parse(i),l={view:e};if(o.type!=="Block")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): query root must be a "Block"');if(o.body.type!=="Object")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): query root must return an "Object"');for(let c of o.body.properties){if(c.type!=="ObjectEntry")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): unsupported object entry type "'+c.type+'"');let f,d=c.value;switch(c.key.type){case"Literal":f=c.key.value;break;case"Identifier":f=c.key.name,d||=c.key;break;case"Reference":f=c.key.name.name,d||=c.key;break;default:throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): unsupported object key type "'+c.key.type+'"')}if(f==="view"||f==="postRender")throw new SyntaxError('[Discovery] ViewModel#queryToConfig(): set a value for "'+f+'" property in shorthand notation is prohibited');f==="when"||f==="data"||f==="whenData"?l[f]=d.type==="Literal"&&typeof d.value!="string"?d.value:Xt.syntax.stringify(d):l[f]=d.type==="Literal"&&(typeof d.value!="string"||d.value[0]!=="=")?d.value:"="+Xt.syntax.stringify(d)}return l}initDom(e){let i=$("div","discovery"),o=i.attachShadow({mode:"open"}),l=o.appendChild($("div")),c=$("article"),f=$("div","discovery-nav discovery-hidden-in-dzen"),d=$("nav","discovery-sidebar discovery-hidden-in-dzen"),g=$("main","discovery-content",[c]),m=ko(o,this.info.icon?e?.concat(`.discovery-root{--discovery-app-icon:url(${JSON.stringify(this.info.icon)}`):e);this.dom={ready:m,wrapper:i,root:o,container:l,nav:f,sidebar:d,content:g,pageContent:c,detachColorScheme:this.colorScheme.subscribe(y=>l.classList.toggle("discovery-root-darkmode",y==="dark"),!0)},l.classList.add("discovery-root","discovery"),l.append(f,d,g),o.addEventListener("click",y=>{let k=y.target?.closest("a");!k||k.getAttribute("target")||k.origin!==location.origin||k.pathname!==location.pathname||(y.preventDefault(),y.stopPropagation(),k.classList.contains("ignore-href")||this.setPageHash(k.hash)||this.applyPageAnchor())},!0)}setContainer(e){e instanceof HTMLElement?e.append(this.dom.wrapper):this.dom.wrapper.remove()}disposeDom(){typeof this.dom.detachColorScheme=="function"&&(this.dom.detachColorScheme(),this.dom.detachColorScheme=null),this.dom.container.remove(),this.dom=null}addGlobalEventListener(e,i,o){return document.addEventListener(e,i,o),()=>document.removeEventListener(e,i,o)}addHostElEventListener(e,i,o){let l=this.dom.container;return l.addEventListener(e,i,o),()=>l.removeEventListener(e,i,o)}scheduleRender(e){let i=e?[e]:RT;for(let o of i)this.#e.add(o);this.#e.timer&&clearTimeout(this.#e.timer),this.#e.timer=setTimeout(()=>this.enforceScheduledRenders(),this.#t),this.logger.debug(`Scheduled renders: ${[...this.#e].join(", ")} (requested: ${e||"all"})`)}async enforceScheduledRenders(){let e=[...this.#e];this.logger.debug(`Enforce scheduled renders: ${e.join(", ")||"none"}`),this.cancelScheduledRender();for(let i of e)switch(i){case"nav":await this.renderNav();break;case"sidebar":await this.renderSidebar();break;case"page":await this.renderPage();break}this.initRenderTriggers!==Zx&&(this.initRenderTriggers(),this.initRenderTriggers=Zx,this.#t=0)}cancelScheduledRender(e){let i=[...this.#e];e?this.#e.delete(e):this.#e.clear(),this.#e.size===0&&this.#e.timer&&(clearTimeout(this.#e.timer),this.#e.timer=null),this.#e.size!==i.length&&this.logger.debug(`Canceled renders: ${i.join(", ")}`)}getRenderContext(){return{page:this.pageId,id:this.pageRef,params:this.pageParams,model:this.info,actions:this.action.actionMap,datasets:this.datasets,data:this.data,...this.context}}renderNav(){return this.cancelScheduledRender("nav"),this.nav.render(this.dom.nav,this.data,this.getRenderContext())}renderSidebar(){if(this.cancelScheduledRender("sidebar"),this.hasDatasets()&&this.view.isDefined("sidebar")){let e=Date.now(),i=this.data,o=this.getRenderContext();return this.view.setViewRoot(this.dom.sidebar,"sidebar",{data:i,context:o}),this.dom.sidebar.innerHTML="",this.view.render(this.dom.sidebar,"sidebar",i,o).finally(()=>this.logger.perf(`Sidebar rendered in ${Date.now()-e}ms`))}}encodePageHash(e,i=null,o,l=null){let c=e||this.defaultPageId,d=Jx(this,e,"encodeParams",HT)(o||{});return super.encodePageHash(c!==this.defaultPageId?c:"",i,d,l)}decodePageHash(e){let{pageId:i,pageRef:o,pageParams:l,pageAnchor:c}=super.decodePageHash(e,f=>Jx(this,f||this.defaultPageId,"decodeParams",qT));return{pageId:i||this.defaultPageId,pageRef:o,pageParams:l,pageAnchor:c}}setPageHashState(e={},i=!1){return this.setPageHashStateWithAnchor({...e,anchor:null},i)}overridePageHashState(e,i=!1){return this.setPageHashState({...this.getPageHashState(),...e},i)}getPageHashState(){return{id:this.pageId,ref:this.pageRef,params:this.pageParams}}setPageHashStateWithAnchor(e,i=!1){let{id:o=null,ref:l=null,params:c={},anchor:f=null}=e;return this.setPageHash(this.encodePageHash(o||this.defaultPageId,l,c,f),i)}overridePageHashStateWithAnchor(e,i=!1){return this.setPageHashStateWithAnchor({...this.getPageHashStateWithAnchor(),...e},i)}getPageHashStateWithAnchor(){return{...this.getPageHashState(),anchor:this.pageAnchor}}setPage(e,i,o,l=!1){return this.setPageHashState({id:e,ref:i,params:o},l)}setPageRef(e=null,i=!1){return this.overridePageHashStateWithAnchor({ref:e},i)}setPageParams(e,i=!1){return this.overridePageHashStateWithAnchor({params:e},i)}setPageAnchor(e,i=!1){return this.overridePageHashStateWithAnchor({anchor:e},i)}setPageHash(e,i=!1){e.startsWith("#")||(e="#"+e),e.startsWith("#!")&&(e=this.stripAnchorFromHash(this.pageHash)+(e.length>2?"&!anchor="+e.slice(2):""));let{pageId:o,pageRef:l,pageParams:c,pageAnchor:f}=this.decodePageHash(e);if(this.reportToDiscoveryRedirect&&o==="report"&&this.discoveryPageId!=="report"&&setTimeout(()=>this.pageId==="report"&&this.setPageHashStateWithAnchor({id:this.discoveryPageId,ref:l,params:c,anchor:f},!0)),this.pageId!==o||this.pageRef!==l||!Ta(this.pageParams,c)){let d=this.getPageHashState();this.pageId=o,this.pageRef=l,this.pageParams=c,this.emit("pageStateChange",d)}if(f!==this.pageAnchor){let d=this.pageAnchor;this.pageAnchor=f,this.emit("pageAnchorChange",d)}return e!==this.pageHash?(this.pageHash=e,this.emit("pageHashChange",i),!0):!1}applyPageAnchor(e=!1){let i=this.dom.pageContent;if(this.pageAnchor){let o=i.querySelector("#"+CSS.escape("!anchor:"+this.pageAnchor));if(o){let l=i.querySelector(".view-page-header");o.style.scrollMargin=l?l.offsetHeight+"px":"",o.scrollIntoView(!0)}}else e||(this.dom.content.scrollTop=0)}renderPage(){this.cancelScheduledRender("page");let{data:e,pageId:i,pageParams:o,compact:l}=this,c=this.getRenderContext();this.logger.debug(`Start page "${i}" rendering...`);let f=Date.now(),{pageEl:d,renderState:g,config:m}=this.page.render(this.dom.pageContent,i,e,c);return this.view.setViewRoot(d,`Page: ${i}`,{inspectable:!1,config:m,data:e,context:c}),this.dom.pageContent=d,od(this.dom.container,"page",i),od(this.dom.container,"dzen",!!o.dzen),od(this.dom.container,"compact",!!l),g.then(async()=>{await this.dom.ready,this.applyPageAnchor(!0)}).catch(y=>{this.logger.error(`Page "${i}" render error:`,y)}),g.finally(()=>{this.logger.perf(`Page "${i}" render done in ${Date.now()-f}ms`)})}}});var Xx,ek=z(()=>{Xx=n=>{let e="";n.nav.remove("index-page"),n.nav.remove("discovery-page"),n.on("data",()=>{n.defaultPageId!==n.discoveryPageId&&(e=n.defaultPageId,n.defaultPageId=n.discoveryPageId,n.setPageHash(n.pageHash,!0),n.cancelScheduledRender())}),n.on("unloadData",()=>{e!==n.defaultPageId&&(n.defaultPageId=e,n.setPageHash(n.pageHash,!0))})}});function nk(n){return n={accept:"application/json,application/jsonxl,.json,.jsonxl",dragdrop:!0,clipboard:!1,...n},function(e){let i=!!n.dragdrop,o=!!n.clipboard,l=String(n.accept),c=l.split(",");i&&(e.dom.container.addEventListener("drop",f=>{e.loadDataFromEvent(f)},!0),e.dom.container.addEventListener("dragover",f=>{f.stopPropagation(),f.preventDefault()},!0),document.addEventListener("paste",f=>{let{files:d}=f.clipboardData||{files:[]};d?.length>0&&e.loadDataFromEvent(f)})),e.preset.define("upload",[{view:"button-primary",text:'=`Open file${#.actions.uploadFile.fileExtensions |? " (" + join(", ") + ")" : "" | size() > 1 and size() <= 17 ?: "\u2026"}`',onClick:"=#.actions.uploadFile"},{view:"context",when:"#.actions.uploadDataFromClipboard",content:['html:"<span style=\\"color: #888; padding: 0 1ex\\"> or </span>"',{view:"button",text:"Paste from clipboard",onClick:"=#.actions.uploadDataFromClipboard"}]},{view:"context",when:"#.actions.uploadFile.dragdrop",content:['html:"<span style=\\"color: #888; padding: 0 1ex\\"> or </span>"','text:"drop a file on the page"']}]),e.action.define("unloadData",()=>{e.unloadData()}),e.action.define("uploadFile",Object.assign(()=>{$("input",{type:"file",accept:l,onchange:f=>e.loadDataFromEvent(f)}).click()},{fileExtensions:c.filter(f=>tk(f)),mimeTypes:c.filter(f=>!tk(f)),dragdrop:i,clipboard:o})),o&&e.action.define("uploadDataFromClipboard",async()=>{let f=await navigator.clipboard.readText();e.loadDataFromStream(new Blob([f]).stream())})}}var sl,tk,ad=z(()=>{Oe();sl=Object.assign(nk(),{setup:nk}),tk=n=>/^\./.test(n)});function ld(n,e,i){let o=Array.isArray(i)?i:[];return JSON.parse(JSON.stringify(n),(l,c)=>typeof c=="string"&&o.includes(c)?()=>e("navMethod",c):c)}function ok(n){let e=n?.hostId||gi(),i=n?.postponeMessages,o=typeof n?.onNotify=="function"?n.onNotify:()=>{};return function(l){let c=null,f=rk,d=E=>{c?.finish(),c=null,E&&l.logger.debug("Cancel chunked data load from host with error:",E)},g=window.parent,m=new Map,y=(E,F)=>{let N={from:"discoveryjs-app",id:e,type:E,payload:F};g.postMessage(N,"*")},k=E=>{f=()=>{E!==null&&(f=rk,E())}},C=E=>{l.trackLoadDataProgress(E).catch(()=>{})},M=({data:E})=>{let{id:F,type:N,payload:A}=E||{};if(F===e)switch(N){case"notification":{let{name:b,details:L}=A;o(b,L);break}case"defineAction":{let b=A;l.action.define(b,(...L)=>new Promise((T,I)=>{let B=gi();m.set(B,{resolve:T,reject:I}),setTimeout(()=>{m.delete(B),I(new Error("Timeout"))},3e4),y("action",{callId:B,name:b,args:L})}));break}case"actionResult":{let{callId:b}=A;if(!m.has(b)){l.logger.error(`[Discovery.js] Unknown action call id "${b}"`);break}let{resolve:L,reject:T}=m.get(b);"error"in A?T(A.error):L(A.value);break}case"setPageHash":{let{replace:b,hash:L}=A||{};l.setPageHash(L||"",b||!1);break}case"setPageHashState":{let{replace:b,id:L,ref:T,params:I}=A||{};l.setPageHashState({id:L,ref:T,params:I},b);break}case"setPageHashStateWithAnchor":{let{replace:b,id:L,ref:T,params:I,anchor:B}=A||{};l.setPageHashStateWithAnchor({id:L,ref:T,params:I,anchor:B},b);break}case"setPage":{let{replace:b,id:L,ref:T,params:I}=A||{};l.setPage(L,T,I,b);break}case"setPageRef":{let{replace:b,ref:L}=A||{};l.setPageRef(L,b);break}case"setPageParams":{let{replace:b,params:L}=A||{};l.setPageParams(L,b);break}case"setPageAnchor":{let{replace:b,anchor:L}=A||{};l.setPageAnchor(L,b);break}case"setColorSchemeState":{let b=A;if(!Js.includes(b)){l.logger.warn(`Wrong value for colorScheme "${b}", supported values: ${Js.map(L=>JSON.stringify(L)).join(", ")}`);break}l.colorScheme.set(b);break}case"setRouterPreventLocationUpdate":{l.action.call("setPreventLocationUpdate",!!A);break}case"changeNavButtons":{let{section:b="primary",action:L="unknown"}=A;if(!ik.includes(b)){l.logger.warn(`Wrong value for nav button place "${b}", supported values: ${ik.map(T=>JSON.stringify(T)).join(", ")}`);break}switch(A.action){case"insert":{let{name:T,position:I,config:B,commands:R}=A;l.nav[b].insert(ld(B,y,R),I,T);break}case"prepend":case"append":{let{config:T,commands:I}=A;l.nav[b][A.action](ld(T,y,I));break}case"before":case"after":case"replace":{let{name:T,config:I,commands:B}=A;l.nav[b][A.action](T,ld(I,y,B));break}case"remove":{let{name:T}=A;l.nav[b].remove(T);break}default:l.logger.warn(`Wrong value for nav button action "${L}", supported values: ${WT.map(T=>JSON.stringify(T)).join(", ")}`)}break}case"unloadData":{d(),l.unloadData();break}case"dataStream":{let{stream:b,resource:L}=A;d(),C(Lo(b,{resource:L}));break}case"startChunkedDataUpload":{let{acceptToken:b,resource:L}=A;d(),c=Object.assign(Su({resource:L}),{acceptToken:b}),C(c);break}case"cancelChunkedDataUpload":{let{acceptToken:b,error:L}=A;c?.acceptToken===b&&d(L)}case"dataChunk":{let{acceptToken:b}=A;if(c===null){l.logger.warn("Loading data is not inited");break}if(c.acceptToken!==b){l.logger.warn("Bad accept token");break}"value"in A&&A.value!==void 0&&c.push(A.value),"done"in A&&A.done&&d();break}default:l.logger.warn(`Got a post-message addressed to discovery app but with unknown "${N}" type`)}};g!==window&&(l.on("pageHashChange",E=>{y("pageHashChanged",{replace:E,hash:l.pageHash||"#",id:l.pageId,ref:l.pageRef,params:l.pageParams,anchor:l.pageAnchor})}),l.on("startLoadData",E=>{f(),k(E(F=>y("loadingState",F)))}),l.on("startSetData",E=>{f(),k(E(F=>y("loadingState",F)))}),l.on("data",()=>{y("data",null)}),l.on("unloadData",()=>{f(),y("unloadData",null)}),l.colorScheme.subscribe((E,F)=>y("colorSchemeChanged",{state:F,value:mi(F)})),Array.isArray(i)&&Promise.resolve().then(()=>{for(let E of i)M({data:E})}),addEventListener("message",M,!1),addEventListener("unload",()=>y("destroy",null),!1),y("ready",{page:{hash:l.pageHash||"#",id:l.pageId,ref:l.pageRef,params:l.pageParams,anchor:l.pageAnchor},colorScheme:{state:l.colorScheme.state,value:l.colorScheme.serializedValue}}))}}var Hi,rk,ik,WT,ud=z(()=>{yi();Ys();wi();Hi=Object.assign(ok(),{setup:ok}),rk=()=>{},ik=["primary","secondary","menu"],WT=["insert","prepend","append","before","after","replace","remove"]});function cd(n){function e(){return Cf(o=>n.setPageHash(o),n.logger)}let i=e();n.setPageHash(location.hash),n.cancelScheduledRender(),n.action.define("permalink",o=>new URL(o,String(location)).href),n.action.define("setPreventLocationUpdate",(o=!0)=>{o?(i?.dispose(),i=null):i===null&&(i=e())}),n.on("pageHashChange",o=>i?.set(n.pageHash,o))}var fd=z(()=>{Df()});var qi,_i,sk=z(()=>{st();Oe();wi();sd();da();ek();ad();ud();fd();Uc();qi=(n,e)=>n!==void 0?n:e,_i=class extends ds{constructor(e={}){let i=[];i.push(Rm),i.push(Hm),i.push(_m),qi(e.router,!0)&&i.push(cd),e.mode==="modelfree"&&i.push(Xx),qi(e.upload,!1)&&(i.push(e.upload===!0?sl:sl.setup(e.upload||{})),i.push(qm)),qi(e.inspector,!0)&&i.push(Wm),qi(e.embed,!1)&&i.push(e.embed===!0?Hi:Hi.setup(e.embed||{})),super({container:document.body,...e,extensions:e.extensions?[i,e.extensions]:i,colorScheme:qi(e.colorScheme??e.darkmode,"auto"),colorSchemePersistent:qi(e.colorSchemePersistent??e.darkmodePersistent,!0)})}setLoadingState(e,i){let o=this.dom.loadingOverlay,{progressbar:l}=i||{};switch(e){case"init":{if(o.classList.remove("error","done"),l?.el.parentNode)return;o.replaceChildren(l?.el||"");break}case"success":{o.classList.add("done");break}case"error":{let c=i?.error,f=this.getRenderContext(),d={stage:l?.value.stage,errorText:String(c),errorMessage:c.message||String(c),errorStack:(c.stack||"").replace(/^Error:\s*(\S+Error:)/,"$1")},g=["app-header:#.model",{view:"block",className:"action-buttons",content:[{view:"preset/upload",when:this.preset.isDefined("upload")}]},{view:"block",className:Ae(c,"renderContent")?"warning-message":"error-message",content:[{view:"block",className:"error-type-badge",postRender(m,y,k){k.stage&&(m.dataset.stage=` on ${k.stage}`)}},"h3:errorText",c.renderContent||'text:"(see details in the console)"']}];o.classList.add("error"),o.replaceChildren(),this.view.setViewRoot(o,"AppOverlay",{inspectable:!1,config:g,data:d,context:f}),this.view.render(o,g,d,f).then(()=>{this.logger.error(c),l?.setState({error:c})});break}}}async setDataProgress(e,i,o){let l=o?.dataset,c=o?.progressbar||this.progressbar({title:"Set data"});try{this.setLoadingState("init",{progressbar:c}),await super.setDataProgress(e,i,{dataset:l,progressbar:c}),this.setLoadingState("success")}catch(f){this.setLoadingState("error",{error:f,progressbar:c})}}progressbar(e){return new Ar({domReady:this.dom.ready,onFinish:i=>this.logger.perf.groupCollapsed(`${e.title||"Load data"} (${i[i.length-1].duration}ms)`,()=>[...i.map(o=>`${o.title}: ${o.duration}ms`),`(await repaint: ${i.awaitRepaintPenaltyTime}ms)`]),...e})}async trackLoadDataProgress(e){let i=this.progressbar({title:e.title});this.cancelScheduledRender(),this.setLoadingState("init",{progressbar:i}),this.emit("startLoadData",i.subscribeSync.bind(i)),fa(e,i).then(o=>this.setDataProgress(o.data,null,{dataset:o,progressbar:i}),o=>this.setLoadingState("error",{error:o,progressbar:i})),await e.dataset}initDom(e){super.initDom(e),this.dom.container.append(this.dom.loadingOverlay=$("div","loading-overlay done"))}renderPage(){return document.title=this.info.name||document.title,super.renderPage()}}});var ak=z(()=>{Wc();sd();sk()});var lk=z(()=>{Pu();ak();Jf();id();of();ad();fd();ud();Gc();Cu();Af()});var uk={};Fe(uk,{default:()=>$T});function $T(n,e,i,o){let l=n.model,c={model:l},f=new _i({name:l.name,version:l.version,description:l.description,icon:l.icon,mode:n.mode,styles:n.styles,...ha(l),upload:l.upload,inspector:l.inspector,router:l.router,encodings:Vs,context:c,setup:Iu,extensions:[l.embed&&Hi.setup(i),!Iu&&Yh,...Zh]});n.mode==="multi"&&f.nav.menu.append({name:"switch-model",onClick:'=$handler:"openModelIndex".actionHandler(href); $hide: #.hide; $handler and => $hide() or $handler()',data:{text:"Switch model",href:n.indexUrl}});let d={progressbar:e,dataset:o};if(typeof f.setContext=="function"){if(o)return f.setDataProgress(o.data,null,d)}else return f.context=c,o?f.setDataProgress(o.data,c,d):f.scheduleRender()}var ck=z(()=>{Qh();Kh();iu();Jh();lk();Ou()});var hi={name:"Implicit config",version:null,description:null,icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii02IC00IDEzNiAxNDAiPgogICAgPHJlY3QgeD0iNjUuNiIgeT0iMjQuNiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45Mzk3IC0wLjM0MiAwLjM0MiAwLjkzOTcgLTkuOTQyNiAzMS44MjgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzkuMyIgaGVpZ2h0PSIzOSI+PC9yZWN0PgogICAgPHJlY3QgeD0iNzAuNiIgeT0iNTIuNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTM5NyAwLjM0MiAtMC4zNDIgLTAuOTM5NyAxOTQuNzg1MiA4MS4xMjA0KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjM5LjMiIGhlaWdodD0iMTAiPjwvcmVjdD4KICAgIDxwYXRoIGZpbGw9IiM5OEJFRDgiIGQ9Ik0xMTEuNSw1NC42bC0xLjEsMS4xTDk3LjEsMTkuMWwxLjUsMC4yYzgsMC45LDE0LjcsNi4yLDE3LjQsMTMuN2wwLDBDMTE4LjgsNDAuNCwxMTcsNDguOCwxMTEuNSw1NC42eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTczLjUsNzIuMmMtMS4yLDAtMi40LTAuOC0yLjgtMkw1Ny4zLDMzLjVjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDM2LjktMTMuNGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGwxMy4zLDM2LjZjMC4zLDAuNywwLjIsMS42LTAuMSwyLjNjLTAuMywwLjctMC45LDEuMy0xLjcsMS42TDc0LjUsNzJDNzQuMiw3Mi4xLDczLjgsNzIuMiw3My41LDcyLjJ6TTY0LDM0LjNsMTEuMywzMWwzMS4zLTExLjRsLTExLjMtMzFMNjQsMzQuM3oiPjwvcGF0aD4KICAgIDxyZWN0IHg9IjM1IiB5PSI0Ni43IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjkzOTcgLTAuMzQyIDAuMzQyIDAuOTM5NyAtMTYuMjAxMSAyMC45ODgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzIuOCIgaGVpZ2h0PSIxOS41Ij48L3JlY3Q+CiAgICA8cmVjdCB4PSIzNy4zIiB5PSI1OS44IiB0cmFuc2Zvcm09Im1hdHJpeCgtMC45Mzk3IDAuMzQyIC0wLjM0MiAtMC45Mzk3IDEyNS42NzYzIDEwMy4zOTQ2KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjMyLjgiIGhlaWdodD0iNiI+PC9yZWN0PgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTM5LjQsNzQuMmMtMC40LDAtMC45LTAuMS0xLjMtMC4zYy0wLjctMC4zLTEuMy0wLjktMS42LTEuN2wtNi43LTE4LjNjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDMwLjgtMTEuMmMwLjctMC4zLDEuNi0wLjIsMi4zLDAuMWMwLjcsMC4zLDEuMywwLjksMS42LDEuN0w3Myw1OWMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEw0MC40LDc0QzQwLDc0LjEsMzkuNyw3NC4yLDM5LjQsNzQuMnogTTM2LjUsNTQuN2w0LjYsMTIuN2wyNS4yLTkuMmwtNC42LTEyLjdMMzYuNSw1NC43eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTcwLDExOC45Yy0xLjIsMC0yLjQtMC43LTIuOC0xLjlsLTE0LTM3LjJsLTguNCwzLjFsLTE3LjIsMzQuNGMtMC43LDEuNS0yLjUsMi4xLTQsMS4zYy0xLjUtMC43LTIuMS0yLjUtMS4zLTRMNDAsNzljMC4zLTAuNywwLjktMS4yLDEuNy0xLjVMNTQsNzMuMWMxLjUtMC42LDMuMywwLjIsMy44LDEuOGwxNSw0MGMwLjYsMS42LTAuMiwzLjMtMS44LDMuOUM3MC43LDExOC44LDcwLjQsMTE4LjksNzAsMTE4Ljl6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuNiw4MC4xYy0xLjIsMC0yLjQtMC44LTIuOC0yTDYuMyw2NS45Yy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGw0LjQsMTIuMmMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEMxNC4zLDgwLjEsMTQsODAuMSwxMy42LDgwLjF6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuMiw3My4zYy0xLjIsMC0yLjQtMC44LTIuOC0yYy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOEwzNSw1OS4yYzEuNi0wLjYsMy4zLDAuMiwzLjgsMS44YzAuNiwxLjYtMC4yLDMuMy0xLjgsMy44bC0yMi44LDguM0MxMy45LDczLjMsMTMuNiw3My4zLDEzLjIsNzMuM3oiPjwvcGF0aD4KPC9zdmc+Cg==",mode:"single",embed:!0,inspector:!0,router:!0,colorScheme:"auto",colorSchemePersistent:!0,model:{slug:"default",name:"Nuxt Server Data",version:null,description:null,icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii02IC00IDEzNiAxNDAiPgogICAgPHJlY3QgeD0iNjUuNiIgeT0iMjQuNiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45Mzk3IC0wLjM0MiAwLjM0MiAwLjkzOTcgLTkuOTQyNiAzMS44MjgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzkuMyIgaGVpZ2h0PSIzOSI+PC9yZWN0PgogICAgPHJlY3QgeD0iNzAuNiIgeT0iNTIuNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTM5NyAwLjM0MiAtMC4zNDIgLTAuOTM5NyAxOTQuNzg1MiA4MS4xMjA0KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjM5LjMiIGhlaWdodD0iMTAiPjwvcmVjdD4KICAgIDxwYXRoIGZpbGw9IiM5OEJFRDgiIGQ9Ik0xMTEuNSw1NC42bC0xLjEsMS4xTDk3LjEsMTkuMWwxLjUsMC4yYzgsMC45LDE0LjcsNi4yLDE3LjQsMTMuN2wwLDBDMTE4LjgsNDAuNCwxMTcsNDguOCwxMTEuNSw1NC42eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTczLjUsNzIuMmMtMS4yLDAtMi40LTAuOC0yLjgtMkw1Ny4zLDMzLjVjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDM2LjktMTMuNGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGwxMy4zLDM2LjZjMC4zLDAuNywwLjIsMS42LTAuMSwyLjNjLTAuMywwLjctMC45LDEuMy0xLjcsMS42TDc0LjUsNzJDNzQuMiw3Mi4xLDczLjgsNzIuMiw3My41LDcyLjJ6TTY0LDM0LjNsMTEuMywzMWwzMS4zLTExLjRsLTExLjMtMzFMNjQsMzQuM3oiPjwvcGF0aD4KICAgIDxyZWN0IHg9IjM1IiB5PSI0Ni43IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjkzOTcgLTAuMzQyIDAuMzQyIDAuOTM5NyAtMTYuMjAxMSAyMC45ODgpIiBmaWxsPSIjRkZGRkZGIiB3aWR0aD0iMzIuOCIgaGVpZ2h0PSIxOS41Ij48L3JlY3Q+CiAgICA8cmVjdCB4PSIzNy4zIiB5PSI1OS44IiB0cmFuc2Zvcm09Im1hdHJpeCgtMC45Mzk3IDAuMzQyIC0wLjM0MiAtMC45Mzk3IDEyNS42NzYzIDEwMy4zOTQ2KSIgZmlsbD0iI0M3RDdFMiIgd2lkdGg9IjMyLjgiIGhlaWdodD0iNiI+PC9yZWN0PgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTM5LjQsNzQuMmMtMC40LDAtMC45LTAuMS0xLjMtMC4zYy0wLjctMC4zLTEuMy0wLjktMS42LTEuN2wtNi43LTE4LjNjLTAuMy0wLjctMC4yLTEuNiwwLjEtMi4zYzAuMy0wLjcsMC45LTEuMywxLjctMS42bDMwLjgtMTEuMmMwLjctMC4zLDEuNi0wLjIsMi4zLDAuMWMwLjcsMC4zLDEuMywwLjksMS42LDEuN0w3Myw1OWMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEw0MC40LDc0QzQwLDc0LjEsMzkuNyw3NC4yLDM5LjQsNzQuMnogTTM2LjUsNTQuN2w0LjYsMTIuN2wyNS4yLTkuMmwtNC42LTEyLjdMMzYuNSw1NC43eiI+PC9wYXRoPgogICAgPHBhdGggZmlsbD0iIzQ1NEI1NCIgZD0iTTcwLDExOC45Yy0xLjIsMC0yLjQtMC43LTIuOC0xLjlsLTE0LTM3LjJsLTguNCwzLjFsLTE3LjIsMzQuNGMtMC43LDEuNS0yLjUsMi4xLTQsMS4zYy0xLjUtMC43LTIuMS0yLjUtMS4zLTRMNDAsNzljMC4zLTAuNywwLjktMS4yLDEuNy0xLjVMNTQsNzMuMWMxLjUtMC42LDMuMywwLjIsMy44LDEuOGwxNSw0MGMwLjYsMS42LTAuMiwzLjMtMS44LDMuOUM3MC43LDExOC44LDcwLjQsMTE4LjksNzAsMTE4Ljl6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuNiw4MC4xYy0xLjIsMC0yLjQtMC44LTIuOC0yTDYuMyw2NS45Yy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOGMxLjYtMC42LDMuMywwLjIsMy44LDEuOGw0LjQsMTIuMmMwLjYsMS42LTAuMiwzLjMtMS44LDMuOEMxNC4zLDgwLjEsMTQsODAuMSwxMy42LDgwLjF6Ij48L3BhdGg+CiAgICA8cGF0aCBmaWxsPSIjNDU0QjU0IiBkPSJNMTMuMiw3My4zYy0xLjIsMC0yLjQtMC44LTIuOC0yYy0wLjYtMS42LDAuMi0zLjMsMS44LTMuOEwzNSw1OS4yYzEuNi0wLjYsMy4zLDAuMiwzLjgsMS44YzAuNiwxLjYtMC4yLDMuMy0xLjgsMy44bC0yMi44LDguM0MxMy45LDczLjMsMTMuNiw3My4zLDEzLjIsNzMuM3oiPjwvcGF0aD4KPC9zdmc+Cg==",url:"index.html",data:null,cache:!1,cacheReset:!1,upload:!1,download:!1,embed:!0,colorScheme:"auto",colorSchemePersistent:!0,inspector:!0,router:!0,meta:null},indexUrl:"",assets:{"model.js":"./model.js","model.css":"model.css","model-loader.css":"model-loader.css"}};if(!location.pathname.endsWith(".html")&&(hi.model&&(hi.indexUrl=hi.indexUrl.replace(/^\.\.\/|index\.html$/g,"")),hi.models))for(let n of hi.models)n.url=n.url.replace(/(^|\/|\\)index\.html$/,"$1");var Cr=hi;iu();Ou();Gh(Promise.resolve().then(()=>(ck(),uk)).then(n=>n.default),[Nu(Cr.assets["model.css"])],Cr,{styles:[Nu(Cr.assets["model-loader.css"])],embed:Cr.model.embed,...ha(Cr.model),encodings:Vs,dataSource:"push",data:!!Cr.model.data||null});})();
610
610
  </script>
611
611
  </body>
@@ -3,18 +3,18 @@
3
3
  <link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-egk2z7qr.css" crossorigin>
4
4
  <link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-mqq5uooj.css" crossorigin>
5
5
  <link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss.css-mhvipxpl.css" crossorigin>
6
- <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/dwllqfm4.js">
7
- <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-fw81xiot.js">
8
- <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss-dypm4cev.js">
9
- <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-j4jbxo4i.js">
6
+ <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/d41h1x7t.js">
7
+ <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-hrh84odz.js">
8
+ <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss-cbkcukyd.js">
9
+ <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-gvafmef1.js">
10
10
  <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/markdown-it-fvu08dbs.js">
11
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-5lq95or0.js">
12
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-dqkz7zx6.js">
13
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-n7na02au.js">
14
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/unocss-runtime-eltx4hvu.js">
15
- <link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404.css-lmmxplpx.css">
16
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404-labbsids.js">
17
- <link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500.css-u0boq89r.css">
18
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-gt8dgv0s.js">
19
- <script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/dwllqfm4.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1737192647194,false]</script>
20
- <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"55305690-3696-4c38-a13a-4bb5160a52cc",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
11
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-cnhydmlv.js">
12
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-bn257ljv.js">
13
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-jo30kydw.js">
14
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/unocss-runtime-abddx8lv.js">
15
+ <link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404.css-cl514xfg.css">
16
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404-m6dwmafk.js">
17
+ <link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500.css-m79ojnxd.css">
18
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-9wvbqziq.js">
19
+ <script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/d41h1x7t.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1737814906734,false]</script>
20
+ <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"75b10d99-a82f-45a8-b31c-8befa8b33c5a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
package/dist/module.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@nuxt/devtools",
3
3
  "configKey": "devtools",
4
- "version": "2.0.0-beta.2-28953210.23215e0",
4
+ "version": "2.0.0-beta.3-28963581.45c0e2d",
5
5
  "builder": {
6
- "@nuxt/module-builder": "0.8.3",
6
+ "@nuxt/module-builder": "0.8.4",
7
7
  "unbuild": "3.3.1"
8
8
  }
9
9
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/devtools-nightly",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.2-28953210.23215e0",
4
+ "version": "2.0.0-beta.3-28963581.45c0e2d",
5
5
  "description": "The Nuxt DevTools gives you insights and transparency about your Nuxt App.",
6
6
  "license": "MIT",
7
7
  "homepage": "https://devtools.nuxt.com",
@@ -32,14 +32,14 @@
32
32
  "vite": ">=6.0"
33
33
  },
34
34
  "dependencies": {
35
- "@nuxt/devtools-kit": "npm:@nuxt/devtools-kit-nightly@2.0.0-beta.2-28953210.23215e0",
36
- "@nuxt/devtools-wizard": "npm:@nuxt/devtools-wizard-nightly@2.0.0-beta.2-28953210.23215e0",
37
- "@nuxt/kit": "^3.15.1",
35
+ "@nuxt/devtools-kit": "npm:@nuxt/devtools-kit-nightly@2.0.0-beta.3-28963581.45c0e2d",
36
+ "@nuxt/devtools-wizard": "npm:@nuxt/devtools-wizard-nightly@2.0.0-beta.3-28963581.45c0e2d",
37
+ "@nuxt/kit": "^3.15.3",
38
38
  "birpc": "^2.0.19",
39
39
  "consola": "^3.4.0",
40
40
  "destr": "^2.0.3",
41
41
  "error-stack-parser-es": "^1.0.5",
42
- "execa": "^7.2.0",
42
+ "execa": "^9.5.2",
43
43
  "fast-npm-meta": "^0.2.2",
44
44
  "flatted": "^3.3.2",
45
45
  "get-port-please": "^3.1.2",
@@ -49,48 +49,48 @@
49
49
  "launch-editor": "^2.9.1",
50
50
  "local-pkg": "^1.0.0",
51
51
  "magicast": "^0.3.5",
52
- "nypm": "^0.4.1",
52
+ "nypm": "^0.5.0",
53
53
  "ohash": "^1.1.4",
54
- "pathe": "^2.0.1",
54
+ "pathe": "^2.0.2",
55
55
  "perfect-debounce": "^1.0.0",
56
56
  "pkg-types": "^1.3.1",
57
57
  "semver": "^7.6.3",
58
58
  "simple-git": "^3.27.0",
59
59
  "sirv": "^3.0.0",
60
60
  "tinyglobby": "^0.2.10",
61
- "vite-plugin-inspect": "^10.0.7",
61
+ "vite-plugin-inspect": "^10.1.0",
62
62
  "vite-plugin-vue-inspector": "^5.3.1",
63
- "which": "^3.0.1",
63
+ "which": "^5.0.0",
64
64
  "ws": "^8.18.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@antfu/utils": "^8.1.0",
68
- "@discoveryjs/cli": "^2.12.1",
68
+ "@discoveryjs/cli": "^2.13.1",
69
69
  "@discoveryjs/discovery": "1.0.0-beta.92",
70
70
  "@iconify-json/bxl": "^1.2.2",
71
71
  "@iconify-json/carbon": "^1.2.5",
72
72
  "@iconify-json/logos": "^1.2.4",
73
73
  "@iconify-json/ri": "^1.2.5",
74
- "@iconify-json/simple-icons": "^1.2.20",
75
- "@iconify-json/tabler": "^1.2.14",
74
+ "@iconify-json/simple-icons": "^1.2.21",
75
+ "@iconify-json/tabler": "^1.2.15",
76
76
  "@nuxt/content": "^2.13.4",
77
- "@nuxt/devtools": "npm:@nuxt/devtools-nightly@2.0.0-beta.2-28953210.23215e0",
77
+ "@nuxt/devtools": "npm:@nuxt/devtools-nightly@2.0.0-beta.3-28963581.45c0e2d",
78
78
  "@nuxt/test-utils": "^3.15.4",
79
79
  "@parcel/watcher": "^2.5.0",
80
- "@shikijs/langs-precompiled": "^1.27.2",
80
+ "@shikijs/langs-precompiled": "^2.1.0",
81
81
  "@types/markdown-it-link-attributes": "^3.0.5",
82
- "@unocss/nuxt": "^65.4.0",
83
- "@unocss/preset-icons": "^65.4.0",
84
- "@unocss/preset-uno": "^65.4.0",
85
- "@unocss/runtime": "^65.4.0",
86
- "@vitest/ui": "^2.1.8",
87
- "@vue/devtools-applet": "^7.7.0",
88
- "@vue/devtools-core": "^7.7.0",
89
- "@vue/devtools-kit": "^7.7.0",
90
- "@vueuse/nuxt": "^12.4.0",
82
+ "@unocss/nuxt": "^65.4.3",
83
+ "@unocss/preset-icons": "^65.4.3",
84
+ "@unocss/preset-uno": "^65.4.3",
85
+ "@unocss/runtime": "^65.4.3",
86
+ "@vitest/ui": "^3.0.4",
87
+ "@vue/devtools-applet": "^7.7.1",
88
+ "@vue/devtools-core": "^7.7.1",
89
+ "@vue/devtools-kit": "^7.7.1",
90
+ "@vueuse/nuxt": "^12.5.0",
91
91
  "@xterm/addon-fit": "^0.10.0",
92
92
  "@xterm/xterm": "^5.5.0",
93
- "cronstrue": "^2.52.0",
93
+ "cronstrue": "^2.53.0",
94
94
  "esno": "^4.8.0",
95
95
  "floating-vue": "^5.2.2",
96
96
  "fuse.js": "^7.0.0",
@@ -100,16 +100,16 @@
100
100
  "my-ua-parser": "^2.0.4",
101
101
  "nanoid": "^5.0.9",
102
102
  "nitropack": "^2.10.4",
103
- "nuxt": "^3.15.1",
103
+ "nuxt": "^3.15.3",
104
104
  "ofetch": "^1.4.1",
105
- "quicktype-core": "^23.0.170",
105
+ "quicktype-core": "^23.0.171",
106
106
  "scule": "^1.3.0",
107
- "shiki": "^1.27.2",
108
- "shiki-codegen": "^1.27.2",
107
+ "shiki": "^2.1.0",
108
+ "shiki-codegen": "^2.1.0",
109
109
  "theme-vitesse": "^0.8.3",
110
- "unimport": "^3.14.6",
111
- "unocss": "^65.4.0",
112
- "unplugin-vue-markdown": "^28.0.0",
110
+ "unimport": "^4.0.0",
111
+ "unocss": "^65.4.3",
112
+ "unplugin-vue-markdown": "^28.1.0",
113
113
  "vanilla-jsoneditor": "^2.3.3",
114
114
  "vis-data": "^7.1.9",
115
115
  "vis-network": "^9.1.9",
@@ -1 +0,0 @@
1
- import{k as e,S as n,Q as t}from"./vendor/json-editor-vue-fw81xiot.js";const c={"h-screen":"","w-screen":"","bg-black":""},r=e({__name:"__blank",setup(o){return(s,_)=>(t(),n("div",c))}});export{r as default};