@fox-js/fox 3.1.1-8 → 3.1.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 CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";/*!
2
- * fox v3.1.0 Fri Oct 18 2024 19:32:13 GMT+0800 (中国标准时间)
3
- */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),he=typeof window<"u",$=function(){return window},Ve=function(){return window.document};function hr(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 wt(){if(!he)return"/";let r=$().location,e=`${r.protocol}//${r.host}`;return e+=hr(r.pathname),e}function at(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function zt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const Je=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},yr=Array.isArray,dr=r=>ht(r)==="[object Map]",pr=r=>ht(r)==="[object Set]",mr=r=>r instanceof Date,x=r=>typeof r=="function",gr=r=>typeof r=="string",vr=r=>typeof r=="symbol",_s=r=>r!==null&&typeof r=="object",wr=r=>_s(r)&&x(r.then)&&x(r.catch),Ue=r=>r==null,br=Object.prototype.toString,ht=r=>br.call(r),Ks=r=>ht(r)==="[object Object]",xr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Gt(r){return r.__esModule||xr&&r[Symbol.toStringTag]==="Module"}const Rr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function F(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=F(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function yt(r,e,t=!1){if(!t)F(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!Ks(i))continue;n=yt(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class ie{static seed=new Date().getTime();static get(){let e=++ie.seed;return e>=Number.MAX_VALUE&&(ie.seed=0),e}}const bt=Rr?Promise.resolve():null;function Ie(r,...e){bt!==null?e&&e.length>0?bt.then(()=>{r(e)}):bt.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Sr(r){return typeof r=="number"?r:Number(r)}const Pr={"[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 Dt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Pr[t]||"object"}function Ht(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Dt(r),s=Dt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ht(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ht(i,o))return!1}return!0}return!1}const js=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=js(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Cr=/^Symbol\((.*)\)$/,qs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=qs(s));const n=Cr.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function Ls(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const us=Symbol("idKey"),ye=Symbol("valueKey"),R=Symbol("childrenKey"),J=Symbol("growKey");class ks{[J]=!0;[us];[ye]=g.ref();[R]=new Map;constructor(e){this[us]=e}}class Er{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];let s=e[R].get(t);if(s)return De(s);if(e[J])return s=Yt(t),s[J]=e[J],e[R].set(t,s),De(s)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):s==null?(e[R].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[R].delete(t),!0)}}const Qt="__proxy__";function Yt(r){const e=new ks(r);return Reflect.set(e,Qt,new Proxy(e,new Er)),e}function De(r){return Reflect.get(r,Qt)}let $r=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(n[o]=this.state[o]))}),this.state=n,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}};class Os extends ks{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new $r(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[R].has(i)?o=s[R].get(i):(o=Yt(i),s[R].set(i,o)),s=o}return s[ye].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[R].has(i))s=s[R].get(i);else return}return s[ye].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)?(s[R].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)}clear(){this[R].clear(),this._persistHandler.clear()}}const Fr=["put","get","contains","remove","clear","_persistHandler"];function cs(r){return Fr.includes(r)}class Ar{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];if(t===R)return e[R];if(typeof t=="string"&&cs(t))return e[t];const s=String(t);let n=e[R].get(s);if(n)return De(n);if(e[J])return n=Yt(s),n[J]=e[J],e[R].set(s,n),De(n)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):cs(t)?!1:s==null?(e[R].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[R].delete(t),!0)}}function Tr(r,e){const t=new Os(r,e),s=new Ar,n=new Proxy(t,s);return Reflect.set(t,Qt,n),t}const Ut=new Proxy(Os,{construct(r,e){const t=e[0]??{},s=e[1],n=Tr(t,s);return De(n)}}),Zt=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class Ms{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||Zt(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function Is(r,e,t){const s=new Ms(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Ue(h)||(c[f]=h)}Zt(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=Ls(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function _r(r,e){return Is(!1,r,e)}function Kr(r,e){return Is(!0,r,e)}function jr(r,e){const t=new Ms(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Ue(f)||(u[c]=f)}Zt(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=Ls(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function qr(r,e){return jr(r,e)}const X="default",Ns=Symbol("sync"),O=Symbol("resolveRoute");function fs(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function Lr(r){let e=r.src;return new Promise((t,s)=>{const n=fs(a=>{Gt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=fs(a=>{console.debug("reject load async module"),s(a)});let o;try{o=e(n,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(n,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(n,i)}})}class kr{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class Re{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new Re(e.to,e.from),s=e.data??{};return F(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class S{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??X}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new S;return yt(s,e,t),s}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 S;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Or{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=ie.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return Lr(this)}}class hs{models=[]}class xt{path;match;redirect;name;layers=[]}var E=(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))(E||{});const Ds="FoxBeforeEnter",Hs="FoxEnter",Us="FoxLeave",Bs="FoxLeave",ut="FoxLeaveEnd",I=Symbol("chainKey"),k=Symbol("cursorKey"),Rt=Symbol("$persistentModeKey"),C=Symbol("statusKey"),z=Symbol("argsKey"),We=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),Fe=Symbol("errorFnsKey"),ne=Symbol("sessionKey"),G=Symbol("_go");class He{[I]=[];[k]=0;[Rt]=!1;[C]="Free";[z]=[];[We]=[];[ge]=[];[Fe]=[];[ne];get session(){return this[ne]}constructor(e,t=!1){this[ne]=e,this[Rt]=t}[G](e,...t){let s=this[C];if(this[C]="Busy",this[k]+=e,this[k]<0&&(this[k]=0),this[z]=t,s==="Exception"||s==="Reject"){let a=[{session:this[ne]},...this[We]];for(;this[Fe].length>0;)try{let l=this[Fe].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[C]=s,this[I]=[],this[k]=0,this}else if(s==="Finished"||this[k]>=this[I].length){let a=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}return this[C]="Free",this}if(this[k]>=this[I].length)return this[C]="Free",this;let n=this[I][this[k]];this[Rt]||(this[I].splice(0,this[k]+1),this[k]=-1);let i=this[k]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[G],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[G],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[ne]};Ie(()=>{Reflect.apply(n,{},[a,...this[z]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[G],this,[e,...t])}finish(...e){return this[C]="Finished",this[z]=e,Reflect.apply(this[G],this,[0])}reject(...e){return this[C]="Reject",this[We]=e,Reflect.apply(this[G],this,[0])}throw(...e){return this[C]="Exception",this[We]=e,Reflect.apply(this[G],this,[0])}reset(...e){this[C]="Busy",this[z]=e,this[I]=[],this[k]=0;let s=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let n=this[ge].shift();Ie(()=>{Reflect.apply(n,this,s)})}return this[C]="Free",this}post(e){return this[C]==="Reject"||this[C]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[Fe].push(t),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this)}exception(e){return e&&typeof e=="function"&&this[Fe].push(e),this[C]==="Busy"?this:Reflect.apply(this[G],this,[0,...this[z]])}isFinish(){return this[C]=="Reject"||this[C]=="Free"&&this[k]>=this[I].length}}const ve=Symbol("registerKey");class Mr{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Bt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Mr(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}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 s=e[t-1];if(typeof s!="function")return console.error("callback can not benn empty"),this;let n=t-1,i=new Array(n),o=[].splice.call(e,0,n);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,n-=1,n==0&&Reflect.apply(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ie(()=>{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 Ae=Symbol("registerKey");class Ir{[Ae]=new Map;constructor(){}set(e,t){this[Ae].set(e,t)}get(e){return this[Ae].get(e)}has(e){return this[Ae].has(e)}delete(e){return this[Ae].delete(e)}}const fe=Symbol("lc");function ct(r,e=!1){let t=r;if(Reflect.has(t,fe))return t[fe];if(e){const s=new Ir;return t[fe]=s,s}return null}function Vs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,fe)&&(t=s[fe],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=ct(n.$parent,e))}return t}function es(r,e){let t=r;for(;t;){if(Reflect.has(t,fe)){const s=t[fe];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Nr(r,e,t){Vs(r,!0)?.set(e,t)}function Dr(r,e){Vs(r,!0)?.delete(e)}function ys(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 ct(e.component.proxy,!1)}return null}const ft=Symbol("hooksKey");function Hr(r){let e=r.get(ft);e||(e=[],r.set(ft,e))}function ds(r,e){let t=r.get(ft);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var Vt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Vt||{});class Ur{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Br(r,e,t,s){let n=new Ur(e,t,s);return r.push(n),!0}function Vr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function Js(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=es(s,ft);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Vr(n,r,e,s)}),Br(n,r,e,s)}}const Jr=Js("a"),Wr=Js("da"),Ws=Symbol("routeKey");function ps(r,e){r.set(Ws,e)}function ts(r){let e=es(r,Ws);return typeof e=="function"?e():e??null}const dt=Symbol("rk"),St=Symbol("vd"),ms=Symbol("rv"),Pt=Symbol("rvi"),gs=Symbol("pv"),Ct=Symbol("pvi");var de={};Object.defineProperty(de,"__esModule",{value:!0});de.TokenData=void 0;de.parse=pt;var zr=de.compile=tn,Gr=de.match=nn;de.pathToRegexp=an;const Xr="/",ss=r=>r,Qr=/^\p{XID_Continue}$/u,Ne="https://git.new/pathToRegexpError",Yr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function Zr(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Yr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Qr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new en(t)}class en{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${Ne}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Be{constructor(e,t){this.tokens=e,this.delimiter=t}}de.TokenData=Be;function pt(r,e={}){const{encodePath:t=ss,delimiter:s=t(Xr)}=e,n=[],i=Zr(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${Ne}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${Ce(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),p=i.text(),m=i.tryConsume(";")&&i.text();i.consume("}");const w=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(p),pattern:d,modifier:w,separator:m});continue}i.consume("END");break}while(!0);return new Be(n,s)}function tn(r,e={}){const t=r instanceof Be?r:pt(r,e);return rn(t,e)}function sn(r,e){if(typeof r=="string")return()=>r;const t=e||ss,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function rn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=zs(e),a=rs(s,r.delimiter),l=Xs(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=sn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const p=h(d);if(!y.test(p))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(p)}`);return p}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function nn(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Be?r:pt(r,e),i=rs(s,n.delimiter),o=[],a=Gs(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||ss});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let p=1;p<f.length;p++){if(f[p]===void 0)continue;const m=o[p-1],w=l[p-1];d[m.name]=w(f[p])}return{path:h,index:y,params:d}}}function Ce(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function on(r,e){const t=Ce(r);return e?`(?:${t})+(?!${t})`:t}function rs(r,e){if(!r)return Ce;const t=new RegExp(`(?:(?!${Ce(e)}).)+|(.)`,"g");return s=>s.replace(t,on)}function zs(r){return r.sensitive?"":"i"}function Gs(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=zs(t),u=rs(n,r.delimiter),c=Xs(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${Ce(r.delimiter)}|$)`,new RegExp(f,l)}function Xs(r,e,t,s,n){const i=`(?:(?!${Ce(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),p=e(f);if(l.name){const m=l.pattern?`(?:${l.pattern})`:i,w=ln(m,l.name,s);if(a||(a=Et(w,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${Ne}`);if(a=!n||Et(w,f),o="",t.push(l),y==="+"||y==="*"){const v=y==="*"?"?":"",_=e(h);if(!_)throw new TypeError(`Missing separator for "${l.name}": ${Ne}`);if(a||(a=!n||Et(w,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${Ne}`);return a=!n,`(?:${d}(${m}(?:${_}${m})*)${p})${v}`}return`(?:${d}(${m})${p})${y}`}return`(?:${d}${p})${y}`})}function ln(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Et(r,e){return e?!r.test(e):!1}function an(r,e={}){const t=r instanceof Be?r:pt(r,e),s=[],n=Gs(t,s,e);return Object.assign(n,{keys:s})}var it=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(it||{});const V=Symbol("rootKey"),B=Symbol("rootNodeKey"),ce=Symbol("parentNodeKey"),ot=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class Te{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[ot];[V];[B]=null;[ce]=null;get name(){return this[ot]}constructor(e,t,s){this[ot]=e,this[V]=t,s&&(this[B]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class $t{views=[]}class un{layers=[]}class cn{time;route}class fn{forbidTime=300;submitRecorder=new cn;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 Se=Symbol("_notifyChange");class vs{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const le=Symbol("historyChangeConsumerKey"),ws=Symbol("_navigateFirstRoute"),ze=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),At=Symbol("_generateLocation"),Ge=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),bs=Symbol("_beforeRestore"),xs="Symbol(_fox_restore_point)";function Ke(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Rs(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Qs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[le]=!1;[_e]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??$().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=$();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[le]=="function"){const s=this[le]();if(this[le]=!1,s)return}else if(this[le]===!0){this[le]=!1;return}if(Ke(this.historyMonitor)){const s=t.history.state;this[Se](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[ze]()??"/";this[Ge](i,n)}}catch{}}}),at(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ws](),Promise.resolve()}destroy(){if(this.historyChange){const e=$();zt(e,"popstate",this.historyChange)}}[bs](e,t,s,n){for(let i of this[_e])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[_e].push(e)}removeBeforeRestoreEach(e){const t=this[_e].indexOf(e);return t!==-1?(this[_e].splice(t,1),!0):!1}[ws](){const e=this[ze]()??"/",t=this.storage.getItem(xs);if(t)try{const o=JSON.parse(t);if(o.mark===e&&Array.isArray(o.routes)&&o.routes.length>0){const a=o.routes.filter((l,u)=>(l.params=l.params?qs(l.params):{},this[bs](l,u,e,o.routes)));if(a.length>0){const l=this[Ft](),u=a.length-1;a[u].query=l||a[u].query,this[Se](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new S;i.path=n,i.query=this[Ft](),this[Se]([i])}[Ge](e,t){try{t.forEach(i=>{i.params=i.params?js(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(xs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[ze]()??"/";this[Ge](t,e)}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[ze](){const e=$();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,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ft](){let t=$().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=$();this[le]=t,s.history.go(e)}goBack(e,t){const s=$(),n=s.history.state;if(Rs(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=S.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Ke(this.traceless,f))&&S.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=$().history.state;if(Rs(f)&&f.length>0){let h=f.length;const y=f[h-1],d=S.from(y);if(S.isSame(d,e))return t(),!0;if(h>0){let p=!1;for(let m=h-1;m>=0;m--){const w=S.from(f[m]);if(!(w.traceless===!0||Ke(this.traceless,w))&&S.isSame(w,e)){p=!0;break}}return p?(setTimeout(()=>{a=setTimeout(l,o),this.go(-1,u)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(l,o),this.go(-1,u)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[Ge](t,e.routes)}push(e){const t=this[At](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Ke(this.traceless,e.currentRoute)&&$().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[At](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Ke(this.traceless,e.currentRoute))&&$().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[At](e){const t=$();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(X)&&(i=i.substring(X.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function hn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=$().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Qs("path",e??"",t,r,s,n,i)}function Ys(r=!0,e="",t=!0,s=!1,n){return new Qs("hash","",e,r,t,s,n)}class yn{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=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[Se](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(S.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(t(),!0))}setRouteMark(e){}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 Zs(r="",e=50){return new yn(r,e)}const Xe=Symbol("_constructRouteModel"),Qe=Symbol("_findRouteModel"),Tt=Symbol("_findRootView"),Ss=Symbol("_getFirstView"),ae=Symbol("_removeView"),Ps=Symbol("_buildPage"),Cs=Symbol("_resolveComponent"),Es=Symbol("_update"),se=Symbol("_merge"),_t=Symbol("_handleHistoryChange"),Ye=Symbol("_handleRouteUpdated"),Ze=Symbol("routeUpdatedCallback"),b=Symbol("currentRoutes"),et=Symbol("routeSessionCacheKey"),$s=Symbol("_addRouteRecorder"),je=Symbol("_removeRouteRecorder"),tt=Symbol("_cloneRouteRecorder"),T=Symbol("_handleError"),st=Symbol("errorCallback"),D=Symbol("registerKey"),rt=Symbol("notFoundKey"),Kt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),P=Symbol("historyKey"),qe=Symbol("beforeFiltersKey"),Le=Symbol("afterFiltersKey"),ke=Symbol("destroyFiltersKey"),jt=Symbol("propsFilterKey"),we=Symbol("mainDispatcherKey"),qt=Symbol("initKey"),ue=Symbol("readyKey"),Lt=Symbol("readyHandlersKey"),nt=Symbol("_markReady"),Fs=Symbol("_createNextFn"),kt=Symbol("_start"),Ot=Symbol("_before"),Mt=Symbol("_after"),As=Symbol("_destroy"),It=Symbol("_load"),Oe=Symbol("_unload"),Me=Symbol("routerGuardKey");function dn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=F(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class mn{[D]=new Array;[rt];[Kt]="*";[ue]=!1;[Lt]=[];[H]=new un;[P];[b]=new Array;[et]=new WeakMap;[st]=null;[Ze]=null;[qe]=new Array;[Le]=new Array;[ke]=new Array;[jt]=null;[we]=new He;[Me]=new fn;[qt]=!1;get current(){const e=this[b].length;return e>0?this[b][e-1]:null}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[P]=e.history:this[P]=he?Ys():Zs(),this[P]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[O](s);i&&await this[_t]([i])}else await this[_t](s)}catch(i){console.error(i.message,i),n=!1}this[ue]===!1&&this[nt](n)})}[T](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[st]=="function")try{this[st](e,t)}catch{}console.error(e)}init(){this[qt]!==!0&&(this[P]?.init(!this[ue]),this[qt]=!0)}isReady(){return this[ue]?Promise.resolve():new Promise((e,t)=>{this[Lt].push([e,t])})}[nt](e){this[ue]=!0,this[Lt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[_t](e){try{if(!e){let o=[...this[b]].reverse();return this[Oe](o),he&&$().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[b].length&&S.isSame(e[i],this[b][i]);i++)e[i].active===!0&&e[i].active!==this[b][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[b].length&&(n=this[b].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Oe](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[T](t)}return Promise.resolve()}[Ye](e=null){if(e||(e=this.current),typeof this[Ze]=="function")try{this[Ze](e)}catch{}}[$s](e,t){if(e.opsType===E.Open){let s=!1;const n=this[b].length-1;for(let i=n;i>=0;i--){const o=this[b][i];if(e.root==o.root){if(e.path===o.path){this[b].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[b].push(e)}else this[b].push(e);this[et].set(e,t)}[tt](){let e=[];for(let t of this[b]){let s=S.clone(t,!0);e.push(s)}return e}[je](e){if(!this[b])return;let t=-1;for(let s=0;s<this[b].length;s++)if(S.isSame(this[b][s],e)){t=s;break}if(t!=-1){let s=this[b][t];this[b].splice(t,1);const n=this[et].get(s);this[et].delete(s),this[As](s,n)}}set historyMonitor(e){this[P]&&(this[P].historyMonitor=e)}get historyMonitor(){return this[P]?this[P].historyMonitor:!1}set traceless(e){this[P]&&(this[P].traceless=e)}get traceless(){return this[P]?this[P].traceless:!1}set propsFilter(e){this[jt]=e}get propsFilter(){return this[jt]}setRestorePoint(){const e=this[tt]();this[P]?.setRestorePoint(e)}onRouteUpdated(e){this[Ze]=e}onError(e){this[st]=e}beforeEach(e){this[qe].push(e)}removeBeforeEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}afterEach(e){this[Le].push(e)}removeAfterEach(e){const t=this[Le].indexOf(e);return t!==-1?(this[Le].splice(t,1),!0):!1}destroyEach(e){this[ke].push(e)}removeDestroyEach(e){const t=this[ke].indexOf(e);return t!==-1?(this[ke].splice(t,1),!0):!1}beforeRestoreEach(e){this[P]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[P]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Kt]){this.setNotFoundRoute(e);return}const s=this[Xe](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[O](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[O](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Kt]=e}setNotFoundRoute(e){const t=this[Xe](e);this[rt]=t[0]}getRoutes(){return[...this[D]]}[Xe](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new xt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=X);let u=new Or(a,l,e.props,e.meta);n.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[Xe](a);for(let u of l){let c=new xt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new hs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new hs;a.models=n;const l=new xt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[Qe](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Gr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new S;F(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[Qe](u)?(e.route=u.route,e.find=u.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},F(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}F(!0,t.params,u)}else typeof l=="object"&&F(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=zr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[O](e){let t=null;if(Array.isArray(e))if(t=new S,typeof e[0]=="object")t=S.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&F(!1,t,e[s]);else typeof e=="object"?t=S.from(e):typeof e=="string"&&(t=new S,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??X,t.opsType=t.opsType??this.options.defaultOperationType??E.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[O](e);return t?(t.opsType=E.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}put(...e){const t=this[O](e);return t?(t.opsType=E.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[T]("resolve route fail",t),this)}replace(...e){const t=this[O](e);return t?(t.opsType=E.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[T]("resolve route fail",t),this)}append(...e){const t=this[O](e);return t?(t.opsType=E.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[we].post(n=>{try{if(this[b].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[b][0].root??X,e.all)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];c.opsType===E.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=X;let u=this[Ss](this[H]);u&&(o=u.name);for(let c=this[b].length-1;c>0;c--){let f=this[b][c];if(f.opsType===E.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[b][i]),this[Oe](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[b].length;if(l&&S.isSame(l,this[b][c-1])){this[P]?.goBack(l,u);return}u()}}catch(i){this[T](i),n.resolve(),s(!1)}})})}open(...e){let t=this[O](e);return t?(t.opsType=E.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}close(e){return this[we].post(t=>{try{let s=this[O](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[b].length;i++){let o=this[b][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Oe](n)&&this[Ye](),t.resolve()}catch(s){this[T](s),t.resolve()}}),this}to(...e){let t=this[O](e);if(!t)return this[T]("resolve route fail",t),this;let s=this[Me].acquire(t);return s==null?(this[T]("route forbid",t),this):(this[we].post(n=>{try{let i=this[kt](t);this[Ot](i),this[It](i),this[Mt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=S.clone(l,!0);const c=new vs(u,this[tt]());l.historyUpdatePolicy==="replace"?this[P]?.replace(c):l.historyUpdatePolicy==="traceless"?this[P]?.setRouteMark(c):this[P]?.push(c)}catch(u){console.error(u.message,u)}if(Re.clear(o.session),this[Me].release(s),this[Ye](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[ue]===!1&&this[nt](!0),i=null,n.resolve()},(o,a)=>{this[Me].release(s),a!==null&&this[T](a,t),this[ue]===!1&&this[nt](!1),Re.clear(o.session),i=null,n.resolve()})}catch(i){this[Me].release(s),this[T](i,t),n.resolve()}}),this)}back(e=1){this[P]?.go(-e,!1)}[Fs](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[O](t);if(n){const i=e.session.to;n.success=i.success,n.error=i.error,e.session.to=n,e.session.redirect=!0,e.session.routeModel=null,e.resolve()}else e.session.redirect=!1,e.reject("route resolve fail")}else e.session.redirect=!1,e.resolve()}}[kt](e){const t=this[b].length>0?this[b][this[b].length-1]:void 0,s=new Re(e,t),n={route:e,find:null};return this[Qe](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new He(s)}[Ot](e){for(let t of this[qe])e.post(s=>{const n=this[Fs](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Mt](e){e.post(t=>{for(let s of this[Le])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[As](e,t){for(let s of this[ke])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[It](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[Qe](o))n=o.find,t.session.routeModel=n;else if(this[rt])n=this[rt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=Re.from(t.session);this[Ps](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Oe](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Tt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[T]("can not find view index"),!1;for(let n of s.reverse())this[ae](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Tt](e,t){const s=t.root??X;let n;for(let i=0;i<e.layers.length;i++){const o=e.layers[i];for(let a=o.views.length-1;a>=0;a--){const l=o.views[a];if(l[V]&&l[ot]===s)return n={x:a,y:i},n}}return null}[Ss](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ae](e,t,s=null,n=!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,a=[],l=!1,u=[...i.slots.value];for(let f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[je](h.route),h.active===!0&&h.route.opsType==E.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[ce]&&(o||N.include(a,d[ce]))){let p=d.slots.value;for(let m=p.length-1;m>=0;m--){let w=p[m];w.route&&d[V]&&this[je](w.route),h.push(new N(d,w.index,c)),p.splice(m,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[b]=[],this[Ye](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[we].post(u=>{const c=this[kt](l);this[Ot](c),this[It](c),this[Mt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[T](h),u.resolve()})})}this[we].post(a=>{if(i&&o===!0){const l=S.clone(i,!0),u=new vs(l,this[tt]());this[P]?.replace(u)}a.resolve(),s()})})}[Ps](e,t,s){const n=e.updateType??it.Part;return this[Cs](t).then(()=>{const o=this[Es](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Cs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];for(let i=0;i<n.models.length;i++){let o=n.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Es](e,t,s,n){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const i=e.layers[0].models[0];let o=this[H],a=dn(o),l=t.root??X,u;!a&&n==it.Part&&(u=this[Tt](o,t));let c,f=0;if(u==null||u==null)if(a||n===it.All){if(o.layers.length==0&&(o.layers[0]=new $t),o.layers[0].views.length==0){let h=t.root??X;c=new Te(h,!0,null),o.layers[0].views=[c]}else c=o.layers[0].views[0];u={x:0,y:0}}else{let h=t.slot;if(!h)return{status:"error",message:"can not rebuild view(because not route slot)"};let y=h.level;if(y>o.layers.length)return{status:"error",message:"can not insert view(override level)"};let d;if(h.rootName){let p=o.layers[y-1];for(let m of p.views){if(m[V]&&m.name===h.rootName){d=new N(m,h.rootIndex??0,y-1);break}if(m[B]&&m[B].view.name===h.rootName&&m[B].index===h.rootIndex){d=m[B];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new Te(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===E.Append){t.index=t.index??ie.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let w=h[h.length-1];w.active=!1,w.route&&(w.route.active=w.active)}let y=new te(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else if(t.opsType===E.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let p of h){if(p.route!==null&&S.isSameForRouteModel(p.route,t)){if(p.active===y)return t.index=p.index,t.active=y,p.route=t,{status:"no-change",message:""};p.active=y,d=!0,t.index=p.index,t.active=y,p.route=t}else y&&(p.active=!1);p.route&&(p.route.active=p.active)}if(!d){t.index=t.index??ie.get(),t.active=y;let p=new te(t,i,t.index,y);h.push(p);let m=f+1,w=1,v=new N(c,t.index,f);this[se](o,m,e,w,v)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let y=f+1,d=1,p=new N(c,t.index,f);this[se](o,y,e,d,p)}else{let y=h[0];if(y.model!==i){this[ae](o,u,null,!0),t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else{y.route!==null&&this[je](y.route);let d=!1;const p=t.active??!0;y.active!==p&&(y.active=p,d=!0),t.active=p,t.index=y.index,y.route=t;let m=[];for(let Q=1;Q<h.length;Q++)m.push(h[Q].index);m.length>0?this[ae](o,u,m,!0):d&&(c.slots.value=[...h]);let w=[new N(c,t.index,f)],v=f+1,_=1,ee=new N(c,t.index,f);for(;w.length>0&&v<o.layers.length&&_<e.layers.length;v++,_++){let Q=[];for(let K=0;K<o.layers[v].views.length;K++){let j=o.layers[v].views[K];j[ce]&&N.include(w,j[ce])&&Q.unshift(K)}let pe=[];for(let K of Q){let j=o.layers[v].views[K],oe=e.layers[_].models,Y;for(let L=0;L<oe.length;L++)if(j.name===oe[L].name){Y=oe[L];break}if(!Y)this[ae](o,{x:K,y:v},null,!1);else{let L=j.slots.value;if(L.length==0){let W=0;j.slots.value=[new te(null,Y,W)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{let W=L[0];if(W.model!==Y){this[ae](o,{x:K,y:v},null,!0),j.slots.value=[new te(null,Y,0)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{j[V]&&W.route!==null&&this[je](W.route);let U=[];for(let Z=1;Z<L.length;Z++)U.push(L[Z].index);U.length>0&&this[ae](o,{x:K,y:v},U,!0),pe.push(new N(j,W.index,v))}}j[V]=!1}}w=pe}this[se](o,v,e,_,ee)}}}if(c&&c[B]){let h=c[B];h&&(t.slot=new kr(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[$s](t,s),{status:"success",message:""}}[se](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new $t;l.views=[];for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Ns](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[B]?.view===s,y&&n!==-1&&(y=h[B]?.index===n)):y=h.name===e,!!y){i!==null&&(h[ce]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[B],l={view:i,index:o,level:t-1});let u=new Te(e,!0,a);if(u[ce]=l,t==this[H].layers.length){let c=new $t;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const gn="fox-router-view",vn="fox-router-link";function er(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 tr(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 wn(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 sr(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 rr(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 bn(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 xn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function Rn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Sn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Pn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function Cn(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function En(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function $n(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function Fn(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ns(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 Ee(r,e){r.classList.contains(e)||r.classList.add(e)}function Pe(r,e){r.classList.remove(e)}const An=he&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function mt(r){An(r)}function A(r,e,t){x(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)zt(e,c.type,c.listener);l=[]};if(x(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),x(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",ut],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{at(e,h,f),l.push({type:h,listener:f})})}if(x(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};at(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!he||r===null?!1:r.opsType===E.Append||r.opsType===E.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Ee(t,o);const a=tr(s,e);a&&Ee(t,a);const l=xn(s,e);A(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){x(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=wn(s,e),f=Rn(s,e),h=Sn(s,e),y=Pn(s,e);if(!l&&!u&&!c&&!f){x(a)&&a(r,a,[t]);return}mt(()=>{nr(r,t,i,o,n,()=>{u&&Pe(t,u),c&&Pe(t,c),x(h)&&A(r,h,[t,e,i,o]),x(a)&&a(r,a,[t])},()=>{x(y)&&A(r,y,[t,e,i,o])}),l&&Pe(t,l),c&&Ee(t,c),x(f)&&A(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Ee(t,o);const a=rr(s,e);a&&Ee(t,a);const l=Cn(s,e);A(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=bn(s,e),h=En(s,e),y=$n(s,e),d=Fn(s,e);if(!u&&!c&&!f&&!h){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}mt(()=>{nr(r,t,o,a,n,()=>{c&&Pe(t,c),f&&Pe(t,f),x(y)&&A(r,y,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()},()=>{x(d)&&A(r,d,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()}),u&&Pe(t,u),f&&Ee(t,f),x(h)&&A(r,h,[t,e,o,a])})}function Jt(r,e,t={},s,n=-1){const i=t.mode??"default",o=ns(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>Jt(r,e,t,s,n)}}function ur(r){return r.el}function Tn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function Kn(r,e={}){mt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{Je(Ds,{},a)},enter:a=>{Je(Hs,{},a)},leave:(a,l)=>{Je(Us,{},a),mt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(zt(a,ut,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};at(a,ut,u),Je(Bs,{},a)})},clone:a=>cr(r,e,t,s,n)}}function re(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Nt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function be(r,e){return typeof e=="function"?e(r):r}class jn{node;state;constructor(e,t){this.node=e,this.state=t}}const Wt=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 s=r.multi===!0,n=g.inject(dt,null),i=g.inject(St,0),o=g.inject(ms,null),a=g.inject(Pt,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(St,i+1),g.provide(Pt,u.index),g.provide(Ct,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=ct(t.proxy,!0);Hr(h),ps(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(gs,null),y=g.inject(Ct,0);if(l=n[Ns](f,i,o,a,h,y),l===null)return;g.provide(gs,l);const d=l[V]===!0;if(d&&g.provide(ms,l),!s&&(g.provide(Pt,-1),g.provide(St,i+1),g.provide(Ct,-1),d)){const p=ct(t.proxy,!0);ps(p,()=>{const m=l.slots.value;return m.length>0?m[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let w=0;w<y.length;w++){const v=y[w],_=`${r.name}_${v.index}`,ee=re(r.transition,v.route,w)??!0,Q={modelSlot:v};let pe;e.slots.default?pe=g.h(Wt,Q,{default:e.slots.default}):pe=g.h(Wt,Q);const K={},j=re(r.viewClass,v.route,w);typeof j=="string"&&j.length>0&&(K[j]=!0);const oe=re(r.viewActiveClass,v.route,w),Y=re(r.viewInactiveClass,v.route,w),L=c.value.get(_);if(typeof oe=="string"&&oe.length>0&&(K[oe]=v.active),typeof Y=="string"&&Y.length>0&&(K[Y]=!v.active),L&&v.active!==L.state){const M=L.node;v.active?d.unshift(()=>{const vt=()=>{let $e=ys(M);$e!=null&&ds($e,Vt.ACTIVATED)};Tn(t,M,r,v.route,w,ee,vt)}):d.push(()=>{const vt=()=>{const $e=ys(M);$e!=null&&ds($e,Vt.DEACTIVATED)};_n(t,M,r,v.route,w,ee,vt)})}const W={class:K,key:_},U=re(r.viewTagProps,v.route,w);if(U!==null&&typeof U=="object"){const M=be(U,n?.propsFilter);F(!0,W,M)}if(v.route?.viewTagAttrs&&typeof v.route?.viewTagAttrs=="object"){const M=be(v.route.viewTagAttrs,n?.propsFilter);F(!0,W,M)}const Z=re(r.viewTag,v.route,w),me=g.h(Z,W,{default:()=>[pe]});if(f.set(_,new jn(me,v.active)),c.value.delete(_),ee===!0){const M=Jt(t,me,r,v.route,w);me.transition=M}else if(ee==="custom"){const M=cr(t,me,r,v.route,w);me.transition=M}h.push(me)}c.value=f,Kn(d,t);const p=re(r.tag,null,-1),m={};return Object.assign(m,e.attrs),g.h(p,m,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=be(f.props,n?.propsFilter);F(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=be(u.route.params,n?.propsFilter);F(!1,h,d)}}const y=g.h(f.component,h);return Nt(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&ts(t.proxy))??null,d=h.model,p={};if(d.props){if(typeof d.props=="object"){const v=be(d.props,n?.propsFilter);F(!1,p,v)}else if(d.props===!0&&typeof y?.params=="object"){const v=be(y.params,n?.propsFilter);F(!1,p,v)}}const m=g.h(d.component,p);if(re(r.transition,y,-1)??!0){const v=Jt(t,m,r,y,-1);m.transition=v}return Nt(e.slots.default,{Component:m,route:y})??m}else return Nt(e.slots.fallback,{})}}}});function qn(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 Ln(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function kn(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function xe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let On=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(dt,null);return()=>{let s=xe(r.to,null),n=xe(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[O](s),r.root&&(i.root=r.root),o=t.current);let a={},l=xe(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=kn(i,o)),xe(r.exact,i)===!0){let h=xe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=Ln(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),F(!0,c,e.attrs);let f=xe(r.event,i);if(typeof f=="string"){const h=y=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}qn(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});var q=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(q||{}),lt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(lt||{});class Mn{register=new Map;constructor(){}get(e){return this.register.get(e)??null}set(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t??null}has(e){return this.register.has(e)}clear(){this.register.clear()}}class Ts{moduleManager=new Mn;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return Ve().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:q.Defined};typeof t=="function"?(s.exports=t,s.type=lt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new In(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new He;for(let l=0;l<t.length;l++){const u=new Nn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;o++)if(Array.isArray(e[o])){let a=e[o];for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}else{let a=e[o].split(",");for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}return t.forEach(o=>{this.unmount(o,n)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(n=>{t.progress.work(!0,t.index,"exports"),n.resolve()});return}else if(t.src==="module"){e.post(n=>{t.progress.work(!0,t.index,"module"),n.resolve()});return}if(this.isNaturePath(t.src)){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(this.isNaturePath(t.src)){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)&&o.exports){o.type===lt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}const a=Ve(),l=a.createElement("link");if(Reflect.has(l,"onload"))l.onload=()=>{l.onload=null,l.onerror=null,t.progress.work(!0,t.index,t.src),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{fr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)){if(o.exports){o.type===lt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),n.resolve();return}}o={id:i,src:i,status:q.Loading},this.moduleManager.set(i,o);const l=Ve().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=$();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Ve(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=q.Defining;let o,a,l,u=i.length;u===1?(l=i[0],o=void 0):u===2?(l=i[1],Array.isArray(i[0])?(a=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h);if(typeof l=="function"){const h=Reflect.apply(l,e,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=q.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=q.Defined,t.progress.work(!0,t.index,e.exports))};return n.amd=!0,n}resolvePath(e){try{if(e==="exports"||e==="module"||this.isNaturePath(e))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${encodeURIComponent(n)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];if(e.indexOf(n)===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`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${$().location.protocol}${e}`;if(t){let n=this.options.alias[e];if(!n){let i=e.indexOf("/");if(i==-1)n=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?n=a+e.slice(i):n=e}}return this.parserPath(n,!1)}return`${wt()}${e}`}}function fr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():fr(r,e)},20)}class In{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,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(n){console.error(n.message,n)}}isOK(){return this.status}}class Nn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Dn(r={}){const e=new mn(r),t=new Ut,s=new Bt,n=new Ts,i={get router(){return e},get bus(){return t},get Bus(){return Ut},get EventProxy(){return Bt},get eventproxy(){return s},get EventChain(){return He},get Require(){return Ts},get require(){return n},get extend(){return F},get clone(){return yt},get isESModule(){return Gt},install(o){o.provide(dt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(gn,Wt),o.component(vn,On),Reflect.defineProperty(o.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(o.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$eventProxy",{get(){return s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return ts(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(dt)}function Hn(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?ts(r):null}function Un(r){return r?r.$fox:g.inject(is)}function Bn(r){return r?r.$bus:g.inject(os)}function Vn(r){return r?r.$eventProxy:g.inject(ls)}function Jn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=Ut;exports.EventChain=He;exports.EventProxy=Bt;exports.FoxBeforeEnter=Ds;exports.FoxBeforeLeave=Us;exports.FoxEnter=Hs;exports.FoxLeave=Bs;exports.FoxLeaveEnd=ut;exports.OperationType=E;exports.Route=S;exports.clone=yt;exports.createFox=Dn;exports.createMemoryHistory=Zs;exports.createWebHashHistory=Ys;exports.createWebHistory=hn;exports.deleteContextValue=Dr;exports.extend=F;exports.foxBusKey=os;exports.foxEventProxyKey=ls;exports.foxKey=is;exports.injectContextValue=es;exports.isArray=yr;exports.isDate=mr;exports.isESModule=Gt;exports.isEqual=Ht;exports.isFunction=x;exports.isMap=dr;exports.isNil=Ue;exports.isObject=_s;exports.isPlainObject=Ks;exports.isPromise=wr;exports.isSet=pr;exports.isString=gr;exports.isSymbol=vr;exports.onAfterRouteUpdate=Wn;exports.onBeforeRouteUpdate=Jn;exports.onFoxActivated=Jr;exports.onFoxInactivated=Wr;exports.provideContextValue=Nr;exports.rawState=qr;exports.reactiveState=_r;exports.sessionKey=ne;exports.shallowReactiveState=Kr;exports.toBoolean=Xt;exports.toNumber=Sr;exports.toTypeString=ht;exports.typeOf=Dt;exports.useBus=Bn;exports.useEventProxy=Vn;exports.useFox=Un;exports.useRoute=Hn;exports.useRouter=as;
2
+ * fox v3.1.0 Fri Apr 18 2025 09:04:17 GMT+0800 (中国标准时间)
3
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("vue"),Se=typeof window<"u",N=function(){return window},Ge=function(){return window.document};function hr(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 bt(){if(!Se)return"/";let r=N().location,e=`${r.protocol}//${r.host}`;return e+=hr(r.pathname),e}function ft(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function Gt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const Xe=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},yr=Array.isArray,dr=r=>pt(r)==="[object Map]",pr=r=>pt(r)==="[object Set]",mr=r=>r instanceof Date,q=r=>typeof r=="function",gr=r=>typeof r=="string",vr=r=>typeof r=="symbol",js=r=>r!==null&&typeof r=="object",wr=r=>js(r)&&q(r.then)&&q(r.catch),We=r=>r==null,br=Object.prototype.toString,pt=r=>br.call(r),qs=r=>pt(r)==="[object Object]",xr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Xt(r){return r.__esModule||xr&&r[Symbol.toStringTag]==="Module"}const Rr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function D(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=D(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function mt(r,e,t=!1){if(!t)D(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!qs(i))continue;n=mt(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class pe{static seed=new Date().getTime();static get(){let e=++pe.seed;return e>=Number.MAX_VALUE&&(pe.seed=0),e}}const xt=Rr?Promise.resolve():null;function Ve(r,...e){xt!==null?e&&e.length>0?xt.then(()=>{r(e)}):xt.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Qt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Sr(r){return typeof r=="number"?r:Number(r)}const Pr={"[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 Ht(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Pr[t]||"object"}function Ut(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Ht(r),s=Ht(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ut(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ut(i,o))return!1}return!0}return!1}const Ls=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=Ls(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Er=/^Symbol\((.*)\)$/,ks=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=ks(s));const n=Er.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function Os(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const us=Symbol("idKey"),Pe=Symbol("valueKey"),L=Symbol("childrenKey"),ie=Symbol("growKey");class Ms{[ie]=!0;[us];[Pe]=b.ref();[L]=new Map;constructor(e){this[us]=e}}class Cr{get(e,t){if(t=="value")return e[Pe].value;if(t==="grow")return e[ie];let s=e[L].get(t);if(s)return ze(s);if(e[ie])return s=Zt(t),s[ie]=e[ie],e[L].set(t,s),ze(s)}set(e,t,s){return t=="value"?(e[Pe].value=s,!0):t==="grow"?(e[ie]=Qt(s),!0):s==null?(e[L].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[L].delete(t),!0)}}const Yt="__proxy__";function Zt(r){const e=new Ms(r);return Reflect.set(e,Yt,new Proxy(e,new Cr)),e}function ze(r){return Reflect.get(r,Yt)}let $r=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&We(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(Se){const t=N();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(n[o]=this.state[o]))}),this.state=n,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}};class Is extends Ms{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new $r(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[L].has(i)?o=s[L].get(i):(o=Zt(i),s[L].set(i,o)),s=o}return s[Pe].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[L].has(i))s=s[L].get(i);else return}return s[Pe].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[L].has(o))s=s[L].get(o);else return!1}const n=e[t-1];return s[L].has(n)?(s[L].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[L].has(o))s=s[L].get(o);else return!1}const n=e[t-1];return s[L].has(n)}clear(){this[L].clear(),this._persistHandler.clear()}}const Fr=["put","get","contains","remove","clear","_persistHandler"];function cs(r){return Fr.includes(r)}class Ar{get(e,t){if(t=="value")return e[Pe].value;if(t==="grow")return e[ie];if(t===L)return e[L];if(typeof t=="string"&&cs(t))return e[t];const s=String(t);let n=e[L].get(s);if(n)return ze(n);if(e[ie])return n=Zt(s),n[ie]=e[ie],e[L].set(s,n),ze(n)}set(e,t,s){return t=="value"?(e[Pe].value=s,!0):t==="grow"?(e[ie]=Qt(s),!0):cs(t)?!1:s==null?(e[L].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[L].delete(t),!0)}}function Tr(r,e){const t=new Is(r,e),s=new Ar,n=new Proxy(t,s);return Reflect.set(t,Yt,n),t}const Bt=new Proxy(Is,{construct(r,e){const t=e[0]??{},s=e[1],n=Tr(t,s);return ze(n)}}),es=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class Ns{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&We(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(Se){const t=N();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||es(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function Ds(r,e,t){const s=new Ns(t);s.restore(e);const n=l=>{const u=b.toRaw(l),c={};for(let h in u){const f=u[h];We(f)||(c[h]=f)}es(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=Os(n,l)}const o=r?b.shallowReactive(e):b.reactive(e);return b.effectScope(!0).run(()=>{b.watch(o,l=>{const u=b.toRaw(l);i(u)})}),o}function Kr(r,e){return Ds(!1,r,e)}function _r(r,e){return Ds(!0,r,e)}function jr(r,e){const t=new Ns(e);t.restore(r);const s=a=>{const l=b.toRaw(a),u={};for(let c in l){const h=l[c];We(h)||(u[c]=h)}es(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=Os(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function qr(r,e){return jr(r,e)}const ae="default",Hs=Symbol("sync"),X=Symbol("normalizeRoute");function fs(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function Lr(r){let e=r.src;return new Promise((t,s)=>{const n=fs(a=>{Xt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=fs(a=>{console.debug("reject load async module"),s(a)});let o;try{o=e(n,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(n,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(n,i)}})}class kr{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class Te{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new Te(e.to,e.from),s=e.data??{};return D(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class k{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??ae}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new k;return mt(s,e,t),s}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 k;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Or{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=pe.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return Lr(this)}}class hs{models=[]}class Rt{path;match;redirect;name;layers=[]}var M=(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))(M||{});const Us="FoxBeforeEnter",Bs="FoxEnter",Vs="FoxLeave",zs="FoxLeave",ht="FoxLeaveEnd",Y=Symbol("chainKey"),G=Symbol("cursorKey"),St=Symbol("$persistentModeKey"),I=Symbol("statusKey"),oe=Symbol("argsKey"),Qe=Symbol("exArgsKey"),Ee=Symbol("successFnsKey"),qe=Symbol("errorFnsKey"),de=Symbol("sessionKey"),le=Symbol("_go");class Je{[Y]=[];[G]=0;[St]=!1;[I]="Free";[oe]=[];[Qe]=[];[Ee]=[];[qe]=[];[de];get session(){return this[de]}constructor(e,t=!1){this[de]=e,this[St]=t}[le](e,...t){let s=this[I];if(this[I]="Busy",this[G]+=e,this[G]<0&&(this[G]=0),this[oe]=t,s==="Exception"||s==="Reject"){let a=[{session:this[de]},...this[Qe]];for(;this[qe].length>0;)try{let l=this[qe].shift();typeof l=="function"&&Ve(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[I]=s,this[Y]=[],this[G]=0,this}else if(s==="Finished"||this[G]>=this[Y].length){let a=[{session:this[de]},...this[oe]];for(;this[Ee].length>0;){let l=this[Ee].shift();typeof l=="function"&&Ve(()=>{Reflect.apply(l,{},a)})}return this[I]="Free",this}if(this[G]>=this[Y].length)return this[I]="Free",this;let n=this[Y][this[G]];this[St]||(this[Y].splice(0,this[G]+1),this[G]=-1);let i=this[G]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[le],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[le],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[Y].splice(i,0,l),i++)},session:this[de]};Ve(()=>{Reflect.apply(n,{},[a,...this[oe]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[le],this,[e,...t])}finish(...e){return this[I]="Finished",this[oe]=e,Reflect.apply(this[le],this,[0])}reject(...e){return this[I]="Reject",this[Qe]=e,Reflect.apply(this[le],this,[0])}throw(...e){return this[I]="Exception",this[Qe]=e,Reflect.apply(this[le],this,[0])}reset(...e){this[I]="Busy",this[oe]=e,this[Y]=[],this[G]=0;let s=[{session:this[de]},...this[oe]];for(;this[Ee].length>0;){let n=this[Ee].shift();Ve(()=>{Reflect.apply(n,this,s)})}return this[I]="Free",this}post(e){return this[I]==="Reject"||this[I]==="Exception"?this:(Array.isArray(e)?this[Y]=[...this[Y],...e]:this[Y].push(e),this[I]==="Busy"?this:(Reflect.apply(this[le],this,[0,...this[oe]]),this))}wait(e,t){return e&&typeof e=="function"&&this[Ee].push(e),t&&typeof t=="function"&&this[qe].push(t),this[I]==="Busy"?this:(Reflect.apply(this[le],this,[0,...this[oe]]),this)}exception(e){return e&&typeof e=="function"&&this[qe].push(e),this[I]==="Busy"?this:Reflect.apply(this[le],this,[0,...this[oe]])}isFinish(){return this[I]=="Reject"||this[I]=="Free"&&this[G]>=this[Y].length}}const Ce=Symbol("registerKey");class Mr{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Vt{[Ce]=new Map;constructor(){}on(e,t,s=!1){let n=this[Ce].get(e);n||(n=new Array,this[Ce].set(e,n));let i=s===!0?1:0,o=new Mr(t,i);return n.push(o),this}off(e,t){if(!t)return this[Ce].delete(e),this;let s=this[Ce].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}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 s=e[t-1];if(typeof s!="function")return console.error("callback can not benn empty"),this;let n=t-1,i=new Array(n),o=[].splice.call(e,0,n);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,n-=1,n==0&&Reflect.apply(s,{},i)});return this}emit(e,...t){let s=this[Ce].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ve(()=>{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 Le=Symbol("registerKey");class Ir{[Le]=new Map;constructor(){}set(e,t){this[Le].set(e,t)}get(e){return this[Le].get(e)}has(e){return this[Le].has(e)}delete(e){return this[Le].delete(e)}}const Re=Symbol("lc");function yt(r,e=!1){let t=r;if(Reflect.has(t,Re))return t[Re];if(e){const s=new Ir;return t[Re]=s,s}return null}function Js(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,Re)&&(t=s[Re],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=yt(n.$parent,e))}return t}function ts(r,e){let t=r;for(;t;){if(Reflect.has(t,Re)){const s=t[Re];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Nr(r,e,t){Js(r,!0)?.set(e,t)}function Dr(r,e){Js(r,!0)?.delete(e)}function ys(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 yt(e.component.proxy,!1)}return null}const dt=Symbol("hooksKey");function Hr(r){let e=r.get(dt);e||(e=[],r.set(dt,e))}function ds(r,e){let t=r.get(dt);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var zt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(zt||{});class Ur{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Br(r,e,t,s){let n=new Ur(e,t,s);return r.push(n),!0}function Vr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function Ws(r){return(e,t)=>{let s;if(t)s=t;else{const i=b.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=ts(s,dt);if(n==null){console.warn("hooks context not found");return}b.onUnmounted(()=>{Vr(n,r,e,s)}),Br(n,r,e,s)}}const zr=Ws("a"),Jr=Ws("da"),Gs=Symbol("routeKey");function ps(r,e){r.set(Gs,e)}function ss(r){let e=ts(r,Gs);return typeof e=="function"?e():e??null}const gt=Symbol("rk"),Pt=Symbol("vd"),ms=Symbol("rv"),Et=Symbol("rvi"),gs=Symbol("pv"),Ct=Symbol("pvi");var ue={},vs;function Wr(){if(vs)return ue;vs=1,Object.defineProperty(ue,"__esModule",{value:!0}),ue.TokenData=void 0,ue.parse=l,ue.compile=u,ue.match=f,ue.pathToRegexp=se;const r="/",e=p=>p,t=/^\p{XID_Continue}$/u,s="https://git.new/pathToRegexpError",n={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function i(p){const y=[...p],m=[];let g=0;for(;g<y.length;){const E=y[g],R=n[E];if(R){m.push({type:R,index:g++,value:E});continue}if(E==="\\"){m.push({type:"ESCAPED",index:g++,value:y[g++]});continue}if(E===":"){let $="";for(;t.test(y[++g]);)$+=y[g];if(!$)throw new TypeError(`Missing parameter name at ${g}`);m.push({type:"NAME",index:g,value:$});continue}if(E==="("){const $=g++;let A=1,P="";if(y[g]==="?")throw new TypeError(`Pattern cannot start with "?" at ${g}`);for(;g<y.length;){if(y[g]==="\\"){P+=y[g++]+y[g++];continue}if(y[g]===")"){if(A--,A===0){g++;break}}else if(y[g]==="("&&(A++,y[g+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${g}`);P+=y[g++]}if(A)throw new TypeError(`Unbalanced pattern at ${$}`);if(!P)throw new TypeError(`Missing pattern at ${$}`);m.push({type:"PATTERN",index:g,value:P});continue}m.push({type:"CHAR",index:g,value:y[g++]})}return m.push({type:"END",index:g,value:""}),new o(m)}class o{constructor(y){this.tokens=y,this.index=0}peek(){return this.tokens[this.index]}tryConsume(y){const m=this.peek();if(m.type===y)return this.index++,m.value}consume(y){const m=this.tryConsume(y);if(m!==void 0)return m;const{type:g,index:E}=this.peek();throw new TypeError(`Unexpected ${g} at ${E}, expected ${y}: ${s}`)}text(){let y="",m;for(;m=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)y+=m;return y}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class a{constructor(y,m){this.tokens=y,this.delimiter=m}}ue.TokenData=a;function l(p,y={}){const{encodePath:m=e,delimiter:g=m(r)}=y,E=[],R=i(p);let $=0;do{const A=R.text();A&&E.push(m(A));const P=R.tryConsume("NAME"),j=R.tryConsume("PATTERN");if(P||j){E.push({name:P||String($++),pattern:j});const _=R.peek();if(_.type==="*")throw new TypeError(`Unexpected * at ${_.index}, you probably want \`/*\` or \`{/:foo}*\`: ${s}`);continue}if(R.tryConsume("*")){E.push({name:String($++),pattern:`(?:(?!${d(g)}).)*`,modifier:"*",separator:g});continue}if(R.tryConsume("{")){const _=R.text(),B=R.tryConsume("NAME"),W=R.tryConsume("PATTERN"),H=R.text(),ce=R.tryConsume(";")&&R.text();R.consume("}");const me=R.modifier();E.push({name:B||(W?String($++):""),prefix:m(_),suffix:m(H),pattern:W,modifier:me,separator:ce});continue}R.consume("END");break}while(!0);return new a(E,g)}function u(p,y={}){const m=p instanceof a?p:l(p,y);return h(m,y)}function c(p,y){if(typeof p=="string")return()=>p;const m=y||e,g=p.modifier==="+"||p.modifier==="*",E=p.modifier==="?"||p.modifier==="*",{prefix:R="",suffix:$="",separator:A=$+R}=p;if(y&&g){const j=(K,_)=>{if(typeof K!="string")throw new TypeError(`Expected "${p.name}/${_}" to be a string`);return m(K)},T=K=>{if(!Array.isArray(K))throw new TypeError(`Expected "${p.name}" to be an array`);return K.length===0?"":R+K.map(j).join(A)+$};return E?K=>{const _=K[p.name];return _==null?"":_.length?T(_):""}:K=>{const _=K[p.name];return T(_)}}const P=j=>{if(typeof j!="string")throw new TypeError(`Expected "${p.name}" to be a string`);return R+m(j)+$};return E?j=>{const T=j[p.name];return T==null?"":P(T)}:j=>{const T=j[p.name];return P(T)}}function h(p,y){const{encode:m=encodeURIComponent,loose:g=!0,validate:E=!0,strict:R=!1}=y,$=S(y),A=w(g,p.delimiter),P=x(p,A,[],$,R),j=p.tokens.map((T,K)=>{const _=c(T,m);if(!E||typeof T=="string")return _;const B=new RegExp(`^${P[K]}$`,$);return W=>{const H=_(W);if(!B.test(H))throw new TypeError(`Invalid value for "${T.name}": ${JSON.stringify(H)}`);return H}});return function(K={}){let _="";for(const B of j)_+=B(K);return _}}function f(p,y={}){const{decode:m=decodeURIComponent,loose:g=!0}=y,E=p instanceof a?p:l(p,y),R=w(g,E.delimiter),$=[],A=F(E,$,y),P=$.map(j=>{if(m&&(j.modifier==="+"||j.modifier==="*")){const{prefix:T="",suffix:K="",separator:_=K+T}=j,B=new RegExp(R(_),"g");return W=>W.split(B).map(m)}return m||e});return function(T){const K=A.exec(T);if(!K)return!1;const{0:_,index:B}=K,W=Object.create(null);for(let H=1;H<K.length;H++){if(K[H]===void 0)continue;const ce=$[H-1],me=P[H-1];W[ce.name]=me(K[H])}return{path:_,index:B,params:W}}}function d(p){return p.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function v(p,y){const m=d(p);return y?`(?:${m})+(?!${m})`:m}function w(p,y){if(!p)return d;const m=new RegExp(`(?:(?!${d(y)}).)+|(.)`,"g");return g=>g.replace(m,v)}function S(p){return p.sensitive?"":"i"}function F(p,y,m){const{trailing:g=!0,loose:E=!0,start:R=!0,end:$=!0,strict:A=!1}=m,P=S(m),j=w(E,p.delimiter),T=x(p,j,y,P,A);let K=R?"^":"";return K+=T.join(""),g&&(K+=`(?:${j(p.delimiter)})?`),K+=$?"$":`(?=${d(p.delimiter)}|$)`,new RegExp(K,P)}function x(p,y,m,g,E){const R=`(?:(?!${d(p.delimiter)}).)+?`;let $="",A=!0;return p.tokens.map((P,j)=>{if(typeof P=="string")return $=P,y(P);const{prefix:T="",suffix:K="",separator:_=K+T,modifier:B=""}=P,W=y(T),H=y(K);if(P.name){const ce=P.pattern?`(?:${P.pattern})`:R,me=J(ce,P.name,g);if(A||(A=Q(me,T||$)),!A)throw new TypeError(`Ambiguous pattern for "${P.name}": ${s}`);if(A=!E||Q(me,K),$="",m.push(P),B==="+"||B==="*"){const fr=B==="*"?"?":"",as=y(_);if(!as)throw new TypeError(`Missing separator for "${P.name}": ${s}`);if(A||(A=!E||Q(me,_)),!A)throw new TypeError(`Ambiguous pattern for "${P.name}" separator: ${s}`);return A=!E,`(?:${W}(${ce}(?:${as}${ce})*)${H})${fr}`}return`(?:${W}(${ce})${H})${B}`}return`(?:${W}${H})${B}`})}function J(p,y,m){try{return new RegExp(`^${p}$`,m)}catch(g){throw new TypeError(`Invalid pattern for "${y}": ${g.message}`)}}function Q(p,y){return y?!p.test(y):!1}function se(p,y={}){const m=p instanceof a?p:l(p,y),g=[],E=F(m,g,y);return Object.assign(E,{keys:g})}return ue}var ws=Wr(),at=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(at||{});const ne=Symbol("rootKey"),re=Symbol("rootNodeKey"),xe=Symbol("parentNodeKey"),ut=Symbol("nameKey");class fe{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class ke{_slots;get slots(){return this._slots==null&&(this._slots=b.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[ut];[ne];[re]=null;[xe]=null;get name(){return this[ut]}constructor(e,t,s){this[ut]=e,this[ne]=t,s&&(this[re]=s)}}class Z{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class $t{views=[]}class Gr{layers=[]}class Xr{time;route}class Qr{forbidTime=300;submitRecorder=new Xr;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 Ke=Symbol("_notifyChange");class bs{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const ge=Symbol("historyChangeConsumerKey"),xs=Symbol("_navigateFirstRoute"),Ye=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),At=Symbol("_generateLocation"),Ze=Symbol("_setRouteMarkRecorder"),Oe=Symbol("beforeRestoreFiltersKey"),Rs=Symbol("_beforeRestore"),Ss="Symbol(_fox_restore_point)";function Me(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Ps(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Xs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[ge]=!1;[Oe]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??N().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=N();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[ge]=="function"){const s=this[ge]();if(this[ge]=!1,s)return}else if(this[ge]===!0){this[ge]=!1;return}if(Me(this.historyMonitor)){const s=t.history.state;this[Ke](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[Ye]()??"/";this[Ze](i,n)}}catch{}}}),ft(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[xs](),Promise.resolve()}destroy(){if(this.historyChange){const e=N();Gt(e,"popstate",this.historyChange)}}[Rs](e,t,s,n){for(let i of this[Oe])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[Oe].push(e)}removeBeforeRestoreEach(e){const t=this[Oe].indexOf(e);return t!==-1?(this[Oe].splice(t,1),!0):!1}[xs](){const e=this[Ye]()??"/",t=this.storage.getItem(Ss);if(t)try{const o=JSON.parse(t);if(o.mark===e&&Array.isArray(o.routes)&&o.routes.length>0){const a=o.routes.filter((l,u)=>(l.params=l.params?ks(l.params):{},this[Rs](l,u,e,o.routes)));if(a.length>0){const l=this[Ft](),u=a.length-1;a[u].query=l||a[u].query,this[Ke](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new k;i.path=n,i.query=this[Ft](),this[Ke]([i])}[Ze](e,t){try{t.forEach(i=>{i.params=i.params?Ls(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(Ss,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[Ye]()??"/";this[Ze](t,e)}[Ke](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[Ye](){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,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ft](){let t=N().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=N();this[ge]=t,s.history.go(e)}goBack(e,t){const s=N(),n=s.history.state;if(Ps(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const h=k.from(n[c]);if(!(h.historyUpdatePolicy==="traceless"||Me(this.traceless,h))&&k.isSame(h,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const h=N().history.state;if(Ps(h)&&h.length>0){let f=h.length;const d=h[f-1],v=k.from(d);if(k.isSame(v,e))return t(),!0;if(f>0){let w=!1;for(let S=f-1;S>=0;S--){const F=k.from(h[S]);if(!(F.traceless===!0||Me(this.traceless,F))&&k.isSame(F,e)){w=!0;break}}return w?(setTimeout(()=>{a=setTimeout(l,o),this.go(-1,u)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(l,o),this.go(-1,u)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[Ze](t,e.routes)}push(e){const t=this[At](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Me(this.traceless,e.currentRoute)&&N().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[At](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Me(this.traceless,e.currentRoute))&&N().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[At](e){const t=N();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(ae)&&(i=i.substring(ae.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function Yr(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=N().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Xs("path",e??"",t,r,s,n,i)}function Qs(r=!0,e="",t=!0,s=!1,n){return new Xs("hash","",e,r,t,s,n)}class Zr{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=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[Ke](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[Ke](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(k.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(t(),!0))}setRouteMark(e){}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 Ys(r="",e=50){return new Zr(r,e)}const et=Symbol("_constructRouteModel"),tt=Symbol("_findRouteModel"),Tt=Symbol("_findRootView"),Es=Symbol("_getFirstView"),ve=Symbol("_removeView"),Cs=Symbol("_buildPage"),$s=Symbol("_resolveComponent"),Fs=Symbol("_update"),he=Symbol("_merge"),Kt=Symbol("_handleHistoryChange"),we=Symbol("_handleRouteUpdated"),st=Symbol("routeUpdatedCallback"),_t=Symbol("currentRoute"),C=Symbol("currentRoutes"),rt=Symbol("routeSessionCacheKey"),As=Symbol("_addRouteRecorder"),Ie=Symbol("_removeRouteRecorder"),nt=Symbol("_cloneRouteRecorder"),V=Symbol("_handleError"),it=Symbol("errorCallback"),ee=Symbol("registerKey"),ot=Symbol("notFoundKey"),jt=Symbol("notFoundPathKey"),te=Symbol("forestKey"),O=Symbol("historyKey"),Ne=Symbol("beforeFiltersKey"),De=Symbol("afterFiltersKey"),He=Symbol("destroyFiltersKey"),qt=Symbol("propsFilterKey"),$e=Symbol("mainDispatcherKey"),Lt=Symbol("initKey"),be=Symbol("readyKey"),kt=Symbol("readyHandlersKey"),lt=Symbol("_markReady"),Ts=Symbol("_createNextFn"),Ot=Symbol("_start"),Mt=Symbol("_before"),It=Symbol("_after"),Ks=Symbol("_destroy"),Nt=Symbol("_load"),Ue=Symbol("_unload"),Be=Symbol("routerGuardKey");function en(r){return r.layers.length==0||r.layers[0].views.length==0}function tn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=D(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class sn{[ee]=new Array;[ot];[jt]="*";[be]=!1;[kt]=[];[te]=new Gr;[O];[C]=new Array;[_t]=b.shallowRef(null);[rt]=new WeakMap;[it]=null;[st]=null;[Ne]=new Array;[De]=new Array;[He]=new Array;[qt]=null;[$e]=new Je;[Be]=new Qr;[Lt]=!1;get currentRoute(){return b.readonly(this[_t])}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[O]=e.history:this[O]=Se?Qs():Ys(),this[O]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[X](s);i&&await this[Kt]([i])}else await this[Kt](s)}catch(i){console.error(i.message,i),n=!1}this[be]===!1&&this[lt](n)})}[V](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[it]=="function")try{this[it](e,t)}catch{}console.error(e)}init(){this[Lt]!==!0&&(this[O]?.init(!this[be]),this[Lt]=!0)}isReady(){return this[be]?Promise.resolve():new Promise((e,t)=>{this[kt].push([e,t])})}[lt](e){this[be]=!0,this[kt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[Kt](e){try{if(!e){let o=[...this[C]].reverse();return this[Ue](o),Se&&N().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[C].length&&k.isSame(e[i],this[C][i]);i++)e[i].active===!0&&e[i].active!==this[C][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[C].length&&(n=this[C].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Ue](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[V](t)}return Promise.resolve()}[we](e=null){if(this[_t].value=e,typeof this[st]=="function")try{this[st](e)}catch{}}[As](e,t){if(e.opsType===M.Open){let s=!1;const n=this[C].length-1;for(let i=n;i>=0;i--){const o=this[C][i];if(e.root==o.root){if(e.path===o.path){this[C].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[C].push(e)}else this[C].push(e);this[rt].set(e,t),this[we](e)}[nt](){let e=[];for(let t of this[C]){let s=k.clone(t,!0);e.push(s)}return e}[Ie](e){if(!this[C]){this[we](null);return}let t=-1;for(let s=0;s<this[C].length;s++)if(k.isSame(this[C][s],e)){t=s;break}if(t!=-1){const s=this[C][t];this[C].splice(t,1);const n=this[rt].get(s);if(this[rt].delete(s),this[Ks](s,n),s.opsType===M.Append){const i=this[C].length-1;this[we](this[C][i]??null)}else this[we](null)}else this[we](null)}set historyMonitor(e){this[O]&&(this[O].historyMonitor=e)}get historyMonitor(){return this[O]?this[O].historyMonitor:!1}set traceless(e){this[O]&&(this[O].traceless=e)}get traceless(){return this[O]?this[O].traceless:!1}set propsFilter(e){this[qt]=e}get propsFilter(){return this[qt]}setRestorePoint(){const e=this[nt]();this[O]?.setRestorePoint(e)}onRouteUpdated(e){this[st]=e}onError(e){this[it]=e}beforeEach(e){this[Ne].push(e)}removeBeforeEach(e){const t=this[Ne].indexOf(e);return t!==-1?(this[Ne].splice(t,1),!0):!1}afterEach(e){this[De].push(e)}removeAfterEach(e){const t=this[De].indexOf(e);return t!==-1?(this[De].splice(t,1),!0):!1}destroyEach(e){this[He].push(e)}removeDestroyEach(e){const t=this[He].indexOf(e);return t!==-1?(this[He].splice(t,1),!0):!1}beforeRestoreEach(e){this[O]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[O]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[jt]){this.setNotFoundRoute(e);return}const s=this[et](e);if(t==-1)this[ee]=[...this[ee],...s];else for(let n=s.length-1;n>=0;n--)this[ee].splice(t,0,s[n])}removeRoute(e){const t=this[X](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[ee].length;s++){const n=this[ee][s];if(t?.path&&n.path===t.path)return this[ee].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[ee].splice(s,1),!0}return!1}hasRoute(e){const t=this[X](e);return t===null?(console.warn("route格式错误",e),!1):this[ee].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[jt]=e}setNotFoundRoute(e){const t=this[et](e);this[ot]=t[0]}getRoutes(){return[...this[ee]]}[et](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new Rt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=ae);let u=new Or(a,l,e.props,e.meta);n.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[et](a);for(let u of l){let c=new Rt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let h=new hs;h.models=[...n],c.layers=[h,...u.layers],o.push(c)}}if(!i){const a=new hs;a.models=n;const l=new Rt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[tt](e){const t=e.route;try{for(let s of this[ee]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=ws.match(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new k;D(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[tt](u)?(e.route=u.route,e.find=u.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},D(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let h of c){const f=h.split("=");if(f.length!==2)continue;const d=decodeURIComponent(f[0].trim()),v=decodeURIComponent(f[1].trim());u[d]=v}D(!0,t.params,u)}else typeof l=="object"&&D(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=ws.compile(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[X](e){let t=null;if(Array.isArray(e))if(t=new k,typeof e[0]=="object")t=k.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&D(!1,t,e[s]);else typeof e=="object"?t=k.from(e):typeof e=="string"&&(t=new k,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??ae,t.opsType=t.opsType??this.options.defaultOperationType??M.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[X](e);return t?(t.opsType=M.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[V]("resolve route fail",t),this)}put(...e){const t=this[X](e);return t?(t.opsType=M.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[V]("resolve route fail",t),this)}replace(...e){const t=this[X](e);return t?(t.opsType=M.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[V]("resolve route fail",t),this)}append(...e){const t=this[X](e);return t?(t.opsType=M.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[V]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[$e].post(n=>{try{if(this[C].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[C][0].root??ae,e.all)for(let u=this[C].length-1;u>0;u--){let c=this[C][u];c.opsType===M.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[C].length-1;u>0;u--){let c=this[C][u];if(c.opsType===M.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[C].length-1;u>0;u--){let c=this[C][u];if(c.opsType===M.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=ae;let u=this[Es](this[te]);u&&(o=u.name);for(let c=this[C].length-1;c>0;c--){let h=this[C][c];if(h.opsType===M.Append&&h.root===o){a.push(h),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[C][i]),this[Ue](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[C].length;if(l&&k.isSame(l,this[C][c-1])){this[O]?.goBack(l,u);return}u()}}catch(i){this[V](i),n.resolve(),s(!1)}})})}open(...e){let t=this[X](e);return t?(t.opsType=M.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[V]("resolve route fail",t),this)}close(e){return this[$e].post(t=>{try{let s=this[X](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[C].length;i++){let o=this[C][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Ue](n),t.resolve()}catch(s){this[V](s),t.resolve()}}),this}to(...e){let t=this[X](e);if(!t)return this[V]("resolve route fail",t),this;let s=this[Be].acquire(t);return s==null?(this[V]("route forbid",t),this):(this[$e].post(n=>{try{let i=this[Ot](t);this[Mt](i),this[Nt](i),this[It](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=k.clone(l,!0);const c=new bs(u,this[nt]());l.historyUpdatePolicy==="replace"?this[O]?.replace(c):l.historyUpdatePolicy==="traceless"?this[O]?.setRouteMark(c):this[O]?.push(c)}catch(u){console.error(u.message,u)}if(Te.clear(o.session),this[Be].release(s),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[be]===!1&&this[lt](!0),i=null,n.resolve()},(o,a)=>{this[Be].release(s),a!==null&&this[V](a,t),this[be]===!1&&this[lt](!1),Te.clear(o.session),i=null,n.resolve()})}catch(i){this[Be].release(s),this[V](i,t),n.resolve()}}),this)}back(e=1){this[O]?.go(-e,!1)}[Ts](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[X](t);if(n){const i=e.session.to;n.success=i.success,n.error=i.error,e.session.to=n,e.session.redirect=!0,e.session.routeModel=null,e.resolve()}else e.session.redirect=!1,e.reject("route resolve fail")}else e.session.redirect=!1,e.resolve()}}[Ot](e){const t=this[C].length>0?this[C][this[C].length-1]:void 0,s=new Te(e,t),n={route:e,find:null};return this[tt](n),n.find&&(s.routeModel=n.find,e.matched=tn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new Je(s)}[Mt](e){for(let t of this[Ne])e.post(s=>{const n=this[Ts](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[It](e){e.post(t=>{for(let s of this[De])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[Ks](e,t){for(let s of this[He])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[Nt](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[tt](o))n=o.find,t.session.routeModel=n;else if(this[ot])n=this[ot];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=Te.from(t.session);this[Cs](s,n,i).then(o=>{this[te],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Ue](e){if(e.length==0)return!0;let t=this[te],s=[];for(let n of e){let i=this[Tt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[V]("can not find view index"),!1;for(let n of s.reverse())this[ve](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Tt](e,t){const s=t.root??ae;let n;for(let i=0;i<e.layers.length;i++){const o=e.layers[i];for(let a=o.views.length-1;a>=0;a--){const l=o.views[a];if(l[ne]&&l[ut]===s)return n={x:a,y:i},n}}return null}[Es](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ve](e,t,s=null,n=!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,a=[],l=!1,u=[...i.slots.value];for(let h=u.length-1;h>=0;h--){let f=u[h];(!s||s.indexOf(f.index)!=-1)&&(f.route&&i[ne]&&(this[Ie](f.route),f.active===!0&&f.route.opsType==M.Append&&(l=!0)),a.push(new Z(i,f.index,t.y)),u.splice(h,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let h=u.length-1,f=u[h];f.active=!0,f.route&&(f.route.active=f.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let h=e.layers[c].views,f=[];for(let d=h.length-1;(o||a.length>0)&&d>=0;d--){let v=h[d];if(v[xe]&&(o||Z.include(a,v[xe]))){let w=v.slots.value;for(let S=w.length-1;S>=0;S--){let F=w[S];F.route&&v[ne]&&this[Ie](F.route),f.push(new Z(v,F.index,c)),w.splice(S,1)}e.layers[c].views.splice(d,1)}}a=f,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[ee].length==0){let t=this[te];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[C]=[],this[we](null),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[$e].post(u=>{const c=this[Ot](l);this[Mt](c),this[Nt](c),this[It](c),c.wait((h,f)=>{i=h.session.to,o=h.session.redirect,u.resolve()},(h,f)=>{i=null,f!==null&&this[V](f),u.resolve()})})}this[$e].post(a=>{if(i&&o===!0){const l=k.clone(i,!0),u=new bs(l,this[nt]());this[O]?.replace(u)}a.resolve(),s()})})}[Cs](e,t,s){const n=e.updateType??at.Part;return this[$s](t).then(()=>{const o=this[Fs](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[$s](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];for(let i=0;i<n.models.length;i++){let o=n.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Fs](e,t,s,n){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const i=e.layers[0].models[0];let o=this[te],a=en(o),l=t.root??ae,u;!a&&n==at.Part&&(u=this[Tt](o,t));let c,h=0;if(u==null||u==null)if(a||n===at.All){if(o.layers.length==0&&(o.layers[0]=new $t),o.layers[0].views.length==0){let f=t.root??ae;c=new ke(f,!0,null),o.layers[0].views=[c]}else c=o.layers[0].views[0];u={x:0,y:0}}else{let f=t.slot;if(!f)return{status:"error",message:"can not rebuild view(because not route slot)"};let d=f.level;if(d>o.layers.length)return{status:"error",message:"can not insert view(override level)"};let v;if(f.rootName){let w=o.layers[d-1];for(let S of w.views){if(S[ne]&&S.name===f.rootName){v=new Z(S,f.rootIndex??0,d-1);break}if(S[re]&&S[re].view.name===f.rootName&&S[re].index===f.rootIndex){v=S[re];break}}}if(!v)return{status:"error",message:"can not insert view(not find root node ref)"};c=new ke(l,!0,v),o.layers[d].views.push(c),u={x:o.layers[d].views.length-1,y:d}}else c=o.layers[u.y].views[u.x];if(h=u.y,c[ne]=!0,t.opsType===M.Append){t.index=t.index??pe.get(),t.active=!0;let f=c.slots.value;if(f.length>0){let F=f[f.length-1];F.active=!1,F.route&&(F.route.active=F.active)}let d=new fe(t,i,t.index,!0);c.slots.value=[...f,d];let v=h+1,w=1,S=new Z(c,t.index,h);this[he](o,v,e,w,S)}else if(t.opsType===M.Open){let f=c.slots.value;const d=t.active??!0;let v=!1;for(let w of f){if(w.route!==null&&k.isSameForRouteModel(w.route,t)){if(w.active===d)return t.index=w.index,t.active=d,w.route=t,{status:"no-change",message:""};w.active=d,v=!0,t.index=w.index,t.active=d,w.route=t}else d&&(w.active=!1);w.route&&(w.route.active=w.active)}if(!v){t.index=t.index??pe.get(),t.active=d;let w=new fe(t,i,t.index,d);f.push(w);let S=h+1,F=1,x=new Z(c,t.index,h);this[he](o,S,e,F,x)}c.slots.value=[...f]}else{let f=c.slots.value;if(f.length==0){t.index=t.index??pe.get(),t.active=!0,c.slots.value=[new fe(t,i,t.index)];let d=h+1,v=1,w=new Z(c,t.index,h);this[he](o,d,e,v,w)}else{let d=f[0];if(d.model!==i){this[ve](o,u,null,!0),t.index=t.index??pe.get(),t.active=!0,c.slots.value=[new fe(t,i,t.index)];let v=h+1,w=1,S=new Z(c,t.index,h);this[he](o,v,e,w,S)}else{d.route!==null&&this[Ie](d.route);let v=!1;const w=t.active??!0;d.active!==w&&(d.active=w,v=!0),t.active=w,t.index=d.index,d.route=t;let S=[];for(let se=1;se<f.length;se++)S.push(f[se].index);S.length>0?this[ve](o,u,S,!0):v&&(c.slots.value=[...f]);let F=[new Z(c,t.index,h)],x=h+1,J=1,Q=new Z(c,t.index,h);for(;F.length>0&&x<o.layers.length&&J<e.layers.length;x++,J++){let se=[];for(let y=0;y<o.layers[x].views.length;y++){let m=o.layers[x].views[y];m[xe]&&Z.include(F,m[xe])&&se.unshift(y)}let p=[];for(let y of se){let m=o.layers[x].views[y],g=e.layers[J].models,E;for(let R=0;R<g.length;R++)if(m.name===g[R].name){E=g[R];break}if(!E)this[ve](o,{x:y,y:x},null,!1);else{let R=m.slots.value;if(R.length==0){let $=0;m.slots.value=[new fe(null,E,$)];let A=x+1,P=J+1;this[he](o,A,e,P,Q)}else{let $=R[0];if($.model!==E){this[ve](o,{x:y,y:x},null,!0),m.slots.value=[new fe(null,E,0)];let A=x+1,P=J+1;this[he](o,A,e,P,Q)}else{m[ne]&&$.route!==null&&this[Ie]($.route);let A=[];for(let P=1;P<R.length;P++)A.push(R[P].index);A.length>0&&this[ve](o,{x:y,y:x},A,!0),p.push(new Z(m,$.index,x))}}m[ne]=!1}}F=p}this[he](o,x,e,J,Q)}}}if(c&&c[re]){let f=c[re];f&&(t.slot=new kr(l,h,f?.view.name,f?.index??0))}return s.to=void 0,s.routeModel=void 0,this[As](t,s),{status:"success",message:""}}[he](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),h=new fe(null,u);c.slots.value=[h],l.push(c)}}for(;o<s.layers.length;o++){let l=new $t;l.views=[];for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),h=new fe(null,u);c.slots.value=[h],l.views.push(c)}e.layers.push(l)}}[Hs](e,t,s,n,i,o){if(t<0||t>this[te].layers.length)return null;if(t<this[te].layers.length){let c=this[te].layers[t],h=null;for(let f of c.views){let d=!1;if(s!==null?(d=f.name===e&&f[re]?.view===s,d&&n!==-1&&(d=f[re]?.index===n)):d=f.name===e,!!d){i!==null&&(f[xe]={view:i,index:o,level:t-1}),h=f;break}}if(h!==null)return h}let a=null,l=null;i!==null&&(i[ne]?a={view:i,index:o,level:t-1}:a=i[re],l={view:i,index:o,level:t-1});let u=new ke(e,!0,a);if(u[xe]=l,t==this[te].layers.length){let c=new $t;c.views=[u],this[te].layers.push(c)}else this[te].layers[t].views.push(u);return u}}const rn="fox-router-view",nn="fox-router-link";function Zs(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 er(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 on(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 tr(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 sr(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 ln(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 an(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function un(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function cn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function fn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function hn(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function yn(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function dn(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function pn(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function rs(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 je(r,e){r.classList.contains(e)||r.classList.add(e)}function _e(r,e){r.classList.remove(e)}const mn=Se&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function vt(r){mn(r)}function U(r,e,t){q(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function rr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)Gt(e,c.type,c.listener);l=[]};if(q(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),q(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",ht],h=f=>{const d=f.target||f.srcElement,v=f.currentTarget;d===v&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(f=>{ft(e,f,h),l.push({type:f,listener:h})})}if(q(o)){const c="animationcancel",h=f=>{const d=f.target||f.srcElement,v=f.currentTarget;d===v&&(u(),Reflect.apply(o,r,[e,t,s]))};ft(e,c,h),l.push({type:c,listener:h})}}function wt(r){return!Se||r===null?!1:r.opsType===M.Append||r.opsType===M.Open}function nr(r,e,t,s={},n,i=-1){if(e||wt(n)){const o=Zs(s,e);o&&je(t,o);const a=er(s,e);a&&je(t,a);const l=an(s,e);U(r,l,[t,e,n,i])}}function ir(r,e,t,s={},n,i,o,a){if(!wt(i)&&!e){q(a)&&a(r,a,[t]);return}const l=Zs(s,e),u=er(s,e),c=on(s,e),h=un(s,e),f=cn(s,e),d=fn(s,e);if(!l&&!u&&!c&&!h){q(a)&&a(r,a,[t]);return}vt(()=>{rr(r,t,i,o,n,()=>{u&&_e(t,u),c&&_e(t,c),q(f)&&U(r,f,[t,e,i,o]),q(a)&&a(r,a,[t])},()=>{q(d)&&U(r,d,[t,e,i,o])}),l&&_e(t,l),c&&je(t,c),q(h)&&U(r,h,[t,e,i,o])})}function or(r,e,t,s={},n,i=-1){if(e||wt(n)){const o=tr(s,e);o&&je(t,o);const a=sr(s,e);a&&je(t,a);const l=hn(s,e);U(r,l,[t,e,n,i])}}function lr(r,e,t,s={},n,i,o,a,l){if(!wt(o)&&!e){q(l)&&U(r,l,[t]),!e&&q(i)&&i();return}const u=tr(s,e),c=sr(s,e),h=ln(s,e),f=yn(s,e),d=dn(s,e),v=pn(s,e);if(!u&&!c&&!h&&!f){q(l)&&U(r,l,[t]),!e&&q(i)&&i();return}vt(()=>{rr(r,t,o,a,n,()=>{c&&_e(t,c),h&&_e(t,h),q(d)&&U(r,d,[t,e,o,a]),q(l)&&U(r,l,[t]),!e&&q(i)&&i()},()=>{q(v)&&U(r,v,[t,e,o,a]),q(l)&&U(r,l,[t]),!e&&q(i)&&i()}),u&&_e(t,u),h&&je(t,h),q(f)&&U(r,f,[t,e,o,a])})}function Jt(r,e,t={},s,n=-1){const i=t.mode??"default",o=rs(t);return{mode:i,persisted:!1,beforeEnter:l=>{nr(r,!1,l,t,s,n)},enter:l=>{ir(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{or(r,!1,l,t,s,n),lr(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>Jt(r,e,t,s,n)}}function ar(r){return r.el}function gn(r,e,t={},s,n,i,o){if(i===!0){const a=ar(e);if(a==null)return;const l=rs(t);nr(r,!0,a,t,s,n),ir(r,!0,a,t,l.show,s,n,u=>{q(o)&&U(r,o,[u])})}else q(o)&&U(r,o,[])}function vn(r,e,t={},s,n,i,o){if(i===!0){const a=ar(e);if(a==null)return;const l=rs(t);or(r,!0,a,t,s,n),lr(r,!0,a,t,l.hide,null,s,n,u=>{q(o)&&U(r,o,[u])})}else q(o)&&U(r,o,[])}function wn(r,e={}){vt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function ur(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{Xe(Us,{},a)},enter:a=>{Xe(Bs,{},a)},leave:(a,l)=>{Xe(Vs,{},a),vt(()=>{const u=c=>{const h=c.target||c.srcElement,f=c.currentTarget;h===f&&(Gt(a,ht,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};ft(a,ht,u),Xe(zs,{},a)})},clone:a=>ur(r,e,t,s,n)}}function ye(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Dt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function Fe(r,e){return typeof e=="function"?e(r):r}class bn{node;state;constructor(e,t){this.node=e,this.state=t}}const Wt=b.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=b.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const s=r.multi===!0,n=b.inject(gt,null),i=b.inject(Pt,0),o=b.inject(ms,null),a=b.inject(Et,-1);let l=null,u=r.modelSlot;if(u){if(b.provide(Pt,i+1),b.provide(Et,u.index),b.provide(Ct,u.index),!u.route){console.warn("child view render error, route not exist");return}const f=yt(t.proxy,!0);Hr(f),ps(f,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const h=r.name,f=b.inject(gs,null),d=b.inject(Ct,0);if(l=n[Hs](h,i,o,a,f,d),l===null)return;b.provide(gs,l);const v=l[ne]===!0;if(v&&b.provide(ms,l),!s&&(b.provide(Et,-1),b.provide(Pt,i+1),b.provide(Ct,-1),v)){const w=yt(t.proxy,!0);ps(w,()=>{const S=l.slots.value;return S.length>0?S[0].route:null})}}const c={value:new Map};return b.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const h=u;h.route=null,h.model=null,h.instance=null,u=void 0}}),()=>{if(s){const h=new Map,f=[],d=l?.slots.value,v=[];for(let F=0;F<d.length;F++){const x=d[F],J=`${r.name}_${x.index}`,Q=ye(r.transition,x.route,F)??!0,se={modelSlot:x};let p;e.slots.default?p=b.h(Wt,se,{default:e.slots.default}):p=b.h(Wt,se);const y={},m=ye(r.viewClass,x.route,F);typeof m=="string"&&m.length>0&&(y[m]=!0);const g=ye(r.viewActiveClass,x.route,F),E=ye(r.viewInactiveClass,x.route,F),R=c.value.get(J);if(typeof g=="string"&&g.length>0&&(y[g]=x.active),typeof E=="string"&&E.length>0&&(y[E]=!x.active),R&&x.active!==R.state){const T=R.node;x.active?v.unshift(()=>{const K=()=>{let _=ys(T);_!=null&&ds(_,zt.ACTIVATED)};gn(t,T,r,x.route,F,Q,K)}):v.push(()=>{const K=()=>{const _=ys(T);_!=null&&ds(_,zt.DEACTIVATED)};vn(t,T,r,x.route,F,Q,K)})}const $={class:y,key:J},A=ye(r.viewTagProps,x.route,F);if(A!==null&&typeof A=="object"){const T=Fe(A,n?.propsFilter);D(!0,$,T)}if(x.route?.viewTagAttrs&&typeof x.route?.viewTagAttrs=="object"){const T=Fe(x.route.viewTagAttrs,n?.propsFilter);D(!0,$,T)}const P=ye(r.viewTag,x.route,F),j=b.h(P,$,{default:()=>[p]});if(h.set(J,new bn(j,x.active)),c.value.delete(J),Q===!0){const T=Jt(t,j,r,x.route,F);j.transition=T}else if(Q==="custom"){const T=ur(t,j,r,x.route,F);j.transition=T}f.push(j)}c.value=h,wn(v,t);const w=ye(r.tag,null,-1),S={};return Object.assign(S,e.attrs),b.h(w,S,{default:()=>f})}else if(u!=null){const h=u.model,f={};if(h.props){if(typeof h.props=="object"){const v=Fe(h.props,n?.propsFilter);D(!1,f,v)}else if(h.props===!0&&typeof u.route?.params=="object"){const v=Fe(u.route.params,n?.propsFilter);D(!1,f,v)}}const d=b.h(h.component,f);return Dt(e.slots.default,{Component:d,route:u.route})??d}else{const h=l.slots.value;if(h.length>0){const f=h[0],d=f.route??(t.proxy&&ss(t.proxy))??null,v=f.model,w={};if(v.props){if(typeof v.props=="object"){const x=Fe(v.props,n?.propsFilter);D(!1,w,x)}else if(v.props===!0&&typeof d?.params=="object"){const x=Fe(d.params,n?.propsFilter);D(!1,w,x)}}const S=b.h(v.component,w);if(ye(r.transition,d,-1)??!0){const x=Jt(t,S,r,d,-1);S.transition=x}return Dt(e.slots.default,{Component:S,route:d})??S}else return Dt(e.slots.fallback,{})}}}});function xn(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 Rn(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function Sn(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function Ae(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let Pn=b.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=b.inject(gt,null);return()=>{let s=Ae(r.to,null),n=Ae(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[X](s),r.root&&(i.root=r.root),o=t.currentRoute.value);let a={},l=Ae(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=Sn(i,o)),Ae(r.exact,i)===!0){let f=Ae(r.exactActiveClass,i);typeof f=="string"&&f.length>0&&(a[f]=Rn(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),D(!0,c,e.attrs);let h=Ae(r.event,i);if(typeof h=="string"){const f=d=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}xn(d)&&t.to(i)};c[h]=f}return b.h(n,c,e.slots)}}});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||{}),ct=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(ct||{});class En{register=new Map;constructor(){}get(e){return this.register.get(e)??null}set(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t??null}has(e){return this.register.has(e)}clear(){this.register.clear()}}class _s{moduleManager=new En;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return Ge().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:z.Defined};typeof t=="function"?(s.exports=t,s.type=ct.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new Cn(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new Je;for(let l=0;l<t.length;l++){const u=new $n(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;o++)if(Array.isArray(e[o])){let a=e[o];for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}else{let a=e[o].split(",");for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}return t.forEach(o=>{this.unmount(o,n)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(n=>{t.progress.work(!0,t.index,"exports"),n.resolve()});return}else if(t.src==="module"){e.post(n=>{t.progress.work(!0,t.index,"module"),n.resolve()});return}if(this.isNaturePath(t.src)){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(this.isNaturePath(t.src)){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==z.Defined||o.status==z.Loaded)&&o.exports){o.type===ct.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}const a=Ge(),l=a.createElement("link");if(Reflect.has(l,"onload"))l.onload=()=>{l.onload=null,l.onerror=null,t.progress.work(!0,t.index,t.src),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const h={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{cr(l,h)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==z.Defined||o.status==z.Loaded)){if(o.exports){o.type===ct.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),n.resolve();return}}o={id:i,src:i,status:z.Loading},this.moduleManager.set(i,o);const l=Ge().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const h=l;h.onreadystatechange=()=>{/loaded|complete/.test(h.readyState)&&(h.onreadystatechange=null,o.status==z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=N();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Ge(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=z.Defining;let o,a,l,u=i.length;u===1?(l=i[0],o=void 0):u===2?(l=i[1],Array.isArray(i[0])?(a=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const h=c.map(f=>f==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):f==="module"?e:f);if(typeof l=="function"){const f=Reflect.apply(l,e,h);f&&typeof f=="object"&&(e.exports=f)}else e.exports=l;e.status=z.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=z.Defined,t.progress.work(!0,t.index,e.exports))};return n.amd=!0,n}resolvePath(e){try{if(e==="exports"||e==="module"||this.isNaturePath(e))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${encodeURIComponent(n)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];if(e.indexOf(n)===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`${bt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${bt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${N().location.protocol}${e}`;if(t){let n=this.options.alias[e];if(!n){let i=e.indexOf("/");if(i==-1)n=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?n=a+e.slice(i):n=e}}return this.parserPath(n,!1)}return`${bt()}${e}`}}function cr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():cr(r,e)},20)}class Cn{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,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(n){console.error(n.message,n)}}isOK(){return this.status}}class $n{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const ns=Symbol("fk"),is=Symbol("fbk"),os=Symbol("fepk");function Fn(r={}){const e=new sn(r),t=new Bt,s=new Vt,n=new _s,i={get router(){return e},get bus(){return t},get Bus(){return Bt},get EventProxy(){return Vt},get eventproxy(){return s},get EventChain(){return Je},get Require(){return _s},get require(){return n},get extend(){return D},get clone(){return mt},get isESModule(){return Xt},install(o){o.provide(gt,e),o.provide(ns,i),o.provide(is,t),o.provide(os,s),o.component(rn,Wt),o.component(nn,Pn),Reflect.defineProperty(o.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(o.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$eventProxy",{get(){return s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return ss(this)}}}),e.init()}};return i}function ls(r){return r?r.$router:b.inject(gt)}function An(r){return r||(r=b.getCurrentInstance()?.proxy??void 0),r?ss(r):null}function Tn(r){return r?r.$fox:b.inject(ns)}function Kn(r){return r?r.$bus:b.inject(is)}function _n(r){return r?r.$eventProxy:b.inject(os)}function jn(r){const e=ls(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),b.onUnmounted(()=>{e.removeBeforeEach(t)})}function qn(r){const e=ls(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),b.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=Bt;exports.EventChain=Je;exports.EventProxy=Vt;exports.FoxBeforeEnter=Us;exports.FoxBeforeLeave=Vs;exports.FoxEnter=Bs;exports.FoxLeave=zs;exports.FoxLeaveEnd=ht;exports.OperationType=M;exports.Route=k;exports.clone=mt;exports.createFox=Fn;exports.createMemoryHistory=Ys;exports.createWebHashHistory=Qs;exports.createWebHistory=Yr;exports.deleteContextValue=Dr;exports.extend=D;exports.foxBusKey=is;exports.foxEventProxyKey=os;exports.foxKey=ns;exports.injectContextValue=ts;exports.isArray=yr;exports.isDate=mr;exports.isESModule=Xt;exports.isEqual=Ut;exports.isFunction=q;exports.isMap=dr;exports.isNil=We;exports.isObject=js;exports.isPlainObject=qs;exports.isPromise=wr;exports.isSet=pr;exports.isString=gr;exports.isSymbol=vr;exports.onAfterRouteUpdate=qn;exports.onBeforeRouteUpdate=jn;exports.onFoxActivated=zr;exports.onFoxInactivated=Jr;exports.provideContextValue=Nr;exports.rawState=qr;exports.reactiveState=Kr;exports.sessionKey=de;exports.shallowReactiveState=_r;exports.toBoolean=Qt;exports.toNumber=Sr;exports.toTypeString=pt;exports.typeOf=Ht;exports.useBus=Kn;exports.useEventProxy=_n;exports.useFox=Tn;exports.useRoute=An;exports.useRouter=ls;
@@ -14,7 +14,7 @@ declare const afterFiltersKey: unique symbol;
14
14
  * after route update filter
15
15
  */
16
16
  declare interface AfterRouteFilter {
17
- (to: Route, from: Route, session: Record<string | number | symbol, any>): void;
17
+ (to: Route, from: Route | null, session: Record<string | number | symbol, any>): void;
18
18
  }
19
19
 
20
20
  declare const argsKey: unique symbol;
@@ -34,7 +34,7 @@ declare interface BeforeResotreFilter {
34
34
  * before route update filter
35
35
  */
36
36
  declare interface BeforeRouteFilter {
37
- (to: Route, from: Route, next: {
37
+ (to: Route, from: Route | null, next: {
38
38
  (pass?: boolean | Route): void;
39
39
  }, session: Record<string | number | symbol, any>): void;
40
40
  }
@@ -118,6 +118,8 @@ export declare function createWebHashHistory(navigateFirstRoute?: boolean, query
118
118
  */
119
119
  export declare function createWebHistory(navigateFirstRoute?: boolean, base?: string | null, query?: string, historyMonitor?: boolean | IfFunction, traceless?: boolean | IfFunction, storage?: Storage_2): RouterHistory;
120
120
 
121
+ declare const currentRoute: unique symbol;
122
+
121
123
  declare const currentRoutes: unique symbol;
122
124
 
123
125
  declare const cursorKey: unique symbol;
@@ -764,6 +766,8 @@ declare class ModelSlot {
764
766
 
765
767
  declare const nameKey: unique symbol;
766
768
 
769
+ declare const normalizeRoute: unique symbol;
770
+
767
771
  declare const notFoundKey: unique symbol;
768
772
 
769
773
  declare const notFoundPathKey: unique symbol;
@@ -1047,8 +1051,6 @@ declare class Require {
1047
1051
 
1048
1052
  declare const _resolveComponent: unique symbol;
1049
1053
 
1050
- declare const resolveRoute: unique symbol;
1051
-
1052
1054
  declare const rootKey: unique symbol;
1053
1055
 
1054
1056
  declare const rootNodeKey: unique symbol;
@@ -1278,6 +1280,10 @@ export declare class Router {
1278
1280
  * 当前路由集合
1279
1281
  */
1280
1282
  private [currentRoutes];
1283
+ /**
1284
+ * 当前路由
1285
+ */
1286
+ private [currentRoute];
1281
1287
  /**
1282
1288
  * route sessin key
1283
1289
  */
@@ -1321,7 +1327,101 @@ export declare class Router {
1321
1327
  /**
1322
1328
  * 获取当前最新route
1323
1329
  */
1324
- get current(): Route | null;
1330
+ get currentRoute(): Readonly<Ref<{
1331
+ readonly path?: string | undefined;
1332
+ readonly fullPath?: string;
1333
+ readonly alias?: string | undefined;
1334
+ readonly name?: string | undefined;
1335
+ readonly root?: string | undefined;
1336
+ readonly params?: {
1337
+ readonly [x: string]: any;
1338
+ readonly [x: number]: any;
1339
+ readonly [x: symbol]: any;
1340
+ } | undefined;
1341
+ readonly query?: any;
1342
+ readonly traceless?: boolean | undefined;
1343
+ readonly template?: string | undefined;
1344
+ readonly matched?: readonly {
1345
+ readonly meta: {
1346
+ readonly [x: string]: any;
1347
+ readonly [x: number]: any;
1348
+ readonly [x: symbol]: any;
1349
+ };
1350
+ }[] | undefined;
1351
+ readonly meta?: {
1352
+ readonly [x: string]: any;
1353
+ readonly [x: number]: any;
1354
+ readonly [x: symbol]: any;
1355
+ } | undefined;
1356
+ readonly success?: {
1357
+ (...arg: any[]): void;
1358
+ } | undefined;
1359
+ readonly error?: {
1360
+ (...arg: any[]): void;
1361
+ } | undefined;
1362
+ readonly destroy?: {
1363
+ (...arg: any[]): void;
1364
+ } | undefined;
1365
+ readonly opsType?: OperationType | undefined;
1366
+ readonly updateType?: UpdateType | undefined;
1367
+ readonly historyUpdatePolicy?: HistoryUpdatePolicy | undefined;
1368
+ readonly viewTagAttrs?: any;
1369
+ readonly index?: number | undefined;
1370
+ readonly active?: boolean | undefined;
1371
+ readonly slot?: {
1372
+ readonly name: string;
1373
+ readonly level: number;
1374
+ readonly rootName: string | undefined;
1375
+ readonly rootIndex: number;
1376
+ } | undefined;
1377
+ } | null, {
1378
+ readonly path?: string | undefined;
1379
+ readonly fullPath?: string;
1380
+ readonly alias?: string | undefined;
1381
+ readonly name?: string | undefined;
1382
+ readonly root?: string | undefined;
1383
+ readonly params?: {
1384
+ readonly [x: string]: any;
1385
+ readonly [x: number]: any;
1386
+ readonly [x: symbol]: any;
1387
+ } | undefined;
1388
+ readonly query?: any;
1389
+ readonly traceless?: boolean | undefined;
1390
+ readonly template?: string | undefined;
1391
+ readonly matched?: readonly {
1392
+ readonly meta: {
1393
+ readonly [x: string]: any;
1394
+ readonly [x: number]: any;
1395
+ readonly [x: symbol]: any;
1396
+ };
1397
+ }[] | undefined;
1398
+ readonly meta?: {
1399
+ readonly [x: string]: any;
1400
+ readonly [x: number]: any;
1401
+ readonly [x: symbol]: any;
1402
+ } | undefined;
1403
+ readonly success?: {
1404
+ (...arg: any[]): void;
1405
+ } | undefined;
1406
+ readonly error?: {
1407
+ (...arg: any[]): void;
1408
+ } | undefined;
1409
+ readonly destroy?: {
1410
+ (...arg: any[]): void;
1411
+ } | undefined;
1412
+ readonly opsType?: OperationType | undefined;
1413
+ readonly updateType?: UpdateType | undefined;
1414
+ readonly historyUpdatePolicy?: HistoryUpdatePolicy | undefined;
1415
+ readonly viewTagAttrs?: any;
1416
+ readonly index?: number | undefined;
1417
+ readonly active?: boolean | undefined;
1418
+ readonly slot?: {
1419
+ readonly name: string;
1420
+ readonly level: number;
1421
+ readonly rootName: string | undefined;
1422
+ readonly rootIndex: number;
1423
+ } | undefined;
1424
+ } | null>>;
1325
1425
  private options;
1326
1426
  /**
1327
1427
  * 构造函数
@@ -1507,11 +1607,11 @@ export declare class Router {
1507
1607
  */
1508
1608
  private [_findRouteModel];
1509
1609
  /**
1510
- * 解释路由
1610
+ * 解析并格式化路由
1511
1611
  * @param args
1512
1612
  * @returns
1513
1613
  */
1514
- [resolveRoute](args: any): Route | null;
1614
+ [normalizeRoute](args: any): Route | null;
1515
1615
  /**
1516
1616
  * 路由跳转(operation类型为Push)
1517
1617
  * @param args