@fox-js/fox 3.0.1-6 → 3.0.1-9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/libs/index.cjs.js +2 -2
- package/libs/index.esm.d.ts +7 -5
- package/libs/index.esm.js +902 -901
- package/libs/index.umd.js +2 -2
- package/package.json +2 -2
package/libs/index.cjs.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";/*!
|
|
2
|
-
* fox v3.0.0
|
|
3
|
-
*/Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("vue"),wr=Array.isArray,Br=r=>nt(r)==="[object Map]",Wr=r=>nt(r)==="[object Set]",kr=r=>r instanceof Date,S=r=>typeof r=="function",zr=r=>typeof r=="string",Jr=r=>typeof r=="symbol",br=r=>r!==null&&typeof r=="object",Gr=r=>br(r)&&S(r.then)&&S(r.catch),Qr=Object.prototype.toString,nt=r=>Qr.call(r),Ze=r=>nt(r)==="[object Object]",Xr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Dt(r){return r.__esModule||Xr&&r[Symbol.toStringTag]==="Module"}const Yr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function E(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,n=r.length,s=!1;for(typeof e=="boolean"&&(s=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<n;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let l=e[o],u=i[o];if(l!==u)if(s===!0&&u&&typeof u=="object"){let f;Array.isArray(u)?f=l&&Array.isArray(l)?l:[]:f=l&&typeof l=="object"?l:{},e[o]=E(s,f,u)}else u!==void 0&&(e[o]=u)}}return e}function Oe(r,e,t=!1){if(!t)E(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s in e){let i=r[s],o=e[s];if(i!==o)if(typeof o=="object"){if(!Array.isArray(o)&&!Ze(o))continue;i=Oe(i,o,t),r[s]=i}else{if(typeof o=="function")continue;r[s]=o}}const n=Object.getOwnPropertySymbols(e);for(let s of n){let i=r[s],o=e[s];if(i!==o)if(typeof o=="object"){if(!Array.isArray(o)&&!Ze(o))continue;i=Oe(i,o,t),r[s]=i}else{if(typeof o=="function")continue;r[s]=o}}}return r}class ee{static seed=new Date().getTime();static get(){let e=++ee.seed;return e>=Number.MAX_VALUE&&(ee.seed=0),e}}const ut=Yr?Promise.resolve():null;function $e(r,...e){ut!==null?e&&e.length>0?ut.then(()=>{r(e)}):ut.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Ut(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":Boolean(r)}function Zr(r){return typeof r=="number"?r:Number(r)}const en={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function Le(r){let t=Object.prototype.toString.call(r);return r==null?String(r):en[t]||"object"}function xr(r){return r&&typeof r=="object"&&"setInterval"in r}function Vt(r){let e=!!r&&"length"in r&&r.length,t=Le(r);return t==="function"||xr(r)?!1:t==="array"||e===0||typeof e=="number"&&e>0&&e-1 in r}function Rr(r,e){let t=+e.length,n=0,s=r.length;for(;n<t;n++)r[s++]=e[n];return r.length=s,r}function tn(r,e=[]){let t=e;return r!=null&&(Vt(Object(r))?Rr(t,typeof r=="string"?[r]:r):t.push(r)),t}function rn(r,e,t){if(Vt(r))Reflect.apply([].forEach,r,[e]);else for(let n in r)if(t&&r.hasOwnProperty(n)){if(Reflect.apply(e,r,[r[n]])===!1)break}else if(Reflect.apply(e,r,[r[n]])===!1)break;return r}function et(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Le(r),n=Le(e);if(t!==n)return!1;if(t==="object"){let s=Object.keys(r),i=Object.keys(e);if(s.length!==i.length)return!1;for(let o=0;o<s.length;o++){let l=s[o],u=r[l],f=e[l];if(!et(u,f))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let s=0;s<r.length;s++){let i=r[s],o=e[s];if(!et(i,o))return!1}return!0}return!1}const tr=Symbol("idKey"),ue=Symbol("valueKey"),C=Symbol("childrenKey"),Q=Symbol("growKey");class Sr{[Q]=!0;[tr];[ue]=g.ref();[C]=new Map;constructor(e){this[tr]=e}}class nn{get(e,t){if(t=="value")return e[ue].value;if(t==="grow")return e[Q];let n=e[C].get(t);if(n)return Me(n);if(e[Q])return n=Wt(t),n[Q]=e[Q],e[C].set(t,n),Me(n)}set(e,t,n){return t=="value"?(e[ue].value=n,!0):t==="grow"?(e[Q]=Ut(n),!0):n==null?(e[C].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[C].delete(t),!0)}}const Bt="__proxy__";function Wt(r){let e=new Sr(r);return Reflect.set(e,Bt,new Proxy(e,new nn)),e}function Me(r){return Reflect.get(r,Bt)}class Cr extends Sr{constructor(){super("__root__")}put(...e){let t=e.length;if(t<2)return console.error("\u53C2\u6570\u81F3\u5C11\u5305\u62EC\u4E00\u4E2A(key, value)"),!1;let n=this;for(let s=0;s<t-1;s++){let i=e[s],o;n[C].has(i)?o=n[C].get(i):(o=Wt(i),n[C].set(i,o)),n=o}return n[ue].value=e[t-1],!0}get(...e){let t=e.length;if(t===0)return;let n=this;for(let s=0;s<t;s++){let i=e[s];if(n[C].has(i))n=n[C].get(i);else return}return n[ue].value}remove(...e){let t=e.length;if(t==0)return!1;let n=this;for(let i=0;i<t-1;i++){let o=e[i];if(n[C].has(o))n=n[C].get(o);else return!1}let s=e[t-1];return n[C].has(s)?(n[C].delete(s),!0):!1}contains(...e){let t=e.length;if(t==0)return!1;let n=this;for(let i=0;i<t-1;i++){let o=e[i];if(n[C].has(o))n=n[C].get(o);else return!1}let s=e[t-1];return n[C].has(s)}clear(){this[C].clear()}}const sn=["put","get","contains","remove","clear"];function rr(r){return sn.includes(r)}class on{get(e,t){if(t=="value")return e[ue].value;if(t==="grow")return e[Q];if(t===C)return e[C];if(typeof t=="string"&&rr(t))return e[t];let n=String(t),s=e[C].get(n);if(s)return Me(s);if(e[Q])return s=Wt(n),s[Q]=e[Q],e[C].set(n,s),Me(s)}set(e,t,n){return t=="value"?(e[ue].value=n,!0):t==="grow"?(e[Q]=Ut(n),!0):rr(t)?!1:n==null?(e[C].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[C].delete(t),!0)}}function ln(){let r=new Cr,e=new on,t=new Proxy(r,e);return Object.assign({put(...s){return Reflect.apply(r.put,r,s)},get(...s){return Reflect.apply(r.get,r,s)},remove(...s){return Reflect.apply(r.remove,r,s)},contains(...s){return Reflect.apply(r.contains,r,s)},clear(){return Reflect.apply(r.clear,r,[])}},t),Reflect.set(r,Bt,t),r}let _t=new Proxy(Cr,{construct(r,...e){let t=ln();return Me(t)}});function un(r){for(var e=[],t=0;t<r.length;){var n=r[t];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:t,value:r[t++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:t++,value:r[t++]});continue}if(n==="{"){e.push({type:"OPEN",index:t,value:r[t++]});continue}if(n==="}"){e.push({type:"CLOSE",index:t,value:r[t++]});continue}if(n===":"){for(var s="",i=t+1;i<r.length;){var o=r.charCodeAt(i);if(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||o===95){s+=r[i++];continue}break}if(!s)throw new TypeError("Missing parameter name at ".concat(t));e.push({type:"NAME",index:t,value:s}),t=i;continue}if(n==="("){var l=1,u="",i=t+1;if(r[i]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(i));for(;i<r.length;){if(r[i]==="\\"){u+=r[i++]+r[i++];continue}if(r[i]===")"){if(l--,l===0){i++;break}}else if(r[i]==="("&&(l++,r[i+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(i));u+=r[i++]}if(l)throw new TypeError("Unbalanced pattern at ".concat(t));if(!u)throw new TypeError("Missing pattern at ".concat(t));e.push({type:"PATTERN",index:t,value:u}),t=i;continue}e.push({type:"CHAR",index:t,value:r[t++]})}return e.push({type:"END",index:t,value:""}),e}function Pr(r,e){e===void 0&&(e={});for(var t=un(r),n=e.prefixes,s=n===void 0?"./":n,i="[^".concat(me(e.delimiter||"/#?"),"]+?"),o=[],l=0,u=0,f="",a=function(R){if(u<t.length&&t[u].type===R)return t[u++].value},c=function(R){var q=a(R);if(q!==void 0)return q;var K=t[u],_=K.type,L=K.index;throw new TypeError("Unexpected ".concat(_," at ").concat(L,", expected ").concat(R))},h=function(){for(var R="",q;q=a("CHAR")||a("ESCAPED_CHAR");)R+=q;return R};u<t.length;){var d=a("CHAR"),y=a("NAME"),v=a("PATTERN");if(y||v){var p=d||"";s.indexOf(p)===-1&&(f+=p,p=""),f&&(o.push(f),f=""),o.push({name:y||l++,prefix:p,suffix:"",pattern:v||i,modifier:a("MODIFIER")||""});continue}var m=d||a("ESCAPED_CHAR");if(m){f+=m;continue}f&&(o.push(f),f="");var b=a("OPEN");if(b){var p=h(),j=a("NAME")||"",x=a("PATTERN")||"",P=h();c("CLOSE"),o.push({name:j||(x?l++:""),pattern:j&&!x?i:x,prefix:p,suffix:P,modifier:a("MODIFIER")||""});continue}c("END")}return o}function an(r,e){return fn(Pr(r,e),e)}function fn(r,e){e===void 0&&(e={});var t=kt(e),n=e.encode,s=n===void 0?function(u){return u}:n,i=e.validate,o=i===void 0?!0:i,l=r.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),t)});return function(u){for(var f="",a=0;a<r.length;a++){var c=r[a];if(typeof c=="string"){f+=c;continue}var h=u?u[c.name]:void 0,d=c.modifier==="?"||c.modifier==="*",y=c.modifier==="*"||c.modifier==="+";if(Array.isArray(h)){if(!y)throw new TypeError('Expected "'.concat(c.name,'" to not repeat, but got an array'));if(h.length===0){if(d)continue;throw new TypeError('Expected "'.concat(c.name,'" to not be empty'))}for(var v=0;v<h.length;v++){var p=s(h[v],c);if(o&&!l[a].test(p))throw new TypeError('Expected all "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));f+=c.prefix+p+c.suffix}continue}if(typeof h=="string"||typeof h=="number"){var p=s(String(h),c);if(o&&!l[a].test(p))throw new TypeError('Expected "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));f+=c.prefix+p+c.suffix;continue}if(!d){var m=y?"an array":"a string";throw new TypeError('Expected "'.concat(c.name,'" to be ').concat(m))}}return f}}function cn(r,e){var t=[],n=Ar(r,t,e);return hn(n,t,e)}function hn(r,e,t){t===void 0&&(t={});var n=t.decode,s=n===void 0?function(i){return i}:n;return function(i){var o=r.exec(i);if(!o)return!1;for(var l=o[0],u=o.index,f=Object.create(null),a=function(h){if(o[h]===void 0)return"continue";var d=e[h-1];d.modifier==="*"||d.modifier==="+"?f[d.name]=o[h].split(d.prefix+d.suffix).map(function(y){return s(y,d)}):f[d.name]=s(o[h],d)},c=1;c<o.length;c++)a(c);return{path:l,index:u,params:f}}}function me(r){return r.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function kt(r){return r&&r.sensitive?"":"i"}function dn(r,e){if(!e)return r;for(var t=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,s=t.exec(r.source);s;)e.push({name:s[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),s=t.exec(r.source);return r}function yn(r,e,t){var n=r.map(function(s){return Ar(s,e,t).source});return new RegExp("(?:".concat(n.join("|"),")"),kt(t))}function pn(r,e,t){return mn(Pr(r,t),e,t)}function mn(r,e,t){t===void 0&&(t={});for(var n=t.strict,s=n===void 0?!1:n,i=t.start,o=i===void 0?!0:i,l=t.end,u=l===void 0?!0:l,f=t.encode,a=f===void 0?function(L){return L}:f,c=t.delimiter,h=c===void 0?"/#?":c,d=t.endsWith,y=d===void 0?"":d,v="[".concat(me(y),"]|$"),p="[".concat(me(h),"]"),m=o?"^":"",b=0,j=r;b<j.length;b++){var x=j[b];if(typeof x=="string")m+=me(a(x));else{var P=me(a(x.prefix)),R=me(a(x.suffix));if(x.pattern)if(e&&e.push(x),P||R)if(x.modifier==="+"||x.modifier==="*"){var q=x.modifier==="*"?"?":"";m+="(?:".concat(P,"((?:").concat(x.pattern,")(?:").concat(R).concat(P,"(?:").concat(x.pattern,"))*)").concat(R,")").concat(q)}else m+="(?:".concat(P,"(").concat(x.pattern,")").concat(R,")").concat(x.modifier);else x.modifier==="+"||x.modifier==="*"?m+="((?:".concat(x.pattern,")").concat(x.modifier,")"):m+="(".concat(x.pattern,")").concat(x.modifier);else m+="(?:".concat(P).concat(R,")").concat(x.modifier)}}if(u)s||(m+="".concat(p,"?")),m+=t.endsWith?"(?=".concat(v,")"):"$";else{var K=r[r.length-1],_=typeof K=="string"?p.indexOf(K[K.length-1])>-1:K===void 0;s||(m+="(?:".concat(p,"(?=").concat(v,"))?")),_||(m+="(?=".concat(p,"|").concat(v,")"))}return new RegExp(m,kt(t))}function Ar(r,e,t){return r instanceof RegExp?dn(r,e):Array.isArray(r)?yn(r,e,t):pn(r,e,t)}const Z="default",Er=Symbol("sync"),I=Symbol("resolveRoute");function nr(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function vn(r){let e=r.src;return new Promise((t,n)=>{const s=nr(l=>{Dt(l)&&(l=l.default),r.component=l,console.debug("success load async module"),t()}),i=nr(l=>{console.debug("reject load async module"),n(l)});let o;try{o=e(s,i)}catch(l){i(l)}if(o)if(typeof o.then=="function")o.then(s,i);else{const l=o.component;l&&typeof l.then=="function"&&l.then(s,i)}})}class gn{name;level;rootName;rootIndex=0;constructor(e,t,n,s){this.name=e,this.level=t,this.rootName=n,this.rootIndex=s}}class tt{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){let t=new tt(e.to,e.from),n=e.data??{};return E(!0,t.data,n),t}}class ${path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??Z}!${e}`}name;root;params;query;matched;meta;success;error;destroy;opsType;updateType;viewTagAttrs;index;active;slot;session;static clone(e,t){let n=new $;return Oe(n,e,t),n}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new $;if(e==null)return t;let n=t;for(let i in e){let o=e[i];n[i]=o}const s=Object.getOwnPropertySymbols(e);if(Array.isArray(s)&&s.length>0)for(let i of s)n[i]=e[i];return t}}class wn{id;name;props;meta;src;component;constructor(e,t,n,s){this.id=ee.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=n,this.meta=s}get isResolved(){return this.component!==void 0}resolve(){return vn(this)}}class ir{models=[]}class at{path;match;redirect;name;layers=[]}var A=(r=>(r[r.Push=0]="Push",r[r.Replace=1]="Replace",r[r.Put=2]="Put",r[r.Append=3]="Append",r[r.Open=4]="Open",r))(A||{}),Qe=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(Qe||{});const G=Symbol("rootKey"),J=Symbol("rootNodeKey"),le=Symbol("parentNodeKey"),Xe=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,n=0,s=!0){this.route=e,this.model=t,this.index=n,this.active=s}}class Se{scope=null;set compensation(e){this.scope!==null&&this.scope.stop(),this.scope=g.effectScope(),this.scope.run(()=>{g.watch(this.slots,()=>{let t=!1;try{t=e()}catch(n){console.error(n)}t&&this.scope!==null&&(this.scope.stop(),this.scope=null)})})}_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[Xe];[G];[J]=null;[le]=null;get name(){return this[Xe]}constructor(e,t,n){this[Xe]=e,this[G]=t,n&&(this[J]=n)}}class D{view;index;level;constructor(e,t,n){this.view=e,this.index=t,this.level=n}static include(e,t){for(let n=0;n<e.length;n++){let s=e[n];if(s.view===t.view&&(t.index==-1||s.index===t.index)&&s.level===t.level)return!0}return!1}}class ft{views=[]}class bn{layers=[]}class xn{time;route}class Rn{forbidTime=300;submitRecorder=new xn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const we=typeof window<"u",N=function(){return window},Ce=function(){return window.document};function Sn(r){let e=r,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function Cn(){if(!we)return"/";let r=N().location,e=`${r.protocol}//${r.host}`;return e+=Sn(r.pathname),e}function qt(r,e,t){r.addEventListener?r.addEventListener(e,t,!1):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function $t(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}let ct=Cn();function Pn(r,e="text"){e=e.trim().toLowerCase();let t="";if(e.indexOf("application/x-www-form-urlencoded")===0)if(typeof r=="object")for(let n in r){let s=r[n];if(Array.isArray(s))for(let i=0;i<s.length;i++){let o=`${encodeURIComponent(n)}=${encodeURIComponent(s[i])}`;t.length>0&&(t+="&"),t+=o}else{let i=`${encodeURIComponent(n)}=${encodeURIComponent(s)}`;t.length>0&&(t+="&"),t+=i}}else t=r;else e.indexOf("text")===0?typeof r=="object"?t=JSON.stringify(r):t=r:e.indexOf("application/json")===0&&typeof r=="object"?t=JSON.stringify(r):t=r;return t}function An(r,e,t="text"){if(e==null)return r;t=t.trim().toLowerCase();let n="";if(t.indexOf("application/x-www-form-urlencoded")===0||t.indexOf("application/json")===0)if(typeof e=="object")for(let s in e){let i=e[s];if(Array.isArray(i))for(let o=0;o<i.length;o++){let l=`${encodeURIComponent(s)}=${encodeURIComponent(i[o])}`;n.length>0&&(n+="&"),n+=l}else{let o=`${encodeURIComponent(s)}=${encodeURIComponent(i)}`;n.length>0&&(n+="&"),n+=o}}else n=e;else n=e;return n.length>0&&(r.indexOf("?")===-1?r=`${r}?${n}`:r=`${r}&${n}`),r}const En={method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8"},mode:"cors",credentials:"same-origin",cache:"default",redirect:"follow",keepalive:!0},ve=new Map;async function zt(r){let{id:e,method:t="POST",url:n,headers:s={},data:i,processData:o=!0,timeout:l=-1}=r;if(e&&ve.has(e))throw new Error("resubmit");t=t.toUpperCase();let{contentType:u="application/json; charset=UTF-8"}=s,f=E(!0,{...En},{method:t,headers:s});if(t==="GET"?n=An(n,i,u):(o&&(i=Pn(i,u)),f.body=i),e||l>0){e||(e=`fetch_${ee.get()}`);const a=new AbortController;f.signal=a.signal;let c={timer:null,controller:a};if(l>0){const h=setTimeout(()=>{c.timer&&c.controller.abort()},l);c.timer=h}ve.set(e,c)}try{let a=await fetch(n,f),c={};a.headers.forEach((y,v)=>{c[y]=v});let h,d=c["content-type"]??"";return d.indexOf("application/json")!==-1?h=await a.json():d.indexOf("text")!=-1?h=await a.text():h=await a.blob(),{ok:a.ok,status:a.status,statusText:a.statusText,headers:c,data:h,response:a}}catch(a){throw a}finally{if(e){let a=ve.get(e);a&&(a.timer&&(clearTimeout(a.timer),a.timer=null),ve.delete(e))}}}function Fn(r){let e=ve.get(r);return e?(e.timer&&(clearTimeout(e.timer),e.timer=null),e.controller.abort(),ve.delete(r),!0):!1}class Tn{cache=new Map;constructor(){}async get(e,t=-1){if(this.cache.has(e))return this.cache.get(e);let n=await zt({url:e,method:"GET",timeout:t,heaaders:{"content-type":"text/plain"}});if(n.ok)return this.cache.set(e,n.data),n.data;throw Error(n.statusText)}remove(e){this.cache.delete(e)}}var z=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(z||{});class jn{exports;status;id;src}class Kn{register=new Map;constructor(){}get(e){return this.register.get(e)}put(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t}contains(e){return this.register.has(e)}clear(){this.register.clear()}}const U=Symbol("chainKey"),M=Symbol("cursorKey"),ht=Symbol("$persistentModeKey"),F=Symbol("statusKey"),X=Symbol("argsKey"),Ne=Symbol("exArgsKey"),fe=Symbol("successFnsKey"),Pe=Symbol("errorFnsKey"),ie=Symbol("sessionKey"),Y=Symbol("_go");class Ie{[U]=[];[M]=0;[ht]=!1;[F]="Free";[X]=[];[Ne]=[];[fe]=[];[Pe]=[];[ie];get session(){return this[ie]}constructor(e,t=!1){this[ie]=e,this[ht]=t}[Y](e,...t){let n=this[F];if(this[F]="Busy",this[M]+=e,this[M]<0&&(this[M]=0),this[X]=t,n==="Exception"||n==="Reject"){let l=[{session:this[ie]},...this[Ne]];for(;this[Pe].length>0;)try{let u=this[Pe].shift();typeof u=="function"&&$e(()=>{Reflect.apply(u,{},l)})}catch(u){console.error(u.message,u)}return this[F]=n,this[U]=[],this[M]=0,this}else if(n==="Finished"||this[M]>=this[U].length){let l=[{session:this[ie]},...this[X]];for(;this[fe].length>0;){let u=this[fe].shift();typeof u=="function"&&$e(()=>{Reflect.apply(u,{},l)})}return this[F]="Free",this}if(this[M]>=this[U].length)return this[F]="Free",this;let s=this[U][this[M]];this[ht]||(this[U].splice(0,this[M]+1),this[M]=-1);let i=this[M]+1;try{let o=!1,l={go:(u,...f)=>{o||(o=!0,Reflect.apply(this[Y],this,[u,...f]))},resolve:(...u)=>{o||(o=!0,Reflect.apply(this[Y],this,[1,...u]))},reject:(...u)=>{o||(o=!0,Reflect.apply(this.reject,this,[...u]))},insert:u=>{o||(this[U].splice(i,0,u),i++)},session:this[ie]};$e(()=>{Reflect.apply(s,{},[l,...this[X]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[Y],this,[e,...t])}finish(...e){return this[F]="Finished",this[X]=e,Reflect.apply(this[Y],this,[0])}reject(...e){return this[F]="Reject",this[Ne]=e,Reflect.apply(this[Y],this,[0])}throw(...e){return this[F]="Exception",this[Ne]=e,Reflect.apply(this[Y],this,[0])}reset(...e){this[F]="Busy",this[X]=e,this[U]=[],this[M]=0;let n=[{session:this[ie]},...this[X]];for(;this[fe].length>0;){let s=this[fe].shift();$e(()=>{Reflect.apply(s,this,n)})}return this[F]="Free",this}post(e){return this[F]==="Reject"||this[F]==="Exception"?this:(Array.isArray(e)?this[U]=[...this[U],...e]:this[U].push(e),this[F]==="Busy"?this:(Reflect.apply(this[Y],this,[0,...this[X]]),this))}wait(e,t){return e&&typeof e=="function"&&this[fe].push(e),t&&typeof t=="function"&&this[Pe].push(t),this[F]==="Busy"?this:(Reflect.apply(this[Y],this,[0,...this[X]]),this)}exception(e){return e&&typeof e=="function"&&this[Pe].push(e),this[F]==="Busy"?this:Reflect.apply(this[Y],this,[0,...this[X]])}isFinish(){return this[F]=="Reject"||this[F]=="Free"&&this[M]>=this[U].length}}class _n{head;isOldWebKit;moduleManager=new Kn;resource=new Tn;options;_query;set query(e){this._query=e}get query(){return this._query}constructor(e={}){const t=Ce();this.head=t.head||t.getElementsByTagName("head")[0]||t.documentElement,this.isOldWebKit=+navigator.userAgent.replace(/.*(?:AppleWebKit|AndroidWebKit)\/(\d+).*/,"$1")<536,this.options=e,this.options.paths||(this.options.paths={}),this.options.alias||(this.options.alias={})}ensure(...e){let t=[],n=e.length-1,s={};typeof e[n]=="object"&&(Object.assign(s,e[n]),n--);let i=null;typeof e[n]=="function"&&(i=e[n],n--);for(let u=0;u<=n;u++)if(Array.isArray(e[u])){let f=e[u];for(let a=0;a<f.length;a++)f[a]!==void 0&&t.push(this.resolvePath(f[a]))}else{let f=e[u].split(",");for(let a=0;a<f.length;a++)f[a]!==void 0&&t.push(this.resolvePath(f[a]))}let o=new qn(t.length,(u,f)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},f)}catch(a){console.error(a.message,a)}else try{console.error(u),typeof i=="function"&&Reflect.apply(i,{},[])}catch(a){console.error(a.message,a)}}),l=new Ie;for(let u=0;u<t.length;u++){let f=new $n(u,t[u],s,o);this.mount(l,f)}return this}remove(...e){let t=[],n=e.length-1,s={};typeof e[n]=="object"&&(Object.assign(s,e[n]),n--);let i=null;typeof e[n]=="function"&&(i=e[n],n--);for(let o=0;o<=n;o++)if(Array.isArray(e[o])){let l=e[o];for(let u=0;u<l.length;u++)l[u]!==void 0&&t.push(this.resolvePath(l[u]))}else{let l=e[o].split(",");for(let u=0;u<l.length;u++)l[u]!==void 0&&t.push(this.resolvePath(l[u]))}return t.forEach(o=>{this.unmount(o,s)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){const n=Ce();if(this.isNaturePath(t.src,"js")){let i=t.params.jsPoint;i||(i=this.head),this.mountJS(e,t,i);return}else if(this.isNaturePath(t.src,"css")){let i=t.params.cssPoint;i||(i=this.head),this.mountCSS(e,t,i);return}else if(this.isNaturePath(t.src,"html")){let i=t.params.htmlPoint;i||(i=n.body),this.mountHTML(e,t,i);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let i=t.params.jsPoint;i||(i=this.head),this.mountJS(e,t,i);return}else if(s==="css"){let i=t.params.cssPoint;i||(i=this.head),this.mountCSS(e,t,i);return}else{let i=t.params.htmlPoint;i||(i=n.body),this.mountHTML(e,t,i);return}}mountHTML(e,t,n){e.post(s=>{let i=t.params.timeout??this.options.timeout??3e4,o=t.src;this.resource.get(o,i).then(l=>{n.innerHTML=l,t.progress.work(!0,t.index,l),s.resolve()},l=>{console.error(l),t.progress.work(!1,t.index,null),s.reject()})})}mountCSS(e,t,n){e.post(s=>{const i=Ce(),o=t.src,l=i.createElement("link"),u="onload"in l;if(this.isOldWebKit||!u){const a={timeout:this.options.time||3e3,time:0,isOldWebKit:this.isOldWebKit,success:()=>{t.progress.work(!0,t.index,t.src),s.resolve()},error:()=>{try{n.removeChild(l)}catch(c){console.error(c.message,c)}t.progress.work(!1,t.index,null),s.resolve()}};setTimeout(()=>{Fr(l,a)},1)}else l.onload=()=>{l.onload=l.onerror=null,t.progress.work(!0,t.index,t.src),s.resolve()},l.onerror=()=>{try{n.removeChild(l)}catch(a){console.error(a.message,a)}l.onload=l.onerror=null,t.progress.work(!1,t.index,null),s.reject()};let f=i.getElementById(o);f&&f.parentNode&&f.parentNode.removeChild(f),l.rel="stylesheet",l.type="text/css",l.id=o,l.href=o,n.appendChild(l)})}mountJS(e,t,n){e.post(s=>{let i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==z.Defined||o.status==z.Loaded)){if(o.exports){t.progress.work(!0,t.index,o.exports),s.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),s.resolve();return}}o=new jn,o.id=i,o.src=i,o.status=z.Loading,this.moduleManager.put(i,o);const u=Ce().createElement("script");if("onload"in u)u.onload=()=>{u.onload=u.onerror=null,o.status==z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),s.resolve()},u.onerror=()=>{try{n.removeChild(u)}catch(c){console.error(c.message,c)}u.onload=u.onerror=null,t.progress.work(!1,t.index,null),s.reject()};else{let c=u;c.onreadystatechange=()=>{/loaded|complete/.test(c.readyState)&&(c.onreadystatechange=null,o.status==z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),s.resolve())}}u.defer=!0,u.src=i;let a=N();a.define=this.createDefine(o,t),n.appendChild(u)})}unmount(e,t={}){const n=Ce(),s=this.getFileNamePostfix(e);if(s==="js"||s.length===0){const i=n.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(s==="css"){const i=n.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}else{this.resource.remove(e);let i=t.htmlPoint;i||(i=n.body),i.innerHTML="";return}}trimEmptyElement(e){let t=[];for(let n=0;n<e.length;n++){let s=e[n].trim();s.length!==0&&t.push(s)}return t}createDefine(e,t){let n=this,s=function(...i){e.status=z.Defining;let o,l,u,f=i.length;f===1?(u=i[0],o=void 0):f===2?(u=i[1],Array.isArray(i[0])?(l=n.trimEmptyElement(i[0]),o=void 0):l=void 0):(o=i[0],l=n.trimEmptyElement(i[1]),u=i[2]),o&&(e.id=o,n.options.alias[o]=e.src),l&&l.length>0?n.ensure(l,(...a)=>{typeof u=="function"?e.exports=Reflect.apply(u,e,a):e.exports=u,e.status=z.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof u=="function"?e.exports=Reflect.apply(u,e,[]):e.exports=u,e.status=z.Defined,t.progress.work(!0,t.index,e.exports))};return s.amd=!0,s}resolvePath(e){try{if(this.isNaturePath(e,"all"))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let n=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&t!=="html"&&(e+=".js"),n.length>0&&(e+=`?${n}`)):n.length>0&&(e+=`&${n}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let n in e){let s=`${e[n]}`;t+=`${encodeURIComponent(n)}=${encodeURIComponent(s)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let n=e.lastIndexOf(".",t);return n==-1?"":e.substring(n+1,t)}isNaturePath(e,t){if(this.options.nature==null)return!1;if(t==="all"||t==="js"){let n=this.options.nature.js;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}if(t==="all"||t==="css"){let n=this.options.nature.css;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}if(t==="all"||t==="html"){let n=this.options.nature.html;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return ct+e.slice(1);if(e.indexOf("./")==0)return ct+e.slice(2);if(t){let s=this.options.alias[e];if(!s){let i=e.indexOf("/");if(i==-1)s=e;else{let o=e.slice(0,i),l=this.options.paths[o];l?s=l+e.slice(i):s=e}}return this.parserPath(s,!1)}return ct+e}}function Fr(r,e){let t=r.sheet,n=!1;if(e.isOldWebKit)t&&(n=!0);else if(t)try{t.cssRules&&(n=!0)}catch(s){s.name==="NS_ERROR_DOM_SECURITY_ERR"&&(n=!0)}setTimeout(()=>{e.time+=20,n?e.success():e.time>e.timeout?e.error():Fr(r,e)},20)}class qn{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,n){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(n)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(s){console.error(s.message,s)}}isOK(){return this.status}}class $n{index;src;params;progress;constructor(e,t,n,s){this.index=e,this.src=t,this.params=n,this.progress=s}}const ge=Symbol("_notifyChange");class On{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const He=Symbol("ignoreHistoryChangeOnceKey"),sr=Symbol("_navigateFirstRoute"),De=Symbol("_getRouteMark"),or=Symbol("_getUrlSearch"),dt=Symbol("_generateLocation"),Ae=Symbol("_setRouteMarkRecorder"),lr="Symbol(_fox_restore_point)";function yt(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}class Tr{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[He]=!1;constructor(e="hash",t="",n="",s=!0,i=!0,o=!1,l){this.mode=e,this.base=t,this.query=n,this.firstNavigate=s,this.historyMonitor=i,this.traceless=o,this.storage=l??N().sessionStorage}init(e=!0){const t=N();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(this[He]){this[He]=!1;return}if(yt(this.historyMonitor)){const n=t.history.state;this[ge](n);try{let s=[];if(typeof n=="string"?s=JSON.parse(n):s=n,Array.isArray(s)&&s.length>0){const i=this[De]()??"/";this[Ae](i,s)}}catch{}}}),qt(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[sr](),Promise.resolve()}destroy(){if(this.historyChange){const e=N();$t(e,"popstate",this.historyChange)}}[sr](){let e=this[De]()??"/";const t=this.storage.getItem(lr);if(t)try{const o=JSON.parse(t);if(o.mark===e){this[ge](o.routes);return}}catch{}const n=e.indexOf("!");let s;n!=-1?s=e.substring(n+1):s=e;const i=new $;i.path=s,i.query=this[or](),this[ge]([i])}[Ae](e,t){try{const n={mark:e,routes:t},s=JSON.stringify(n);this.storage.setItem(lr,s)}catch(n){console.error(n.message,n)}}setRestorePoint(e){const t=this[De]()??"/";this[Ae](t,e)}[ge](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[De](){const e=N();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,n=t.indexOf("#");if(n!=-1)return t.substring(n+1)}return null}[or](){return N().location.search}listen(e){this.changeHandler=e}go(e,t=!0){const n=N();this[He]=!t,n.history.go(e)}push(e){let t=this[dt](e.currentRoute);yt(this.traceless,e.currentRoute)||N().history.pushState(e.routes,"",t),this[Ae](e.currentRoute.fullPath,e.routes)}replace(e){let t=this[dt](e.currentRoute);yt(this.traceless,e.currentRoute)||N().history.replaceState(e.routes,"",t),this[Ae](e.currentRoute.fullPath,e.routes)}[dt](e){const t=N();let n="";if(e.query){let l="";if(typeof e.query=="object")for(let u in e.query){let f=encodeURIComponent(e.query[u]),a=`${encodeURIComponent(u)}=${f}`;l.length>0&&(l+="&"),l+=a}else l=e.query;this.query?(n=`${this.query}&${l}`,n.charAt(0)!=="?"&&(n=`?${n}`)):n=`?${l}`}const s=t.location;let i=e.fullPath;i.startsWith(Z)&&(i=i.substring(Z.length+1));let o;return n?this.mode=="path"?o=`${this.base}/${i}${n}`:o=`${s.pathname}${n}#${i}`:this.mode=="path"?o=`${this.base}/${i}`:o=`${s.pathname}#${i}`,`${s.origin}${o}`}}function Ln(r=!0,e=null,t="",n=!0,s=!1,i){return e!==null&&(e=N().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Tr("path",e??"",t,r,n,s,i)}function jr(r=!0,e="",t=!0,n=!1,s){return new Tr("hash","",e,r,t,n,s)}class Mn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}listen(e){this.changeHandler=e}[ge](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!0){if(this.queue.length==0||this.cursor<=0||this.cursor>=this.queue.length-1)return;let n=this.cursor+e;if(n<0?n=0:n>this.queue.length-1&&(n=this.queue.length-1),n!=this.cursor&&(this.cursor=n,t)){const s=this.queue[n];this[ge](s.routes)}}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function Kr(r="",e=50){return new Mn(r,e)}const Ue=Symbol("_constructRouteModel"),Ve=Symbol("_findRouteModel"),pt=Symbol("_findRootView"),ur=Symbol("_getFirstView"),se=Symbol("_removeView"),ar=Symbol("_buildPage"),fr=Symbol("_resolveComponent"),cr=Symbol("_update"),re=Symbol("_merge"),mt=Symbol("_handleHistoryChange"),Be=Symbol("_handleRouteUpdated"),We=Symbol("routeUpdatedCallback"),w=Symbol("currentRoutes"),ce=Symbol("current"),hr=Symbol("_addRouteRecorder"),he=Symbol("_removeRouteRecorder"),vt=Symbol("_cloneRouteRecorder"),O=Symbol("_handleError"),ke=Symbol("errorCallback"),V=Symbol("registerKey"),ze=Symbol("notFoundKey"),gt=Symbol("notFoundPathKey"),B=Symbol("forestKey"),T=Symbol("historyKey"),Ee=Symbol("beforeFiltersKey"),Fe=Symbol("afterFiltersKey"),Te=Symbol("destroyFiltersKey"),de=Symbol("mainDispatcherKey"),wt=Symbol("initKey"),Je=Symbol("requireKey"),oe=Symbol("readyKey"),bt=Symbol("readyHandlersKey"),Ge=Symbol("_markReady"),dr=Symbol("_createNextFn"),xt=Symbol("_start"),Rt=Symbol("_before"),St=Symbol("_after"),yr=Symbol("_destroy"),Ct=Symbol("_load"),je=Symbol("_unload"),Pt=Symbol("_loadDependency"),At=Symbol("resolvedModulesKey"),Ke=Symbol("resolveDependencyKey"),_e=Symbol("routerGuardKey");function In(r){return r.layers.length==0||r.layers[0].views.length==0}function Nn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(n=>{if(!(n==null||n==null))if(typeof n.meta=="object"){let s=E(!0,{},n.meta);e.push(s)}else n.meta&&e.push(n.meta)})}),e}class _r{[V]=new Array;[ze];[gt]="*";[oe]=!1;[bt]=[];[B]=new bn;[T];[w]=new Array;[ke]=null;[We]=null;[Ee]=new Array;[Fe]=new Array;[Te]=new Array;[de]=new Ie;[At]=new Map;[Ke]=null;[_e]=new Rn;[wt]=!1;[ce]=g.ref(null);[Je]=null;get require(){return we?(this[Je]||(this[Je]=new _n),this[Je]):null}get current(){return this[ce].value}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[T]=e.history:this[T]=we?jr():Kr(),this[T]?.listen(async n=>{let s=!0;try{if(typeof n=="string"){let i=this[I](n);i&&await this[mt]([i])}else await this[mt](n)}catch(i){console.error(i.message,i),s=!1}this[oe]===!1&&this[Ge](s)})}[O](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[ke]=="function")try{this[ke](e,t)}catch{}console.error(e)}init(){this[wt]!==!0&&(this[T]?.init(!this[oe]),this[wt]=!0)}isReady(){return this[oe]?Promise.resolve():new Promise((e,t)=>{this[bt].push([e,t])})}[Ge](e){this[oe]=!0,this[bt].forEach(([t,n])=>{try{e?t():n()}catch(s){console.error(s.message,s)}})}[mt](e){try{if(!e){let o=[...this[w]].reverse();return this[je](o),we&&N().location.reload(),Promise.resolve()}let t=null,n=[],s=[],i=0;for(;i<e.length&&i<this[w].length&&$.isSame(e[i],this[w][i]);i++)e[i].opsType===A.Open&&e[i].active===!0&&e[i].active!==this[w][i].active&&(t=e[i]);if(i<e.length&&(n=e.slice(i)),i<this[w].length&&(s=this[w].slice(i).reverse()),s.length==0&&n.length==0){if(t!==null)return this.restore([t])}else if(s.length>0){if(this[je](s)){if(n.length>0)return this.restore(n);if(t!==null)return this.restore([t])}}else return this.restore(n)}catch(t){this[O](t)}return Promise.resolve()}[Be](e){if(e)this[ce].value=e;else{let t=this[w].length;t>0?this[ce].value=this[w][t-1]:this[ce].value=null}if(typeof this[We]=="function")try{this[We](this[ce].value)}catch{}}[hr](e,t=-1){t<0||t>=this[w].length?this[w].push(e):this[w].splice(t,0,e)}[vt](){let e=[];for(let t of this[w]){let n=$.clone(t,!0);e.push(n)}return e}[he](e){if(this[w]==null)return;let t=-1;for(let n=0;n<this[w].length;n++)if($.isSame(this[w][n],e)){t=n;break}if(t!=-1){let n=this[w][t];this[w].splice(t,1),this[yr](n,n.session)}}set historyMonitor(e){this[T]&&(this[T].historyMonitor=e)}get historyMonitor(){return this[T]?this[T].historyMonitor:!1}set traceless(e){this[T]&&(this[T].traceless=e)}get traceless(){return this[T]?this[T].traceless:!1}setRestorePoint(){const e=this[vt]();this[T]?.setRestorePoint(e)}onRouteUpdated(e){this[We]=e}onError(e){this[ke]=e}beforeEach(e){this[Ee].push(e)}removeBeforeEach(e){const t=this[Ee].indexOf(e);return t!==-1?(this[Ee].splice(t,1),!0):!1}afterEach(e){this[Fe].push(e)}removeAfterEach(e){const t=this[Fe].indexOf(e);return t!==-1?(this[Fe].splice(t,1),!0):!1}destroyEach(e){this[Te].push(e)}removeDestroyEach(e){const t=this[Te].indexOf(e);return t!==-1?(this[Te].splice(t,1),!0):!1}setResolveDependency(e){this[Ke]=e}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[gt]){this.setNotFoundRoute(e);return}const n=this[Ue](e);if(t==-1)this[V]=[...this[V],...n];else for(let s=n.length-1;s>=0;s--)this[V].splice(t,0,n[s])}removeRoute(e){const t=this[I](e);if(t===null)return console.warn("route\u683C\u5F0F\u9519\u8BEF",e),!1;for(let n=0;n<this[V].length;n++){const s=this[V][n];if(t?.path&&s.path===t.path)return this[V].splice(n,1),!0;if(t?.name&&s.name===t.name)return this[V].splice(n,1),!0}return!1}hasRoute(e){const t=this[I](e);return t===null?(console.warn("route\u683C\u5F0F\u9519\u8BEF",e),!1):this[V].findIndex(s=>{if(t?.path&&s.path===t.path||t?.name&&s.name===t.name)return!0})!==-1}setNotFoundPath(e){this[gt]=e}setNotFoundRoute(e){const t=this[Ue](e);this[ze]=t[0]}getRoutes(){return[...this[V]]}[Ue](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let n=e.components??(e.component&&{"":e.component});if(n==null){let l=new at;return l.path=t,l.redirect=e.redirect,[l]}let s=[];for(let l in n){let u=n[l];l.length===0&&(l=Z);let f=new wn(l,u,e.props,e.meta);s.push(f)}let i=!1,o=[];if(e.children)for(let l of e.children){let u=this[Ue](l);for(let f of u){let a=new at;a.name=f.name,f.path&&f.path.length>0?t!=="/"?a.path=`${t}${f.path}`:a.path=f.path:(i=!0,a.path=t);let c=new ir;c.models=[...s],a.layers=[c,...f.layers],o.push(a)}}if(!i){let l=new ir;l.models=s;let u=new at;u.name=e.name,u.path=t,u.layers=[l],o.splice(0,0,u)}return o}[Ve](e){let t=e.route;try{for(let n of this[V])if(t.path&&n.path){let s=n.match;s||(s=n.match=cn(n.path));let i=s(t.path);if(!i)continue;if(n.redirect){let o=new $;E(!0,o,t),o.path=n.redirect;let l={route:o,find:void 0};return this[Ve](l)?(e.route=l.route,e.find=l.find,!0):!1}if(t.params=t.params??{},E(!0,t.params,i.params),t.query){let o=t.query;if(typeof o=="string"){let l={},u=o.split("&");for(let f of u){let a=f.split("=");if(a.length!==2)continue;let c=decodeURIComponent(a[0].trim()),h=decodeURIComponent(a[1].trim());l[c]=h}E(!0,t.params,l)}else typeof o=="object"&&E(!0,t.params,o)}return e.find=n,!0}else if(t.name===n.name){t.params=t.params??{};let s=an(n.path);return t.path=s(t.params),e.find=n,!0}}catch(n){console.error(n.message,n),typeof t.error=="function"&&t.error(n.message)}return!1}[I](e){let t=null;if(Array.isArray(e))if(t=new $,typeof e[0]=="object")t=$.from(e[0]);else for(let n=0;n<e.length;n++)n===0?e[n].charAt(0)==="/"?t.path=e[n]:t.name=e[n]:n===1?t.params=e[n]:n===2?t.root=e[n]:n===3&&E(!1,t,e[n]);else typeof e=="object"?t=$.from(e):typeof e=="string"&&(t=new $,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let n=t.path.indexOf("?");n!==-1&&n<t.path.length-1&&(t.query=t.path.substring(n+1),t.path=t.path.substring(0,n))}t.root=t.root??Z,t.opsType=t.opsType??this.options.defaultOperationType??A.Push}return t}push(...e){let t=this[I](e);return t?(t.opsType=t.opsType||A.Push,this.to(t)):(this[O]("resolve route fail",t),this)}put(...e){let t=this[I](e);return t?(t.opsType=A.Put,this.to(t)):(this[O]("resolve route fail",t),this)}replace(...e){let t=this[I](e);return t?(t.opsType=A.Replace,this.to(t)):(this[O]("resolve route fail",t),this)}append(...e){let t=this[I](e);return t?(t.opsType=A.Append,this.to(t)):(this[O]("resolve route fail",t),this)}remove(e){return new Promise(t=>{this[de].post(n=>{try{if(this[w].length===0){n.resolve(),t(!1);return}let s=-1,i,o=[];if(e){if(e.root?i=e.root:i=this[w][0].root??Z,e.all)for(let u=this[w].length-1;u>0;u--){let f=this[w][u];f.opsType===A.Append&&f.root===i&&(o.splice(0,0,f),s=u-1)}else if(e.until)for(let u=this[w].length-1;u>0;u--){let f=this[w][u];if(f.opsType===A.Append&&f.root===i){if(e.until.charAt(0)==="/"&&e.until===f.path){s=u;break}else if(e.until===f.name){s=u;break}o.splice(0,0,f)}}}else{i=Z;let u=this[ur](this[B]);u&&(i=u.name);for(let f=this[w].length-1;f>0;f--){let a=this[w][f];if(a.opsType===A.Append&&a.root===i){o.push(a),s=f-1;break}}}if(o.length===0){let u="can not find route";console.warn(u),n.resolve(u),t(!1);return}let l=0;if(this[w].forEach(u=>{u.opsType!==A.Put&&l++}),this[je](o)){let u=0;this[w].forEach(a=>{a.opsType!==A.Put&&u++});const f=u-l;this[T]?.go(f,!1),n.resolve(),t(!0)}}catch(s){this[O](s),n.resolve(),t(!1)}})})}open(...e){let t=this[I](e);return t?(t.opsType=A.Open,this.to(t)):(this[O]("resolve route fail",t),this)}close(e){return this[de].post(t=>{try{let n=this[I](e);if(!n){t.reject("resolve route fail");return}let s=[];for(let i=0;i<this[w].length;i++){let o=this[w][i];if(o.root===n.root){if(!n.path&&!n.name){s.push(o);continue}if(n.path&&n.path===o.path){s.push(o);break}else if(n.name&&n.name===o.name){s.push(o);break}}}if(s.length===0){t.resolve();return}this[je](s)&&this[Be](),t.resolve()}catch(n){this[O](n),t.resolve()}}),this}to(...e){let t=this[I](e);if(!t)return this[O]("resolve route fail",t),this;console.debug("route to",t.path,t.root);let n=this[_e].acquire(t);return n==null?(this[O]("route forbid",t),this):(this[de].post(s=>{try{let i=this[xt](t);this[Rt](i),!i.session?.routeModel&&this[Ke]&&this[Pt](i),this[Ct](i),this[St](i),i.wait((o,l)=>{let u=o.session.to;try{let f=$.clone(u,!0);const a=new On(f,this[vt]());u.opsType===A.Replace?this[T]?.replace(a):this[T]?.push(a)}catch(f){console.error(f.message,f)}if(this[_e].release(n),this[Be](u),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(f){console.error(f.message,f)}this[oe]===!1&&this[Ge](!0),s.resolve()},(o,l)=>{this[_e].release(n),l!==null&&this[O](l,t),this[oe]===!1&&this[Ge](!1),s.resolve()})}catch(i){this[_e].release(n),this[O](i,t),s.resolve()}}),this)}back(e=1){this[T]?.go(-e)}[dr](e){return(t,n)=>{if(typeof t=="boolean")t?e.resolve():e.reject(n??null);else if(t){let s=this[I](t);if(s){let i=e.session.to;s.success=i.success,s.error=i.error,e.session.to=s,e.session.routeModel=null,e.resolve()}else e.reject("route resolve fail")}else e.resolve()}}[xt](e){let t=this[w].length>0?this[w][0]:void 0,n=new tt(e,t),s={route:e,find:null};return this[Ve](s),s.find&&(n.routeModel=s.find,e.matched=Nn(s.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=s.find.layers[0].models[0].meta)),new Ie(n)}[Rt](e){for(let t of this[Ee])e.post(n=>{let s=this[dr](n);Reflect.apply(t,{},[n.session.to,n.session.from,s,n.session])})}[St](e){e.post(t=>{for(let n of this[Fe])try{Reflect.apply(n,{},[t.session.to,t.session.from,t.session])}catch(s){console.error(s.message,s)}t.resolve()})}[yr](e,t){for(let n of this[Te])try{Reflect.apply(n,{},[e,t])}catch(s){console.error(s.message,s)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[Pt](e){let t=e.session,n=Reflect.apply(this[Ke],this,[t?.to]);if(n==null)return;Array.isArray(n)||(n=[n]);let s=[];for(let i of n)this[At].has(i)||s.push(i);s.length!==0&&e.post(i=>{this.require.ensure(s,(...o)=>{if(!o){i.reject();return}for(let l of o){if(!l)continue;let u;Dt(l)?u=l.default:u=l,Array.isArray(u)&&this.addRoutes(u)}for(let l of s)this[At].set(l,!0);i.resolve()})})}[Ct](e){e.post(t=>{let n=t.session.to,s=t.session.routeModel;if(s==null){let o={route:n,find:null};if(this[Ve](o))s=o.find,t.session.routeModel=s;else if(this[ze])s=this[ze];else{t.reject(`not find route model, path:${n.path??n.name}`);return}}let i=tt.from(t.session);this[ar](n,s,i).then(o=>{this[B],t.resolve()},o=>{t.reject(o)})})}[je](e){if(e.length==0)return!0;let t=this[B],n=[];for(let s of e){let i=this[pt](t,s);i!=null&&n.push({...i,route:s})}if(n.length==0){let s="can not find view index";return this[O](s),!1}for(let s of n.reverse())this[se](t,{x:s.x,y:s.y},[s.route.index??0],!0);return!0}[pt](e,t){let n=t.root??Z,s;for(let i=0;i<e.layers.length;i++){let o=e.layers[i];for(let l=o.views.length-1;l>=0;l--){let u=o.views[l];if(u[G]&&u[Xe]===n)return s={x:l,y:i},s}}return null}[ur](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[se](e,t,n=null,s=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,l=[],u=!1,f=i.slots.value;for(let c=f.length-1;c>=0;c--){let h=f[c];(n==null||n.indexOf(h.index)!=-1)&&(h.route&&i[G]&&(this[he](h.route),h.active===!0&&h.route.opsType==A.Append&&(u=!0)),l.push(new D(i,h.index,t.y)),f.splice(c,1))}if(f.length==0)s?i.slots.value=[...f]:e.layers[t.y].views.splice(t.x,1);else{if(u){let c=f.length-1,h=f[c];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=[...f]}e.layers[t.y].views.length==0&&(o=!0);let a=t.y+1;for(;a<e.layers.length;a++){let c=e.layers[a].views,h=[];for(let d=c.length-1;(o||l.length>0)&&d>=0;d--){let y=c[d];if(y[le]&&(o||D.include(l,y[le]))){let v=y.slots.value;for(let p=v.length-1;p>=0;p--){let m=v[p];m.route&&y[G]&&this[he](m.route),h.push(new D(y,m.index,a)),v.splice(p,1)}e.layers[a].views.splice(d,1)}}l=h,e.layers[a].views.length==0&&(o=!0)}}restore(e){if(!e||this[V].length==0){let t=this[B];if(t.layers.length>0){let n=t.layers[0].views;n.length>0&&(n[0].slots.value=[])}return this[w]=[],this[Be](),Promise.resolve()}else return new Promise((n,s)=>{for(let i=0;i<e.length;i++){let o=e[i];this[de].post(l=>{let u=this[xt](o);this[Rt](u),!u.session?.routeModel&&this[Ke]&&this[Pt](u),this[Ct](u),this[St](u),u.wait((f,a)=>{l.resolve()},(f,a)=>{a!==null&&this[O](a),l.resolve()})})}this[de].post(i=>{i.resolve(),n()})})}[ar](e,t,n){let s=e.updateType??Qe.Part;return this[fr](t).then(()=>{this[cr](t,e,n,s)})}[fr](e){let t=[];for(let n=0;n<e.layers.length;n++){let s=e.layers[n];for(let i=0;i<s.models.length;i++){let o=s.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[cr](e,t,n,s){if(e.layers[0].models.length!==1)return Promise.reject("illegal route structure(multil root node)");const i=e.layers[0].models[0];let o=this[B],l=In(o),u=t.root??Z,f;!l&&s==Qe.Part&&(f=this[pt](o,t));let a,c=0;if(f==null||f==null)if(l||s===Qe.All){if(o.layers.length==0&&(o.layers[0]=new ft),o.layers[0].views.length==0){let h=t.root??Z;a=new Se(h,!0,null),o.layers[0].views=[a]}else a=o.layers[0].views[0];f={x:0,y:0}}else{let h=t.slot;if(!h)return Promise.reject("can not rebuild view(because not route slot)");let d=h.level;if(d>o.layers.length)return Promise.reject("can not insert view(override level)");let y;if(h.rootName){let v=o.layers[d-1];for(let p of v.views){if(p[G]&&p.name===h.rootName){y=new D(p,h.rootIndex??0,d-1);break}if(p[J]&&p[J].view.name===h.rootName&&p[J].index===h.rootIndex){y=p[J];break}}}if(!y)return Promise.reject("can not insert view(not find root node ref)");a=new Se(u,!0,y),o.layers[d].views.push(a),f={x:o.layers[d].views.length-1,y:d}}else a=o.layers[f.y].views[f.x];if(c=f.y,a[G]=!0,t.opsType===A.Append){t.index=ee.get();let h=a.slots.value;if(h.length>0){let m=h[h.length-1];m.active=!1,m.route&&(m.route.active=m.active)}let d=new te(t,i,t.index,!0);a.slots.value=[...h,d];let y=c+1,v=1,p=new D(a,t.index,c);this[re](o,y,e,v,p)}else if(t.opsType===A.Open){let h=a.slots.value,d=!1;for(let y of h){if(y.route!==null&&$.isSameForRouteModel(y.route,t)){if(y.active==!0)return t.index=y.index,t.active=y.active,y.route=t,Promise.resolve();y.active=!0,d=!0,t.index=y.index,t.active=y.active,y.route=t,this[he](y.route)}else y.active=!1;y.route&&(y.route.active=y.active)}if(!d){t.index=ee.get(),t.active=!0;let y=new te(t,i,t.index,!0);h.push(y);let v=c+1,p=1,m=new D(a,t.index,c);this[re](o,v,e,p,m)}a.slots.value=[...h]}else{let h=a.slots.value;if(h.length==0){t.index=ee.get(),a.slots.value=[new te(t,i,t.index)];let d=c+1,y=1,v=new D(a,t.index,c);this[re](o,d,e,y,v)}else{let d=h[0];if(d.model!==i){this[se](o,f,null,!0),t.index=ee.get(),a.slots.value=[new te(t,i,t.index)];let y=c+1,v=1,p=new D(a,t.index,c);this[re](o,y,e,v,p)}else{d.route!==null&&this[he](d.route);let y=[];for(let j=1;j<h.length;j++)y.push(h[j].index);y.length>0&&this[se](o,f,y,!0),t.index=d.index,d.route=t;let v=[new D(a,t.index,c)],p=c+1,m=1,b=new D(a,t.index,c);for(;v.length>0&&p<o.layers.length&&m<e.layers.length;p++,m++){let j=[];for(let P=0;P<o.layers[p].views.length;P++){let R=o.layers[p].views[P];R[le]&&D.include(v,R[le])&&j.unshift(P)}let x=[];for(let P of j){let R=o.layers[p].views[P],q=e.layers[m].models,K;for(let _=0;_<q.length;_++)if(R.name===q[_].name){K=q[_];break}if(!K)this[se](o,{x:P,y:p},null,!1);else{let _=R.slots.value;if(_.length==0){let L=0;R.slots.value=[new te(null,K,L)];let W=p+1,k=m+1;this[re](o,W,e,k,b)}else{let L=_[0];if(L.model!==K){this[se](o,{x:P,y:p},null,!0),R.slots.value=[new te(null,K,0)];let W=p+1,k=m+1;this[re](o,W,e,k,b)}else{R[G]&&L.route!==null&&this[he](L.route);let W=[];for(let k=1;k<_.length;k++)W.push(_[k].index);W.length>0&&this[se](o,{x:P,y:p},W,!0),x.push(new D(R,L.index,p))}}R[G]=!1}}v=x}this[re](o,p,e,m,b)}}}if(a&&a[J]){let h=a[J];h&&(t.slot=new gn(u,c,h?.view.name,h?.index??0))}n.to=void 0,n.routeModel=void 0,t.session=n,this[hr](t)}[re](e,t,n,s,i){let o=s,l=t;for(;l<e.layers.length&&o<n.layers.length;l++,o++){let u=e.layers[l].views;for(let f of n.layers[o].models){let a=new Se(f.name,!1,i),c=new te(null,f);a.slots.value=[c],u.push(a)}}for(;o<n.layers.length;o++){let u=new ft;u.views=[];for(let f of n.layers[o].models){let a=new Se(f.name,!1,i),c=new te(null,f);a.slots.value=[c],u.views.push(a)}e.layers.push(u)}}[Er](e,t,n,s,i,o){if(t<0||t>this[B].layers.length)return null;if(t<this[B].layers.length){let a=this[B].layers[t],c=null;for(let h of a.views){let d=!1;if(n!==null?(d=h.name===e&&h[J]?.view===n,d&&s!==-1&&(d=h[J]?.index===s)):d=h.name===e,!!d){i!==null&&(h[le]={view:i,index:o,level:t-1}),c=h;break}}if(c!==null)return c}let l=null,u=null;i!==null&&(i[G]?l={view:i,index:o,level:t-1}:l=i[J],u={view:i,index:o,level:t-1});let f=new Se(e,!0,l);if(f[le]=u,t==this[B].layers.length){let a=new ft;a.views=[f],this[B].layers.push(a)}else this[B].layers[t].views.push(f);return f}}const ye=Symbol("registerKey");class Hn{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Ot{[ye]=new Map;constructor(){}on(e,t,n=!1){let s=this[ye].get(e);s||(s=new Array,this[ye].set(e,s));let i=n===!0?1:0,o=new Hn(t,i);return s.push(o),this}off(e,t){if(!t)return this[ye].delete(e),this;let n=this[ye].get(e);if(n){for(let s=0;s<n.length;s++)if(n[s].callback===t){n.splice(s,1);break}}return this}bind(e,t,n=!1){return this.on(e,t,n)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let n=e[t-1];if(typeof n!="function")return console.error("callback can not benn empty"),this;let s=t-1,i=new Array(s),o=[].splice.call(e,0,s);for(let l=0;l<o.length;l++)this.once(o[l],u=>{i[l]=u,s-=1,s==0&&Reflect.apply(n,{},i)});return this}emit(e,...t){let n=this[ye].get(e);if(!n)return this;for(let s=0;s<n.length;){let i=n[s];if(i.policy==1?n.splice(s,1):s++,typeof i.callback=="function")try{$e(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}const qe=Symbol("registerKey");class Dn{[qe]=new Map;constructor(){}set(e,t){this[qe].set(e,t)}get(e){return this[qe].get(e)}has(e){return this[qe].has(e)}delete(e){return this[qe].delete(e)}}const Lt=Symbol("lc");function Ye(r,e=!1){let t=r,n=t[Lt];if(!n)if(e)n=new Dn,t[Lt]=n;else return null;return n}function qr(r,e){let t=r;for(;t!==null;){let n=t[Lt];if(n&&n.has(e))return n.get(e);t=t.$parent}return null}function pr(r){if(Array.isArray(r.children)&&r.children.length>0){let e=r.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return Ye(e.component.proxy,!1)}return null}const rt=Symbol("hooksKey");function Un(r){let e=r.get(rt);e||(e=[],r.set(rt,e))}function mr(r,e){let t=r.get(rt);if(t!=null)for(let n=t.length-1;n>=0;n--){let s=t[n];if(s.type===e)try{Reflect.apply(s.hook,s.target,[])}catch(i){console.error(i.message,i)}}}var Mt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Mt||{});class Vn{type;hook;target;constructor(e,t,n){this.target=n,this.hook=t,this.type=e}}function Bn(r,e,t,n){let s=new Vn(e,t,n);return r.push(s),!0}function Wn(r,e,t,n){let s=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===n){s=i;break}}return s!=-1?(r.splice(s,1),!0):!1}function $r(r){return(e,t)=>{let n;if(t)n=t;else{let i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}n=i.proxy}let s=qr(n,rt);if(s==null){console.warn("can not get hooks context");return}g.onUnmounted(()=>{Wn(s,r,e,n)}),Bn(s,r,e,n)}}let kn=$r("a"),zn=$r("da");function Jn(){let r=new $;return r.path="",r.name="",r.params={},r.index=-1,g.shallowReactive(r)}const It=Symbol("routeKey");function Et(r,e){let t=r.get(It);if(t){let n={path:"",name:"",params:{},index:-1,session:{}};Object.assign(n,e),Object.assign(t,n)}else t=Jn(),Object.assign(t,e),r.set(It,t)}function Or(r){let e=qr(r,It);return e??null}const it=Symbol("rk"),Ft=Symbol("vd"),vr=Symbol("rv"),Tt=Symbol("rvi"),gr=Symbol("pv"),jt=Symbol("pvi"),Gn="fox-router-view",Qn="fox-router-link";function Lr(r,e=!1){let t=null;return e?t=r.showFromClass??r.enterFromClass:t=r.enterFromClass,t||(t=r.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function Mr(r,e=!1){let t=null;return e?t=r.showActiveClass??r.enterActiveClass:t=r.enterActiveClass,t||(t=r.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function Xn(r,e=!1){let t=null;return e?t=r.showToClass??r.enterToClass:t=r.enterToClass,t||(t=r.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function Yn(r,e=!1){let t=null;return e?t=r.hideFromClass??r.leaveFromClass:t=r.leaveFromClass,t||(t=r.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function Zn(r,e=!1){let t=null;return e?t=r.hideActiveClass??r.leaveActiveClass:t=r.leaveActiveClass,t||(t=r.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function ei(r,e=!1){let t=null;return e?t=r.hideToClass??r.leaveToClass:t=r.leaveToClass,t||(t=r.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function ti(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function ri(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function ni(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function ii(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function si(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function oi(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function li(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function Jt(r){let e,t=r.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function be(r,e){r.classList.contains(e)||r.classList.add(e)}function xe(r,e){r.classList.remove(e)}const ui=we&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function Gt(r){ui(r)}function H(r,e,t){!S(e)||(r==null&&(r={}),Reflect.apply(e,r,t))}function Ir(r,e,t,n=-1,s,i,o,l){if(S(i)){if(s!==void 0&&s>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,n]),S(l)&&Reflect.apply(l,r,[])},s);return}const u=["animationend","transitionend"],f=a=>{u.forEach(c=>{$t(e,c,f)}),Reflect.apply(i,r,[e,t,n]),l&&Reflect.apply(l,r,[])};u.forEach(a=>{qt(e,a,f)})}if(S(o)){const u="animationcancel",f=a=>{Reflect.apply(o,r,[e,t,n]),$t(e,u,f)};qt(e,u,f)}}function Qt(r){return!we||r===null?!1:r.opsType===A.Append||r.opsType===A.Open}function Nr(r,e,t,n={},s,i=-1){if(e||Qt(s)){const o=Lr(n,e);o&&be(t,o);const l=Mr(n,e);l&&be(t,l);const u=ti(n,e);H(r,u,[t,e,s,i])}}function Hr(r,e,t,n={},s,i,o,l){if(!Qt(i)&&!e){S(l)&&l(r,l,[t]);return}const u=Lr(n,e),f=Mr(n,e),a=Xn(n,e),c=ri(n,e),h=ni(n,e),d=ii(n,e);Gt(()=>{Ir(r,t,i,o,s,()=>{f&&xe(t,f),a&&xe(t,a),S(h)&&H(r,h,[t,e,i,o]),S(l)&&l(r,l,[t])},()=>{S(d)&&H(r,d,[t,e,i,o])}),u&&xe(t,u),a&&be(t,a),S(c)&&H(r,c,[t,e,i,o])})}function Dr(r,e,t,n={},s,i,o,l,u){if(!Qt(o)&&!e){!e&&S(i)&&i();return}const f=Yn(n,e),a=Zn(n,e),c=ei(n,e),h=si(n,e),d=oi(n,e),y=li(n,e);f&&be(t,f),a&&be(t,a),S(h)&&H(r,h,[t,e,o,l]),Gt(()=>{Ir(r,t,o,l,s,()=>{a&&xe(t,a),c&&xe(t,c),S(d)&&H(r,d,[t,e,o,l]),S(u)&&H(r,u,[t]),!e&&S(i)&&i()},()=>{S(y)&&H(r,y,[t,e,o,l]),S(u)&&H(r,u,[t]),!e&&S(i)&&i()}),f&&xe(t,f),c&&be(t,c)})}function Nt(r,e={},t,n=-1){const s=e.mode??"default",i=Jt(e);return{mode:s,persisted:!1,beforeEnter:l=>{Nr(r,!1,l,e,t,n)},enter:l=>{Hr(r,!1,l,e,i.enter,t,n)},leave:(l,u)=>{Dr(r,!1,l,e,i.leave,u,t,n)},clone:l=>Nt(r,e,t,n)}}function Ur(r){return r.el}function ai(r,e,t={},n,s,i,o){if(i){const l=Ur(e);if(l==null)return;const u=Jt(t);Nr(r,!0,l,t,n,s),Hr(r,!0,l,t,u.show,n,s,f=>{S(o)&&H(r,o,[f])})}else S(o)&&H(r,o,[])}function fi(r,e,t={},n,s,i,o){if(i){const l=Ur(e);if(l==null)return;const u=Jt(t);Dr(r,!0,l,t,u.hide,null,n,s,f=>{S(o)&&H(r,o,[f])})}else S(o)&&H(r,o,[])}function ci(r,e={}){Gt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function ne(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Kt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}class hi{node;state;constructor(e,t){this.node=e,this.state=t}}const Ht=g.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(r,e){const t=g.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const n=r.multi===!0,s=g.inject(it,null),i=g.inject(Ft,0),o=g.inject(vr,null),l=g.inject(Tt,-1);let u=null;const f=r.modelSlot;if(f){g.provide(Ft,i+1),g.provide(Tt,f.index),g.provide(jt,f.index);const c=f.route;if(!c){console.warn("child view render error, route not exist");return}const h=Ye(t.proxy,!0);Un(h),Et(h,c)}else{if(s==null){console.error("router is not been injected");return}const c=r.name,h=g.inject(gr,null),d=g.inject(jt,0);if(u=s[Er](c,i,o,l,h,d),u===null)return;if(g.provide(gr,u),u[G]===!0&&g.provide(vr,u),!n){g.provide(Tt,-1),g.provide(Ft,i+1),g.provide(jt,-1);const v=u.slots.value;if(v.length>0){const p=v[0].route;if(p){const m=Ye(t.proxy,!0);Et(m,p)}}else{const p=Ye(t.proxy,!0);u.compensation=()=>{const m=u.slots.value;if(m.length>0){const b=m[0].route;return b&&Et(p,b),!0}return!1}}}}const a={value:new Map};return g.onUnmounted(()=>{a.value&&a.value.clear()}),()=>{if(n){const c=new Map,h=[],d=u?.slots.value,y=[];for(let m=0;m<d.length;m++){const b=d[m],j=`${r.name}-${b.index}`,x=ne(r.transition,b.route,m)??!0,P={modelSlot:b};let R;e.slots.default?R=g.h(Ht,P,{default:e.slots.default}):R=g.h(Ht,P);const q={},K=ne(r.viewClass,b.route,m);typeof K=="string"&&K.length>0&&(q[K]=!0);const _=ne(r.viewActiveClass,b.route,m),L=ne(r.viewInactiveClass,b.route,m),W=a.value.get(j);if(typeof _=="string"&&_.length>0&&(q[_]=b.active),typeof L=="string"&&L.length>0&&(q[L]=!b.active),W&&b.active!==W.state){const ae=W.node;b.active?y.unshift(()=>{const lt=()=>{let Re=pr(ae);Re!=null&&mr(Re,Mt.ACTIVATED)};ai(t,ae,r,b.route,m,x,lt)}):y.push(()=>{const lt=()=>{const Re=pr(ae);Re!=null&&mr(Re,Mt.DEACTIVATED)};fi(t,ae,r,b.route,m,x,lt)})}const k={class:q,key:j},st=ne(r.viewTagProps,b.route,m);st!==null&&typeof st=="object"&&E(!0,k,st),b.route?.viewTagAttrs&&typeof b.route?.viewTagAttrs=="object"&&E(!0,k,b.route.viewTagAttrs);const Vr=ne(r.viewTag,b.route,m),ot=g.h(Vr,k,{default:()=>[R]});if(c.set(j,new hi(ot,b.active)),a.value.delete(j),x){const ae=Nt(t,r,b.route,m);ot.transition=ae}h.push(ot)}a.value.forEach(m=>{m.node.transition=null}),a.value=c,ci(y,t);const v=ne(r.tag,null,-1),p={};return Object.assign(p,e.attrs),g.h(v,p,{default:()=>h})}else if(f!=null){const c=f.model,h={};c.props&&(typeof c.props=="object"?E(!1,h,c.props):c.props===!0&&typeof f.route?.params=="object"&&E(!1,h,f.route?.params));const d=g.h(c.component,h);return Kt(e.slots.default,{Component:d,route:f.route})??d}else{const c=u.slots.value;if(c.length>0){const h=c[0],d=h.model,y={};d.props&&(typeof d.props=="object"?E(!1,y,d.props):d.props===!0&&typeof h.route?.params=="object"&&E(!1,y,h.route?.params));const v=g.h(d.component,y);if(ne(r.transition,h.route,-1)??!0){const m=Nt(t,r,h.route,-1);v.transition=m}return Kt(e.slots.default,{Component:v,route:h.route})??v}else return Kt(e.slots.fallback,{})}}}});function di(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!=null&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function yi(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function pi(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function pe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let mi=g.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(r,e){const t=g.inject(it,null);return()=>{let n=pe(r.to,null),s=pe(r.tag,n);if(s==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[I](n),r.root&&(i.root=r.root),o=t.current);let l={},u=pe(r.activeClass,i);if(typeof u=="string"&&u.length>0&&(l[u]=pi(i,o)),pe(r.exact,i)===!0){let h=pe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(l[h]=yi(i,o))}let a={class:l};(s==="a"||s==="A")&&(a.href=i?.path??i?.name??"#"),E(!0,a,e.attrs);let c=pe(r.event,i);if(typeof c=="string"){const h=d=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}di(d)&&t.to(i)};a[c]=h}return g.h(s,a,e.slots)}}}),vi={get each(){return rn},get type(){return Le},get isFunction(){return S},get isArray(){return wr},get isArrayLike(){return Vt},get makeArray(){return tn},get merge(){return Rr},get isWindow(){return xr},get isPlainObject(){return Ze},get isEqual(){return et}};const Xt=Symbol("fk"),Yt=Symbol("fbk"),Zt=Symbol("fepk");function gi(r={}){const e=new _r(r),t=new _t,n=new Ot,s={...vi,get router(){return e},get bus(){return t},get Bus(){return _t},get eventproxy(){return n},get EventProxy(){return Ot},get EventChain(){return Ie},get require(){return e.require},get request(){return zt},get extend(){return E},get clone(){return Oe},install(i){i.provide(it,e),i.provide(Xt,s),i.provide(Yt,t),i.provide(Zt,n),i.component(Gn,Ht),i.component(Qn,mi),Reflect.defineProperty(i.config.globalProperties,"$fox",{get(){return s}}),Reflect.defineProperty(i.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(i.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(i.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(i.config.globalProperties,"$eventProxy",{get(){return n}}),i.config.globalProperties.$fox_on=function(o,l,u=!1){n.on(o,l,u)},i.config.globalProperties.$fox_off=function(o,l){n.off(o,l)},i.config.globalProperties.$fox_once=function(o,l){n.once(o,l)},i.config.globalProperties.$fox_all=function(...o){let l=n;Reflect.apply(l.all,l,o)},i.config.globalProperties.$fox_trigger=function(o,...l){let u=n;Reflect.apply(u.trigger,u,[o,...l])},i.config.globalProperties.$fox_emit=function(o,...l){let u=n;Reflect.apply(u.trigger,u,[o,...l])},i.mixin({computed:{$route(){return Or(this)}}}),e.init()}};return s}function er(r){return r?r.$router:g.inject(it)}function wi(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Or(r):null}function bi(r){return r?r.$fox:g.inject(Xt)}function xi(r){return r?r.$bus:g.inject(Yt)}function Ri(r){return r?r.$eventProxy:g.inject(Zt)}function Si(r){const e=er(),t=(n,s,i)=>{try{Reflect.apply(r,{},[n,s])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Ci(r){const e=er(),t=(n,s,i)=>{try{Reflect.apply(r,{},[n,s])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=_t;exports.EventChain=Ie;exports.EventProxy=Ot;exports.Route=$;exports.Router=_r;exports.cancel=Fn;exports.clone=Oe;exports.createFox=gi;exports.createMemoryHistory=Kr;exports.createWebHashHistory=jr;exports.createWebHistory=Ln;exports.extend=E;exports.foxBusKey=Yt;exports.foxEventProxyKey=Zt;exports.foxKey=Xt;exports.isArray=wr;exports.isDate=kr;exports.isESModule=Dt;exports.isEqual=et;exports.isFunction=S;exports.isMap=Br;exports.isObject=br;exports.isPlainObject=Ze;exports.isPromise=Gr;exports.isSet=Wr;exports.isString=zr;exports.isSymbol=Jr;exports.onAfterRouteUpdate=Ci;exports.onBeforeRouteUpdate=Si;exports.onFoxActivated=kn;exports.onFoxDeactivated=zn;exports.request=zt;exports.toBoolean=Ut;exports.toNumber=Zr;exports.toTypeString=nt;exports.typeOf=Le;exports.useBus=xi;exports.useEventProxy=Ri;exports.useFox=bi;exports.useRoute=wi;exports.useRouter=er;
|
|
2
|
+
* fox v3.0.0 Wed Nov 02 2022 21:13:26 GMT+0800 (中国标准时间)
|
|
3
|
+
*/Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("vue"),wr=Array.isArray,Vr=r=>nt(r)==="[object Map]",Br=r=>nt(r)==="[object Set]",Wr=r=>r instanceof Date,S=r=>typeof r=="function",kr=r=>typeof r=="string",zr=r=>typeof r=="symbol",br=r=>r!==null&&typeof r=="object",Jr=r=>br(r)&&S(r.then)&&S(r.catch),Gr=Object.prototype.toString,nt=r=>Gr.call(r),Ze=r=>nt(r)==="[object Object]",Qr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Dt(r){return r.__esModule||Qr&&r[Symbol.toStringTag]==="Module"}const Xr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function E(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,n=r.length,s=!1;for(typeof e=="boolean"&&(s=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<n;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let l=e[o],a=i[o];if(l!==a)if(s===!0&&a&&typeof a=="object"){let f;Array.isArray(a)?f=l&&Array.isArray(l)?l:[]:f=l&&typeof l=="object"?l:{},e[o]=E(s,f,a)}else a!==void 0&&(e[o]=a)}}return e}function Oe(r,e,t=!1){if(!t)E(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s in e){let i=r[s],o=e[s];if(i!==o)if(typeof o=="object"){if(!Array.isArray(o)&&!Ze(o))continue;i=Oe(i,o,t),r[s]=i}else{if(typeof o=="function")continue;r[s]=o}}const n=Object.getOwnPropertySymbols(e);for(let s of n){let i=r[s],o=e[s];if(i!==o)if(typeof o=="object"){if(!Array.isArray(o)&&!Ze(o))continue;i=Oe(i,o,t),r[s]=i}else{if(typeof o=="function")continue;r[s]=o}}}return r}class ee{static seed=new Date().getTime();static get(){let e=++ee.seed;return e>=Number.MAX_VALUE&&(ee.seed=0),e}}const at=Xr?Promise.resolve():null;function $e(r,...e){at!==null?e&&e.length>0?at.then(()=>{r(e)}):at.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Ut(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":Boolean(r)}function Yr(r){return typeof r=="number"?r:Number(r)}const Zr={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function Le(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Zr[t]||"object"}function xr(r){return r&&typeof r=="object"&&"setInterval"in r}function Vt(r){let e=!!r&&"length"in r&&r.length,t=Le(r);return t==="function"||xr(r)?!1:t==="array"||e===0||typeof e=="number"&&e>0&&e-1 in r}function Rr(r,e){let t=+e.length,n=0,s=r.length;for(;n<t;n++)r[s++]=e[n];return r.length=s,r}function en(r,e=[]){let t=e;return r!=null&&(Vt(Object(r))?Rr(t,typeof r=="string"?[r]:r):t.push(r)),t}function tn(r,e,t){if(Vt(r))Reflect.apply([].forEach,r,[e]);else for(let n in r)if(t&&r.hasOwnProperty(n)){if(Reflect.apply(e,r,[r[n]])===!1)break}else if(Reflect.apply(e,r,[r[n]])===!1)break;return r}function et(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Le(r),n=Le(e);if(t!==n)return!1;if(t==="object"){let s=Object.keys(r),i=Object.keys(e);if(s.length!==i.length)return!1;for(let o=0;o<s.length;o++){let l=s[o],a=r[l],f=e[l];if(!et(a,f))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let s=0;s<r.length;s++){let i=r[s],o=e[s];if(!et(i,o))return!1}return!0}return!1}const tr=Symbol("idKey"),ae=Symbol("valueKey"),C=Symbol("childrenKey"),Q=Symbol("growKey");class Sr{[Q]=!0;[tr];[ae]=g.ref();[C]=new Map;constructor(e){this[tr]=e}}class rn{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[Q];let n=e[C].get(t);if(n)return Me(n);if(e[Q])return n=Wt(t),n[Q]=e[Q],e[C].set(t,n),Me(n)}set(e,t,n){return t=="value"?(e[ae].value=n,!0):t==="grow"?(e[Q]=Ut(n),!0):n==null?(e[C].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[C].delete(t),!0)}}const Bt="__proxy__";function Wt(r){let e=new Sr(r);return Reflect.set(e,Bt,new Proxy(e,new rn)),e}function Me(r){return Reflect.get(r,Bt)}class Cr extends Sr{constructor(){super("__root__")}put(...e){let t=e.length;if(t<2)return console.error("\u53C2\u6570\u81F3\u5C11\u5305\u62EC\u4E00\u4E2A(key, value)"),!1;let n=this;for(let s=0;s<t-1;s++){let i=e[s],o;n[C].has(i)?o=n[C].get(i):(o=Wt(i),n[C].set(i,o)),n=o}return n[ae].value=e[t-1],!0}get(...e){let t=e.length;if(t===0)return;let n=this;for(let s=0;s<t;s++){let i=e[s];if(n[C].has(i))n=n[C].get(i);else return}return n[ae].value}remove(...e){let t=e.length;if(t==0)return!1;let n=this;for(let i=0;i<t-1;i++){let o=e[i];if(n[C].has(o))n=n[C].get(o);else return!1}let s=e[t-1];return n[C].has(s)?(n[C].delete(s),!0):!1}contains(...e){let t=e.length;if(t==0)return!1;let n=this;for(let i=0;i<t-1;i++){let o=e[i];if(n[C].has(o))n=n[C].get(o);else return!1}let s=e[t-1];return n[C].has(s)}clear(){this[C].clear()}}const nn=["put","get","contains","remove","clear"];function rr(r){return nn.includes(r)}class sn{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[Q];if(t===C)return e[C];if(typeof t=="string"&&rr(t))return e[t];let n=String(t),s=e[C].get(n);if(s)return Me(s);if(e[Q])return s=Wt(n),s[Q]=e[Q],e[C].set(n,s),Me(s)}set(e,t,n){return t=="value"?(e[ae].value=n,!0):t==="grow"?(e[Q]=Ut(n),!0):rr(t)?!1:n==null?(e[C].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[C].delete(t),!0)}}function on(){let r=new Cr,e=new sn,t=new Proxy(r,e);return Object.assign({put(...s){return Reflect.apply(r.put,r,s)},get(...s){return Reflect.apply(r.get,r,s)},remove(...s){return Reflect.apply(r.remove,r,s)},contains(...s){return Reflect.apply(r.contains,r,s)},clear(){return Reflect.apply(r.clear,r,[])}},t),Reflect.set(r,Bt,t),r}let _t=new Proxy(Cr,{construct(r,...e){let t=on();return Me(t)}});const Z="default",Pr=Symbol("sync"),I=Symbol("resolveRoute");function nr(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function ln(r){let e=r.src;return new Promise((t,n)=>{const s=nr(l=>{Dt(l)&&(l=l.default),r.component=l,console.debug("success load async module"),t()}),i=nr(l=>{console.debug("reject load async module"),n(l)});let o;try{o=e(s,i)}catch(l){i(l)}if(o)if(typeof o.then=="function")o.then(s,i);else{const l=o.component;l&&typeof l.then=="function"&&l.then(s,i)}})}class an{name;level;rootName;rootIndex=0;constructor(e,t,n,s){this.name=e,this.level=t,this.rootName=n,this.rootIndex=s}}class tt{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){let t=new tt(e.to,e.from),n=e.data??{};return E(!0,t.data,n),t}}class ${path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??Z}!${e}`}name;root;params;query;matched;meta;success;error;destroy;opsType;updateType;viewTagAttrs;index;active;slot;session;static clone(e,t){let n=new $;return Oe(n,e,t),n}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new $;if(e==null)return t;let n=t;for(let i in e){let o=e[i];n[i]=o}const s=Object.getOwnPropertySymbols(e);if(Array.isArray(s)&&s.length>0)for(let i of s)n[i]=e[i];return t}}class un{id;name;props;meta;src;component;constructor(e,t,n,s){this.id=ee.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=n,this.meta=s}get isResolved(){return this.component!==void 0}resolve(){return ln(this)}}class ir{models=[]}class ut{path;match;redirect;name;layers=[]}const D=Symbol("chainKey"),M=Symbol("cursorKey"),ft=Symbol("$persistentModeKey"),F=Symbol("statusKey"),X=Symbol("argsKey"),Ne=Symbol("exArgsKey"),fe=Symbol("successFnsKey"),Se=Symbol("errorFnsKey"),ie=Symbol("sessionKey"),Y=Symbol("_go");class Ie{[D]=[];[M]=0;[ft]=!1;[F]="Free";[X]=[];[Ne]=[];[fe]=[];[Se]=[];[ie];get session(){return this[ie]}constructor(e,t=!1){this[ie]=e,this[ft]=t}[Y](e,...t){let n=this[F];if(this[F]="Busy",this[M]+=e,this[M]<0&&(this[M]=0),this[X]=t,n==="Exception"||n==="Reject"){let l=[{session:this[ie]},...this[Ne]];for(;this[Se].length>0;)try{let a=this[Se].shift();typeof a=="function"&&$e(()=>{Reflect.apply(a,{},l)})}catch(a){console.error(a.message,a)}return this[F]=n,this[D]=[],this[M]=0,this}else if(n==="Finished"||this[M]>=this[D].length){let l=[{session:this[ie]},...this[X]];for(;this[fe].length>0;){let a=this[fe].shift();typeof a=="function"&&$e(()=>{Reflect.apply(a,{},l)})}return this[F]="Free",this}if(this[M]>=this[D].length)return this[F]="Free",this;let s=this[D][this[M]];this[ft]||(this[D].splice(0,this[M]+1),this[M]=-1);let i=this[M]+1;try{let o=!1,l={go:(a,...f)=>{o||(o=!0,Reflect.apply(this[Y],this,[a,...f]))},resolve:(...a)=>{o||(o=!0,Reflect.apply(this[Y],this,[1,...a]))},reject:(...a)=>{o||(o=!0,Reflect.apply(this.reject,this,[...a]))},insert:a=>{o||(this[D].splice(i,0,a),i++)},session:this[ie]};$e(()=>{Reflect.apply(s,{},[l,...this[X]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[Y],this,[e,...t])}finish(...e){return this[F]="Finished",this[X]=e,Reflect.apply(this[Y],this,[0])}reject(...e){return this[F]="Reject",this[Ne]=e,Reflect.apply(this[Y],this,[0])}throw(...e){return this[F]="Exception",this[Ne]=e,Reflect.apply(this[Y],this,[0])}reset(...e){this[F]="Busy",this[X]=e,this[D]=[],this[M]=0;let n=[{session:this[ie]},...this[X]];for(;this[fe].length>0;){let s=this[fe].shift();$e(()=>{Reflect.apply(s,this,n)})}return this[F]="Free",this}post(e){return this[F]==="Reject"||this[F]==="Exception"?this:(Array.isArray(e)?this[D]=[...this[D],...e]:this[D].push(e),this[F]==="Busy"?this:(Reflect.apply(this[Y],this,[0,...this[X]]),this))}wait(e,t){return e&&typeof e=="function"&&this[fe].push(e),t&&typeof t=="function"&&this[Se].push(t),this[F]==="Busy"?this:(Reflect.apply(this[Y],this,[0,...this[X]]),this)}exception(e){return e&&typeof e=="function"&&this[Se].push(e),this[F]==="Busy"?this:Reflect.apply(this[Y],this,[0,...this[X]])}isFinish(){return this[F]=="Reject"||this[F]=="Free"&&this[M]>=this[D].length}}const ce=Symbol("registerKey");class fn{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class qt{[ce]=new Map;constructor(){}on(e,t,n=!1){let s=this[ce].get(e);s||(s=new Array,this[ce].set(e,s));let i=n===!0?1:0,o=new fn(t,i);return s.push(o),this}off(e,t){if(!t)return this[ce].delete(e),this;let n=this[ce].get(e);if(n){for(let s=0;s<n.length;s++)if(n[s].callback===t){n.splice(s,1);break}}return this}bind(e,t,n=!1){return this.on(e,t,n)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let n=e[t-1];if(typeof n!="function")return console.error("callback can not benn empty"),this;let s=t-1,i=new Array(s),o=[].splice.call(e,0,s);for(let l=0;l<o.length;l++)this.once(o[l],a=>{i[l]=a,s-=1,s==0&&Reflect.apply(n,{},i)});return this}emit(e,...t){let n=this[ce].get(e);if(!n)return this;for(let s=0;s<n.length;){let i=n[s];if(i.policy==1?n.splice(s,1):s++,typeof i.callback=="function")try{$e(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}function cn(r,e="text"){e=e.trim().toLowerCase();let t="";if(e.indexOf("application/x-www-form-urlencoded")===0)if(typeof r=="object")for(let n in r){let s=r[n];if(Array.isArray(s))for(let i=0;i<s.length;i++){let o=`${encodeURIComponent(n)}=${encodeURIComponent(s[i])}`;t.length>0&&(t+="&"),t+=o}else{let i=`${encodeURIComponent(n)}=${encodeURIComponent(s)}`;t.length>0&&(t+="&"),t+=i}}else t=r;else e.indexOf("text")===0?typeof r=="object"?t=JSON.stringify(r):t=r:e.indexOf("application/json")===0&&typeof r=="object"?t=JSON.stringify(r):t=r;return t}function hn(r,e,t="text"){if(e==null)return r;t=t.trim().toLowerCase();let n="";if(t.indexOf("application/x-www-form-urlencoded")===0||t.indexOf("application/json")===0)if(typeof e=="object")for(let s in e){let i=e[s];if(Array.isArray(i))for(let o=0;o<i.length;o++){let l=`${encodeURIComponent(s)}=${encodeURIComponent(i[o])}`;n.length>0&&(n+="&"),n+=l}else{let o=`${encodeURIComponent(s)}=${encodeURIComponent(i)}`;n.length>0&&(n+="&"),n+=o}}else n=e;else n=e;return n.length>0&&(r.indexOf("?")===-1?r=`${r}?${n}`:r=`${r}&${n}`),r}const dn={method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8"},mode:"cors",credentials:"same-origin",cache:"default",redirect:"follow",keepalive:!0},ve=new Map;async function kt(r){let{id:e,method:t="POST",url:n,headers:s={},data:i,processData:o=!0,timeout:l=-1}=r;if(e&&ve.has(e))throw new Error("resubmit");t=t.toUpperCase();let{contentType:a="application/json; charset=UTF-8"}=s,f=E(!0,{...dn},{method:t,headers:s});if(t==="GET"?n=hn(n,i,a):(o&&(i=cn(i,a)),f.body=i),e||l>0){e||(e=`fetch_${ee.get()}`);const u=new AbortController;f.signal=u.signal;let c={timer:null,controller:u};if(l>0){const h=setTimeout(()=>{c.timer&&c.controller.abort()},l);c.timer=h}ve.set(e,c)}try{let u=await fetch(n,f),c={};u.headers.forEach((y,v)=>{c[y]=v});let h,d=c["content-type"]??"";return d.indexOf("application/json")!==-1?h=await u.json():d.indexOf("text")!=-1?h=await u.text():h=await u.blob(),{ok:u.ok,status:u.status,statusText:u.statusText,headers:c,data:h,response:u}}catch(u){throw u}finally{if(e){let u=ve.get(e);u&&(u.timer&&(clearTimeout(u.timer),u.timer=null),ve.delete(e))}}}function yn(r){let e=ve.get(r);return e?(e.timer&&(clearTimeout(e.timer),e.timer=null),e.controller.abort(),ve.delete(r),!0):!1}const Ce=Symbol("registerKey");class pn{[Ce]=new Map;constructor(){}set(e,t){this[Ce].set(e,t)}get(e){return this[Ce].get(e)}has(e){return this[Ce].has(e)}delete(e){return this[Ce].delete(e)}}const $t=Symbol("lc");function Qe(r,e=!1){let t=r,n=t[$t];if(!n)if(e)n=new pn,t[$t]=n;else return null;return n}function Ar(r,e){let t=r;for(;t!==null;){let n=t[$t];if(n&&n.has(e))return n.get(e);t=t.$parent}return null}function sr(r){if(Array.isArray(r.children)&&r.children.length>0){let e=r.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return Qe(e.component.proxy,!1)}return null}const rt=Symbol("hooksKey");function mn(r){let e=r.get(rt);e||(e=[],r.set(rt,e))}function or(r,e){let t=r.get(rt);if(t!=null)for(let n=t.length-1;n>=0;n--){let s=t[n];if(s.type===e)try{Reflect.apply(s.hook,s.target,[])}catch(i){console.error(i.message,i)}}}var Ot=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Ot||{});class vn{type;hook;target;constructor(e,t,n){this.target=n,this.hook=t,this.type=e}}function gn(r,e,t,n){let s=new vn(e,t,n);return r.push(s),!0}function wn(r,e,t,n){let s=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===n){s=i;break}}return s!=-1?(r.splice(s,1),!0):!1}function Er(r){return(e,t)=>{let n;if(t)n=t;else{let i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}n=i.proxy}let s=Ar(n,rt);if(s==null){console.warn("can not get hooks context");return}g.onUnmounted(()=>{wn(s,r,e,n)}),gn(s,r,e,n)}}let bn=Er("a"),xn=Er("da");function Rn(){let r=new $;return r.path="",r.name="",r.params={},r.index=-1,g.shallowReactive(r)}const Lt=Symbol("routeKey");function ct(r,e){let t=r.get(Lt);if(t){let n={path:"",name:"",params:{},index:-1,session:{}};Object.assign(n,e),Object.assign(t,n)}else t=Rn(),Object.assign(t,e),r.set(Lt,t)}function Fr(r){let e=Ar(r,Lt);return e??null}const it=Symbol("rk"),ht=Symbol("vd"),lr=Symbol("rv"),dt=Symbol("rvi"),ar=Symbol("pv"),yt=Symbol("pvi");function Sn(r){for(var e=[],t=0;t<r.length;){var n=r[t];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:t,value:r[t++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:t++,value:r[t++]});continue}if(n==="{"){e.push({type:"OPEN",index:t,value:r[t++]});continue}if(n==="}"){e.push({type:"CLOSE",index:t,value:r[t++]});continue}if(n===":"){for(var s="",i=t+1;i<r.length;){var o=r.charCodeAt(i);if(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||o===95){s+=r[i++];continue}break}if(!s)throw new TypeError("Missing parameter name at ".concat(t));e.push({type:"NAME",index:t,value:s}),t=i;continue}if(n==="("){var l=1,a="",i=t+1;if(r[i]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(i));for(;i<r.length;){if(r[i]==="\\"){a+=r[i++]+r[i++];continue}if(r[i]===")"){if(l--,l===0){i++;break}}else if(r[i]==="("&&(l++,r[i+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(i));a+=r[i++]}if(l)throw new TypeError("Unbalanced pattern at ".concat(t));if(!a)throw new TypeError("Missing pattern at ".concat(t));e.push({type:"PATTERN",index:t,value:a}),t=i;continue}e.push({type:"CHAR",index:t,value:r[t++]})}return e.push({type:"END",index:t,value:""}),e}function Tr(r,e){e===void 0&&(e={});for(var t=Sn(r),n=e.prefixes,s=n===void 0?"./":n,i="[^".concat(me(e.delimiter||"/#?"),"]+?"),o=[],l=0,a=0,f="",u=function(R){if(a<t.length&&t[a].type===R)return t[a++].value},c=function(R){var q=u(R);if(q!==void 0)return q;var K=t[a],_=K.type,L=K.index;throw new TypeError("Unexpected ".concat(_," at ").concat(L,", expected ").concat(R))},h=function(){for(var R="",q;q=u("CHAR")||u("ESCAPED_CHAR");)R+=q;return R};a<t.length;){var d=u("CHAR"),y=u("NAME"),v=u("PATTERN");if(y||v){var p=d||"";s.indexOf(p)===-1&&(f+=p,p=""),f&&(o.push(f),f=""),o.push({name:y||l++,prefix:p,suffix:"",pattern:v||i,modifier:u("MODIFIER")||""});continue}var m=d||u("ESCAPED_CHAR");if(m){f+=m;continue}f&&(o.push(f),f="");var b=u("OPEN");if(b){var p=h(),j=u("NAME")||"",x=u("PATTERN")||"",P=h();c("CLOSE"),o.push({name:j||(x?l++:""),pattern:j&&!x?i:x,prefix:p,suffix:P,modifier:u("MODIFIER")||""});continue}c("END")}return o}function Cn(r,e){return Pn(Tr(r,e),e)}function Pn(r,e){e===void 0&&(e={});var t=zt(e),n=e.encode,s=n===void 0?function(a){return a}:n,i=e.validate,o=i===void 0?!0:i,l=r.map(function(a){if(typeof a=="object")return new RegExp("^(?:".concat(a.pattern,")$"),t)});return function(a){for(var f="",u=0;u<r.length;u++){var c=r[u];if(typeof c=="string"){f+=c;continue}var h=a?a[c.name]:void 0,d=c.modifier==="?"||c.modifier==="*",y=c.modifier==="*"||c.modifier==="+";if(Array.isArray(h)){if(!y)throw new TypeError('Expected "'.concat(c.name,'" to not repeat, but got an array'));if(h.length===0){if(d)continue;throw new TypeError('Expected "'.concat(c.name,'" to not be empty'))}for(var v=0;v<h.length;v++){var p=s(h[v],c);if(o&&!l[u].test(p))throw new TypeError('Expected all "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));f+=c.prefix+p+c.suffix}continue}if(typeof h=="string"||typeof h=="number"){var p=s(String(h),c);if(o&&!l[u].test(p))throw new TypeError('Expected "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));f+=c.prefix+p+c.suffix;continue}if(!d){var m=y?"an array":"a string";throw new TypeError('Expected "'.concat(c.name,'" to be ').concat(m))}}return f}}function An(r,e){var t=[],n=jr(r,t,e);return En(n,t,e)}function En(r,e,t){t===void 0&&(t={});var n=t.decode,s=n===void 0?function(i){return i}:n;return function(i){var o=r.exec(i);if(!o)return!1;for(var l=o[0],a=o.index,f=Object.create(null),u=function(h){if(o[h]===void 0)return"continue";var d=e[h-1];d.modifier==="*"||d.modifier==="+"?f[d.name]=o[h].split(d.prefix+d.suffix).map(function(y){return s(y,d)}):f[d.name]=s(o[h],d)},c=1;c<o.length;c++)u(c);return{path:l,index:a,params:f}}}function me(r){return r.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function zt(r){return r&&r.sensitive?"":"i"}function Fn(r,e){if(!e)return r;for(var t=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,s=t.exec(r.source);s;)e.push({name:s[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),s=t.exec(r.source);return r}function Tn(r,e,t){var n=r.map(function(s){return jr(s,e,t).source});return new RegExp("(?:".concat(n.join("|"),")"),zt(t))}function jn(r,e,t){return Kn(Tr(r,t),e,t)}function Kn(r,e,t){t===void 0&&(t={});for(var n=t.strict,s=n===void 0?!1:n,i=t.start,o=i===void 0?!0:i,l=t.end,a=l===void 0?!0:l,f=t.encode,u=f===void 0?function(L){return L}:f,c=t.delimiter,h=c===void 0?"/#?":c,d=t.endsWith,y=d===void 0?"":d,v="[".concat(me(y),"]|$"),p="[".concat(me(h),"]"),m=o?"^":"",b=0,j=r;b<j.length;b++){var x=j[b];if(typeof x=="string")m+=me(u(x));else{var P=me(u(x.prefix)),R=me(u(x.suffix));if(x.pattern)if(e&&e.push(x),P||R)if(x.modifier==="+"||x.modifier==="*"){var q=x.modifier==="*"?"?":"";m+="(?:".concat(P,"((?:").concat(x.pattern,")(?:").concat(R).concat(P,"(?:").concat(x.pattern,"))*)").concat(R,")").concat(q)}else m+="(?:".concat(P,"(").concat(x.pattern,")").concat(R,")").concat(x.modifier);else x.modifier==="+"||x.modifier==="*"?m+="((?:".concat(x.pattern,")").concat(x.modifier,")"):m+="(".concat(x.pattern,")").concat(x.modifier);else m+="(?:".concat(P).concat(R,")").concat(x.modifier)}}if(a)s||(m+="".concat(p,"?")),m+=t.endsWith?"(?=".concat(v,")"):"$";else{var K=r[r.length-1],_=typeof K=="string"?p.indexOf(K[K.length-1])>-1:K===void 0;s||(m+="(?:".concat(p,"(?=").concat(v,"))?")),_||(m+="(?=".concat(p,"|").concat(v,")"))}return new RegExp(m,zt(t))}function jr(r,e,t){return r instanceof RegExp?Fn(r,e):Array.isArray(r)?Tn(r,e,t):jn(r,e,t)}var A=(r=>(r[r.Push=0]="Push",r[r.Replace=1]="Replace",r[r.Put=2]="Put",r[r.Append=3]="Append",r[r.Open=4]="Open",r))(A||{}),Xe=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(Xe||{});const G=Symbol("rootKey"),J=Symbol("rootNodeKey"),le=Symbol("parentNodeKey"),Ye=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,n=0,s=!0){this.route=e,this.model=t,this.index=n,this.active=s}}class Pe{scope=null;set compensation(e){this.scope!==null&&this.scope.stop(),this.scope=g.effectScope(),this.scope.run(()=>{g.watch(this.slots,()=>{let t=!1;try{t=e()}catch(n){console.error(n)}t&&this.scope!==null&&(this.scope.stop(),this.scope=null)})})}_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[Ye];[G];[J]=null;[le]=null;get name(){return this[Ye]}constructor(e,t,n){this[Ye]=e,this[G]=t,n&&(this[J]=n)}}class U{view;index;level;constructor(e,t,n){this.view=e,this.index=t,this.level=n}static include(e,t){for(let n=0;n<e.length;n++){let s=e[n];if(s.view===t.view&&(t.index==-1||s.index===t.index)&&s.level===t.level)return!0}return!1}}class pt{views=[]}class _n{layers=[]}class qn{time;route}class $n{forbidTime=300;submitRecorder=new qn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const we=typeof window<"u",N=function(){return window},Ae=function(){return window.document};function On(r){let e=r,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function Ln(){if(!we)return"/";let r=N().location,e=`${r.protocol}//${r.host}`;return e+=On(r.pathname),e}function Mt(r,e,t){r.addEventListener?r.addEventListener(e,t,!1):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function It(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}let mt=Ln();class Mn{cache=new Map;constructor(){}async get(e,t=-1){if(this.cache.has(e))return this.cache.get(e);let n=await kt({url:e,method:"GET",timeout:t,heaaders:{"content-type":"text/plain"}});if(n.ok)return this.cache.set(e,n.data),n.data;throw Error(n.statusText)}remove(e){this.cache.delete(e)}}var z=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(z||{});class In{exports;status;id;src}class Nn{register=new Map;constructor(){}get(e){return this.register.get(e)}put(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t}contains(e){return this.register.has(e)}clear(){this.register.clear()}}class Hn{head;isOldWebKit;moduleManager=new Nn;resource=new Mn;options;_query;set query(e){this._query=e}get query(){return this._query}constructor(e={}){const t=Ae();this.head=t.head||t.getElementsByTagName("head")[0]||t.documentElement,this.isOldWebKit=+navigator.userAgent.replace(/.*(?:AppleWebKit|AndroidWebKit)\/(\d+).*/,"$1")<536,this.options=e,this.options.paths||(this.options.paths={}),this.options.alias||(this.options.alias={})}ensure(...e){let t=[],n=e.length-1,s={};typeof e[n]=="object"&&(Object.assign(s,e[n]),n--);let i=null;typeof e[n]=="function"&&(i=e[n],n--);for(let a=0;a<=n;a++)if(Array.isArray(e[a])){let f=e[a];for(let u=0;u<f.length;u++)f[u]!==void 0&&t.push(this.resolvePath(f[u]))}else{let f=e[a].split(",");for(let u=0;u<f.length;u++)f[u]!==void 0&&t.push(this.resolvePath(f[u]))}let o=new Dn(t.length,(a,f)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},f)}catch(u){console.error(u.message,u)}else try{console.error(a),typeof i=="function"&&Reflect.apply(i,{},[])}catch(u){console.error(u.message,u)}}),l=new Ie;for(let a=0;a<t.length;a++){let f=new Un(a,t[a],s,o);this.mount(l,f)}return this}remove(...e){let t=[],n=e.length-1,s={};typeof e[n]=="object"&&(Object.assign(s,e[n]),n--);let i=null;typeof e[n]=="function"&&(i=e[n],n--);for(let o=0;o<=n;o++)if(Array.isArray(e[o])){let l=e[o];for(let a=0;a<l.length;a++)l[a]!==void 0&&t.push(this.resolvePath(l[a]))}else{let l=e[o].split(",");for(let a=0;a<l.length;a++)l[a]!==void 0&&t.push(this.resolvePath(l[a]))}return t.forEach(o=>{this.unmount(o,s)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){const n=Ae();if(this.isNaturePath(t.src,"js")){let i=t.params.jsPoint;i||(i=this.head),this.mountJS(e,t,i);return}else if(this.isNaturePath(t.src,"css")){let i=t.params.cssPoint;i||(i=this.head),this.mountCSS(e,t,i);return}else if(this.isNaturePath(t.src,"html")){let i=t.params.htmlPoint;i||(i=n.body),this.mountHTML(e,t,i);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let i=t.params.jsPoint;i||(i=this.head),this.mountJS(e,t,i);return}else if(s==="css"){let i=t.params.cssPoint;i||(i=this.head),this.mountCSS(e,t,i);return}else{let i=t.params.htmlPoint;i||(i=n.body),this.mountHTML(e,t,i);return}}mountHTML(e,t,n){e.post(s=>{let i=t.params.timeout??this.options.timeout??3e4,o=t.src;this.resource.get(o,i).then(l=>{n.innerHTML=l,t.progress.work(!0,t.index,l),s.resolve()},l=>{console.error(l),t.progress.work(!1,t.index,null),s.reject()})})}mountCSS(e,t,n){e.post(s=>{const i=Ae(),o=t.src,l=i.createElement("link"),a="onload"in l;if(this.isOldWebKit||!a){const u={timeout:this.options.time||3e3,time:0,isOldWebKit:this.isOldWebKit,success:()=>{t.progress.work(!0,t.index,t.src),s.resolve()},error:()=>{try{n.removeChild(l)}catch(c){console.error(c.message,c)}t.progress.work(!1,t.index,null),s.resolve()}};setTimeout(()=>{Kr(l,u)},1)}else l.onload=()=>{l.onload=l.onerror=null,t.progress.work(!0,t.index,t.src),s.resolve()},l.onerror=()=>{try{n.removeChild(l)}catch(u){console.error(u.message,u)}l.onload=l.onerror=null,t.progress.work(!1,t.index,null),s.reject()};let f=i.getElementById(o);f&&f.parentNode&&f.parentNode.removeChild(f),l.rel="stylesheet",l.type="text/css",l.id=o,l.href=o,n.appendChild(l)})}mountJS(e,t,n){e.post(s=>{let i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==z.Defined||o.status==z.Loaded)){if(o.exports){t.progress.work(!0,t.index,o.exports),s.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),s.resolve();return}}o=new In,o.id=i,o.src=i,o.status=z.Loading,this.moduleManager.put(i,o);const a=Ae().createElement("script");if("onload"in a)a.onload=()=>{a.onload=a.onerror=null,o.status==z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),s.resolve()},a.onerror=()=>{try{n.removeChild(a)}catch(c){console.error(c.message,c)}a.onload=a.onerror=null,t.progress.work(!1,t.index,null),s.reject()};else{let c=a;c.onreadystatechange=()=>{/loaded|complete/.test(c.readyState)&&(c.onreadystatechange=null,o.status==z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),s.resolve())}}a.defer=!0,a.src=i;let u=N();u.define=this.createDefine(o,t),n.appendChild(a)})}unmount(e,t={}){const n=Ae(),s=this.getFileNamePostfix(e);if(s==="js"||s.length===0){const i=n.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(s==="css"){const i=n.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}else{this.resource.remove(e);let i=t.htmlPoint;i||(i=n.body),i.innerHTML="";return}}trimEmptyElement(e){let t=[];for(let n=0;n<e.length;n++){let s=e[n].trim();s.length!==0&&t.push(s)}return t}createDefine(e,t){let n=this,s=function(...i){e.status=z.Defining;let o,l,a,f=i.length;f===1?(a=i[0],o=void 0):f===2?(a=i[1],Array.isArray(i[0])?(l=n.trimEmptyElement(i[0]),o=void 0):l=void 0):(o=i[0],l=n.trimEmptyElement(i[1]),a=i[2]),o&&(e.id=o,n.options.alias[o]=e.src),l&&l.length>0?n.ensure(l,(...u)=>{typeof a=="function"?e.exports=Reflect.apply(a,e,u):e.exports=a,e.status=z.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof a=="function"?e.exports=Reflect.apply(a,e,[]):e.exports=a,e.status=z.Defined,t.progress.work(!0,t.index,e.exports))};return s.amd=!0,s}resolvePath(e){try{if(this.isNaturePath(e,"all"))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let n=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&t!=="html"&&(e+=".js"),n.length>0&&(e+=`?${n}`)):n.length>0&&(e+=`&${n}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let n in e){let s=`${e[n]}`;t+=`${encodeURIComponent(n)}=${encodeURIComponent(s)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let n=e.lastIndexOf(".",t);return n==-1?"":e.substring(n+1,t)}isNaturePath(e,t){if(this.options.nature==null)return!1;if(t==="all"||t==="js"){let n=this.options.nature.js;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}if(t==="all"||t==="css"){let n=this.options.nature.css;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}if(t==="all"||t==="html"){let n=this.options.nature.html;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return mt+e.slice(1);if(e.indexOf("./")==0)return mt+e.slice(2);if(t){let s=this.options.alias[e];if(!s){let i=e.indexOf("/");if(i==-1)s=e;else{let o=e.slice(0,i),l=this.options.paths[o];l?s=l+e.slice(i):s=e}}return this.parserPath(s,!1)}return mt+e}}function Kr(r,e){let t=r.sheet,n=!1;if(e.isOldWebKit)t&&(n=!0);else if(t)try{t.cssRules&&(n=!0)}catch(s){s.name==="NS_ERROR_DOM_SECURITY_ERR"&&(n=!0)}setTimeout(()=>{e.time+=20,n?e.success():e.time>e.timeout?e.error():Kr(r,e)},20)}class Dn{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,n){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(n)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(s){console.error(s.message,s)}}isOK(){return this.status}}class Un{index;src;params;progress;constructor(e,t,n,s){this.index=e,this.src=t,this.params=n,this.progress=s}}const ge=Symbol("_notifyChange");class Vn{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const He=Symbol("ignoreHistoryChangeOnceKey"),ur=Symbol("_navigateFirstRoute"),De=Symbol("_getRouteMark"),fr=Symbol("_getUrlSearch"),vt=Symbol("_generateLocation"),Ee=Symbol("_setRouteMarkRecorder"),cr="Symbol(_fox_restore_point)";function gt(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}class _r{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[He]=!1;constructor(e="hash",t="",n="",s=!0,i=!0,o=!1,l){this.mode=e,this.base=t,this.query=n,this.firstNavigate=s,this.historyMonitor=i,this.traceless=o,this.storage=l??N().sessionStorage}init(e=!0){const t=N();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(this[He]){this[He]=!1;return}if(gt(this.historyMonitor)){const n=t.history.state;this[ge](n);try{let s=[];if(typeof n=="string"?s=JSON.parse(n):s=n,Array.isArray(s)&&s.length>0){const i=this[De]()??"/";this[Ee](i,s)}}catch{}}}),Mt(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ur](),Promise.resolve()}destroy(){if(this.historyChange){const e=N();It(e,"popstate",this.historyChange)}}[ur](){let e=this[De]()??"/";const t=this.storage.getItem(cr);if(t)try{const o=JSON.parse(t);if(o.mark===e){this[ge](o.routes);return}}catch{}const n=e.indexOf("!");let s;n!=-1?s=e.substring(n+1):s=e;const i=new $;i.path=s,i.query=this[fr](),this[ge]([i])}[Ee](e,t){try{const n={mark:e,routes:t},s=JSON.stringify(n);this.storage.setItem(cr,s)}catch(n){console.error(n.message,n)}}setRestorePoint(e){const t=this[De]()??"/";this[Ee](t,e)}[ge](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[De](){const e=N();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,n=t.indexOf("#");if(n!=-1)return t.substring(n+1)}return null}[fr](){return N().location.search}listen(e){this.changeHandler=e}go(e,t=!0){const n=N();this[He]=!t,n.history.go(e)}push(e){let t=this[vt](e.currentRoute);gt(this.traceless,e.currentRoute)||N().history.pushState(e.routes,"",t),this[Ee](e.currentRoute.fullPath,e.routes)}replace(e){let t=this[vt](e.currentRoute);gt(this.traceless,e.currentRoute)||N().history.replaceState(e.routes,"",t),this[Ee](e.currentRoute.fullPath,e.routes)}[vt](e){const t=N();let n="";if(e.query){let l="";if(typeof e.query=="object")for(let a in e.query){let f=encodeURIComponent(e.query[a]),u=`${encodeURIComponent(a)}=${f}`;l.length>0&&(l+="&"),l+=u}else l=e.query;this.query?(n=`${this.query}&${l}`,n.charAt(0)!=="?"&&(n=`?${n}`)):n=`?${l}`}const s=t.location;let i=e.fullPath;i.startsWith(Z)&&(i=i.substring(Z.length+1));let o;return n?this.mode=="path"?o=`${this.base}/${i}${n}`:o=`${s.pathname}${n}#${i}`:this.mode=="path"?o=`${this.base}/${i}`:o=`${s.pathname}#${i}`,`${s.origin}${o}`}}function Bn(r=!0,e=null,t="",n=!0,s=!1,i){return e!==null&&(e=N().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new _r("path",e??"",t,r,n,s,i)}function qr(r=!0,e="",t=!0,n=!1,s){return new _r("hash","",e,r,t,n,s)}class Wn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}listen(e){this.changeHandler=e}[ge](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!0){if(this.queue.length==0||this.cursor<=0||this.cursor>=this.queue.length-1)return;let n=this.cursor+e;if(n<0?n=0:n>this.queue.length-1&&(n=this.queue.length-1),n!=this.cursor&&(this.cursor=n,t)){const s=this.queue[n];this[ge](s.routes)}}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function $r(r="",e=50){return new Wn(r,e)}const Ue=Symbol("_constructRouteModel"),Ve=Symbol("_findRouteModel"),wt=Symbol("_findRootView"),hr=Symbol("_getFirstView"),se=Symbol("_removeView"),dr=Symbol("_buildPage"),yr=Symbol("_resolveComponent"),pr=Symbol("_update"),re=Symbol("_merge"),bt=Symbol("_handleHistoryChange"),Be=Symbol("_handleRouteUpdated"),We=Symbol("routeUpdatedCallback"),w=Symbol("currentRoutes"),he=Symbol("current"),mr=Symbol("_addRouteRecorder"),de=Symbol("_removeRouteRecorder"),xt=Symbol("_cloneRouteRecorder"),O=Symbol("_handleError"),ke=Symbol("errorCallback"),V=Symbol("registerKey"),ze=Symbol("notFoundKey"),Rt=Symbol("notFoundPathKey"),B=Symbol("forestKey"),T=Symbol("historyKey"),Fe=Symbol("beforeFiltersKey"),Te=Symbol("afterFiltersKey"),je=Symbol("destroyFiltersKey"),ye=Symbol("mainDispatcherKey"),St=Symbol("initKey"),Je=Symbol("requireKey"),oe=Symbol("readyKey"),Ct=Symbol("readyHandlersKey"),Ge=Symbol("_markReady"),vr=Symbol("_createNextFn"),Pt=Symbol("_start"),At=Symbol("_before"),Et=Symbol("_after"),gr=Symbol("_destroy"),Ft=Symbol("_load"),Ke=Symbol("_unload"),Tt=Symbol("_loadDependency"),jt=Symbol("resolvedModulesKey"),_e=Symbol("resolveDependencyKey"),qe=Symbol("routerGuardKey");function kn(r){return r.layers.length==0||r.layers[0].views.length==0}function zn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(n=>{if(!(n==null||n==null))if(typeof n.meta=="object"){let s=E(!0,{},n.meta);e.push(s)}else n.meta&&e.push(n.meta)})}),e}class Jn{[V]=new Array;[ze];[Rt]="*";[oe]=!1;[Ct]=[];[B]=new _n;[T];[w]=new Array;[ke]=null;[We]=null;[Fe]=new Array;[Te]=new Array;[je]=new Array;[ye]=new Ie;[jt]=new Map;[_e]=null;[qe]=new $n;[St]=!1;[he]=g.ref(null);[Je]=null;get require(){return we?(this[Je]||(this[Je]=new Hn),this[Je]):null}get current(){return this[he].value}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[T]=e.history:this[T]=we?qr():$r(),this[T]?.listen(async n=>{let s=!0;try{if(typeof n=="string"){let i=this[I](n);i&&await this[bt]([i])}else await this[bt](n)}catch(i){console.error(i.message,i),s=!1}this[oe]===!1&&this[Ge](s)})}[O](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[ke]=="function")try{this[ke](e,t)}catch{}console.error(e)}init(){this[St]!==!0&&(this[T]?.init(!this[oe]),this[St]=!0)}isReady(){return this[oe]?Promise.resolve():new Promise((e,t)=>{this[Ct].push([e,t])})}[Ge](e){this[oe]=!0,this[Ct].forEach(([t,n])=>{try{e?t():n()}catch(s){console.error(s.message,s)}})}[bt](e){try{if(!e){let o=[...this[w]].reverse();return this[Ke](o),we&&N().location.reload(),Promise.resolve()}let t=null,n=[],s=[],i=0;for(;i<e.length&&i<this[w].length&&$.isSame(e[i],this[w][i]);i++)e[i].opsType===A.Open&&e[i].active===!0&&e[i].active!==this[w][i].active&&(t=e[i]);if(i<e.length&&(n=e.slice(i)),i<this[w].length&&(s=this[w].slice(i).reverse()),s.length==0&&n.length==0){if(t!==null)return this.restore([t])}else if(s.length>0){if(this[Ke](s)){if(n.length>0)return this.restore(n);if(t!==null)return this.restore([t])}}else return this.restore(n)}catch(t){this[O](t)}return Promise.resolve()}[Be](e){if(e)this[he].value=e;else{let t=this[w].length;t>0?this[he].value=this[w][t-1]:this[he].value=null}if(typeof this[We]=="function")try{this[We](this[he].value)}catch{}}[mr](e,t=-1){t<0||t>=this[w].length?this[w].push(e):this[w].splice(t,0,e)}[xt](){let e=[];for(let t of this[w]){let n=$.clone(t,!0);e.push(n)}return e}[de](e){if(this[w]==null)return;let t=-1;for(let n=0;n<this[w].length;n++)if($.isSame(this[w][n],e)){t=n;break}if(t!=-1){let n=this[w][t];this[w].splice(t,1),this[gr](n,n.session)}}set historyMonitor(e){this[T]&&(this[T].historyMonitor=e)}get historyMonitor(){return this[T]?this[T].historyMonitor:!1}set traceless(e){this[T]&&(this[T].traceless=e)}get traceless(){return this[T]?this[T].traceless:!1}setRestorePoint(){const e=this[xt]();this[T]?.setRestorePoint(e)}onRouteUpdated(e){this[We]=e}onError(e){this[ke]=e}beforeEach(e){this[Fe].push(e)}removeBeforeEach(e){const t=this[Fe].indexOf(e);return t!==-1?(this[Fe].splice(t,1),!0):!1}afterEach(e){this[Te].push(e)}removeAfterEach(e){const t=this[Te].indexOf(e);return t!==-1?(this[Te].splice(t,1),!0):!1}destroyEach(e){this[je].push(e)}removeDestroyEach(e){const t=this[je].indexOf(e);return t!==-1?(this[je].splice(t,1),!0):!1}setResolveDependency(e){this[_e]=e}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Rt]){this.setNotFoundRoute(e);return}const n=this[Ue](e);if(t==-1)this[V]=[...this[V],...n];else for(let s=n.length-1;s>=0;s--)this[V].splice(t,0,n[s])}removeRoute(e){const t=this[I](e);if(t===null)return console.warn("route\u683C\u5F0F\u9519\u8BEF",e),!1;for(let n=0;n<this[V].length;n++){const s=this[V][n];if(t?.path&&s.path===t.path)return this[V].splice(n,1),!0;if(t?.name&&s.name===t.name)return this[V].splice(n,1),!0}return!1}hasRoute(e){const t=this[I](e);return t===null?(console.warn("route\u683C\u5F0F\u9519\u8BEF",e),!1):this[V].findIndex(s=>{if(t?.path&&s.path===t.path||t?.name&&s.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Rt]=e}setNotFoundRoute(e){const t=this[Ue](e);this[ze]=t[0]}getRoutes(){return[...this[V]]}[Ue](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let n=e.components??(e.component&&{"":e.component});if(n==null){let l=new ut;return l.path=t,l.redirect=e.redirect,[l]}let s=[];for(let l in n){let a=n[l];l.length===0&&(l=Z);let f=new un(l,a,e.props,e.meta);s.push(f)}let i=!1,o=[];if(e.children)for(let l of e.children){let a=this[Ue](l);for(let f of a){let u=new ut;u.name=f.name,f.path&&f.path.length>0?t!=="/"?u.path=`${t}${f.path}`:u.path=f.path:(i=!0,u.path=t);let c=new ir;c.models=[...s],u.layers=[c,...f.layers],o.push(u)}}if(!i){let l=new ir;l.models=s;let a=new ut;a.name=e.name,a.path=t,a.layers=[l],o.splice(0,0,a)}return o}[Ve](e){let t=e.route;try{for(let n of this[V])if(t.path&&n.path){let s=n.match;s||(s=n.match=An(n.path));let i=s(t.path);if(!i)continue;if(n.redirect){let o=new $;E(!0,o,t),o.path=n.redirect;let l={route:o,find:void 0};return this[Ve](l)?(e.route=l.route,e.find=l.find,!0):!1}if(t.params=t.params??{},E(!0,t.params,i.params),t.query){let o=t.query;if(typeof o=="string"){let l={},a=o.split("&");for(let f of a){let u=f.split("=");if(u.length!==2)continue;let c=decodeURIComponent(u[0].trim()),h=decodeURIComponent(u[1].trim());l[c]=h}E(!0,t.params,l)}else typeof o=="object"&&E(!0,t.params,o)}return e.find=n,!0}else if(t.name===n.name){t.params=t.params??{};let s=Cn(n.path);return t.path=s(t.params),e.find=n,!0}}catch(n){console.error(n.message,n),typeof t.error=="function"&&t.error(n.message)}return!1}[I](e){let t=null;if(Array.isArray(e))if(t=new $,typeof e[0]=="object")t=$.from(e[0]);else for(let n=0;n<e.length;n++)n===0?e[n].charAt(0)==="/"?t.path=e[n]:t.name=e[n]:n===1?t.params=e[n]:n===2?t.root=e[n]:n===3&&E(!1,t,e[n]);else typeof e=="object"?t=$.from(e):typeof e=="string"&&(t=new $,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let n=t.path.indexOf("?");n!==-1&&n<t.path.length-1&&(t.query=t.path.substring(n+1),t.path=t.path.substring(0,n))}t.root=t.root??Z,t.opsType=t.opsType??this.options.defaultOperationType??A.Push}return t}push(...e){let t=this[I](e);return t?(t.opsType=t.opsType||A.Push,this.to(t)):(this[O]("resolve route fail",t),this)}put(...e){let t=this[I](e);return t?(t.opsType=A.Put,this.to(t)):(this[O]("resolve route fail",t),this)}replace(...e){let t=this[I](e);return t?(t.opsType=A.Replace,this.to(t)):(this[O]("resolve route fail",t),this)}append(...e){let t=this[I](e);return t?(t.opsType=A.Append,this.to(t)):(this[O]("resolve route fail",t),this)}remove(e){return new Promise(t=>{this[ye].post(n=>{try{if(this[w].length===0){n.resolve(),t(!1);return}let s=-1,i,o=[];if(e){if(e.root?i=e.root:i=this[w][0].root??Z,e.all)for(let a=this[w].length-1;a>0;a--){let f=this[w][a];f.opsType===A.Append&&f.root===i&&(o.splice(0,0,f),s=a-1)}else if(e.until)for(let a=this[w].length-1;a>0;a--){let f=this[w][a];if(f.opsType===A.Append&&f.root===i){if(e.until.charAt(0)==="/"&&e.until===f.path){s=a;break}else if(e.until===f.name){s=a;break}o.splice(0,0,f)}}}else{i=Z;let a=this[hr](this[B]);a&&(i=a.name);for(let f=this[w].length-1;f>0;f--){let u=this[w][f];if(u.opsType===A.Append&&u.root===i){o.push(u),s=f-1;break}}}if(o.length===0){let a="can not find route";console.warn(a),n.resolve(a),t(!1);return}let l=0;if(this[w].forEach(a=>{a.opsType!==A.Put&&l++}),this[Ke](o)){let a=0;this[w].forEach(u=>{u.opsType!==A.Put&&a++});const f=a-l;this[T]?.go(f,!1),n.resolve(),t(!0)}}catch(s){this[O](s),n.resolve(),t(!1)}})})}open(...e){let t=this[I](e);return t?(t.opsType=A.Open,this.to(t)):(this[O]("resolve route fail",t),this)}close(e){return this[ye].post(t=>{try{let n=this[I](e);if(!n){t.reject("resolve route fail");return}let s=[];for(let i=0;i<this[w].length;i++){let o=this[w][i];if(o.root===n.root){if(!n.path&&!n.name){s.push(o);continue}if(n.path&&n.path===o.path){s.push(o);break}else if(n.name&&n.name===o.name){s.push(o);break}}}if(s.length===0){t.resolve();return}this[Ke](s)&&this[Be](),t.resolve()}catch(n){this[O](n),t.resolve()}}),this}to(...e){let t=this[I](e);if(!t)return this[O]("resolve route fail",t),this;console.debug("route to",t.path,t.root);let n=this[qe].acquire(t);return n==null?(this[O]("route forbid",t),this):(this[ye].post(s=>{try{let i=this[Pt](t);this[At](i),!i.session?.routeModel&&this[_e]&&this[Tt](i),this[Ft](i),this[Et](i),i.wait((o,l)=>{let a=o.session.to;try{let f=$.clone(a,!0);const u=new Vn(f,this[xt]());a.opsType===A.Replace?this[T]?.replace(u):this[T]?.push(u)}catch(f){console.error(f.message,f)}if(this[qe].release(n),this[Be](a),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(f){console.error(f.message,f)}this[oe]===!1&&this[Ge](!0),s.resolve()},(o,l)=>{this[qe].release(n),l!==null&&this[O](l,t),this[oe]===!1&&this[Ge](!1),s.resolve()})}catch(i){this[qe].release(n),this[O](i,t),s.resolve()}}),this)}back(e=1){this[T]?.go(-e)}[vr](e){return(t,n)=>{if(typeof t=="boolean")t?e.resolve():e.reject(n??null);else if(t){let s=this[I](t);if(s){let i=e.session.to;s.success=i.success,s.error=i.error,e.session.to=s,e.session.routeModel=null,e.resolve()}else e.reject("route resolve fail")}else e.resolve()}}[Pt](e){let t=this[w].length>0?this[w][0]:void 0,n=new tt(e,t),s={route:e,find:null};return this[Ve](s),s.find&&(n.routeModel=s.find,e.matched=zn(s.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=s.find.layers[0].models[0].meta)),new Ie(n)}[At](e){for(let t of this[Fe])e.post(n=>{let s=this[vr](n);Reflect.apply(t,{},[n.session.to,n.session.from,s,n.session])})}[Et](e){e.post(t=>{for(let n of this[Te])try{Reflect.apply(n,{},[t.session.to,t.session.from,t.session])}catch(s){console.error(s.message,s)}t.resolve()})}[gr](e,t){for(let n of this[je])try{Reflect.apply(n,{},[e,t])}catch(s){console.error(s.message,s)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[Tt](e){let t=e.session,n=Reflect.apply(this[_e],this,[t?.to]);if(n==null)return;Array.isArray(n)||(n=[n]);let s=[];for(let i of n)this[jt].has(i)||s.push(i);s.length!==0&&e.post(i=>{this.require.ensure(s,(...o)=>{if(!o){i.reject();return}for(let l of o){if(!l)continue;let a;Dt(l)?a=l.default:a=l,Array.isArray(a)&&this.addRoutes(a)}for(let l of s)this[jt].set(l,!0);i.resolve()})})}[Ft](e){e.post(t=>{let n=t.session.to,s=t.session.routeModel;if(s==null){let o={route:n,find:null};if(this[Ve](o))s=o.find,t.session.routeModel=s;else if(this[ze])s=this[ze];else{t.reject(`not find route model, path:${n.path??n.name}`);return}}let i=tt.from(t.session);this[dr](n,s,i).then(o=>{this[B],t.resolve()},o=>{t.reject(o)})})}[Ke](e){if(e.length==0)return!0;let t=this[B],n=[];for(let s of e){let i=this[wt](t,s);i!=null&&n.push({...i,route:s})}if(n.length==0){let s="can not find view index";return this[O](s),!1}for(let s of n.reverse())this[se](t,{x:s.x,y:s.y},[s.route.index??0],!0);return!0}[wt](e,t){let n=t.root??Z,s;for(let i=0;i<e.layers.length;i++){let o=e.layers[i];for(let l=o.views.length-1;l>=0;l--){let a=o.views[l];if(a[G]&&a[Ye]===n)return s={x:l,y:i},s}}return null}[hr](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[se](e,t,n=null,s=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,l=[],a=!1,f=i.slots.value;for(let c=f.length-1;c>=0;c--){let h=f[c];(n==null||n.indexOf(h.index)!=-1)&&(h.route&&i[G]&&(this[de](h.route),h.active===!0&&h.route.opsType==A.Append&&(a=!0)),l.push(new U(i,h.index,t.y)),f.splice(c,1))}if(f.length==0)s?i.slots.value=[...f]:e.layers[t.y].views.splice(t.x,1);else{if(a){let c=f.length-1,h=f[c];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=[...f]}e.layers[t.y].views.length==0&&(o=!0);let u=t.y+1;for(;u<e.layers.length;u++){let c=e.layers[u].views,h=[];for(let d=c.length-1;(o||l.length>0)&&d>=0;d--){let y=c[d];if(y[le]&&(o||U.include(l,y[le]))){let v=y.slots.value;for(let p=v.length-1;p>=0;p--){let m=v[p];m.route&&y[G]&&this[de](m.route),h.push(new U(y,m.index,u)),v.splice(p,1)}e.layers[u].views.splice(d,1)}}l=h,e.layers[u].views.length==0&&(o=!0)}}restore(e){if(!e||this[V].length==0){let t=this[B];if(t.layers.length>0){let n=t.layers[0].views;n.length>0&&(n[0].slots.value=[])}return this[w]=[],this[Be](),Promise.resolve()}else return new Promise((n,s)=>{for(let i=0;i<e.length;i++){let o=e[i];this[ye].post(l=>{let a=this[Pt](o);this[At](a),!a.session?.routeModel&&this[_e]&&this[Tt](a),this[Ft](a),this[Et](a),a.wait((f,u)=>{l.resolve()},(f,u)=>{u!==null&&this[O](u),l.resolve()})})}this[ye].post(i=>{i.resolve(),n()})})}[dr](e,t,n){let s=e.updateType??Xe.Part;return this[yr](t).then(()=>{this[pr](t,e,n,s)})}[yr](e){let t=[];for(let n=0;n<e.layers.length;n++){let s=e.layers[n];for(let i=0;i<s.models.length;i++){let o=s.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[pr](e,t,n,s){if(e.layers[0].models.length!==1)return Promise.reject("illegal route structure(multil root node)");const i=e.layers[0].models[0];let o=this[B],l=kn(o),a=t.root??Z,f;!l&&s==Xe.Part&&(f=this[wt](o,t));let u,c=0;if(f==null||f==null)if(l||s===Xe.All){if(o.layers.length==0&&(o.layers[0]=new pt),o.layers[0].views.length==0){let h=t.root??Z;u=new Pe(h,!0,null),o.layers[0].views=[u]}else u=o.layers[0].views[0];f={x:0,y:0}}else{let h=t.slot;if(!h)return Promise.reject("can not rebuild view(because not route slot)");let d=h.level;if(d>o.layers.length)return Promise.reject("can not insert view(override level)");let y;if(h.rootName){let v=o.layers[d-1];for(let p of v.views){if(p[G]&&p.name===h.rootName){y=new U(p,h.rootIndex??0,d-1);break}if(p[J]&&p[J].view.name===h.rootName&&p[J].index===h.rootIndex){y=p[J];break}}}if(!y)return Promise.reject("can not insert view(not find root node ref)");u=new Pe(a,!0,y),o.layers[d].views.push(u),f={x:o.layers[d].views.length-1,y:d}}else u=o.layers[f.y].views[f.x];if(c=f.y,u[G]=!0,t.opsType===A.Append){t.index=ee.get();let h=u.slots.value;if(h.length>0){let m=h[h.length-1];m.active=!1,m.route&&(m.route.active=m.active)}let d=new te(t,i,t.index,!0);u.slots.value=[...h,d];let y=c+1,v=1,p=new U(u,t.index,c);this[re](o,y,e,v,p)}else if(t.opsType===A.Open){let h=u.slots.value,d=!1;for(let y of h){if(y.route!==null&&$.isSameForRouteModel(y.route,t)){if(y.active==!0)return t.index=y.index,t.active=y.active,y.route=t,Promise.resolve();y.active=!0,d=!0,t.index=y.index,t.active=y.active,y.route=t,this[de](y.route)}else y.active=!1;y.route&&(y.route.active=y.active)}if(!d){t.index=ee.get(),t.active=!0;let y=new te(t,i,t.index,!0);h.push(y);let v=c+1,p=1,m=new U(u,t.index,c);this[re](o,v,e,p,m)}u.slots.value=[...h]}else{let h=u.slots.value;if(h.length==0){t.index=ee.get(),u.slots.value=[new te(t,i,t.index)];let d=c+1,y=1,v=new U(u,t.index,c);this[re](o,d,e,y,v)}else{let d=h[0];if(d.model!==i){this[se](o,f,null,!0),t.index=ee.get(),u.slots.value=[new te(t,i,t.index)];let y=c+1,v=1,p=new U(u,t.index,c);this[re](o,y,e,v,p)}else{d.route!==null&&this[de](d.route);let y=[];for(let j=1;j<h.length;j++)y.push(h[j].index);y.length>0&&this[se](o,f,y,!0),t.index=d.index,d.route=t;let v=[new U(u,t.index,c)],p=c+1,m=1,b=new U(u,t.index,c);for(;v.length>0&&p<o.layers.length&&m<e.layers.length;p++,m++){let j=[];for(let P=0;P<o.layers[p].views.length;P++){let R=o.layers[p].views[P];R[le]&&U.include(v,R[le])&&j.unshift(P)}let x=[];for(let P of j){let R=o.layers[p].views[P],q=e.layers[m].models,K;for(let _=0;_<q.length;_++)if(R.name===q[_].name){K=q[_];break}if(!K)this[se](o,{x:P,y:p},null,!1);else{let _=R.slots.value;if(_.length==0){let L=0;R.slots.value=[new te(null,K,L)];let W=p+1,k=m+1;this[re](o,W,e,k,b)}else{let L=_[0];if(L.model!==K){this[se](o,{x:P,y:p},null,!0),R.slots.value=[new te(null,K,0)];let W=p+1,k=m+1;this[re](o,W,e,k,b)}else{R[G]&&L.route!==null&&this[de](L.route);let W=[];for(let k=1;k<_.length;k++)W.push(_[k].index);W.length>0&&this[se](o,{x:P,y:p},W,!0),x.push(new U(R,L.index,p))}}R[G]=!1}}v=x}this[re](o,p,e,m,b)}}}if(u&&u[J]){let h=u[J];h&&(t.slot=new an(a,c,h?.view.name,h?.index??0))}n.to=void 0,n.routeModel=void 0,t.session=n,this[mr](t)}[re](e,t,n,s,i){let o=s,l=t;for(;l<e.layers.length&&o<n.layers.length;l++,o++){let a=e.layers[l].views;for(let f of n.layers[o].models){let u=new Pe(f.name,!1,i),c=new te(null,f);u.slots.value=[c],a.push(u)}}for(;o<n.layers.length;o++){let a=new pt;a.views=[];for(let f of n.layers[o].models){let u=new Pe(f.name,!1,i),c=new te(null,f);u.slots.value=[c],a.views.push(u)}e.layers.push(a)}}[Pr](e,t,n,s,i,o){if(t<0||t>this[B].layers.length)return null;if(t<this[B].layers.length){let u=this[B].layers[t],c=null;for(let h of u.views){let d=!1;if(n!==null?(d=h.name===e&&h[J]?.view===n,d&&s!==-1&&(d=h[J]?.index===s)):d=h.name===e,!!d){i!==null&&(h[le]={view:i,index:o,level:t-1}),c=h;break}}if(c!==null)return c}let l=null,a=null;i!==null&&(i[G]?l={view:i,index:o,level:t-1}:l=i[J],a={view:i,index:o,level:t-1});let f=new Pe(e,!0,l);if(f[le]=a,t==this[B].layers.length){let u=new pt;u.views=[f],this[B].layers.push(u)}else this[B].layers[t].views.push(f);return f}}const Gn="fox-router-view",Qn="fox-router-link";function Or(r,e=!1){let t=null;return e?t=r.showFromClass??r.enterFromClass:t=r.enterFromClass,t||(t=r.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function Lr(r,e=!1){let t=null;return e?t=r.showActiveClass??r.enterActiveClass:t=r.enterActiveClass,t||(t=r.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function Xn(r,e=!1){let t=null;return e?t=r.showToClass??r.enterToClass:t=r.enterToClass,t||(t=r.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function Yn(r,e=!1){let t=null;return e?t=r.hideFromClass??r.leaveFromClass:t=r.leaveFromClass,t||(t=r.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function Zn(r,e=!1){let t=null;return e?t=r.hideActiveClass??r.leaveActiveClass:t=r.leaveActiveClass,t||(t=r.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function ei(r,e=!1){let t=null;return e?t=r.hideToClass??r.leaveToClass:t=r.leaveToClass,t||(t=r.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function ti(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function ri(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function ni(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function ii(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function si(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function oi(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function li(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function Jt(r){let e,t=r.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function be(r,e){r.classList.contains(e)||r.classList.add(e)}function xe(r,e){r.classList.remove(e)}const ai=we&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function Gt(r){ai(r)}function H(r,e,t){!S(e)||(r==null&&(r={}),Reflect.apply(e,r,t))}function Mr(r,e,t,n=-1,s,i,o,l){if(S(i)){if(s!==void 0&&s>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,n]),S(l)&&Reflect.apply(l,r,[])},s);return}const a=["animationend","transitionend"],f=u=>{a.forEach(c=>{It(e,c,f)}),Reflect.apply(i,r,[e,t,n]),l&&Reflect.apply(l,r,[])};a.forEach(u=>{Mt(e,u,f)})}if(S(o)){const a="animationcancel",f=u=>{Reflect.apply(o,r,[e,t,n]),It(e,a,f)};Mt(e,a,f)}}function Qt(r){return!we||r===null?!1:r.opsType===A.Append||r.opsType===A.Open}function Ir(r,e,t,n={},s,i=-1){if(e||Qt(s)){const o=Or(n,e);o&&be(t,o);const l=Lr(n,e);l&&be(t,l);const a=ti(n,e);H(r,a,[t,e,s,i])}}function Nr(r,e,t,n={},s,i,o,l){if(!Qt(i)&&!e){S(l)&&l(r,l,[t]);return}const a=Or(n,e),f=Lr(n,e),u=Xn(n,e),c=ri(n,e),h=ni(n,e),d=ii(n,e);Gt(()=>{Mr(r,t,i,o,s,()=>{f&&xe(t,f),u&&xe(t,u),S(h)&&H(r,h,[t,e,i,o]),S(l)&&l(r,l,[t])},()=>{S(d)&&H(r,d,[t,e,i,o])}),a&&xe(t,a),u&&be(t,u),S(c)&&H(r,c,[t,e,i,o])})}function Hr(r,e,t,n={},s,i,o,l,a){if(!Qt(o)&&!e){!e&&S(i)&&i();return}const f=Yn(n,e),u=Zn(n,e),c=ei(n,e),h=si(n,e),d=oi(n,e),y=li(n,e);f&&be(t,f),u&&be(t,u),S(h)&&H(r,h,[t,e,o,l]),Gt(()=>{Mr(r,t,o,l,s,()=>{u&&xe(t,u),c&&xe(t,c),S(d)&&H(r,d,[t,e,o,l]),S(a)&&H(r,a,[t]),!e&&S(i)&&i()},()=>{S(y)&&H(r,y,[t,e,o,l]),S(a)&&H(r,a,[t]),!e&&S(i)&&i()}),f&&xe(t,f),c&&be(t,c)})}function Nt(r,e={},t,n=-1){const s=e.mode??"default",i=Jt(e);return{mode:s,persisted:!1,beforeEnter:l=>{Ir(r,!1,l,e,t,n)},enter:l=>{Nr(r,!1,l,e,i.enter,t,n)},leave:(l,a)=>{Hr(r,!1,l,e,i.leave,a,t,n)},clone:l=>Nt(r,e,t,n)}}function Dr(r){return r.el}function ui(r,e,t={},n,s,i,o){if(i){const l=Dr(e);if(l==null)return;const a=Jt(t);Ir(r,!0,l,t,n,s),Nr(r,!0,l,t,a.show,n,s,f=>{S(o)&&H(r,o,[f])})}else S(o)&&H(r,o,[])}function fi(r,e,t={},n,s,i,o){if(i){const l=Dr(e);if(l==null)return;const a=Jt(t);Hr(r,!0,l,t,a.hide,null,n,s,f=>{S(o)&&H(r,o,[f])})}else S(o)&&H(r,o,[])}function ci(r,e={}){Gt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function ne(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Kt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}class hi{node;state;constructor(e,t){this.node=e,this.state=t}}const Ht=g.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(r,e){const t=g.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const n=r.multi===!0,s=g.inject(it,null),i=g.inject(ht,0),o=g.inject(lr,null),l=g.inject(dt,-1);let a=null;const f=r.modelSlot;if(f){g.provide(ht,i+1),g.provide(dt,f.index),g.provide(yt,f.index);const c=f.route;if(!c){console.warn("child view render error, route not exist");return}const h=Qe(t.proxy,!0);mn(h),ct(h,c)}else{if(s==null){console.error("router is not been injected");return}const c=r.name,h=g.inject(ar,null),d=g.inject(yt,0);if(a=s[Pr](c,i,o,l,h,d),a===null)return;if(g.provide(ar,a),a[G]===!0&&g.provide(lr,a),!n){g.provide(dt,-1),g.provide(ht,i+1),g.provide(yt,-1);const v=a.slots.value;if(v.length>0){const p=v[0].route;if(p){const m=Qe(t.proxy,!0);ct(m,p)}}else{const p=Qe(t.proxy,!0);a.compensation=()=>{const m=a.slots.value;if(m.length>0){const b=m[0].route;return b&&ct(p,b),!0}return!1}}}}const u={value:new Map};return g.onUnmounted(()=>{u.value&&u.value.clear()}),()=>{if(n){const c=new Map,h=[],d=a?.slots.value,y=[];for(let m=0;m<d.length;m++){const b=d[m],j=`${r.name}-${b.index}`,x=ne(r.transition,b.route,m)??!0,P={modelSlot:b};let R;e.slots.default?R=g.h(Ht,P,{default:e.slots.default}):R=g.h(Ht,P);const q={},K=ne(r.viewClass,b.route,m);typeof K=="string"&&K.length>0&&(q[K]=!0);const _=ne(r.viewActiveClass,b.route,m),L=ne(r.viewInactiveClass,b.route,m),W=u.value.get(j);if(typeof _=="string"&&_.length>0&&(q[_]=b.active),typeof L=="string"&&L.length>0&&(q[L]=!b.active),W&&b.active!==W.state){const ue=W.node;b.active?y.unshift(()=>{const lt=()=>{let Re=sr(ue);Re!=null&&or(Re,Ot.ACTIVATED)};ui(t,ue,r,b.route,m,x,lt)}):y.push(()=>{const lt=()=>{const Re=sr(ue);Re!=null&&or(Re,Ot.DEACTIVATED)};fi(t,ue,r,b.route,m,x,lt)})}const k={class:q,key:j},st=ne(r.viewTagProps,b.route,m);st!==null&&typeof st=="object"&&E(!0,k,st),b.route?.viewTagAttrs&&typeof b.route?.viewTagAttrs=="object"&&E(!0,k,b.route.viewTagAttrs);const Ur=ne(r.viewTag,b.route,m),ot=g.h(Ur,k,{default:()=>[R]});if(c.set(j,new hi(ot,b.active)),u.value.delete(j),x){const ue=Nt(t,r,b.route,m);ot.transition=ue}h.push(ot)}u.value.forEach(m=>{m.node.transition=null}),u.value=c,ci(y,t);const v=ne(r.tag,null,-1),p={};return Object.assign(p,e.attrs),g.h(v,p,{default:()=>h})}else if(f!=null){const c=f.model,h={};c.props&&(typeof c.props=="object"?E(!1,h,c.props):c.props===!0&&typeof f.route?.params=="object"&&E(!1,h,f.route?.params));const d=g.h(c.component,h);return Kt(e.slots.default,{Component:d,route:f.route})??d}else{const c=a.slots.value;if(c.length>0){const h=c[0],d=h.model,y={};d.props&&(typeof d.props=="object"?E(!1,y,d.props):d.props===!0&&typeof h.route?.params=="object"&&E(!1,y,h.route?.params));const v=g.h(d.component,y);if(ne(r.transition,h.route,-1)??!0){const m=Nt(t,r,h.route,-1);v.transition=m}return Kt(e.slots.default,{Component:v,route:h.route})??v}else return Kt(e.slots.fallback,{})}}}});function di(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!=null&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function yi(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function pi(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function pe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let mi=g.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(r,e){const t=g.inject(it,null);return()=>{let n=pe(r.to,null),s=pe(r.tag,n);if(s==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[I](n),r.root&&(i.root=r.root),o=t.current);let l={},a=pe(r.activeClass,i);if(typeof a=="string"&&a.length>0&&(l[a]=pi(i,o)),pe(r.exact,i)===!0){let h=pe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(l[h]=yi(i,o))}let u={class:l};(s==="a"||s==="A")&&(u.href=i?.path??i?.name??"#"),E(!0,u,e.attrs);let c=pe(r.event,i);if(typeof c=="string"){const h=d=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}di(d)&&t.to(i)};u[c]=h}return g.h(s,u,e.slots)}}}),vi={get each(){return tn},get type(){return Le},get isFunction(){return S},get isArray(){return wr},get isArrayLike(){return Vt},get makeArray(){return en},get merge(){return Rr},get isWindow(){return xr},get isPlainObject(){return Ze},get isEqual(){return et}};const Xt=Symbol("fk"),Yt=Symbol("fbk"),Zt=Symbol("fepk");function gi(r={}){const e=new Jn(r),t=new _t,n=new qt,s={...vi,get router(){return e},get bus(){return t},get Bus(){return _t},get eventproxy(){return n},get EventProxy(){return qt},get EventChain(){return Ie},get require(){return e.require},get request(){return kt},get extend(){return E},get clone(){return Oe},install(i){i.provide(it,e),i.provide(Xt,s),i.provide(Yt,t),i.provide(Zt,n),i.component(Gn,Ht),i.component(Qn,mi),Reflect.defineProperty(i.config.globalProperties,"$fox",{get(){return s}}),Reflect.defineProperty(i.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(i.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(i.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(i.config.globalProperties,"$eventProxy",{get(){return n}}),i.config.globalProperties.$fox_on=function(o,l,a=!1){n.on(o,l,a)},i.config.globalProperties.$fox_off=function(o,l){n.off(o,l)},i.config.globalProperties.$fox_once=function(o,l){n.once(o,l)},i.config.globalProperties.$fox_all=function(...o){let l=n;Reflect.apply(l.all,l,o)},i.config.globalProperties.$fox_trigger=function(o,...l){let a=n;Reflect.apply(a.trigger,a,[o,...l])},i.config.globalProperties.$fox_emit=function(o,...l){let a=n;Reflect.apply(a.trigger,a,[o,...l])},i.mixin({computed:{$route(){return Fr(this)}}}),e.init()}};return s}function er(r){return r?r.$router:g.inject(it)}function wi(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Fr(r):null}function bi(r){return r?r.$fox:g.inject(Xt)}function xi(r){return r?r.$bus:g.inject(Yt)}function Ri(r){return r?r.$eventProxy:g.inject(Zt)}function Si(r){const e=er(),t=(n,s,i)=>{try{Reflect.apply(r,{},[n,s])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Ci(r){const e=er(),t=(n,s,i)=>{try{Reflect.apply(r,{},[n,s])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=_t;exports.EventChain=Ie;exports.EventProxy=qt;exports.Route=$;exports.cancel=yn;exports.clone=Oe;exports.createFox=gi;exports.createMemoryHistory=$r;exports.createWebHashHistory=qr;exports.createWebHistory=Bn;exports.extend=E;exports.foxBusKey=Yt;exports.foxEventProxyKey=Zt;exports.foxKey=Xt;exports.isArray=wr;exports.isDate=Wr;exports.isESModule=Dt;exports.isEqual=et;exports.isFunction=S;exports.isMap=Vr;exports.isObject=br;exports.isPlainObject=Ze;exports.isPromise=Jr;exports.isSet=Br;exports.isString=kr;exports.isSymbol=zr;exports.onAfterRouteUpdate=Ci;exports.onBeforeRouteUpdate=Si;exports.onFoxActivated=bn;exports.onFoxDeactivated=xn;exports.request=kt;exports.sessionKey=ie;exports.toBoolean=Ut;exports.toNumber=Yr;exports.toTypeString=nt;exports.typeOf=Le;exports.useBus=xi;exports.useEventProxy=Ri;exports.useFox=bi;exports.useRoute=wi;exports.useRouter=er;
|
package/libs/index.esm.d.ts
CHANGED
|
@@ -180,7 +180,7 @@ export declare class EventChain {
|
|
|
180
180
|
/**
|
|
181
181
|
* event chain 上下文
|
|
182
182
|
*/
|
|
183
|
-
declare interface EventChainContext {
|
|
183
|
+
export declare interface EventChainContext {
|
|
184
184
|
/**
|
|
185
185
|
* 任务跳转
|
|
186
186
|
*/
|
|
@@ -214,7 +214,7 @@ declare interface EventChainContext {
|
|
|
214
214
|
/**
|
|
215
215
|
* Session类型
|
|
216
216
|
*/
|
|
217
|
-
declare interface EventChainSession {
|
|
217
|
+
export declare interface EventChainSession {
|
|
218
218
|
[propName: string]: any;
|
|
219
219
|
}
|
|
220
220
|
|
|
@@ -831,7 +831,7 @@ export declare class Route {
|
|
|
831
831
|
/**
|
|
832
832
|
* 路由配置
|
|
833
833
|
*/
|
|
834
|
-
declare interface RouteConfig {
|
|
834
|
+
export declare interface RouteConfig {
|
|
835
835
|
/**
|
|
836
836
|
* 路径
|
|
837
837
|
*/
|
|
@@ -1139,7 +1139,7 @@ declare interface RouterHistory {
|
|
|
1139
1139
|
/**
|
|
1140
1140
|
* router options
|
|
1141
1141
|
*/
|
|
1142
|
-
declare interface RouterOptions {
|
|
1142
|
+
export declare interface RouterOptions {
|
|
1143
1143
|
/**
|
|
1144
1144
|
* 默认操作类型
|
|
1145
1145
|
*/
|
|
@@ -1203,6 +1203,8 @@ declare class Session {
|
|
|
1203
1203
|
}): Session;
|
|
1204
1204
|
}
|
|
1205
1205
|
|
|
1206
|
+
export declare const sessionKey: any;
|
|
1207
|
+
|
|
1206
1208
|
/**
|
|
1207
1209
|
* 插槽
|
|
1208
1210
|
*/
|
|
@@ -1257,7 +1259,7 @@ declare interface Storage_2 {
|
|
|
1257
1259
|
/**
|
|
1258
1260
|
* Task类型
|
|
1259
1261
|
*/
|
|
1260
|
-
declare interface Task {
|
|
1262
|
+
export declare interface Task {
|
|
1261
1263
|
(context: EventChainContext, ...args: any[]): void;
|
|
1262
1264
|
}
|
|
1263
1265
|
|