@fox-js/fox 3.1.1-2 → 3.1.1-21
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 +1 -3
- package/libs/index.esm.d.ts +944 -75
- package/libs/index.esm.js +2911 -4456
- package/libs/index.umd.js +1 -3
- package/libs/style.css +2 -1
- package/package.json +3 -4
package/libs/index.umd.js
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
(function(p,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],b):(p=typeof globalThis<"u"?globalThis:p||self,b(p.Fox={},p.Vue))})(this,function(p,b){"use strict";/*!
|
|
2
|
-
* fox v3.1.0 Fri Mar 15 2024 23:11:53 GMT+0800 (中国标准时间)
|
|
3
|
-
*/const me=typeof window<"u",$=function(){return window},De=function(){return window.document};function rn(n){let e=n,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 mt(){if(!me)return"/";let n=$().location,e=`${n.protocol}//${n.host}`;return e+=rn(n.pathname),e}function Ue(n,e,t,r=!1){n.addEventListener?n.addEventListener(e,t,r):n.attachEvent?n.attachEvent(`on${e}`,t):n[`on${e}`]=t}function Be(n,e,t){n.removeEventListener?n.removeEventListener(e,t):n.detachEvent?n.detachEvent(`on${e}`,t):n[`on${e}`]=null}const Ve=(n,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const r=document.createEvent("Events");let s=!0,i=!0;for(let a in e)a==="bubbles"?s=!!e[a]:a==="cancelable"?i=!!e[a]:r[a]=e[a];r.initEvent(n,s,i),(t??document).dispatchEvent(r)},nn=Array.isArray,sn=n=>ke(n)==="[object Map]",on=n=>ke(n)==="[object Set]",ln=n=>n instanceof Date,S=n=>typeof n=="function",an=n=>typeof n=="string",un=n=>typeof n=="symbol",rr=n=>n!==null&&typeof n=="object",fn=n=>rr(n)&&S(n.then)&&S(n.catch),nr=n=>n==null,cn=Object.prototype.toString,ke=n=>cn.call(n),sr=n=>ke(n)==="[object Object]",hn=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function pt(n){return n.__esModule||hn&&n[Symbol.toStringTag]==="Module"}const yn=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function _(...n){let e=n[0]!==void 0&&n[0]!==null?n[0]:{},t=1,r=n.length,s=!1;for(typeof e=="boolean"&&(s=e,e=n[t]??{},t++),typeof e!="object"&&(e={});t<r;t++)if(n[t]!==null&&n[t]!==void 0){let i=n[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(s===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=_(s,u,l)}else l!==void 0&&(e[o]=l)}}return e}function We(n,e,t=!1){if(!t)_(!0,n,e);else{if(typeof e!="object")return{};typeof n!="object"&&(n={});for(let r of Reflect.ownKeys(e)){let s=n[r],i=e[r];if(s!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!sr(i))continue;s=We(s,i,t),n[r]=s}else{if(typeof i=="function")continue;n[r]=i}}}return n}class se{static seed=new Date().getTime();static get(){let e=++se.seed;return e>=Number.MAX_VALUE&&(se.seed=0),e}}const gt=yn?Promise.resolve():null;function Ce(n,...e){gt!==null?e&&e.length>0?gt.then(()=>{n(e)}):gt.then(n):e&&e.length>0?setTimeout(()=>{n(e)}):setTimeout(n)}function vt(n){return n==null?!1:typeof n=="boolean"?n:typeof n=="string"?n.toLocaleLowerCase()==="true":!!n}function dn(n){return typeof n=="number"?n:Number(n)}const mn={"[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 wt(n){let t=Object.prototype.toString.call(n);return n==null?String(n):mn[t]||"object"}function bt(n,e){if(n==e)return!0;if(n===void 0||e===void 0)return!1;let t=wt(n),r=wt(e);if(t!==r)return!1;if(t==="object"){let s=Object.keys(n),i=Object.keys(e);if(s.length!==i.length)return!1;for(let o=0;o<s.length;o++){let a=s[o],l=n[a],u=e[a];if(!bt(l,u))return!1}return!0}else if(t==="array"){if(n.length!==e.length)return!1;for(let s=0;s<n.length;s++){let i=n[s],o=e[s];if(!bt(i,o))return!1}return!0}return!1}const ir=n=>{const e={};for(let t of Reflect.ownKeys(n)){let r=n[t];r&&!Array.isArray(r)&&typeof r=="object"&&(r=ir(r)),typeof t=="symbol"?e[String(t)]=r:e[t]=r}return e},pn=/^Symbol\((.*)\)$/,or=n=>{const e={};for(let t of Reflect.ownKeys(n)){let r=n[t];r&&!Array.isArray(r)&&typeof r=="object"&&(r=or(r));const s=pn.exec(t);if(s&&s[1]){const i=Symbol.for(s[1]);e[i]=r}else e[t]=r}return e},lr=Symbol("idKey"),ue=Symbol("valueKey"),P=Symbol("childrenKey"),J=Symbol("growKey");class ar{[J]=!0;[lr];[ue]=b.ref();[P]=new Map;constructor(e){this[lr]=e}}class gn{get(e,t){if(t=="value")return e[ue].value;if(t==="grow")return e[J];let r=e[P].get(t);if(r)return Fe(r);if(e[J])return r=xt(t),r[J]=e[J],e[P].set(t,r),Fe(r)}set(e,t,r){return t=="value"?(e[ue].value=r,!0):t==="grow"?(e[J]=vt(r),!0):r==null?(e[P].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[P].delete(t),!0)}}const Rt="__proxy__";function xt(n){const e=new ar(n);return Reflect.set(e,Rt,new Proxy(e,new gn)),e}function Fe(n){return Reflect.get(n,Rt)}class vn{name="";persistPolicy="momery";storage;initFlag=!1;state={};constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="momery"&&nr(e.name))throw new Error("name can not be empty, where persistPolicy is not momery.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"momery",this.storage=e.storage}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(me){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="momery")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,r=JSON.stringify(this.state??{});e.setItem(t,r)}removeState(){if(!this.persistPolicy||this.persistPolicy==="momery")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==="momery")return;let t=this.getStorage();if(t===null)return;const r=`_bus_${this.name}`,s=t.getItem(r);s&&(this.state=JSON.parse(s),Reflect.ownKeys(this.state).forEach(o=>{if(typeof o!="string")return;const a=this.state[o],l=o.split(/\//g);l.push(a),Reflect.apply(e.put,e,l)}))}put(e){if(this.initFlag&&this.persistPolicy!=="momery")try{const t=e.length,r=e.slice(0,t-1).join("/"),s=e[t-1];this.state[r]=s,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="momery")try{const t=e.length,r=e.slice(0,t-1).join("/"),s={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===r||o.startsWith(r)||(s[o]=this.state[o]))}),this.state=s,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}}class ur extends ar{_persistHandler;constructor(e={}){super("__root__"),this._persistHandler=new vn(e),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let r=this;for(let s=0;s<t-1;s++){let i=e[s],o;r[P].has(i)?o=r[P].get(i):(o=xt(i),r[P].set(i,o)),r=o}return r[ue].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let r=this;for(let s=0;s<t;s++){let i=e[s];if(r[P].has(i))r=r[P].get(i);else return}return r[ue].value}remove(...e){let t=e.length;if(t==0)return!1;let r=this;for(let i=0;i<t-1;i++){const o=e[i];if(r[P].has(o))r=r[P].get(o);else return!1}const s=e[t-1];return r[P].has(s)?(r[P].delete(s),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let r=this;for(let i=0;i<t-1;i++){let o=e[i];if(r[P].has(o))r=r[P].get(o);else return!1}const s=e[t-1];return r[P].has(s)}clear(){this[P].clear(),this._persistHandler.clear()}}const wn=["put","get","contains","remove","clear","_persistHandler"];function fr(n){return wn.includes(n)}class bn{get(e,t){if(t=="value")return e[ue].value;if(t==="grow")return e[J];if(t===P)return e[P];if(typeof t=="string"&&fr(t))return e[t];let r=String(t),s=e[P].get(r);if(s)return Fe(s);if(e[J])return s=xt(r),s[J]=e[J],e[P].set(r,s),Fe(s)}set(e,t,r){return t=="value"?(e[ue].value=r,!0):t==="grow"?(e[J]=vt(r),!0):fr(t)?!1:r==null?(e[P].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[P].delete(t),!0)}}function Rn(n){const e=new ur(n),t=new bn,r=new Proxy(e,t);return Reflect.set(e,Rt,r),e}const St=new Proxy(ur,{construct(n,e){const t=Rn(e[0]??{});return Fe(t)}}),Z="default",cr=Symbol("sync"),N=Symbol("resolveRoute");function hr(n){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(n,{},t)}}function xn(n){let e=n.src;return new Promise((t,r)=>{const s=hr(a=>{pt(a)&&(a=a.default),n.component=a,console.debug("success load async module"),t()}),i=hr(a=>{console.debug("reject load async module"),r(a)});let o;try{o=e(s,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(s,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(s,i)}})}class Sn{name;level;rootName;rootIndex=0;constructor(e,t,r,s){this.name=e,this.level=t,this.rootName=r,this.rootIndex=s}}class ze{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){let t=new ze(e.to,e.from),r=e.data??{};return _(!0,t.data,r),t}}class E{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??Z}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;session;static clone(e,t){let r=new E;return We(r,e,t),r}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 E;if(e==null)return t;let r=t;for(let i in e){let o=e[i];r[i]=o}const s=Object.getOwnPropertySymbols(e);if(Array.isArray(s)&&s.length>0)for(let i of s)r[i]=e[i];return t}}class Pn{id;name;props;meta;src;component;constructor(e,t,r,s){this.id=se.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=r,this.meta=s}get isResolved(){return this.component!==void 0}resolve(){return xn(this)}}class yr{models=[]}class Pt{path;match;redirect;name;layers=[]}var j=(n=>(n[n.Push=0]="Push",n[n.Replace=1]="Replace",n[n.Put=2]="Put",n[n.Append=3]="Append",n[n.Open=4]="Open",n))(j||{});const dr="FoxBeforeEnter",mr="FoxEnter",pr="FoxLeave",gr="FoxLeave",Je="FoxLeaveEnd",B=Symbol("chainKey"),H=Symbol("cursorKey"),Et=Symbol("$persistentModeKey"),K=Symbol("statusKey"),ee=Symbol("argsKey"),Ge=Symbol("exArgsKey"),pe=Symbol("successFnsKey"),Ae=Symbol("errorFnsKey"),ie=Symbol("sessionKey"),te=Symbol("_go");class Te{[B]=[];[H]=0;[Et]=!1;[K]="Free";[ee]=[];[Ge]=[];[pe]=[];[Ae]=[];[ie];get session(){return this[ie]}constructor(e,t=!1){this[ie]=e,this[Et]=t}[te](e,...t){let r=this[K];if(this[K]="Busy",this[H]+=e,this[H]<0&&(this[H]=0),this[ee]=t,r==="Exception"||r==="Reject"){let a=[{session:this[ie]},...this[Ge]];for(;this[Ae].length>0;)try{let l=this[Ae].shift();typeof l=="function"&&Ce(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[K]=r,this[B]=[],this[H]=0,this}else if(r==="Finished"||this[H]>=this[B].length){let a=[{session:this[ie]},...this[ee]];for(;this[pe].length>0;){let l=this[pe].shift();typeof l=="function"&&Ce(()=>{Reflect.apply(l,{},a)})}return this[K]="Free",this}if(this[H]>=this[B].length)return this[K]="Free",this;let s=this[B][this[H]];this[Et]||(this[B].splice(0,this[H]+1),this[H]=-1);let i=this[H]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[te],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[te],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[B].splice(i,0,l),i++)},session:this[ie]};Ce(()=>{Reflect.apply(s,{},[a,...this[ee]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[te],this,[e,...t])}finish(...e){return this[K]="Finished",this[ee]=e,Reflect.apply(this[te],this,[0])}reject(...e){return this[K]="Reject",this[Ge]=e,Reflect.apply(this[te],this,[0])}throw(...e){return this[K]="Exception",this[Ge]=e,Reflect.apply(this[te],this,[0])}reset(...e){this[K]="Busy",this[ee]=e,this[B]=[],this[H]=0;let r=[{session:this[ie]},...this[ee]];for(;this[pe].length>0;){let s=this[pe].shift();Ce(()=>{Reflect.apply(s,this,r)})}return this[K]="Free",this}post(e){return this[K]==="Reject"||this[K]==="Exception"?this:(Array.isArray(e)?this[B]=[...this[B],...e]:this[B].push(e),this[K]==="Busy"?this:(Reflect.apply(this[te],this,[0,...this[ee]]),this))}wait(e,t){return e&&typeof e=="function"&&this[pe].push(e),t&&typeof t=="function"&&this[Ae].push(t),this[K]==="Busy"?this:(Reflect.apply(this[te],this,[0,...this[ee]]),this)}exception(e){return e&&typeof e=="function"&&this[Ae].push(e),this[K]==="Busy"?this:Reflect.apply(this[te],this,[0,...this[ee]])}isFinish(){return this[K]=="Reject"||this[K]=="Free"&&this[H]>=this[B].length}}const ge=Symbol("registerKey");class En{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Ct{[ge]=new Map;constructor(){}on(e,t,r=!1){let s=this[ge].get(e);s||(s=new Array,this[ge].set(e,s));let i=r===!0?1:0,o=new En(t,i);return s.push(o),this}off(e,t){if(!t)return this[ge].delete(e),this;let r=this[ge].get(e);if(r){for(let s=0;s<r.length;s++)if(r[s].callback===t){r.splice(s,1);break}}return this}bind(e,t,r=!1){return this.on(e,t,r)}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 r=e[t-1];if(typeof r!="function")return console.error("callback can not benn empty"),this;let s=t-1,i=new Array(s),o=[].splice.call(e,0,s);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,s-=1,s==0&&Reflect.apply(r,{},i)});return this}emit(e,...t){let r=this[ge].get(e);if(!r)return this;for(let s=0;s<r.length;){let i=r[s];if(i.policy==1?r.splice(s,1):s++,typeof i.callback=="function")try{Ce(()=>{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 _e=Symbol("registerKey");class Cn{[_e]=new Map;constructor(){}set(e,t){this[_e].set(e,t)}get(e){return this[_e].get(e)}has(e){return this[_e].has(e)}delete(e){return this[_e].delete(e)}}const fe=Symbol("lc");function Qe(n,e=!1){let t=n;if(Reflect.has(t,fe))return t[fe];if(e){const r=new Cn;return t[fe]=r,r}return null}function vr(n,e=!1){let t=null,r=n;for(;r&&!(Reflect.has(r,fe)&&(t=r[fe],t));)r=r.$parent;if(!t&&e){const s=n;s&&s.$parent&&(t=Qe(s.$parent,e))}return t}function Ft(n,e){let t=n;for(;t;){if(Reflect.has(t,fe)){const r=t[fe];if(r.has(e))return r.get(e)}t=t.$parent}return null}function Fn(n,e,t){vr(n,!0)?.set(e,t)}function An(n,e){vr(n,!0)?.delete(e)}function wr(n){if(Array.isArray(n.children)&&n.children.length>0){let e=n.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return Qe(e.component.proxy,!1)}return null}const Xe=Symbol("hooksKey");function Tn(n){let e=n.get(Xe);e||(e=[],n.set(Xe,e))}function br(n,e){let t=n.get(Xe);if(t!=null)for(let r=t.length-1;r>=0;r--){let s=t[r];if(s.type===e)try{Reflect.apply(s.hook,s.target,[])}catch(i){console.error(i.message,i)}}}var At=(n=>(n.DEACTIVATED="da",n.ACTIVATED="a",n))(At||{});class _n{type;hook;target;constructor(e,t,r){this.target=r,this.hook=t,this.type=e}}function Kn(n,e,t,r){let s=new _n(e,t,r);return n.push(s),!0}function $n(n,e,t,r){let s=-1;for(let i=0;i<n.length;i++){let o=n[i];if(o.type===e&&o.hook===t&&o.target===r){s=i;break}}return s!=-1?(n.splice(s,1),!0):!1}function Rr(n){return(e,t)=>{let r;if(t)r=t;else{const i=b.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}r=i.proxy}const s=Ft(r,Xe);if(s==null){console.warn("hooks context not found");return}b.onUnmounted(()=>{$n(s,n,e,r)}),Kn(s,n,e,r)}}const jn=Rr("a"),qn=Rr("da"),xr=Symbol("routeKey");function Sr(n,e){n.set(xr,e)}function Tt(n){let e=Ft(n,xr);return typeof e=="function"?e():e??null}const Ye=Symbol("rk"),_t=Symbol("vd"),Pr=Symbol("rv"),Kt=Symbol("rvi"),Er=Symbol("pv"),$t=Symbol("pvi");function Ln(n){for(var e=[],t=0;t<n.length;){var r=n[t];if(r==="*"||r==="+"||r==="?"){e.push({type:"MODIFIER",index:t,value:n[t++]});continue}if(r==="\\"){e.push({type:"ESCAPED_CHAR",index:t++,value:n[t++]});continue}if(r==="{"){e.push({type:"OPEN",index:t,value:n[t++]});continue}if(r==="}"){e.push({type:"CLOSE",index:t,value:n[t++]});continue}if(r===":"){for(var s="",i=t+1;i<n.length;){var o=n.charCodeAt(i);if(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||o===95){s+=n[i++];continue}break}if(!s)throw new TypeError("Missing parameter name at ".concat(t));e.push({type:"NAME",index:t,value:s}),t=i;continue}if(r==="("){var a=1,l="",i=t+1;if(n[i]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(i));for(;i<n.length;){if(n[i]==="\\"){l+=n[i++]+n[i++];continue}if(n[i]===")"){if(a--,a===0){i++;break}}else if(n[i]==="("&&(a++,n[i+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(i));l+=n[i++]}if(a)throw new TypeError("Unbalanced pattern at ".concat(t));if(!l)throw new TypeError("Missing pattern at ".concat(t));e.push({type:"PATTERN",index:t,value:l}),t=i;continue}e.push({type:"CHAR",index:t,value:n[t++]})}return e.push({type:"END",index:t,value:""}),e}function Cr(n,e){e===void 0&&(e={});for(var t=Ln(n),r=e.prefixes,s=r===void 0?"./":r,i="[^".concat(ve(e.delimiter||"/#?"),"]+?"),o=[],a=0,l=0,u="",f=function(T){if(l<t.length&&t[l].type===T)return t[l++].value},c=function(T){var F=f(T);if(F!==void 0)return F;var A=t[l],X=A.type,D=A.index;throw new TypeError("Unexpected ".concat(X," at ").concat(D,", expected ").concat(T))},h=function(){for(var T="",F;F=f("CHAR")||f("ESCAPED_CHAR");)T+=F;return T};l<t.length;){var y=f("CHAR"),d=f("NAME"),g=f("PATTERN");if(d||g){var m=y||"";s.indexOf(m)===-1&&(u+=m,m=""),u&&(o.push(u),u=""),o.push({name:d||a++,prefix:m,suffix:"",pattern:g||i,modifier:f("MODIFIER")||""});continue}var v=y||f("ESCAPED_CHAR");if(v){u+=v;continue}u&&(o.push(u),u="");var w=f("OPEN");if(w){var m=h(),q=f("NAME")||"",x=f("PATTERN")||"",L=h();c("CLOSE"),o.push({name:q||(x?a++:""),pattern:q&&!x?i:x,prefix:m,suffix:L,modifier:f("MODIFIER")||""});continue}c("END")}return o}function On(n,e){return Mn(Cr(n,e),e)}function Mn(n,e){e===void 0&&(e={});var t=jt(e),r=e.encode,s=r===void 0?function(l){return l}:r,i=e.validate,o=i===void 0?!0:i,a=n.map(function(l){if(typeof l=="object")return new RegExp("^(?:".concat(l.pattern,")$"),t)});return function(l){for(var u="",f=0;f<n.length;f++){var c=n[f];if(typeof c=="string"){u+=c;continue}var h=l?l[c.name]:void 0,y=c.modifier==="?"||c.modifier==="*",d=c.modifier==="*"||c.modifier==="+";if(Array.isArray(h)){if(!d)throw new TypeError('Expected "'.concat(c.name,'" to not repeat, but got an array'));if(h.length===0){if(y)continue;throw new TypeError('Expected "'.concat(c.name,'" to not be empty'))}for(var g=0;g<h.length;g++){var m=s(h[g],c);if(o&&!a[f].test(m))throw new TypeError('Expected all "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(m,'"'));u+=c.prefix+m+c.suffix}continue}if(typeof h=="string"||typeof h=="number"){var m=s(String(h),c);if(o&&!a[f].test(m))throw new TypeError('Expected "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(m,'"'));u+=c.prefix+m+c.suffix;continue}if(!y){var v=d?"an array":"a string";throw new TypeError('Expected "'.concat(c.name,'" to be ').concat(v))}}return u}}function In(n,e){var t=[],r=Fr(n,t,e);return Nn(r,t,e)}function Nn(n,e,t){t===void 0&&(t={});var r=t.decode,s=r===void 0?function(i){return i}:r;return function(i){var o=n.exec(i);if(!o)return!1;for(var a=o[0],l=o.index,u=Object.create(null),f=function(h){if(o[h]===void 0)return"continue";var y=e[h-1];y.modifier==="*"||y.modifier==="+"?u[y.name]=o[h].split(y.prefix+y.suffix).map(function(d){return s(d,y)}):u[y.name]=s(o[h],y)},c=1;c<o.length;c++)f(c);return{path:a,index:l,params:u}}}function ve(n){return n.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function jt(n){return n&&n.sensitive?"":"i"}function Hn(n,e){if(!e)return n;for(var t=/\((?:\?<(.*?)>)?(?!\?)/g,r=0,s=t.exec(n.source);s;)e.push({name:s[1]||r++,prefix:"",suffix:"",modifier:"",pattern:""}),s=t.exec(n.source);return n}function Dn(n,e,t){var r=n.map(function(s){return Fr(s,e,t).source});return new RegExp("(?:".concat(r.join("|"),")"),jt(t))}function Un(n,e,t){return Bn(Cr(n,t),e,t)}function Bn(n,e,t){t===void 0&&(t={});for(var r=t.strict,s=r===void 0?!1:r,i=t.start,o=i===void 0?!0:i,a=t.end,l=a===void 0?!0:a,u=t.encode,f=u===void 0?function(D){return D}:u,c=t.delimiter,h=c===void 0?"/#?":c,y=t.endsWith,d=y===void 0?"":y,g="[".concat(ve(d),"]|$"),m="[".concat(ve(h),"]"),v=o?"^":"",w=0,q=n;w<q.length;w++){var x=q[w];if(typeof x=="string")v+=ve(f(x));else{var L=ve(f(x.prefix)),T=ve(f(x.suffix));if(x.pattern)if(e&&e.push(x),L||T)if(x.modifier==="+"||x.modifier==="*"){var F=x.modifier==="*"?"?":"";v+="(?:".concat(L,"((?:").concat(x.pattern,")(?:").concat(T).concat(L,"(?:").concat(x.pattern,"))*)").concat(T,")").concat(F)}else v+="(?:".concat(L,"(").concat(x.pattern,")").concat(T,")").concat(x.modifier);else x.modifier==="+"||x.modifier==="*"?v+="((?:".concat(x.pattern,")").concat(x.modifier,")"):v+="(".concat(x.pattern,")").concat(x.modifier);else v+="(?:".concat(L).concat(T,")").concat(x.modifier)}}if(l)s||(v+="".concat(m,"?")),v+=t.endsWith?"(?=".concat(g,")"):"$";else{var A=n[n.length-1],X=typeof A=="string"?m.indexOf(A[A.length-1])>-1:A===void 0;s||(v+="(?:".concat(m,"(?=").concat(g,"))?")),X||(v+="(?=".concat(m,"|").concat(g,")"))}return new RegExp(v,jt(t))}function Fr(n,e,t){return n instanceof RegExp?Hn(n,e):Array.isArray(n)?Dn(n,e,t):Un(n,e,t)}var Ze=(n=>(n[n.Part=0]="Part",n[n.All=1]="All",n))(Ze||{});const G=Symbol("rootKey"),Q=Symbol("rootNodeKey"),ce=Symbol("parentNodeKey"),et=Symbol("nameKey");class oe{instance=null;model;route;active=!0;index=0;constructor(e,t,r=0,s=!0){this.route=e,this.model=t,this.index=r,this.active=s}}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}[et];[G];[Q]=null;[ce]=null;get name(){return this[et]}constructor(e,t,r){this[et]=e,this[G]=t,r&&(this[Q]=r)}}class V{view;index;level;constructor(e,t,r){this.view=e,this.index=t,this.level=r}static include(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.view===t.view&&(t.index==-1||s.index===t.index)&&s.level===t.level)return!0}return!1}}class qt{views=[]}class Vn{layers=[]}class kn{time;route}class Wn{forbidTime=300;submitRecorder=new kn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const we=Symbol("_notifyChange");class Ar{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const he=Symbol("historyChangeConsumerKey"),Tr=Symbol("_navigateFirstRoute"),tt=Symbol("_getRouteMark"),Lt=Symbol("_getUrlSearch"),Ot=Symbol("_generateLocation"),rt=Symbol("_setRouteMarkRecorder"),$e=Symbol("beforeRestoreFiltersKey"),_r=Symbol("_beforeRestore"),Kr="Symbol(_fox_restore_point)";function je(n,...e){return typeof n=="function"?Reflect.apply(n,null,[...e]):n}function $r(n){if(!Array.isArray(n))return!1;if(n.length===0)return!0;const e=n[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class jr{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[he]=!1;[$e]=new Array;backTimeout=320;constructor(e="hash",t="",r="",s=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=r,this.firstNavigate=s,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[he]=="function"){const r=this[he]();if(this[he]=!1,r)return}else if(this[he]===!0){this[he]=!1;return}if(je(this.historyMonitor)){const r=t.history.state;this[we](r);try{let s=[];if(typeof r=="string"?s=JSON.parse(r):s=r,Array.isArray(s)&&s.length>0){const i=this[tt]()??"/";this[rt](i,s)}}catch{}}}),Ue(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[Tr](),Promise.resolve()}destroy(){if(this.historyChange){const e=$();Be(e,"popstate",this.historyChange)}}[_r](e,t,r,s){for(let i of this[$e])try{const o=Reflect.apply(i,{},[e,t,r,s]);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}[Tr](){const e=this[tt]()??"/",t=this.storage.getItem(Kr);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?or(l.params):{},this[_r](l,u,e,o.routes)));if(a.length>0){const l=this[Lt](),u=a.length-1;a[u].query=l||a[u].query,this[we](a);return}}}catch{}const r=e.indexOf("!");let s;r!=-1?s=e.substring(r+1):s=e;const i=new E;i.path=s,i.query=this[Lt](),this[we]([i])}[rt](e,t){try{t.forEach(i=>{i.params=i.params?ir(i.params):{}});const s=JSON.stringify({mark:e,routes:t});this.storage.setItem(Kr,s)}catch(r){console.error(r.message,r)}}setRestorePoint(e){const t=this[tt]()??"/";this[rt](t,e)}[we](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[tt](){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,r=t.indexOf("#");if(r!=-1)return t.substring(r+1)}return null}[Lt](){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 r=$();this[he]=t,r.history.go(e)}goBack(e,t){const r=$(),s=r.history.state;if($r(s)&&s.length>0){let i=!1;for(let f=s.length-1;f>=0;f--){const c=E.from(s[f]);if(!(c.historyUpdatePolicy==="traceless"||je(this.traceless,c))&&E.isSame(c,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{r.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const c=$().history.state;if($r(c)&&c.length>0){let h=c.length;const y=c[h-1],d=E.from(y);if(E.isSame(d,e))return t(),!0;if(h>0){let g=!1;for(let m=h-1;m>=0;m--){const v=E.from(c[m]);if(!(v.traceless===!0||je(this.traceless,v))&&E.isSame(v,e)){g=!0;break}}return g?(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[rt](t,e.routes)}push(e){const t=this[Ot](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!je(this.traceless,e.currentRoute)&&$().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[Ot](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!je(this.traceless,e.currentRoute))&&$().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[Ot](e){const t=$();let r="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),f=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=f}else a=e.query;this.query?(r=a.length>0?`${this.query}&${a}`:this.query,r.length>0&&r.charAt(0)!=="?"&&(r=`?${r}`)):a.length>0&&(r=`?${a}`)}const s=t.location;let i=e.alias??e.fullPath;i.startsWith(Z)&&(i=i.substring(Z.length+1));let o;return r?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${r}`:o=`${this.base}/${i}${r}`:o=`${s.pathname}${r}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${s.pathname}#${i}`,`${s.origin}${o}`}}function zn(n=!0,e=null,t="",r=!0,s=!1,i){return e!==null&&(e=$().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new jr("path",e??"",t,n,r,s,i)}function qr(n=!0,e="",t=!0,r=!1,s){return new jr("hash","",e,n,t,r,s)}class Jn{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}[we](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let r=this.cursor+e;if(r<0?r=0:r>this.queue.length-1&&(r=this.queue.length-1),r!=this.cursor){this.cursor=r;let s=!1;if(typeof t=="function"?s=t():s=t,!s){const i=this.queue[r];this[we](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let r=0;if(e===null)r=this.cursor+1;else for(let s=this.cursor;s>=0;s--){const i=this.queue[s];if(E.isSame(i.currentRoute,e))break;r++}if(r===0){t();return}this.go(-r,()=>(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 Lr(n="",e=50){return new Jn(n,e)}function Ts(n){}const nt=Symbol("_constructRouteModel"),st=Symbol("_findRouteModel"),Mt=Symbol("_findRootView"),Or=Symbol("_getFirstView"),ye=Symbol("_removeView"),Mr=Symbol("_buildPage"),Ir=Symbol("_resolveComponent"),Nr=Symbol("_update"),le=Symbol("_merge"),It=Symbol("_handleHistoryChange"),it=Symbol("_handleRouteUpdated"),ot=Symbol("routeUpdatedCallback"),R=Symbol("currentRoutes"),be=Symbol("current"),Hr=Symbol("_addRouteRecorder"),qe=Symbol("_removeRouteRecorder"),lt=Symbol("_cloneRouteRecorder"),O=Symbol("_handleError"),at=Symbol("errorCallback"),k=Symbol("registerKey"),ut=Symbol("notFoundKey"),Nt=Symbol("notFoundPathKey"),W=Symbol("forestKey"),C=Symbol("historyKey"),Le=Symbol("beforeFiltersKey"),Oe=Symbol("afterFiltersKey"),Me=Symbol("destroyFiltersKey"),Ht=Symbol("propsFilterKey"),Re=Symbol("mainDispatcherKey"),Dt=Symbol("initKey"),de=Symbol("readyKey"),Ut=Symbol("readyHandlersKey"),ft=Symbol("_markReady"),Dr=Symbol("_createNextFn"),Bt=Symbol("_start"),Vt=Symbol("_before"),kt=Symbol("_after"),Ur=Symbol("_destroy"),Wt=Symbol("_load"),Ie=Symbol("_unload"),Ne=Symbol("routerGuardKey");function Gn(n){return n.layers.length==0||n.layers[0].views.length==0}function Qn(n){let e=[];return n.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(r=>{if(!(r==null||r==null))if(typeof r.meta=="object"){let s=_(!0,{},r.meta);e.push(s)}else r.meta&&e.push(r.meta)})}),e}class Xn{[k]=new Array;[ut];[Nt]="*";[de]=!1;[Ut]=[];[W]=new Vn;[C];[R]=new Array;[at]=null;[ot]=null;[Le]=new Array;[Oe]=new Array;[Me]=new Array;[Ht]=null;[Re]=new Te;[Ne]=new Wn;[Dt]=!1;[be]=b.ref(null);get current(){return this[be].value}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[C]=e.history:this[C]=me?qr():Lr(),this[C]?.listen(async r=>{let s=!0;try{if(typeof r=="string"){const i=this[N](r);i&&await this[It]([i])}else await this[It](r)}catch(i){console.error(i.message,i),s=!1}this[de]===!1&&this[ft](s)})}[O](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[at]=="function")try{this[at](e,t)}catch{}console.error(e)}init(){this[Dt]!==!0&&(this[C]?.init(!this[de]),this[Dt]=!0)}isReady(){return this[de]?Promise.resolve():new Promise((e,t)=>{this[Ut].push([e,t])})}[ft](e){this[de]=!0,this[Ut].forEach(([t,r])=>{try{e?t():r()}catch(s){console.error(s.message,s)}})}[It](e){try{if(!e){let o=[...this[R]].reverse();return this[Ie](o),me&&$().location.reload(),Promise.resolve()}let t=null,r=[],s=[],i=0;for(;i<e.length&&i<this[R].length&&E.isSame(e[i],this[R][i]);i++)e[i].active===!0&&e[i].active!==this[R][i].active&&(t=e[i]);if(i<e.length&&(r=e.slice(i)),i<this[R].length&&(s=this[R].slice(i).reverse()),s.length===0&&r.length===0){if(t!==null)return this.restore([t])}else if(s.length>0){if(this[Ie](s)){if(r.length>0)return this.restore(r);if(t!==null)return this.restore([t])}}else return this.restore(r)}catch(t){this[O](t)}return Promise.resolve()}[it](e){if(e)this[be].value=e;else{let t=this[R].length;t>0?this[be].value=this[R][t-1]:this[be].value=null}if(typeof this[ot]=="function")try{this[ot](this[be].value)}catch{}}[Hr](e){if(e.opsType===j.Open){let t=!1;const r=this[R].length-1;for(let s=r;s>=0;s--){const i=this[R][s];if(e.root==i.root){if(e.path===i.path){this[R].splice(s,1,e),t=!0;continue}e.active&&(i.active=!1)}}t||this[R].push(e)}else this[R].push(e)}[lt](){let e=[];for(let t of this[R]){let r=E.clone(t,!0);e.push(r)}return e}[qe](e){if(!this[R])return;let t=-1;for(let r=0;r<this[R].length;r++)if(E.isSame(this[R][r],e)){t=r;break}if(t!=-1){let r=this[R][t];this[R].splice(t,1),this[Ur](r,r.session)}}set historyMonitor(e){this[C]&&(this[C].historyMonitor=e)}get historyMonitor(){return this[C]?this[C].historyMonitor:!1}set traceless(e){this[C]&&(this[C].traceless=e)}get traceless(){return this[C]?this[C].traceless:!1}set propsFilter(e){this[Ht]=e}get propsFilter(){return this[Ht]}setRestorePoint(){const e=this[lt]();this[C]?.setRestorePoint(e)}onRouteUpdated(e){this[ot]=e}onError(e){this[at]=e}beforeEach(e){this[Le].push(e)}removeBeforeEach(e){const t=this[Le].indexOf(e);return t!==-1?(this[Le].splice(t,1),!0):!1}afterEach(e){this[Oe].push(e)}removeAfterEach(e){const t=this[Oe].indexOf(e);return t!==-1?(this[Oe].splice(t,1),!0):!1}destroyEach(e){this[Me].push(e)}removeDestroyEach(e){const t=this[Me].indexOf(e);return t!==-1?(this[Me].splice(t,1),!0):!1}beforeRestoreEach(e){this[C]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[C]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Nt]){this.setNotFoundRoute(e);return}const r=this[nt](e);if(t==-1)this[k]=[...this[k],...r];else for(let s=r.length-1;s>=0;s--)this[k].splice(t,0,r[s])}removeRoute(e){const t=this[N](e);if(t===null)return console.warn("route格式错误",e),!1;for(let r=0;r<this[k].length;r++){const s=this[k][r];if(t?.path&&s.path===t.path)return this[k].splice(r,1),!0;if(t?.name&&s.name===t.name)return this[k].splice(r,1),!0}return!1}hasRoute(e){const t=this[N](e);return t===null?(console.warn("route格式错误",e),!1):this[k].findIndex(s=>{if(t?.path&&s.path===t.path||t?.name&&s.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Nt]=e}setNotFoundRoute(e){const t=this[nt](e);this[ut]=t[0]}getRoutes(){return[...this[k]]}[nt](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let r=e.components??(e.component&&{"":e.component});if(r==null){const a=new Pt;return a.path=t,a.redirect=e.redirect,[a]}let s=[];for(let a in r){let l=r[a];a.length===0&&(a=Z);let u=new Pn(a,l,e.props,e.meta);s.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[nt](a);for(let u of l){let f=new Pt;f.name=u.name,u.path&&u.path.length>0?t!=="/"?f.path=`${t}${u.path}`:f.path=u.path:(i=!0,f.path=t);let c=new yr;c.models=[...s],f.layers=[c,...u.layers],o.push(f)}}if(!i){const a=new yr;a.models=s;const l=new Pt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[st](e){const t=e.route;try{for(let r of this[k]){const s=t.template??t.path,i=t.template??t.name;if(s&&r.path){let o=r.match;o||(o=r.match=In(r.path));const a=o(s);if(!a)continue;if(r.redirect){const l=new E;_(!0,l,t),l.path=r.redirect;const u={route:l,find:void 0};return this[st](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??{},_(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},f=l.split("&");for(let c of f){const h=c.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}_(!0,t.params,u)}else typeof l=="object"&&_(!0,t.params,l)}return e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===r.name){t.params=t.params??{};const o=On(r.path);return t.path=o(t.params),e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(r){console.error(r.message,r),typeof t.error=="function"&&t.error(r.message)}return!1}[N](e){let t=null;if(Array.isArray(e))if(t=new E,typeof e[0]=="object")t=E.from(e[0]);else for(let r=0;r<e.length;r++)r===0?e[r].charAt(0)==="/"?t.path=e[r]:t.name=e[r]:r===1?t.params=e[r]:r===2?t.root=e[r]:r===3&&_(!1,t,e[r]);else typeof e=="object"?t=E.from(e):typeof e=="string"&&(t=new E,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let r=t.path.indexOf("?");r!==-1&&r<t.path.length-1&&(t.query=t.path.substring(r+1),t.path=t.path.substring(0,r))}t.root=t.root??Z,t.opsType=t.opsType??this.options.defaultOperationType??j.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[N](e);return t?(t.opsType=j.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[O]("resolve route fail",t),this)}put(...e){const t=this[N](e);return t?(t.opsType=j.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[O]("resolve route fail",t),this)}replace(...e){const t=this[N](e);return t?(t.opsType=j.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[O]("resolve route fail",t),this)}append(...e){const t=this[N](e);return t?(t.opsType=j.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[O]("resolve route fail",t),this)}remove(e,t){return new Promise(r=>{this[Re].post(s=>{try{if(this[R].length===0){s.resolve(),r(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[R][0].root??Z,e.all)for(let u=this[R].length-1;u>0;u--){let f=this[R][u];f.opsType===j.Append&&f.root===o&&(a.splice(0,0,f),i=u-1)}else if(e.until)for(let u=this[R].length-1;u>0;u--){let f=this[R][u];if(f.opsType===j.Append&&f.root===o){if(e.until.charAt(0)==="/"&&e.until===f.path){i=u;break}else if(e.until===f.name){i=u;break}a.splice(0,0,f)}}}else{o=Z;let u=this[Or](this[W]);u&&(o=u.name);for(let f=this[R].length-1;f>0;f--){let c=this[R][f];if(c.opsType===j.Append&&c.root===o){a.push(c),i=f-1;break}}}if(a.length===0){let u="can not find route";console.warn(u),s.resolve(u),r(!1);return}let l=null;if(i!==-1&&(l=this[R][i]),this[Ie](a)){if(t===!1)return s.resolve(),r(!0),!0;const u=()=>(s.resolve(),r(!0),!0),f=this[R].length;if(l&&E.isSame(l,this[R][f-1])){this[C]?.goBack(l,u);return}u()}}catch(i){this[O](i),s.resolve(),r(!1)}})})}open(...e){let t=this[N](e);return t?(t.opsType=j.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[O]("resolve route fail",t),this)}close(e){return this[Re].post(t=>{try{let r=this[N](e);if(!r){t.reject("resolve route fail");return}let s=[];for(let i=0;i<this[R].length;i++){let o=this[R][i];if(o.root===r.root){if(!r.path&&!r.name){s.push(o);continue}if(r.path&&r.path===o.path){s.push(o);break}else if(r.name&&r.name===o.name){s.push(o);break}}}if(s.length===0){t.resolve();return}this[Ie](s)&&this[it](),t.resolve()}catch(r){this[O](r),t.resolve()}}),this}to(...e){let t=this[N](e);if(!t)return this[O]("resolve route fail",t),this;let r=this[Ne].acquire(t);return r==null?(this[O]("route forbid",t),this):(this[Re].post(s=>{try{let i=this[Bt](t);this[Vt](i),this[Wt](i),this[kt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=E.clone(l,!0);const f=new Ar(u,this[lt]());l.historyUpdatePolicy==="replace"?this[C]?.replace(f):l.historyUpdatePolicy==="traceless"?this[C]?.setRouteMark(f):this[C]?.push(f)}catch(u){console.error(u.message,u)}if(this[Ne].release(r),this[it](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[de]===!1&&this[ft](!0),s.resolve()},(o,a)=>{this[Ne].release(r),a!==null&&this[O](a,t),this[de]===!1&&this[ft](!1),s.resolve()})}catch(i){this[Ne].release(r),this[O](i,t),s.resolve()}}),this)}back(e=1){this[C]?.go(-e,!1)}[Dr](e){return(t,r)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(r??null);else if(t){const s=this[N](t);if(s){const i=e.session.to;s.success=i.success,s.error=i.error,e.session.to=s,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()}}[Bt](e){let t=this[R].length>0?this[R][0]:void 0,r=new ze(e,t),s={route:e,find:null};return this[st](s),s.find&&(r.routeModel=s.find,e.matched=Qn(s.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=s.find.layers[0].models[0].meta)),new Te(r)}[Vt](e){for(let t of this[Le])e.post(r=>{const s=this[Dr](r);Reflect.apply(t,{},[r.session.to,r.session.from,s,r.session])})}[kt](e){e.post(t=>{for(let r of this[Oe])try{Reflect.apply(r,{},[t.session.to,t.session.from,t.session])}catch(s){console.error(s.message,s)}t.resolve()})}[Ur](e,t){for(let r of this[Me])try{Reflect.apply(r,{},[e,t])}catch(s){console.error(s.message,s)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[Wt](e){e.post(t=>{let r=t.session.to,s=t.session.routeModel;if(s==null){let o={route:r,find:null};if(this[st](o))s=o.find,t.session.routeModel=s;else if(this[ut])s=this[ut];else{t.reject(`not find route model, path:${r.path??r.name}`);return}}let i=ze.from(t.session);this[Mr](r,s,i).then(o=>{this[W],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Ie](e){if(e.length==0)return!0;let t=this[W],r=[];for(let s of e){let i=this[Mt](t,s);i!=null&&r.push({...i,route:s})}if(r.length==0){let s="can not find view index";return this[O](s),!1}for(let s of r.reverse())this[ye](t,{x:s.x,y:s.y},[s.route.index??0],!0);return!0}[Mt](e,t){const r=t.root??Z;let s;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[G]&&l[et]===r)return s={x:a,y:i},s}}return null}[Or](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ye](e,t,r=null,s=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,a=[],l=!1,u=[...i.slots.value];for(let c=u.length-1;c>=0;c--){let h=u[c];(!r||r.indexOf(h.index)!=-1)&&(h.route&&i[G]&&(this[qe](h.route),h.active===!0&&h.route.opsType==j.Append&&(l=!0)),a.push(new V(i,h.index,t.y)),u.splice(c,1))}if(u.length==0)s?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let c=u.length-1,h=u[c];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let f=t.y+1;for(;f<e.layers.length;f++){let c=e.layers[f].views,h=[];for(let y=c.length-1;(o||a.length>0)&&y>=0;y--){let d=c[y];if(d[ce]&&(o||V.include(a,d[ce]))){let g=d.slots.value;for(let m=g.length-1;m>=0;m--){let v=g[m];v.route&&d[G]&&this[qe](v.route),h.push(new V(d,v.index,f)),g.splice(m,1)}e.layers[f].views.splice(y,1)}}a=h,e.layers[f].views.length==0&&(o=!0)}}restore(e){if(!e||this[k].length==0){let t=this[W];if(t.layers.length>0){let r=t.layers[0].views;r.length>0&&(r[0].slots.value=[])}return this[R]=[],this[it](),Promise.resolve()}else return new Promise((r,s)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[Re].post(u=>{const f=this[Bt](l);this[Vt](f),this[Wt](f),this[kt](f),f.wait((c,h)=>{i=c.session.to,o=c.session.redirect,u.resolve()},(c,h)=>{i=null,h!==null&&this[O](h),u.resolve()})})}this[Re].post(a=>{if(i&&o===!0){const l=E.clone(i,!0),u=new Ar(l,this[lt]());this[C]?.replace(u)}a.resolve(),r()})})}[Mr](e,t,r){const s=e.updateType??Ze.Part;return this[Ir](t).then(()=>{const o=this[Nr](t,e,r,s);if(o.status==="error")throw Error(o.message);return o})}[Ir](e){let t=[];for(let r=0;r<e.layers.length;r++){let s=e.layers[r];for(let i=0;i<s.models.length;i++){let o=s.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Nr](e,t,r,s){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[W],a=Gn(o),l=t.root??Z,u;!a&&s==Ze.Part&&(u=this[Mt](o,t));let f,c=0;if(u==null||u==null)if(a||s===Ze.All){if(o.layers.length==0&&(o.layers[0]=new qt),o.layers[0].views.length==0){let h=t.root??Z;f=new Ke(h,!0,null),o.layers[0].views=[f]}else f=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 g=o.layers[y-1];for(let m of g.views){if(m[G]&&m.name===h.rootName){d=new V(m,h.rootIndex??0,y-1);break}if(m[Q]&&m[Q].view.name===h.rootName&&m[Q].index===h.rootIndex){d=m[Q];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};f=new Ke(l,!0,d),o.layers[y].views.push(f),u={x:o.layers[y].views.length-1,y}}else f=o.layers[u.y].views[u.x];if(c=u.y,f[G]=!0,t.opsType===j.Append){t.index=t.index??se.get(),t.active=!0;let h=f.slots.value;if(h.length>0){let v=h[h.length-1];v.active=!1,v.route&&(v.route.active=v.active)}let y=new oe(t,i,t.index,!0);f.slots.value=[...h,y];let d=c+1,g=1,m=new V(f,t.index,c);this[le](o,d,e,g,m)}else if(t.opsType===j.Open){let h=f.slots.value;const y=t.active??!0;let d=!1;for(let g of h){if(g.route!==null&&E.isSameForRouteModel(g.route,t)){if(g.active===y)return t.index=g.index,t.active=y,g.route=t,{status:"no-change",message:""};g.active=y,d=!0,t.index=g.index,t.active=y,g.route=t}else y&&(g.active=!1);g.route&&(g.route.active=g.active)}if(!d){t.index=t.index??se.get(),t.active=y;let g=new oe(t,i,t.index,y);h.push(g);let m=c+1,v=1,w=new V(f,t.index,c);this[le](o,m,e,v,w)}f.slots.value=[...h]}else{let h=f.slots.value;if(h.length==0){t.index=t.index??se.get(),t.active=!0,f.slots.value=[new oe(t,i,t.index)];let y=c+1,d=1,g=new V(f,t.index,c);this[le](o,y,e,d,g)}else{let y=h[0];if(y.model!==i){this[ye](o,u,null,!0),t.index=t.index??se.get(),t.active=!0,f.slots.value=[new oe(t,i,t.index)];let d=c+1,g=1,m=new V(f,t.index,c);this[le](o,d,e,g,m)}else{y.route!==null&&this[qe](y.route);let d=!1;const g=t.active??!0;y.active!==g&&(y.active=g,d=!0),t.active=g,t.index=y.index,y.route=t;let m=[];for(let L=1;L<h.length;L++)m.push(h[L].index);m.length>0?this[ye](o,u,m,!0):d&&(f.slots.value=[...h]);let v=[new V(f,t.index,c)],w=c+1,q=1,x=new V(f,t.index,c);for(;v.length>0&&w<o.layers.length&&q<e.layers.length;w++,q++){let L=[];for(let F=0;F<o.layers[w].views.length;F++){let A=o.layers[w].views[F];A[ce]&&V.include(v,A[ce])&&L.unshift(F)}let T=[];for(let F of L){let A=o.layers[w].views[F],X=e.layers[q].models,D;for(let U=0;U<X.length;U++)if(A.name===X[U].name){D=X[U];break}if(!D)this[ye](o,{x:F,y:w},null,!1);else{let U=A.slots.value;if(U.length==0){let re=0;A.slots.value=[new oe(null,D,re)];let Y=w+1,ne=q+1;this[le](o,Y,e,ne,x)}else{let re=U[0];if(re.model!==D){this[ye](o,{x:F,y:w},null,!0),A.slots.value=[new oe(null,D,0)];let Y=w+1,ne=q+1;this[le](o,Y,e,ne,x)}else{A[G]&&re.route!==null&&this[qe](re.route);let Y=[];for(let ne=1;ne<U.length;ne++)Y.push(U[ne].index);Y.length>0&&this[ye](o,{x:F,y:w},Y,!0),T.push(new V(A,re.index,w))}}A[G]=!1}}v=T}this[le](o,w,e,q,x)}}}if(f&&f[Q]){let h=f[Q];h&&(t.slot=new Sn(l,c,h?.view.name,h?.index??0))}return r.to=void 0,r.routeModel=void 0,t.session=r,this[Hr](t),{status:"success",message:""}}[le](e,t,r,s,i){let o=s,a=t;for(;a<e.layers.length&&o<r.layers.length;a++,o++){let l=e.layers[a].views;for(let u of r.layers[o].models){let f=new Ke(u.name,!1,i),c=new oe(null,u);f.slots.value=[c],l.push(f)}}for(;o<r.layers.length;o++){let l=new qt;l.views=[];for(let u of r.layers[o].models){let f=new Ke(u.name,!1,i),c=new oe(null,u);f.slots.value=[c],l.views.push(f)}e.layers.push(l)}}[cr](e,t,r,s,i,o){if(t<0||t>this[W].layers.length)return null;if(t<this[W].layers.length){let f=this[W].layers[t],c=null;for(let h of f.views){let y=!1;if(r!==null?(y=h.name===e&&h[Q]?.view===r,y&&s!==-1&&(y=h[Q]?.index===s)):y=h.name===e,!!y){i!==null&&(h[ce]={view:i,index:o,level:t-1}),c=h;break}}if(c!==null)return c}let a=null,l=null;i!==null&&(i[G]?a={view:i,index:o,level:t-1}:a=i[Q],l={view:i,index:o,level:t-1});let u=new Ke(e,!0,a);if(u[ce]=l,t==this[W].layers.length){let f=new qt;f.views=[u],this[W].layers.push(f)}else this[W].layers[t].views.push(u);return u}}const Yn="fox-router-view",Zn="fox-router-link";function Br(n,e=!1){let t=null;return e?t=n.showFromClass??n.enterFromClass:t=n.enterFromClass,t||(t=n.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function Vr(n,e=!1){let t=null;return e?t=n.showActiveClass??n.enterActiveClass:t=n.enterActiveClass,t||(t=n.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function es(n,e=!1){let t=null;return e?t=n.showToClass??n.enterToClass:t=n.enterToClass,t||(t=n.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function kr(n,e=!1){let t=null;return e?t=n.hideFromClass??n.leaveFromClass:t=n.leaveFromClass,t||(t=n.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function Wr(n,e=!1){let t=null;return e?t=n.hideActiveClass??n.leaveActiveClass:t=n.leaveActiveClass,t||(t=n.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function ts(n,e=!1){let t=null;return e?t=n.hideToClass??n.leaveToClass:t=n.leaveToClass,t||(t=n.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function rs(n,e=!1){let t=null;return e?t=n.beforeShow??n.beforeEnter:t=n.beforeEnter,t}function ns(n,e=!1){let t=null;return e?t=n.show??n.enter:t=n.enter,t}function ss(n,e=!1){let t=null;return e?t=n.afterShow??n.afterEnter:t=n.afterEnter,t}function is(n,e=!1){let t=null;return e?t=n.showCancelled??n.enterCancelled:t=n.enterCancelled,t}function os(n,e=!1){let t=null;return e?t=n.beforeHide??n.beforeLeave:t=n.beforeLeave,t}function ls(n,e=!1){let t=null;return e?t=n.hide??n.leave:t=n.leave,t}function as(n,e=!1){let t=null;return e?t=n.afterHide??n.afterLeave:t=n.afterLeave,t}function us(n,e=!1){let t=null;return e?t=n.hideCancelled??n.leaveCancelled:t=n.leaveCancelled,t}function zt(n){let e,t=n.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 xe(n,e){n.classList.contains(e)||n.classList.add(e)}function Se(n,e){n.classList.remove(e)}const fs=me&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function ct(n){fs(n)}function M(n,e,t){S(e)&&(n==null&&(n={}),Reflect.apply(e,n,t))}function zr(n,e,t,r=-1,s,i,o,a){if(S(i)){if(s!==void 0&&s>=0){setTimeout(()=>{Reflect.apply(i,n,[e,t,r]),S(a)&&Reflect.apply(a,n,[])},s);return}const l=["animationend","transitionend",Je],u=f=>{const c=f.target||f.srcElement,h=f.currentTarget;c===h&&(l.forEach(y=>{Be(e,y,u)}),Reflect.apply(i,n,[e,t,r]),a&&Reflect.apply(a,n,[]))};l.forEach(f=>{Ue(e,f,u)})}if(S(o)){const l="animationcancel",u=f=>{const c=f.target||f.srcElement,h=f.currentTarget;c===h&&(Be(e,l,u),Reflect.apply(o,n,[e,t,r]))};Ue(e,l,u)}}function ht(n){return!me||n===null?!1:n.opsType===j.Append||n.opsType===j.Open}function Jr(n,e,t,r={},s,i=-1){if(e||ht(s)){const o=Br(r,e);o&&xe(t,o);const a=Vr(r,e);a&&xe(t,a);const l=rs(r,e);M(n,l,[t,e,s,i])}}function Gr(n,e,t,r={},s,i,o,a){if(!ht(i)&&!e){S(a)&&a(n,a,[t]);return}const l=Br(r,e),u=Vr(r,e),f=es(r,e),c=ns(r,e),h=ss(r,e),y=is(r,e);if(!l&&!u&&!f&&!c){S(a)&&a(n,a,[t]);return}ct(()=>{zr(n,t,i,o,s,()=>{u&&Se(t,u),f&&Se(t,f),S(h)&&M(n,h,[t,e,i,o]),S(a)&&a(n,a,[t])},()=>{S(y)&&M(n,y,[t,e,i,o])}),l&&Se(t,l),f&&xe(t,f),S(c)&&M(n,c,[t,e,i,o])})}function Qr(n,e,t,r={},s,i=-1){if(e||ht(s)){const o=kr(r,e);o&&xe(t,o);const a=Wr(r,e);a&&xe(t,a);const l=os(r,e);M(n,l,[t,e,s,i])}}function Xr(n,e,t,r={},s,i,o,a,l){if(!ht(o)&&!e){!e&&S(i)&&i();return}const u=kr(r,e),f=Wr(r,e),c=ts(r,e),h=ls(r,e),y=as(r,e),d=us(r,e);if(!u&&!f&&!c&&!h){!e&&S(i)&&i();return}ct(()=>{zr(n,t,o,a,s,()=>{f&&Se(t,f),c&&Se(t,c),S(y)&&M(n,y,[t,e,o,a]),S(l)&&M(n,l,[t]),!e&&S(i)&&i()},()=>{S(d)&&M(n,d,[t,e,o,a]),S(l)&&M(n,l,[t]),!e&&S(i)&&i()}),u&&Se(t,u),c&&xe(t,c),S(h)&&M(n,h,[t,e,o,a])})}function Jt(n,e={},t,r=-1){const s=e.mode??"default",i=zt(e);return{mode:s,persisted:!1,beforeEnter:a=>{Jr(n,!1,a,e,t,r)},enter:a=>{Gr(n,!1,a,e,i.enter,t,r)},leave:(a,l)=>{Qr(n,!1,a,e,t,r),Xr(n,!1,a,e,i.leave,l,t,r)},clone:a=>Jt(n,e,t,r)}}function Yr(n){return n.el}function cs(n,e,t={},r,s,i,o){if(i===!0){const a=Yr(e);if(a==null)return;const l=zt(t);Jr(n,!0,a,t,r,s),Gr(n,!0,a,t,l.show,r,s,u=>{S(o)&&M(n,o,[u])})}else S(o)&&M(n,o,[])}function hs(n,e,t={},r,s,i,o){if(i===!0){const a=Yr(e);if(a==null)return;const l=zt(t);Qr(n,!0,a,t,r,s),Xr(n,!0,a,t,l.hide,null,r,s,u=>{S(o)&&M(n,o,[u])})}else S(o)&&M(n,o,[])}function ys(n,e={}){ct(()=>{for(let t=0;t<n.length;t++)Reflect.apply(n[t],e,[])})}function Zr(n,e={},t,r=-1){return{mode:e.mode??"default",persisted:!1,beforeEnter:o=>{Ve(dr,{},o)},enter:o=>{Ve(mr,{},o)},leave:(o,a)=>{Ve(pr,{},o),ct(()=>{const l=u=>{const f=u.target||u.srcElement,c=u.currentTarget;f===c&&(Be(o,Je,l),a&&Reflect.apply(a,n,[]))};Ue(o,Je,l),Ve(gr,{},o)})},clone:o=>Zr(n,e,t,r)}}function ae(n,e,t){return typeof n=="function"?Reflect.apply(n,{},[e,t]):n}function Gt(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}function Pe(n,e){return typeof e=="function"?e(n):n}class ds{node;state;constructor(e,t){this.node=e,this.state=t}}const Qt=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(n,e){const t=b.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const r=n.multi===!0,s=b.inject(Ye,null),i=b.inject(_t,0),o=b.inject(Pr,null),a=b.inject(Kt,-1);let l=null;const u=n.modelSlot;if(u){if(b.provide(_t,i+1),b.provide(Kt,u.index),b.provide($t,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=Qe(t.proxy,!0);Tn(h),Sr(h,()=>u.route??null)}else{if(s==null){console.error("router is not been injected");return}const c=n.name,h=b.inject(Er,null),y=b.inject($t,0);if(l=s[cr](c,i,o,a,h,y),l===null)return;b.provide(Er,l);const d=l[G]===!0;if(d&&b.provide(Pr,l),!r&&(b.provide(Kt,-1),b.provide(_t,i+1),b.provide($t,-1),d)){const g=Qe(t.proxy,!0);Sr(g,()=>{const m=l.slots.value;return m.length>0?m[0].route:null})}}const f={value:new Map};return b.onUnmounted(()=>{f.value&&f.value.clear()}),()=>{if(r){const c=new Map,h=[],y=l?.slots.value,d=[];for(let v=0;v<y.length;v++){const w=y[v],q=`${n.name}_${w.index}`,x=ae(n.transition,w.route,v)??!0,L={modelSlot:w};let T;e.slots.default?T=b.h(Qt,L,{default:e.slots.default}):T=b.h(Qt,L);const F={},A=ae(n.viewClass,w.route,v);typeof A=="string"&&A.length>0&&(F[A]=!0);const X=ae(n.viewActiveClass,w.route,v),D=ae(n.viewInactiveClass,w.route,v),U=f.value.get(q);if(typeof X=="string"&&X.length>0&&(F[X]=w.active),typeof D=="string"&&D.length>0&&(F[D]=!w.active),U&&w.active!==U.state){const z=U.node;w.active?d.unshift(()=>{const tr=()=>{let He=wr(z);He!=null&&br(He,At.ACTIVATED)};cs(t,z,n,w.route,v,x,tr)}):d.push(()=>{const tr=()=>{const He=wr(z);He!=null&&br(He,At.DEACTIVATED)};hs(t,z,n,w.route,v,x,tr)})}const re={class:F,key:q},Y=ae(n.viewTagProps,w.route,v);if(Y!==null&&typeof Y=="object"){const z=Pe(Y,s?.propsFilter);_(!0,re,z)}if(w.route?.viewTagAttrs&&typeof w.route?.viewTagAttrs=="object"){const z=Pe(w.route.viewTagAttrs,s?.propsFilter);_(!0,re,z)}const ne=ae(n.viewTag,w.route,v),dt=b.h(ne,re,{default:()=>[T]});if(c.set(q,new ds(dt,w.active)),f.value.delete(q),x===!0){const z=Jt(t,n,w.route,v);dt.transition=z}else if(x==="custom"){const z=Zr(t,n,w.route,v);dt.transition=z}h.push(dt)}f.value=c,ys(d,t);const g=ae(n.tag,null,-1),m={};return Object.assign(m,e.attrs),b.h(g,m,{default:()=>h})}else if(u!=null){const c=u.model,h={};if(c.props){if(typeof c.props=="object"){const d=Pe(c.props,s?.propsFilter);_(!1,h,d)}else if(c.props===!0&&typeof u.route?.params=="object"){const d=Pe(u.route.params,s?.propsFilter);_(!1,h,d)}}const y=b.h(c.component,h);return Gt(e.slots.default,{Component:y,route:u.route})??y}else{const c=l.slots.value;if(c.length>0){const h=c[0],y=h.route??(t.proxy&&Tt(t.proxy))??null,d=h.model,g={};if(d.props){if(typeof d.props=="object"){const w=Pe(d.props,s?.propsFilter);_(!1,g,w)}else if(d.props===!0&&typeof y?.params=="object"){const w=Pe(y.params,s?.propsFilter);_(!1,g,w)}}const m=b.h(d.component,g);if(ae(n.transition,y,-1)??!0){const w=Jt(t,n,y,-1);m.transition=w}return Gt(e.slots.default,{Component:m,route:y})??m}else return Gt(e.slots.fallback,{})}}}});function ms(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!=null&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function ps(n,e){return n==null||e==null?!1:!!(n===e||n.path&&n.path===e.path||n.name&&n.name===e.name)}function gs(n,e){return n==null||e==null?!1:!!(n.path&&e.path&&e.path.startsWith(n.path)||n.name&&n.name==e.name)}function Ee(n,e){return typeof n=="function"?Reflect.apply(n,{},[e]):n}let vs=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(n,e){const t=b.inject(Ye,null);return()=>{let r=Ee(n.to,null),s=Ee(n.tag,r);if(s==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[N](r),n.root&&(i.root=n.root),o=t.current);let a={},l=Ee(n.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=gs(i,o)),Ee(n.exact,i)===!0){let h=Ee(n.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=ps(i,o))}let f={class:a};(s==="a"||s==="A")&&(f.href=i?.path??i?.name??"#"),_(!0,f,e.attrs);let c=Ee(n.event,i);if(typeof c=="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}ms(y)&&t.to(i)};f[c]=h}return b.h(s,f,e.slots)}}});var I=(n=>(n[n.Loading=0]="Loading",n[n.Loaded=1]="Loaded",n[n.Defining=2]="Defining",n[n.Defined=3]="Defined",n))(I||{}),yt=(n=>(n[n.normal=0]="normal",n[n.factory=1]="factory",n))(yt||{});class ws{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 en{moduleManager=new ws;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 De().head}constructor(){}setModule(e,t){const r={id:e,src:"",status:I.Defined};typeof t=="function"?(r.exports=t,r.type=yt.factory):r.exports=t,this.moduleManager.set(e,r)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let r=e.length-1;const s={};typeof e[r]=="object"&&(Object.assign(s,e[r]),r--);let i=null;typeof e[r]=="function"&&(i=e[r],r--);for(let l=0;l<=r;l++)if(Array.isArray(e[l])){let u=e[l];for(let f=0;f<u.length;f++)u[f]&&t.push(this.resolvePath(u[f]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let f=0;f<u.length;f++)u[f]&&t.push(this.resolvePath(u[f]))}const o=new bs(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(f){console.error(f.message,f)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(f){console.error(f.message,f)}}),a=new Te;for(let l=0;l<t.length;l++){const u=new Rs(l,t[l],s,o);this.mount(a,u)}return this}remove(...e){let t=[],r=e.length-1,s={};typeof e[r]=="object"&&(Object.assign(s,e[r]),r--);let i=null;typeof e[r]=="function"&&(i=e[r],r--);for(let o=0;o<=r;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,s)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(s=>{t.progress.work(!0,t.index,"exports"),s.resolve()});return}else if(t.src==="module"){e.post(s=>{t.progress.work(!0,t.index,"module"),s.resolve()});return}if(this.isNaturePath(t.src)){let s=t.params.jsPoint;s||(s=this.head),this.mountJS(e,t,s);return}else if(this.isNaturePath(t.src)){let s=t.params.cssPoint;s||(s=this.head),this.mountCSS(e,t,s);return}let r=this.getFileNamePostfix(t.src);if(r==="js"||r.length===0){let s=t.params.jsPoint;s||(s=this.head),this.mountJS(e,t,s);return}else if(r==="css"){let s=t.params.cssPoint;s||(s=this.head),this.mountCSS(e,t,s);return}}mountCSS(e,t,r){e.post(s=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==I.Defined||o.status==I.Loaded)&&o.exports){o.type===yt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),s.resolve();return}const a=De(),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),s.resolve()},l.onerror=()=>{try{r.removeChild(l)}catch(c){console.error(c.message,c)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),s.reject()};else{const c={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),s.resolve()},error:()=>{try{r.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),s.resolve()}};setTimeout(()=>{tn(l,c)},1)}let f=a.getElementById(i);f&&f.parentNode&&f.parentNode.removeChild(f),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,r.appendChild(l)})}mountJS(e,t,r){e.post(s=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==I.Defined||o.status==I.Loaded)){if(o.exports){o.type===yt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),s.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),s.resolve();return}}o={id:i,src:i,status:I.Loading},this.moduleManager.set(i,o);const l=De().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===I.Loading&&(o.status=I.Loaded,t.progress.work(!0,t.index,i)),s.resolve()},l.onerror=()=>{try{r.removeChild(l)}catch(c){console.error(c.message,c)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),s.resolve()};else{const c=l;c.onreadystatechange=()=>{/loaded|complete/.test(c.readyState)&&(c.onreadystatechange=null,o.status==I.Loading&&(o.status=I.Loaded,t.progress.work(!0,t.index,i)),s.resolve())}}l.defer=!0,l.src=i;const f=$();f.define=this.createDefine(o,t),r.appendChild(l)})}unmount(e,t={}){const r=De(),s=this.getFileNamePostfix(e);if(s==="js"||s.length===0){const i=r.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(s==="css"){const i=r.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let r=0;r<e.length;r++){if(e[r]===void 0||e[r]===null)continue;const s=e[r].trim();s.length!==0&&t.push(s)}return t}createDefine(e,t){const r=this,s=function(...i){e.status=I.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=r.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=r.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,r.options.alias[o]=e.src),a&&a.length>0?r.ensure(a,(...f)=>{const c=f.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,c);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=I.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=I.Defined,t.progress.work(!0,t.index,e.exports))};return s.amd=!0,s}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 r=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),r.length>0&&(e+=`?${r}`)):r.length>0&&(e+=`&${r}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let r in e){let s=`${e[r]}`;t+=`${encodeURIComponent(r)}=${encodeURIComponent(s)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let r=e.lastIndexOf(".",t);return r==-1?"":e.substring(r+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 r=0;r<t.length;r++){const s=t[r];if(e.indexOf(s)===0)return!0}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return`${mt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${mt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${$().location.protocol}${e}`;if(t){let s=this.options.alias[e];if(!s){let i=e.indexOf("/");if(i==-1)s=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?s=a+e.slice(i):s=e}}return this.parserPath(s,!1)}return`${mt()}${e}`}}function tn(n,e){let t=n.sheet,r=!1;if(e.isOldWebKit)t&&(r=!0);else if(t)try{t.cssRules&&(r=!0)}catch(s){s.name==="NS_ERROR_DOM_SECURITY_ERR"&&(r=!0)}setTimeout(()=>{e.time+=20,r?e.success():e.timeout>e.timeout?e.error():tn(n,e)},20)}class bs{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,r){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(r)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(s){console.error(s.message,s)}}isOK(){return this.status}}class Rs{index;src;params;progress;constructor(e,t,r,s){this.index=e,this.src=t,this.params=r,this.progress=s}}const Xt=Symbol("fk"),Yt=Symbol("fbk"),Zt=Symbol("fepk");function xs(n={}){const e=new Xn(n),t=new St,r=new Ct,s=new en,i={get router(){return e},get bus(){return t},get Bus(){return St},get EventProxy(){return Ct},get eventproxy(){return r},get EventChain(){return Te},get Require(){return en},get require(){return s},get extend(){return _},get clone(){return We},get isESModule(){return pt},install(o){o.provide(Ye,e),o.provide(Xt,i),o.provide(Yt,t),o.provide(Zt,r),o.component(Yn,Qt),o.component(Zn,vs),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 r}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){r.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){r.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){r.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=r;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=r;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=r;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return Tt(this)}}}),e.init()}};return i}function er(n){return n?n.$router:b.inject(Ye)}function Ss(n){return n||(n=b.getCurrentInstance()?.proxy??void 0),n?Tt(n):null}function Ps(n){return n?n.$fox:b.inject(Xt)}function Es(n){return n?n.$bus:b.inject(Yt)}function Cs(n){return n?n.$eventProxy:b.inject(Zt)}function Fs(n){const e=er(),t=(r,s,i)=>{try{Reflect.apply(n,{},[r,s])}catch(o){console.error(o)}i()};e.beforeEach(t),b.onUnmounted(()=>{e.removeBeforeEach(t)})}function As(n){const e=er(),t=(r,s,i)=>{try{Reflect.apply(n,{},[r,s])}catch(o){console.error(o)}i()};e.afterEach(t),b.onUnmounted(()=>{e.removeAfterEach(t)})}p.Bus=St,p.EventChain=Te,p.EventProxy=Ct,p.FoxBeforeEnter=dr,p.FoxBeforeLeave=pr,p.FoxEnter=mr,p.FoxLeave=gr,p.FoxLeaveEnd=Je,p.OperationType=j,p.Route=E,p.clone=We,p.createFox=xs,p.createMemoryHistory=Lr,p.createWebHashHistory=qr,p.createWebHistory=zn,p.deleteContextValue=An,p.extend=_,p.foxBusKey=Yt,p.foxEventProxyKey=Zt,p.foxKey=Xt,p.injectContextValue=Ft,p.isArray=nn,p.isDate=ln,p.isESModule=pt,p.isEqual=bt,p.isFunction=S,p.isMap=sn,p.isNil=nr,p.isObject=rr,p.isPlainObject=sr,p.isPromise=fn,p.isSet=on,p.isString=an,p.isSymbol=un,p.onAfterRouteUpdate=As,p.onBeforeRouteUpdate=Fs,p.onFoxActivated=jn,p.onFoxInactivated=qn,p.provideContextValue=Fn,p.sessionKey=ie,p.toBoolean=vt,p.toNumber=dn,p.toTypeString=ke,p.typeOf=wt,p.useBus=Es,p.useEventProxy=Cs,p.useFox=Ps,p.useRoute=Ss,p.useRouter=er,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(m,v){typeof exports=="object"&&typeof module<"u"?v(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],v):(m=typeof globalThis<"u"?globalThis:m||self,v(m.Fox={},m.Vue))})(this,function(m,v){Object.defineProperty(m,Symbol.toStringTag,{value:"Module"});var oe=typeof window<"u",A=function(){return window},He=function(){return window.document};function hs(e){let t=e,r=t.lastIndexOf("/");return r>0&&r<t.length-1?t=t.substring(0,r+1):r===0&&t.indexOf(".")!==-1?t="/":r===-1&&(t.indexOf(".")==-1?t=`/${t}/`:t="/"),t.indexOf("/")!==0&&(t=`/${t}`),t}function pt(){if(!oe)return"/";let e=A().location,t=`${e.protocol}//${e.host}`;return t+=hs(e.pathname),t}function Ue(e,t,r,s=!1){e.addEventListener?e.addEventListener(t,r,s):e.attachEvent?e.attachEvent(`on${t}`,r):e[`on${t}`]=r}function gt(e,t,r){e.removeEventListener?e.removeEventListener(t,r):e.detachEvent?e.detachEvent(`on${t}`,r):e[`on${t}`]=null}var Ve=(e,t,r)=>{t=t??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in t)a==="bubbles"?n=!!t[a]:a==="cancelable"?i=!!t[a]:s[a]=t[a];s.initEvent(e,n,i),(r??document).dispatchEvent(s)},bt=Array.isArray,ys=e=>We(e)==="[object Map]",ds=e=>We(e)==="[object Set]",ms=e=>e instanceof Date,S=e=>typeof e=="function",vs=e=>typeof e=="string",ps=e=>typeof e=="symbol",ur=e=>e!==null&&typeof e=="object",gs=e=>ur(e)&&S(e.then)&&S(e.catch),Ee=e=>e==null,bs=Object.prototype.toString,We=e=>bs.call(e),fr=e=>We(e)==="[object Object]",ws=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function wt(e){return e.__esModule||ws&&e[Symbol.toStringTag]==="Module"}var Rs=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function _(...e){let t=e[0]!==void 0&&e[0]!==null?e[0]:{},r=1,s=e.length,n=!1;for(typeof t=="boolean"&&(n=t,t=e[r]??{},r++),typeof t!="object"&&(t={});r<s;r++)if(e[r]!==null&&e[r]!==void 0){let i=e[r];for(let a in i){let o=t[a],l=i[a];if(o!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=o&&Array.isArray(o)?o:[]:u=o&&typeof o=="object"?o:{},t[a]=_(n,u,l)}else l!==void 0&&(t[a]=l)}}return t}function Je(e,t,r=!1){if(!r)_(!0,e,t);else{if(typeof t!="object")return{};typeof e!="object"&&(e={});for(let s of Reflect.ownKeys(t)){let n=e[s],i=t[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!fr(i))continue;n=Je(n,i,r),e[s]=n}else{if(typeof i=="function")continue;e[s]=i}}}return e}var Fe=class lr{static seed=new Date().getTime();static get(){let t=++lr.seed;return t>=Number.MAX_VALUE&&(lr.seed=0),t}},Rt=Rs?Promise.resolve():null;function Ce(e,...t){Rt!==null?t&&t.length>0?Rt.then(()=>{e(t)}):Rt.then(e):t&&t.length>0?setTimeout(()=>{e(t)}):setTimeout(e)}function St(e){return e==null?!1:typeof e=="boolean"?e:typeof e=="string"?e.toLocaleLowerCase()==="true":!!e}function Ss(e){return typeof e=="number"?e:Number(e)}var xs={"[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 xt(e){let t=Object.prototype.toString.call(e);return e==null?String(e):xs[t]||"object"}function Pt(e,t){if(e==t)return!0;if(e===void 0||t===void 0)return!1;let r=xt(e);if(r!==xt(t))return!1;if(r==="object"){let s=Object.keys(e),n=Object.keys(t);if(s.length!==n.length)return!1;for(let i=0;i<s.length;i++){let a=s[i],o=e[a],l=t[a];if(!Pt(o,l))return!1}return!0}else if(r==="array"){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++){let n=e[s],i=t[s];if(!Pt(n,i))return!1}return!0}return!1}var cr=e=>{const t={};for(let r of Reflect.ownKeys(e)){let s=e[r];s&&!Array.isArray(s)&&typeof s=="object"&&(s=cr(s)),typeof r=="symbol"?t[String(r)]=s:t[r]=s}return t},Ps=/^Symbol\((.*)\)$/,hr=e=>{const t={};for(let r of Reflect.ownKeys(e)){let s=e[r];s&&!Array.isArray(s)&&typeof s=="object"&&(s=hr(s));const n=Ps.exec(r);if(n&&n[1]){const i=Symbol.for(n[1]);t[i]=s}else t[r]=s}return t};function yr(e,t){let r=null;return function(...s){r&&clearTimeout(r),r=setTimeout(()=>{r=null,Reflect.apply(e,null,[...s])},t)}}var dr=Symbol("idKey"),le=Symbol("valueKey"),x=Symbol("childrenKey"),V=Symbol("growKey"),mr=class{[V]=!0;[dr];[le]=(0,v.ref)();[x]=new Map;constructor(e){this[dr]=e}},Es=class{get(e,t){if(t=="value")return e[le].value;if(t==="grow")return e[V];let r=e[x].get(t);if(r)return Ae(r);if(e[V])return r=Ft(t),r[V]=e[V],e[x].set(t,r),Ae(r)}set(e,t,r){return t=="value"?(e[le].value=r,!0):t==="grow"?(e[V]=St(r),!0):r==null?(e[x].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[x].delete(t),!0)}},Et="__proxy__";function Ft(e){const t=new mr(e);return Reflect.set(t,Et,new Proxy(t,new Es)),t}function Ae(e){return Reflect.get(e,Et)}var Fs=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ee(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(oe){const t=A();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}`,r=JSON.stringify(this.state??{});e.setItem(t,r)}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 r=`_bus_${this.name}`,s=t.getItem(r);if(s){const n=JSON.parse(s);Object.assign(this.state,n),Reflect.ownKeys(this.state).forEach(i=>{if(typeof i!="string")return;const a=this.state[i],o=i.split(/\//g);o.push(a),Reflect.apply(e.put,e,o)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,r=e.slice(0,t-1).join("/"),s=e[t-1];this.state[r]=s,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,r=e.slice(0,t-1).join("/"),s={};Reflect.ownKeys(this.state).forEach(n=>{typeof n=="string"&&(n===r||n.startsWith(r)||(s[n]=this.state[n]))}),this.state=s,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}},vr=class extends mr{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new Fs(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let r=this;for(let s=0;s<t-1;s++){let n=e[s],i;r[x].has(n)?i=r[x].get(n):(i=Ft(n),r[x].set(n,i)),r=i}return r[le].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let r=this;for(let s=0;s<t;s++){let n=e[s];if(r[x].has(n))r=r[x].get(n);else return}return r[le].value}remove(...e){let t=e.length;if(t==0)return!1;let r=this;for(let n=0;n<t-1;n++){const i=e[n];if(r[x].has(i))r=r[x].get(i);else return!1}const s=e[t-1];return r[x].has(s)?(r[x].delete(s),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let r=this;for(let n=0;n<t-1;n++){let i=e[n];if(r[x].has(i))r=r[x].get(i);else return!1}const s=e[t-1];return r[x].has(s)}clear(){this[x].clear(),this._persistHandler.clear()}},Cs=["put","get","contains","remove","clear","_persistHandler"];function pr(e){return Cs.includes(e)}var As=class{get(e,t){if(t=="value")return e[le].value;if(t==="grow")return e[V];if(t===x)return e[x];if(typeof t=="string"&&pr(t))return e[t];const r=String(t);let s=e[x].get(r);if(s)return Ae(s);if(e[V])return s=Ft(r),s[V]=e[V],e[x].set(r,s),Ae(s)}set(e,t,r){return t=="value"?(e[le].value=r,!0):t==="grow"?(e[V]=St(r),!0):pr(t)?!1:r==null?(e[x].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[x].delete(t),!0)}};function _s(e,t){const r=new vr(e,t),s=new As,n=new Proxy(r,s);return Reflect.set(r,Et,n),r}var Ct=new Proxy(vr,{construct(e,t){const r=t[0]??{},s=t[1];return Ae(_s(r,s))}}),At=e=>!e||typeof e!="object"?!0:Reflect.ownKeys(e).length===0,gr=class{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ee(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(oe){const t=A();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||At(e))return;const r=`_state_${this.name}`,s=JSON.stringify(e??{});t.setItem(r,s)}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 r=`_state_${this.name}`,s=t.getItem(r);if(s){const n=JSON.parse(s);Object.assign(e,n)}}};function br(e,t,r){const s=new gr(r);s.restore(t);const n=o=>{const l=(0,v.toRaw)(o),u={};for(let f in l){const c=l[f];Ee(c)||(u[f]=c)}At(u)?s.removeState():s.saveState(u)};let i=null;r&&r.debounce===!1?i=n:i=yr(n,r&&r.debounceDelay?r.debounceDelay:250);const a=e?(0,v.shallowReactive)(t):(0,v.reactive)(t);return(0,v.effectScope)(!0).run(()=>{(0,v.watch)(a,o=>{const l=(0,v.toRaw)(o);i(l)})}),a}function $s(e,t){return br(!1,e,t)}function Ks(e,t){return br(!0,e,t)}function js(e,t){const r=new gr(t);r.restore(e);const s=i=>{const a=(0,v.toRaw)(i),o={};for(let l in a){const u=a[l];Ee(u)||(o[l]=u)}At(o)?r.removeState():r.saveState(o)};let n=null;return t&&t.debounce===!1?n=s:n=yr(s,t&&t.debounceDelay?t.debounceDelay:250),new Proxy(e,{get(i,a){return i[a]},set(i,a,o){return i[a]=o,n(i),!0}})}function qs(e,t){return js(e,t)}var wr="default",Rr=Symbol("sync"),O=Symbol("normalizeRoute");function Sr(e){let t=!1;return function(...r){if(!t)return t=!0,Reflect.apply(e,{},r)}}function Ts(e){let t=e.src;return new Promise((r,s)=>{const n=Sr(o=>{wt(o)&&(o=o.default),e.component=o,console.debug("success load async module"),r()}),i=Sr(o=>{`${o}`,console.debug("reject load async module"),s(o)});let a;try{a=t(n,i)}catch(o){i(o)}if(a)if(typeof a.then=="function")a.then(n,i);else{const o=a.component;o&&typeof o.then=="function"&&o.then(n,i)}})}var Ls=class{name;level;rootName;rootIndex=0;constructor(e,t,r,s){this.name=e,this.level=t,this.rootName=r,this.rootIndex=s}},ze=class cs{to;routeModel;from;data={};constructor(t,r){this.to=t,this.from=r}static from(t){const r=new cs(t.to,t.from),s=t.data??{};return _(!0,r.data,s),r}static clear(t){for(let r in t)t[r]=void 0}},P=class ar{path;get fullPath(){const t=this.path??`/${this.name}`;return`${this.root??"default"}!${t}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(t,r){let s=new ar;return Je(s,t,r),s}static isSame(t,r){return!t||!r?!1:t===r?!0:t.root!==r.root||t.index!==r.index?!1:t.path&&r.path&&t.path===r.path?!0:!!(t.name&&r.name&&t.name===r.name)}static isSamePathForRoute(t,r){return!t||!r?!1:t===r||t.path&&r.path&&t.path===r.path?!0:!!(t.name&&r.name&&t.name===r.name)}static from(t){let r=new ar;if(t==null)return r;let s=r;for(let i in t)s[i]=t[i];const n=Object.getOwnPropertySymbols(t);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=t[i];return r}},Os=class{id;name;props;src;component;constructor(e,t,r){this.id=Fe.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=r}get isResolved(){return this.component!==void 0}resolve(){return Ts(this)}},xr=class{models=[]},_t=class{path;match;redirect;name;meta;matchedRoutes;layers=[]},$=(function(e){return e[e.Push=0]="Push",e[e.Replace=1]="Replace",e[e.Put=2]="Put",e[e.Append=3]="Append",e[e.Open=4]="Open",e})({}),Pr="FoxBeforeEnter",Er="FoxEnter",Fr="FoxLeave",Cr="FoxLeave",Ge="FoxLeaveEnd",Xe=Symbol("rk"),$t=Symbol("vd"),Ar=Symbol("rv"),Kt=Symbol("rvi"),_r=Symbol("pv"),jt=Symbol("pvi"),_e=Symbol("registerKey"),ks=class{[_e]=new Map;constructor(){}set(e,t){this[_e].set(e,t)}get(e){return this[_e].get(e)}has(e){return this[_e].has(e)}delete(e){return this[_e].delete(e)}},ae=Symbol("lc");function Qe(e,t=!1){let r=e;if(Reflect.has(r,ae))return r[ae];if(t){const s=new ks;return r[ae]=s,s}return null}function $r(e,t=!1){let r=null,s=e;for(;s&&!(Reflect.has(s,ae)&&(r=s[ae],r));)s=s.$parent;if(!r&&t){const n=e;n&&n.$parent&&(r=Qe(n.$parent,t))}return r}function qt(e,t){let r=e;for(;r;){if(Reflect.has(r,ae)){const s=r[ae];if(s.has(t))return s.get(t)}r=r.$parent}return null}function Is(e,t,r){$r(e,!0)?.set(t,r)}function Ms(e,t){$r(e,!0)?.delete(t)}function Kr(e){if(Array.isArray(e.children)&&e.children.length>0){let t=e.children[0];if(t!=null&&t.component!=null&&t.component.proxy!=null)return Qe(t.component.proxy,!1)}return null}var Ye=Symbol("hooksKey");function Bs(e){let t=e.get(Ye);t||(t=[],e.set(Ye,t))}function jr(e,t){let r=e.get(Ye);if(r!=null)for(let s=r.length-1;s>=0;s--){let n=r[s];if(n.type===t)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var Ze=(function(e){return e.DEACTIVATED="da",e.ACTIVATED="a",e})({}),Ds=class{type;hook;target;constructor(e,t,r){this.target=r,this.hook=t,this.type=e}};function Ns(e,t,r,s){let n=new Ds(t,r,s);return e.push(n),!0}function Hs(e,t,r,s){let n=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.type===t&&a.hook===r&&a.target===s){n=i;break}}return n!=-1?(e.splice(n,1),!0):!1}function qr(e){return(t,r)=>{let s;if(r)s=r;else{const i=(0,v.getCurrentInstance)();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=qt(s,Ye);if(n==null){console.warn("hooks context not found");return}(0,v.onUnmounted)(()=>{Hs(n,e,t,s)}),Ns(n,e,t,s)}}var Us=qr(Ze.ACTIVATED),Vs=qr(Ze.DEACTIVATED),Tr=Symbol("routeKey");function Lr(e,t){e.set(Tr,t)}function Tt(e){let t=qt(e,Tr);return typeof t=="function"?t():t??null}function Or(e,t=!1){let r=null;return t?r=e.showFromClass??e.enterFromClass:r=e.enterFromClass,r||(r=e.transitionName,r?t?`${r}-show-from`:`${r}-enter-from`:null)}function kr(e,t=!1){let r=null;return t?r=e.showActiveClass??e.enterActiveClass:r=e.enterActiveClass,r||(r=e.transitionName,r?t?`${r}-show-active`:`${r}-enter-active`:null)}function Ws(e,t=!1){let r=null;return t?r=e.showToClass??e.enterToClass:r=e.enterToClass,r||(r=e.transitionName,r?t?`${r}-show-to`:`${r}-enter-to`:null)}function Ir(e,t=!1){let r=null;return t?r=e.hideFromClass??e.leaveFromClass:r=e.leaveFromClass,r||(r=e.transitionName,r?t?`${r}-hide-from`:`${r}-leave-from`:null)}function Mr(e,t=!1){let r=null;return t?r=e.hideActiveClass??e.leaveActiveClass:r=e.leaveActiveClass,r||(r=e.transitionName,r?t?`${r}-hide-active`:`${r}-leave-active`:null)}function Js(e,t=!1){let r=null;return t?r=e.hideToClass??e.leaveToClass:r=e.leaveToClass,r||(r=e.transitionName,r?t?`${r}-hide-to`:`${r}-leave-to`:null)}function zs(e,t=!1){let r=null;return t?r=e.beforeShow??e.beforeEnter:r=e.beforeEnter,r}function Gs(e,t=!1){let r=null;return t?r=e.show??e.enter:r=e.enter,r}function Xs(e,t=!1){let r=null;return t?r=e.afterShow??e.afterEnter:r=e.afterEnter,r}function Qs(e,t=!1){let r=null;return t?r=e.showCancelled??e.enterCancelled:r=e.enterCancelled,r}function Ys(e,t=!1){let r=null;return t?r=e.beforeHide??e.beforeLeave:r=e.beforeLeave,r}function Zs(e,t=!1){let r=null;return t?r=e.hide??e.leave:r=e.leave,r}function ei(e,t=!1){let r=null;return t?r=e.afterHide??e.afterLeave:r=e.afterLeave,r}function ti(e,t=!1){let r=null;return t?r=e.hideCancelled??e.leaveCancelled:r=e.leaveCancelled,r}function Lt(e){let t,r=e.transitionDuration;return typeof r=="object"?t={enter:r.enter??-1,leave:r.leave??-1,show:r.show??-1,hide:r.hide??-1}:(typeof r=="string"&&(r=r.length==0?-1:Number(r)),t={enter:r,leave:r,show:r,hide:r}),t}function ve(e,t){e.classList.contains(t)||e.classList.add(t)}function pe(e,t){e.classList.remove(t)}var ri=oe&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function et(e){ri(e)}function j(e,t,r){S(t)&&(e==null&&(e={}),Reflect.apply(t,e,r))}function Br(e,t,r,s=-1,n,i,a){let o=[];const l=()=>{for(let u of o)gt(t,u.type,u.listener);o=[]};if(S(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,e,[t,r,s])},n);return}const u=["animationend","transitionend",Ge],f=c=>{(c.target||c.srcElement)===c.currentTarget&&(l(),Reflect.apply(i,e,[t,r,s]))};u.forEach(c=>{Ue(t,c,f),o.push({type:c,listener:f})})}if(S(a)){const u="animationcancel",f=c=>{(c.target||c.srcElement)===c.currentTarget&&(l(),Reflect.apply(a,e,[t,r,s]))};Ue(t,u,f),o.push({type:u,listener:f})}}function tt(e){return!oe||e===null?!1:e.opsType===$.Append||e.opsType===$.Open}function Dr(e,t,r,s={},n,i=-1){if(t||tt(n)){const a=Or(s,t);a&&ve(r,a);const o=kr(s,t);o&&ve(r,o),j(e,zs(s,t),[r,t,n,i])}}function Nr(e,t,r,s={},n,i,a,o){if(!tt(i)&&!t){S(o)&&o(e,o,[r]);return}const l=Or(s,t),u=kr(s,t),f=Ws(s,t),c=Gs(s,t),h=Xs(s,t),y=Qs(s,t);if(!l&&!u&&!f&&!c){S(o)&&o(e,o,[r]);return}et(()=>{Br(e,r,i,a,n,()=>{u&&pe(r,u),f&&pe(r,f),S(h)&&j(e,h,[r,t,i,a]),S(o)&&o(e,o,[r])},()=>{S(y)&&j(e,y,[r,t,i,a])}),l&&pe(r,l),f&&ve(r,f),S(c)&&j(e,c,[r,t,i,a])})}function Hr(e,t,r,s={},n,i=-1){if(t||tt(n)){const a=Ir(s,t);a&&ve(r,a);const o=Mr(s,t);o&&ve(r,o),j(e,Ys(s,t),[r,t,n,i])}}function Ur(e,t,r,s={},n,i,a,o,l){if(!tt(a)&&!t){S(l)&&j(e,l,[r]),!t&&S(i)&&i();return}const u=Ir(s,t),f=Mr(s,t),c=Js(s,t),h=Zs(s,t),y=ei(s,t),d=ti(s,t);if(!u&&!f&&!c&&!h){S(l)&&j(e,l,[r]),!t&&S(i)&&i();return}et(()=>{Br(e,r,a,o,n,()=>{try{f&&pe(r,f),c&&pe(r,c),S(y)&&j(e,y,[r,t,a,o]),S(l)&&j(e,l,[r])}finally{!t&&S(i)&&i()}},()=>{try{S(d)&&j(e,d,[r,t,a,o]),S(l)&&j(e,l,[r])}finally{!t&&S(i)&&i()}}),u&&pe(r,u),c&&ve(r,c),S(h)&&j(e,h,[r,t,a,o])})}function Ot(e,t,r={},s,n=-1){const i=r.mode??"default",a=Lt(r);return{mode:i,persisted:!1,beforeEnter:o=>{Dr(e,!1,o,r,s,n)},enter:o=>{Nr(e,!1,o,r,a.enter,s,n)},leave:(o,l)=>{Hr(e,!1,o,r,s,n),Ur(e,!1,o,r,a.leave,l,s,n,()=>{t.transition=null,t=null})},clone:o=>Ot(e,t,r,s,n)}}function Vr(e){return e.el}function si(e,t,r={},s,n,i,a){if(i===!0){const o=Vr(t);if(o==null)return;const l=Lt(r);Dr(e,!0,o,r,s,n),Nr(e,!0,o,r,l.show,s,n,u=>{S(a)&&j(e,a,[u])})}else S(a)&&j(e,a,[])}function ii(e,t,r={},s,n,i,a){if(i===!0){const o=Vr(t);if(o==null)return;const l=Lt(r);Hr(e,!0,o,r,s,n),Ur(e,!0,o,r,l.hide,null,s,n,u=>{S(a)&&j(e,a,[u])})}else S(a)&&j(e,a,[])}function ni(e,t={}){et(()=>{for(let r=0;r<e.length;r++)Reflect.apply(e[r],t,[])})}function Wr(e,t,r={},s,n=-1){return{mode:r.mode??"default",persisted:!1,beforeEnter:i=>{Ve(Pr,{},i)},enter:i=>{Ve(Er,{},i)},leave:(i,a)=>{Ve(Fr,{},i),et(()=>{const o=l=>{(l.target||l.srcElement)===l.currentTarget&&(gt(i,Ge,o),a&&Reflect.apply(a,e,[]),t.transition=null,t=null)};Ue(i,Ge,o),Ve(Cr,{},i)})},clone:i=>Wr(e,t,r,s,n)}}var W=Symbol("rootKey"),J=Symbol("rootNodeKey"),ue=Symbol("parentNodeKey"),rt=Symbol("nameKey"),re=class{instance=null;model;route;active=!0;index=0;constructor(e,t,r=0,s=!0){this.route=e,this.model=t,this.index=r,this.active=s}},$e=class{_slots;get slots(){return this._slots==null&&(this._slots=(0,v.shallowRef)([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[rt];[W];[J]=null;[ue]=null;get name(){return this[rt]}constructor(e,t,r){this[rt]=e,this[W]=t,r&&(this[J]=r)}},N=class{view;index;level;constructor(e,t,r){this.view=e,this.index=t,this.level=r}static include(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.view===t.view&&(t.index==-1||s.index===t.index)&&s.level===t.level)return!0}return!1}},kt=class{views=[]},oi=class{layers=[]};function se(e,t,r){return typeof e=="function"?Reflect.apply(e,{},[t,r]):e}function It(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}function ge(e,t){return typeof t=="function"?t(e):e}var li=class{node;state;constructor(e,t){this.node=e,this.state=t}},st=(0,v.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},transitionDuration:{type:[String,Number,Object],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(e,t){const r=(0,v.getCurrentInstance)();if(r===null||r.proxy===null){console.error("instance or instance.proxy not exist");return}const s=e.multi===!0,n=(0,v.inject)(Xe,null),i=(0,v.inject)($t,0),a=(0,v.inject)(Ar,null),o=(0,v.inject)(Kt,-1);let l=null,u=e.modelSlot;if(u){if((0,v.provide)($t,i+1),(0,v.provide)(Kt,u.index),(0,v.provide)(jt,u.index),!u.route){console.warn("child view render error, route not exist");return}const c=Qe(r.proxy,!0);Bs(c),Lr(c,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const c=e.name,h=(0,v.inject)(_r,null),y=(0,v.inject)(jt,0);if(l=n[Rr](c,i,a,o,h,y),l===null)return;(0,v.provide)(_r,l);const d=l[W]===!0;d&&(0,v.provide)(Ar,l),s||((0,v.provide)(Kt,-1),(0,v.provide)($t,i+1),(0,v.provide)(jt,-1),d&&Lr(Qe(r.proxy,!0),()=>{const p=l.slots.value;return p.length>0?p[0].route:null}))}const f={value:new Map};return(0,v.onUnmounted)(()=>{if(f.value&&f.value.clear(),u){const c=u;c.route=null,c.model=null,c.instance=null,u=void 0}}),()=>{if(s){const c=new Map,h=[],y=l?.slots.value,d=[];for(let w=0;w<y.length;w++){const b=y[w],L=`${e.name}_${b.index}`,M=se(e.transition,b.route,w)??!0,De={modelSlot:b};let B;t.slots.default?B=(0,v.h)(st,De,{default:t.slots.default}):B=(0,v.h)(st,De);const T={},me=se(e.viewClass,b.route,w);typeof me=="string"&&me.length>0&&(T[me]=!0);const te=se(e.viewActiveClass,b.route,w),D=se(e.viewInactiveClass,b.route,w),ee=f.value.get(L);if(typeof te=="string"&&te.length>0&&(T[te]=b.active),typeof D=="string"&&D.length>0&&(T[D]=!b.active),ee&&b.active!==ee.state){const vt=ee.node;b.active?d.unshift(()=>{const or=()=>{let Ne=Kr(vt);Ne!=null&&jr(Ne,Ze.ACTIVATED)};si(r,vt,e,b.route,w,M,or)}):d.push(()=>{const or=()=>{const Ne=Kr(vt);Ne!=null&&jr(Ne,Ze.DEACTIVATED)};ii(r,vt,e,b.route,w,M,or)})}const X={class:T,key:L},Q=se(e.viewTagProps,b.route,w);Q!==null&&typeof Q=="object"&&_(!0,X,ge(Q,n?.propsFilter)),b.route?.viewTagAttrs&&typeof b.route?.viewTagAttrs=="object"&&_(!0,X,ge(b.route.viewTagAttrs,n?.propsFilter));const Pe=(0,v.h)(se(e.viewTag,b.route,w),X,{default:()=>[B]});c.set(L,new li(Pe,b.active)),f.value.delete(L),M===!0?Pe.transition=Ot(r,Pe,e,b.route,w):M==="custom"&&(Pe.transition=Wr(r,Pe,e,b.route,w)),h.push(Pe)}f.value=c,ni(d,r);const p=se(e.tag,null,-1),R={};return Object.assign(R,t.attrs),(0,v.h)(p,R,{default:()=>h})}else if(u!=null){const c=u.model,h={};c.props&&(typeof c.props=="object"?_(!1,h,ge(c.props,n?.propsFilter)):c.props===!0&&typeof u.route?.params=="object"&&_(!1,h,ge(u.route.params,n?.propsFilter)));const y=(0,v.h)(c.component,h);return It(t.slots.default,{Component:y,route:u.route})??y}else{const c=l.slots.value;if(c.length>0){const h=c[0],y=h.route??(r.proxy&&Tt(r.proxy))??null,d=h.model,p={};d.props&&(typeof d.props=="object"?_(!1,p,ge(d.props,n?.propsFilter)):d.props===!0&&typeof y?.params=="object"&&_(!1,p,ge(y.params,n?.propsFilter)));const R=(0,v.h)(d.component,p);return(se(e.transition,y,-1)??!0)&&(R.transition=Ot(r,R,e,y,-1)),It(t.slots.default,{Component:R,route:y})??R}else return It(t.slots.fallback,{})}}}});function ai(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!=null&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ui(e,t){return e==null||t==null?!1:!!(e===t||e.path&&e.path===t.path||e.name&&e.name===t.name)}function fi(e,t){return e==null||t==null?!1:!!(e.path&&t.path&&t.path.startsWith(e.path)||e.name&&e.name==t.name)}function be(e,t){return typeof e=="function"?Reflect.apply(e,{},[t]):e}var Jr=(0,v.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(e,t){const r=(0,v.inject)(Xe,null);return()=>{let s=be(e.to,null),n=be(e.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,a=null;r!==null&&(i=r[O](s),e.root&&(i.root=e.root),a=r.currentRoute.value);let o={},l=be(e.activeClass,i);if(typeof l=="string"&&l.length>0&&(o[l]=fi(i,a)),be(e.exact,i)===!0){let c=be(e.exactActiveClass,i);typeof c=="string"&&c.length>0&&(o[c]=ui(i,a))}let u={class:o};(n==="a"||n==="A")&&(u.href=i?.path??i?.name??"#"),_(!0,u,t.attrs);let f=be(e.event,i);if(typeof f=="string"){const c=h=>{if(r==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}ai(h)&&r.to(i)};u[f]=c}return(0,v.h)(n,u,t.slots)}}}),F=(function(e){return e.Busy="Busy",e.Free="Free",e.Reject="Reject",e.Exception="Exception",e.Finished="Finished",e})(F||{}),H=Symbol("chainKey"),k=Symbol("cursorKey"),Mt=Symbol("$persistentModeKey"),K=Symbol("statusKey"),Y=Symbol("argsKey"),it=Symbol("exArgsKey"),we=Symbol("successFnsKey"),Ke=Symbol("errorFnsKey"),ie=Symbol("sessionKey"),Z=Symbol("_go"),je=class{[H]=[];[k]=0;[Mt]=!1;[K]=F.Free;[Y]=[];[it]=[];[we]=[];[Ke]=[];[ie];get session(){return this[ie]}constructor(e,t=!1){this[ie]=e,this[Mt]=t}[Z](e,...t){let r=this[K];if(this[K]=F.Busy,this[k]+=e,this[k]<0&&(this[k]=0),this[Y]=t,r===F.Exception||r===F.Reject){let i=[{session:this[ie]},...this[it]];for(;this[Ke].length>0;)try{let a=this[Ke].shift();typeof a=="function"&&Ce(()=>{Reflect.apply(a,{},i)})}catch(a){console.error(a.message,a)}return this[K]=r,this[H]=[],this[k]=0,this}else if(r===F.Finished||this[k]>=this[H].length){let i=[{session:this[ie]},...this[Y]];for(;this[we].length>0;){let a=this[we].shift();typeof a=="function"&&Ce(()=>{Reflect.apply(a,{},i)})}return this[K]=F.Free,this}if(this[k]>=this[H].length)return this[K]=F.Free,this;let s=this[H][this[k]];this[Mt]||(this[H].splice(0,this[k]+1),this[k]=-1);let n=this[k]+1;try{let i=!1,a={go:(o,...l)=>{i||(i=!0,Reflect.apply(this[Z],this,[o,...l]))},resolve:(...o)=>{i||(i=!0,Reflect.apply(this[Z],this,[1,...o]))},reject:(...o)=>{i||(i=!0,Reflect.apply(this.reject,this,[...o]))},insert:o=>{i||(this[H].splice(n,0,o),n++)},session:this[ie]};Ce(()=>{Reflect.apply(s,{},[a,...this[Y]])})}catch(i){this.throw(i)}return this}go(e,...t){return Reflect.apply(this[Z],this,[e,...t])}finish(...e){return this[K]=F.Finished,this[Y]=e,Reflect.apply(this[Z],this,[0])}reject(...e){return this[K]=F.Reject,this[it]=e,Reflect.apply(this[Z],this,[0])}throw(...e){return this[K]=F.Exception,this[it]=e,Reflect.apply(this[Z],this,[0])}reset(...e){this[K]=F.Busy,this[Y]=e,this[H]=[],this[k]=0;let t=[{session:this[ie]},...this[Y]];for(;this[we].length>0;){let r=this[we].shift();Ce(()=>{Reflect.apply(r,this,t)})}return this[K]=F.Free,this}post(e){return this[K]===F.Reject||this[K]===F.Exception?this:(Array.isArray(e)?this[H]=[...this[H],...e]:this[H].push(e),this[K]===F.Busy?this:(Reflect.apply(this[Z],this,[0,...this[Y]]),this))}wait(e,t){return e&&typeof e=="function"&&this[we].push(e),t&&typeof t=="function"&&this[Ke].push(t),this[K]===F.Busy?this:(Reflect.apply(this[Z],this,[0,...this[Y]]),this)}exception(e){return e&&typeof e=="function"&&this[Ke].push(e),this[K]===F.Busy?this:Reflect.apply(this[Z],this,[0,...this[Y]])}isFinish(){return this[K]==F.Reject||this[K]==F.Free&&this[k]>=this[H].length}},nt=(function(e){return e[e.limitless=0]="limitless",e[e.once=1]="once",e})(nt||{}),Re=Symbol("registerKey"),ci=class{policy;callback;constructor(e,t){this.callback=e,this.policy=t}},Bt=class{[Re]=new Map;constructor(){}on(e,t,r=!1){let s=this[Re].get(e);s||(s=new Array,this[Re].set(e,s));let n=new ci(t,r===!0?nt.once:nt.limitless);return s.push(n),this}off(e,t){if(!t)return this[Re].delete(e),this;let r=this[Re].get(e);if(r){for(let s=0;s<r.length;s++)if(r[s].callback===t){r.splice(s,1);break}}return this}bind(e,t,r=!1){return this.on(e,t,r)}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 r=e[t-1];if(typeof r!="function")return console.error("callback can not benn empty"),this;let s=t-1,n=new Array(s),i=[].splice.call(e,0,s);for(let a=0;a<i.length;a++)this.once(i[a],o=>{n[a]=o,s-=1,s==0&&Reflect.apply(r,{},n)});return this}emit(e,...t){let r=this[Re].get(e);if(!r)return this;for(let s=0;s<r.length;){let n=r[s];if(n.policy==nt.once?r.splice(s,1):s++,typeof n.callback=="function")try{Ce(()=>{Reflect.apply(n.callback,{},t)})}catch(i){console.error(i.message,i)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}},fe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),C=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(C||{}),hi={type:fe.Static,value:""},yi=/[a-zA-Z0-9_]/;function di(e){if(!e)return[[]];if(e==="/")return[[hi]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(y){throw new Error(`ERR (${r})/"${u}": ${y}`)}let r=C.Static,s=r;const n=[];let i;function a(){i&&n.push(i),i=[]}let o=0,l,u="",f="";function c(){u&&(r===C.Static?i.push({type:fe.Static,value:u}):r===C.Param||r===C.ParamRegExp||r===C.ParamRegExpEnd?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:fe.Param,value:u,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=l}for(;o<e.length;){if(l=e[o++],l==="\\"&&r!==C.ParamRegExp){s=r,r=C.EscapeNext;continue}switch(r){case C.Static:l==="/"?(u&&c(),a()):l===":"?(c(),r=C.Param):h();break;case C.EscapeNext:h(),r=s;break;case C.Param:l==="("?r=C.ParamRegExp:yi.test(l)?h():(c(),r=C.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--);break;case C.ParamRegExp:l===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+l:r=C.ParamRegExpEnd:f+=l;break;case C.ParamRegExpEnd:c(),r=C.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--,f="";break;default:t("Unknown state");break}}return r===C.ParamRegExp&&t(`Unfinished custom RegExp for param "${u}"`),c(),a(),n}var zr="[^/]+?",mi={sensitive:!1,strict:!1,start:!0,end:!0},z=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(z||{}),vi=/[.+*?^${}()[\]/\\]/g;function pi(e,t){const r=_(!0,{},mi,t),s=[];let n=r.start?"^":"";const i=[];for(const u of e){const f=u.length?[]:[z.Root];r.strict&&!u.length&&(n+="/");for(let c=0;c<u.length;c++){const h=u[c];let y=z.Segment+(r.sensitive?z.BonusCaseSensitive:0);if(h.type===fe.Static)c||(n+="/"),n+=h.value.replace(vi,"\\$&"),y+=z.Static;else if(h.type===fe.Param){const{value:d,repeatable:p,optional:R,regexp:w}=h;i.push({name:d,repeatable:p,optional:R});const b=w||zr;if(b!==zr){y+=z.BonusCustomRegExp;try{new RegExp(`(${b})`)}catch(M){throw new Error(`Invalid custom RegExp for param "${d}" (${b}): `+M.message)}}let L=p?`((?:${b})(?:/(?:${b}))*)`:`(${b})`;c||(L=R&&u.length<2?`(?:/${L})`:"/"+L),R&&(L+="?"),n+=L,y+=z.Dynamic,R&&(y+=z.BonusOptional),p&&(y+=z.BonusRepeatable),b===".*"&&(y+=z.BonusWildcard)}f.push(y)}s.push(f)}if(r.strict&&r.end){const u=s.length-1;s[u][s[u].length-1]+=z.BonusStrict}r.strict||(n+="/?"),r.end?n+="$":r.strict&&!n.endsWith("/")&&(n+="(?:/|$)");const a=new RegExp(n,r.sensitive?"":"i");function o(u){const f=u.match(a),c={};if(!f)return null;for(let h=1;h<f.length;h++){const y=f[h]||"",d=i[h-1];c[d.name]=y&&d.repeatable?y.split("/"):y}return c}function l(u){let f="",c=!1;for(const h of e){(!c||!f.endsWith("/"))&&(f+="/"),c=!1;for(const y of h)if(y.type===fe.Static)f+=y.value;else if(y.type===fe.Param){const{value:d,repeatable:p,optional:R}=y,w=d in u?u[d]:"";if(bt(w)&&!p)throw new Error(`Provided param "${d}" is an array but it is not repeatable (* or + modifiers)`);const b=bt(w)?w.join("/"):w;if(!b)if(R)h.length<2&&(f.endsWith("/")?f=f.slice(0,-1):c=!0);else throw new Error(`Missing required param "${d}"`);f+=b}}return f||"/"}return{re:a,score:s,keys:i,parse:o,stringify:l}}function gi(e,t){const r=pi(di(e),t);return function(s){const n=r.parse(s);return n?{path:s,params:n}:null}}var Dt=(function(e){return e[e.Part=0]="Part",e[e.All=1]="All",e})({}),bi=class{time;route},wi=class{forbidTime=300;submitRecorder=new bi;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)}},Se=Symbol("_notifyChange"),Gr=class{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}},ce=Symbol("historyChangeConsumerKey"),Xr=Symbol("_navigateFirstRoute"),ot=Symbol("_getRouteMark"),Nt=Symbol("_getUrlSearch"),Ht=Symbol("_generateLocation"),lt=Symbol("_setRouteMarkRecorder"),qe=Symbol("beforeRestoreFiltersKey"),Qr=Symbol("_beforeRestore"),Yr="Symbol(_fox_restore_point)";function Te(e,...t){return typeof e=="function"?Reflect.apply(e,null,[...t]):e}function Zr(e){if(!Array.isArray(e))return!1;if(e.length===0)return!0;const t=e[0];return!!(Reflect.has(t,"path")&&Reflect.has(t,"root"))}var es=class{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[ce]=!1;[qe]=new Array;backTimeout=320;constructor(e="hash",t="",r="",s=!0,n=!0,i=!1,a,o){this.mode=e,this.base=t,this.query=r,this.firstNavigate=s,this.historyMonitor=n,this.traceless=i,this.storage=a??A().sessionStorage,this.backTimeout=o??320}init(e=!0){const t=A();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[ce]=="function"){const r=this[ce]();if(this[ce]=!1,r)return}else if(this[ce]===!0){this[ce]=!1;return}if(Te(this.historyMonitor)){const r=t.history.state;this[Se](r);try{let s=[];if(typeof r=="string"?s=JSON.parse(r):s=r,Array.isArray(s)&&s.length>0){const n=this[ot]()??"/";this[lt](n,s)}}catch{}}}),Ue(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[Xr](),Promise.resolve()}destroy(){this.historyChange&>(A(),"popstate",this.historyChange)}[Qr](e,t,r,s){for(let n of this[qe])try{const i=Reflect.apply(n,{},[e,t,r,s]);if(i===!1)return i}catch(i){console.error(i.message,i)}return!0}beforeRestoreEach(e){this[qe].push(e)}removeBeforeRestoreEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}[Xr](){const e=this[ot]()??"/",t=this.storage.getItem(Yr);if(t)try{const i=JSON.parse(t);if(i.mark===e&&Array.isArray(i.routes)&&i.routes.length>0){const a=i.routes.filter((o,l)=>(o.params=o.params?hr(o.params):{},this[Qr](o,l,e,i.routes)));if(a.length>0){const o=this[Nt](),l=a.length-1;a[l].query=o||a[l].query,this[Se](a);return}}}catch{}const r=e.indexOf("!");let s;r!=-1?s=e.substring(r+1):s=e;const n=new P;n.path=s,n.query=this[Nt](),this[Se]([n])}[lt](e,t){try{t.forEach(n=>{n.params=n.params?cr(n.params):{}});const s=JSON.stringify({mark:e,routes:t});this.storage.setItem(Yr,s)}catch(r){console.error(r.message,r)}}setRestorePoint(e){const t=this[ot]()??"/";this[lt](t,e)}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[ot](){const e=A();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,r=t.indexOf("#");if(r!=-1)return t.substring(r+1)}return null}[Nt](){let e=A().location.search;return e.length>0&&e.indexOf("?")===0&&(e=e.substring(1)),e}listen(e){this.changeHandler=e}go(e,t=!1){const r=A();this[ce]=t,r.history.go(e)}goBack(e,t){const r=A(),s=r.history.state;if(Zr(s)&&s.length>0){let n=!1;for(let u=s.length-1;u>=0;u--){const f=P.from(s[u]);if(!(f.historyUpdatePolicy==="traceless"||Te(this.traceless,f))&&P.isSame(f,e)){n=!0;break}}if(!n){t();return}const i=this.backTimeout;let a=null;const o=()=>{r.history.go(-1),a=setTimeout(o,i)},l=()=>{clearTimeout(a);const u=A().history.state;if(Zr(u)&&u.length>0){let f=u.length;const c=u[f-1],h=P.from(c);if(P.isSame(h,e))return t(),!0;if(f>0){let y=!1;for(let d=f-1;d>=0;d--){const p=P.from(u[d]);if(!(p.traceless===!0||Te(this.traceless,p))&&P.isSame(p,e)){y=!0;break}}return y?(setTimeout(()=>{a=setTimeout(o,i),this.go(-1,l)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(o,i),this.go(-1,l)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[lt](t,e.routes)}push(e){const t=this[Ht](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Te(this.traceless,e.currentRoute)&&A().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[Ht](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Te(this.traceless,e.currentRoute))&&A().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[Ht](e){const t=A();let r="";if(e.query){let a="";if(typeof e.query=="object")for(let o of Reflect.ownKeys(e.query)){let l=encodeURIComponent(e.query[o]),u=`${encodeURIComponent(String(o))}=${l}`;a.length>0&&(a+="&"),a+=u}else a=e.query;this.query?(r=a.length>0?`${this.query}&${a}`:this.query,r.length>0&&r.charAt(0)!=="?"&&(r=`?${r}`)):a.length>0&&(r=`?${a}`)}const s=t.location;let n=e.alias??e.fullPath;n.startsWith("default")&&(n=n.substring(wr.length+1));let i;return r?this.mode=="path"?n.indexOf("/")===0?i=`${this.base}${n}${r}`:i=`${this.base}/${n}${r}`:i=`${s.pathname}${r}#${n}`:this.mode=="path"?n.indexOf("/")===0?i=`${this.base}${n}`:i=`${this.base}/${n}`:i=`${s.pathname}#${n}`,`${s.origin}${i}`}};function Ri(e=!0,t=null,r="",s=!0,n=!1,i){return t!==null&&(t=A().location.pathname),t&&t.endsWith("/")&&(t=t.substring(0,t.length-1)),new es("path",t??"",r,e,s,n,i)}function ts(e=!0,t="",r=!0,s=!1,n){return new es("hash","",t,e,r,s,n)}var Si=class{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 r=this.cursor+e;if(r<0?r=0:r>this.queue.length-1&&(r=this.queue.length-1),r!=this.cursor){this.cursor=r;let s=!1;if(typeof t=="function"?s=t():s=t,!s){const n=this.queue[r];this[Se](n.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let r=0;if(e===null)r=this.cursor+1;else for(let s=this.cursor;s>=0;s--){const n=this.queue[s];if(P.isSame(n.currentRoute,e))break;r++}if(r===0){t();return}this.go(-r,()=>(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 rs(e="",t=50){return new Si(e,t)}function Ii(e){}var at=Symbol("_constructRouteModel"),ut=Symbol("_findRouteModel"),Ut=Symbol("_findRootView"),xi=Symbol("_getFirstView"),he=Symbol("_removeView"),ss=Symbol("_buildPage"),is=Symbol("_resolveComponent"),ns=Symbol("_update"),ne=Symbol("_merge"),Vt=Symbol("_handleHistoryChange"),ye=Symbol("_handleRouteUpdated"),ft=Symbol("routeUpdatedCallback"),Wt=Symbol("currentRoute"),g=Symbol("currentRoutes"),ct=Symbol("routeSessionCacheKey"),os=Symbol("_addRouteRecorder"),Le=Symbol("_removeRouteRecorder"),ht=Symbol("_cloneRouteRecorder"),q=Symbol("_handleError"),yt=Symbol("errorCallback"),U=Symbol("registerKey"),dt=Symbol("notFoundKey"),Jt=Symbol("notFoundPathKey"),G=Symbol("forestKey"),E=Symbol("historyKey"),Oe=Symbol("beforeFiltersKey"),ke=Symbol("afterFiltersKey"),Ie=Symbol("destroyFiltersKey"),zt=Symbol("propsFilterKey"),xe=Symbol("mainDispatcherKey"),Gt=Symbol("initKey"),de=Symbol("readyKey"),Xt=Symbol("readyHandlersKey"),mt=Symbol("_markReady"),ls=Symbol("_createNextFn"),Qt=Symbol("_start"),Yt=Symbol("_before"),Zt=Symbol("_after"),as=Symbol("_destroy"),er=Symbol("_load"),Me=Symbol("_unload"),Be=Symbol("routerGuardKey"),Mi=Symbol.for("loadViewModel");function Pi(e){return e.layers.length==0||e.layers[0].views.length==0}var Ei=class{[U]=new Array;[dt];[Jt]="*";[de]=!1;[Xt]=[];[G]=new oi;[E];[g]=new Array;[Wt]=(0,v.shallowRef)(null);[ct]=new WeakMap;[yt]=null;[ft]=null;[Oe]=new Array;[ke]=new Array;[Ie]=new Array;[zt]=null;[xe]=new je;[Be]=new wi;[Gt]=!1;get currentRoute(){return(0,v.readonly)(this[Wt])}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[E]=e.history:this[E]=oe?ts():rs(),this[E]?.listen(async r=>{let s=!0;try{if(typeof r=="string"){const n=this[O](r);n&&await this[Vt]([n])}else await this[Vt](r)}catch(n){console.error(n.message,n),s=!1}this[de]===!1&&this[mt](s)})}[q](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[yt]=="function")try{this[yt](e,t)}catch{}console.error(e)}init(){this[Gt]!==!0&&(this[E]?.init(!this[de]),this[Gt]=!0)}isReady(){return this[de]?Promise.resolve():new Promise((e,t)=>{this[Xt].push([e,t])})}[mt](e){this[de]=!0,this[Xt].forEach(([t,r])=>{try{e?t():r()}catch(s){console.error(s.message,s)}})}[Vt](e){try{if(!e){let i=[...this[g]].reverse();return this[Me](i),oe&&A().location.reload(),Promise.resolve()}let t=null,r=[],s=[],n=0;for(;n<e.length&&n<this[g].length&&P.isSame(e[n],this[g][n]);n++)e[n].active===!0&&e[n].active!==this[g][n].active&&(t=e[n]);if(n<e.length&&(r=e.slice(n)),n<this[g].length&&(s=this[g].slice(n).reverse()),s.length===0&&r.length===0){if(t!==null)return this.restore([t])}else if(s.length>0){if(this[Me](s)){if(r.length>0)return this.restore(r);if(t!==null)return this.restore([t])}}else return this.restore(r)}catch(t){this[q](t)}return Promise.resolve()}[ye](e=null){if(this[Wt].value=e,typeof this[ft]=="function")try{this[ft](e)}catch{}}[os](e,t){if(e.opsType===$.Open){let r=!1;const s=this[g].length-1;for(let n=s;n>=0;n--){const i=this[g][n];if(e.root==i.root){if(e.path===i.path){this[g].splice(n,1,e),r=!0;continue}e.active&&(i.active=!1)}}r||this[g].push(e)}else this[g].push(e);this[ct].set(e,t),this[ye](e)}[ht](){let e=[];for(let t of this[g]){let r=P.clone(t,!0);e.push(r)}return e}[Le](e){if(!this[g]){this[ye](null);return}let t=-1;for(let r=0;r<this[g].length;r++)if(P.isSame(this[g][r],e)){t=r;break}if(t!=-1){const r=this[g][t];this[g].splice(t,1);const s=this[ct].get(r);if(this[ct].delete(r),this[as](r,s),r.opsType===$.Append){const n=this[g].length-1;this[ye](this[g][n]??null)}else this[ye](null)}else this[ye](null)}set historyMonitor(e){this[E]&&(this[E].historyMonitor=e)}get historyMonitor(){return this[E]?this[E].historyMonitor:!1}set traceless(e){this[E]&&(this[E].traceless=e)}get traceless(){return this[E]?this[E].traceless:!1}set propsFilter(e){this[zt]=e}get propsFilter(){return this[zt]}setRestorePoint(){const e=this[ht]();this[E]?.setRestorePoint(e)}onRouteUpdated(e){this[ft]=e}onError(e){this[yt]=e}beforeEach(e){this[Oe].push(e)}removeBeforeEach(e){const t=this[Oe].indexOf(e);return t!==-1?(this[Oe].splice(t,1),!0):!1}afterEach(e){this[ke].push(e)}removeAfterEach(e){const t=this[ke].indexOf(e);return t!==-1?(this[ke].splice(t,1),!0):!1}destroyEach(e){this[Ie].push(e)}removeDestroyEach(e){const t=this[Ie].indexOf(e);return t!==-1?(this[Ie].splice(t,1),!0):!1}beforeRestoreEach(e){this[E]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[E]?.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 r=this[at](e);if(t==-1)this[U]=[...this[U],...r];else for(let s=r.length-1;s>=0;s--)this[U].splice(t,0,r[s])}removeRoute(e){const t=this[O](e);if(t===null)return console.warn("route格式错误",e),!1;for(let r=0;r<this[U].length;r++){const s=this[U][r];if(t?.path&&s.path===t.path)return this[U].splice(r,1),!0;if(t?.name&&s.name===t.name)return this[U].splice(r,1),!0}return!1}hasRoute(e){const t=this[O](e);return t===null?(console.warn("route格式错误",e),!1):this[U].findIndex(r=>{if(t?.path&&r.path===t.path||t?.name&&r.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Jt]=e}setNotFoundRoute(e){this[dt]=this[at](e)[0]}getRoutes(){return[...this[U]]}[at](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let r=e.components??(e.component&&{"":e.component});if(!r){const o=new _t;return o.path=t,o.redirect=e.redirect,[o]}const s=new P;s.path=t,s.name=e.name,s.meta=e.meta;let n=[];for(let o in r){const l=r[o];o.length===0&&(o=wr);const u=new Os(o,l,e.props);n.push(u)}let i=!1,a=[];if(e.children)for(let o of e.children){const l=this[at](o);for(let u of l){let f=new _t;f.name=u.name,u.path&&u.path.length>0?t!=="/"?f.path=`${t}${u.path}`:f.path=u.path:(i=!0,f.path=t);let c=new xr;c.models=[...n],f.layers=[c,...u.layers],f.matchedRoutes=[s,...u.matchedRoutes??[]],a.push(f)}}if(!i){const o=new xr;o.models=n;const l=new _t;l.name=e.name,l.path=t,l.matchedRoutes=[s],l.layers=[o],a.splice(0,0,l)}return a}[ut](e){const t=e.route;try{for(let r of this[U]){const s=t.path?t.template??t.path:null,n=t.name?t.template??t.name:null;if(s&&r.path){let i=r.match;i||(i=r.match=gi(r.path));const a=i(s);if(!a)continue;if(r.redirect){const o=new P;_(!0,o,t),o.path=r.redirect;const l={route:o,find:void 0};return this[ut](l)?(e.route=l.route,e.find=l.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},_(!0,t.params,a.params),t.query){const o=t.query;if(typeof o=="string"){const l={},u=o.split("&");for(let f of u){const c=f.split("=");if(c.length!==2)continue;const h=decodeURIComponent(c[0].trim());l[h]=decodeURIComponent(c[1].trim())}_(!0,t.params,l)}else typeof o=="object"&&_(!0,t.params,o)}return e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(n===r.name)return e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}catch(r){console.error(r.message,r),typeof t.error=="function"&&t.error(r.message)}return!1}[O](e){let t=null;if(Array.isArray(e))if(t=new P,typeof e[0]=="object")t=P.from(e[0]);else for(let r=0;r<e.length;r++)r===0?e[r].charAt(0)==="/"?t.path=e[r]:t.name=e[r]:r===1?t.params=e[r]:r===2?t.root=e[r]:r===3&&_(!1,t,e[r]);else typeof e=="object"?t=P.from(e):typeof e=="string"&&(t=new P,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let r=t.path.indexOf("?");r!==-1&&r<t.path.length-1&&(t.query=t.path.substring(r+1),t.path=t.path.substring(0,r))}t.root=t.root??"default",t.opsType=t.opsType??this.options.defaultOperationType??$.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[O](e);return t?(t.opsType=$.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[q]("resolve route fail",t),this)}put(...e){const t=this[O](e);return t?(t.opsType=$.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[q]("resolve route fail",t),this)}replace(...e){const t=this[O](e);return t?(t.opsType=$.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[q]("resolve route fail",t),this)}append(...e){const t=this[O](e);return t?(t.opsType=$.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[q]("resolve route fail",t),this)}remove(e,t){return new Promise(r=>{this[xe].post(s=>{try{if(this[g].length===0){s.resolve(),r(!1);return}let n=-1,i=null,a=[];if(e){if(i=e.root??null,e.all)for(let l=this[g].length-1;l>0;l--){const u=this[g][l];if(u.opsType===$.Append){const f=u.root??"default";if(i&&i!==f)continue;a.splice(0,0,u),n=l-1}}else if(e.until)for(let l=this[g].length-1;l>0;l--){let u=this[g][l];if(u.opsType===$.Append&&u.root===i){if(e.until.charAt(0)==="/"&&e.until===u.path){n=l;break}else if(e.until===u.name){n=l;break}a.splice(0,0,u)}}else if(e.to)for(let l=this[g].length-1;l>0;l--){const u=this[g][l];if(u.opsType===$.Append){const f=u.root??"default";if(i&&i!==f)continue;if(a.splice(0,0,u),e.to.charAt(0)==="/"&&e.to===u.path){n=l-1;break}else if(e.to===u.name){n=l-1;break}}}}else for(let l=this[g].length-1;l>0;l--){let u=this[g][l];if(u.opsType===$.Append){a.push(u),n=l-1;break}}if(n===-1||a.length===0){let l="can not find route";console.warn(l),s.resolve(l),r(!1);return}let o=null;if(n!==-1&&(o=this[g][n]),this[Me](a)){if(t===!1)return s.resolve(),r(!0),!0;const l=()=>(s.resolve(),r(!0),!0),u=this[g].length;if(o&&P.isSame(o,this[g][u-1])){this[E]?.goBack(o,l);return}l()}}catch(n){this[q](n),s.resolve(),r(!1)}})})}open(...e){let t=this[O](e);return t?(t.opsType=$.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[q]("resolve route fail",t),this)}close(e){return this[xe].post(t=>{try{let r=this[O](e);if(!r){t.reject("resolve route fail");return}let s=[];for(let n=0;n<this[g].length;n++){let i=this[g][n];if(i.root===r.root){if(!r.path&&!r.name){s.push(i);continue}if(r.path&&r.path===i.path){s.push(i);break}else if(r.name&&r.name===i.name){s.push(i);break}}}if(s.length===0){t.resolve();return}this[Me](s),t.resolve()}catch(r){this[q](r),t.resolve()}}),this}to(...e){let t=this[O](e);if(!t)return this[q]("resolve route fail",t),this;let r=this[Be].acquire(t);return r==null?(this[q]("route forbid",t),this):(this[xe].post(s=>{try{let n=this[Qt](t);this[Yt](n),this[er](n),this[Zt](n),n.wait((i,a)=>{const o=i.session.to;if(i.session.updateResult&&i.session.updateResult.status==="success")try{const l=new Gr(P.clone(o,!0),this[ht]());o.historyUpdatePolicy==="replace"?this[E]?.replace(l):o.historyUpdatePolicy==="traceless"?this[E]?.setRouteMark(l):this[E]?.push(l)}catch(l){console.error(l.message,l)}if(ze.clear(i.session),this[Be].release(r),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(l){console.error(l.message,l)}this[de]===!1&&this[mt](!0),n=null,s.resolve()},(i,a)=>{this[Be].release(r),a!==null&&this[q](a,t),this[de]===!1&&this[mt](!1),ze.clear(i.session),n=null,s.resolve()})}catch(n){this[Be].release(r),this[q](n,t),s.resolve()}}),this)}back(e=1){this[E]?.go(-e,!1)}[ls](e){return(t,r)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(r??null);else if(t){const s=this[O](t);if(s){const n=e.session.to;s.success=n.success,s.error=n.error,e.session.to=s,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()}}[Qt](e){const t=new ze(e,this[g].length>0?this[g][this[g].length-1]:void 0),r={route:e,find:null};if(this[ut](r),r.find){t.routeModel=r.find,e.matched=r.find.matchedRoutes??[];const s={};if(Array.isArray(r.find?.matchedRoutes))for(let n=0;n<r.find.matchedRoutes.length;n++){const i=r.find.matchedRoutes[n];i.meta&&typeof i.meta=="object"&&Object.assign(s,i.meta)}e.meta&&typeof e.meta=="object"&&Object.assign(s,e.meta),e.meta=s}return new je(t)}[Yt](e){for(let t of this[Oe])e.post(r=>{const s=this[ls](r);Reflect.apply(t,{},[r.session.to,r.session.from,s,r.session])})}[Zt](e){e.post(t=>{for(let r of this[ke])try{Reflect.apply(r,{},[t.session.to,t.session.from,t.session])}catch(s){console.error(s.message,s)}t.resolve()})}[as](e,t){for(let r of this[Ie])try{Reflect.apply(r,{},[e,t])}catch(s){console.error(s.message,s)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[er](e){e.post(t=>{const r=t.session.to;let s=t.session.routeModel;if(s==null){let i={route:r,find:null};if(this[ut](i))s=i.find,t.session.routeModel=s;else if(this[dt])s=this[dt];else{t.reject(`not find route model, path:${r.path??r.name}`);return}}const n=ze.from(t.session);this[ss](r,s,n).then(i=>{this[G],t.session.updateResult=i??{status:"success",message:""},t.resolve()},i=>{t.reject(i)})})}[Me](e){if(e.length==0)return!0;let t=this[G],r=[];for(let s of e){let n=this[Ut](t,s);n!=null&&r.push({...n,route:s})}if(r.length==0)return this[q]("can not find view index"),!1;for(let s of r.reverse())this[he](t,{x:s.x,y:s.y},[s.route.index??0],!0);return!0}[Ut](e,t){const r=t.root??"default";let s;for(let n=0;n<e.layers.length;n++){const i=e.layers[n];for(let a=i.views.length-1;a>=0;a--){const o=i.views[a];if(o[W]&&o[rt]===r)return s={x:a,y:n},s}}return null}[xi](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[he](e,t,r=null,s=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let n=e.layers[t.y].views[t.x],i=!1,a=[],o=!1,l=[...n.slots.value];for(let f=l.length-1;f>=0;f--){let c=l[f];(!r||r.indexOf(c.index)!=-1)&&(c.route&&n[W]&&(this[Le](c.route),c.active===!0&&c.route.opsType==$.Append&&(o=!0)),a.push(new N(n,c.index,t.y)),l.splice(f,1))}if(l.length==0)s?n.slots.value=l:e.layers[t.y].views.splice(t.x,1);else{if(o){let f=l[l.length-1];f.active=!0,f.route&&(f.route.active=f.active)}n.slots.value=l}e.layers[t.y].views.length==0&&(i=!0);let u=t.y+1;for(;u<e.layers.length;u++){let f=e.layers[u].views,c=[];for(let h=f.length-1;(i||a.length>0)&&h>=0;h--){let y=f[h];if(y[ue]&&(i||N.include(a,y[ue]))){let d=y.slots.value;for(let p=d.length-1;p>=0;p--){let R=d[p];R.route&&y[W]&&this[Le](R.route),c.push(new N(y,R.index,u)),d.splice(p,1)}e.layers[u].views.splice(h,1)}}a=c,e.layers[u].views.length==0&&(i=!0)}}restore(e){if(!e||this[U].length==0){let t=this[G];if(t.layers.length>0){let r=t.layers[0].views;r.length>0&&(r[0].slots.value=[])}return this[g]=[],this[ye](null),Promise.resolve()}else return new Promise((t,r)=>{let s=null,n=!1;for(let i=0;i<e.length;i++){const a=e[i];this[xe].post(o=>{const l=this[Qt](a);this[Yt](l),this[er](l),this[Zt](l),l.wait((u,f)=>{s=u.session.to,n=u.session.redirect,o.resolve()},(u,f)=>{s=null,f!==null&&this[q](f),o.resolve()})})}this[xe].post(i=>{if(s&&n===!0){const a=new Gr(P.clone(s,!0),this[ht]());this[E]?.replace(a)}i.resolve(),t()})})}[ss](e,t,r){const s=e.updateType??Dt.Part;return this[is](t).then(()=>{const n=this[ns](t,e,r,s);if(n.status==="error")throw Error(n.message);return n})}[is](e){let t=[];for(let r=0;r<e.layers.length;r++){let s=e.layers[r];for(let n=0;n<s.models.length;n++){let i=s.models[n];i.isResolved||t.push(i.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[ns](e,t,r,s){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const n=e.layers[0].models[0];let i=this[G],a=Pi(i),o=t.root??"default",l;!a&&s==Dt.Part&&(l=this[Ut](i,t));let u,f=0;if(l==null||l==null)if(a||s===Dt.All)i.layers.length==0&&(i.layers[0]=new kt),i.layers[0].views.length==0?(u=new $e(t.root??"default",!0,null),i.layers[0].views=[u]):u=i.layers[0].views[0],l={x:0,y:0};else{let c=t.slot;if(!c)return{status:"error",message:"can not rebuild view(because not route slot)"};let h=c.level;if(h>i.layers.length)return{status:"error",message:"can not insert view(override level)"};let y;if(c.rootName){let d=i.layers[h-1];for(let p of d.views){if(p[W]&&p.name===c.rootName){y=new N(p,c.rootIndex??0,h-1);break}if(p[J]&&p[J].view.name===c.rootName&&p[J].index===c.rootIndex){y=p[J];break}}}if(!y)return{status:"error",message:"can not insert view(not find root node ref)"};u=new $e(o,!0,y),i.layers[h].views.push(u),l={x:i.layers[h].views.length-1,y:h}}else u=i.layers[l.y].views[l.x];if(f=l.y,u[W]=!0,t.opsType===$.Append){t.index=t.index??Fe.get(),t.active=!0;let c=u.slots.value;if(c.length>0){let R=c[c.length-1];R.active=!1,R.route&&(R.route.active=R.active)}let h=new re(t,n,t.index,!0);u.slots.value=[...c,h];let y=f+1,d=1,p=new N(u,t.index,f);this[ne](i,y,e,d,p)}else if(t.opsType===$.Open){let c=u.slots.value;const h=t.active??!0;let y=!1;for(let d of c){if(d.route!==null&&P.isSamePathForRoute(d.route,t)){if(d.active===h)return t.index=d.index,t.active=h,d.route=t,{status:"noChange",message:""};d.active=h,y=!0,t.index=d.index,t.active=h,d.route=t}else h&&(d.active=!1);d.route&&(d.route.active=d.active)}if(!y){t.index=t.index??Fe.get(),t.active=h;let d=new re(t,n,t.index,h);c.push(d);let p=f+1,R=1,w=new N(u,t.index,f);this[ne](i,p,e,R,w)}u.slots.value=[...c]}else{let c=u.slots.value;if(c.length==0){t.index=t.index??Fe.get(),t.active=!0,u.slots.value=[new re(t,n,t.index)];let h=f+1,y=1,d=new N(u,t.index,f);this[ne](i,h,e,y,d)}else{let h=c[0];if(h.model!==n){this[he](i,l,null,!0),t.index=t.index??Fe.get(),t.active=!0,u.slots.value=[new re(t,n,t.index)];let y=f+1,d=1,p=new N(u,t.index,f);this[ne](i,y,e,d,p)}else{h.route!==null&&this[Le](h.route);let y=!1;const d=t.active??!0;h.active!==d&&(h.active=d,y=!0),t.active=d,t.index=h.index,h.route=t;let p=[];for(let M=1;M<c.length;M++)p.push(c[M].index);p.length>0?this[he](i,l,p,!0):y&&(u.slots.value=[...c]);let R=[new N(u,t.index,f)],w=f+1,b=1,L=new N(u,t.index,f);for(;R.length>0&&w<i.layers.length&&b<e.layers.length;w++,b++){let M=[];for(let B=0;B<i.layers[w].views.length;B++){let T=i.layers[w].views[B];T[ue]&&N.include(R,T[ue])&&M.unshift(B)}let De=[];for(let B of M){let T=i.layers[w].views[B],me=e.layers[b].models,te;for(let D=0;D<me.length;D++)if(T.name===me[D].name){te=me[D];break}if(!te)this[he](i,{x:B,y:w},null,!1);else{let D=T.slots.value;if(D.length==0){let ee=0;T.slots.value=[new re(null,te,ee)];let X=w+1,Q=b+1;this[ne](i,X,e,Q,L)}else{let ee=D[0];if(ee.model!==te){this[he](i,{x:B,y:w},null,!0),T.slots.value=[new re(null,te,0)];let X=w+1,Q=b+1;this[ne](i,X,e,Q,L)}else{T[W]&&ee.route!==null&&this[Le](ee.route);let X=[];for(let Q=1;Q<D.length;Q++)X.push(D[Q].index);X.length>0&&this[he](i,{x:B,y:w},X,!0),De.push(new N(T,ee.index,w))}}T[W]=!1}}R=De}this[ne](i,w,e,b,L)}}}if(u&&u[J]){let c=u[J];c&&(t.slot=new Ls(o,f,c?.view.name,c?.index??0))}return r.to=void 0,r.routeModel=void 0,this[os](t,r),{status:"success",message:""}}[ne](e,t,r,s,n){let i=s,a=t;for(;a<e.layers.length&&i<r.layers.length;a++,i++){let o=e.layers[a].views;for(let l of r.layers[i].models){let u=new $e(l.name,!1,n),f=new re(null,l);u.slots.value=[f],o.push(u)}}for(;i<r.layers.length;i++){let o=new kt;o.views=[];for(let l of r.layers[i].models){let u=new $e(l.name,!1,n),f=new re(null,l);u.slots.value=[f],o.views.push(u)}e.layers.push(o)}}[Rr](e,t,r,s,n,i){if(t<0||t>this[G].layers.length)return null;if(t<this[G].layers.length){let u=this[G].layers[t],f=null;for(let c of u.views){let h=!1;if(r!==null?(h=c.name===e&&c[J]?.view===r,h&&s!==-1&&(h=c[J]?.index===s)):h=c.name===e,!!h){n!==null&&(c[ue]={view:n,index:i,level:t-1}),f=c;break}}if(f!==null)return f}let a=null,o=null;n!==null&&(n[W]?a={view:n,index:i,level:t-1}:a=n[J],o={view:n,index:i,level:t-1});let l=new $e(e,!0,a);if(l[ue]=o,t==this[G].layers.length){let u=new kt;u.views=[l],this[G].layers.push(u)}else this[G].layers[t].views.push(l);return l}},Fi="fox-router-view",Ci="fox-router-link",I=(function(e){return e[e.Loading=0]="Loading",e[e.Loaded=1]="Loaded",e[e.Defining=2]="Defining",e[e.Defined=3]="Defined",e})({}),tr=(function(e){return e[e.normal=0]="normal",e[e.factory=1]="factory",e})({}),Ai=class{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()}},us=class{moduleManager=new Ai;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 He().head}constructor(){}setModule(e,t){const r={id:e,src:"",status:I.Defined};typeof t=="function"?(r.exports=t,r.type=tr.factory):r.exports=t,this.moduleManager.set(e,r)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let r=e.length-1;const s={};typeof e[r]=="object"&&(Object.assign(s,e[r]),r--);let n=null;typeof e[r]=="function"&&(n=e[r],r--);for(let o=0;o<=r;o++)if(Array.isArray(e[o])){let l=e[o];for(let u=0;u<l.length;u++)l[u]&&t.push(this.resolvePath(l[u]))}else if(typeof e[o]=="string"){let l=e[o].split(",");for(let u=0;u<l.length;u++)l[u]&&t.push(this.resolvePath(l[u]))}const i=new _i(t.length,(o,l)=>{if(i.isOK())try{typeof n=="function"&&Reflect.apply(n,{},l)}catch(u){console.error(u.message,u)}else try{console.error(o),typeof n=="function"&&Reflect.apply(n,{},[])}catch(u){console.error(u.message,u)}}),a=new je;for(let o=0;o<t.length;o++){const l=new $i(o,t[o],s,i);this.mount(a,l)}return this}remove(...e){let t=[],r=e.length-1,s={};typeof e[r]=="object"&&(Object.assign(s,e[r]),r--);let n=null;typeof e[r]=="function"&&(n=e[r],r--);for(let i=0;i<=r;i++)if(Array.isArray(e[i])){let a=e[i];for(let o=0;o<a.length;o++)a[o]&&t.push(this.resolvePath(a[o]))}else{let a=e[i].split(",");for(let o=0;o<a.length;o++)a[o]&&t.push(this.resolvePath(a[o]))}return t.forEach(i=>{this.unmount(i,s)}),typeof n=="function"&&Reflect.apply(n,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(s=>{t.progress.work(!0,t.index,"exports"),s.resolve()});return}else if(t.src==="module"){e.post(s=>{t.progress.work(!0,t.index,"module"),s.resolve()});return}if(this.isNaturePath(t.src)){let s=t.params.jsPoint;s||(s=this.head),this.mountJS(e,t,s);return}else if(this.isNaturePath(t.src)){let s=t.params.cssPoint;s||(s=this.head),this.mountCSS(e,t,s);return}let r=this.getFileNamePostfix(t.src);if(r==="js"||r.length===0){let s=t.params.jsPoint;s||(s=this.head),this.mountJS(e,t,s);return}else if(r==="css"){let s=t.params.cssPoint;s||(s=this.head),this.mountCSS(e,t,s);return}}mountCSS(e,t,r){e.post(s=>{const n=t.src,i=this.moduleManager.get(n);if(i&&(i.status==I.Defined||i.status==I.Loaded)&&i.exports){i.type===tr.factory&&typeof i.exports=="function"?t.progress.work(!0,t.index,i.exports()):t.progress.work(!0,t.index,i.exports),s.resolve();return}const a=He(),o=a.createElement("link");if(Reflect.has(o,"onload"))o.onload=()=>{o.onload=null,o.onerror=null,t.progress.work(!0,t.index,t.src),s.resolve()},o.onerror=()=>{try{r.removeChild(o)}catch(u){console.error(u.message,u)}o.onload=null,o.onerror=null,t.progress.work(!1,t.index,null),s.reject()};else{const u={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),s.resolve()},error:()=>{try{r.removeChild(o)}catch(f){console.error(f.message,f)}t.progress.work(!1,t.index,null),s.resolve()}};setTimeout(()=>{fs(o,u)},1)}let l=a.getElementById(n);l&&l.parentNode&&l.parentNode.removeChild(l),o.rel="stylesheet",o.type="text/css",o.id=n,o.href=n,r.appendChild(o)})}mountJS(e,t,r){e.post(s=>{const n=t.src;let i=this.moduleManager.get(n);if(i&&(i.status==I.Defined||i.status==I.Loaded)){if(i.exports){i.type===tr.factory&&typeof i.exports=="function"?t.progress.work(!0,t.index,i.exports()):t.progress.work(!0,t.index,i.exports),s.resolve();return}if(document.querySelector(`script[src='${n}`)){t.progress.work(!0,t.index,i.exports),s.resolve();return}}i={id:n,src:n,status:I.Loading},this.moduleManager.set(n,i);const a=He().createElement("script");if("onload"in a)a.onload=()=>{a.onload=null,a.onerror=null,i.status===I.Loading&&(i.status=I.Loaded,t.progress.work(!0,t.index,n)),s.resolve()},a.onerror=()=>{try{r.removeChild(a)}catch(f){console.error(f.message,f)}a.onload=null,a.onerror=null,this.moduleManager.remove(n),t.progress.work(!1,t.index,null),s.resolve()};else{const f=a;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,i.status==I.Loading&&(i.status=I.Loaded,t.progress.work(!0,t.index,n)),s.resolve())}}a.defer=!0,a.src=n;const o=A(),l=this.createRequireLoad(),u=this.createDefine(i,l,t);o.require=l,o.define=u,r.appendChild(a)})}unmount(e,t={}){const r=He(),s=this.getFileNamePostfix(e);if(s==="js"||s.length===0){const n=r.querySelector(`script[src="${e}"]`);n&&n.parentNode&&n.parentNode.removeChild(n),this.moduleManager.remove(e);return}else if(s==="css"){const n=r.querySelector(`style[href="${e}"]`);n&&n.parentNode&&n.parentNode.removeChild(n);return}}trimEmptyElement(e){let t=[];for(let r=0;r<e.length;r++){if(e[r]===void 0||e[r]===null)continue;const s=e[r].trim();s.length!==0&&t.push(s)}return t}createDefine(e,t,r){const s=this,n=function(...i){e.status=I.Defining;let a,o,l,u=i.length;if(u===1?(l=i[0],a=void 0):u===2?(l=i[1],Array.isArray(i[0])?(o=s.trimEmptyElement(i[0]),a=void 0):o=void 0):(a=i[0],o=s.trimEmptyElement(i[1]),l=i[2]),a&&(e.id=a,s.options.alias[a]=e.src),o&&o.length>0)s.ensure(o,(...f)=>{try{const c=f.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h==="require"?t:h);if(typeof l=="function"){const h=Reflect.apply(l,e,c);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=I.Defined,r.progress.work(!0,r.index,e.exports)}catch(c){console.error(c),r.progress.work(!1,r.index,[])}});else{if(typeof l=="function"){const f=Reflect.apply(l,e,[]);f&&typeof f=="object"&&(e.exports=e.exports??{},Object.assign(e.exports,f))}else e.exports=l;e.status=I.Defined,r.progress.work(!0,r.index,e.exports)}};return n.amd=!0,n}createRequireLoad(){return e=>this.moduleManager.get(e)?.exports??null}resolvePath(e){try{return e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let r in e){let s=`${e[r]}`;t+=`${encodeURIComponent(r)}=${encodeURIComponent(s)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let r=e.lastIndexOf(".",t);return r==-1?"":e.substring(r+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 r=0;r<t.length;r++){const s=t[r];if(e.indexOf(s)===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`${pt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${pt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${A().location.protocol}${e}`;if(t){let r=this.options.alias[e];if(!r){let s=e.indexOf("/");if(s==-1)r=e;else{let n=e.slice(0,s),i=this.options.paths[n];i?r=i+e.slice(s):r=e}}return this.parserPath(r,!1)}return`${pt()}${e}`}};function fs(e,t){let r=e.sheet,s=!1;if(t.isOldWebKit)r&&(s=!0);else if(r)try{r.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{t.time+=20,s?t.success():t.timeout>t.timeout?t.error():fs(e,t)},20)}var _i=class{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,r){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values[t]=r),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(s){console.error(s.message,s)}}isOK(){return this.status}},$i=class{index;src;params;progress;constructor(e,t,r,s){this.index=e,this.src=t,this.params=r,this.progress=s}},rr=Symbol("fk"),sr=Symbol("fbk"),ir=Symbol("fepk");function Ki(e={}){const t=new Ei(e),r=new Ct,s=new Bt,n=new us,i={get router(){return t},get bus(){return r},get Bus(){return Ct},get EventProxy(){return Bt},get eventproxy(){return s},get EventChain(){return je},get Require(){return us},get require(){return n},get extend(){return _},get clone(){return Je},get isESModule(){return wt},install(a){a.provide(Xe,t),a.provide(rr,i),a.provide(sr,r),a.provide(ir,s),a.component(Fi,st),a.component(Ci,Jr),Reflect.defineProperty(a.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(a.config.globalProperties,"$router",{get(){return t}}),Reflect.defineProperty(a.config.globalProperties,"$bus",{get(){return r}}),Reflect.defineProperty(a.config.globalProperties,"$bus",{get(){return r}}),Reflect.defineProperty(a.config.globalProperties,"$eventProxy",{get(){return s}}),a.config.globalProperties.$fox_on=function(o,l,u=!1){s.on(o,l,u)},a.config.globalProperties.$fox_off=function(o,l){s.off(o,l)},a.config.globalProperties.$fox_once=function(o,l){s.once(o,l)},a.config.globalProperties.$fox_all=function(...o){let l=s;Reflect.apply(l.all,l,o)},a.config.globalProperties.$fox_trigger=function(o,...l){let u=s;Reflect.apply(u.trigger,u,[o,...l])},a.config.globalProperties.$fox_emit=function(o,...l){let u=s;Reflect.apply(u.trigger,u,[o,...l])},a.mixin({computed:{$route(){return Tt(this)}}}),t.init()}};return i}function nr(e){return e?e.$router:(0,v.inject)(Xe)}function ji(e){return e||(e=(0,v.getCurrentInstance)()?.proxy??void 0),e?Tt(e):null}function qi(e){return e?e.$fox:(0,v.inject)(rr)}function Ti(e){return e?e.$bus:(0,v.inject)(sr)}function Li(e){return e?e.$eventProxy:(0,v.inject)(ir)}function Oi(e){const t=nr(),r=(s,n,i)=>{try{Reflect.apply(e,{},[s,n])}catch(a){console.error(a)}i()};t.beforeEach(r),(0,v.onUnmounted)(()=>{t.removeBeforeEach(r)})}function ki(e){const t=nr(),r=(s,n,i)=>{try{Reflect.apply(e,{},[s,n])}catch(a){console.error(a)}i()};t.afterEach(r),(0,v.onUnmounted)(()=>{t.removeAfterEach(r)})}m.Bus=Ct,m.EventChain=je,m.EventProxy=Bt,m.FoxBeforeEnter=Pr,m.FoxBeforeLeave=Fr,m.FoxEnter=Er,m.FoxLeave=Cr,m.FoxLeaveEnd=Ge,m.OperationType=$,m.Route=P,m.RouterLink=Jr,m.RouterView=st,m.clone=Je,m.createFox=Ki,m.createMemoryHistory=rs,m.createWebHashHistory=ts,m.createWebHistory=Ri,m.deleteContextValue=Ms,m.extend=_,m.foxBusKey=sr,m.foxEventProxyKey=ir,m.foxKey=rr,m.injectContextValue=qt,m.isArray=bt,m.isDate=ms,m.isESModule=wt,m.isEqual=Pt,m.isFunction=S,m.isMap=ys,m.isNil=Ee,m.isObject=ur,m.isPlainObject=fr,m.isPromise=gs,m.isSet=ds,m.isString=vs,m.isSymbol=ps,m.onAfterRouteUpdate=ki,m.onBeforeRouteUpdate=Oi,m.onFoxActivated=Us,m.onFoxInactivated=Vs,m.provideContextValue=Is,m.rawState=qs,m.reactiveState=$s,m.sessionKey=ie,m.shallowReactiveState=Ks,m.toBoolean=St,m.toNumber=Ss,m.toTypeString=We,m.typeOf=xt,m.useBus=Ti,m.useEventProxy=Li,m.useFox=qi,m.useRoute=ji,m.useRouter=nr});
|
package/libs/style.css
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
.fox-views.fox-views-window{display:block}.fox-views.fox-views-window .fox-view{box-sizing:border-box;z-index:100;width:100%;position:fixed;top:0;left:0}.fox-views.fox-card-views{box-sizing:border-box;width:100%;height:100%;position:relative}.fox-views.fox-card-views .fox-card-view{width:100%}.fox-views.fox-card-views .fox-card-view-active{z-index:1}.fox-views.fox-card-views .fox-card-view-inactive{z-index:0;display:none}.fox-views .fox-view-trans-enter-to{z-index:120;animation:.33s fox-view-in-slide-right}.fox-views .fox-view-trans-leave-to{z-index:120;animation:.32s fox-view-out-slide-right}.fox-views .fox-view-trans-show-to{z-index:110;animation:.3s fox-view-show-slide-right}.fox-views .fox-view-trans-hide-to{z-index:110;animation:.32s fox-view-hide-slide-left}@keyframes fox-view-in-slide-right{0%{transform:translate(103%)}to{transform:translate(0%)}}@keyframes fox-view-out-slide-right{0%{transform:translate(0%)}to{transform:translate(103%)}}@keyframes fox-view-hide-slide-left{0%{transform:translate(0%)}to{transform:translate(-30%)}}@keyframes fox-view-show-slide-right{0%{transform:translate(-30%)}to{transform:translate(0%)}}
|
|
2
|
+
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fox-js/fox",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.1.1-
|
|
4
|
+
"version": "3.1.1-21",
|
|
5
5
|
"description": "Fox Router and commons Utils",
|
|
6
6
|
"author": "jiangcheng",
|
|
7
7
|
"keywords": [
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"style": "./dist/style.css",
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
19
|
+
"types": "./libs/index.esm.d.ts",
|
|
19
20
|
"import": "./libs/index.esm.js",
|
|
20
21
|
"require": "./libs/index.umd.js"
|
|
21
22
|
},
|
|
@@ -25,9 +26,7 @@
|
|
|
25
26
|
"files": [
|
|
26
27
|
"libs"
|
|
27
28
|
],
|
|
28
|
-
"publishConfig": {
|
|
29
|
-
"access": "public"
|
|
30
|
-
},
|
|
29
|
+
"publishConfig": {},
|
|
31
30
|
"scripts": {
|
|
32
31
|
"publish:next": "npm version prerelease && npm publish --tag next"
|
|
33
32
|
},
|