@fluixi/core 1.0.0-alpha.57 → 1.0.0-alpha.58

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.
@@ -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:()=>s.addClass,appendChildren:()=>s.appendChildren,batch:()=>a.batch,classMap:()=>b.classMap,cleanupDelegation:()=>De,clientOnly:()=>$e,closest:()=>s.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:()=>wt,delegate:()=>s.delegate,domCreateElement:()=>s.createElement,env:()=>K,getAttribute:()=>s.getAttribute,getOffset:()=>s.getOffset,getOwner:()=>a.getOwner,getStyle:()=>s.getStyle,hasClass:()=>s.hasClass,html:()=>ee.html,hydrateIslands:()=>b.hydrateIslands,initDelegation:()=>Me,isClient:()=>Te,isJSXElement:()=>le,isLitResult:()=>de,isNode:()=>ue,isRenderable:()=>Le,isServer:()=>xe,isVisible:()=>s.isVisible,lazy:()=>J,mergeProps:()=>b.mergeProps,observeIntersection:()=>s.observeIntersection,observeResize:()=>s.observeResize,onCleanup:()=>a.onCleanup,onMount:()=>N,onUnmount:()=>_,portal:()=>Ee,query:()=>s.query,queryAll:()=>s.queryAll,read:()=>F.readSignal,reduce:()=>F.reduceSignal,removeAttribute:()=>s.removeAttribute,removeChildren:()=>s.removeChildren,removeClass:()=>s.removeClass,render:()=>me,runWithOwner:()=>a.runWithOwner,scrollIntoView:()=>s.scrollIntoView,setAttribute:()=>s.setAttribute,setOwner:()=>a.setOwner,setStyles:()=>s.setStyles,splitProps:()=>b.splitProps,storage:()=>V,styleMap:()=>b.styleMap,svg:()=>ee.svg,toggleClass:()=>s.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:()=>Ve,useReducer:()=>ie,useRef:()=>se,useRouter:()=>L,waitForElement:()=>s.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"),u=require("@fluixi/reactive/signal");var re=Symbol.for("fluixi-lifecycle");function we(){let e=(0,u.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,u.getOwner)();queueMicrotask(()=>{if((0,u.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,u.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,u.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,u.createEffect)(()=>{r&&r(),r=n()}),(0,u.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,u.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,u.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,u.createEffect)(()=>{let r=(0,u.untrack)(e);typeof r=="function"&&(0,u.onCleanup)(r)})}}function _(e){(0,u.onCleanup)(e)}function W(e){let t=we();if(t)t.effects.push(e),Pe(t);else{let n;(0,u.createEffect)(()=>{n&&n(),n=e()}),(0,u.onCleanup)(()=>{n&&n()})}}function oe(e){return(0,u.createMemo)(e)}function se(e){let t={current:e};return(0,u.onCleanup)(()=>{t.current=null}),t}function ie(e,t){let[n,r]=(0,u.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)),i=(0,g.provideSuspense)(t,()=>e.children);(0,g.provideSuspense)(t,()=>{(0,g.createRenderEffect)(()=>{let f=i;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[l,d]=(0,g.createSignal)(void 0),T=Re(i);return T&&(t.increment(),i.then(f=>{d(()=>f),t.decrement()},()=>t.decrement())),(0,g.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:T?l():i)}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 i=r.every(l=>!l.inFallback());r.forEach(l=>{l.setShowContent(i),l.setShowFallback(!i)})}else{let i=t==="backwards"?[...r].reverse():r,l=!1;for(let d of i)l||d.inFallback()?(l=!0,d.setShowContent(!1),d.setShowFallback(n!=="hidden")):(d.setShowContent(!0),d.setShowFallback(!1))}}let c={register:i=>{let[l,d]=(0,g.createSignal)(!0),[T,f]=(0,g.createSignal)(!1);return r.push({inFallback:i,setShowContent:d,setShowFallback:f}),(0,g.createEffect)(()=>{i(),o()}),{showContent:l,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(l=>n=l.default)),r}t?.preload&&c();let i=(l=>{if(n){let d=n;return(0,A.untrack)(()=>d(l))}if(!o){let[d]=(0,A.createResource)(()=>c());if(o=d,d.error)throw d.error}return(0,A.createMemo)(()=>{let d=o();return d?(0,A.untrack)(()=>d(l)):void 0},void 0,{name:"lazy"})});return i.preload=()=>c().then(()=>{}),i.$lazy=!0,i.loader=e,i}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,i=r?!1:e.debug??!1;r||ot();let l=typeof c=="function"?c():c,d=r?n:e;return o.Provider({value:l,get children(){return d?.children},debug:i})}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 Ve(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"),Ke=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,Ke.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{}},i=x=>{r.set(x),c(x)},l=(x,U)=>{i({...o(),[x]:U})},d={};for(let x of Object.keys(t.fallback))d[x]=(0,X.createMemo)(()=>o()[x]);let T=null;return{value:o,fields:d,set:i,setField:l,ensureInit:()=>n||!t.client?Promise.resolve():(T||(T=Promise.resolve(t.client()).then(x=>{i(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(),K={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&&K.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,i]=(0,Ce.createSignal)(o()),[l,d]=(0,Ce.createSignal)(!1),T=v=>{K.document?.documentElement.setAttribute(n,v);try{V.setItem(t,v)}catch{}},f=v=>{if(!e.themes.includes(v))return;let Xe=c();i(()=>v),T(v),e.onChange?.(v,Xe),e.load&&(d(!0),e.onLoading?.(v),Promise.resolve(e.load(v)).finally(()=>{d(!1),e.onLoaded?.(v)}))};return{value:c,isLoading:l,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[gn,hn]=(0,be.createSignal)(0);var ft=k(),xn=ft.Provider;var St=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 i=r,l=()=>i.loading,[d,T]=(0,p.createSignal)((0,p.untrack)(()=>!l()));return(0,p.createEffect)(()=>T(!l())),(0,p.createMemo)(()=>d()?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 i=(0,p.createMemo)(()=>(r().match?.matched??[]).filter(f=>f.component)),l={router:n,location:(0,p.createMemo)(()=>r().location),params:(0,p.createMemo)(()=>r().match?.params??{})},d={depth:-1,matched:i,params:l.params,location:l.location,notFound:()=>vt(e.notFound)},T;return Se.Provider({value:l,get children(){return T??=Tt(d)}})}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;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");if((0,h.setAttribute)(o,"href",w(e.href)??""),e.slot&&(0,h.setAttribute)(o,"slot",w(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=w(e.className??e.class)??"";i&&(0,h.setAttribute)(o,"class",i)}typeof o.addEventListener=="function"&&(0,p.createEffect)(()=>{let i=w(e.href)??"";o.setAttribute("href",i);let l=w(e.className??e.class)??"",d=w(e.activeClass)??"",T=w(e.active)??t?.location().pathname===i;o.className=[l,T?d:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,h.insert)(o,c),o}var ee=require("@fluixi/dom"),s=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 wt={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:()=>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 +1 @@
1
- import{createEffect as Vt,createMemo as Kt,createSignal as Ht,createResource as Yr,createRoot as Ut,createComputed as $t,createRenderEffect as zt,onCleanup as Wt,getOwner as Jt,runWithOwner as Bt,batch as qt,untrack as Xt,createDeferred as Yt,setOwner as Gt}from"@fluixi/reactive/signal";import{createDebounce as Qr,createSelector as Qt}from"@fluixi/reactive/signal";import{readSignal as Zt,reduceSignal as en}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 Ve,provideSuspense as oe}from"@fluixi/reactive/signal";import{asSuspense as Ke,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=Ve(),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[c,a]=N(void 0),l=ce(s);return l&&(t.increment(),s.then(u=>{a(()=>u),t.decrement()},()=>t.decrement())),Ie(()=>(r?r.showFallback():t.inFallback())?i:l?c():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(c=>!c.inFallback());r.forEach(c=>{c.setShowContent(s),c.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,c=!1;for(let a of s)c||a.inFallback()?(c=!0,a.setShowContent(!1),a.setShowFallback(n!=="hidden")):(a.setShowContent(!0),a.setShowFallback(!1))}}let i={register:s=>{let[c,a]=N(!0),[l,u]=N(!1);return r.push({inFallback:s,setShowContent:a,setShowFallback:u}),Fe(()=>{s(),o()}),{showContent:c,showFallback:l}}};return de.Provider({value:i,children:e.children})}Ke(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(c=>n=c.default)),r}t?.preload&&i();let s=(c=>{if(n){let a=n;return fe(()=>a(c))}if(!o){let[a]=Je(()=>i());if(o=a,a.error)throw a.error}return We(()=>{let a=o();return a?fe(()=>a(c)):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 V(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 c=typeof i=="function"?i():i,a=r?n:e;return o.Provider({value:c,get children(){return a?.children},debug:s})}function at(e){let t=h(e);return[t,r=>V(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 V(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)},c=(d,b)=>{s({...o(),[d]:b})},a={};for(let d of Object.keys(t.fallback))a[d]=lt(()=>o()[d]);let l=null;return{value:o,fields:a,set:s,setField:c,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()),[c,a]=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&&(a(!0),e.onLoading?.(f),Promise.resolve(e.load(f)).finally(()=>{a(!1),e.onLoaded?.(f)}))};return{value:i,isLoading:c,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 K}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 Sr}from"@fluixi/utils/object";import{deepEqual as Pr}from"@fluixi/utils/compare";import{createRouter as At,createBrowserHistory as Ot,matchRoutes as Ar,matchPath as Or}from"@fluixi/router";import{createMemoryHistory as Lr,createBrowserHistory as Mr,matchRoutes as Dr,matchPath as Ir}from"@fluixi/router";import{createResource as sr,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[ur,dr]=St(0);var wt=h(),lr=wt.Provider;import{runWithOwner as jr}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,c=()=>s.loading,[a,l]=U(K(()=>!c()));return $(()=>l(!c())),T(()=>a()?i():null)}function Dt(e){let t=e.depth+1,[n,r]=U(K(()=>e.matched()[t]?.component));return $(()=>{let o=e.matched()[t]?.component;r(()=>o)}),T(()=>{if(!n())return e.notFound?e.notFound():null;let i=K(()=>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)),c={router:n,location:T(()=>r().location),params:T(()=>r().match?.params??{})},a={depth:-1,matched:s,params:c.params,location:c.location,notFound:()=>It(e.notFound)},l;return z.Provider({value:c,get children(){return l??=Dt(a)}})}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;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");if(y(o,"href",p(e.href)??""),e.slot&&y(o,"slot",p(e.slot)),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 c=p(e.className??e.class)??"",a=p(e.activeClass)??"",l=p(e.active)??t?.location().pathname===s;o.className=[c,l?a:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&H(o,i),o}import{html as po,svg as yo}from"@fluixi/dom";import{query as go,queryAll as ho,closest as xo,addClass as To,removeClass as vo,toggleClass as Co,hasClass as bo,setAttribute as So,getAttribute as wo,removeAttribute as Po,setStyles as Ro,getStyle as Ao,createElement as Oo,removeChildren as ko,appendChildren as Eo,isVisible as Lo,scrollIntoView as Mo,getOffset as Do,delegate as Io,waitForElement as Fo,observeIntersection as No,observeResize as _o}from"@fluixi/dom";import{classMap as Vo,styleMap as Ko,Island as Ho,hydrateIslands as Uo,mergeProps as $o,splitProps as zo}from"@fluixi/dom";import{Show as Hr,For as Ur,Index as $r,Switch as zr,Match as Wr,Dynamic as Jr,ErrorBoundary as Br,Portal as qr}from"@fluixi/dom";import{createStore as Bo,untrackStore as qo,unwrap as Xo,Store as Yo}from"@fluixi/reactive/store";var tn="0.0.1",nn="Fluixi";var oo={createComponent:C,onMount:w,onUnmount:P,createEffect:Vt,createMemo:Kt,createSignal:Ht,createContext:h,createRoot:Ut,createDeferred:Yt,createComputed:$t,createRenderEffect:zt,createSelector:Qt,onCleanup:Wt,getOwner:Jt,runWithOwner:Bt,batch:qt,untrack:Xt,useContext:x,setOwner:Gt,Router:W,Link:B,useRouter:v,useNavigate:J,read:Zt,reduce:en,VERSION:tn,FRAMEWORK_NAME:nn};g("fluixi element main");export{D as $component,pe as Await,Jr as Dynamic,Br as ErrorBoundary,nn as FRAMEWORK_NAME,Ur as For,$r as Index,Ho as Island,B as Link,Wr as Match,qr as Portal,W as Router,Hr as Show,Yo as Store,R as Suspense,le as SuspenseList,zr as Switch,tn as VERSION,To as addClass,Eo as appendChildren,qt as batch,Vo as classMap,tt as cleanupDelegation,ht as clientOnly,xo as closest,he as composeProviders,C as createComponent,$t as createComputed,ct as createConsumer,h as createContext,at as createContextWithProvider,Qr as createDebounce,Yt as createDeferred,Vt as createEffect,Te as createIsomorphicState,gt as createIsomorphicStore,Kt as createMemo,be as createMemoryStorage,V as createProvider,zt as createRenderEffect,Yr as createResource,Ut as createRoot,Qt as createSelector,Ht as createSignal,Bo as createStore,Tt as createTheme,oo as default,Io as delegate,Oo as domCreateElement,O as env,wo as getAttribute,Do as getOffset,Jt as getOwner,Ao as getStyle,bo as hasClass,po as html,Uo as hydrateIslands,et as initDelegation,Ce as isClient,ue as isJSXElement,ae as isLitResult,ie as isNode,Ze as isRenderable,ve as isServer,Lo as isVisible,_ as lazy,$o as mergeProps,No as observeIntersection,_o as observeResize,Wt as onCleanup,w as onMount,P as onUnmount,Qe as portal,go as query,ho as queryAll,Zt as read,en as reduce,Po as removeAttribute,ko as removeChildren,vo as removeClass,me as render,Bt as runWithOwner,Mo as scrollIntoView,So as setAttribute,Gt as setOwner,Ro as setStyles,zo as splitProps,A as storage,Ko as styleMap,yo as svg,Co as toggleClass,Xt as untrack,qo as untrackStore,Xo 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,Fo 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,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 +1 @@
1
- "use strict";var w=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var ae=Object.prototype.hasOwnProperty;var ie=(e,n)=>{for(var t in n)w(e,t,{get:n[t],enumerable:!0})},se=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of oe(n))!ae.call(e,r)&&r!==t&&w(e,r,{get:()=>n[r],enumerable:!(o=re(n,r))||o.enumerable});return e};var ce=e=>se(w({},"__esModule",{value:!0}),e);var _e={};ie(_e,{A:()=>ke,Form:()=>Me,Link:()=>Z,Outlet:()=>be,Redirect:()=>Re,Router:()=>Ce,action:()=>E,cache:()=>j,createAsync:()=>I,createBrowserHistory:()=>g.createBrowserHistory,createMemoryHistory:()=>g.createMemoryHistory,lazy:()=>$,matchPath:()=>g.matchPath,matchRoutes:()=>g.matchRoutes,preloadRoutes:()=>Ne,revalidate:()=>U,runWithOwner:()=>ee.runWithOwner,select:()=>Le,useAction:()=>W,useLevelParams:()=>we,useLocation:()=>D,useMatch:()=>Oe,useNavigate:()=>Q,useParam:()=>Ae,useParamSelector:()=>Se,useParams:()=>L,useRouteData:()=>De,useRouter:()=>P,useSearchParams:()=>Ee,useSubmission:()=>K});module.exports=ce(_e);var s=require("@fluixi/reactive/signal"),u=require("@fluixi/dom"),l=require("@fluixi/reactive/signal"),q=require("@fluixi/utils/object"),B=require("@fluixi/utils/compare"),m=require("@fluixi/router"),g=require("@fluixi/router");var T=require("@fluixi/reactive/signal");var ue=!1,A=new Map;function k(){return ue}function M(e,n){A.set(e,n)}function N(e){return A.get(e)}function de(){A.clear()}function fe(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let n=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),t=[],o;for(;o=n.nextNode();){let r=o,a=r.nodeValue||"";(a.startsWith("#")||a.startsWith("/"))&&t.push(r)}t.forEach(r=>r.remove()),de()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(fe,100)});function _(){return typeof window>"u"}var V=require("@fluixi/dom"),S=require("@fluixi/reactive/signal"),ye=require("@fluixi/reactive/signal");var b=require("@fluixi/dom"),f=require("@fluixi/reactive/signal");function H(e){(0,b.registerCreateComponent)(le)}function le(e,n){return pe(e,n)}function pe(e,n){let t=typeof e=="function"?(0,f.untrack)(()=>e(n)):e;if(t!=null&&(typeof t=="function"||typeof t=="object")&&!(0,f.isSignal)(t)){try{t.$name=e.name}catch{}return(0,b.asComponent)(t)}return t}H("index");function F(e){let n=(0,S.createContext)(e),t=o=>(o.debug,n.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:n.id,Provider:(0,V.asProvider)(t),defaultValue:e}}var v=new Map,h=new Map;function j(e,n){return async(...t)=>{let o=n+":"+JSON.stringify(t);if(k()||typeof window<"u"){let a=N(o);if(a!==void 0)return a}if(v.has(o))return v.get(o);if(h.has(o))return h.get(o);let r=Promise.resolve(e(...t)).then(a=>(v.set(o,a),h.delete(o),_()&&M(o,a),a),a=>{throw h.delete(o),a});return h.set(o,r),r}}var[nt,me]=(0,T.createSignal)(0),ge=new Set;function U(e){let n=typeof e=="string"?t=>t.startsWith(e):e;for(let t of v.keys())n(t)&&(v.delete(t),ge.add(t));me(t=>t+1)}function I(e,n){let[t]=(0,T.createResource)(n||(()=>!0),e);return t}var O=new Map;function z(e){return O.has(e)||O.set(e,(0,T.createSignal)(void 0)),O.get(e)}function E(e,n){let t=n||e.name||"action",o=async r=>{let[,a]=z(t),i=()=>a(void 0),c=()=>o(r);a({input:r,pending:!0,clear:i,retry:c});try{let d=await e(r);return a({input:r,result:d,pending:!1,clear:i,retry:c}),d}catch(d){throw a({input:r,error:d,pending:!1,clear:i,retry:c}),d}};return o.url=t,o.with=r=>E((...a)=>e(r,...a),n),o}function K(e){let[n]=z(e.url);return n}function W(e){return e}var xe=F(),rt=xe.Provider;var x=require("@fluixi/reactive/signal");function $(e,n){let t,o,r;function a(){return o||(o=e().then(c=>t=c.default)),o}n?.preload&&a();let i=(c=>{if(t){let d=t;return(0,x.untrack)(()=>d(c))}if(!r){let[d]=(0,x.createResource)(()=>a());if(r=d,d.error)throw d.error}return(0,x.createMemo)(()=>{let d=r();return d?(0,x.untrack)(()=>d(c)):void 0},void 0,{name:"lazy"})});return i.preload=()=>a().then(()=>{}),i.$lazy=!0,i.loader=e,i}var ee=require("@fluixi/reactive/signal"),R=(0,l.createContext)(),J=(0,l.createContext)(),X=(0,l.createContext)(),Y=(0,l.createContext)();function he(e,n,t){let o,r=e.route.data;if(typeof r=="function"){let C=!1;(0,s.onCleanup)(()=>{C=!0});let te=(0,s.getOwner)(),[ne]=(0,s.createResource)(()=>r({params:t.params,location:t.location},te,()=>C));o=ne}let a=()=>Y.Provider({value:o,get children(){return X.Provider({value:e.params,get children(){return J.Provider({value:{depth:n,...t},get children(){return(0,u.createComponent)(e.component,{})}})}})}});if(!o)return a();let i=o,c=()=>i.loading,[d,p]=(0,s.createSignal)((0,s.untrack)(()=>!c()));return(0,s.createEffect)(()=>p(!c())),(0,s.createMemo)(()=>d()?a():null)}function G(e){let n=e.depth+1,[t,o]=(0,s.createSignal)((0,s.untrack)(()=>e.matched()[n]?.component));return(0,s.createEffect)(()=>{let r=e.matched()[n]?.component;o(()=>r)}),(0,s.createMemo)(()=>{if(!t())return e.notFound?e.notFound():null;let a=(0,s.untrack)(()=>e.matched())[n];return he(a,n,{matched:e.matched,params:e.params,location:e.location})})}function ve(e){return e==null?Te():typeof e=="function"?(0,u.createComponent)(e,{}):e}function Te(){let e=(0,u.createNativeElement)("div");(0,u.setAttribute)(e,"class","fx-not-found"),(0,u.setAttribute)(e,"role","main"),(0,u.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 n=(0,u.createNativeElement)("h1");(0,u.setAttribute)(n,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,u.insert)(n,"404");let t=(0,u.createNativeElement)("p");return(0,u.setAttribute)(t,"style","margin:0;opacity:.7"),(0,u.insert)(t,"This page could not be found."),e.appendChild(n),e.appendChild(t),e}function Ce(e){let n=e.history??(0,m.createBrowserHistory)(),t=(0,m.createRouter)({routes:e.routes,base:e.base,history:n}),[o,r]=(0,s.createSignal)(t.state()),a=t.subscribe(r);(0,s.onCleanup)(()=>{a(),t.destroy()});let i=(0,s.createMemo)(()=>(o().match?.matched??[]).filter(C=>C.component)),c={router:t,location:(0,s.createMemo)(()=>o().location),params:(0,s.createMemo)(()=>o().match?.params??{})},d={depth:-1,matched:i,params:c.params,location:c.location,notFound:()=>ve(e.notFound)},p;return R.Provider({value:c,get children(){return p??=G(d)}})}function be(){let e=(0,l.useContext)(J);return e?G(e):null}function Re(e){let n=(0,l.useContext)(R);if(!n||typeof window>"u")return null;let t=!1;return(0,s.onCleanup)(()=>t=!0),queueMicrotask(()=>{t||n.router.navigate(e.to,{replace:e.replace!==!1})}),null}var Pe={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function P(){let e=(0,l.useContext)(R);if(e)return e;if(typeof window>"u")return Pe;throw new Error("[router-next] useRouter must be used within <Router>")}function L(){let e=P().params;return(0,s.createMemo)(()=>e(),{},{equals:(n,t)=>JSON.stringify(n)===JSON.stringify(t)})}function we(){return(0,l.useContext)(X)??{}}function Ae(e){let n=L();return(0,s.createMemo)(()=>n()[e])}function Se(e,n){let t=L();return(0,s.createMemo)(()=>e(t()),void 0,n?{equals:n}:void 0)}function Oe(e){let n=D();return(0,s.createMemo)(()=>(0,m.matchPath)(typeof e=="function"?e():e,n.pathname))}function Ee(){let e=D(),n=Q();return[(0,s.createMemo)(()=>e.query),(r,a)=>{let i=new URLSearchParams(e.search);for(let[d,p]of Object.entries(r))p===null?i.delete(d):i.set(d,p);let c=i.toString();n(e.pathname+(c?`?${c}`:""),a)}]}function Le(e,n){let t=(o,r)=>(0,B.deepEqual)(o,r);return n!==void 0?(0,s.createMemo)(()=>(0,q.get)(e(),n),void 0,{equals:t}):(0,s.createMemo)(e,void 0,{equals:t})}function D(){let{location:e}=P();return new Proxy({},{get:(n,t)=>e()[t],has:(n,t)=>t in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(n,t)=>Object.getOwnPropertyDescriptor(e(),t)})}function Q(){let{router:e}=P();return(n,t)=>e.navigate(n,t)}function De(){return(0,l.useContext)(Y)??(()=>{})}var y=e=>typeof e=="function"?e():e;function Z(e){let n=(0,l.useContext)(R),t=typeof document>"u",o=()=>n?.router.navigate(y(e.href)??"",{replace:y(e.replace)}),r=(0,u.createNativeElement)("a");if((0,u.setAttribute)(r,"href",y(e.href)??""),e.slot&&(0,u.setAttribute)(r,"slot",y(e.slot)),typeof r.addEventListener=="function")r.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),o())});else{let i=y(e.className??e.class)??"";i&&(0,u.setAttribute)(r,"class",i)}typeof r.addEventListener=="function"&&(0,s.createEffect)(()=>{let i=y(e.href)??"";r.setAttribute("href",i);let c=y(e.className??e.class)??"",d=y(e.activeClass)??"",p=y(e.active)??n?.location().pathname===i;r.className=[c,p?d:""].filter(Boolean).join(" ")});let a=e.children;return a!=null&&(0,u.insert)(r,a),r}var ke=Z;function Me(e){let n=e.action,t=e.className??e.class,o=n.url??"",r=(0,u.createNativeElement)("form");(0,u.setAttribute)(r,"method","post"),o&&(0,u.setAttribute)(r,"action",o),t&&(0,u.setAttribute)(r,"class",t);for(let[i,c]of Object.entries(e))i==="action"||i==="children"||i==="class"||i==="className"||c!=null&&typeof c!="function"&&(0,u.setAttribute)(r,i,String(c));typeof r.addEventListener=="function"&&r.addEventListener("submit",i=>{i.preventDefault();let c={};new FormData(r).forEach((d,p)=>{c[p]=d}),Promise.resolve(n(c)).catch(()=>{})});let a=e.children;return a!=null&&(0,u.insert)(r,a),r}async function Ne(e,n){let t=(0,m.matchRoutes)(e,n);if(!t)return;let o=[];for(let r of t.matched){let a=r.component;a&&typeof a.preload=="function"&&o.push(a.preload())}await Promise.all(o)}
1
+ "use strict";var w=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var ae=Object.prototype.hasOwnProperty;var ie=(e,n)=>{for(var t in n)w(e,t,{get:n[t],enumerable:!0})},se=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of oe(n))!ae.call(e,r)&&r!==t&&w(e,r,{get:()=>n[r],enumerable:!(o=re(n,r))||o.enumerable});return e};var ce=e=>se(w({},"__esModule",{value:!0}),e);var He={};ie(He,{A:()=>Me,Form:()=>Ne,Link:()=>Z,Outlet:()=>be,Redirect:()=>Re,Router:()=>Ce,action:()=>E,cache:()=>F,createAsync:()=>I,createBrowserHistory:()=>g.createBrowserHistory,createMemoryHistory:()=>g.createMemoryHistory,lazy:()=>$,matchPath:()=>g.matchPath,matchRoutes:()=>g.matchRoutes,preloadRoutes:()=>_e,revalidate:()=>U,runWithOwner:()=>ee.runWithOwner,select:()=>Le,useAction:()=>W,useLevelParams:()=>we,useLocation:()=>D,useMatch:()=>Oe,useNavigate:()=>Q,useParam:()=>Ae,useParamSelector:()=>Se,useParams:()=>L,useRouteData:()=>De,useRouter:()=>P,useSearchParams:()=>Ee,useSubmission:()=>z});module.exports=ce(He);var s=require("@fluixi/reactive/signal"),u=require("@fluixi/dom"),l=require("@fluixi/reactive/signal"),q=require("@fluixi/utils/object"),B=require("@fluixi/utils/compare"),m=require("@fluixi/router"),g=require("@fluixi/router");var T=require("@fluixi/reactive/signal");var ue=!1,A=new Map;function k(){return ue}function M(e,n){A.set(e,n)}function N(e){return A.get(e)}function de(){A.clear()}function fe(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let n=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),t=[],o;for(;o=n.nextNode();){let r=o,a=r.nodeValue||"";(a.startsWith("#")||a.startsWith("/"))&&t.push(r)}t.forEach(r=>r.remove()),de()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(fe,100)});function _(){return typeof window>"u"}var V=require("@fluixi/dom"),S=require("@fluixi/reactive/signal"),ye=require("@fluixi/reactive/signal");var b=require("@fluixi/dom"),f=require("@fluixi/reactive/signal");function H(e){(0,b.registerCreateComponent)(le)}function le(e,n){return pe(e,n)}function pe(e,n){let t=typeof e=="function"?(0,f.untrack)(()=>e(n)):e;if(t!=null&&(typeof t=="function"||typeof t=="object")&&!(0,f.isSignal)(t)){try{t.$name=e.name}catch{}return(0,b.asComponent)(t)}return t}H("index");function j(e){let n=(0,S.createContext)(e),t=o=>(o.debug,n.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:n.id,Provider:(0,V.asProvider)(t),defaultValue:e}}var v=new Map,h=new Map;function F(e,n){return async(...t)=>{let o=n+":"+JSON.stringify(t);if(k()||typeof window<"u"){let a=N(o);if(a!==void 0)return a}if(v.has(o))return v.get(o);if(h.has(o))return h.get(o);let r=Promise.resolve(e(...t)).then(a=>(v.set(o,a),h.delete(o),_()&&M(o,a),a),a=>{throw h.delete(o),a});return h.set(o,r),r}}var[rt,me]=(0,T.createSignal)(0),ge=new Set;function U(e){let n=typeof e=="string"?t=>t.startsWith(e):e;for(let t of v.keys())n(t)&&(v.delete(t),ge.add(t));me(t=>t+1)}function I(e,n){let[t]=(0,T.createResource)(n||(()=>!0),e);return t}var O=new Map;function K(e){return O.has(e)||O.set(e,(0,T.createSignal)(void 0)),O.get(e)}function E(e,n){let t=n||e.name||"action",o=async r=>{let[,a]=K(t),i=()=>a(void 0),c=()=>o(r);a({input:r,pending:!0,clear:i,retry:c});try{let d=await e(r);return a({input:r,result:d,pending:!1,clear:i,retry:c}),d}catch(d){throw a({input:r,error:d,pending:!1,clear:i,retry:c}),d}};return o.url=t,o.with=r=>E((...a)=>e(r,...a),n),o}function z(e){let[n]=K(e.url);return n}function W(e){return e}var xe=j(),ot=xe.Provider;var x=require("@fluixi/reactive/signal");function $(e,n){let t,o,r;function a(){return o||(o=e().then(c=>t=c.default)),o}n?.preload&&a();let i=(c=>{if(t){let d=t;return(0,x.untrack)(()=>d(c))}if(!r){let[d]=(0,x.createResource)(()=>a());if(r=d,d.error)throw d.error}return(0,x.createMemo)(()=>{let d=r();return d?(0,x.untrack)(()=>d(c)):void 0},void 0,{name:"lazy"})});return i.preload=()=>a().then(()=>{}),i.$lazy=!0,i.loader=e,i}var ee=require("@fluixi/reactive/signal"),R=(0,l.createContext)(),J=(0,l.createContext)(),X=(0,l.createContext)(),Y=(0,l.createContext)();function he(e,n,t){let o,r=e.route.data;if(typeof r=="function"){let C=!1;(0,s.onCleanup)(()=>{C=!0});let te=(0,s.getOwner)(),[ne]=(0,s.createResource)(()=>r({params:t.params,location:t.location},te,()=>C));o=ne}let a=()=>Y.Provider({value:o,get children(){return X.Provider({value:e.params,get children(){return J.Provider({value:{depth:n,...t},get children(){return(0,u.createComponent)(e.component,{})}})}})}});if(!o)return a();let i=o,c=()=>i.loading,[d,p]=(0,s.createSignal)((0,s.untrack)(()=>!c()));return(0,s.createEffect)(()=>p(!c())),(0,s.createMemo)(()=>d()?a():null)}function G(e){let n=e.depth+1,[t,o]=(0,s.createSignal)((0,s.untrack)(()=>e.matched()[n]?.component));return(0,s.createEffect)(()=>{let r=e.matched()[n]?.component;o(()=>r)}),(0,s.createMemo)(()=>{if(!t())return e.notFound?e.notFound():null;let a=(0,s.untrack)(()=>e.matched())[n];return he(a,n,{matched:e.matched,params:e.params,location:e.location})})}function ve(e){return e==null?Te():typeof e=="function"?(0,u.createComponent)(e,{}):e}function Te(){let e=(0,u.createNativeElement)("div");(0,u.setAttribute)(e,"class","fx-not-found"),(0,u.setAttribute)(e,"role","main"),(0,u.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 n=(0,u.createNativeElement)("h1");(0,u.setAttribute)(n,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,u.insert)(n,"404");let t=(0,u.createNativeElement)("p");return(0,u.setAttribute)(t,"style","margin:0;opacity:.7"),(0,u.insert)(t,"This page could not be found."),e.appendChild(n),e.appendChild(t),e}function Ce(e){let n=e.history??(0,m.createBrowserHistory)(),t=(0,m.createRouter)({routes:e.routes,base:e.base,history:n}),[o,r]=(0,s.createSignal)(t.state()),a=t.subscribe(r);(0,s.onCleanup)(()=>{a(),t.destroy()});let i=(0,s.createMemo)(()=>(o().match?.matched??[]).filter(C=>C.component)),c={router:t,location:(0,s.createMemo)(()=>o().location),params:(0,s.createMemo)(()=>o().match?.params??{})},d={depth:-1,matched:i,params:c.params,location:c.location,notFound:()=>ve(e.notFound)},p;return R.Provider({value:c,get children(){return p??=G(d)}})}function be(){let e=(0,l.useContext)(J);return e?G(e):null}function Re(e){let n=(0,l.useContext)(R);if(!n||typeof window>"u")return null;let t=!1;return(0,s.onCleanup)(()=>t=!0),queueMicrotask(()=>{t||n.router.navigate(e.to,{replace:e.replace!==!1})}),null}var Pe={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function P(){let e=(0,l.useContext)(R);if(e)return e;if(typeof window>"u")return Pe;throw new Error("[router-next] useRouter must be used within <Router>")}function L(){let e=P().params;return(0,s.createMemo)(()=>e(),{},{equals:(n,t)=>JSON.stringify(n)===JSON.stringify(t)})}function we(){return(0,l.useContext)(X)??{}}function Ae(e){let n=L();return(0,s.createMemo)(()=>n()[e])}function Se(e,n){let t=L();return(0,s.createMemo)(()=>e(t()),void 0,n?{equals:n}:void 0)}function Oe(e){let n=D();return(0,s.createMemo)(()=>(0,m.matchPath)(typeof e=="function"?e():e,n.pathname))}function Ee(){let e=D(),n=Q();return[(0,s.createMemo)(()=>e.query),(r,a)=>{let i=new URLSearchParams(e.search);for(let[d,p]of Object.entries(r))p===null?i.delete(d):i.set(d,p);let c=i.toString();n(e.pathname+(c?`?${c}`:""),a)}]}function Le(e,n){let t=(o,r)=>(0,B.deepEqual)(o,r);return n!==void 0?(0,s.createMemo)(()=>(0,q.get)(e(),n),void 0,{equals:t}):(0,s.createMemo)(e,void 0,{equals:t})}function D(){let{location:e}=P();return new Proxy({},{get:(n,t)=>e()[t],has:(n,t)=>t in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(n,t)=>Object.getOwnPropertyDescriptor(e(),t)})}function Q(){let{router:e}=P();return(n,t)=>e.navigate(n,t)}function De(){return(0,l.useContext)(Y)??(()=>{})}var y=e=>typeof e=="function"?e():e,ke=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function Z(e){let n=(0,l.useContext)(R),t=typeof document>"u",o=()=>n?.router.navigate(y(e.href)??"",{replace:y(e.replace)}),r=(0,u.createNativeElement)("a");(0,u.setAttribute)(r,"href",y(e.href)??""),e.slot&&(0,u.setAttribute)(r,"slot",y(e.slot));for(let[i,c]of Object.entries(e))ke.has(i)||c!=null&&typeof c!="function"&&(0,u.setAttribute)(r,i,String(c));if(typeof r.addEventListener=="function")r.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),o())});else{let i=y(e.className??e.class)??"";i&&(0,u.setAttribute)(r,"class",i)}typeof r.addEventListener=="function"&&(0,s.createEffect)(()=>{let i=y(e.href)??"";r.setAttribute("href",i);let c=y(e.className??e.class)??"",d=y(e.activeClass)??"",p=y(e.active)??n?.location().pathname===i;r.className=[c,p?d:""].filter(Boolean).join(" ")});let a=e.children;return a!=null&&(0,u.insert)(r,a),r}var Me=Z;function Ne(e){let n=e.action,t=e.className??e.class,o=n.url??"",r=(0,u.createNativeElement)("form");(0,u.setAttribute)(r,"method","post"),o&&(0,u.setAttribute)(r,"action",o),t&&(0,u.setAttribute)(r,"class",t);for(let[i,c]of Object.entries(e))i==="action"||i==="children"||i==="class"||i==="className"||c!=null&&typeof c!="function"&&(0,u.setAttribute)(r,i,String(c));typeof r.addEventListener=="function"&&r.addEventListener("submit",i=>{i.preventDefault();let c={};new FormData(r).forEach((d,p)=>{c[p]=d}),Promise.resolve(n(c)).catch(()=>{})});let a=e.children;return a!=null&&(0,u.insert)(r,a),r}async function _e(e,n){let t=(0,m.matchRoutes)(e,n);if(!t)return;let o=[];for(let r of t.matched){let a=r.component;a&&typeof a.preload=="function"&&o.push(a.preload())}await Promise.all(o)}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/router-next/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/router-next/index.ts"],"names":[],"mappings":"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"}
@@ -334,6 +334,17 @@ export function useRouteData() {
334
334
  return acc ?? (() => undefined);
335
335
  }
336
336
  const read = (v) => typeof v === 'function' ? v() : v;
337
+ // Props Link handles itself, so they aren't blindly forwarded as <a> attributes.
338
+ const LINK_OWN_PROPS = new Set([
339
+ 'href',
340
+ 'slot',
341
+ 'class',
342
+ 'className',
343
+ 'active',
344
+ 'activeClass',
345
+ 'replace',
346
+ 'children',
347
+ ]);
337
348
  export function Link(props) {
338
349
  const ctx = useContext(RouterContext);
339
350
  const isServer = typeof document === 'undefined';
@@ -344,6 +355,19 @@ export function Link(props) {
344
355
  setAttribute(a, 'href', read(props.href) ?? '');
345
356
  if (props.slot)
346
357
  setAttribute(a, 'slot', read(props.slot));
358
+ // Forward any other author attributes (data-*, aria-*, style, id, title, role, …)
359
+ // onto the <a>, the way <Form> does. Without this a component composed via
360
+ // `as={Link}` (polymorphic) silently loses its styling hooks — e.g. @fluixi-ui
361
+ // parts carry `data-*` slots + inline styles that would otherwise be dropped, so
362
+ // the element renders unstyled. Own-props handled elsewhere are skipped:
363
+ // href/slot above, class/className/active/activeClass in the effect, and
364
+ // children/replace by navigation.
365
+ for (const [k, v] of Object.entries(props)) {
366
+ if (LINK_OWN_PROPS.has(k))
367
+ continue;
368
+ if (v != null && typeof v !== 'function')
369
+ setAttribute(a, k, String(v));
370
+ }
347
371
  // Client only (ServerNode has no addEventListener). Direct listener (not delegated) so
348
372
  // preventDefault reliably blocks navigation.
349
373
  if (typeof a.addEventListener === 'function') {
@@ -1 +1 @@
1
- import{createSignal as P,createMemo as d,createResource as ge,createEffect as w,getOwner as xe,onCleanup as A,untrack as R}from"@fluixi/reactive/signal";import{insert as h,createComponent as F,createNativeElement as g,setAttribute as u}from"@fluixi/dom";import{createContext as v,useContext as p}from"@fluixi/reactive/signal";import{get as he}from"@fluixi/utils/object";import{deepEqual as ve}from"@fluixi/utils/compare";import{createRouter as Te,createBrowserHistory as Ce,matchRoutes as be,matchPath as Re}from"@fluixi/router";import{createMemoryHistory as Ft,createBrowserHistory as jt,matchRoutes as Ut,matchPath as It}from"@fluixi/router";import{createResource as oe,createSignal as N}from"@fluixi/reactive/signal";var B=!1,C=new Map;function O(){return B}function E(e,n){C.set(e,n)}function L(e){return C.get(e)}function J(){C.clear()}function X(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let n=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),t=[],o;for(;o=n.nextNode();){let r=o,a=r.nodeValue||"";(a.startsWith("#")||a.startsWith("/"))&&t.push(r)}t.forEach(r=>r.remove()),J()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(X,100)});function D(){return typeof window>"u"}import{asProvider as ne}from"@fluixi/dom";import{createContext as re,useContext as Ze}from"@fluixi/reactive/signal";import{readChildren as rt}from"@fluixi/reactive/signal";import{registerCreateComponent as Y,asComponent as G}from"@fluixi/dom";import{untrack as Q,onCleanup as Ne,getOwner as _e,createEffect as He,createMemo as Ve,createSignal as Fe,isSignal as Z,batch as je,runWithOwner as Ie,isOwnerDisposed as ze}from"@fluixi/reactive/signal";function k(e){Y(ee)}function ee(e,n){return te(e,n)}function te(e,n){let t=typeof e=="function"?Q(()=>e(n)):e;if(t!=null&&(typeof t=="function"||typeof t=="object")&&!Z(t)){try{t.$name=e.name}catch{}return G(t)}return t}k("index");function M(e){let n=re(e),t=o=>(o.debug,n.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:n.id,Provider:ne(t),defaultValue:e}}var m=new Map,y=new Map;function ae(e,n){return async(...t)=>{let o=n+":"+JSON.stringify(t);if(O()||typeof window<"u"){let a=L(o);if(a!==void 0)return a}if(m.has(o))return m.get(o);if(y.has(o))return y.get(o);let r=Promise.resolve(e(...t)).then(a=>(m.set(o,a),y.delete(o),D()&&E(o,a),a),a=>{throw y.delete(o),a});return y.set(o,r),r}}var[ft,ie]=N(0),se=new Set;function ce(e){let n=typeof e=="string"?t=>t.startsWith(e):e;for(let t of m.keys())n(t)&&(m.delete(t),se.add(t));ie(t=>t+1)}function ue(e,n){let[t]=oe(n||(()=>!0),e);return t}var b=new Map;function _(e){return b.has(e)||b.set(e,N(void 0)),b.get(e)}function H(e,n){let t=n||e.name||"action",o=async r=>{let[,a]=_(t),i=()=>a(void 0),s=()=>o(r);a({input:r,pending:!0,clear:i,retry:s});try{let c=await e(r);return a({input:r,result:c,pending:!1,clear:i,retry:s}),c}catch(c){throw a({input:r,error:c,pending:!1,clear:i,retry:s}),c}};return o.url=t,o.with=r=>H((...a)=>e(r,...a),n),o}function de(e){let[n]=_(e.url);return n}function fe(e){return e}var le=M(),lt=le.Provider;import{untrack as V,createMemo as pe,createResource as ye}from"@fluixi/reactive/signal";function me(e,n){let t,o,r;function a(){return o||(o=e().then(s=>t=s.default)),o}n?.preload&&a();let i=(s=>{if(t){let c=t;return V(()=>c(s))}if(!r){let[c]=ye(()=>a());if(r=c,c.error)throw c.error}return pe(()=>{let c=r();return c?V(()=>c(s)):void 0},void 0,{name:"lazy"})});return i.preload=()=>a().then(()=>{}),i.$lazy=!0,i.loader=e,i}import{runWithOwner as $t}from"@fluixi/reactive/signal";var T=v(),j=v(),U=v(),I=v();function Pe(e,n,t){let o,r=e.route.data;if(typeof r=="function"){let x=!1;A(()=>{x=!0});let $=xe(),[q]=ge(()=>r({params:t.params,location:t.location},$,()=>x));o=q}let a=()=>I.Provider({value:o,get children(){return U.Provider({value:e.params,get children(){return j.Provider({value:{depth:n,...t},get children(){return F(e.component,{})}})}})}});if(!o)return a();let i=o,s=()=>i.loading,[c,f]=P(R(()=>!s()));return w(()=>f(!s())),d(()=>c()?a():null)}function z(e){let n=e.depth+1,[t,o]=P(R(()=>e.matched()[n]?.component));return w(()=>{let r=e.matched()[n]?.component;o(()=>r)}),d(()=>{if(!t())return e.notFound?e.notFound():null;let a=R(()=>e.matched())[n];return Pe(a,n,{matched:e.matched,params:e.params,location:e.location})})}function we(e){return e==null?Ae():typeof e=="function"?F(e,{}):e}function Ae(){let e=g("div");u(e,"class","fx-not-found"),u(e,"role","main"),u(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let n=g("h1");u(n,"style","margin:0;font-size:2.5rem;font-weight:700"),h(n,"404");let t=g("p");return u(t,"style","margin:0;opacity:.7"),h(t,"This page could not be found."),e.appendChild(n),e.appendChild(t),e}function Rt(e){let n=e.history??Ce(),t=Te({routes:e.routes,base:e.base,history:n}),[o,r]=P(t.state()),a=t.subscribe(r);A(()=>{a(),t.destroy()});let i=d(()=>(o().match?.matched??[]).filter(x=>x.component)),s={router:t,location:d(()=>o().location),params:d(()=>o().match?.params??{})},c={depth:-1,matched:i,params:s.params,location:s.location,notFound:()=>we(e.notFound)},f;return T.Provider({value:s,get children(){return f??=z(c)}})}function Pt(){let e=p(j);return e?z(e):null}function wt(e){let n=p(T);if(!n||typeof window>"u")return null;let t=!1;return A(()=>t=!0),queueMicrotask(()=>{t||n.router.navigate(e.to,{replace:e.replace!==!1})}),null}var Se={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function S(){let e=p(T);if(e)return e;if(typeof window>"u")return Se;throw new Error("[router-next] useRouter must be used within <Router>")}function K(){let e=S().params;return d(()=>e(),{},{equals:(n,t)=>JSON.stringify(n)===JSON.stringify(t)})}function At(){return p(U)??{}}function St(e){let n=K();return d(()=>n()[e])}function Ot(e,n){let t=K();return d(()=>e(t()),void 0,n?{equals:n}:void 0)}function Et(e){let n=W();return d(()=>Re(typeof e=="function"?e():e,n.pathname))}function Lt(){let e=W(),n=Oe();return[d(()=>e.query),(r,a)=>{let i=new URLSearchParams(e.search);for(let[c,f]of Object.entries(r))f===null?i.delete(c):i.set(c,f);let s=i.toString();n(e.pathname+(s?`?${s}`:""),a)}]}function Dt(e,n){let t=(o,r)=>ve(o,r);return n!==void 0?d(()=>he(e(),n),void 0,{equals:t}):d(e,void 0,{equals:t})}function W(){let{location:e}=S();return new Proxy({},{get:(n,t)=>e()[t],has:(n,t)=>t in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(n,t)=>Object.getOwnPropertyDescriptor(e(),t)})}function Oe(){let{router:e}=S();return(n,t)=>e.navigate(n,t)}function kt(){return p(I)??(()=>{})}var l=e=>typeof e=="function"?e():e;function Ee(e){let n=p(T),t=typeof document>"u",o=()=>n?.router.navigate(l(e.href)??"",{replace:l(e.replace)}),r=g("a");if(u(r,"href",l(e.href)??""),e.slot&&u(r,"slot",l(e.slot)),typeof r.addEventListener=="function")r.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),o())});else{let i=l(e.className??e.class)??"";i&&u(r,"class",i)}typeof r.addEventListener=="function"&&w(()=>{let i=l(e.href)??"";r.setAttribute("href",i);let s=l(e.className??e.class)??"",c=l(e.activeClass)??"",f=l(e.active)??n?.location().pathname===i;r.className=[s,f?c:""].filter(Boolean).join(" ")});let a=e.children;return a!=null&&h(r,a),r}var Mt=Ee;function Nt(e){let n=e.action,t=e.className??e.class,o=n.url??"",r=g("form");u(r,"method","post"),o&&u(r,"action",o),t&&u(r,"class",t);for(let[i,s]of Object.entries(e))i==="action"||i==="children"||i==="class"||i==="className"||s!=null&&typeof s!="function"&&u(r,i,String(s));typeof r.addEventListener=="function"&&r.addEventListener("submit",i=>{i.preventDefault();let s={};new FormData(r).forEach((c,f)=>{s[f]=c}),Promise.resolve(n(s)).catch(()=>{})});let a=e.children;return a!=null&&h(r,a),r}async function _t(e,n){let t=be(e,n);if(!t)return;let o=[];for(let r of t.matched){let a=r.component;a&&typeof a.preload=="function"&&o.push(a.preload())}await Promise.all(o)}export{Mt as A,Nt as Form,Ee as Link,Pt as Outlet,wt as Redirect,Rt as Router,H as action,ae as cache,ue as createAsync,jt as createBrowserHistory,Ft as createMemoryHistory,me as lazy,It as matchPath,Ut as matchRoutes,_t as preloadRoutes,ce as revalidate,$t as runWithOwner,Dt as select,fe as useAction,At as useLevelParams,W as useLocation,Et as useMatch,Oe as useNavigate,St as useParam,Ot as useParamSelector,K as useParams,kt as useRouteData,S as useRouter,Lt as useSearchParams,de as useSubmission};
1
+ import{createSignal as P,createMemo as d,createResource as ge,createEffect as w,getOwner as xe,onCleanup as A,untrack as R}from"@fluixi/reactive/signal";import{insert as h,createComponent as j,createNativeElement as g,setAttribute as u}from"@fluixi/dom";import{createContext as v,useContext as p}from"@fluixi/reactive/signal";import{get as he}from"@fluixi/utils/object";import{deepEqual as ve}from"@fluixi/utils/compare";import{createRouter as Te,createBrowserHistory as Ce,matchRoutes as be,matchPath as Re}from"@fluixi/router";import{createMemoryHistory as Ft,createBrowserHistory as Ut,matchRoutes as It,matchPath as Kt}from"@fluixi/router";import{createResource as oe,createSignal as N}from"@fluixi/reactive/signal";var B=!1,C=new Map;function O(){return B}function E(e,n){C.set(e,n)}function L(e){return C.get(e)}function J(){C.clear()}function X(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let n=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),t=[],o;for(;o=n.nextNode();){let r=o,a=r.nodeValue||"";(a.startsWith("#")||a.startsWith("/"))&&t.push(r)}t.forEach(r=>r.remove()),J()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(X,100)});function D(){return typeof window>"u"}import{asProvider as ne}from"@fluixi/dom";import{createContext as re,useContext as et}from"@fluixi/reactive/signal";import{readChildren as ot}from"@fluixi/reactive/signal";import{registerCreateComponent as Y,asComponent as G}from"@fluixi/dom";import{untrack as Q,onCleanup as _e,getOwner as He,createEffect as Ve,createMemo as je,createSignal as Fe,isSignal as Z,batch as Ue,runWithOwner as Ke,isOwnerDisposed as ze}from"@fluixi/reactive/signal";function k(e){Y(ee)}function ee(e,n){return te(e,n)}function te(e,n){let t=typeof e=="function"?Q(()=>e(n)):e;if(t!=null&&(typeof t=="function"||typeof t=="object")&&!Z(t)){try{t.$name=e.name}catch{}return G(t)}return t}k("index");function M(e){let n=re(e),t=o=>(o.debug,n.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:n.id,Provider:ne(t),defaultValue:e}}var m=new Map,y=new Map;function ae(e,n){return async(...t)=>{let o=n+":"+JSON.stringify(t);if(O()||typeof window<"u"){let a=L(o);if(a!==void 0)return a}if(m.has(o))return m.get(o);if(y.has(o))return y.get(o);let r=Promise.resolve(e(...t)).then(a=>(m.set(o,a),y.delete(o),D()&&E(o,a),a),a=>{throw y.delete(o),a});return y.set(o,r),r}}var[lt,ie]=N(0),se=new Set;function ce(e){let n=typeof e=="string"?t=>t.startsWith(e):e;for(let t of m.keys())n(t)&&(m.delete(t),se.add(t));ie(t=>t+1)}function ue(e,n){let[t]=oe(n||(()=>!0),e);return t}var b=new Map;function _(e){return b.has(e)||b.set(e,N(void 0)),b.get(e)}function H(e,n){let t=n||e.name||"action",o=async r=>{let[,a]=_(t),i=()=>a(void 0),s=()=>o(r);a({input:r,pending:!0,clear:i,retry:s});try{let c=await e(r);return a({input:r,result:c,pending:!1,clear:i,retry:s}),c}catch(c){throw a({input:r,error:c,pending:!1,clear:i,retry:s}),c}};return o.url=t,o.with=r=>H((...a)=>e(r,...a),n),o}function de(e){let[n]=_(e.url);return n}function fe(e){return e}var le=M(),pt=le.Provider;import{untrack as V,createMemo as pe,createResource as ye}from"@fluixi/reactive/signal";function me(e,n){let t,o,r;function a(){return o||(o=e().then(s=>t=s.default)),o}n?.preload&&a();let i=(s=>{if(t){let c=t;return V(()=>c(s))}if(!r){let[c]=ye(()=>a());if(r=c,c.error)throw c.error}return pe(()=>{let c=r();return c?V(()=>c(s)):void 0},void 0,{name:"lazy"})});return i.preload=()=>a().then(()=>{}),i.$lazy=!0,i.loader=e,i}import{runWithOwner as qt}from"@fluixi/reactive/signal";var T=v(),F=v(),U=v(),I=v();function Pe(e,n,t){let o,r=e.route.data;if(typeof r=="function"){let x=!1;A(()=>{x=!0});let $=xe(),[q]=ge(()=>r({params:t.params,location:t.location},$,()=>x));o=q}let a=()=>I.Provider({value:o,get children(){return U.Provider({value:e.params,get children(){return F.Provider({value:{depth:n,...t},get children(){return j(e.component,{})}})}})}});if(!o)return a();let i=o,s=()=>i.loading,[c,f]=P(R(()=>!s()));return w(()=>f(!s())),d(()=>c()?a():null)}function K(e){let n=e.depth+1,[t,o]=P(R(()=>e.matched()[n]?.component));return w(()=>{let r=e.matched()[n]?.component;o(()=>r)}),d(()=>{if(!t())return e.notFound?e.notFound():null;let a=R(()=>e.matched())[n];return Pe(a,n,{matched:e.matched,params:e.params,location:e.location})})}function we(e){return e==null?Ae():typeof e=="function"?j(e,{}):e}function Ae(){let e=g("div");u(e,"class","fx-not-found"),u(e,"role","main"),u(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let n=g("h1");u(n,"style","margin:0;font-size:2.5rem;font-weight:700"),h(n,"404");let t=g("p");return u(t,"style","margin:0;opacity:.7"),h(t,"This page could not be found."),e.appendChild(n),e.appendChild(t),e}function Pt(e){let n=e.history??Ce(),t=Te({routes:e.routes,base:e.base,history:n}),[o,r]=P(t.state()),a=t.subscribe(r);A(()=>{a(),t.destroy()});let i=d(()=>(o().match?.matched??[]).filter(x=>x.component)),s={router:t,location:d(()=>o().location),params:d(()=>o().match?.params??{})},c={depth:-1,matched:i,params:s.params,location:s.location,notFound:()=>we(e.notFound)},f;return T.Provider({value:s,get children(){return f??=K(c)}})}function wt(){let e=p(F);return e?K(e):null}function At(e){let n=p(T);if(!n||typeof window>"u")return null;let t=!1;return A(()=>t=!0),queueMicrotask(()=>{t||n.router.navigate(e.to,{replace:e.replace!==!1})}),null}var Se={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function S(){let e=p(T);if(e)return e;if(typeof window>"u")return Se;throw new Error("[router-next] useRouter must be used within <Router>")}function z(){let e=S().params;return d(()=>e(),{},{equals:(n,t)=>JSON.stringify(n)===JSON.stringify(t)})}function St(){return p(U)??{}}function Ot(e){let n=z();return d(()=>n()[e])}function Et(e,n){let t=z();return d(()=>e(t()),void 0,n?{equals:n}:void 0)}function Lt(e){let n=W();return d(()=>Re(typeof e=="function"?e():e,n.pathname))}function Dt(){let e=W(),n=Oe();return[d(()=>e.query),(r,a)=>{let i=new URLSearchParams(e.search);for(let[c,f]of Object.entries(r))f===null?i.delete(c):i.set(c,f);let s=i.toString();n(e.pathname+(s?`?${s}`:""),a)}]}function kt(e,n){let t=(o,r)=>ve(o,r);return n!==void 0?d(()=>he(e(),n),void 0,{equals:t}):d(e,void 0,{equals:t})}function W(){let{location:e}=S();return new Proxy({},{get:(n,t)=>e()[t],has:(n,t)=>t in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(n,t)=>Object.getOwnPropertyDescriptor(e(),t)})}function Oe(){let{router:e}=S();return(n,t)=>e.navigate(n,t)}function Mt(){return p(I)??(()=>{})}var l=e=>typeof e=="function"?e():e,Ee=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function Le(e){let n=p(T),t=typeof document>"u",o=()=>n?.router.navigate(l(e.href)??"",{replace:l(e.replace)}),r=g("a");u(r,"href",l(e.href)??""),e.slot&&u(r,"slot",l(e.slot));for(let[i,s]of Object.entries(e))Ee.has(i)||s!=null&&typeof s!="function"&&u(r,i,String(s));if(typeof r.addEventListener=="function")r.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),o())});else{let i=l(e.className??e.class)??"";i&&u(r,"class",i)}typeof r.addEventListener=="function"&&w(()=>{let i=l(e.href)??"";r.setAttribute("href",i);let s=l(e.className??e.class)??"",c=l(e.activeClass)??"",f=l(e.active)??n?.location().pathname===i;r.className=[s,f?c:""].filter(Boolean).join(" ")});let a=e.children;return a!=null&&h(r,a),r}var Nt=Le;function _t(e){let n=e.action,t=e.className??e.class,o=n.url??"",r=g("form");u(r,"method","post"),o&&u(r,"action",o),t&&u(r,"class",t);for(let[i,s]of Object.entries(e))i==="action"||i==="children"||i==="class"||i==="className"||s!=null&&typeof s!="function"&&u(r,i,String(s));typeof r.addEventListener=="function"&&r.addEventListener("submit",i=>{i.preventDefault();let s={};new FormData(r).forEach((c,f)=>{s[f]=c}),Promise.resolve(n(s)).catch(()=>{})});let a=e.children;return a!=null&&h(r,a),r}async function Ht(e,n){let t=be(e,n);if(!t)return;let o=[];for(let r of t.matched){let a=r.component;a&&typeof a.preload=="function"&&o.push(a.preload())}await Promise.all(o)}export{Nt as A,_t as Form,Le as Link,wt as Outlet,At as Redirect,Pt as Router,H as action,ae as cache,ue as createAsync,Ut as createBrowserHistory,Ft as createMemoryHistory,me as lazy,Kt as matchPath,It as matchRoutes,Ht as preloadRoutes,ce as revalidate,qt as runWithOwner,kt as select,fe as useAction,St as useLevelParams,W as useLocation,Lt as useMatch,Oe as useNavigate,Ot as useParam,Et as useParamSelector,z as useParams,Mt as useRouteData,S as useRouter,Dt as useSearchParams,de as useSubmission};