@fluixi/core 1.0.0-alpha.63 → 1.0.0-alpha.65
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/dist/cdn/core.global.js +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/lib/core.cjs +1 -1
- package/dist/src/lib/core.d.ts +2 -2
- package/dist/src/lib/core.d.ts.map +1 -1
- package/dist/src/lib/core.js +2 -2
- package/dist/src/lib/core.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +9 -9
package/dist/src/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var We=Object.defineProperty;var tn=Object.getOwnPropertyDescriptor;var nn=Object.getOwnPropertyNames;var rn=Object.prototype.hasOwnProperty;var Je=(e,t)=>{for(var n in t)We(e,n,{get:t[n],enumerable:!0})},ze=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of nn(t))!rn.call(e,o)&&o!==n&&We(e,o,{get:()=>t[o],enumerable:!(r=tn(t,o))||r.enumerable});return e},d=(e,t,n)=>(ze(e,t,"default"),n&&ze(n,t,"default"));var S={};Je(S,{$component:()=>E,Await:()=>q,Dynamic:()=>mt,ErrorBoundary:()=>gt,FRAMEWORK_NAME:()=>Ue,For:()=>lt,Index:()=>ft,Island:()=>Jt,Link:()=>N,Match:()=>yt,Portal:()=>ht,Router:()=>D,Show:()=>dt,Store:()=>Zt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>pt,VERSION:()=>He,addClass:()=>Pt,appendChildren:()=>Nt,batch:()=>De,classMap:()=>zt,cleanupDelegation:()=>le,clientOnly:()=>ge,closest:()=>wt,composeProviders:()=>Y,createComponent:()=>b,createComputed:()=>ke,createConsumer:()=>pe,createContext:()=>x,createContextWithProvider:()=>fe,createDebounce:()=>Tt,createDeferred:()=>Ne,createEffect:()=>Pe,createIsomorphicState:()=>G,createIsomorphicStore:()=>me,createMemo:()=>Re,createMemoryStorage:()=>ee,createProvider:()=>M,createRenderEffect:()=>Ee,createResource:()=>xt,createRoot:()=>Oe,createSelector:()=>je,createSignal:()=>Ae,createStore:()=>Yt,createTheme:()=>he,default:()=>$e,delegate:()=>Vt,domCreateElement:()=>Dt,env:()=>O,getAttribute:()=>Et,getOffset:()=>Kt,getOwner:()=>Ie,getStyle:()=>Mt,hasClass:()=>Ot,html:()=>vt,hydrateIslands:()=>Bt,initDelegation:()=>de,isClient:()=>Z,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ue,isServer:()=>Q,isVisible:()=>_t,lazy:()=>I,mergeProps:()=>qt,observeIntersection:()=>Ut,observeResize:()=>$t,onCleanup:()=>Le,onMount:()=>w,onUnmount:()=>P,portal:()=>ce,query:()=>bt,queryAll:()=>St,read:()=>Ke,reduce:()=>Ve,removeAttribute:()=>Lt,removeChildren:()=>Ft,removeClass:()=>Rt,render:()=>X,runWithOwner:()=>Me,scrollIntoView:()=>jt,setAttribute:()=>kt,setOwner:()=>_e,setStyles:()=>It,splitProps:()=>Xt,storage:()=>A,styleMap:()=>Wt,svg:()=>Ct,toggleClass:()=>At,untrack:()=>Fe,untrackStore:()=>Gt,unwrap:()=>Qt,useCallback:()=>$,useContext:()=>T,useEffect:()=>L,useEventListener:()=>U,useLocation:()=>we,useMemo:()=>K,useNavigate:()=>F,useParams:()=>Se,useProvide:()=>ye,useReducer:()=>H,useRef:()=>V,useRouter:()=>v,waitForElement:()=>Ht});import{registerCreateComponent as on,asComponent as sn}from"@fluixi/dom";import{untrack as Be,onCleanup as C,getOwner as oe,createEffect as j,createMemo as qe,createSignal as an,isSignal as cn,batch as un,runWithOwner as Xe,isOwnerDisposed as dn}from"@fluixi/reactive/signal";var re=Symbol.for("fluixi-lifecycle");function Ye(){let e=oe();if(!e)return null;if(!e[re]){let t={mounts:[],effects:[],scheduled:!1};e[re]=t}return e[re]}function Ge(e){if(e.scheduled)return;e.scheduled=!0;let t=oe();queueMicrotask(()=>{if(dn(t)){e.mounts=[],e.effects=[];return}Xe(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&C(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;j(()=>{r&&r(),r=n()}),C(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function h(e){on(b)}function b(e,t){return E(e,t)}function E(e,t){let n=typeof e=="function"?Be(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!cn(n)){try{n.$name=e.name}catch{}return sn(n)}return n}function w(e,t=!0){let n=Ye();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ge(n)}else{if(!t){e();return}j(()=>{let r=Be(e);typeof r=="function"&&C(r)})}}function P(e){C(e)}function L(e){let t=Ye();if(t)t.effects.push(e),Ge(t);else{let n;j(()=>{n&&n(),n=e()}),C(()=>{n&&n()})}}function K(e){return qe(e)}function V(e){let t={current:e};return C(()=>{t.current=null}),t}function H(e,t){let[n,r]=an(t);return[n,i=>{r(e(n(),i))}]}function U(e,t,n,r){L(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function $(e){return e}var c={};Je(c,{$component:()=>E,Await:()=>q,Dynamic:()=>mt,ErrorBoundary:()=>gt,FRAMEWORK_NAME:()=>Ue,For:()=>lt,Index:()=>ft,Island:()=>Jt,Link:()=>N,Match:()=>yt,Portal:()=>ht,Router:()=>D,Show:()=>dt,Store:()=>Zt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>pt,VERSION:()=>He,addClass:()=>Pt,appendChildren:()=>Nt,batch:()=>De,classMap:()=>zt,cleanupDelegation:()=>le,clientOnly:()=>ge,closest:()=>wt,composeProviders:()=>Y,createComponent:()=>b,createComputed:()=>ke,createConsumer:()=>pe,createContext:()=>x,createContextWithProvider:()=>fe,createDebounce:()=>Tt,createDeferred:()=>Ne,createEffect:()=>Pe,createIsomorphicState:()=>G,createIsomorphicStore:()=>me,createMemo:()=>Re,createMemoryStorage:()=>ee,createProvider:()=>M,createRenderEffect:()=>Ee,createResource:()=>xt,createRoot:()=>Oe,createSelector:()=>je,createSignal:()=>Ae,createStore:()=>Yt,createTheme:()=>he,default:()=>$e,delegate:()=>Vt,domCreateElement:()=>Dt,env:()=>O,getAttribute:()=>Et,getOffset:()=>Kt,getOwner:()=>Ie,getStyle:()=>Mt,hasClass:()=>Ot,html:()=>vt,hydrateIslands:()=>Bt,initDelegation:()=>de,isClient:()=>Z,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ue,isServer:()=>Q,isVisible:()=>_t,lazy:()=>I,mergeProps:()=>qt,observeIntersection:()=>Ut,observeResize:()=>$t,onCleanup:()=>Le,onMount:()=>w,onUnmount:()=>P,portal:()=>ce,query:()=>bt,queryAll:()=>St,read:()=>Ke,reduce:()=>Ve,removeAttribute:()=>Lt,removeChildren:()=>Ft,removeClass:()=>Rt,render:()=>X,runWithOwner:()=>Me,scrollIntoView:()=>jt,setAttribute:()=>kt,setOwner:()=>_e,setStyles:()=>It,splitProps:()=>Xt,storage:()=>A,styleMap:()=>Wt,svg:()=>Ct,toggleClass:()=>At,untrack:()=>Fe,untrackStore:()=>Gt,unwrap:()=>Qt,useCallback:()=>$,useContext:()=>T,useEffect:()=>L,useEventListener:()=>U,useLocation:()=>we,useMemo:()=>K,useNavigate:()=>F,useParams:()=>Se,useProvide:()=>ye,useReducer:()=>H,useRef:()=>V,useRouter:()=>v,waitForElement:()=>Ht});import{createEffect as Pe,createMemo as Re,createSignal as Ae,createResource as xt,createRoot as Oe,createComputed as ke,createRenderEffect as Ee,onCleanup as Le,getOwner as Ie,runWithOwner as Me,batch as De,untrack as Fe,createDeferred as Ne,setOwner as _e}from"@fluixi/reactive/signal";import{createDebounce as Tt,createSelector as je}from"@fluixi/reactive/signal";import{readSignal as Ke,reduceSignal as Ve}from"@fluixi/reactive/operators";import{createRoot as Pn}from"@fluixi/reactive/signal";import{isDOMNode as Rn,delegateEvents as rt,insert as An}from"@fluixi/dom";import{createSignal as ie,createMemo as ln,createEffect as fn,createRenderEffect as pn,isSignal as se,useContext as yn,createContext as mn,createSuspenseBoundary as gn,provideSuspense as Qe}from"@fluixi/reactive/signal";import{asSuspense as hn,isComponent as xn,createComponent as Ze,runWithoutHydration as Tn}from"@fluixi/dom";function z(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function W(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function et(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function J(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var tt=mn();function R(e){return Ze(vn,e)}function vn(e){let t=gn(),n=yn(tt),r=n?n.register(t.inFallback):void 0;function o(l){return l==null||typeof l=="boolean"?null:typeof l=="function"&&xn(l)&&!se(l)?l():l}let i=Tn(()=>o(e.fallback??null)),s=Qe(t,()=>e.children);Qe(t,()=>{pn(()=>{let l=s;if(Array.isArray(l))for(let f of l)typeof f=="function"&&se(f)&&f();else typeof l=="function"&&se(l)&&l()})});let[a,u]=ie(void 0),p=et(s);return p&&(t.increment(),s.then(l=>{u(()=>l),t.decrement()},()=>t.decrement())),ln(()=>(r?r.showFallback():t.inFallback())?i:p?a():s)}function B(e){return Ze(Cn,e)}function Cn(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(a=>!a.inFallback());r.forEach(a=>{a.setShowContent(s),a.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,a=!1;for(let u of s)a||u.inFallback()?(a=!0,u.setShowContent(!1),u.setShowFallback(n!=="hidden")):(u.setShowContent(!0),u.setShowFallback(!1))}}let i={register:s=>{let[a,u]=ie(!0),[p,l]=ie(!1);return r.push({inFallback:s,setShowContent:u,setShowFallback:l}),fn(()=>{s(),o()}),{showContent:a,showFallback:p}}};return tt.Provider({value:i,children:e.children})}hn(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as nt,createMemo as bn,createResource as Sn}from"@fluixi/reactive/signal";function I(e,t){let n,r,o;function i(){return r||(r=e().then(a=>n=a.default)),r}t?.preload&&i();let s=(a=>{if(n){let u=n;return nt(()=>u(a))}if(!o){let[u]=Sn(()=>i());if(o=u,u.error)throw u.error}return bn(()=>{let u=o();return u?nt(()=>u(a)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}import{createResource as wn}from"@fluixi/reactive/signal";function q(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=wn(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var ae=typeof window>"u";function X(e,t,n={}){if(h("render"),rt(["click","input","change","submit"]),ae)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return Pn(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),An(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function On(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ce(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=X(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function ue(e){return!!(e==null||typeof e=="function"||Rn(e)||On(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function de(){ae||rt(["click","input","change","submit"])}function le(){}import{asProvider as kn}from"@fluixi/dom";import{createContext as En,useContext as Ln}from"@fluixi/reactive/signal";import{readChildren as In}from"@fluixi/reactive/signal";h("index");var ot=!1;function Mn(){ot||(ot=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function M(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||Mn();let a=typeof i=="function"?i():i,u=r?n:e;return o.Provider({value:a,get children(){return u?.children},debug:s})}function fe(e){let t=x(e);return[t,r=>M(t,r.value,r)]}function Y(e,t){if(e.length===0)return In(()=>t);let[n,r]=e[0],o=e.slice(1);return M(n,r,{get children(){return Y(o,t)}})}function pe(e){return t=>{let n=T(e);return t.children(n)}}function ye(e,t){let n=T(e);return n===e.defaultValue?t():n}function x(e){let t=En(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:kn(n),defaultValue:e}}function T(e){let t=Ln(e);return t!==void 0?t:e.defaultValue}import{createSignal as Dn,createMemo as Fn}from"@fluixi/reactive/signal";import{getServerData as Nn}from"@fluixi/dom";var _n="__fluixi_iso_states__",jn="__iso:";function Kn(){return globalThis[_n]??=new Map}function st(e){if(typeof window>"u")return;let t=Nn();return t?t[jn+e]:void 0}function G(e,t){let n=st(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=Dn(r);return Kn().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function me(e,t){let n=st(e)!==void 0,r=G(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=f=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(f))}catch{}},s=f=>{r.set(f),i(f)},a=(f,_)=>{s({...o(),[f]:_})},u={};for(let f of Object.keys(t.fallback))u[f]=Fn(()=>o()[f]);let p=null;return{value:o,fields:u,set:s,setField:a,ensureInit:()=>n||!t.client?Promise.resolve():(p||(p=Promise.resolve(t.client()).then(f=>{s(f)}).catch(f=>{throw p=null,f})),p),key:e}}var Q=typeof document>"u",Z=!Q;function ee(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var A=typeof localStorage<"u"?localStorage:ee(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function ge(e,t){return Z?e():t}import{createSignal as it}from"@fluixi/reactive/signal";function Vn(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function he(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=Vn(e.system),o=()=>{let y=A.getItem(t);return y&&e.themes.includes(y)?y:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=it(o()),[a,u]=it(!1),p=y=>{O.document?.documentElement.setAttribute(n,y);try{A.setItem(t,y)}catch{}},l=y=>{if(!e.themes.includes(y))return;let en=i();s(()=>y),p(y),e.onChange?.(y,en),e.load&&(u(!0),e.onLoading?.(y),Promise.resolve(e.load(y)).finally(()=>{u(!1),e.onLoaded?.(y)}))};return{value:i,isLoading:a,set:l,toggle:()=>{let y=e.themes.indexOf(i());l(e.themes[(y+1)%e.themes.length])},init:()=>p(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}d(c,ts);import*as ts from"@fluixi/utils";import{createSignal as ve,createMemo as k,createResource as Jn,createEffect as Ce,getOwner as Bn,onCleanup as at,untrack as xe}from"@fluixi/reactive/signal";import{insert as Te,createComponent as ct,createNativeElement as te,setAttribute as g}from"@fluixi/dom";import{createContext as ne,useContext as ut}from"@fluixi/reactive/signal";import{get as Ro}from"@fluixi/utils/object";import{deepEqual as Oo}from"@fluixi/utils/compare";import{createRouter as qn,createBrowserHistory as Xn,matchRoutes as Eo,matchPath as Lo}from"@fluixi/router";import{createMemoryHistory as Do,createBrowserHistory as Fo,matchRoutes as No,matchPath as _o}from"@fluixi/router";import{createResource as ao,createSignal as zn}from"@fluixi/reactive/signal";var Hn=new Map;function Un(){Hn.clear()}function $n(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,i=o.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),Un()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout($n,100)});var[fo,po]=zn(0);var Wn=x(),yo=Wn.Provider;import{runWithOwner as Ho}from"@fluixi/reactive/signal";var be=ne(),Yn=ne(),Gn=ne(),Qn=ne();function Zn(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let l=!1;at(()=>{l=!0});let f=Bn(),[_]=Jn(()=>o({params:n.params,location:n.location},f,()=>l));r=_}let i=()=>Qn.Provider({value:r,get children(){return Gn.Provider({value:e.params,get children(){return Yn.Provider({value:{depth:t,...n},get children(){return ct(e.component,{})}})}})}});if(!r)return i();let s=r,a=()=>s.loading,[u,p]=ve(xe(()=>!a()));return Ce(()=>p(!a())),k(()=>u()?i():null)}function er(e){let t=e.depth+1,[n,r]=ve(xe(()=>e.matched()[t]?.component));return Ce(()=>{let o=e.matched()[t]?.component;r(()=>o)}),k(()=>{if(!n())return e.notFound?e.notFound():null;let i=xe(()=>e.matched())[t];return Zn(i,t,{matched:e.matched,params:e.params,location:e.location})})}function tr(e){return e==null?nr():typeof e=="function"?ct(e,{}):e}function nr(){let e=te("div");g(e,"class","fx-not-found"),g(e,"role","main"),g(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=te("h1");g(t,"style","margin:0;font-size:2.5rem;font-weight:700"),Te(t,"404");let n=te("p");return g(n,"style","margin:0;opacity:.7"),Te(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function D(e){let t=e.history??Xn(),n=qn({routes:e.routes,base:e.base,history:t}),[r,o]=ve(n.state()),i=n.subscribe(o);at(()=>{i(),n.destroy()});let s=k(()=>(r().match?.matched??[]).filter(l=>l.component)),a={router:n,location:k(()=>r().location),params:k(()=>r().match?.params??{})},u={depth:-1,matched:s,params:a.params,location:a.location,notFound:()=>tr(e.notFound)},p;return be.Provider({value:a,get children(){return p??=er(u)}})}var rr={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=ut(be);if(e)return e;if(typeof window>"u")return rr;throw new Error("[router-next] useRouter must be used within <Router>")}function Se(){let e=v().params;return k(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function we(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function F(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var m=e=>typeof e=="function"?e():e,or=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function N(e){let t=ut(be),n=typeof document>"u",r=()=>t?.router.navigate(m(e.href)??"",{replace:m(e.replace)}),o=te("a");g(o,"href",m(e.href)??""),e.slot&&g(o,"slot",m(e.slot));for(let[s,a]of Object.entries(e))or.has(s)||a!=null&&typeof a!="function"&&g(o,s,String(a));if(typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=m(e.className??e.class)??"";s&&g(o,"class",s)}typeof o.addEventListener=="function"&&Ce(()=>{let s=m(e.href)??"";o.setAttribute("href",s);let a=m(e.className??e.class)??"",u=m(e.activeClass)??"",p=m(e.active)??t?.location().pathname===s;o.className=[a,p?u:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&Te(o,i),o}import{html as vt,svg as Ct}from"@fluixi/dom";import{query as bt,queryAll as St,closest as wt,addClass as Pt,removeClass as Rt,toggleClass as At,hasClass as Ot,setAttribute as kt,getAttribute as Et,removeAttribute as Lt,setStyles as It,getStyle as Mt,createElement as Dt,removeChildren as Ft,appendChildren as Nt,isVisible as _t,scrollIntoView as jt,getOffset as Kt,delegate as Vt,waitForElement as Ht,observeIntersection as Ut,observeResize as $t}from"@fluixi/dom";import{classMap as zt,styleMap as Wt,Island as Jt,hydrateIslands as Bt,mergeProps as qt,splitProps as Xt}from"@fluixi/dom";import{Show as dt,For as lt,Index as ft,Switch as pt,Match as yt,Dynamic as mt,ErrorBoundary as gt,Portal as ht}from"@fluixi/dom";import{createStore as Yt,untrackStore as Gt,unwrap as Qt,Store as Zt}from"@fluixi/reactive/store";var He="0.0.1",Ue="Fluixi";var $e={createComponent:b,onMount:w,onUnmount:P,createEffect:Pe,createMemo:Re,createSignal:Ae,createContext:x,createRoot:Oe,createDeferred:Ne,createComputed:ke,createRenderEffect:Ee,createSelector:je,onCleanup:Le,getOwner:Ie,runWithOwner:Me,batch:De,untrack:Fe,useContext:T,setOwner:_e,Router:D,Link:N,useRouter:v,useNavigate:F,read:Ke,reduce:Ve,VERSION:He,FRAMEWORK_NAME:Ue};h("fluixi element main");d(S,c);h("fluixi index");export{E as $component,q as Await,mt as Dynamic,gt as ErrorBoundary,Ue as FRAMEWORK_NAME,lt as For,ft as Index,Jt as Island,N as Link,yt as Match,ht as Portal,D as Router,dt as Show,Zt as Store,R as Suspense,B as SuspenseList,pt as Switch,He as VERSION,Pt as addClass,Nt as appendChildren,De as batch,zt as classMap,le as cleanupDelegation,ge as clientOnly,wt as closest,Y as composeProviders,b as createComponent,ke as createComputed,pe as createConsumer,x as createContext,fe as createContextWithProvider,Tt as createDebounce,Ne as createDeferred,Pe as createEffect,G as createIsomorphicState,me as createIsomorphicStore,Re as createMemo,ee as createMemoryStorage,M as createProvider,Ee as createRenderEffect,xt as createResource,Oe as createRoot,je as createSelector,Ae as createSignal,Yt as createStore,he as createTheme,$e as default,Vt as delegate,Dt as domCreateElement,O as env,Et as getAttribute,Kt as getOffset,Ie as getOwner,Mt as getStyle,Ot as hasClass,vt as html,Bt as hydrateIslands,de as initDelegation,Z as isClient,J as isJSXElement,W as isLitResult,z as isNode,ue as isRenderable,Q as isServer,_t as isVisible,I as lazy,qt as mergeProps,Ut as observeIntersection,$t as observeResize,Le as onCleanup,w as onMount,P as onUnmount,ce as portal,bt as query,St as queryAll,Ke as read,Ve as reduce,Lt as removeAttribute,Ft as removeChildren,Rt as removeClass,X as render,Me as runWithOwner,jt as scrollIntoView,kt as setAttribute,_e as setOwner,It as setStyles,Xt as splitProps,A as storage,Wt as styleMap,Ct as svg,At as toggleClass,Fe as untrack,Gt as untrackStore,Qt as unwrap,$ as useCallback,T as useContext,L as useEffect,U as useEventListener,we as useLocation,K as useMemo,F as useNavigate,Se as useParams,ye as useProvide,H as useReducer,V as useRef,v as useRouter,Ht as waitForElement};
|
|
1
|
+
var We=Object.defineProperty;var rn=Object.getOwnPropertyDescriptor;var on=Object.getOwnPropertyNames;var sn=Object.prototype.hasOwnProperty;var Je=(e,t)=>{for(var n in t)We(e,n,{get:t[n],enumerable:!0})},ze=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of on(t))!sn.call(e,o)&&o!==n&&We(e,o,{get:()=>t[o],enumerable:!(r=rn(t,o))||r.enumerable});return e},d=(e,t,n)=>(ze(e,t,"default"),n&&ze(n,t,"default"));var S={};Je(S,{$component:()=>E,Await:()=>q,Dynamic:()=>mt,ErrorBoundary:()=>gt,FRAMEWORK_NAME:()=>Ue,For:()=>lt,Index:()=>ft,Island:()=>qt,Link:()=>N,Match:()=>yt,Portal:()=>ht,Router:()=>M,Show:()=>dt,Store:()=>tn,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>pt,VERSION:()=>He,addClass:()=>At,appendChildren:()=>jt,batch:()=>Me,classMap:()=>Jt,cleanupDelegation:()=>le,clientOnly:()=>ge,closest:()=>Rt,composeProviders:()=>Y,createComponent:()=>b,createComputed:()=>ke,createConsumer:()=>pe,createContext:()=>x,createContextWithProvider:()=>fe,createDebounce:()=>Tt,createDebouncedResource:()=>vt,createDebouncedSignal:()=>Ct,createDeferred:()=>Ne,createEffect:()=>Pe,createIsomorphicState:()=>G,createIsomorphicStore:()=>me,createMemo:()=>Re,createMemoryStorage:()=>ee,createProvider:()=>I,createRenderEffect:()=>Ee,createResource:()=>xt,createRoot:()=>Oe,createSelector:()=>je,createSignal:()=>Ae,createStore:()=>Qt,createTheme:()=>he,default:()=>$e,delegate:()=>Ut,domCreateElement:()=>Nt,env:()=>O,getAttribute:()=>Dt,getOffset:()=>Ht,getOwner:()=>De,getStyle:()=>Ft,hasClass:()=>Et,html:()=>bt,hydrateIslands:()=>Xt,initDelegation:()=>de,isClient:()=>Z,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ue,isServer:()=>Q,isVisible:()=>Kt,lazy:()=>D,mergeProps:()=>Yt,observeIntersection:()=>zt,observeResize:()=>Wt,onCleanup:()=>Le,onMount:()=>w,onUnmount:()=>P,portal:()=>ce,query:()=>wt,queryAll:()=>Pt,read:()=>Ke,reduce:()=>Ve,removeAttribute:()=>It,removeChildren:()=>_t,removeClass:()=>Ot,render:()=>X,runWithOwner:()=>Ie,scrollIntoView:()=>Vt,setAttribute:()=>Lt,setOwner:()=>_e,setStyles:()=>Mt,splitProps:()=>Gt,storage:()=>A,styleMap:()=>Bt,svg:()=>St,toggleClass:()=>kt,untrack:()=>Fe,untrackStore:()=>Zt,unwrap:()=>en,useCallback:()=>$,useContext:()=>T,useEffect:()=>L,useEventListener:()=>U,useLocation:()=>we,useMemo:()=>K,useNavigate:()=>F,useParams:()=>Se,useProvide:()=>ye,useReducer:()=>H,useRef:()=>V,useRouter:()=>v,waitForElement:()=>$t});import{registerCreateComponent as an,asComponent as cn}from"@fluixi/dom";import{untrack as Be,onCleanup as C,getOwner as oe,createEffect as j,createMemo as qe,createSignal as un,isSignal as dn,batch as ln,runWithOwner as Xe,isOwnerDisposed as fn}from"@fluixi/reactive/signal";var re=Symbol.for("fluixi-lifecycle");function Ye(){let e=oe();if(!e)return null;if(!e[re]){let t={mounts:[],effects:[],scheduled:!1};e[re]=t}return e[re]}function Ge(e){if(e.scheduled)return;e.scheduled=!0;let t=oe();queueMicrotask(()=>{if(fn(t)){e.mounts=[],e.effects=[];return}Xe(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&C(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;j(()=>{r&&r(),r=n()}),C(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function h(e){an(b)}function b(e,t){return E(e,t)}function E(e,t){let n=typeof e=="function"?Be(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!dn(n)){try{n.$name=e.name}catch{}return cn(n)}return n}function w(e,t=!0){let n=Ye();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ge(n)}else{if(!t){e();return}j(()=>{let r=Be(e);typeof r=="function"&&C(r)})}}function P(e){C(e)}function L(e){let t=Ye();if(t)t.effects.push(e),Ge(t);else{let n;j(()=>{n&&n(),n=e()}),C(()=>{n&&n()})}}function K(e){return qe(e)}function V(e){let t={current:e};return C(()=>{t.current=null}),t}function H(e,t){let[n,r]=un(t);return[n,i=>{r(e(n(),i))}]}function U(e,t,n,r){L(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function $(e){return e}var c={};Je(c,{$component:()=>E,Await:()=>q,Dynamic:()=>mt,ErrorBoundary:()=>gt,FRAMEWORK_NAME:()=>Ue,For:()=>lt,Index:()=>ft,Island:()=>qt,Link:()=>N,Match:()=>yt,Portal:()=>ht,Router:()=>M,Show:()=>dt,Store:()=>tn,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>pt,VERSION:()=>He,addClass:()=>At,appendChildren:()=>jt,batch:()=>Me,classMap:()=>Jt,cleanupDelegation:()=>le,clientOnly:()=>ge,closest:()=>Rt,composeProviders:()=>Y,createComponent:()=>b,createComputed:()=>ke,createConsumer:()=>pe,createContext:()=>x,createContextWithProvider:()=>fe,createDebounce:()=>Tt,createDebouncedResource:()=>vt,createDebouncedSignal:()=>Ct,createDeferred:()=>Ne,createEffect:()=>Pe,createIsomorphicState:()=>G,createIsomorphicStore:()=>me,createMemo:()=>Re,createMemoryStorage:()=>ee,createProvider:()=>I,createRenderEffect:()=>Ee,createResource:()=>xt,createRoot:()=>Oe,createSelector:()=>je,createSignal:()=>Ae,createStore:()=>Qt,createTheme:()=>he,default:()=>$e,delegate:()=>Ut,domCreateElement:()=>Nt,env:()=>O,getAttribute:()=>Dt,getOffset:()=>Ht,getOwner:()=>De,getStyle:()=>Ft,hasClass:()=>Et,html:()=>bt,hydrateIslands:()=>Xt,initDelegation:()=>de,isClient:()=>Z,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ue,isServer:()=>Q,isVisible:()=>Kt,lazy:()=>D,mergeProps:()=>Yt,observeIntersection:()=>zt,observeResize:()=>Wt,onCleanup:()=>Le,onMount:()=>w,onUnmount:()=>P,portal:()=>ce,query:()=>wt,queryAll:()=>Pt,read:()=>Ke,reduce:()=>Ve,removeAttribute:()=>It,removeChildren:()=>_t,removeClass:()=>Ot,render:()=>X,runWithOwner:()=>Ie,scrollIntoView:()=>Vt,setAttribute:()=>Lt,setOwner:()=>_e,setStyles:()=>Mt,splitProps:()=>Gt,storage:()=>A,styleMap:()=>Bt,svg:()=>St,toggleClass:()=>kt,untrack:()=>Fe,untrackStore:()=>Zt,unwrap:()=>en,useCallback:()=>$,useContext:()=>T,useEffect:()=>L,useEventListener:()=>U,useLocation:()=>we,useMemo:()=>K,useNavigate:()=>F,useParams:()=>Se,useProvide:()=>ye,useReducer:()=>H,useRef:()=>V,useRouter:()=>v,waitForElement:()=>$t});import{createEffect as Pe,createMemo as Re,createSignal as Ae,createResource as xt,createRoot as Oe,createComputed as ke,createRenderEffect as Ee,onCleanup as Le,getOwner as De,runWithOwner as Ie,batch as Me,untrack as Fe,createDeferred as Ne,setOwner as _e}from"@fluixi/reactive/signal";import{createDebounce as Tt,createDebouncedResource as vt,createDebouncedSignal as Ct,createSelector as je}from"@fluixi/reactive/signal";import{readSignal as Ke,reduceSignal as Ve}from"@fluixi/reactive/operators";import{createRoot as An}from"@fluixi/reactive/signal";import{isDOMNode as On,delegateEvents as rt,insert as kn}from"@fluixi/dom";import{createSignal as ie,createMemo as pn,createEffect as yn,createRenderEffect as mn,isSignal as se,useContext as gn,createContext as hn,createSuspenseBoundary as xn,provideSuspense as Qe}from"@fluixi/reactive/signal";import{asSuspense as Tn,isComponent as vn,createComponent as Ze,runWithoutHydration as Cn}from"@fluixi/dom";function z(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function W(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function et(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function J(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var tt=hn();function R(e){return Ze(bn,e)}function bn(e){let t=xn(),n=gn(tt),r=n?n.register(t.inFallback):void 0;function o(l){return l==null||typeof l=="boolean"?null:typeof l=="function"&&vn(l)&&!se(l)?l():l}let i=Cn(()=>o(e.fallback??null)),s=Qe(t,()=>e.children);Qe(t,()=>{mn(()=>{let l=s;if(Array.isArray(l))for(let f of l)typeof f=="function"&&se(f)&&f();else typeof l=="function"&&se(l)&&l()})});let[a,u]=ie(void 0),p=et(s);return p&&(t.increment(),s.then(l=>{u(()=>l),t.decrement()},()=>t.decrement())),pn(()=>(r?r.showFallback():t.inFallback())?i:p?a():s)}function B(e){return Ze(Sn,e)}function Sn(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(a=>!a.inFallback());r.forEach(a=>{a.setShowContent(s),a.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,a=!1;for(let u of s)a||u.inFallback()?(a=!0,u.setShowContent(!1),u.setShowFallback(n!=="hidden")):(u.setShowContent(!0),u.setShowFallback(!1))}}let i={register:s=>{let[a,u]=ie(!0),[p,l]=ie(!1);return r.push({inFallback:s,setShowContent:u,setShowFallback:l}),yn(()=>{s(),o()}),{showContent:a,showFallback:p}}};return tt.Provider({value:i,children:e.children})}Tn(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as nt,createMemo as wn,createResource as Pn}from"@fluixi/reactive/signal";function D(e,t){let n,r,o;function i(){return r||(r=e().then(a=>n=a.default)),r}t?.preload&&i();let s=(a=>{if(n){let u=n;return nt(()=>u(a))}if(!o){let[u]=Pn(()=>i());if(o=u,u.error)throw u.error}return wn(()=>{let u=o();return u?nt(()=>u(a)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}import{createResource as Rn}from"@fluixi/reactive/signal";function q(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=Rn(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var ae=typeof window>"u";function X(e,t,n={}){if(h("render"),rt(["click","input","change","submit"]),ae)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return An(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),kn(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function En(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ce(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=X(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function ue(e){return!!(e==null||typeof e=="function"||On(e)||En(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function de(){ae||rt(["click","input","change","submit"])}function le(){}import{asProvider as Ln}from"@fluixi/dom";import{createContext as Dn,useContext as In}from"@fluixi/reactive/signal";import{readChildren as Mn}from"@fluixi/reactive/signal";h("index");var ot=!1;function Fn(){ot||(ot=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function I(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||Fn();let a=typeof i=="function"?i():i,u=r?n:e;return o.Provider({value:a,get children(){return u?.children},debug:s})}function fe(e){let t=x(e);return[t,r=>I(t,r.value,r)]}function Y(e,t){if(e.length===0)return Mn(()=>t);let[n,r]=e[0],o=e.slice(1);return I(n,r,{get children(){return Y(o,t)}})}function pe(e){return t=>{let n=T(e);return t.children(n)}}function ye(e,t){let n=T(e);return n===e.defaultValue?t():n}function x(e){let t=Dn(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:Ln(n),defaultValue:e}}function T(e){let t=In(e);return t!==void 0?t:e.defaultValue}import{createSignal as Nn,createMemo as _n}from"@fluixi/reactive/signal";import{getServerData as jn}from"@fluixi/dom";var Kn="__fluixi_iso_states__",Vn="__iso:";function Hn(){return globalThis[Kn]??=new Map}function st(e){if(typeof window>"u")return;let t=jn();return t?t[Vn+e]:void 0}function G(e,t){let n=st(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=Nn(r);return Hn().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function me(e,t){let n=st(e)!==void 0,r=G(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=f=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(f))}catch{}},s=f=>{r.set(f),i(f)},a=(f,_)=>{s({...o(),[f]:_})},u={};for(let f of Object.keys(t.fallback))u[f]=_n(()=>o()[f]);let p=null;return{value:o,fields:u,set:s,setField:a,ensureInit:()=>n||!t.client?Promise.resolve():(p||(p=Promise.resolve(t.client()).then(f=>{s(f)}).catch(f=>{throw p=null,f})),p),key:e}}var Q=typeof document>"u",Z=!Q;function ee(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var A=typeof localStorage<"u"?localStorage:ee(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function ge(e,t){return Z?e():t}import{createSignal as it}from"@fluixi/reactive/signal";function Un(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function he(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=Un(e.system),o=()=>{let y=A.getItem(t);return y&&e.themes.includes(y)?y:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=it(o()),[a,u]=it(!1),p=y=>{O.document?.documentElement.setAttribute(n,y);try{A.setItem(t,y)}catch{}},l=y=>{if(!e.themes.includes(y))return;let nn=i();s(()=>y),p(y),e.onChange?.(y,nn),e.load&&(u(!0),e.onLoading?.(y),Promise.resolve(e.load(y)).finally(()=>{u(!1),e.onLoaded?.(y)}))};return{value:i,isLoading:a,set:l,toggle:()=>{let y=e.themes.indexOf(i());l(e.themes[(y+1)%e.themes.length])},init:()=>p(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}d(c,rs);import*as rs from"@fluixi/utils";import{createSignal as ve,createMemo as k,createResource as qn,createEffect as Ce,getOwner as Xn,onCleanup as at,untrack as xe}from"@fluixi/reactive/signal";import{insert as Te,createComponent as ct,createNativeElement as te,setAttribute as g}from"@fluixi/dom";import{createContext as ne,useContext as ut}from"@fluixi/reactive/signal";import{get as Oo}from"@fluixi/utils/object";import{deepEqual as Eo}from"@fluixi/utils/compare";import{createRouter as Yn,createBrowserHistory as Gn,matchRoutes as Do,matchPath as Io}from"@fluixi/router";import{createMemoryHistory as No,createBrowserHistory as _o,matchRoutes as jo,matchPath as Ko}from"@fluixi/router";import{createResource as uo,createSignal as Jn}from"@fluixi/reactive/signal";var $n=new Map;function zn(){$n.clear()}function Wn(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,i=o.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),zn()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(Wn,100)});var[yo,mo]=Jn(0);var Bn=x(),go=Bn.Provider;import{runWithOwner as $o}from"@fluixi/reactive/signal";var be=ne(),Qn=ne(),Zn=ne(),er=ne();function tr(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let l=!1;at(()=>{l=!0});let f=Xn(),[_]=qn(()=>o({params:n.params,location:n.location},f,()=>l));r=_}let i=()=>er.Provider({value:r,get children(){return Zn.Provider({value:e.params,get children(){return Qn.Provider({value:{depth:t,...n},get children(){return ct(e.component,{})}})}})}});if(!r)return i();let s=r,a=()=>s.loading,[u,p]=ve(xe(()=>!a()));return Ce(()=>p(!a())),k(()=>u()?i():null)}function nr(e){let t=e.depth+1,[n,r]=ve(xe(()=>e.matched()[t]?.component));return Ce(()=>{let o=e.matched()[t]?.component;r(()=>o)}),k(()=>{if(!n())return e.notFound?e.notFound():null;let i=xe(()=>e.matched())[t];return tr(i,t,{matched:e.matched,params:e.params,location:e.location})})}function rr(e){return e==null?or():typeof e=="function"?ct(e,{}):e}function or(){let e=te("div");g(e,"class","fx-not-found"),g(e,"role","main"),g(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=te("h1");g(t,"style","margin:0;font-size:2.5rem;font-weight:700"),Te(t,"404");let n=te("p");return g(n,"style","margin:0;opacity:.7"),Te(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function M(e){let t=e.history??Gn(),n=Yn({routes:e.routes,base:e.base,history:t}),[r,o]=ve(n.state()),i=n.subscribe(o);at(()=>{i(),n.destroy()});let s=k(()=>(r().match?.matched??[]).filter(l=>l.component)),a={router:n,location:k(()=>r().location),params:k(()=>r().match?.params??{})},u={depth:-1,matched:s,params:a.params,location:a.location,notFound:()=>rr(e.notFound)},p;return be.Provider({value:a,get children(){return p??=nr(u)}})}var sr={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=ut(be);if(e)return e;if(typeof window>"u")return sr;throw new Error("[router-next] useRouter must be used within <Router>")}function Se(){let e=v().params;return k(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function we(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function F(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var m=e=>typeof e=="function"?e():e,ir=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function N(e){let t=ut(be),n=typeof document>"u",r=()=>t?.router.navigate(m(e.href)??"",{replace:m(e.replace)}),o=te("a");g(o,"href",m(e.href)??""),e.slot&&g(o,"slot",m(e.slot));for(let[s,a]of Object.entries(e))ir.has(s)||a!=null&&typeof a!="function"&&g(o,s,String(a));if(typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=m(e.className??e.class)??"";s&&g(o,"class",s)}typeof o.addEventListener=="function"&&Ce(()=>{let s=m(e.href)??"";o.setAttribute("href",s);let a=m(e.className??e.class)??"",u=m(e.activeClass)??"",p=m(e.active)??t?.location().pathname===s;o.className=[a,p?u:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&Te(o,i),o}import{html as bt,svg as St}from"@fluixi/dom";import{query as wt,queryAll as Pt,closest as Rt,addClass as At,removeClass as Ot,toggleClass as kt,hasClass as Et,setAttribute as Lt,getAttribute as Dt,removeAttribute as It,setStyles as Mt,getStyle as Ft,createElement as Nt,removeChildren as _t,appendChildren as jt,isVisible as Kt,scrollIntoView as Vt,getOffset as Ht,delegate as Ut,waitForElement as $t,observeIntersection as zt,observeResize as Wt}from"@fluixi/dom";import{classMap as Jt,styleMap as Bt,Island as qt,hydrateIslands as Xt,mergeProps as Yt,splitProps as Gt}from"@fluixi/dom";import{Show as dt,For as lt,Index as ft,Switch as pt,Match as yt,Dynamic as mt,ErrorBoundary as gt,Portal as ht}from"@fluixi/dom";import{createStore as Qt,untrackStore as Zt,unwrap as en,Store as tn}from"@fluixi/reactive/store";var He="0.0.1",Ue="Fluixi";var $e={createComponent:b,onMount:w,onUnmount:P,createEffect:Pe,createMemo:Re,createSignal:Ae,createContext:x,createRoot:Oe,createDeferred:Ne,createComputed:ke,createRenderEffect:Ee,createSelector:je,onCleanup:Le,getOwner:De,runWithOwner:Ie,batch:Me,untrack:Fe,useContext:T,setOwner:_e,Router:M,Link:N,useRouter:v,useNavigate:F,read:Ke,reduce:Ve,VERSION:He,FRAMEWORK_NAME:Ue};h("fluixi element main");d(S,c);h("fluixi index");export{E as $component,q as Await,mt as Dynamic,gt as ErrorBoundary,Ue as FRAMEWORK_NAME,lt as For,ft as Index,qt as Island,N as Link,yt as Match,ht as Portal,M as Router,dt as Show,tn as Store,R as Suspense,B as SuspenseList,pt as Switch,He as VERSION,At as addClass,jt as appendChildren,Me as batch,Jt as classMap,le as cleanupDelegation,ge as clientOnly,Rt as closest,Y as composeProviders,b as createComponent,ke as createComputed,pe as createConsumer,x as createContext,fe as createContextWithProvider,Tt as createDebounce,vt as createDebouncedResource,Ct as createDebouncedSignal,Ne as createDeferred,Pe as createEffect,G as createIsomorphicState,me as createIsomorphicStore,Re as createMemo,ee as createMemoryStorage,I as createProvider,Ee as createRenderEffect,xt as createResource,Oe as createRoot,je as createSelector,Ae as createSignal,Qt as createStore,he as createTheme,$e as default,Ut as delegate,Nt as domCreateElement,O as env,Dt as getAttribute,Ht as getOffset,De as getOwner,Ft as getStyle,Et as hasClass,bt as html,Xt as hydrateIslands,de as initDelegation,Z as isClient,J as isJSXElement,W as isLitResult,z as isNode,ue as isRenderable,Q as isServer,Kt as isVisible,D as lazy,Yt as mergeProps,zt as observeIntersection,Wt as observeResize,Le as onCleanup,w as onMount,P as onUnmount,ce as portal,wt as query,Pt as queryAll,Ke as read,Ve as reduce,It as removeAttribute,_t as removeChildren,Ot as removeClass,X as render,Ie as runWithOwner,Vt as scrollIntoView,Lt as setAttribute,_e as setOwner,Mt as setStyles,Gt as splitProps,A as storage,Bt as styleMap,St as svg,kt as toggleClass,Fe as untrack,Zt as untrackStore,en as unwrap,$ as useCallback,T as useContext,L as useEffect,U as useEventListener,we as useLocation,K as useMemo,F as useNavigate,Se as useParams,ye as useProvide,H as useReducer,V as useRef,v as useRouter,$t as waitForElement};
|
package/dist/src/lib/core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ne=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var Ze=(e,t)=>{for(var n in t)ne(e,n,{get:t[n],enumerable:!0})},te=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ge(t))!Qe.call(e,o)&&o!==n&&ne(e,o,{get:()=>t[o],enumerable:!(r=Ye(t,o))||r.enumerable});return e},m=(e,t,n)=>(te(e,t,"default"),n&&te(n,t,"default"));var et=e=>te(ne({},"__esModule",{value:!0}),e);var y={};Ze(y,{$component:()=>z,Await:()=>pe,Dynamic:()=>C.Dynamic,ErrorBoundary:()=>C.ErrorBoundary,FRAMEWORK_NAME:()=>qe,For:()=>C.For,Index:()=>C.Index,Island:()=>b.Island,Link:()=>Q,Match:()=>C.Match,Portal:()=>C.Portal,Router:()=>Y,Show:()=>C.Show,Store:()=>R.Store,Suspense:()=>j,SuspenseList:()=>fe,Switch:()=>C.Switch,VERSION:()=>Be,addClass:()=>i.addClass,appendChildren:()=>i.appendChildren,batch:()=>a.batch,classMap:()=>b.classMap,cleanupDelegation:()=>De,clientOnly:()=>$e,closest:()=>i.closest,composeProviders:()=>ge,createComponent:()=>D,createComputed:()=>a.createComputed,createConsumer:()=>je,createContext:()=>k,createContextWithProvider:()=>_e,createDebounce:()=>H.createDebounce,createDeferred:()=>a.createDeferred,createEffect:()=>a.createEffect,createIsomorphicState:()=>he,createIsomorphicStore:()=>Ue,createMemo:()=>a.createMemo,createMemoryStorage:()=>ve,createProvider:()=>q,createRenderEffect:()=>a.createRenderEffect,createResource:()=>a.createResource,createRoot:()=>a.createRoot,createSelector:()=>H.createSelector,createSignal:()=>a.createSignal,createStore:()=>R.createStore,createTheme:()=>ze,default:()=>Pt,delegate:()=>i.delegate,domCreateElement:()=>i.createElement,env:()=>V,getAttribute:()=>i.getAttribute,getOffset:()=>i.getOffset,getOwner:()=>a.getOwner,getStyle:()=>i.getStyle,hasClass:()=>i.hasClass,html:()=>ee.html,hydrateIslands:()=>b.hydrateIslands,initDelegation:()=>Me,isClient:()=>Te,isJSXElement:()=>le,isLitResult:()=>de,isNode:()=>ue,isRenderable:()=>Le,isServer:()=>xe,isVisible:()=>i.isVisible,lazy:()=>J,mergeProps:()=>b.mergeProps,observeIntersection:()=>i.observeIntersection,observeResize:()=>i.observeResize,onCleanup:()=>a.onCleanup,onMount:()=>N,onUnmount:()=>_,portal:()=>Ee,query:()=>i.query,queryAll:()=>i.queryAll,read:()=>F.readSignal,reduce:()=>F.reduceSignal,removeAttribute:()=>i.removeAttribute,removeChildren:()=>i.removeChildren,removeClass:()=>i.removeClass,render:()=>me,runWithOwner:()=>a.runWithOwner,scrollIntoView:()=>i.scrollIntoView,setAttribute:()=>i.setAttribute,setOwner:()=>a.setOwner,setStyles:()=>i.setStyles,splitProps:()=>b.splitProps,storage:()=>K,styleMap:()=>b.styleMap,svg:()=>ee.svg,toggleClass:()=>i.toggleClass,untrack:()=>a.untrack,untrackStore:()=>R.untrackStore,unwrap:()=>R.unwrap,useCallback:()=>ce,useContext:()=>E,useEffect:()=>W,useEventListener:()=>ae,useLocation:()=>Je,useMemo:()=>oe,useNavigate:()=>G,useParams:()=>We,useProvide:()=>Ke,useReducer:()=>ie,useRef:()=>se,useRouter:()=>L,waitForElement:()=>i.waitForElement});module.exports=et(y);var a=require("@fluixi/reactive/signal"),H=require("@fluixi/reactive/signal"),F=require("@fluixi/reactive/operators");var ke=require("@fluixi/reactive/signal"),O=require("@fluixi/dom");var $=require("@fluixi/dom"),d=require("@fluixi/reactive/signal");var re=Symbol.for("fluixi-lifecycle");function we(){let e=(0,d.getOwner)();if(!e)return null;if(!e[re]){let t={mounts:[],effects:[],scheduled:!1};e[re]=t}return e[re]}function Pe(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,d.getOwner)();queueMicrotask(()=>{if((0,d.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,d.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,d.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,d.createEffect)(()=>{r&&r(),r=n()}),(0,d.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function M(e){(0,$.registerCreateComponent)(D)}function D(e,t){return z(e,t)}function z(e,t){let n=typeof e=="function"?(0,d.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,d.isSignal)(n)){try{n.$name=e.name}catch{}return(0,$.asComponent)(n)}return n}function N(e,t=!0){let n=we();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Pe(n)}else{if(!t){e();return}(0,d.createEffect)(()=>{let r=(0,d.untrack)(e);typeof r=="function"&&(0,d.onCleanup)(r)})}}function _(e){(0,d.onCleanup)(e)}function W(e){let t=we();if(t)t.effects.push(e),Pe(t);else{let n;(0,d.createEffect)(()=>{n&&n(),n=e()}),(0,d.onCleanup)(()=>{n&&n()})}}function oe(e){return(0,d.createMemo)(e)}function se(e){let t={current:e};return(0,d.onCleanup)(()=>{t.current=null}),t}function ie(e,t){let[n,r]=(0,d.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function ae(e,t,n,r){W(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function ce(e){return e}var g=require("@fluixi/reactive/signal"),S=require("@fluixi/dom");function ue(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function de(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Re(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function le(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var Ae=(0,g.createContext)();function j(e){return(0,S.createComponent)(tt,e)}function tt(e){let t=(0,g.createSuspenseBoundary)(),n=(0,g.useContext)(Ae),r=n?n.register(t.inFallback):void 0;function o(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,S.isComponent)(f)&&!(0,g.isSignal)(f)?f():f}let c=(0,S.runWithoutHydration)(()=>o(e.fallback??null)),s=(0,g.provideSuspense)(t,()=>e.children);(0,g.provideSuspense)(t,()=>{(0,g.createRenderEffect)(()=>{let f=s;if(Array.isArray(f))for(let x of f)typeof x=="function"&&(0,g.isSignal)(x)&&x();else typeof f=="function"&&(0,g.isSignal)(f)&&f()})});let[u,l]=(0,g.createSignal)(void 0),T=Re(s);return T&&(t.increment(),s.then(f=>{l(()=>f),t.decrement()},()=>t.decrement())),(0,g.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:T?u():s)}function fe(e){return(0,S.createComponent)(nt,e)}function nt(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(u=>!u.inFallback());r.forEach(u=>{u.setShowContent(s),u.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,u=!1;for(let l of s)u||l.inFallback()?(u=!0,l.setShowContent(!1),l.setShowFallback(n!=="hidden")):(l.setShowContent(!0),l.setShowFallback(!1))}}let c={register:s=>{let[u,l]=(0,g.createSignal)(!0),[T,f]=(0,g.createSignal)(!1);return r.push({inFallback:s,setShowContent:l,setShowFallback:f}),(0,g.createEffect)(()=>{s(),o()}),{showContent:u,showFallback:T}}};return Ae.Provider({value:c,children:e.children})}(0,S.asSuspense)(j);Object.defineProperty(j,"__suspense",{value:!0,enumerable:!0});var A=require("@fluixi/reactive/signal");function J(e,t){let n,r,o;function c(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&c();let s=(u=>{if(n){let l=n;return(0,A.untrack)(()=>l(u))}if(!o){let[l]=(0,A.createResource)(()=>c());if(o=l,l.error)throw l.error}return(0,A.createMemo)(()=>{let l=o();return l?(0,A.untrack)(()=>l(u)):void 0},void 0,{name:"lazy"})});return s.preload=()=>c().then(()=>{}),s.$lazy=!0,s.loader=e,s}var Oe=require("@fluixi/reactive/signal");function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=(0,Oe.createResource)(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var ye=typeof window>"u";function me(e,t,n={}){if(M("render"),(0,O.delegateEvents)(["click","input","change","submit"]),ye)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return(0,ke.createRoot)(o=>{r=o;let c=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,O.insert)(t,()=>c)}),()=>{r&&(r(),r=void 0)}}function rt(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ee(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=me(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Le(e){return!!(e==null||typeof e=="function"||(0,O.isDOMNode)(e)||rt(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Me(){ye||(0,O.delegateEvents)(["click","input","change","submit"])}function De(){}var Fe=require("@fluixi/dom"),B=require("@fluixi/reactive/signal"),Ne=require("@fluixi/reactive/signal");M("index");var Ie=!1;function ot(){Ie||(Ie=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function q(e,t,n){let r=!!e?.Provider,o=r?e:e.context,c=r?t:e.value,s=r?!1:e.debug??!1;r||ot();let u=typeof c=="function"?c():c,l=r?n:e;return o.Provider({value:u,get children(){return l?.children},debug:s})}function _e(e){let t=k(e);return[t,r=>q(t,r.value,r)]}function ge(e,t){if(e.length===0)return(0,Ne.readChildren)(()=>t);let[n,r]=e[0],o=e.slice(1);return q(n,r,{get children(){return ge(o,t)}})}function je(e){return t=>{let n=E(e);return t.children(n)}}function Ke(e,t){let n=E(e);return n===e.defaultValue?t():n}function k(e){let t=(0,B.createContext)(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,Fe.asProvider)(n),defaultValue:e}}function E(e){let t=(0,B.useContext)(e);return t!==void 0?t:e.defaultValue}var X=require("@fluixi/reactive/signal"),Ve=require("@fluixi/dom"),st="__fluixi_iso_states__",it="__iso:";function at(){return globalThis[st]??=new Map}function He(e){if(typeof window>"u")return;let t=(0,Ve.getServerData)();return t?t[it+e]:void 0}function he(e,t){let n=He(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,c]=(0,X.createSignal)(r);return at().set(e,{server:t.server,set:c}),{value:o,set:c,key:e}}function Ue(e,t){let n=He(e)!==void 0,r=he(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,c=x=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(x))}catch{}},s=x=>{r.set(x),c(x)},u=(x,U)=>{s({...o(),[x]:U})},l={};for(let x of Object.keys(t.fallback))l[x]=(0,X.createMemo)(()=>o()[x]);let T=null;return{value:o,fields:l,set:s,setField:u,ensureInit:()=>n||!t.client?Promise.resolve():(T||(T=Promise.resolve(t.client()).then(x=>{s(x)}).catch(x=>{throw T=null,x})),T),key:e}}var xe=typeof document>"u",Te=!xe;function ve(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var K=typeof localStorage<"u"?localStorage:ve(),V={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function $e(e,t){return Te?e():t}var Ce=require("@fluixi/reactive/signal");function ct(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function ze(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=ct(e.system),o=()=>{let v=K.getItem(t);return v&&e.themes.includes(v)?v:r&&V.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,s]=(0,Ce.createSignal)(o()),[u,l]=(0,Ce.createSignal)(!1),T=v=>{V.document?.documentElement.setAttribute(n,v);try{K.setItem(t,v)}catch{}},f=v=>{if(!e.themes.includes(v))return;let Xe=c();s(()=>v),T(v),e.onChange?.(v,Xe),e.load&&(l(!0),e.onLoading?.(v),Promise.resolve(e.load(v)).finally(()=>{l(!1),e.onLoaded?.(v)}))};return{value:c,isLoading:u,set:f,toggle:()=>{let v=e.themes.indexOf(c());f(e.themes[(v+1)%e.themes.length])},init:()=>T(c()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}m(y,require("@fluixi/utils"),module.exports);var p=require("@fluixi/reactive/signal"),h=require("@fluixi/dom"),P=require("@fluixi/reactive/signal"),pt=require("@fluixi/utils/object"),yt=require("@fluixi/utils/compare"),I=require("@fluixi/router"),Z=require("@fluixi/router");var be=require("@fluixi/reactive/signal");var ut=new Map;function dt(){ut.clear()}function lt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,c=o.nodeValue||"";(c.startsWith("#")||c.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),dt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(lt,100)});var[hn,xn]=(0,be.createSignal)(0);var ft=k(),Tn=ft.Provider;var wt=require("@fluixi/reactive/signal"),Se=(0,P.createContext)(),mt=(0,P.createContext)(),gt=(0,P.createContext)(),ht=(0,P.createContext)();function xt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let f=!1;(0,p.onCleanup)(()=>{f=!0});let x=(0,p.getOwner)(),[U]=(0,p.createResource)(()=>o({params:n.params,location:n.location},x,()=>f));r=U}let c=()=>ht.Provider({value:r,get children(){return gt.Provider({value:e.params,get children(){return mt.Provider({value:{depth:t,...n},get children(){return(0,h.createComponent)(e.component,{})}})}})}});if(!r)return c();let s=r,u=()=>s.loading,[l,T]=(0,p.createSignal)((0,p.untrack)(()=>!u()));return(0,p.createEffect)(()=>T(!u())),(0,p.createMemo)(()=>l()?c():null)}function Tt(e){let t=e.depth+1,[n,r]=(0,p.createSignal)((0,p.untrack)(()=>e.matched()[t]?.component));return(0,p.createEffect)(()=>{let o=e.matched()[t]?.component;r(()=>o)}),(0,p.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let c=(0,p.untrack)(()=>e.matched())[t];return xt(c,t,{matched:e.matched,params:e.params,location:e.location})})}function vt(e){return e==null?Ct():typeof e=="function"?(0,h.createComponent)(e,{}):e}function Ct(){let e=(0,h.createNativeElement)("div");(0,h.setAttribute)(e,"class","fx-not-found"),(0,h.setAttribute)(e,"role","main"),(0,h.setAttribute)(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=(0,h.createNativeElement)("h1");(0,h.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,h.insert)(t,"404");let n=(0,h.createNativeElement)("p");return(0,h.setAttribute)(n,"style","margin:0;opacity:.7"),(0,h.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function Y(e){let t=e.history??(0,I.createBrowserHistory)(),n=(0,I.createRouter)({routes:e.routes,base:e.base,history:t}),[r,o]=(0,p.createSignal)(n.state()),c=n.subscribe(o);(0,p.onCleanup)(()=>{c(),n.destroy()});let s=(0,p.createMemo)(()=>(r().match?.matched??[]).filter(f=>f.component)),u={router:n,location:(0,p.createMemo)(()=>r().location),params:(0,p.createMemo)(()=>r().match?.params??{})},l={depth:-1,matched:s,params:u.params,location:u.location,notFound:()=>vt(e.notFound)},T;return Se.Provider({value:u,get children(){return T??=Tt(l)}})}var bt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function L(){let e=(0,P.useContext)(Se);if(e)return e;if(typeof window>"u")return bt;throw new Error("[router-next] useRouter must be used within <Router>")}function We(){let e=L().params;return(0,p.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Je(){let{location:e}=L();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function G(){let{router:e}=L();return(t,n)=>e.navigate(t,n)}var w=e=>typeof e=="function"?e():e,St=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function Q(e){let t=(0,P.useContext)(Se),n=typeof document>"u",r=()=>t?.router.navigate(w(e.href)??"",{replace:w(e.replace)}),o=(0,h.createNativeElement)("a");(0,h.setAttribute)(o,"href",w(e.href)??""),e.slot&&(0,h.setAttribute)(o,"slot",w(e.slot));for(let[s,u]of Object.entries(e))St.has(s)||u!=null&&typeof u!="function"&&(0,h.setAttribute)(o,s,String(u));if(typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=w(e.className??e.class)??"";s&&(0,h.setAttribute)(o,"class",s)}typeof o.addEventListener=="function"&&(0,p.createEffect)(()=>{let s=w(e.href)??"";o.setAttribute("href",s);let u=w(e.className??e.class)??"",l=w(e.activeClass)??"",T=w(e.active)??t?.location().pathname===s;o.className=[u,T?l:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,h.insert)(o,c),o}var ee=require("@fluixi/dom"),i=require("@fluixi/dom"),b=require("@fluixi/dom");var C=require("@fluixi/dom");var R=require("@fluixi/reactive/store"),Be="0.0.1",qe="Fluixi";var Pt={createComponent:D,onMount:N,onUnmount:_,createEffect:a.createEffect,createMemo:a.createMemo,createSignal:a.createSignal,createContext:k,createRoot:a.createRoot,createDeferred:a.createDeferred,createComputed:a.createComputed,createRenderEffect:a.createRenderEffect,createSelector:H.createSelector,onCleanup:a.onCleanup,getOwner:a.getOwner,runWithOwner:a.runWithOwner,batch:a.batch,untrack:a.untrack,useContext:E,setOwner:a.setOwner,Router:Y,Link:Q,useRouter:L,useNavigate:G,read:F.readSignal,reduce:F.reduceSignal,VERSION:Be,FRAMEWORK_NAME:qe};M("fluixi element main");
|
|
1
|
+
"use strict";var ne=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var Ze=(e,t)=>{for(var n in t)ne(e,n,{get:t[n],enumerable:!0})},te=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ge(t))!Qe.call(e,o)&&o!==n&&ne(e,o,{get:()=>t[o],enumerable:!(r=Ye(t,o))||r.enumerable});return e},m=(e,t,n)=>(te(e,t,"default"),n&&te(n,t,"default"));var et=e=>te(ne({},"__esModule",{value:!0}),e);var y={};Ze(y,{$component:()=>z,Await:()=>pe,Dynamic:()=>C.Dynamic,ErrorBoundary:()=>C.ErrorBoundary,FRAMEWORK_NAME:()=>qe,For:()=>C.For,Index:()=>C.Index,Island:()=>b.Island,Link:()=>Q,Match:()=>C.Match,Portal:()=>C.Portal,Router:()=>Y,Show:()=>C.Show,Store:()=>A.Store,Suspense:()=>K,SuspenseList:()=>fe,Switch:()=>C.Switch,VERSION:()=>Be,addClass:()=>i.addClass,appendChildren:()=>i.appendChildren,batch:()=>a.batch,classMap:()=>b.classMap,cleanupDelegation:()=>Me,clientOnly:()=>$e,closest:()=>i.closest,composeProviders:()=>ge,createComponent:()=>I,createComputed:()=>a.createComputed,createConsumer:()=>je,createContext:()=>E,createContextWithProvider:()=>_e,createDebounce:()=>P.createDebounce,createDebouncedResource:()=>P.createDebouncedResource,createDebouncedSignal:()=>P.createDebouncedSignal,createDeferred:()=>a.createDeferred,createEffect:()=>a.createEffect,createIsomorphicState:()=>he,createIsomorphicStore:()=>Ue,createMemo:()=>a.createMemo,createMemoryStorage:()=>ve,createProvider:()=>q,createRenderEffect:()=>a.createRenderEffect,createResource:()=>a.createResource,createRoot:()=>a.createRoot,createSelector:()=>P.createSelector,createSignal:()=>a.createSignal,createStore:()=>A.createStore,createTheme:()=>ze,default:()=>Pt,delegate:()=>i.delegate,domCreateElement:()=>i.createElement,env:()=>H,getAttribute:()=>i.getAttribute,getOffset:()=>i.getOffset,getOwner:()=>a.getOwner,getStyle:()=>i.getStyle,hasClass:()=>i.hasClass,html:()=>ee.html,hydrateIslands:()=>b.hydrateIslands,initDelegation:()=>De,isClient:()=>Te,isJSXElement:()=>le,isLitResult:()=>de,isNode:()=>ue,isRenderable:()=>Le,isServer:()=>xe,isVisible:()=>i.isVisible,lazy:()=>J,mergeProps:()=>b.mergeProps,observeIntersection:()=>i.observeIntersection,observeResize:()=>i.observeResize,onCleanup:()=>a.onCleanup,onMount:()=>_,onUnmount:()=>j,portal:()=>Ee,query:()=>i.query,queryAll:()=>i.queryAll,read:()=>N.readSignal,reduce:()=>N.reduceSignal,removeAttribute:()=>i.removeAttribute,removeChildren:()=>i.removeChildren,removeClass:()=>i.removeClass,render:()=>me,runWithOwner:()=>a.runWithOwner,scrollIntoView:()=>i.scrollIntoView,setAttribute:()=>i.setAttribute,setOwner:()=>a.setOwner,setStyles:()=>i.setStyles,splitProps:()=>b.splitProps,storage:()=>V,styleMap:()=>b.styleMap,svg:()=>ee.svg,toggleClass:()=>i.toggleClass,untrack:()=>a.untrack,untrackStore:()=>A.untrackStore,unwrap:()=>A.unwrap,useCallback:()=>ce,useContext:()=>L,useEffect:()=>W,useEventListener:()=>ae,useLocation:()=>Je,useMemo:()=>oe,useNavigate:()=>G,useParams:()=>We,useProvide:()=>Ke,useReducer:()=>ie,useRef:()=>se,useRouter:()=>D,waitForElement:()=>i.waitForElement});module.exports=et(y);var a=require("@fluixi/reactive/signal"),P=require("@fluixi/reactive/signal"),N=require("@fluixi/reactive/operators");var ke=require("@fluixi/reactive/signal"),k=require("@fluixi/dom");var $=require("@fluixi/dom"),d=require("@fluixi/reactive/signal");var re=Symbol.for("fluixi-lifecycle");function we(){let e=(0,d.getOwner)();if(!e)return null;if(!e[re]){let t={mounts:[],effects:[],scheduled:!1};e[re]=t}return e[re]}function Pe(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,d.getOwner)();queueMicrotask(()=>{if((0,d.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,d.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,d.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,d.createEffect)(()=>{r&&r(),r=n()}),(0,d.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function M(e){(0,$.registerCreateComponent)(I)}function I(e,t){return z(e,t)}function z(e,t){let n=typeof e=="function"?(0,d.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,d.isSignal)(n)){try{n.$name=e.name}catch{}return(0,$.asComponent)(n)}return n}function _(e,t=!0){let n=we();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Pe(n)}else{if(!t){e();return}(0,d.createEffect)(()=>{let r=(0,d.untrack)(e);typeof r=="function"&&(0,d.onCleanup)(r)})}}function j(e){(0,d.onCleanup)(e)}function W(e){let t=we();if(t)t.effects.push(e),Pe(t);else{let n;(0,d.createEffect)(()=>{n&&n(),n=e()}),(0,d.onCleanup)(()=>{n&&n()})}}function oe(e){return(0,d.createMemo)(e)}function se(e){let t={current:e};return(0,d.onCleanup)(()=>{t.current=null}),t}function ie(e,t){let[n,r]=(0,d.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function ae(e,t,n,r){W(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function ce(e){return e}var g=require("@fluixi/reactive/signal"),S=require("@fluixi/dom");function ue(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function de(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Re(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function le(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var Ae=(0,g.createContext)();function K(e){return(0,S.createComponent)(tt,e)}function tt(e){let t=(0,g.createSuspenseBoundary)(),n=(0,g.useContext)(Ae),r=n?n.register(t.inFallback):void 0;function o(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,S.isComponent)(f)&&!(0,g.isSignal)(f)?f():f}let c=(0,S.runWithoutHydration)(()=>o(e.fallback??null)),s=(0,g.provideSuspense)(t,()=>e.children);(0,g.provideSuspense)(t,()=>{(0,g.createRenderEffect)(()=>{let f=s;if(Array.isArray(f))for(let x of f)typeof x=="function"&&(0,g.isSignal)(x)&&x();else typeof f=="function"&&(0,g.isSignal)(f)&&f()})});let[u,l]=(0,g.createSignal)(void 0),T=Re(s);return T&&(t.increment(),s.then(f=>{l(()=>f),t.decrement()},()=>t.decrement())),(0,g.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:T?u():s)}function fe(e){return(0,S.createComponent)(nt,e)}function nt(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(u=>!u.inFallback());r.forEach(u=>{u.setShowContent(s),u.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,u=!1;for(let l of s)u||l.inFallback()?(u=!0,l.setShowContent(!1),l.setShowFallback(n!=="hidden")):(l.setShowContent(!0),l.setShowFallback(!1))}}let c={register:s=>{let[u,l]=(0,g.createSignal)(!0),[T,f]=(0,g.createSignal)(!1);return r.push({inFallback:s,setShowContent:l,setShowFallback:f}),(0,g.createEffect)(()=>{s(),o()}),{showContent:u,showFallback:T}}};return Ae.Provider({value:c,children:e.children})}(0,S.asSuspense)(K);Object.defineProperty(K,"__suspense",{value:!0,enumerable:!0});var O=require("@fluixi/reactive/signal");function J(e,t){let n,r,o;function c(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&c();let s=(u=>{if(n){let l=n;return(0,O.untrack)(()=>l(u))}if(!o){let[l]=(0,O.createResource)(()=>c());if(o=l,l.error)throw l.error}return(0,O.createMemo)(()=>{let l=o();return l?(0,O.untrack)(()=>l(u)):void 0},void 0,{name:"lazy"})});return s.preload=()=>c().then(()=>{}),s.$lazy=!0,s.loader=e,s}var Oe=require("@fluixi/reactive/signal");function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=(0,Oe.createResource)(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var ye=typeof window>"u";function me(e,t,n={}){if(M("render"),(0,k.delegateEvents)(["click","input","change","submit"]),ye)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return(0,ke.createRoot)(o=>{r=o;let c=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,k.insert)(t,()=>c)}),()=>{r&&(r(),r=void 0)}}function rt(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ee(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=me(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Le(e){return!!(e==null||typeof e=="function"||(0,k.isDOMNode)(e)||rt(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function De(){ye||(0,k.delegateEvents)(["click","input","change","submit"])}function Me(){}var Fe=require("@fluixi/dom"),B=require("@fluixi/reactive/signal"),Ne=require("@fluixi/reactive/signal");M("index");var Ie=!1;function ot(){Ie||(Ie=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function q(e,t,n){let r=!!e?.Provider,o=r?e:e.context,c=r?t:e.value,s=r?!1:e.debug??!1;r||ot();let u=typeof c=="function"?c():c,l=r?n:e;return o.Provider({value:u,get children(){return l?.children},debug:s})}function _e(e){let t=E(e);return[t,r=>q(t,r.value,r)]}function ge(e,t){if(e.length===0)return(0,Ne.readChildren)(()=>t);let[n,r]=e[0],o=e.slice(1);return q(n,r,{get children(){return ge(o,t)}})}function je(e){return t=>{let n=L(e);return t.children(n)}}function Ke(e,t){let n=L(e);return n===e.defaultValue?t():n}function E(e){let t=(0,B.createContext)(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,Fe.asProvider)(n),defaultValue:e}}function L(e){let t=(0,B.useContext)(e);return t!==void 0?t:e.defaultValue}var X=require("@fluixi/reactive/signal"),Ve=require("@fluixi/dom"),st="__fluixi_iso_states__",it="__iso:";function at(){return globalThis[st]??=new Map}function He(e){if(typeof window>"u")return;let t=(0,Ve.getServerData)();return t?t[it+e]:void 0}function he(e,t){let n=He(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,c]=(0,X.createSignal)(r);return at().set(e,{server:t.server,set:c}),{value:o,set:c,key:e}}function Ue(e,t){let n=He(e)!==void 0,r=he(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,c=x=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(x))}catch{}},s=x=>{r.set(x),c(x)},u=(x,U)=>{s({...o(),[x]:U})},l={};for(let x of Object.keys(t.fallback))l[x]=(0,X.createMemo)(()=>o()[x]);let T=null;return{value:o,fields:l,set:s,setField:u,ensureInit:()=>n||!t.client?Promise.resolve():(T||(T=Promise.resolve(t.client()).then(x=>{s(x)}).catch(x=>{throw T=null,x})),T),key:e}}var xe=typeof document>"u",Te=!xe;function ve(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var V=typeof localStorage<"u"?localStorage:ve(),H={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function $e(e,t){return Te?e():t}var Ce=require("@fluixi/reactive/signal");function ct(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function ze(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=ct(e.system),o=()=>{let v=V.getItem(t);return v&&e.themes.includes(v)?v:r&&H.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,s]=(0,Ce.createSignal)(o()),[u,l]=(0,Ce.createSignal)(!1),T=v=>{H.document?.documentElement.setAttribute(n,v);try{V.setItem(t,v)}catch{}},f=v=>{if(!e.themes.includes(v))return;let Xe=c();s(()=>v),T(v),e.onChange?.(v,Xe),e.load&&(l(!0),e.onLoading?.(v),Promise.resolve(e.load(v)).finally(()=>{l(!1),e.onLoaded?.(v)}))};return{value:c,isLoading:u,set:f,toggle:()=>{let v=e.themes.indexOf(c());f(e.themes[(v+1)%e.themes.length])},init:()=>T(c()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}m(y,require("@fluixi/utils"),module.exports);var p=require("@fluixi/reactive/signal"),h=require("@fluixi/dom"),R=require("@fluixi/reactive/signal"),pt=require("@fluixi/utils/object"),yt=require("@fluixi/utils/compare"),F=require("@fluixi/router"),Z=require("@fluixi/router");var be=require("@fluixi/reactive/signal");var ut=new Map;function dt(){ut.clear()}function lt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,c=o.nodeValue||"";(c.startsWith("#")||c.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),dt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(lt,100)});var[hn,xn]=(0,be.createSignal)(0);var ft=E(),Tn=ft.Provider;var wt=require("@fluixi/reactive/signal"),Se=(0,R.createContext)(),mt=(0,R.createContext)(),gt=(0,R.createContext)(),ht=(0,R.createContext)();function xt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let f=!1;(0,p.onCleanup)(()=>{f=!0});let x=(0,p.getOwner)(),[U]=(0,p.createResource)(()=>o({params:n.params,location:n.location},x,()=>f));r=U}let c=()=>ht.Provider({value:r,get children(){return gt.Provider({value:e.params,get children(){return mt.Provider({value:{depth:t,...n},get children(){return(0,h.createComponent)(e.component,{})}})}})}});if(!r)return c();let s=r,u=()=>s.loading,[l,T]=(0,p.createSignal)((0,p.untrack)(()=>!u()));return(0,p.createEffect)(()=>T(!u())),(0,p.createMemo)(()=>l()?c():null)}function Tt(e){let t=e.depth+1,[n,r]=(0,p.createSignal)((0,p.untrack)(()=>e.matched()[t]?.component));return(0,p.createEffect)(()=>{let o=e.matched()[t]?.component;r(()=>o)}),(0,p.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let c=(0,p.untrack)(()=>e.matched())[t];return xt(c,t,{matched:e.matched,params:e.params,location:e.location})})}function vt(e){return e==null?Ct():typeof e=="function"?(0,h.createComponent)(e,{}):e}function Ct(){let e=(0,h.createNativeElement)("div");(0,h.setAttribute)(e,"class","fx-not-found"),(0,h.setAttribute)(e,"role","main"),(0,h.setAttribute)(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=(0,h.createNativeElement)("h1");(0,h.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,h.insert)(t,"404");let n=(0,h.createNativeElement)("p");return(0,h.setAttribute)(n,"style","margin:0;opacity:.7"),(0,h.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function Y(e){let t=e.history??(0,F.createBrowserHistory)(),n=(0,F.createRouter)({routes:e.routes,base:e.base,history:t}),[r,o]=(0,p.createSignal)(n.state()),c=n.subscribe(o);(0,p.onCleanup)(()=>{c(),n.destroy()});let s=(0,p.createMemo)(()=>(r().match?.matched??[]).filter(f=>f.component)),u={router:n,location:(0,p.createMemo)(()=>r().location),params:(0,p.createMemo)(()=>r().match?.params??{})},l={depth:-1,matched:s,params:u.params,location:u.location,notFound:()=>vt(e.notFound)},T;return Se.Provider({value:u,get children(){return T??=Tt(l)}})}var bt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function D(){let e=(0,R.useContext)(Se);if(e)return e;if(typeof window>"u")return bt;throw new Error("[router-next] useRouter must be used within <Router>")}function We(){let e=D().params;return(0,p.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Je(){let{location:e}=D();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function G(){let{router:e}=D();return(t,n)=>e.navigate(t,n)}var w=e=>typeof e=="function"?e():e,St=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function Q(e){let t=(0,R.useContext)(Se),n=typeof document>"u",r=()=>t?.router.navigate(w(e.href)??"",{replace:w(e.replace)}),o=(0,h.createNativeElement)("a");(0,h.setAttribute)(o,"href",w(e.href)??""),e.slot&&(0,h.setAttribute)(o,"slot",w(e.slot));for(let[s,u]of Object.entries(e))St.has(s)||u!=null&&typeof u!="function"&&(0,h.setAttribute)(o,s,String(u));if(typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=w(e.className??e.class)??"";s&&(0,h.setAttribute)(o,"class",s)}typeof o.addEventListener=="function"&&(0,p.createEffect)(()=>{let s=w(e.href)??"";o.setAttribute("href",s);let u=w(e.className??e.class)??"",l=w(e.activeClass)??"",T=w(e.active)??t?.location().pathname===s;o.className=[u,T?l:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,h.insert)(o,c),o}var ee=require("@fluixi/dom"),i=require("@fluixi/dom"),b=require("@fluixi/dom");var C=require("@fluixi/dom");var A=require("@fluixi/reactive/store"),Be="0.0.1",qe="Fluixi";var Pt={createComponent:I,onMount:_,onUnmount:j,createEffect:a.createEffect,createMemo:a.createMemo,createSignal:a.createSignal,createContext:E,createRoot:a.createRoot,createDeferred:a.createDeferred,createComputed:a.createComputed,createRenderEffect:a.createRenderEffect,createSelector:P.createSelector,onCleanup:a.onCleanup,getOwner:a.getOwner,runWithOwner:a.runWithOwner,batch:a.batch,untrack:a.untrack,useContext:L,setOwner:a.setOwner,Router:Y,Link:Q,useRouter:D,useNavigate:G,read:N.readSignal,reduce:N.reduceSignal,VERSION:Be,FRAMEWORK_NAME:qe};M("fluixi element main");
|
package/dist/src/lib/core.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
import { createEffect, createMemo, createSignal, createResource, createRoot, createComputed, createRenderEffect, onCleanup, getOwner, runWithOwner, batch, untrack, createDeferred, setOwner } from '@fluixi/reactive/signal';
|
|
28
|
-
import { createDebounce, createSelector } from '@fluixi/reactive/signal';
|
|
28
|
+
import { createDebounce, createDebouncedResource, createDebouncedSignal, createSelector } from '@fluixi/reactive/signal';
|
|
29
29
|
import { readSignal as read, reduceSignal as reduce } from '@fluixi/reactive/operators';
|
|
30
30
|
import { createComponent, onMount, onUnmount } from './render/index.js';
|
|
31
31
|
import { createContext, useContext } from './context/index.js';
|
|
@@ -54,7 +54,7 @@ export declare const VERSION = "0.0.1";
|
|
|
54
54
|
* Framework name
|
|
55
55
|
*/
|
|
56
56
|
export declare const FRAMEWORK_NAME = "Fluixi";
|
|
57
|
-
export { createEffect, createMemo, createSignal, createResource, createContext, createRoot, createDeferred, createDebounce, createComputed, createRenderEffect, createSelector, onCleanup, getOwner, runWithOwner, batch, untrack, useContext, setOwner, read, reduce, };
|
|
57
|
+
export { createEffect, createMemo, createSignal, createResource, createContext, createRoot, createDeferred, createDebounce, createDebouncedSignal, createDebouncedResource, createComputed, createRenderEffect, createSelector, onCleanup, getOwner, runWithOwner, batch, untrack, useContext, setOwner, read, reduce, };
|
|
58
58
|
/**
|
|
59
59
|
* Default export - commonly used functions
|
|
60
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,IAAI,IAAI,EAClB,YAAY,IAAI,MAAM,EACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAEL,eAAe,EAEf,OAAO,EACP,SAAS,EAGV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,cAAc,oBAAoB,CAAC;AAInC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,GAAG,EACH,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9E,cAAc,eAAe,CAAC;AAI9B,OAAO,EACL,IAAI,EACJ,MAAM,EACN,WAAW,EACX,SAAS,EACV,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5D,OAAO,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,aAAa,IAAI,gBAAgB,EACjC,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAmBrB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EAGnB,UAAU,EACV,UAAU,EAGV,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,MAAM,GACZ,MAAM,aAAa,CAAC;AAErB,cAAc,mBAAmB,CAAA;AAIjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElF,YAAY,EACV,QAAQ,EACR,MAAM,EACN,MAAM,EACN,aAAa,EACb,WAAW,EACX,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,EAEL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AA4C3B,OAAO,EACL,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,cAAc,IAAI,QAAQ,EAC1B,eAAe,EACf,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAKhC;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,CAAC;AACF;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBAiDE"}
|
package/dist/src/lib/core.js
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { createEffect, createMemo, createSignal, createResource, createRoot, createComputed, createRenderEffect, onCleanup, getOwner, runWithOwner, batch, untrack, createDeferred, setOwner, } from '@fluixi/reactive/signal';
|
|
28
28
|
// } from '@fluixi/core/rx';
|
|
29
|
-
import { createDebounce, createSelector } from '@fluixi/reactive/signal';
|
|
29
|
+
import { createDebounce, createDebouncedResource, createDebouncedSignal, createSelector, } from '@fluixi/reactive/signal';
|
|
30
30
|
import { readSignal as read, reduceSignal as reduce, } from '@fluixi/reactive/operators';
|
|
31
31
|
import {
|
|
32
32
|
// batch,
|
|
@@ -135,7 +135,7 @@ export const VERSION = '0.0.1';
|
|
|
135
135
|
* Framework name
|
|
136
136
|
*/
|
|
137
137
|
export const FRAMEWORK_NAME = 'Fluixi';
|
|
138
|
-
export { createEffect, createMemo, createSignal, createResource, createContext, createRoot, createDeferred, createDebounce, createComputed, createRenderEffect, createSelector, onCleanup, getOwner, runWithOwner, batch, untrack, useContext, setOwner, read, reduce, };
|
|
138
|
+
export { createEffect, createMemo, createSignal, createResource, createContext, createRoot, createDeferred, createDebounce, createDebouncedSignal, createDebouncedResource, createComputed, createRenderEffect, createSelector, onCleanup, getOwner, runWithOwner, batch, untrack, useContext, setOwner, read, reduce, };
|
|
139
139
|
/**
|
|
140
140
|
* Default export - commonly used functions
|
|
141
141
|
*/
|
package/dist/src/lib/core.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createEffect as Vt,createMemo as Ht,createSignal as Ut,createResource as Gr,createRoot as $t,createComputed as zt,createRenderEffect as Wt,onCleanup as Jt,getOwner as Bt,runWithOwner as qt,batch as Xt,untrack as Yt,createDeferred as Gt,setOwner as Qt}from"@fluixi/reactive/signal";import{createDebounce as Zr,createSelector as Zt}from"@fluixi/reactive/signal";import{readSignal as en,reduceSignal as tn}from"@fluixi/reactive/operators";import{createRoot as qe}from"@fluixi/reactive/signal";import{isDOMNode as Xe,delegateEvents as ye,insert as Ye}from"@fluixi/dom";import{registerCreateComponent as Oe,asComponent as ke}from"@fluixi/dom";import{untrack as q,onCleanup as m,getOwner as M,createEffect as S,createMemo as X,createSignal as Ee,isSignal as Le,batch as Me,runWithOwner as Y,isOwnerDisposed as De}from"@fluixi/reactive/signal";var L=Symbol.for("fluixi-lifecycle");function G(){let e=M();if(!e)return null;if(!e[L]){let t={mounts:[],effects:[],scheduled:!1};e[L]=t}return e[L]}function Q(e){if(e.scheduled)return;e.scheduled=!0;let t=M();queueMicrotask(()=>{if(De(t)){e.mounts=[],e.effects=[];return}Y(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&m(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;S(()=>{r&&r(),r=n()}),m(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function g(e){Oe(C)}function C(e,t){return D(e,t)}function D(e,t){let n=typeof e=="function"?q(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!Le(n)){try{n.$name=e.name}catch{}return ke(n)}return n}function w(e,t=!0){let n=G();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Q(n)}else{if(!t){e();return}S(()=>{let r=q(e);typeof r=="function"&&m(r)})}}function P(e){m(e)}function I(e){let t=G();if(t)t.effects.push(e),Q(t);else{let n;S(()=>{n&&n(),n=e()}),m(()=>{n&&n()})}}function Z(e){return X(e)}function ee(e){let t={current:e};return m(()=>{t.current=null}),t}function te(e,t){let[n,r]=Ee(t);return[n,i=>{r(e(n(),i))}]}function ne(e,t,n,r){I(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function re(e){return e}import{createSignal as N,createMemo as Ie,createEffect as Fe,createRenderEffect as Ne,isSignal as F,useContext as _e,createContext as je,createSuspenseBoundary as Ke,provideSuspense as oe}from"@fluixi/reactive/signal";import{asSuspense as Ve,isComponent as He,createComponent as se,runWithoutHydration as Ue}from"@fluixi/dom";function ie(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function ae(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function ce(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function ue(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var de=je();function R(e){return se($e,e)}function $e(e){let t=Ke(),n=_e(de),r=n?n.register(t.inFallback):void 0;function o(u){return u==null||typeof u=="boolean"?null:typeof u=="function"&&He(u)&&!F(u)?u():u}let i=Ue(()=>o(e.fallback??null)),s=oe(t,()=>e.children);oe(t,()=>{Ne(()=>{let u=s;if(Array.isArray(u))for(let d of u)typeof d=="function"&&F(d)&&d();else typeof u=="function"&&F(u)&&u()})});let[a,c]=N(void 0),l=ce(s);return l&&(t.increment(),s.then(u=>{c(()=>u),t.decrement()},()=>t.decrement())),Ie(()=>(r?r.showFallback():t.inFallback())?i:l?a():s)}function le(e){return se(ze,e)}function ze(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(a=>!a.inFallback());r.forEach(a=>{a.setShowContent(s),a.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,a=!1;for(let c of s)a||c.inFallback()?(a=!0,c.setShowContent(!1),c.setShowFallback(n!=="hidden")):(c.setShowContent(!0),c.setShowFallback(!1))}}let i={register:s=>{let[a,c]=N(!0),[l,u]=N(!1);return r.push({inFallback:s,setShowContent:c,setShowFallback:u}),Fe(()=>{s(),o()}),{showContent:a,showFallback:l}}};return de.Provider({value:i,children:e.children})}Ve(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as fe,createMemo as We,createResource as Je}from"@fluixi/reactive/signal";function _(e,t){let n,r,o;function i(){return r||(r=e().then(a=>n=a.default)),r}t?.preload&&i();let s=(a=>{if(n){let c=n;return fe(()=>c(a))}if(!o){let[c]=Je(()=>i());if(o=c,c.error)throw c.error}return We(()=>{let c=o();return c?fe(()=>c(a)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}import{createResource as Be}from"@fluixi/reactive/signal";function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=Be(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var j=typeof window>"u";function me(e,t,n={}){if(g("render"),ye(["click","input","change","submit"]),j)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return qe(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Ye(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Ge(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Qe(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=me(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Ze(e){return!!(e==null||typeof e=="function"||Xe(e)||Ge(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function et(){j||ye(["click","input","change","submit"])}function tt(){}import{asProvider as nt}from"@fluixi/dom";import{createContext as rt,useContext as ot}from"@fluixi/reactive/signal";import{readChildren as st}from"@fluixi/reactive/signal";g("index");var ge=!1;function it(){ge||(ge=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function K(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||it();let a=typeof i=="function"?i():i,c=r?n:e;return o.Provider({value:a,get children(){return c?.children},debug:s})}function at(e){let t=h(e);return[t,r=>K(t,r.value,r)]}function he(e,t){if(e.length===0)return st(()=>t);let[n,r]=e[0],o=e.slice(1);return K(n,r,{get children(){return he(o,t)}})}function ct(e){return t=>{let n=x(e);return t.children(n)}}function ut(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=rt(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:nt(n),defaultValue:e}}function x(e){let t=ot(e);return t!==void 0?t:e.defaultValue}import{createSignal as dt,createMemo as lt}from"@fluixi/reactive/signal";import{getServerData as ft}from"@fluixi/dom";var pt="__fluixi_iso_states__",yt="__iso:";function mt(){return globalThis[pt]??=new Map}function xe(e){if(typeof window>"u")return;let t=ft();return t?t[yt+e]:void 0}function Te(e,t){let n=xe(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=dt(r);return mt().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function gt(e,t){let n=xe(e)!==void 0,r=Te(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=d=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(d))}catch{}},s=d=>{r.set(d),i(d)},a=(d,b)=>{s({...o(),[d]:b})},c={};for(let d of Object.keys(t.fallback))c[d]=lt(()=>o()[d]);let l=null;return{value:o,fields:c,set:s,setField:a,ensureInit:()=>n||!t.client?Promise.resolve():(l||(l=Promise.resolve(t.client()).then(d=>{s(d)}).catch(d=>{throw l=null,d})),l),key:e}}var ve=typeof document>"u",Ce=!ve;function be(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var A=typeof localStorage<"u"?localStorage:be(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function ht(e,t){return Ce?e():t}import{createSignal as Se}from"@fluixi/reactive/signal";function xt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Tt(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=xt(e.system),o=()=>{let f=A.getItem(t);return f&&e.themes.includes(f)?f:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=Se(o()),[a,c]=Se(!1),l=f=>{O.document?.documentElement.setAttribute(n,f);try{A.setItem(t,f)}catch{}},u=f=>{if(!e.themes.includes(f))return;let Ae=i();s(()=>f),l(f),e.onChange?.(f,Ae),e.load&&(c(!0),e.onLoading?.(f),Promise.resolve(e.load(f)).finally(()=>{c(!1),e.onLoaded?.(f)}))};return{value:i,isLoading:a,set:u,toggle:()=>{let f=e.themes.indexOf(i());u(e.themes[(f+1)%e.themes.length])},init:()=>l(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}export*from"@fluixi/utils";import{createSignal as U,createMemo as T,createResource as Pt,createEffect as $,getOwner as Rt,onCleanup as we,untrack as V}from"@fluixi/reactive/signal";import{insert as H,createComponent as Pe,createNativeElement as k,setAttribute as y}from"@fluixi/dom";import{createContext as E,useContext as Re}from"@fluixi/reactive/signal";import{get as wr}from"@fluixi/utils/object";import{deepEqual as Rr}from"@fluixi/utils/compare";import{createRouter as At,createBrowserHistory as Ot,matchRoutes as Or,matchPath as kr}from"@fluixi/router";import{createMemoryHistory as Mr,createBrowserHistory as Dr,matchRoutes as Ir,matchPath as Fr}from"@fluixi/router";import{createResource as ir,createSignal as St}from"@fluixi/reactive/signal";var vt=new Map;function Ct(){vt.clear()}function bt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,i=o.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),Ct()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(bt,100)});var[dr,lr]=St(0);var wt=h(),fr=wt.Provider;import{runWithOwner as Kr}from"@fluixi/reactive/signal";var z=E(),kt=E(),Et=E(),Lt=E();function Mt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let u=!1;we(()=>{u=!0});let d=Rt(),[b]=Pt(()=>o({params:n.params,location:n.location},d,()=>u));r=b}let i=()=>Lt.Provider({value:r,get children(){return Et.Provider({value:e.params,get children(){return kt.Provider({value:{depth:t,...n},get children(){return Pe(e.component,{})}})}})}});if(!r)return i();let s=r,a=()=>s.loading,[c,l]=U(V(()=>!a()));return $(()=>l(!a())),T(()=>c()?i():null)}function Dt(e){let t=e.depth+1,[n,r]=U(V(()=>e.matched()[t]?.component));return $(()=>{let o=e.matched()[t]?.component;r(()=>o)}),T(()=>{if(!n())return e.notFound?e.notFound():null;let i=V(()=>e.matched())[t];return Mt(i,t,{matched:e.matched,params:e.params,location:e.location})})}function It(e){return e==null?Ft():typeof e=="function"?Pe(e,{}):e}function Ft(){let e=k("div");y(e,"class","fx-not-found"),y(e,"role","main"),y(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=k("h1");y(t,"style","margin:0;font-size:2.5rem;font-weight:700"),H(t,"404");let n=k("p");return y(n,"style","margin:0;opacity:.7"),H(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function W(e){let t=e.history??Ot(),n=At({routes:e.routes,base:e.base,history:t}),[r,o]=U(n.state()),i=n.subscribe(o);we(()=>{i(),n.destroy()});let s=T(()=>(r().match?.matched??[]).filter(u=>u.component)),a={router:n,location:T(()=>r().location),params:T(()=>r().match?.params??{})},c={depth:-1,matched:s,params:a.params,location:a.location,notFound:()=>It(e.notFound)},l;return z.Provider({value:a,get children(){return l??=Dt(c)}})}var Nt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=Re(z);if(e)return e;if(typeof window>"u")return Nt;throw new Error("[router-next] useRouter must be used within <Router>")}function _t(){let e=v().params;return T(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function jt(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function J(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var p=e=>typeof e=="function"?e():e,Kt=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function B(e){let t=Re(z),n=typeof document>"u",r=()=>t?.router.navigate(p(e.href)??"",{replace:p(e.replace)}),o=k("a");y(o,"href",p(e.href)??""),e.slot&&y(o,"slot",p(e.slot));for(let[s,a]of Object.entries(e))Kt.has(s)||a!=null&&typeof a!="function"&&y(o,s,String(a));if(typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=p(e.className??e.class)??"";s&&y(o,"class",s)}typeof o.addEventListener=="function"&&$(()=>{let s=p(e.href)??"";o.setAttribute("href",s);let a=p(e.className??e.class)??"",c=p(e.activeClass)??"",l=p(e.active)??t?.location().pathname===s;o.className=[a,l?c:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&H(o,i),o}import{html as yo,svg as mo}from"@fluixi/dom";import{query as ho,queryAll as xo,closest as To,addClass as vo,removeClass as Co,toggleClass as bo,hasClass as So,setAttribute as wo,getAttribute as Po,removeAttribute as Ro,setStyles as Ao,getStyle as Oo,createElement as ko,removeChildren as Eo,appendChildren as Lo,isVisible as Mo,scrollIntoView as Do,getOffset as Io,delegate as Fo,waitForElement as No,observeIntersection as _o,observeResize as jo}from"@fluixi/dom";import{classMap as Vo,styleMap as Ho,Island as Uo,hydrateIslands as $o,mergeProps as zo,splitProps as Wo}from"@fluixi/dom";import{Show as Ur,For as $r,Index as zr,Switch as Wr,Match as Jr,Dynamic as Br,ErrorBoundary as qr,Portal as Xr}from"@fluixi/dom";import{createStore as qo,untrackStore as Xo,unwrap as Yo,Store as Go}from"@fluixi/reactive/store";var nn="0.0.1",rn="Fluixi";var so={createComponent:C,onMount:w,onUnmount:P,createEffect:Vt,createMemo:Ht,createSignal:Ut,createContext:h,createRoot:$t,createDeferred:Gt,createComputed:zt,createRenderEffect:Wt,createSelector:Zt,onCleanup:Jt,getOwner:Bt,runWithOwner:qt,batch:Xt,untrack:Yt,useContext:x,setOwner:Qt,Router:W,Link:B,useRouter:v,useNavigate:J,read:en,reduce:tn,VERSION:nn,FRAMEWORK_NAME:rn};g("fluixi element main");export{D as $component,pe as Await,Br as Dynamic,qr as ErrorBoundary,rn as FRAMEWORK_NAME,$r as For,zr as Index,Uo as Island,B as Link,Jr as Match,Xr as Portal,W as Router,Ur as Show,Go as Store,R as Suspense,le as SuspenseList,Wr as Switch,nn as VERSION,vo as addClass,Lo as appendChildren,Xt as batch,Vo as classMap,tt as cleanupDelegation,ht as clientOnly,To as closest,he as composeProviders,C as createComponent,zt as createComputed,ct as createConsumer,h as createContext,at as createContextWithProvider,Zr as createDebounce,Gt as createDeferred,Vt as createEffect,Te as createIsomorphicState,gt as createIsomorphicStore,Ht as createMemo,be as createMemoryStorage,K as createProvider,Wt as createRenderEffect,Gr as createResource,$t as createRoot,Zt as createSelector,Ut as createSignal,qo as createStore,Tt as createTheme,so as default,Fo as delegate,ko as domCreateElement,O as env,Po as getAttribute,Io as getOffset,Bt as getOwner,Oo as getStyle,So as hasClass,yo as html,$o as hydrateIslands,et as initDelegation,Ce as isClient,ue as isJSXElement,ae as isLitResult,ie as isNode,Ze as isRenderable,ve as isServer,Mo as isVisible,_ as lazy,zo as mergeProps,_o as observeIntersection,jo as observeResize,Jt as onCleanup,w as onMount,P as onUnmount,Qe as portal,ho as query,xo as queryAll,en as read,tn as reduce,Ro as removeAttribute,Eo as removeChildren,Co as removeClass,me as render,qt as runWithOwner,Do as scrollIntoView,wo as setAttribute,Qt as setOwner,Ao as setStyles,Wo as splitProps,A as storage,Ho as styleMap,mo as svg,bo as toggleClass,Yt as untrack,Xo as untrackStore,Yo as unwrap,re as useCallback,x as useContext,I as useEffect,ne as useEventListener,jt as useLocation,Z as useMemo,J as useNavigate,_t as useParams,ut as useProvide,te as useReducer,ee as useRef,v as useRouter,No as waitForElement};
|
|
1
|
+
import{createEffect as Vt,createMemo as Ht,createSignal as Ut,createResource as Gr,createRoot as $t,createComputed as zt,createRenderEffect as Wt,onCleanup as Jt,getOwner as Bt,runWithOwner as qt,batch as Xt,untrack as Yt,createDeferred as Gt,setOwner as Qt}from"@fluixi/reactive/signal";import{createDebounce as Zr,createDebouncedResource as eo,createDebouncedSignal as to,createSelector as Zt}from"@fluixi/reactive/signal";import{readSignal as en,reduceSignal as tn}from"@fluixi/reactive/operators";import{createRoot as qe}from"@fluixi/reactive/signal";import{isDOMNode as Xe,delegateEvents as ye,insert as Ye}from"@fluixi/dom";import{registerCreateComponent as Oe,asComponent as ke}from"@fluixi/dom";import{untrack as q,onCleanup as m,getOwner as D,createEffect as S,createMemo as X,createSignal as Ee,isSignal as Le,batch as De,runWithOwner as Y,isOwnerDisposed as Me}from"@fluixi/reactive/signal";var L=Symbol.for("fluixi-lifecycle");function G(){let e=D();if(!e)return null;if(!e[L]){let t={mounts:[],effects:[],scheduled:!1};e[L]=t}return e[L]}function Q(e){if(e.scheduled)return;e.scheduled=!0;let t=D();queueMicrotask(()=>{if(Me(t)){e.mounts=[],e.effects=[];return}Y(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&m(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;S(()=>{r&&r(),r=n()}),m(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function g(e){Oe(C)}function C(e,t){return M(e,t)}function M(e,t){let n=typeof e=="function"?q(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!Le(n)){try{n.$name=e.name}catch{}return ke(n)}return n}function w(e,t=!0){let n=G();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Q(n)}else{if(!t){e();return}S(()=>{let r=q(e);typeof r=="function"&&m(r)})}}function P(e){m(e)}function I(e){let t=G();if(t)t.effects.push(e),Q(t);else{let n;S(()=>{n&&n(),n=e()}),m(()=>{n&&n()})}}function Z(e){return X(e)}function ee(e){let t={current:e};return m(()=>{t.current=null}),t}function te(e,t){let[n,r]=Ee(t);return[n,i=>{r(e(n(),i))}]}function ne(e,t,n,r){I(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function re(e){return e}import{createSignal as N,createMemo as Ie,createEffect as Fe,createRenderEffect as Ne,isSignal as F,useContext as _e,createContext as je,createSuspenseBoundary as Ke,provideSuspense as oe}from"@fluixi/reactive/signal";import{asSuspense as Ve,isComponent as He,createComponent as se,runWithoutHydration as Ue}from"@fluixi/dom";function ie(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function ae(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function ce(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function ue(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var de=je();function R(e){return se($e,e)}function $e(e){let t=Ke(),n=_e(de),r=n?n.register(t.inFallback):void 0;function o(u){return u==null||typeof u=="boolean"?null:typeof u=="function"&&He(u)&&!F(u)?u():u}let i=Ue(()=>o(e.fallback??null)),s=oe(t,()=>e.children);oe(t,()=>{Ne(()=>{let u=s;if(Array.isArray(u))for(let d of u)typeof d=="function"&&F(d)&&d();else typeof u=="function"&&F(u)&&u()})});let[a,c]=N(void 0),l=ce(s);return l&&(t.increment(),s.then(u=>{c(()=>u),t.decrement()},()=>t.decrement())),Ie(()=>(r?r.showFallback():t.inFallback())?i:l?a():s)}function le(e){return se(ze,e)}function ze(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(a=>!a.inFallback());r.forEach(a=>{a.setShowContent(s),a.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,a=!1;for(let c of s)a||c.inFallback()?(a=!0,c.setShowContent(!1),c.setShowFallback(n!=="hidden")):(c.setShowContent(!0),c.setShowFallback(!1))}}let i={register:s=>{let[a,c]=N(!0),[l,u]=N(!1);return r.push({inFallback:s,setShowContent:c,setShowFallback:u}),Fe(()=>{s(),o()}),{showContent:a,showFallback:l}}};return de.Provider({value:i,children:e.children})}Ve(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as fe,createMemo as We,createResource as Je}from"@fluixi/reactive/signal";function _(e,t){let n,r,o;function i(){return r||(r=e().then(a=>n=a.default)),r}t?.preload&&i();let s=(a=>{if(n){let c=n;return fe(()=>c(a))}if(!o){let[c]=Je(()=>i());if(o=c,c.error)throw c.error}return We(()=>{let c=o();return c?fe(()=>c(a)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}import{createResource as Be}from"@fluixi/reactive/signal";function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=Be(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var j=typeof window>"u";function me(e,t,n={}){if(g("render"),ye(["click","input","change","submit"]),j)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return qe(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Ye(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Ge(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Qe(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=me(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Ze(e){return!!(e==null||typeof e=="function"||Xe(e)||Ge(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function et(){j||ye(["click","input","change","submit"])}function tt(){}import{asProvider as nt}from"@fluixi/dom";import{createContext as rt,useContext as ot}from"@fluixi/reactive/signal";import{readChildren as st}from"@fluixi/reactive/signal";g("index");var ge=!1;function it(){ge||(ge=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function K(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||it();let a=typeof i=="function"?i():i,c=r?n:e;return o.Provider({value:a,get children(){return c?.children},debug:s})}function at(e){let t=h(e);return[t,r=>K(t,r.value,r)]}function he(e,t){if(e.length===0)return st(()=>t);let[n,r]=e[0],o=e.slice(1);return K(n,r,{get children(){return he(o,t)}})}function ct(e){return t=>{let n=x(e);return t.children(n)}}function ut(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=rt(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:nt(n),defaultValue:e}}function x(e){let t=ot(e);return t!==void 0?t:e.defaultValue}import{createSignal as dt,createMemo as lt}from"@fluixi/reactive/signal";import{getServerData as ft}from"@fluixi/dom";var pt="__fluixi_iso_states__",yt="__iso:";function mt(){return globalThis[pt]??=new Map}function xe(e){if(typeof window>"u")return;let t=ft();return t?t[yt+e]:void 0}function Te(e,t){let n=xe(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=dt(r);return mt().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function gt(e,t){let n=xe(e)!==void 0,r=Te(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=d=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(d))}catch{}},s=d=>{r.set(d),i(d)},a=(d,b)=>{s({...o(),[d]:b})},c={};for(let d of Object.keys(t.fallback))c[d]=lt(()=>o()[d]);let l=null;return{value:o,fields:c,set:s,setField:a,ensureInit:()=>n||!t.client?Promise.resolve():(l||(l=Promise.resolve(t.client()).then(d=>{s(d)}).catch(d=>{throw l=null,d})),l),key:e}}var ve=typeof document>"u",Ce=!ve;function be(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var A=typeof localStorage<"u"?localStorage:be(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function ht(e,t){return Ce?e():t}import{createSignal as Se}from"@fluixi/reactive/signal";function xt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Tt(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=xt(e.system),o=()=>{let f=A.getItem(t);return f&&e.themes.includes(f)?f:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=Se(o()),[a,c]=Se(!1),l=f=>{O.document?.documentElement.setAttribute(n,f);try{A.setItem(t,f)}catch{}},u=f=>{if(!e.themes.includes(f))return;let Ae=i();s(()=>f),l(f),e.onChange?.(f,Ae),e.load&&(c(!0),e.onLoading?.(f),Promise.resolve(e.load(f)).finally(()=>{c(!1),e.onLoaded?.(f)}))};return{value:i,isLoading:a,set:u,toggle:()=>{let f=e.themes.indexOf(i());u(e.themes[(f+1)%e.themes.length])},init:()=>l(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}export*from"@fluixi/utils";import{createSignal as U,createMemo as T,createResource as Pt,createEffect as $,getOwner as Rt,onCleanup as we,untrack as V}from"@fluixi/reactive/signal";import{insert as H,createComponent as Pe,createNativeElement as k,setAttribute as y}from"@fluixi/dom";import{createContext as E,useContext as Re}from"@fluixi/reactive/signal";import{get as wr}from"@fluixi/utils/object";import{deepEqual as Rr}from"@fluixi/utils/compare";import{createRouter as At,createBrowserHistory as Ot,matchRoutes as Or,matchPath as kr}from"@fluixi/router";import{createMemoryHistory as Dr,createBrowserHistory as Mr,matchRoutes as Ir,matchPath as Fr}from"@fluixi/router";import{createResource as ir,createSignal as St}from"@fluixi/reactive/signal";var vt=new Map;function Ct(){vt.clear()}function bt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,i=o.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),Ct()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(bt,100)});var[dr,lr]=St(0);var wt=h(),fr=wt.Provider;import{runWithOwner as Kr}from"@fluixi/reactive/signal";var z=E(),kt=E(),Et=E(),Lt=E();function Dt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let u=!1;we(()=>{u=!0});let d=Rt(),[b]=Pt(()=>o({params:n.params,location:n.location},d,()=>u));r=b}let i=()=>Lt.Provider({value:r,get children(){return Et.Provider({value:e.params,get children(){return kt.Provider({value:{depth:t,...n},get children(){return Pe(e.component,{})}})}})}});if(!r)return i();let s=r,a=()=>s.loading,[c,l]=U(V(()=>!a()));return $(()=>l(!a())),T(()=>c()?i():null)}function Mt(e){let t=e.depth+1,[n,r]=U(V(()=>e.matched()[t]?.component));return $(()=>{let o=e.matched()[t]?.component;r(()=>o)}),T(()=>{if(!n())return e.notFound?e.notFound():null;let i=V(()=>e.matched())[t];return Dt(i,t,{matched:e.matched,params:e.params,location:e.location})})}function It(e){return e==null?Ft():typeof e=="function"?Pe(e,{}):e}function Ft(){let e=k("div");y(e,"class","fx-not-found"),y(e,"role","main"),y(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=k("h1");y(t,"style","margin:0;font-size:2.5rem;font-weight:700"),H(t,"404");let n=k("p");return y(n,"style","margin:0;opacity:.7"),H(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function W(e){let t=e.history??Ot(),n=At({routes:e.routes,base:e.base,history:t}),[r,o]=U(n.state()),i=n.subscribe(o);we(()=>{i(),n.destroy()});let s=T(()=>(r().match?.matched??[]).filter(u=>u.component)),a={router:n,location:T(()=>r().location),params:T(()=>r().match?.params??{})},c={depth:-1,matched:s,params:a.params,location:a.location,notFound:()=>It(e.notFound)},l;return z.Provider({value:a,get children(){return l??=Mt(c)}})}var Nt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=Re(z);if(e)return e;if(typeof window>"u")return Nt;throw new Error("[router-next] useRouter must be used within <Router>")}function _t(){let e=v().params;return T(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function jt(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function J(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var p=e=>typeof e=="function"?e():e,Kt=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function B(e){let t=Re(z),n=typeof document>"u",r=()=>t?.router.navigate(p(e.href)??"",{replace:p(e.replace)}),o=k("a");y(o,"href",p(e.href)??""),e.slot&&y(o,"slot",p(e.slot));for(let[s,a]of Object.entries(e))Kt.has(s)||a!=null&&typeof a!="function"&&y(o,s,String(a));if(typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=p(e.className??e.class)??"";s&&y(o,"class",s)}typeof o.addEventListener=="function"&&$(()=>{let s=p(e.href)??"";o.setAttribute("href",s);let a=p(e.className??e.class)??"",c=p(e.activeClass)??"",l=p(e.active)??t?.location().pathname===s;o.className=[a,l?c:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&H(o,i),o}import{html as go,svg as ho}from"@fluixi/dom";import{query as To,queryAll as vo,closest as Co,addClass as bo,removeClass as So,toggleClass as wo,hasClass as Po,setAttribute as Ro,getAttribute as Ao,removeAttribute as Oo,setStyles as ko,getStyle as Eo,createElement as Lo,removeChildren as Do,appendChildren as Mo,isVisible as Io,scrollIntoView as Fo,getOffset as No,delegate as _o,waitForElement as jo,observeIntersection as Ko,observeResize as Vo}from"@fluixi/dom";import{classMap as Uo,styleMap as $o,Island as zo,hydrateIslands as Wo,mergeProps as Jo,splitProps as Bo}from"@fluixi/dom";import{Show as Ur,For as $r,Index as zr,Switch as Wr,Match as Jr,Dynamic as Br,ErrorBoundary as qr,Portal as Xr}from"@fluixi/dom";import{createStore as Yo,untrackStore as Go,unwrap as Qo,Store as Zo}from"@fluixi/reactive/store";var nn="0.0.1",rn="Fluixi";var ao={createComponent:C,onMount:w,onUnmount:P,createEffect:Vt,createMemo:Ht,createSignal:Ut,createContext:h,createRoot:$t,createDeferred:Gt,createComputed:zt,createRenderEffect:Wt,createSelector:Zt,onCleanup:Jt,getOwner:Bt,runWithOwner:qt,batch:Xt,untrack:Yt,useContext:x,setOwner:Qt,Router:W,Link:B,useRouter:v,useNavigate:J,read:en,reduce:tn,VERSION:nn,FRAMEWORK_NAME:rn};g("fluixi element main");export{M as $component,pe as Await,Br as Dynamic,qr as ErrorBoundary,rn as FRAMEWORK_NAME,$r as For,zr as Index,zo as Island,B as Link,Jr as Match,Xr as Portal,W as Router,Ur as Show,Zo as Store,R as Suspense,le as SuspenseList,Wr as Switch,nn as VERSION,bo as addClass,Mo as appendChildren,Xt as batch,Uo as classMap,tt as cleanupDelegation,ht as clientOnly,Co as closest,he as composeProviders,C as createComponent,zt as createComputed,ct as createConsumer,h as createContext,at as createContextWithProvider,Zr as createDebounce,eo as createDebouncedResource,to as createDebouncedSignal,Gt as createDeferred,Vt as createEffect,Te as createIsomorphicState,gt as createIsomorphicStore,Ht as createMemo,be as createMemoryStorage,K as createProvider,Wt as createRenderEffect,Gr as createResource,$t as createRoot,Zt as createSelector,Ut as createSignal,Yo as createStore,Tt as createTheme,ao as default,_o as delegate,Lo as domCreateElement,O as env,Ao as getAttribute,No as getOffset,Bt as getOwner,Eo as getStyle,Po as hasClass,go as html,Wo as hydrateIslands,et as initDelegation,Ce as isClient,ue as isJSXElement,ae as isLitResult,ie as isNode,Ze as isRenderable,ve as isServer,Io as isVisible,_ as lazy,Jo as mergeProps,Ko as observeIntersection,Vo as observeResize,Jt as onCleanup,w as onMount,P as onUnmount,Qe as portal,To as query,vo as queryAll,en as read,tn as reduce,Oo as removeAttribute,Do as removeChildren,So as removeClass,me as render,qt as runWithOwner,Fo as scrollIntoView,Ro as setAttribute,Qt as setOwner,ko as setStyles,Bo as splitProps,A as storage,$o as styleMap,ho as svg,wo as toggleClass,Yt as untrack,Go as untrackStore,Qo as unwrap,re as useCallback,x as useContext,I as useEffect,ne as useEventListener,jt as useLocation,Z as useMemo,J as useNavigate,_t as useParams,ut as useProvide,te as useReducer,ee as useRef,v as useRouter,jo as waitForElement};
|