@huxy/router
Version:
react router
109 lines (108 loc) • 23.3 kB
JavaScript
import*as I from"react";var ze={51:e=>{function t(n){var s=document.createElement("style");return n.setAttributes(s,n.attributes),n.insert(s,n.options),s}e.exports=t},85:(e,t,n)=>{e.exports=n(197)},128:e=>{var t={};function n(r){if(typeof t[r]>"u"){var o=document.querySelector(r);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch{o=null}t[r]=o}return t[r]}function s(r,o){var c=n(r);if(!c)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");c.appendChild(o)}e.exports=s},197:(e,t)=>{var n;var s=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function o(c,a,i){var l=null;if(i!==void 0&&(l=""+i),a.key!==void 0&&(l=""+a.key),"key"in a){i={};for(var u in a)u!=="key"&&(i[u]=a[u])}else i=a;return a=i.ref,{$$typeof:s,type:c,key:l,ref:a!==void 0?a:null,props:i}}n=r,t.jsx=o,t.jsxs=o},591:e=>{var t=[];function n(o){for(var c=-1,a=0;a<t.length;a++)if(t[a].identifier===o){c=a;break}return c}function s(o,c){for(var a={},i=[],l=0;l<o.length;l++){var u=o[l],p=c.base?u[0]+c.base:u[0],_=a[p]||0,f="".concat(p," ").concat(_);a[p]=_+1;var d=n(f),v={css:u[1],media:u[2],sourceMap:u[3],supports:u[4],layer:u[5]};if(d!==-1)t[d].references++,t[d].updater(v);else{var m=r(v,c);c.byIndex=l,t.splice(l,0,{identifier:f,updater:m,references:1})}i.push(f)}return i}function r(o,c){var a=c.domAPI(c);a.update(o);var i=function(u){if(u){if(u.css===o.css&&u.media===o.media&&u.sourceMap===o.sourceMap&&u.supports===o.supports&&u.layer===o.layer)return;a.update(o=u)}else a.remove()};return i}e.exports=function(o,c){c=c||{},o=o||[];var a=s(o,c);return function(l){l=l||[];for(var u=0;u<a.length;u++){var p=a[u],_=n(p);t[_].references--}for(var f=s(l,c),d=0;d<a.length;d++){var v=a[d],m=n(v);t[m].references===0&&(t[m].updater(),t.splice(m,1))}a=f}}},656:e=>{function t(n,s){if(s.styleSheet)s.styleSheet.cssText=n;else{for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(document.createTextNode(n))}}e.exports=t},670:(e,t,n)=>{n.d(t,{A:()=>i});var s=n(758),r=n.n(s),o=n(935),c=n.n(o),a=c()(r());a.push([e.id,`@keyframes before {
0% {
width: 0.6rem;
box-shadow: 1.2rem -0.6rem #ff3e38, -1.2rem 0.6rem #318ffa;
}
35% {
width: 3rem;
box-shadow: 0 -0.6rem #ff3e38, 0 0.6rem #318ffa;
}
70% {
width: 0.6rem;
box-shadow: -1.2rem -0.6rem #ff3e38, 1.2rem 0.6rem #318ffa;
}
100% {
box-shadow: 1.2rem -0.6rem #ff3e38, -1.2rem 0.6rem #318ffa;
}
}
@keyframes after {
0% {
height: 0.6rem;
box-shadow: 0.6rem 1.2rem #6ce581, -0.6rem -1.2rem #fecb2e;
}
35% {
height: 3rem;
box-shadow: 0.6rem 0 #6ce581, -0.6rem 0 #fecb2e;
}
70% {
height: 0.6rem;
box-shadow: 0.6rem -1.2rem #6ce581, -0.6rem 1.2rem #fecb2e;
}
100% {
box-shadow: 0.6rem 1.2rem #6ce581, -0.6rem -1.2rem #fecb2e;
}
}
.spinner {
position: relative;
height: 100%;
min-height: 100px;
display: block;
overflow: hidden;
pointer-events: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 9999;
background-color: hsla(0, 0%, 72%, 0.24);
}
.spinner.absolute {
position: absolute;
min-height: auto;
}
.spinner.global {
position: fixed;
width: 100vw;
height: 100vh;
}
.spinner .spinning {
width: 3rem;
height: 3rem;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%) rotate(165deg);
margin: 0;
}
.spinner .spinning::before,
.spinner .spinning::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 0.6rem;
height: 0.6rem;
border-radius: 0.3rem;
transform: translate(-50%, -50%);
}
.spinner .spinning::before {
animation: before 1.5s infinite;
}
.spinner .spinning::after {
animation: after 1.5s infinite;
}
`,""]);const i=a},740:e=>{function t(r,o,c){var a="";c.supports&&(a+="@supports (".concat(c.supports,") {")),c.media&&(a+="@media ".concat(c.media," {"));var i=typeof c.layer<"u";i&&(a+="@layer".concat(c.layer.length>0?" ".concat(c.layer):""," {")),a+=c.css,i&&(a+="}"),c.media&&(a+="}"),c.supports&&(a+="}");var l=c.sourceMap;l&&typeof btoa<"u"&&(a+=`
/*# sourceMappingURL=data:application/json;base64,`.concat(btoa(unescape(encodeURIComponent(JSON.stringify(l))))," */")),o.styleTagTransform(a,r,o.options)}function n(r){if(r.parentNode===null)return!1;r.parentNode.removeChild(r)}function s(r){if(typeof document>"u")return{update:function(){},remove:function(){}};var o=r.insertStyleElement(r);return{update:function(a){t(o,r,a)},remove:function(){n(o)}}}e.exports=s},758:e=>{e.exports=function(t){return t[1]}},845:(e,t,n)=>{n.d(t,{Ay:()=>u,nf:()=>i,vu:()=>l});var s=n(758),r=n.n(s),o=n(935),c=n.n(o),a=c()(r());a.push([e.id,`.Iuy_e {
text-decoration: none;
cursor: pointer;
color: var(--linkColor);
background-color: transparent;
font-weight: 500;
transition: color 0.3s;
}
.Iuy_e:active, .Iuy_e.D3oJg {
color: var(--linkActiveColor, #42a5f5);
}
.Iuy_e:hover {
color: var(--linkHoverColor, #2196f3);
}
.Iuy_e[disabled] {
cursor: not-allowed;
opacity: 0.7;
}
.Iuy_e[disabled]:active, .Iuy_e[disabled].D3oJg, .Iuy_e[disabled]:hover {
color: var(--linkColor);
}
`,""]);var i="Iuy_e",l="D3oJg";const u=a},855:(e,t,n)=>{function s(r){var o=n.nc;o&&r.setAttribute("nonce",o)}e.exports=s},935:e=>{e.exports=function(t){var n=[];return n.toString=function(){return this.map(function(r){var o="",c=typeof r[5]<"u";return r[4]&&(o+="@supports (".concat(r[4],") {")),r[2]&&(o+="@media ".concat(r[2]," {")),c&&(o+="@layer".concat(r[5].length>0?" ".concat(r[5]):""," {")),o+=t(r),c&&(o+="}"),r[2]&&(o+="}"),r[4]&&(o+="}"),o}).join("")},n.i=function(r,o,c,a,i){typeof r=="string"&&(r=[[null,r,void 0]]);var l={};if(c)for(var u=0;u<this.length;u++){var p=this[u][0];p!=null&&(l[p]=!0)}for(var _=0;_<r.length;_++){var f=[].concat(r[_]);c&&l[f[0]]||(typeof i<"u"&&(typeof f[5]>"u"||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=i),o&&(f[2]&&(f[1]="@media ".concat(f[2]," {").concat(f[1],"}")),f[2]=o),a&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=a):f[4]="".concat(a)),n.push(f))}},n}}},be={};function b(e){var t=be[e];if(t!==void 0)return t.exports;var n=be[e]={id:e,exports:{}};return ze[e](n,n.exports,b),n.exports}b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},b.d=(e,t)=>{for(var n in t)b.o(t,n)&&!b.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),b.nc=void 0;var Er={},Ge=e=>{var t={};return b.d(t,e),t},Cr=e=>()=>e;const g=Ge({Suspense:()=>I.Suspense,default:()=>I.default,useCallback:()=>I.useCallback,useEffect:()=>I.useEffect,useRef:()=>I.useRef,useState:()=>I.useState}),Qe=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),Z=Qe,Ze=e=>Z(e)==="array",k=Ze,Ke=e=>Z(e)==="object",R=Ke,et=e=>e?.$$typeof&&typeof e.$$typeof=="symbol"&&e.$$typeof.description?.indexOf("react.")===0,ae=et,tt=e=>e?.__v_isVNode,rt=tt,nt=(e,t)=>Object.prototype.hasOwnProperty.call(e??{},t),Ee=nt,Ce=e=>{if(!k(e)&&!R(e))return e;const t=k(e)?[]:{};for(const n in e)if(Ee(e,n)){const s=e[n];t[n]=ae(s)||rt(s)||typeof s!="object"?s:s!==e?Ce(s):"cyclic"}else Object.setPrototypeOf(t,{[n]:e[n]});return t},H=Ce,st=e=>Z(e)==="function",ue=st,ot=e=>Z(e)==="promise"||R(e)&&ue(e.then),J=ot,ct=(e,t=3e5,n="\u8BF7\u6C42\u8D85\u65F6\uFF01")=>{if(!J(e))return{};let s=null,r=null;return{promiseFn:new Promise((c,a)=>{s=(i="canceled")=>{clearTimeout(r),c({canceled:!0,errMsg:i})},t&&(t=typeof t!="number"?12e4:t,r=setTimeout(()=>s(n),t)),e.then(i=>{clearTimeout(r),c({result:i,errMsg:!1})}).catch(i=>{clearTimeout(r),a(i)})}),cancelFn:s}},Se=ct,at=e=>e?e.charAt(e.length-1)==="/"?e.slice(0,-1):e:"",xe=at;var S=b(85);const ut=(e,t)=>(0,S.jsx)("div",{dangerouslySetInnerHTML:{__html:e},...t}),it=ut,lt=e=>{const{error:t={},info:n=""}=e||{},{message:s,stack:r,errMsg:o}=t;let c=o||r||t.toString();c=`${c}
${n}`.replace(/\r|\n|\r\n/g,"<br/>"),c=c.replace(/\t/g," "),c=c.replace(/\s/g," ");const a=s?.slice(0,120).split(". ").slice(0,2).join(". ");return(0,S.jsxs)("div",{style:{padding:"15px 20px",backgroundColor:"#fff",wordWrap:"break-word"},children:[it(c,{style:{color:"red"}}),a&&(0,S.jsxs)("a",{style:{display:"inline-block",padding:"15px",color:"#00b4cf"},href:`https://stackoverflow.com/search?q=${a}`,target:"_blank",children:[" ","--> \u53BB\u7F51\u4E0A\u67E5\u627E\u9519\u8BEF\u539F\u56E0\uFF1F"]})]})},K=lt,ft=e=>/^https?:\/\/[^\s/?.#]+\.[^\s]+/.test(e),V=ft,pt=()=>{const e={};return{on:(r,o)=>{e[r]||(e[r]=[]),e[r].indexOf(o)===-1&&e[r].push(o)},emit:(r,o)=>{e[r]&&e[r].map(c=>c(o))},off:(r,o=null)=>{if(e[r]){if(typeof o!="function")return delete e[r];const c=e[r].indexOf(o);c>-1&&(e[r].splice(c,1),e[r].length||delete e[r])}}}},X=pt,Ae=e=>{const t={};for(let n in e)Ee(e,n)||(t[n]=e[n]);return t},dt=(e,t)=>{if(!R(e))return t;if(!R(t))return e;const n={...Ae(e),...Ae(t)},s={...e,...t};return Object.keys(n).map(r=>{Object.setPrototypeOf(s,{[r]:n[r]})}),s},mt=dt,ht=(e=X())=>{const{on:t,emit:n,off:s}=e,r={};return{getState:l=>H(r[l]),setState:(l,u=!1)=>{if(typeof l=="function"&&(l=l(H(r))),!R(l))throw TypeError("\u5FC5\u987B\u4F20\u5165object\u5BF9\u8C61\uFF01");const p=H(l);Object.keys(p).map(_=>{const f=r[_],d=p[_],v=R(d)&&R(f)?mt(f,d):d;!u&&n(_,v),r[_]=v})},subscribe:(l,u)=>(t(l,u),()=>s(l,u)),unsubscribe:s,clean:l=>{typeof l=="string"?r[l]=void 0:Array.isArray(l)?l.map(u=>r[u]=void 0):Object.keys(r).map(u=>r[u]=void 0)}}},ee=ht,_t=e=>(t,n)=>{const[s,r]=(0,g.useState)(()=>{const i=e?.getState(t);return i!==void 0?i:(n!==void 0&&e?.setState({[t]:n},!0),n)}),o=(0,g.useCallback)(i=>e?.setState({[t]:typeof i=="function"?i(e?.getState(t)):i}),[]),c=(0,g.useCallback)(i=>e?.subscribe(t,i),[]),a=(0,g.useCallback)((i=i)=>e?.clean(i),[]);return(0,g.useEffect)(()=>{e?.subscribe(t,i=>r(i))},[]),[s,o,c,a]},Re=_t,gt=ee(),Sr=Re(gt),xr=X(),Ar=X(),Rr="push-emitter",Pr="replace-emitter",Or="useRoute-emitter",ie={delay:8e3,timeoutMsg:"\u8BF7\u6C42\u8D85\u65F6\uFF01",cancelMsg:"\u8BF7\u6C42\u5DF2\u53D6\u6D88\uFF01"},le="/404",vt={getState:()=>history.state,go:e=>history.go(e),forward:()=>history.forward(),back:()=>history.back()},Pe=(e,t,n,s,r=[])=>{const o=i=>{for(let l=0,u=i.length;l<u;l++){const p=i[l],_=p[s].split("?")[0];if(new RegExp("^"+_.replace(/:[^/]+/g,"[^/]+")+"$").test(t)&&!p.childSameRouteLevel)return p;if(k(p[n])){const d=o(p[n]);if(d)return d}}},c=o(e);if(!c)return le;const{redirect:a}=c;return a?V(a)?a:r.includes(a)?r:(r.push(a),Pe(e,a.split("?")[0],n,s,r)):r[r.length-1]},yt=(e,t,n,s,r)=>{if(!k(e))return null;const o=u=>{const p=u.split("/"),_=t.split("/"),f={};return p.map((d,v)=>d.indexOf(":")===0&&(f[d.slice(1)]=_[v])),f},c=(u,p)=>{const _=[],f=p.split("/:")[0];for(let d=0,v=u.length;d<v;d++){const m=u[d];if(m[r]===f){m.active=!0;const{name:h,title:y,icon:C,params:E}=m;_.push({name:h,title:y,icon:C,params:E,[r]:f})}else if(p.indexOf(`${m[r]}/`)===0){m.active=!0;const h=o(m[r]),y=Object.keys(h).map(w=>h[w]).join("/"),{name:C,title:E,icon:x}=m,A=y?`${f}/${y}`:m[r];_.push({name:C,title:E,icon:x,[r]:A,params:{...m.params,...h}})}else if(m[r]===p){m.active=!0;const h=o(m[r]),{[s]:y,...C}=m;_.push({...C,[r]:t,params:{...C.params,...n,...h}})}}return _},a=(u,p)=>{for(let _=0,f=u.length;_<f;_++){const d=u[_];if(p.indexOf(`${d[r]}/`)===0){d.active=!0;return}}},i=u=>{for(let p=0,_=u.length;p<_;p++){const f=u[p],d=(f[r]||"").split("?")[0];if(d===t){if(f.childSameRouteLevel){f.active=!0,f.open=!0;const{[s]:y,...C}=f;return[C,...i(f[s])]}f.hideMenu&&a(u,f.parentPath||d),f.active=!0;const{[s]:m,...h}=f;return[{...h,params:{...h.params,...n}}]}if(new RegExp("^"+d.replace(/:[^/]+/g,"[^/]+")+"$").test(t))return c(u,d);if(k(f[s])){const m=i(f[s]);if(m){f.active=!0,f.open=!0;const{[s]:h,...y}=f;return[y,...m]}}}},l=i(e)||[];return{result:e,current:l}},Oe=(e,t,n)=>e.filter(s=>s.hideMenu||s[n].indexOf("/:")>-1?!1:(k(s[t])&&(s[t]=Oe(s[t],t,n)),!0)),bt=(e,t,n,s="children",r="path")=>{const o=Pe(e,t,s,r);if(o)return{redirect:o};const{result:c,current:a}=yt(e,t,n,s,r),i=Oe(c,s,r);return{current:a,menu:i}},Et=bt,Ct=e=>k(e)&&!!e.length,ke=Ct,fe=(e,t)=>{const n=["#/","/"],s=n[!!t-0];if(!e||n.includes(e))return s;const r=e.charAt(e.length-1)==="/"?e.slice(0,-1):e;return t||r.indexOf("#/")>-1?r:`#${r}`},q=(e,t,n,s=!1)=>{const r=fe(t,n);return s?r:n?e&&r==="/"?e:`${e}${r}`:e?`${e}/${r}`:r},St=(e,t,n,s,r,o)=>{if(!ke(e))return e;const c=(a,i="",l=0)=>a.filter(u=>!u.denied).map(u=>{if(!o&&!u.exact&&!V(u[s])){(!u[s]||u[s]==="javascript:;")&&(u[s]="");const p=u[s].charAt(0)==="/"&&i.charAt(i.length-1)==="/"?u[s].slice(1):u[s].charAt(0)!=="/"&&i.charAt(i.length-1)!=="/"?`/${u[s]}`:u[s];u[s]=i?i+p:q(r,p,t)}if(u.redirect&&!V(u.redirect)&&(u.redirect=q(r,u.redirect,t)),ke(u[n])&&(u[n]=c(u[n],u[s],l+1),!u.redirect)){const p=u[n].findIndex(_=>_[s]===u[s]);p&&(u.redirect=u[n][0][s]),p>-1&&(u.childSameRouteLevel=l+1)}return u});return c(e)},xt=e=>{if(!R(e))return"";const t=[];return Object.keys(e).map((n,s)=>{const r=s>0?"&":"?";t.push(`${r}${n}=${e[n]}`)}),t.join("")},we=xt,At=(e="")=>{const[t,n]=e.split("?");if(n){const s={};return n.split("&").map(o=>{const[c,a]=o.split("=");s[c]=a}),{path:t,params:s}}return{path:t}},pe=At,Rt=()=>{document.documentElement.scrollTop?document.documentElement.scrollTop=0:document.body.scrollTop&&(document.body.scrollTop=0)},Pt=(e,t,n={})=>{const s=n.description??"";for(let r=e.length-1,o;o=e[r--];){const{title:c,name:a}=o;if(typeof c=="string"&&c.length)return document.title=c,document.getElementsByTagName("meta").description.content=`${s??""}${c}`,c;if((c==null||c===!0)&&a){const i=t?`${a}-${t}`:a;return document.title=i,document.getElementsByTagName("meta").description.content=`${s??""}${i}`,i}if(t)return document.title=t,document.getElementsByTagName("meta").description.content=`${s??""}${t}`,t}},Ot=e=>{const{pathname:t,search:n,hash:s}=location;if(e){const i=fe(t,e),l=decodeURIComponent(`${i}${n}`),{params:u}=pe(l);return{path:l,params:u}}const r=decodeURIComponent(fe(s,e)),{params:o}=pe(r),c=xe(t);return{path:c?`${c}/${r}`:r,params:o}},de=(e,t,n)=>{typeof e=="function"&&e({...t,stay:new Date-n})},Me=(e,t,n,s)=>{let r=typeof e=="string"?e:e.path??"";const o=we(e.query);V(r)||(r=q(n,r,s,e.exact)),window?.open(`${r}${o}`,t)},kt=(e,t,n,s)=>{if(e.target||V(e.path)){Me(e,e.target,t,n);return}let r,o,c;if(typeof e=="string")r=e;else if(R(e))r=e.path,o=e.params,c=e.query;else return;!r||r==="."||r==="./"?r=s:r.indexOf("./")===0?r=`${s.split("?")[0]}${r.replace("./","/")}`:r.indexOf("../")===0&&(r=`${s.split("?")[0].split("/").slice(0,-1).join("/")}${r.replace("../","/")}`),r=q(t,r,n,e?.exact);const a=pe(r);r=a.path;const i={...a.params,...c},l=we(i);return r=`${r}${l}`,o={...o,...i},r===s?!1:{path:r,params:o}},Te=(e,t)=>{const n=e.split(t);return n.length>1?["","/"].includes(n[1].slice(0,1)):!1},wt=X(),Mt=e=>{const{on:t,emit:n,off:s}=wt;return{on:r=>t(e,r),emit:r=>n(e,r),off:r=>s(e,r)}},Fe=Mt,Tt=(e=ee())=>(t,n)=>{const{getState:s,setState:r,subscribe:o,unsubscribe:c,clean:a}=e;return n!==void 0&&r({[t]:n},!0),{getState:()=>s(t),setState:(i,l)=>r({[t]:i},l),subscribe:i=>o(t,i),unsubscribe:()=>c(t),clean:()=>a(t)}},$e=Tt,Ft=ee(),$t=$e(Ft),It=$t,me=Fe("push-emitter"),Ie=Fe("replace-emitter"),D=It("route-store"),De=X(),Be=ee(De),he=$e(Be),Dt=Re(Be),Bt=()=>![typeof window,typeof document].includes("undefined"),Lt=Bt,jt=e=>{if(!Lt())return;const t=document.createElement("div");return t.innerHTML=e,t.children[0]},Nt=jt;class Ut extends g.default.Component{state={error:null};static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,n){const{errorReport:s}=this.props;typeof s=="function"&&s({error:t,info:n.componentStack})}componentDidUpdate(t,n){n.error&&this.setState({error:null})}render(){const{error:t}=this.state,{fallback:n,children:s}=this.props;return t?n?.(t)??t:s}}const Wt=({children:e,report:t})=>(0,S.jsx)(Ut,{fallback:(n,s)=>K({error:n,info:s}),errorReport:t,children:e}),Ht=Wt;var Jt=b(591),Le=b.n(Jt),Vt=b(740),je=b.n(Vt),Xt=b(128),Ne=b.n(Xt),qt=b(855),Ue=b.n(qt),Yt=b(51),We=b.n(Yt),zt=b(656),He=b.n(zt),te=b(670),B={};B.styleTagTransform=He(),B.setAttributes=Ue(),B.insert=Ne().bind(null,"head"),B.domAPI=je(),B.insertStyleElement=We();var kr=Le()(te.A,B);const wr=te.A&&te.A.locals?te.A.locals:void 0,Gt=({global:e,absolute:t})=>(0,S.jsx)("div",{className:`spinner${e?" global":""}${t?" absolute":""}`,children:(0,S.jsx)("figure",{className:"spinning"})}),Qt=Gt,Zt=()=>{const e=(0,g.useRef)([]);return(0,g.useEffect)(()=>()=>{e.current.map(t=>t.cancelFn()),e.current=[]},[]),(0,g.useCallback)((t,n=!0)=>{const s=Se(t,n);return e.current.indexOf(s)===-1&&e.current.push(s),s.promiseFn},[])},Kt=Zt,er=(e={})=>{const t=Kt(),[n,s]=(0,g.useState)(e),r=(0,g.useRef)({}),o=(0,g.useRef)({}),c=(0,g.useCallback)((i=null)=>{Array.isArray(i)&&i.length?i.map(l=>r.current[l]=e[l]):r.current=e},[]),a=(0,g.useCallback)((i,l,u=!1)=>{const p=Object.keys(i),_=JSON.stringify(p.sort());if(!o.current[_]){o.current[_]=!0,u&&c(Array.isArray(u)?u:p),p.map(f=>{r.current[f]||(r.current[f]={}),r.current[f].pending=!0}),s({...r.current});for(let f=0,d=p.length;f<d;f++){const v=p[f];t(i[v]).then(m=>{let{result:h,errMsg:y}=m;f===d-1&&(o.current[_]=!1),typeof l=="function"&&(h=l(h)||h),r.current[v]={...h,pending:!1},y===!1&&s({...r.current})}).catch(m=>{throw f===d-1&&(o.current[_]=!1),r.current[v]={error:m,pending:!1},s({...r.current}),m})}}},[]);return[n,a,c]},Je=er,re=e=>Object.keys(e).length,tr=e=>{const{Comp:t,restResolve:n,loadPromise:s,params:r,children:o}=e,[c,a]=Je(),[i,l]=Je();return(0,g.useEffect)(()=>{re(n)&&a(n),re(s)&&l(s)},[n,s]),(0,g.useEffect)(()=>{const u=re(c);u&&u===re(n)&&he.setState(c)},[c]),(0,S.jsx)(t,{...r,...c,...i,children:o})},rr=tr,nr=e=>e===!1?null:ae(e)?e:ue(e)?(0,S.jsx)(e,{}):(0,S.jsx)(Qt,{}),sr=({Loading:e,ErrorBoundary:t,loadedComp:n})=>{const s=(0,S.jsx)(g.Suspense,{fallback:nr(e),children:n});return t===!1?s:ue(t)?(0,S.jsx)(t,{children:s}):(0,S.jsx)(Ht,{children:s})},or=({Comp:e,routerProps:t,children:n})=>{const{params:s,...r}=t,{loading:o,errorBoundary:c,...a}=s,i=(0,S.jsx)(rr,{Comp:e,...r,params:a,children:n});return sr({Loading:o,ErrorBoundary:c,loadedComp:i})},Ve=or,_e={},ge=(e,t,n,s)=>J(n)?n.then(r=>Ve({Comp:e,routerProps:t,children:r.default??r})):Ve({Comp:e,routerProps:t,children:n}),cr=(e,t)=>{const n={},s={};return R(e)?(Object.keys(e).map(r=>{const o=he.getState(r);o==null?s[r]=e[r](t):n[r]=o}),{cachedResolve:n,restResolve:s}):{cachedResolve:n,restResolve:s}},ar=(e,t)=>{if(!R(e))return{};const n={};return Object.keys(e).map(s=>n[s]=e[s](t)),n},ur=e=>{const{current:t,menu:n,...s}=e,r=t.map(a=>{const{component:i,resolve:l,loadData:u,loading:p,errorBoundary:_,icon:f,...d}=a;return d}),o=[...t].filter(a=>a.component),c=(a=0)=>{if(!o.length)return null;const i=o.shift(),{component:l,resolve:u,loadData:p,icon:_,key:f,...d}=i;if(typeof l=="function"||J(l)){const v=`${d.path}${d.childSameRouteLevel??""}`;let m=_e[v];const{cachedResolve:h,restResolve:y}=cr(u,d),E={loadPromise:ar(p,d),restResolve:y,params:{current:r,...s,...d,...h}},x=c(a+1);if(m)return ge(m,E,x,v);try{m=l(),m=ae(m)?l:m}catch{m=l}return J(m)?m.then(A=>(m=A.default??A,_e[v]=m,ge(m,E,x,v))):(_e[v]=m,ge(m,E,x,v))}return typeof l=="string"?Nt(l):l};return c()},ir=ur,lr=e=>{const[t,n]=(0,g.useState)(e),[s,r]=(0,g.useState)(),[o,c]=(0,g.useState)(),a=(0,g.useRef)(),i=(0,g.useRef)(),l=(0,g.useRef)(),u=(0,g.useRef)(),p=()=>{typeof a.current=="function"&&(a.current({cancel:ie.cancelMsg}),a.current=null)},_=(0,g.useCallback)(h=>{typeof h=="function"?n(y=>({...y,...h(y)})):R(h)&&n(y=>({...y,...h}))},[]),f=(h,y="pushState")=>{const{basepath:C,browserRouter:E}=u.current,x=l.current,A=kt(h,C,E,x);if(!A)return;const{path:w,params:$}=A;m({inputPath:w,inputParams:$},()=>history[y](h?.state,"",w))},d=(0,g.useCallback)(h=>f(h),[]),v=(0,g.useCallback)(h=>f(h,"replaceState"),[]),m=(0,g.useCallback)(({inputPath:h="",inputParams:y={}},C)=>{const E=+new Date,{browserRouter:x,childKey:A,idKey:w,title:$,metas:Y,routers:z,beforeRender:j,afterRender:N,basepath:U,allowedNotFound:O,...Xe}=u.current;if(!h){const{path:P,params:M}=Ot(x);h=P,y={...y,...M}}const ne=l.current;new Promise((P,M)=>{z?.length||M("\u8DEF\u7531\u4E3A\u7A7A\uFF01"),h!==l.current&&typeof j=="function"?j({path:h,params:y,prevPath:ne},P,M):P()}).then(P=>{if(P===!1)return;const M=P?.path;if(M&&q(U,M,x)!==h){v(P);return}i.current=i.current??h;const{redirect:T,current:W,menu:qe}=Et(H(z),h.split("?")[0],y,A,w);if(T){if(O&&T===le&&(typeof O=="boolean"||typeof O=="string"&&Te(i.current,O)||k(O)&&O.find(oe=>Te(i.current,oe))))return;if(k(T)){console.error(`\u522B\u95F9\uFF0C[${[h,...T].join(" -> ")}] \u91CD\u5B9A\u5411\u6B7B\u5FAA\u73AF\uFF01\uFF01\uFF01`);return}return T===le?v({path:T}):d({path:T,exact:!0})}C?.(),h?.split("?")[0]!==l.current?.split("?")[0]&&Rt(),Pt(W,$,Y);const ve={...Xe,updateRouter:_,router:{push:d,replace:v},current:W,menu:qe,inputPath:i.current,prevPath:ne,browserRouter:x,basepath:U,title:$,history:{...vt,goBack:G=>d({...G,path:ne})}};D.setState(ve);const se=ir(ve);if(l.current=h,i.current=null,p(),J(se)){const{promiseFn:G,cancelFn:oe}=Se(se,{delay:ie.delay,msg:{timeout:ie.timeoutMsg}});return a.current=oe,c(!0),G.then(Q=>{a.current=null;const{result:Ye,errMsg:ce}=Q,ye=ce===!1?Ye:ce?.timeout?K({error:{errMsg:`${h} ${ce.timeout}`}}):null;ye&&(c(!1),de(N,W.slice(-1)[0],E),r(ye))}).catch(Q=>{throw a.current=null,c(!1),de(N,W.slice(-1)[0],E),r(K({error:Q})),Q})}de(N,W.slice(-1)[0],E),r(se)}).catch(P=>{throw r(K({error:P})),P})},[]);return(0,g.useEffect)(()=>{const h={description:document.getElementsByTagName("meta").description.content??""},{childKey:y="children",idKey:C="path",browserRouter:E=!1,routers:x=[],basepath:A="",exact:w=!1,inputPath:$="",inputParams:Y={},...z}=t,j=xe(A),N=St(H(x),E,y,C,j,w);u.current={...z,childKey:y,idKey:C,browserRouter:E,routers:N,basepath:j,metas:h};const U=E?"popstate":"hashchange",O=()=>m({});return m({inputPath:$,inputParams:Y}),me.on(d),Ie.on(v),window.addEventListener(U,O,!1),()=>{p(),me.off(d),Ie.off(v),window.removeEventListener(U,O,!1)}},[t]),{updateRouter:_,output:s,loading:o}},fr=lr,pr=e=>{const{to:t,onClick:n,preventDefault:s,stopPropagation:r=!0,exact:o=!0,target:c,...a}=e,i=()=>{const u=typeof t=="string"?{exact:o,path:t}:{exact:o,...t};me.emit(u)};return u=>{if(u.preventDefault(),r&&u.stopPropagation(),!a?.disabled){if(!s){if(c){const{browserRouter:p,basepath:_}=D.getState();Me(t,c,_,p);return}i()}typeof n=="function"&&n()}}},dr=pr;var F=b(845),L={};L.styleTagTransform=He(),L.setAttributes=Ue(),L.insert=Ne().bind(null,"head"),L.domAPI=je(),L.insertStyleElement=We();var Mr=Le()(F.Ay,L);const Tr=F.Ay&&F.Ay.locals?F.Ay.locals:void 0,mr=e=>{if(!e)return F.nf;const t=e.trim().split(" ").filter(Boolean),s=t.find(r=>r==="active")?[F.vu]:[];return[F.nf,...s,...t].join(" ")},hr=e=>{const{to:t,onClick:n,preventDefault:s,stopPropagation:r,exact:o,target:c,className:a,...i}=e;return(0,S.jsx)("span",{onClick:dr(e),className:mr(a),...i})},_r=hr,gr=()=>{const[e,t]=(0,g.useState)(D.getState());return(0,g.useEffect)(()=>D.subscribe(n=>t(n)),[]),e},vr=gr,yr=D.getState,br=D.subscribe;export{_r as Link,br as emitRoute,yr as getRoute,De as huxyBus,he as huxyStore,Dt as useHuxyStore,vr as useRoute,fr as useRouter};