@fluixi/core 1.0.0-alpha.54 → 1.0.0-alpha.56

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
- import{createEffect as _t,createMemo as jt,createSignal as $t,createResource as Wr,createRoot as Vt,createComputed as Kt,createRenderEffect as Ht,onCleanup as Ut,getOwner as zt,runWithOwner as Wt,batch as Jt,untrack as Bt,createDeferred as qt,setOwner as Xt}from"@fluixi/reactive/signal";import{createDebounce as Br,createSelector as Yt}from"@fluixi/reactive/signal";import{readSignal as Gt,reduceSignal as Qt}from"@fluixi/reactive/operators";import{createRoot as We}from"@fluixi/reactive/signal";import{isDOMNode as Je,delegateEvents as pe,registerLitRender as Be,insert as qe}from"@fluixi/dom";import{registerCreateComponent as Ae,asComponent as Oe}from"@fluixi/dom";import{untrack as q,onCleanup as m,getOwner as M,createEffect as S,createMemo as X,createSignal as ke,isSignal as Ee,batch as Le,runWithOwner as Y}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(()=>{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){Ae(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")&&!Ee(n)){try{n.$name=e.name}catch{}return Oe(n)}return n}function P(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 w(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]=ke(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 Me,createEffect as De,createRenderEffect as Ie,isSignal as F,useContext as Fe,createContext as Ne,createSuspenseBoundary as _e,provideSuspense as oe}from"@fluixi/reactive/signal";import{asSuspense as je,isComponent as $e,createComponent as se,runWithoutHydration as Ve}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=Ne();function R(e){return se(Ke,e)}function Ke(e){let t=_e(),n=Fe(de),r=n?n.register(t.inFallback):void 0;function o(u){return u==null||typeof u=="boolean"?null:typeof u=="function"&&$e(u)&&!F(u)?u():u}let i=Ve(()=>o(e.fallback??null)),s=oe(t,()=>e.children);oe(t,()=>{Ie(()=>{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())),Me(()=>(r?r.showFallback():t.inFallback())?i:l?c():s)}function le(e){return se(He,e)}function He(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}),De(()=>{s(),o()}),{showContent:c,showFallback:l}}};return de.Provider({value:i,children:e.children})}je(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as fe,createMemo as Ue,createResource as ze}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]=ze(()=>i());if(o=a,a.error)throw a.error}return Ue(()=>{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}typeof window<"u"&&import("lit").then(e=>Be(e.render));var j=typeof window>"u";function ye(e,t,n={}){if(g("render"),pe(["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 We(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),qe(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Xe(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ye(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=ye(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Ge(e){return!!(e==null||typeof e=="function"||Je(e)||Xe(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Qe(){j||pe(["click","input","change","submit"])}function Ze(){}import{asProvider as et}from"@fluixi/dom";import{createContext as tt,useContext as nt}from"@fluixi/reactive/signal";import{readChildren as rt}from"@fluixi/reactive/signal";g("index");var me=!1;function ot(){me||(me=!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 $(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||ot();let c=typeof i=="function"?i():i,a=r?n:e;return o.Provider({value:c,get children(){return a?.children},debug:s})}function st(e){let t=h(e);return[t,r=>$(t,r.value,r)]}function ge(e,t){if(e.length===0)return rt(()=>t);let[n,r]=e[0],o=e.slice(1);return $(n,r,{get children(){return ge(o,t)}})}function it(e){return t=>{let n=x(e);return t.children(n)}}function at(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=tt(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:et(n),defaultValue:e}}function x(e){let t=nt(e);return t!==void 0?t:e.defaultValue}import{createSignal as ct,createMemo as ut}from"@fluixi/reactive/signal";import{getServerData as dt}from"@fluixi/dom";var lt="__fluixi_iso_states__",ft="__iso:";function pt(){return globalThis[lt]??=new Map}function he(e){if(typeof window>"u")return;let t=dt();return t?t[ft+e]:void 0}function xe(e,t){let n=he(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=ct(r);return pt().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function yt(e,t){let n=he(e)!==void 0,r=xe(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]=ut(()=>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 Te=typeof document>"u",ve=!Te;function Ce(){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:Ce(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function mt(e,t){return ve?e():t}import{createSignal as be}from"@fluixi/reactive/signal";function gt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function ht(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=gt(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]=be(o()),[c,a]=be(!1),l=f=>{O.document?.documentElement.setAttribute(n,f);try{A.setItem(t,f)}catch{}},u=f=>{if(!e.themes.includes(f))return;let Re=i();s(()=>f),l(f),e.onChange?.(f,Re),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 H,createMemo as T,createResource as St,createEffect as U,getOwner as Pt,onCleanup as Se,untrack as V}from"@fluixi/reactive/signal";import{insert as K,createComponent as Pe,createNativeElement as k,setAttribute as y}from"@fluixi/dom";import{createContext as E,useContext as we}from"@fluixi/reactive/signal";import{get as xr}from"@fluixi/utils/object";import{deepEqual as vr}from"@fluixi/utils/compare";import{createRouter as wt,createBrowserHistory as Rt,matchRoutes as br,matchPath as Sr}from"@fluixi/router";import{createMemoryHistory as Rr,createBrowserHistory as Ar,matchRoutes as Or,matchPath as kr}from"@fluixi/router";import{createResource as er,createSignal as Ct}from"@fluixi/reactive/signal";var xt=new Map;function Tt(){xt.clear()}function vt(){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()),Tt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(vt,100)});var[or,sr]=Ct(0);var bt=h(),ir=bt.Provider;import{runWithOwner as Dr}from"@fluixi/reactive/signal";var z=E(),At=E(),Ot=E(),kt=E();function Et(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let u=!1;Se(()=>{u=!0});let d=Pt(),[b]=St(()=>o({params:n.params,location:n.location},d,()=>u));r=b}let i=()=>kt.Provider({value:r,get children(){return Ot.Provider({value:e.params,get children(){return At.Provider({value:{depth:t,...n},get children(){return Pe(e.component,{})}})}})}});if(!r)return i();let s=r,c=()=>s.loading,[a,l]=H(V(()=>!c()));return U(()=>l(!c())),T(()=>a()?i():null)}function Lt(e){let t=e.depth+1,[n,r]=H(V(()=>e.matched()[t]?.component));return U(()=>{let o=e.matched()[t]?.component;r(()=>o)}),T(()=>{if(!n())return e.notFound?e.notFound():null;let i=V(()=>e.matched())[t];return Et(i,t,{matched:e.matched,params:e.params,location:e.location})})}function Mt(e){return e==null?Dt():typeof e=="function"?Pe(e,{}):e}function Dt(){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"),K(t,"404");let n=k("p");return y(n,"style","margin:0;opacity:.7"),K(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function W(e){let t=e.history??Rt(),n=wt({routes:e.routes,base:e.base,history:t}),[r,o]=H(n.state()),i=n.subscribe(o);Se(()=>{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:()=>Mt(e.notFound)},l;return z.Provider({value:c,get children(){return l??=Lt(a)}})}var It={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=we(z);if(e)return e;if(typeof window>"u")return It;throw new Error("[router-next] useRouter must be used within <Router>")}function Ft(){let e=v().params;return T(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Nt(){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=we(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"&&U(()=>{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&&K(o,i),o}import{query as ao,queryAll as co,closest as uo,addClass as lo,removeClass as fo,toggleClass as po,hasClass as yo,setAttribute as mo,getAttribute as go,removeAttribute as ho,setStyles as xo,getStyle as To,createElement as vo,removeChildren as Co,appendChildren as bo,isVisible as So,scrollIntoView as Po,getOffset as wo,delegate as Ro,waitForElement as Ao,observeIntersection as Oo,observeResize as ko}from"@fluixi/dom";import{classMap as Lo,styleMap as Mo,Island as Do,hydrateIslands as Io,mergeProps as Fo,splitProps as No}from"@fluixi/dom";import{Show as Nr,For as _r,Index as jr,Switch as $r,Match as Vr,Dynamic as Kr,ErrorBoundary as Hr,Portal as Ur}from"@fluixi/dom";import{createStore as $o,untrackStore as Vo,unwrap as Ko,Store as Ho}from"@fluixi/reactive/store";var Zt="0.0.1",en="Fluixi";var Zr={createComponent:C,onMount:P,onUnmount:w,createEffect:_t,createMemo:jt,createSignal:$t,createContext:h,createRoot:Vt,createDeferred:qt,createComputed:Kt,createRenderEffect:Ht,createSelector:Yt,onCleanup:Ut,getOwner:zt,runWithOwner:Wt,batch:Jt,untrack:Bt,useContext:x,setOwner:Xt,Router:W,Link:B,useRouter:v,useNavigate:J,read:Gt,reduce:Qt,VERSION:Zt,FRAMEWORK_NAME:en};g("fluixi element main");export{D as $component,Kr as Dynamic,Hr as ErrorBoundary,en as FRAMEWORK_NAME,_r as For,jr as Index,Do as Island,B as Link,Vr as Match,Ur as Portal,W as Router,Nr as Show,Ho as Store,R as Suspense,le as SuspenseList,$r as Switch,Zt as VERSION,lo as addClass,bo as appendChildren,Jt as batch,Lo as classMap,Ze as cleanupDelegation,mt as clientOnly,uo as closest,ge as composeProviders,C as createComponent,Kt as createComputed,it as createConsumer,h as createContext,st as createContextWithProvider,Br as createDebounce,qt as createDeferred,_t as createEffect,xe as createIsomorphicState,yt as createIsomorphicStore,jt as createMemo,Ce as createMemoryStorage,$ as createProvider,Ht as createRenderEffect,Wr as createResource,Vt as createRoot,Yt as createSelector,$t as createSignal,$o as createStore,ht as createTheme,Zr as default,Ro as delegate,vo as domCreateElement,O as env,go as getAttribute,wo as getOffset,zt as getOwner,To as getStyle,yo as hasClass,Io as hydrateIslands,Qe as initDelegation,ve as isClient,ue as isJSXElement,ae as isLitResult,ie as isNode,Ge as isRenderable,Te as isServer,So as isVisible,_ as lazy,Fo as mergeProps,Oo as observeIntersection,ko as observeResize,Ut as onCleanup,P as onMount,w as onUnmount,Ye as portal,ao as query,co as queryAll,Gt as read,Qt as reduce,ho as removeAttribute,Co as removeChildren,fo as removeClass,ye as render,Wt as runWithOwner,Po as scrollIntoView,mo as setAttribute,Xt as setOwner,xo as setStyles,No as splitProps,A as storage,Mo as styleMap,po as toggleClass,Bt as untrack,Vo as untrackStore,Ko as unwrap,re as useCallback,x as useContext,I as useEffect,ne as useEventListener,Nt as useLocation,Z as useMemo,J as useNavigate,Ft as useParams,at as useProvide,te as useReducer,ee as useRef,v as useRouter,Ao as waitForElement};
1
+ import{createEffect as jt,createMemo as Vt,createSignal as Kt,createResource as Xr,createRoot as Ht,createComputed as Ut,createRenderEffect as $t,onCleanup as zt,getOwner as Wt,runWithOwner as Jt,batch as Bt,untrack as qt,createDeferred as Xt,setOwner as Yt}from"@fluixi/reactive/signal";import{createDebounce as Gr,createSelector as Gt}from"@fluixi/reactive/signal";import{readSignal as Qt,reduceSignal as Zt}from"@fluixi/reactive/operators";import{createRoot as Be}from"@fluixi/reactive/signal";import{isDOMNode as qe,delegateEvents as ye,insert as Xe}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}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(()=>{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 De,createEffect as Ie,createRenderEffect as Fe,isSignal as F,useContext as Ne,createContext as _e,createSuspenseBoundary as je,provideSuspense as oe}from"@fluixi/reactive/signal";import{asSuspense as Ve,isComponent as Ke,createComponent as se,runWithoutHydration as He}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=_e();function R(e){return se(Ue,e)}function Ue(e){let t=je(),n=Ne(de),r=n?n.register(t.inFallback):void 0;function o(u){return u==null||typeof u=="boolean"?null:typeof u=="function"&&Ke(u)&&!F(u)?u():u}let i=He(()=>o(e.fallback??null)),s=oe(t,()=>e.children);oe(t,()=>{Fe(()=>{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())),De(()=>(r?r.showFallback():t.inFallback())?i:l?c():s)}function le(e){return se($e,e)}function $e(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}),Ie(()=>{s(),o()}),{showContent:c,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 ze,createResource as We}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]=We(()=>i());if(o=a,a.error)throw a.error}return ze(()=>{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 Je}from"@fluixi/reactive/signal";function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=Je(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 Be(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Xe(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Ye(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ge(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 Qe(e){return!!(e==null||typeof e=="function"||qe(e)||Ye(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Ze(){j||ye(["click","input","change","submit"])}function et(){}import{asProvider as tt}from"@fluixi/dom";import{createContext as nt,useContext as rt}from"@fluixi/reactive/signal";import{readChildren as ot}from"@fluixi/reactive/signal";g("index");var ge=!1;function st(){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||st();let c=typeof i=="function"?i():i,a=r?n:e;return o.Provider({value:c,get children(){return a?.children},debug:s})}function it(e){let t=h(e);return[t,r=>V(t,r.value,r)]}function he(e,t){if(e.length===0)return ot(()=>t);let[n,r]=e[0],o=e.slice(1);return V(n,r,{get children(){return he(o,t)}})}function at(e){return t=>{let n=x(e);return t.children(n)}}function ct(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=nt(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:tt(n),defaultValue:e}}function x(e){let t=rt(e);return t!==void 0?t:e.defaultValue}import{createSignal as ut,createMemo as dt}from"@fluixi/reactive/signal";import{getServerData as lt}from"@fluixi/dom";var ft="__fluixi_iso_states__",pt="__iso:";function yt(){return globalThis[ft]??=new Map}function xe(e){if(typeof window>"u")return;let t=lt();return t?t[pt+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]=ut(r);return yt().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function mt(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]=dt(()=>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 gt(e,t){return Ce?e():t}import{createSignal as Se}from"@fluixi/reactive/signal";function ht(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function xt(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=ht(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 wt,createEffect as $,getOwner as Pt,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 br}from"@fluixi/utils/object";import{deepEqual as wr}from"@fluixi/utils/compare";import{createRouter as Rt,createBrowserHistory as At,matchRoutes as Rr,matchPath as Ar}from"@fluixi/router";import{createMemoryHistory as Er,createBrowserHistory as Lr,matchRoutes as Mr,matchPath as Dr}from"@fluixi/router";import{createResource as or,createSignal as bt}from"@fluixi/reactive/signal";var Tt=new Map;function vt(){Tt.clear()}function Ct(){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()),vt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(Ct,100)});var[cr,ur]=bt(0);var St=h(),dr=St.Provider;import{runWithOwner as _r}from"@fluixi/reactive/signal";var z=E(),Ot=E(),kt=E(),Et=E();function Lt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let u=!1;we(()=>{u=!0});let d=Pt(),[b]=wt(()=>o({params:n.params,location:n.location},d,()=>u));r=b}let i=()=>Et.Provider({value:r,get children(){return kt.Provider({value:e.params,get children(){return Ot.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 Mt(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 Lt(i,t,{matched:e.matched,params:e.params,location:e.location})})}function Dt(e){return e==null?It():typeof e=="function"?Pe(e,{}):e}function It(){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??At(),n=Rt({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:()=>Dt(e.notFound)},l;return z.Provider({value:c,get children(){return l??=Mt(a)}})}var Ft={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=Re(z);if(e)return e;if(typeof window>"u")return Ft;throw new Error("[router-next] useRouter must be used within <Router>")}function Nt(){let e=v().params;return T(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function _t(){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 fo,svg as po}from"@fluixi/dom";import{query as mo,queryAll as go,closest as ho,addClass as xo,removeClass as To,toggleClass as vo,hasClass as Co,setAttribute as bo,getAttribute as So,removeAttribute as wo,setStyles as Po,getStyle as Ro,createElement as Ao,removeChildren as Oo,appendChildren as ko,isVisible as Eo,scrollIntoView as Lo,getOffset as Mo,delegate as Do,waitForElement as Io,observeIntersection as Fo,observeResize as No}from"@fluixi/dom";import{classMap as jo,styleMap as Vo,Island as Ko,hydrateIslands as Ho,mergeProps as Uo,splitProps as $o}from"@fluixi/dom";import{Show as Kr,For as Hr,Index as Ur,Switch as $r,Match as zr,Dynamic as Wr,ErrorBoundary as Jr,Portal as Br}from"@fluixi/dom";import{createStore as Jo,untrackStore as Bo,unwrap as qo,Store as Xo}from"@fluixi/reactive/store";var en="0.0.1",tn="Fluixi";var ro={createComponent:C,onMount:w,onUnmount:P,createEffect:jt,createMemo:Vt,createSignal:Kt,createContext:h,createRoot:Ht,createDeferred:Xt,createComputed:Ut,createRenderEffect:$t,createSelector:Gt,onCleanup:zt,getOwner:Wt,runWithOwner:Jt,batch:Bt,untrack:qt,useContext:x,setOwner:Yt,Router:W,Link:B,useRouter:v,useNavigate:J,read:Qt,reduce:Zt,VERSION:en,FRAMEWORK_NAME:tn};g("fluixi element main");export{D as $component,pe as Await,Wr as Dynamic,Jr as ErrorBoundary,tn as FRAMEWORK_NAME,Hr as For,Ur as Index,Ko as Island,B as Link,zr as Match,Br as Portal,W as Router,Kr as Show,Xo as Store,R as Suspense,le as SuspenseList,$r as Switch,en as VERSION,xo as addClass,ko as appendChildren,Bt as batch,jo as classMap,et as cleanupDelegation,gt as clientOnly,ho as closest,he as composeProviders,C as createComponent,Ut as createComputed,at as createConsumer,h as createContext,it as createContextWithProvider,Gr as createDebounce,Xt as createDeferred,jt as createEffect,Te as createIsomorphicState,mt as createIsomorphicStore,Vt as createMemo,be as createMemoryStorage,V as createProvider,$t as createRenderEffect,Xr as createResource,Ht as createRoot,Gt as createSelector,Kt as createSignal,Jo as createStore,xt as createTheme,ro as default,Do as delegate,Ao as domCreateElement,O as env,So as getAttribute,Mo as getOffset,Wt as getOwner,Ro as getStyle,Co as hasClass,fo as html,Ho as hydrateIslands,Ze as initDelegation,Ce as isClient,ue as isJSXElement,ae as isLitResult,ie as isNode,Qe as isRenderable,ve as isServer,Eo as isVisible,_ as lazy,Uo as mergeProps,Fo as observeIntersection,No as observeResize,zt as onCleanup,w as onMount,P as onUnmount,Ge as portal,mo as query,go as queryAll,Qt as read,Zt as reduce,wo as removeAttribute,Oo as removeChildren,To as removeClass,me as render,Jt as runWithOwner,Lo as scrollIntoView,bo as setAttribute,Yt as setOwner,Po as setStyles,$o as splitProps,A as storage,Vo as styleMap,po as svg,vo as toggleClass,qt as untrack,Bo as untrackStore,qo as unwrap,re as useCallback,x as useContext,I as useEffect,ne as useEventListener,_t as useLocation,Z as useMemo,J as useNavigate,Nt as useParams,ct as useProvide,te as useReducer,ee as useRef,v as useRouter,Io as waitForElement};
@@ -1 +1 @@
1
- "use strict";var Se=Object.create;var D=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var ge=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,we=Object.prototype.hasOwnProperty;var Ee=(e,t)=>{for(var n in t)D(e,n,{get:t[n],enumerable:!0})},j=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ge(t))!we.call(e,i)&&i!==n&&D(e,i,{get:()=>t[i],enumerable:!(o=be(t,i))||o.enumerable});return e},oe=(e,t,n)=>(j(e,t,"default"),n&&j(n,t,"default")),ke=(e,t,n)=>(n=e!=null?Se(Pe(e)):{},j(t||!e||!e.__esModule?D(n,"default",{value:e,enumerable:!0}):n,e)),Re=e=>j(D({},"__esModule",{value:!0}),e);var $e={};Ee($e,{$component:()=>$,DEV:()=>w,Dynamic:()=>f.Dynamic,ErrorBoundary:()=>f.ErrorBoundary,FRAMEWORK_NAME:()=>te,For:()=>f.For,Fragment:()=>m.Fragment,Index:()=>f.Index,Match:()=>f.Match,Portal:()=>f.Portal,Show:()=>f.Show,Store:()=>P.Store,Suspense:()=>M,Switch:()=>f.Switch,VERSION:()=>ee,addClass:()=>a.addClass,batch:()=>s.batch,classMap:()=>W.classMap,cleanupDelegation:()=>fe,composeProviders:()=>Q,createComponent:()=>S,createComputed:()=>s.createComputed,createConsumer:()=>xe,createContext:()=>F,createContextWithProvider:()=>me,createDebounce:()=>K.createDebounce,createDeferred:()=>s.createDeferred,createEffect:()=>s.createEffect,createIsomorphicState:()=>he,createMemo:()=>s.createMemo,createProvider:()=>N,createRenderEffect:()=>s.createRenderEffect,createResource:()=>s.createResource,createRoot:()=>s.createRoot,createSelector:()=>K.createSelector,createSignal:()=>s.createSignal,createStore:()=>P.createStore,default:()=>Ue,delegateEvents:()=>a.delegateEvents,devOnly:()=>Y,getFrameworkInfo:()=>Te,getOwner:()=>s.getOwner,getSharedConfig:()=>B,hydrate:()=>a.hydrate,initDelegation:()=>de,insert:()=>a.insert,isDOMNode:()=>a.isDOMNode,isDev:()=>H,isLitTemplateResult:()=>a.isLitTemplateResult,isRenderable:()=>ue,jsx:()=>m.jsx,jsxs:()=>m.jsxs,lazy:()=>q,onCleanup:()=>s.onCleanup,onMount:()=>E,onUnmount:()=>k,portal:()=>ce,read:()=>V.readSignal,reduce:()=>V.reduceSignal,removeClass:()=>a.removeClass,render:()=>I,runWithOwner:()=>s.runWithOwner,setAttribute:()=>a.setAttribute,setOwner:()=>s.setOwner,setProperty:()=>a.setProperty,spread:()=>a.spread,styleMap:()=>W.styleMap,toggleClass:()=>a.toggleClass,untrack:()=>s.untrack,untrackStore:()=>P.untrackStore,useCallback:()=>A,useContext:()=>g,useEffect:()=>b,useEventListener:()=>_,useMemo:()=>R,useProvide:()=>ve,useReducer:()=>L,useRef:()=>O});module.exports=Re($e);var s=require("@fluixi/reactive/signal"),K=require("@fluixi/reactive/signal"),V=require("@fluixi/reactive/operators"),P=require("@fluixi/reactive/store");var ae=require("@fluixi/reactive/signal"),x=require("@fluixi/dom");var U=require("@fluixi/dom"),r=require("@fluixi/reactive/signal"),Oe={context:null,owner:null};function B(){return Oe}var w=typeof process<"u"&&!1,X=Symbol.for("fluixi-lifecycle");function re(){let e=(0,r.getOwner)();if(!e)return null;if(!e[X]){let t={mounts:[],effects:[],scheduled:!1};e[X]=t}return e[X]}function se(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,r.getOwner)();queueMicrotask(()=>{(0,r.runWithOwner)(t,()=>{for(let n of e.mounts)try{let o=n();typeof o=="function"&&(0,r.onCleanup)(o)}catch(o){console.error("Error in onMount callback:",o)}for(let n of e.effects){let o;(0,r.createEffect)(()=>{o&&o(),o=n()}),(0,r.onCleanup)(()=>{o&&o()})}e.mounts=[],e.effects=[]})})}function T(e){(0,U.registerCreateComponent)(S)}function S(e,t){return $(e,t)}function $(e,t){let n=typeof e=="function"?(0,r.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,r.isSignal)(n)){try{n.$name=e.name}catch{}return(0,U.asComponent)(n)}return n}function E(e,t=!0){let n=re();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),se(n)}else{if(!t){e();return}(0,r.createEffect)(()=>{let o=(0,r.untrack)(e);typeof o=="function"&&(0,r.onCleanup)(o)})}}function k(e){(0,r.onCleanup)(e)}function b(e){let t=re();if(t)t.effects.push(e),se(t);else{let n;(0,r.createEffect)(()=>{n&&n(),n=e()}),(0,r.onCleanup)(()=>{n&&n()})}}function R(e){return(0,r.createMemo)(e)}function O(e){let t={current:e};return(0,r.onCleanup)(()=>{t.current=null}),t}function L(e,t){let[n,o]=(0,r.createSignal)(t);return[n,u=>{o(e(n(),u))}]}function _(e,t,n,o){b(()=>{let i=e&&"current"in e?e.current:e;if(i)return i.addEventListener(t,n,o),()=>{i.removeEventListener(t,n,o)}})}function A(e){return e}function H(){return w}function Y(e){w&&e()}var c=require("@fluixi/reactive/signal"),C=require("@fluixi/dom");function ie(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Le=(0,c.createContext)();function M(e){return(0,C.createComponent)(_e,e)}function _e(e){let t=(0,c.createSuspenseBoundary)(),n=(0,c.useContext)(Le),o=n?n.register(t.inFallback):void 0;function i(d){return d==null||typeof d=="boolean"?null:typeof d=="function"&&(0,C.isComponent)(d)&&!(0,c.isSignal)(d)?d():d}let u=(0,C.runWithoutHydration)(()=>i(e.fallback??null)),y=(0,c.provideSuspense)(t,()=>e.children);(0,c.provideSuspense)(t,()=>{(0,c.createRenderEffect)(()=>{let d=y;if(Array.isArray(d))for(let J of d)typeof J=="function"&&(0,c.isSignal)(J)&&J();else typeof d=="function"&&(0,c.isSignal)(d)&&d()})});let[v,l]=(0,c.createSignal)(void 0),ne=ie(y);return ne&&(t.increment(),y.then(d=>{l(()=>d),t.decrement()},()=>t.decrement())),(0,c.createMemo)(()=>(o?o.showFallback():t.inFallback())?u:ne?v():y)}(0,C.asSuspense)(M);Object.defineProperty(M,"__suspense",{value:!0,enumerable:!0});var h=require("@fluixi/reactive/signal");function q(e,t){let n,o,i;function u(){return o||(o=e().then(v=>n=v.default)),o}t?.preload&&u();let y=(v=>{if(n){let l=n;return(0,h.untrack)(()=>l(v))}if(!i){let[l]=(0,h.createResource)(()=>u());if(i=l,l.error)throw l.error}return(0,h.createMemo)(()=>{let l=i();return l?(0,h.untrack)(()=>l(v)):void 0},void 0,{name:"lazy"})});return y.preload=()=>u().then(()=>{}),y.$lazy=!0,y.loader=e,y}typeof window<"u"&&import("lit").then(e=>(0,x.registerLitRender)(e.render));var G=typeof window>"u";function I(e,t,n={}){if(T("render"),(0,x.delegateEvents)(["click","input","change","submit"]),G)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let o;return(0,ae.createRoot)(i=>{o=i;let u=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,x.insert)(t,()=>u)}),()=>{o&&(o(),o=void 0)}}function Ae(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ce(e,t,n={}){let o=document.createElement("div");o.setAttribute("data-portal","true"),t.appendChild(o);let i=I(e,o,n);return()=>{i(),t.contains(o)&&t.removeChild(o)}}function ue(e){return!!(e==null||typeof e=="function"||(0,x.isDOMNode)(e)||Ae(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function de(){G||(0,x.delegateEvents)(["click","input","change","submit"])}function fe(){}var le=require("@fluixi/dom"),z=require("@fluixi/reactive/signal"),ye=require("@fluixi/reactive/signal");T("index");var pe=!1;function Me(){pe||(pe=!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 N(e,t,n){let o=!!e?.Provider,i=o?e:e.context,u=o?t:e.value,y=o?!1:e.debug??!1;o||Me();let v=typeof u=="function"?u():u,l=o?n:e;return i.Provider({value:v,get children(){return l?.children},debug:y})}function me(e){let t=F(e);return[t,o=>N(t,o.value,o)]}function Q(e,t){if(e.length===0)return(0,ye.readChildren)(()=>t);let[n,o]=e[0],i=e.slice(1);return N(n,o,{get children(){return Q(i,t)}})}function xe(e){return t=>{let n=g(e);return t.children(n)}}function ve(e,t){let n=g(e);return n===e.defaultValue?t():n}function F(e){let t=(0,z.createContext)(e),n=o=>(o.debug,t.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,le.asProvider)(n),defaultValue:e}}function g(e){let t=(0,z.useContext)(e);return t!==void 0?t:e.defaultValue}var Z=require("@fluixi/reactive/signal"),Ce=require("@fluixi/dom"),Ie="__fluixi_iso_states__",Fe="__iso:";function je(){return globalThis[Ie]??=new Map}function De(e){if(typeof window>"u")return;let t=(0,Ce.getServerData)();return t?t[Fe+e]:void 0}function he(e,t){let n=De(e),o=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[i,u]=(0,Z.createSignal)(o);return je().set(e,{server:t.server,set:u}),{value:i,set:u,key:e}}var W=require("@fluixi/dom");var f=require("@fluixi/dom");var a=require("@fluixi/dom");var m={};oe(m,require("@fluixi/jsx/jsx-runtime"));var p=require("@fluixi/reactive/signal");var ee="0.0.1",te="Fluixi";function Te(){return{name:te,version:ee,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}var Ue={createSignal:p.createSignal,createEffect:p.createEffect,createMemo:p.createMemo,createRoot:p.createRoot,batch:p.batch,untrack:p.untrack,onCleanup:p.onCleanup,createContext:F,useContext:g,createComponent:S,onMount:E,onUnmount:k,useEffect:b,useMemo:R,useRef:O,useReducer:L,useEventListener:_,useCallback:A,render:I,VERSION:ee,FRAMEWORK_NAME:te,getFrameworkInfo:Te};T("index");
1
+ "use strict";var J=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var Pe=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},W=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of be(t))!Pe.call(e,i)&&i!==n&&J(e,i,{get:()=>t[i],enumerable:!(o=Se(t,i))||o.enumerable});return e},oe=(e,t,n)=>(W(e,t,"default"),n&&W(n,t,"default"));var we=e=>W(J({},"__esModule",{value:!0}),e);var De={};ge(De,{$component:()=>D,DEV:()=>w,Dynamic:()=>p.Dynamic,ErrorBoundary:()=>p.ErrorBoundary,FRAMEWORK_NAME:()=>te,For:()=>p.For,Fragment:()=>y.Fragment,Index:()=>p.Index,Match:()=>p.Match,Portal:()=>p.Portal,Show:()=>p.Show,Store:()=>g.Store,Suspense:()=>M,Switch:()=>p.Switch,VERSION:()=>ee,addClass:()=>a.addClass,batch:()=>s.batch,classMap:()=>K.classMap,cleanupDelegation:()=>pe,composeProviders:()=>Q,createComponent:()=>S,createComputed:()=>s.createComputed,createConsumer:()=>xe,createContext:()=>F,createContextWithProvider:()=>ye,createDebounce:()=>z.createDebounce,createDeferred:()=>s.createDeferred,createEffect:()=>s.createEffect,createIsomorphicState:()=>Te,createMemo:()=>s.createMemo,createProvider:()=>$,createRenderEffect:()=>s.createRenderEffect,createResource:()=>s.createResource,createRoot:()=>s.createRoot,createSelector:()=>z.createSelector,createSignal:()=>s.createSignal,createStore:()=>g.createStore,default:()=>je,delegateEvents:()=>a.delegateEvents,devOnly:()=>Y,getFrameworkInfo:()=>he,getOwner:()=>s.getOwner,getSharedConfig:()=>B,hydrate:()=>a.hydrate,initDelegation:()=>fe,insert:()=>a.insert,isDOMNode:()=>a.isDOMNode,isDev:()=>H,isLitTemplateResult:()=>a.isLitTemplateResult,isRenderable:()=>ue,jsx:()=>y.jsx,jsxs:()=>y.jsxs,lazy:()=>q,onCleanup:()=>s.onCleanup,onMount:()=>E,onUnmount:()=>k,portal:()=>ce,read:()=>N.readSignal,reduce:()=>N.reduceSignal,removeClass:()=>a.removeClass,render:()=>I,runWithOwner:()=>s.runWithOwner,setAttribute:()=>a.setAttribute,setOwner:()=>s.setOwner,setProperty:()=>a.setProperty,spread:()=>a.spread,styleMap:()=>K.styleMap,toggleClass:()=>a.toggleClass,untrack:()=>s.untrack,untrackStore:()=>g.untrackStore,useCallback:()=>_,useContext:()=>P,useEffect:()=>b,useEventListener:()=>A,useMemo:()=>R,useProvide:()=>ve,useReducer:()=>L,useRef:()=>O});module.exports=we(De);var s=require("@fluixi/reactive/signal"),z=require("@fluixi/reactive/signal"),N=require("@fluixi/reactive/operators"),g=require("@fluixi/reactive/store");var ae=require("@fluixi/reactive/signal"),T=require("@fluixi/dom");var j=require("@fluixi/dom"),r=require("@fluixi/reactive/signal"),Ee={context:null,owner:null};function B(){return Ee}var w=typeof process<"u"&&!1,X=Symbol.for("fluixi-lifecycle");function re(){let e=(0,r.getOwner)();if(!e)return null;if(!e[X]){let t={mounts:[],effects:[],scheduled:!1};e[X]=t}return e[X]}function se(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,r.getOwner)();queueMicrotask(()=>{(0,r.runWithOwner)(t,()=>{for(let n of e.mounts)try{let o=n();typeof o=="function"&&(0,r.onCleanup)(o)}catch(o){console.error("Error in onMount callback:",o)}for(let n of e.effects){let o;(0,r.createEffect)(()=>{o&&o(),o=n()}),(0,r.onCleanup)(()=>{o&&o()})}e.mounts=[],e.effects=[]})})}function h(e){(0,j.registerCreateComponent)(S)}function S(e,t){return D(e,t)}function D(e,t){let n=typeof e=="function"?(0,r.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,r.isSignal)(n)){try{n.$name=e.name}catch{}return(0,j.asComponent)(n)}return n}function E(e,t=!0){let n=re();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),se(n)}else{if(!t){e();return}(0,r.createEffect)(()=>{let o=(0,r.untrack)(e);typeof o=="function"&&(0,r.onCleanup)(o)})}}function k(e){(0,r.onCleanup)(e)}function b(e){let t=re();if(t)t.effects.push(e),se(t);else{let n;(0,r.createEffect)(()=>{n&&n(),n=e()}),(0,r.onCleanup)(()=>{n&&n()})}}function R(e){return(0,r.createMemo)(e)}function O(e){let t={current:e};return(0,r.onCleanup)(()=>{t.current=null}),t}function L(e,t){let[n,o]=(0,r.createSignal)(t);return[n,u=>{o(e(n(),u))}]}function A(e,t,n,o){b(()=>{let i=e&&"current"in e?e.current:e;if(i)return i.addEventListener(t,n,o),()=>{i.removeEventListener(t,n,o)}})}function _(e){return e}function H(){return w}function Y(e){w&&e()}var c=require("@fluixi/reactive/signal"),v=require("@fluixi/dom");function ie(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var ke=(0,c.createContext)();function M(e){return(0,v.createComponent)(Re,e)}function Re(e){let t=(0,c.createSuspenseBoundary)(),n=(0,c.useContext)(ke),o=n?n.register(t.inFallback):void 0;function i(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,v.isComponent)(f)&&!(0,c.isSignal)(f)?f():f}let u=(0,v.runWithoutHydration)(()=>i(e.fallback??null)),m=(0,c.provideSuspense)(t,()=>e.children);(0,c.provideSuspense)(t,()=>{(0,c.createRenderEffect)(()=>{let f=m;if(Array.isArray(f))for(let V of f)typeof V=="function"&&(0,c.isSignal)(V)&&V();else typeof f=="function"&&(0,c.isSignal)(f)&&f()})});let[x,l]=(0,c.createSignal)(void 0),ne=ie(m);return ne&&(t.increment(),m.then(f=>{l(()=>f),t.decrement()},()=>t.decrement())),(0,c.createMemo)(()=>(o?o.showFallback():t.inFallback())?u:ne?x():m)}(0,v.asSuspense)(M);Object.defineProperty(M,"__suspense",{value:!0,enumerable:!0});var C=require("@fluixi/reactive/signal");function q(e,t){let n,o,i;function u(){return o||(o=e().then(x=>n=x.default)),o}t?.preload&&u();let m=(x=>{if(n){let l=n;return(0,C.untrack)(()=>l(x))}if(!i){let[l]=(0,C.createResource)(()=>u());if(i=l,l.error)throw l.error}return(0,C.createMemo)(()=>{let l=i();return l?(0,C.untrack)(()=>l(x)):void 0},void 0,{name:"lazy"})});return m.preload=()=>u().then(()=>{}),m.$lazy=!0,m.loader=e,m}var Oe=require("@fluixi/reactive/signal");var G=typeof window>"u";function I(e,t,n={}){if(h("render"),(0,T.delegateEvents)(["click","input","change","submit"]),G)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let o;return(0,ae.createRoot)(i=>{o=i;let u=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,T.insert)(t,()=>u)}),()=>{o&&(o(),o=void 0)}}function Le(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ce(e,t,n={}){let o=document.createElement("div");o.setAttribute("data-portal","true"),t.appendChild(o);let i=I(e,o,n);return()=>{i(),t.contains(o)&&t.removeChild(o)}}function ue(e){return!!(e==null||typeof e=="function"||(0,T.isDOMNode)(e)||Le(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function fe(){G||(0,T.delegateEvents)(["click","input","change","submit"])}function pe(){}var le=require("@fluixi/dom"),U=require("@fluixi/reactive/signal"),me=require("@fluixi/reactive/signal");h("index");var de=!1;function Ae(){de||(de=!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 $(e,t,n){let o=!!e?.Provider,i=o?e:e.context,u=o?t:e.value,m=o?!1:e.debug??!1;o||Ae();let x=typeof u=="function"?u():u,l=o?n:e;return i.Provider({value:x,get children(){return l?.children},debug:m})}function ye(e){let t=F(e);return[t,o=>$(t,o.value,o)]}function Q(e,t){if(e.length===0)return(0,me.readChildren)(()=>t);let[n,o]=e[0],i=e.slice(1);return $(n,o,{get children(){return Q(i,t)}})}function xe(e){return t=>{let n=P(e);return t.children(n)}}function ve(e,t){let n=P(e);return n===e.defaultValue?t():n}function F(e){let t=(0,U.createContext)(e),n=o=>(o.debug,t.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,le.asProvider)(n),defaultValue:e}}function P(e){let t=(0,U.useContext)(e);return t!==void 0?t:e.defaultValue}var Z=require("@fluixi/reactive/signal"),Ce=require("@fluixi/dom"),_e="__fluixi_iso_states__",Me="__iso:";function Ie(){return globalThis[_e]??=new Map}function Fe(e){if(typeof window>"u")return;let t=(0,Ce.getServerData)();return t?t[Me+e]:void 0}function Te(e,t){let n=Fe(e),o=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[i,u]=(0,Z.createSignal)(o);return Ie().set(e,{server:t.server,set:u}),{value:i,set:u,key:e}}var K=require("@fluixi/dom");var p=require("@fluixi/dom");var a=require("@fluixi/dom");var y={};oe(y,require("@fluixi/jsx/jsx-runtime"));var d=require("@fluixi/reactive/signal");var ee="0.0.1",te="Fluixi";function he(){return{name:te,version:ee,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}var je={createSignal:d.createSignal,createEffect:d.createEffect,createMemo:d.createMemo,createRoot:d.createRoot,batch:d.batch,untrack:d.untrack,onCleanup:d.onCleanup,createContext:F,useContext:P,createComponent:S,onMount:E,onUnmount:k,useEffect:b,useMemo:R,useRef:O,useReducer:L,useEventListener:A,useCallback:_,render:I,VERSION:ee,FRAMEWORK_NAME:te,getFrameworkInfo:he};h("index");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,QAAQ,GACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,UAAU,IAAI,IAAI,EAClB,YAAY,IAAI,MAAM,GACvB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,MAAM,EACN,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,IAAI,KAAK,EAClB,OAAO,EACP,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAI,KAAK,EAAE,KAAK,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAM7F,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,IAAI,EAEJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,EACd,iBAAiB,EAEjB,QAAQ,EAER,KAAK,EACL,OAAO,EACP,GAAG,EAEH,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACxH,YAAY,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,GACd,CAAC;AA2BF,OAAO,EAEL,QAAQ,EACR,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,cAAc,mBAAmB,CAAC;AAKlC,OAAO,EAEL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EAGX,cAAc,EAGd,SAAS,EACT,mBAAmB,EACnB,OAAO,GACR,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE7D,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMzD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC;;GAEG;AACH,wBAAgB,gBAAgB;;;;;;;;;;;;;;EAgB/B;AAMD,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,YAAY,IAAI,aAAa,EAC7B,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,KAAK,IAAI,MAAM,EACf,OAAO,IAAI,QAAQ,EACnB,SAAS,IAAI,UAAU,EACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,eAAe,IAAI,gBAAgB,EACnC,OAAO,IAAI,QAAQ,EACnB,SAAS,IAAI,UAAU,EAEvB,SAAS,IAAI,UAAU,EACvB,OAAO,IAAI,QAAQ,EACnB,MAAM,IAAI,OAAO,EACjB,UAAU,IAAI,WAAW,EACzB,gBAAgB,IAAI,iBAAiB,EACrC,WAAW,IAAI,YAAY,EAE5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,IAAI,cAAc,EAC/B,UAAU,IAAI,WAAW,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AAKtD,wBAoCE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,QAAQ,GACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,UAAU,IAAI,IAAI,EAClB,YAAY,IAAI,MAAM,GACvB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,MAAM,EACN,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,IAAI,KAAK,EAClB,OAAO,EACP,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAI,KAAK,EAAE,KAAK,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAM7F,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,IAAI,EAEJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,EACd,iBAAiB,EAEjB,QAAQ,EAER,KAAK,EACL,OAAO,EACP,GAAG,EAEH,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACxH,YAAY,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,GACd,CAAC;AAoBF,OAAO,EAEL,QAAQ,EACR,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAEL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EAGX,cAAc,EAGd,SAAS,EACT,mBAAmB,EACnB,OAAO,GACR,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE7D,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMzD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC;;GAEG;AACH,wBAAgB,gBAAgB;;;;;;;;;;;;;;EAgB/B;AAMD,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,YAAY,IAAI,aAAa,EAC7B,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,KAAK,IAAI,MAAM,EACf,OAAO,IAAI,QAAQ,EACnB,SAAS,IAAI,UAAU,EACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,eAAe,IAAI,gBAAgB,EACnC,OAAO,IAAI,QAAQ,EACnB,SAAS,IAAI,UAAU,EAEvB,SAAS,IAAI,UAAU,EACvB,OAAO,IAAI,QAAQ,EACnB,MAAM,IAAI,OAAO,EACjB,UAAU,IAAI,WAAW,EACzB,gBAAgB,IAAI,iBAAiB,EACrC,WAAW,IAAI,YAAY,EAE5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,IAAI,cAAc,EAC/B,UAAU,IAAI,WAAW,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AAKtD,wBAoCE"}
@@ -37,13 +37,7 @@ export { createIsomorphicState, } from './isomorphic.js';
37
37
  // ============================================================================
38
38
  // export { render } from './core/index.js';
39
39
  // export type { RenderOptions } from './render/index.js';
40
- // ============================================================================
41
- // LIT-HTML INTEGRATION
42
- // ============================================================================
43
- // Lit (html/svg/nothing/litRender/LitElement and the $-directives below) lives in
44
- // @fluixi/lit — import it from there directly. It is NOT re-exported here: lit extends
45
- // HTMLElement at module init, so re-exporting it dragged lit into SSR/prod server bundles
46
- // (HTMLElement is not defined). Keeping this barrel lit-free keeps the core out of that.
40
+ // html`` / svg`` markers are re-exported from the main entry (lib/core.ts).
47
41
  // ============================================================================
48
42
  // DOM UTILITIES (from @fluixi/dom)
49
43
  // ============================================================================
@@ -55,9 +49,6 @@ export {
55
49
  // Framework-agnostic reactive attribute maps (return Accessor<string>)
56
50
  classMap, styleMap, } from '@fluixi/dom';
57
51
  export * from './control-flow.js';
58
- // Lit-specific directives ($classMap/$styleMap/litrx) and lit control flow
59
- // ($show/$for/$switch/$portal/$if/$each) live in @fluixi/lit — import from there.
60
- // (Framework-agnostic classMap/styleMap above come from @fluixi/dom and stay here.)
61
52
  export {
62
53
  // DOM Manipulation
63
54
  insert, spread, setAttribute, setProperty, addClass, removeClass, toggleClass,
@@ -1 +1 @@
1
- var te=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var re=Object.prototype.hasOwnProperty;var j=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of oe(t))!re.call(e,r)&&r!==n&&te(e,r,{get:()=>t[r],enumerable:!(o=ne(t,r))||o.enumerable});return e},D=(e,t,n)=>(j(e,t,"default"),n&&j(n,t,"default"));import{createEffect as pn,createMemo as ln,createSignal as yn,createResource as mn,createRoot as xn,createComputed as vn,createRenderEffect as Cn,onCleanup as hn,getOwner as Tn,runWithOwner as Sn,batch as bn,untrack as gn,createDeferred as Pn,setOwner as wn}from"@fluixi/reactive/signal";import{createDebounce as kn,createSelector as Rn}from"@fluixi/reactive/signal";import{readSignal as Ln,reduceSignal as _n}from"@fluixi/reactive/operators";import{createStore as Mn,untrackStore as In,Store as Fn}from"@fluixi/reactive/store";import{createRoot as we}from"@fluixi/reactive/signal";import{isDOMNode as Ee,delegateEvents as q,registerLitRender as ke,insert as Re}from"@fluixi/dom";import{registerCreateComponent as se,asComponent as ie}from"@fluixi/dom";import{untrack as U,onCleanup as d,getOwner as L,createEffect as x,createMemo as $,createSignal as ae,isSignal as ce,batch as ue,runWithOwner as z}from"@fluixi/reactive/signal";var de={context:null,owner:null};function N(){return de}var v=typeof process<"u"&&!1,O=Symbol.for("fluixi-lifecycle");function K(){let e=L();if(!e)return null;if(!e[O]){let t={mounts:[],effects:[],scheduled:!1};e[O]=t}return e[O]}function V(e){if(e.scheduled)return;e.scheduled=!0;let t=L();queueMicrotask(()=>{z(t,()=>{for(let n of e.mounts)try{let o=n();typeof o=="function"&&d(o)}catch(o){console.error("Error in onMount callback:",o)}for(let n of e.effects){let o;x(()=>{o&&o(),o=n()}),d(()=>{o&&o()})}e.mounts=[],e.effects=[]})})}function p(e){se(l)}function l(e,t){return _(e,t)}function _(e,t){let n=typeof e=="function"?U(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!ce(n)){try{n.$name=e.name}catch{}return ie(n)}return n}function C(e,t=!0){let n=K();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),V(n)}else{if(!t){e();return}x(()=>{let o=U(e);typeof o=="function"&&d(o)})}}function h(e){d(e)}function y(e){let t=K();if(t)t.effects.push(e),V(t);else{let n;x(()=>{n&&n(),n=e()}),d(()=>{n&&n()})}}function T(e){return $(e)}function S(e){let t={current:e};return d(()=>{t.current=null}),t}function b(e,t){let[n,o]=ae(t);return[n,s=>{o(e(n(),s))}]}function g(e,t,n,o){y(()=>{let r=e&&"current"in e?e.current:e;if(r)return r.addEventListener(t,n,o),()=>{r.removeEventListener(t,n,o)}})}function P(e){return e}function W(){return v}function J(e){v&&e()}import{createSignal as fe,createMemo as pe,createEffect as vt,createRenderEffect as le,isSignal as A,useContext as ye,createContext as me,createSuspenseBoundary as xe,provideSuspense as X}from"@fluixi/reactive/signal";import{asSuspense as ve,isComponent as Ce,createComponent as he,runWithoutHydration as Te}from"@fluixi/dom";function B(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Se=me();function w(e){return he(be,e)}function be(e){let t=xe(),n=ye(Se),o=n?n.register(t.inFallback):void 0;function r(i){return i==null||typeof i=="boolean"?null:typeof i=="function"&&Ce(i)&&!A(i)?i():i}let s=Te(()=>r(e.fallback??null)),c=X(t,()=>e.children);X(t,()=>{le(()=>{let i=c;if(Array.isArray(i))for(let R of i)typeof R=="function"&&A(R)&&R();else typeof i=="function"&&A(i)&&i()})});let[u,a]=fe(void 0),F=B(c);return F&&(t.increment(),c.then(i=>{a(()=>i),t.decrement()},()=>t.decrement())),pe(()=>(o?o.showFallback():t.inFallback())?s:F?u():c)}ve(w);Object.defineProperty(w,"__suspense",{value:!0,enumerable:!0});import{untrack as H,createMemo as ge,createResource as Pe}from"@fluixi/reactive/signal";function Y(e,t){let n,o,r;function s(){return o||(o=e().then(u=>n=u.default)),o}t?.preload&&s();let c=(u=>{if(n){let a=n;return H(()=>a(u))}if(!r){let[a]=Pe(()=>s());if(r=a,a.error)throw a.error}return ge(()=>{let a=r();return a?H(()=>a(u)):void 0},void 0,{name:"lazy"})});return c.preload=()=>s().then(()=>{}),c.$lazy=!0,c.loader=e,c}typeof window<"u"&&import("lit").then(e=>ke(e.render));var M=typeof window>"u";function E(e,t,n={}){if(p("render"),q(["click","input","change","submit"]),M)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let o;return we(r=>{o=r;let s=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Re(t,()=>s)}),()=>{o&&(o(),o=void 0)}}function Oe(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Le(e,t,n={}){let o=document.createElement("div");o.setAttribute("data-portal","true"),t.appendChild(o);let r=E(e,o,n);return()=>{r(),t.contains(o)&&t.removeChild(o)}}function _e(e){return!!(e==null||typeof e=="function"||Ee(e)||Oe(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Ae(){M||q(["click","input","change","submit"])}function Me(){}import{asProvider as Ie}from"@fluixi/dom";import{createContext as Fe,useContext as je}from"@fluixi/reactive/signal";import{readChildren as De}from"@fluixi/reactive/signal";p("index");var G=!1;function Ue(){G||(G=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function I(e,t,n){let o=!!e?.Provider,r=o?e:e.context,s=o?t:e.value,c=o?!1:e.debug??!1;o||Ue();let u=typeof s=="function"?s():s,a=o?n:e;return r.Provider({value:u,get children(){return a?.children},debug:c})}function $e(e){let t=k(e);return[t,o=>I(t,o.value,o)]}function Q(e,t){if(e.length===0)return De(()=>t);let[n,o]=e[0],r=e.slice(1);return I(n,o,{get children(){return Q(r,t)}})}function ze(e){return t=>{let n=m(e);return t.children(n)}}function Ne(e,t){let n=m(e);return n===e.defaultValue?t():n}function k(e){let t=Fe(e),n=o=>(o.debug,t.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:Ie(n),defaultValue:e}}function m(e){let t=je(e);return t!==void 0?t:e.defaultValue}import{createSignal as Ke,createMemo as Wt}from"@fluixi/reactive/signal";import{getServerData as Ve}from"@fluixi/dom";var We="__fluixi_iso_states__",Je="__iso:";function Xe(){return globalThis[We]??=new Map}function Be(e){if(typeof window>"u")return;let t=Ve();return t?t[Je+e]:void 0}function He(e,t){let n=Be(e),o=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[r,s]=Ke(o);return Xe().set(e,{server:t.server,set:s}),{value:r,set:s,key:e}}import{classMap as zn,styleMap as Nn}from"@fluixi/dom";import{Show as Yt,For as qt,Index as Gt,Switch as Qt,Match as Zt,Dynamic as en,ErrorBoundary as tn,Portal as nn}from"@fluixi/dom";import{insert as Wn,spread as Jn,setAttribute as Xn,setProperty as Bn,addClass as Hn,removeClass as Yn,toggleClass as qn,delegateEvents as Gn,isDOMNode as Qn,isLitTemplateResult as Zn,hydrate as eo}from"@fluixi/dom";var f={};D(f,on);import*as on from"@fluixi/jsx/jsx-runtime";import{createSignal as qe,createEffect as Ge,createMemo as Qe,createRoot as Ze,batch as et,untrack as tt,onCleanup as nt}from"@fluixi/reactive/signal";var Z="0.0.1",ee="Fluixi";function Ye(){return{name:ee,version:Z,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}var un={createSignal:qe,createEffect:Ge,createMemo:Qe,createRoot:Ze,batch:et,untrack:tt,onCleanup:nt,createContext:k,useContext:m,createComponent:l,onMount:C,onUnmount:h,useEffect:y,useMemo:T,useRef:S,useReducer:b,useEventListener:g,useCallback:P,render:E,VERSION:Z,FRAMEWORK_NAME:ee,getFrameworkInfo:Ye};p("index");var export_Fragment=f.Fragment;var export_jsx=f.jsx;var export_jsxs=f.jsxs;export{_ as $component,v as DEV,en as Dynamic,tn as ErrorBoundary,ee as FRAMEWORK_NAME,qt as For,export_Fragment as Fragment,Gt as Index,Zt as Match,nn as Portal,Yt as Show,Fn as Store,w as Suspense,Qt as Switch,Z as VERSION,Hn as addClass,bn as batch,zn as classMap,Me as cleanupDelegation,Q as composeProviders,l as createComponent,vn as createComputed,ze as createConsumer,k as createContext,$e as createContextWithProvider,kn as createDebounce,Pn as createDeferred,pn as createEffect,He as createIsomorphicState,ln as createMemo,I as createProvider,Cn as createRenderEffect,mn as createResource,xn as createRoot,Rn as createSelector,yn as createSignal,Mn as createStore,un as default,Gn as delegateEvents,J as devOnly,Ye as getFrameworkInfo,Tn as getOwner,N as getSharedConfig,eo as hydrate,Ae as initDelegation,Wn as insert,Qn as isDOMNode,W as isDev,Zn as isLitTemplateResult,_e as isRenderable,export_jsx as jsx,export_jsxs as jsxs,Y as lazy,hn as onCleanup,C as onMount,h as onUnmount,Le as portal,Ln as read,_n as reduce,Yn as removeClass,E as render,Sn as runWithOwner,Xn as setAttribute,wn as setOwner,Bn as setProperty,Jn as spread,Nn as styleMap,qn as toggleClass,gn as untrack,In as untrackStore,P as useCallback,m as useContext,y as useEffect,g as useEventListener,T as useMemo,Ne as useProvide,b as useReducer,S as useRef};
1
+ var te=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var re=Object.prototype.hasOwnProperty;var j=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of oe(t))!re.call(e,r)&&r!==n&&te(e,r,{get:()=>t[r],enumerable:!(o=ne(t,r))||o.enumerable});return e},D=(e,t,n)=>(j(e,t,"default"),n&&j(n,t,"default"));import{createEffect as xn,createMemo as vn,createSignal as Cn,createResource as Tn,createRoot as hn,createComputed as Sn,createRenderEffect as bn,onCleanup as Pn,getOwner as gn,runWithOwner as wn,batch as En,untrack as kn,createDeferred as Rn,setOwner as On}from"@fluixi/reactive/signal";import{createDebounce as An,createSelector as _n}from"@fluixi/reactive/signal";import{readSignal as In,reduceSignal as Fn}from"@fluixi/reactive/operators";import{createStore as Dn,untrackStore as Un,Store as $n}from"@fluixi/reactive/store";import{createRoot as we}from"@fluixi/reactive/signal";import{isDOMNode as Ee,delegateEvents as q,insert as ke}from"@fluixi/dom";import{registerCreateComponent as se,asComponent as ie}from"@fluixi/dom";import{untrack as U,onCleanup as f,getOwner as L,createEffect as x,createMemo as $,createSignal as ae,isSignal as ce,batch as ue,runWithOwner as z}from"@fluixi/reactive/signal";var fe={context:null,owner:null};function N(){return fe}var v=typeof process<"u"&&!1,O=Symbol.for("fluixi-lifecycle");function K(){let e=L();if(!e)return null;if(!e[O]){let t={mounts:[],effects:[],scheduled:!1};e[O]=t}return e[O]}function V(e){if(e.scheduled)return;e.scheduled=!0;let t=L();queueMicrotask(()=>{z(t,()=>{for(let n of e.mounts)try{let o=n();typeof o=="function"&&f(o)}catch(o){console.error("Error in onMount callback:",o)}for(let n of e.effects){let o;x(()=>{o&&o(),o=n()}),f(()=>{o&&o()})}e.mounts=[],e.effects=[]})})}function d(e){se(l)}function l(e,t){return A(e,t)}function A(e,t){let n=typeof e=="function"?U(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!ce(n)){try{n.$name=e.name}catch{}return ie(n)}return n}function C(e,t=!0){let n=K();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),V(n)}else{if(!t){e();return}x(()=>{let o=U(e);typeof o=="function"&&f(o)})}}function T(e){f(e)}function m(e){let t=K();if(t)t.effects.push(e),V(t);else{let n;x(()=>{n&&n(),n=e()}),f(()=>{n&&n()})}}function h(e){return $(e)}function S(e){let t={current:e};return f(()=>{t.current=null}),t}function b(e,t){let[n,o]=ae(t);return[n,s=>{o(e(n(),s))}]}function P(e,t,n,o){m(()=>{let r=e&&"current"in e?e.current:e;if(r)return r.addEventListener(t,n,o),()=>{r.removeEventListener(t,n,o)}})}function g(e){return e}function W(){return v}function J(e){v&&e()}import{createSignal as pe,createMemo as de,createEffect as xt,createRenderEffect as le,isSignal as _,useContext as me,createContext as ye,createSuspenseBoundary as xe,provideSuspense as X}from"@fluixi/reactive/signal";import{asSuspense as ve,isComponent as Ce,createComponent as Te,runWithoutHydration as he}from"@fluixi/dom";function B(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Se=ye();function w(e){return Te(be,e)}function be(e){let t=xe(),n=me(Se),o=n?n.register(t.inFallback):void 0;function r(i){return i==null||typeof i=="boolean"?null:typeof i=="function"&&Ce(i)&&!_(i)?i():i}let s=he(()=>r(e.fallback??null)),c=X(t,()=>e.children);X(t,()=>{le(()=>{let i=c;if(Array.isArray(i))for(let R of i)typeof R=="function"&&_(R)&&R();else typeof i=="function"&&_(i)&&i()})});let[u,a]=pe(void 0),F=B(c);return F&&(t.increment(),c.then(i=>{a(()=>i),t.decrement()},()=>t.decrement())),de(()=>(o?o.showFallback():t.inFallback())?s:F?u():c)}ve(w);Object.defineProperty(w,"__suspense",{value:!0,enumerable:!0});import{untrack as H,createMemo as Pe,createResource as ge}from"@fluixi/reactive/signal";function Y(e,t){let n,o,r;function s(){return o||(o=e().then(u=>n=u.default)),o}t?.preload&&s();let c=(u=>{if(n){let a=n;return H(()=>a(u))}if(!r){let[a]=ge(()=>s());if(r=a,a.error)throw a.error}return Pe(()=>{let a=r();return a?H(()=>a(u)):void 0},void 0,{name:"lazy"})});return c.preload=()=>s().then(()=>{}),c.$lazy=!0,c.loader=e,c}import{createResource as Pt}from"@fluixi/reactive/signal";var M=typeof window>"u";function E(e,t,n={}){if(d("render"),q(["click","input","change","submit"]),M)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let o;return we(r=>{o=r;let s=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),ke(t,()=>s)}),()=>{o&&(o(),o=void 0)}}function Re(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Oe(e,t,n={}){let o=document.createElement("div");o.setAttribute("data-portal","true"),t.appendChild(o);let r=E(e,o,n);return()=>{r(),t.contains(o)&&t.removeChild(o)}}function Le(e){return!!(e==null||typeof e=="function"||Ee(e)||Re(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Ae(){M||q(["click","input","change","submit"])}function _e(){}import{asProvider as Me}from"@fluixi/dom";import{createContext as Ie,useContext as Fe}from"@fluixi/reactive/signal";import{readChildren as je}from"@fluixi/reactive/signal";d("index");var G=!1;function De(){G||(G=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function I(e,t,n){let o=!!e?.Provider,r=o?e:e.context,s=o?t:e.value,c=o?!1:e.debug??!1;o||De();let u=typeof s=="function"?s():s,a=o?n:e;return r.Provider({value:u,get children(){return a?.children},debug:c})}function Ue(e){let t=k(e);return[t,o=>I(t,o.value,o)]}function Q(e,t){if(e.length===0)return je(()=>t);let[n,o]=e[0],r=e.slice(1);return I(n,o,{get children(){return Q(r,t)}})}function $e(e){return t=>{let n=y(e);return t.children(n)}}function ze(e,t){let n=y(e);return n===e.defaultValue?t():n}function k(e){let t=Ie(e),n=o=>(o.debug,t.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:Me(n),defaultValue:e}}function y(e){let t=Fe(e);return t!==void 0?t:e.defaultValue}import{createSignal as Ne,createMemo as Ht}from"@fluixi/reactive/signal";import{getServerData as Ke}from"@fluixi/dom";var Ve="__fluixi_iso_states__",We="__iso:";function Je(){return globalThis[Ve]??=new Map}function Xe(e){if(typeof window>"u")return;let t=Ke();return t?t[We+e]:void 0}function Be(e,t){let n=Xe(e),o=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[r,s]=Ne(o);return Je().set(e,{server:t.server,set:s}),{value:r,set:s,key:e}}import{classMap as Wn,styleMap as Jn}from"@fluixi/dom";import{Show as Zt,For as en,Index as tn,Switch as nn,Match as on,Dynamic as rn,ErrorBoundary as sn,Portal as an}from"@fluixi/dom";import{insert as Hn,spread as Yn,setAttribute as qn,setProperty as Gn,addClass as Qn,removeClass as Zn,toggleClass as eo,delegateEvents as to,isDOMNode as no,isLitTemplateResult as oo,hydrate as ro}from"@fluixi/dom";var p={};D(p,cn);import*as cn from"@fluixi/jsx/jsx-runtime";import{createSignal as Ye,createEffect as qe,createMemo as Ge,createRoot as Qe,batch as Ze,untrack as et,onCleanup as tt}from"@fluixi/reactive/signal";var Z="0.0.1",ee="Fluixi";function He(){return{name:ee,version:Z,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}var ln={createSignal:Ye,createEffect:qe,createMemo:Ge,createRoot:Qe,batch:Ze,untrack:et,onCleanup:tt,createContext:k,useContext:y,createComponent:l,onMount:C,onUnmount:T,useEffect:m,useMemo:h,useRef:S,useReducer:b,useEventListener:P,useCallback:g,render:E,VERSION:Z,FRAMEWORK_NAME:ee,getFrameworkInfo:He};d("index");var export_Fragment=p.Fragment;var export_jsx=p.jsx;var export_jsxs=p.jsxs;export{A as $component,v as DEV,rn as Dynamic,sn as ErrorBoundary,ee as FRAMEWORK_NAME,en as For,export_Fragment as Fragment,tn as Index,on as Match,an as Portal,Zt as Show,$n as Store,w as Suspense,nn as Switch,Z as VERSION,Qn as addClass,En as batch,Wn as classMap,_e as cleanupDelegation,Q as composeProviders,l as createComponent,Sn as createComputed,$e as createConsumer,k as createContext,Ue as createContextWithProvider,An as createDebounce,Rn as createDeferred,xn as createEffect,Be as createIsomorphicState,vn as createMemo,I as createProvider,bn as createRenderEffect,Tn as createResource,hn as createRoot,_n as createSelector,Cn as createSignal,Dn as createStore,ln as default,to as delegateEvents,J as devOnly,He as getFrameworkInfo,gn as getOwner,N as getSharedConfig,ro as hydrate,Ae as initDelegation,Hn as insert,no as isDOMNode,W as isDev,oo as isLitTemplateResult,Le as isRenderable,export_jsx as jsx,export_jsxs as jsxs,Y as lazy,Pn as onCleanup,C as onMount,T as onUnmount,Oe as portal,In as read,Fn as reduce,Zn as removeClass,E as render,wn as runWithOwner,qn as setAttribute,On as setOwner,Gn as setProperty,Yn as spread,Jn as styleMap,eo as toggleClass,kn as untrack,Un as untrackStore,g as useCallback,y as useContext,m as useEffect,P as useEventListener,h as useMemo,ze as useProvide,b as useReducer,S as useRef};
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var T=(n,e)=>{for(var t in e)a(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of c(e))!s.call(n,r)&&r!==t&&a(n,r,{get:()=>e[r],enumerable:!(o=u(e,r))||o.enumerable});return n};var f=n=>l(a({},"__esModule",{value:!0}),n);var P={};T(P,{Await:()=>w});module.exports=f(P);var i=require("@fluixi/reactive/signal");function w(n){let e=()=>{let o=n.value;return typeof o=="function"?o():o},[t]=(0,i.createResource)(e);return()=>{if(t.loading)return n.fallback;let o=n.children;return typeof o=="function"?o(t()):o}}
@@ -0,0 +1,8 @@
1
+ export interface AwaitProps<T> {
2
+ value: Promise<T> | (() => Promise<T>);
3
+ fallback?: unknown;
4
+ /** Render prop called with the resolved value (or plain children). */
5
+ children?: ((value: T) => unknown) | unknown;
6
+ }
7
+ export declare function Await<T>(props: AwaitProps<T>): () => unknown;
8
+ //# sourceMappingURL=await.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"await.d.ts","sourceRoot":"","sources":["../../../../src/lib/render/await.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC;CAC9C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,CAW5D"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `<Await value=${promise}>` — resolve a promise and render its value.
3
+ *
4
+ * A thin, Suspense-free helper for the common "await one promise" case:
5
+ *
6
+ * <Await value=${fetchUser(id)} fallback=${html`<p>loading…</p>`}>
7
+ * ${(user) => html`<span>${user.name}</span>`}
8
+ * </Await>
9
+ *
10
+ * `value` is a promise (or a function returning one). While pending it renders
11
+ * `fallback`; once resolved it calls the render-prop child with the value. The
12
+ * resource read is guarded by `.loading`, so it never throws/suspends.
13
+ */
14
+ import { createResource } from '@fluixi/reactive/signal';
15
+ export function Await(props) {
16
+ const fetcher = () => {
17
+ const v = props.value;
18
+ return typeof v === 'function' ? v() : v;
19
+ };
20
+ const [data] = createResource(fetcher);
21
+ return () => {
22
+ if (data.loading)
23
+ return props.fallback;
24
+ const child = props.children;
25
+ return typeof child === 'function' ? child(data()) : child;
26
+ };
27
+ }
@@ -0,0 +1 @@
1
+ import{createResource as r}from"@fluixi/reactive/signal";function i(e){let t=()=>{let n=e.value;return typeof n=="function"?n():n},[o]=r(t);return()=>{if(o.loading)return e.fallback;let n=e.children;return typeof n=="function"?n(o()):n}}export{i as Await};
@@ -1 +1 @@
1
- "use strict";var X=Object.create;var b=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var ee=(e,n)=>{for(var t in n)b(e,t,{get:n[t],enumerable:!0})},O=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of G(n))!Z.call(e,s)&&s!==t&&b(e,s,{get:()=>n[s],enumerable:!(o=Y(n,s))||o.enumerable});return e};var ne=(e,n,t)=>(t=e!=null?X(Q(e)):{},O(n||!e||!e.__esModule?b(t,"default",{value:e,enumerable:!0}):t,e)),te=e=>O(b({},"__esModule",{value:!0}),e);var pe={};ee(pe,{$component:()=>L,DEV:()=>x,Suspense:()=>C,SuspenseList:()=>H,batch:()=>r.batch,cleanupDelegation:()=>fe,createComponent:()=>v,createEffect:()=>r.createEffect,createMemo:()=>r.createMemo,devOnly:()=>N,getOwner:()=>r.getOwner,getSharedConfig:()=>k,initDelegation:()=>ue,isDev:()=>U,isJSXElement:()=>V,isLitResult:()=>I,isNode:()=>W,isPromise:()=>E,isRenderable:()=>ae,lazy:()=>K,onCleanup:()=>r.onCleanup,onMount:()=>j,onUnmount:()=>F,portal:()=>ce,render:()=>J,runWithOwner:()=>r.runWithOwner,useCallback:()=>z,useEffect:()=>g,useEventListener:()=>_,useMemo:()=>M,useReducer:()=>$,useRef:()=>D});module.exports=te(pe);var q=require("@fluixi/reactive/signal"),d=require("@fluixi/dom");var h=require("@fluixi/dom"),r=require("@fluixi/reactive/signal"),oe={context:null,owner:null};function k(){return oe}var x=typeof process<"u"&&!1,w=Symbol.for("fluixi-lifecycle");function R(){let e=(0,r.getOwner)();if(!e)return null;if(!e[w]){let n={mounts:[],effects:[],scheduled:!1};e[w]=n}return e[w]}function P(e){if(e.scheduled)return;e.scheduled=!0;let n=(0,r.getOwner)();queueMicrotask(()=>{(0,r.runWithOwner)(n,()=>{for(let t of e.mounts)try{let o=t();typeof o=="function"&&(0,r.onCleanup)(o)}catch(o){console.error("Error in onMount callback:",o)}for(let t of e.effects){let o;(0,r.createEffect)(()=>{o&&o(),o=t()}),(0,r.onCleanup)(()=>{o&&o()})}e.mounts=[],e.effects=[]})})}function A(e){(0,h.registerCreateComponent)(v)}function v(e,n){return L(e,n)}function L(e,n){let t=typeof e=="function"?(0,r.untrack)(()=>e(n)):e;if(t!=null&&(typeof t=="function"||typeof t=="object")&&!(0,r.isSignal)(t)){try{t.$name=e.name}catch{}return(0,h.asComponent)(t)}return t}function j(e,n=!0){let t=R();if(t){if(!n){t.scheduled||e();return}t.mounts.push(e),P(t)}else{if(!n){e();return}(0,r.createEffect)(()=>{let o=(0,r.untrack)(e);typeof o=="function"&&(0,r.onCleanup)(o)})}}function F(e){(0,r.onCleanup)(e)}function g(e){let n=R();if(n)n.effects.push(e),P(n);else{let t;(0,r.createEffect)(()=>{t&&t(),t=e()}),(0,r.onCleanup)(()=>{t&&t()})}}function M(e){return(0,r.createMemo)(e)}function D(e){let n={current:e};return(0,r.onCleanup)(()=>{n.current=null}),n}function $(e,n){let[t,o]=(0,r.createSignal)(n);return[t,p=>{o(e(t(),p))}]}function _(e,n,t,o){g(()=>{let s=e&&"current"in e?e.current:e;if(s)return s.addEventListener(n,t,o),()=>{s.removeEventListener(n,t,o)}})}function z(e){return e}function U(){return x}function N(e){x&&e()}var i=require("@fluixi/reactive/signal"),l=require("@fluixi/dom");function W(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function I(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function E(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function V(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var B=(0,i.createContext)();function C(e){return(0,l.createComponent)(re,e)}function re(e){let n=(0,i.createSuspenseBoundary)(),t=(0,i.useContext)(B),o=t?t.register(n.inFallback):void 0;function s(a){return a==null||typeof a=="boolean"?null:typeof a=="function"&&(0,l.isComponent)(a)&&!(0,i.isSignal)(a)?a():a}let p=(0,l.runWithoutHydration)(()=>s(e.fallback??null)),u=(0,i.provideSuspense)(n,()=>e.children);(0,i.provideSuspense)(n,()=>{(0,i.createRenderEffect)(()=>{let a=u;if(Array.isArray(a))for(let S of a)typeof S=="function"&&(0,i.isSignal)(S)&&S();else typeof a=="function"&&(0,i.isSignal)(a)&&a()})});let[f,c]=(0,i.createSignal)(void 0),m=E(u);return m&&(n.increment(),u.then(a=>{c(()=>a),n.decrement()},()=>n.decrement())),(0,i.createMemo)(()=>(o?o.showFallback():n.inFallback())?p:m?f():u)}function H(e){return(0,l.createComponent)(ie,e)}function ie(e){let{revealOrder:n="together",tail:t}=e,o=[];function s(){if(n==="together"){let u=o.every(f=>!f.inFallback());o.forEach(f=>{f.setShowContent(u),f.setShowFallback(!u)})}else{let u=n==="backwards"?[...o].reverse():o,f=!1;for(let c of u)f||c.inFallback()?(f=!0,c.setShowContent(!1),c.setShowFallback(t!=="hidden")):(c.setShowContent(!0),c.setShowFallback(!1))}}let p={register:u=>{let[f,c]=(0,i.createSignal)(!0),[m,a]=(0,i.createSignal)(!1);return o.push({inFallback:u,setShowContent:c,setShowFallback:a}),(0,i.createEffect)(()=>{u(),s()}),{showContent:f,showFallback:m}}};return B.Provider({value:p,children:e.children})}(0,l.asSuspense)(C);Object.defineProperty(C,"__suspense",{value:!0,enumerable:!0});var y=require("@fluixi/reactive/signal");function K(e,n){let t,o,s;function p(){return o||(o=e().then(f=>t=f.default)),o}n?.preload&&p();let u=(f=>{if(t){let c=t;return(0,y.untrack)(()=>c(f))}if(!s){let[c]=(0,y.createResource)(()=>p());if(s=c,c.error)throw c.error}return(0,y.createMemo)(()=>{let c=s();return c?(0,y.untrack)(()=>c(f)):void 0},void 0,{name:"lazy"})});return u.preload=()=>p().then(()=>{}),u.$lazy=!0,u.loader=e,u}typeof window<"u"&&import("lit").then(e=>(0,d.registerLitRender)(e.render));var T=typeof window>"u";function J(e,n,t={}){if(A("render"),(0,d.delegateEvents)(["click","input","change","submit"]),T)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!n)throw new Error("Container element is required");let o;return(0,q.createRoot)(s=>{o=s;let p=typeof e=="function"?e():e;n.textContent="",n.setAttribute("fluixi-js","v1"),(0,d.insert)(n,()=>p)}),()=>{o&&(o(),o=void 0)}}function se(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ce(e,n,t={}){let o=document.createElement("div");o.setAttribute("data-portal","true"),n.appendChild(o);let s=J(e,o,t);return()=>{s(),n.contains(o)&&n.removeChild(o)}}function ae(e){return!!(e==null||typeof e=="function"||(0,d.isDOMNode)(e)||se(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ue(){T||(0,d.delegateEvents)(["click","input","change","submit"])}function fe(){}
1
+ "use strict";var w=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var Q=Object.prototype.hasOwnProperty;var Z=(e,n)=>{for(var o in n)w(e,o,{get:n[o],enumerable:!0})},ee=(e,n,o,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of G(n))!Q.call(e,s)&&s!==o&&w(e,s,{get:()=>n[s],enumerable:!(t=Y(n,s))||t.enumerable});return e};var ne=e=>ee(w({},"__esModule",{value:!0}),e);var fe={};Z(fe,{$component:()=>T,Await:()=>q,DEV:()=>x,Suspense:()=>h,SuspenseList:()=>B,batch:()=>r.batch,cleanupDelegation:()=>ue,createComponent:()=>v,createEffect:()=>r.createEffect,createMemo:()=>r.createMemo,devOnly:()=>U,getOwner:()=>r.getOwner,getSharedConfig:()=>k,initDelegation:()=>ae,isDev:()=>z,isJSXElement:()=>I,isLitResult:()=>W,isNode:()=>N,isPromise:()=>g,isRenderable:()=>ce,lazy:()=>H,onCleanup:()=>r.onCleanup,onMount:()=>A,onUnmount:()=>j,portal:()=>se,render:()=>X,runWithOwner:()=>r.runWithOwner,useCallback:()=>_,useEffect:()=>L,useEventListener:()=>$,useMemo:()=>F,useReducer:()=>D,useRef:()=>M});module.exports=ne(fe);var J=require("@fluixi/reactive/signal"),y=require("@fluixi/dom");var b=require("@fluixi/dom"),r=require("@fluixi/reactive/signal"),te={context:null,owner:null};function k(){return te}var x=typeof process<"u"&&!1,S=Symbol.for("fluixi-lifecycle");function O(){let e=(0,r.getOwner)();if(!e)return null;if(!e[S]){let n={mounts:[],effects:[],scheduled:!1};e[S]=n}return e[S]}function P(e){if(e.scheduled)return;e.scheduled=!0;let n=(0,r.getOwner)();queueMicrotask(()=>{(0,r.runWithOwner)(n,()=>{for(let o of e.mounts)try{let t=o();typeof t=="function"&&(0,r.onCleanup)(t)}catch(t){console.error("Error in onMount callback:",t)}for(let o of e.effects){let t;(0,r.createEffect)(()=>{t&&t(),t=o()}),(0,r.onCleanup)(()=>{t&&t()})}e.mounts=[],e.effects=[]})})}function R(e){(0,b.registerCreateComponent)(v)}function v(e,n){return T(e,n)}function T(e,n){let o=typeof e=="function"?(0,r.untrack)(()=>e(n)):e;if(o!=null&&(typeof o=="function"||typeof o=="object")&&!(0,r.isSignal)(o)){try{o.$name=e.name}catch{}return(0,b.asComponent)(o)}return o}function A(e,n=!0){let o=O();if(o){if(!n){o.scheduled||e();return}o.mounts.push(e),P(o)}else{if(!n){e();return}(0,r.createEffect)(()=>{let t=(0,r.untrack)(e);typeof t=="function"&&(0,r.onCleanup)(t)})}}function j(e){(0,r.onCleanup)(e)}function L(e){let n=O();if(n)n.effects.push(e),P(n);else{let o;(0,r.createEffect)(()=>{o&&o(),o=e()}),(0,r.onCleanup)(()=>{o&&o()})}}function F(e){return(0,r.createMemo)(e)}function M(e){let n={current:e};return(0,r.onCleanup)(()=>{n.current=null}),n}function D(e,n){let[o,t]=(0,r.createSignal)(n);return[o,p=>{t(e(o(),p))}]}function $(e,n,o,t){L(()=>{let s=e&&"current"in e?e.current:e;if(s)return s.addEventListener(n,o,t),()=>{s.removeEventListener(n,o,t)}})}function _(e){return e}function z(){return x}function U(e){x&&e()}var i=require("@fluixi/reactive/signal"),l=require("@fluixi/dom");function N(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function W(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function g(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function I(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var V=(0,i.createContext)();function h(e){return(0,l.createComponent)(oe,e)}function oe(e){let n=(0,i.createSuspenseBoundary)(),o=(0,i.useContext)(V),t=o?o.register(n.inFallback):void 0;function s(a){return a==null||typeof a=="boolean"?null:typeof a=="function"&&(0,l.isComponent)(a)&&!(0,i.isSignal)(a)?a():a}let p=(0,l.runWithoutHydration)(()=>s(e.fallback??null)),u=(0,i.provideSuspense)(n,()=>e.children);(0,i.provideSuspense)(n,()=>{(0,i.createRenderEffect)(()=>{let a=u;if(Array.isArray(a))for(let C of a)typeof C=="function"&&(0,i.isSignal)(C)&&C();else typeof a=="function"&&(0,i.isSignal)(a)&&a()})});let[f,c]=(0,i.createSignal)(void 0),m=g(u);return m&&(n.increment(),u.then(a=>{c(()=>a),n.decrement()},()=>n.decrement())),(0,i.createMemo)(()=>(t?t.showFallback():n.inFallback())?p:m?f():u)}function B(e){return(0,l.createComponent)(re,e)}function re(e){let{revealOrder:n="together",tail:o}=e,t=[];function s(){if(n==="together"){let u=t.every(f=>!f.inFallback());t.forEach(f=>{f.setShowContent(u),f.setShowFallback(!u)})}else{let u=n==="backwards"?[...t].reverse():t,f=!1;for(let c of u)f||c.inFallback()?(f=!0,c.setShowContent(!1),c.setShowFallback(o!=="hidden")):(c.setShowContent(!0),c.setShowFallback(!1))}}let p={register:u=>{let[f,c]=(0,i.createSignal)(!0),[m,a]=(0,i.createSignal)(!1);return t.push({inFallback:u,setShowContent:c,setShowFallback:a}),(0,i.createEffect)(()=>{u(),s()}),{showContent:f,showFallback:m}}};return V.Provider({value:p,children:e.children})}(0,l.asSuspense)(h);Object.defineProperty(h,"__suspense",{value:!0,enumerable:!0});var d=require("@fluixi/reactive/signal");function H(e,n){let o,t,s;function p(){return t||(t=e().then(f=>o=f.default)),t}n?.preload&&p();let u=(f=>{if(o){let c=o;return(0,d.untrack)(()=>c(f))}if(!s){let[c]=(0,d.createResource)(()=>p());if(s=c,c.error)throw c.error}return(0,d.createMemo)(()=>{let c=s();return c?(0,d.untrack)(()=>c(f)):void 0},void 0,{name:"lazy"})});return u.preload=()=>p().then(()=>{}),u.$lazy=!0,u.loader=e,u}var K=require("@fluixi/reactive/signal");function q(e){let n=()=>{let t=e.value;return typeof t=="function"?t():t},[o]=(0,K.createResource)(n);return()=>{if(o.loading)return e.fallback;let t=e.children;return typeof t=="function"?t(o()):t}}var E=typeof window>"u";function X(e,n,o={}){if(R("render"),(0,y.delegateEvents)(["click","input","change","submit"]),E)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!n)throw new Error("Container element is required");let t;return(0,J.createRoot)(s=>{t=s;let p=typeof e=="function"?e():e;n.textContent="",n.setAttribute("fluixi-js","v1"),(0,y.insert)(n,()=>p)}),()=>{t&&(t(),t=void 0)}}function ie(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function se(e,n,o={}){let t=document.createElement("div");t.setAttribute("data-portal","true"),n.appendChild(t);let s=X(e,t,o);return()=>{s(),n.contains(t)&&n.removeChild(t)}}function ce(e){return!!(e==null||typeof e=="function"||(0,y.isDOMNode)(e)||ie(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ae(){E||(0,y.delegateEvents)(["click","input","change","submit"])}function ue(){}
@@ -44,15 +44,10 @@ export interface RenderOptions {
44
44
  * ```typescript
45
45
  * import { render } from '@fluixi/core';
46
46
  * import { createSignal } from '@fluixi/reactive';
47
- * import { html } from 'lit';
48
47
  *
49
48
  * const App = () => {
50
49
  * const [count, setCount] = createSignal(0);
51
- * return html`
52
- * <button @click=${() => setCount(count() + 1)}>
53
- * Count: ${count()}
54
- * </button>
55
- * `;
50
+ * return <button onClick={() => setCount(count() + 1)}>Count: {count()}</button>;
56
51
  * };
57
52
  *
58
53
  * const dispose = render(App, document.getElementById('app'));
@@ -109,5 +104,7 @@ export { createComponent, onMount, onUnmount, useEffect, useRef, useReducer, use
109
104
  export { Suspense, SuspenseList, type SuspenseProps, type SuspenseListProps, isNode, isLitResult, isPromise, isJSXElement, } from './suspense.js';
110
105
  export { lazy } from "./lazy.js";
111
106
  export type { LazyOptions, LazyComponent } from "./lazy.js";
107
+ export { Await } from './await.js';
108
+ export type { AwaitProps } from './await.js';
112
109
  export type { Component, ComponentProps, LifecycleCallback, RefObject, } from './component.js';
113
110
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/render/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0BH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GAAG,EACf,SAAS,EAAE,WAAW,EACtB,OAAO,GAAE,aAAkB,GAC1B,MAAM,IAAI,CA4CZ;AAmBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GAAG,EACf,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,IAAI,CAaZ;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAchD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAOD,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,GAAG,EACH,eAAe,EACf,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,YAAY,EAEZ,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEtB,MAAM,EACN,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,YAAY,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,WAAW,CAAA;AAEzD,YAAY,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/render/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkBH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GAAG,EACf,SAAS,EAAE,WAAW,EACtB,OAAO,GAAE,aAAkB,GAC1B,MAAM,IAAI,CA4CZ;AAmBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GAAG,EACf,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,IAAI,CAaZ;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAchD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAOD,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,GAAG,EACH,eAAe,EACf,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,YAAY,EAEZ,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEtB,MAAM,EACN,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,YAAY,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,WAAW,CAAA;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,YAAY,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,gBAAgB,CAAC"}
@@ -9,14 +9,8 @@
9
9
  * Following SolidJS structure: render logic separated from component creation
10
10
  */
11
11
  import { createRoot } from '@fluixi/reactive/signal';
12
- import { isDOMNode, delegateEvents, registerLitRender, insert, } from '@fluixi/dom';
12
+ import { isDOMNode, delegateEvents, insert, } from '@fluixi/dom';
13
13
  import { ensureIntegration, } from './component.js';
14
- // Register Lit's render function with the DOM runtime so reactive updates can render
15
- // Lit templates. CLIENT-ONLY and lazily imported: lit extends HTMLElement at module
16
- // init, so a static import would crash SSR — this keeps lit out of server bundles.
17
- if (typeof window !== 'undefined') {
18
- import('lit').then((lit) => registerLitRender(lit.render));
19
- }
20
14
  const isServer = typeof window === 'undefined';
21
15
  // ============================================================================
22
16
  // SECTION 7 — RENDERING (CLIENT)
@@ -40,15 +34,10 @@ const isServer = typeof window === 'undefined';
40
34
  * ```typescript
41
35
  * import { render } from '@fluixi/core';
42
36
  * import { createSignal } from '@fluixi/reactive';
43
- * import { html } from 'lit';
44
37
  *
45
38
  * const App = () => {
46
39
  * const [count, setCount] = createSignal(0);
47
- * return html`
48
- * <button @click=${() => setCount(count() + 1)}>
49
- * Count: ${count()}
50
- * </button>
51
- * `;
40
+ * return <button onClick={() => setCount(count() + 1)}>Count: {count()}</button>;
52
41
  * };
53
42
  *
54
43
  * const dispose = render(App, document.getElementById('app'));
@@ -199,3 +188,4 @@ export { Suspense, SuspenseList,
199
188
  // type ShowProps,
200
189
  isNode, isLitResult, isPromise, isJSXElement, } from './suspense.js';
201
190
  export { lazy } from "./lazy.js";
191
+ export { Await } from './await.js';
@@ -1 +1 @@
1
- import{createRoot as be}from"@fluixi/reactive/signal";import{isDOMNode as he,delegateEvents as D,registerLitRender as xe,insert as Ce}from"@fluixi/dom";import{registerCreateComponent as $,asComponent as _}from"@fluixi/dom";import{untrack as w,onCleanup as f,getOwner as m,createEffect as l,createMemo as v,createSignal as z,isSignal as U,batch as N,runWithOwner as L}from"@fluixi/reactive/signal";var W={context:null,owner:null};function I(){return W}var b=typeof process<"u"&&!1,y=Symbol.for("fluixi-lifecycle");function g(){let e=m();if(!e)return null;if(!e[y]){let n={mounts:[],effects:[],scheduled:!1};e[y]=n}return e[y]}function E(e){if(e.scheduled)return;e.scheduled=!0;let n=m();queueMicrotask(()=>{L(n,()=>{for(let o of e.mounts)try{let t=o();typeof t=="function"&&f(t)}catch(t){console.error("Error in onMount callback:",t)}for(let o of e.effects){let t;l(()=>{t&&t(),t=o()}),f(()=>{t&&t()})}e.mounts=[],e.effects=[]})})}function T(e){$(O)}function O(e,n){return k(e,n)}function k(e,n){let o=typeof e=="function"?w(()=>e(n)):e;if(o!=null&&(typeof o=="function"||typeof o=="object")&&!U(o)){try{o.$name=e.name}catch{}return _(o)}return o}function V(e,n=!0){let o=g();if(o){if(!n){o.scheduled||e();return}o.mounts.push(e),E(o)}else{if(!n){e();return}l(()=>{let t=w(e);typeof t=="function"&&f(t)})}}function B(e){f(e)}function R(e){let n=g();if(n)n.effects.push(e),E(n);else{let o;l(()=>{o&&o(),o=e()}),f(()=>{o&&o()})}}function H(e){return v(e)}function K(e){let n={current:e};return f(()=>{n.current=null}),n}function q(e,n){let[o,t]=z(n);return[o,u=>{t(e(o(),u))}]}function J(e,n,o,t){R(()=>{let c=e&&"current"in e?e.current:e;if(c)return c.addEventListener(n,o,t),()=>{c.removeEventListener(n,o,t)}})}function X(e){return e}function Y(){return b}function G(e){b&&e()}import{createSignal as x,createMemo as Q,createEffect as Z,createRenderEffect as ee,isSignal as h,useContext as ne,createContext as te,createSuspenseBoundary as oe,provideSuspense as P}from"@fluixi/reactive/signal";import{asSuspense as re,isComponent as ie,createComponent as A,runWithoutHydration as se}from"@fluixi/dom";function ce(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 j(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 F=te();function C(e){return A(fe,e)}function fe(e){let n=oe(),o=ne(F),t=o?o.register(n.inFallback):void 0;function c(i){return i==null||typeof i=="boolean"?null:typeof i=="function"&&ie(i)&&!h(i)?i():i}let u=se(()=>c(e.fallback??null)),s=P(n,()=>e.children);P(n,()=>{ee(()=>{let i=s;if(Array.isArray(i))for(let d of i)typeof d=="function"&&h(d)&&d();else typeof i=="function"&&h(i)&&i()})});let[a,r]=x(void 0),p=j(s);return p&&(n.increment(),s.then(i=>{r(()=>i),n.decrement()},()=>n.decrement())),Q(()=>(t?t.showFallback():n.inFallback())?u:p?a():s)}function pe(e){return A(le,e)}function le(e){let{revealOrder:n="together",tail:o}=e,t=[];function c(){if(n==="together"){let s=t.every(a=>!a.inFallback());t.forEach(a=>{a.setShowContent(s),a.setShowFallback(!s)})}else{let s=n==="backwards"?[...t].reverse():t,a=!1;for(let r of s)a||r.inFallback()?(a=!0,r.setShowContent(!1),r.setShowFallback(o!=="hidden")):(r.setShowContent(!0),r.setShowFallback(!1))}}let u={register:s=>{let[a,r]=x(!0),[p,i]=x(!1);return t.push({inFallback:s,setShowContent:r,setShowFallback:i}),Z(()=>{s(),c()}),{showContent:a,showFallback:p}}};return F.Provider({value:u,children:e.children})}re(C);Object.defineProperty(C,"__suspense",{value:!0,enumerable:!0});import{untrack as M,createMemo as de,createResource as ye}from"@fluixi/reactive/signal";function me(e,n){let o,t,c;function u(){return t||(t=e().then(a=>o=a.default)),t}n?.preload&&u();let s=(a=>{if(o){let r=o;return M(()=>r(a))}if(!c){let[r]=ye(()=>u());if(c=r,r.error)throw r.error}return de(()=>{let r=c();return r?M(()=>r(a)):void 0},void 0,{name:"lazy"})});return s.preload=()=>u().then(()=>{}),s.$lazy=!0,s.loader=e,s}typeof window<"u"&&import("lit").then(e=>xe(e.render));var S=typeof window>"u";function Se(e,n,o={}){if(T("render"),D(["click","input","change","submit"]),S)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!n)throw new Error("Container element is required");let t;return be(c=>{t=c;let u=typeof e=="function"?e():e;n.textContent="",n.setAttribute("fluixi-js","v1"),Ce(n,()=>u)}),()=>{t&&(t(),t=void 0)}}function we(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ve(e,n,o={}){let t=document.createElement("div");t.setAttribute("data-portal","true"),n.appendChild(t);let c=Se(e,t,o);return()=>{c(),n.contains(t)&&n.removeChild(t)}}function Be(e){return!!(e==null||typeof e=="function"||he(e)||we(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function He(){S||D(["click","input","change","submit"])}function Ke(){}export{k as $component,b as DEV,C as Suspense,pe as SuspenseList,N as batch,Ke as cleanupDelegation,O as createComponent,l as createEffect,v as createMemo,G as devOnly,m as getOwner,I as getSharedConfig,He as initDelegation,Y as isDev,ue as isJSXElement,ae as isLitResult,ce as isNode,j as isPromise,Be as isRenderable,me as lazy,f as onCleanup,V as onMount,B as onUnmount,Ve as portal,Se as render,L as runWithOwner,X as useCallback,R as useEffect,J as useEventListener,H as useMemo,q as useReducer,K as useRef};
1
+ import{createRoot as he}from"@fluixi/reactive/signal";import{isDOMNode as Ce,delegateEvents as D,insert as we}from"@fluixi/dom";import{registerCreateComponent as $,asComponent as _}from"@fluixi/dom";import{untrack as S,onCleanup as f,getOwner as m,createEffect as l,createMemo as v,createSignal as z,isSignal as U,batch as N,runWithOwner as T}from"@fluixi/reactive/signal";var W={context:null,owner:null};function I(){return W}var b=typeof process<"u"&&!1,y=Symbol.for("fluixi-lifecycle");function L(){let e=m();if(!e)return null;if(!e[y]){let t={mounts:[],effects:[],scheduled:!1};e[y]=t}return e[y]}function g(e){if(e.scheduled)return;e.scheduled=!0;let t=m();queueMicrotask(()=>{T(t,()=>{for(let o of e.mounts)try{let n=o();typeof n=="function"&&f(n)}catch(n){console.error("Error in onMount callback:",n)}for(let o of e.effects){let n;l(()=>{n&&n(),n=o()}),f(()=>{n&&n()})}e.mounts=[],e.effects=[]})})}function E(e){$(k)}function k(e,t){return O(e,t)}function O(e,t){let o=typeof e=="function"?S(()=>e(t)):e;if(o!=null&&(typeof o=="function"||typeof o=="object")&&!U(o)){try{o.$name=e.name}catch{}return _(o)}return o}function V(e,t=!0){let o=L();if(o){if(!t){o.scheduled||e();return}o.mounts.push(e),g(o)}else{if(!t){e();return}l(()=>{let n=S(e);typeof n=="function"&&f(n)})}}function B(e){f(e)}function P(e){let t=L();if(t)t.effects.push(e),g(t);else{let o;l(()=>{o&&o(),o=e()}),f(()=>{o&&o()})}}function H(e){return v(e)}function K(e){let t={current:e};return f(()=>{t.current=null}),t}function q(e,t){let[o,n]=z(t);return[o,u=>{n(e(o(),u))}]}function J(e,t,o,n){P(()=>{let c=e&&"current"in e?e.current:e;if(c)return c.addEventListener(t,o,n),()=>{c.removeEventListener(t,o,n)}})}function X(e){return e}function Y(){return b}function G(e){b&&e()}import{createSignal as h,createMemo as Q,createEffect as Z,createRenderEffect as ee,isSignal as x,useContext as ne,createContext as te,createSuspenseBoundary as oe,provideSuspense as R}from"@fluixi/reactive/signal";import{asSuspense as re,isComponent as ie,createComponent as A,runWithoutHydration as se}from"@fluixi/dom";function ce(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 j(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 F=te();function C(e){return A(fe,e)}function fe(e){let t=oe(),o=ne(F),n=o?o.register(t.inFallback):void 0;function c(i){return i==null||typeof i=="boolean"?null:typeof i=="function"&&ie(i)&&!x(i)?i():i}let u=se(()=>c(e.fallback??null)),s=R(t,()=>e.children);R(t,()=>{ee(()=>{let i=s;if(Array.isArray(i))for(let d of i)typeof d=="function"&&x(d)&&d();else typeof i=="function"&&x(i)&&i()})});let[a,r]=h(void 0),p=j(s);return p&&(t.increment(),s.then(i=>{r(()=>i),t.decrement()},()=>t.decrement())),Q(()=>(n?n.showFallback():t.inFallback())?u:p?a():s)}function pe(e){return A(le,e)}function le(e){let{revealOrder:t="together",tail:o}=e,n=[];function c(){if(t==="together"){let s=n.every(a=>!a.inFallback());n.forEach(a=>{a.setShowContent(s),a.setShowFallback(!s)})}else{let s=t==="backwards"?[...n].reverse():n,a=!1;for(let r of s)a||r.inFallback()?(a=!0,r.setShowContent(!1),r.setShowFallback(o!=="hidden")):(r.setShowContent(!0),r.setShowFallback(!1))}}let u={register:s=>{let[a,r]=h(!0),[p,i]=h(!1);return n.push({inFallback:s,setShowContent:r,setShowFallback:i}),Z(()=>{s(),c()}),{showContent:a,showFallback:p}}};return F.Provider({value:u,children:e.children})}re(C);Object.defineProperty(C,"__suspense",{value:!0,enumerable:!0});import{untrack as M,createMemo as de,createResource as ye}from"@fluixi/reactive/signal";function me(e,t){let o,n,c;function u(){return n||(n=e().then(a=>o=a.default)),n}t?.preload&&u();let s=(a=>{if(o){let r=o;return M(()=>r(a))}if(!c){let[r]=ye(()=>u());if(c=r,r.error)throw r.error}return de(()=>{let r=c();return r?M(()=>r(a)):void 0},void 0,{name:"lazy"})});return s.preload=()=>u().then(()=>{}),s.$lazy=!0,s.loader=e,s}import{createResource as be}from"@fluixi/reactive/signal";function xe(e){let t=()=>{let n=e.value;return typeof n=="function"?n():n},[o]=be(t);return()=>{if(o.loading)return e.fallback;let n=e.children;return typeof n=="function"?n(o()):n}}var w=typeof window>"u";function Se(e,t,o={}){if(E("render"),D(["click","input","change","submit"]),w)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let n;return he(c=>{n=c;let u=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),we(t,()=>u)}),()=>{n&&(n(),n=void 0)}}function ve(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ke(e,t,o={}){let n=document.createElement("div");n.setAttribute("data-portal","true"),t.appendChild(n);let c=Se(e,n,o);return()=>{c(),t.contains(n)&&t.removeChild(n)}}function qe(e){return!!(e==null||typeof e=="function"||Ce(e)||ve(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Je(){w||D(["click","input","change","submit"])}function Xe(){}export{O as $component,xe as Await,b as DEV,C as Suspense,pe as SuspenseList,N as batch,Xe as cleanupDelegation,k as createComponent,l as createEffect,v as createMemo,G as devOnly,m as getOwner,I as getSharedConfig,Je as initDelegation,Y as isDev,ue as isJSXElement,ae as isLitResult,ce as isNode,j as isPromise,qe as isRenderable,me as lazy,f as onCleanup,V as onMount,B as onUnmount,Ke as portal,Se as render,T as runWithOwner,X as useCallback,P as useEffect,J as useEventListener,H as useMemo,q as useReducer,K as useRef};