@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.
- package/dist/cdn/core.global.js +1 -3
- package/dist/src/cdn/core.cjs +1 -1
- package/dist/src/cdn/core.mjs +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/lib/client/index.cjs +1 -1
- package/dist/src/lib/client/index.d.ts.map +1 -1
- package/dist/src/lib/client/index.js +0 -3
- package/dist/src/lib/client/index.mjs +1 -1
- package/dist/src/lib/core.cjs +1 -1
- package/dist/src/lib/core.d.ts +3 -2
- package/dist/src/lib/core.d.ts.map +1 -1
- package/dist/src/lib/core.js +12 -6
- package/dist/src/lib/core.mjs +1 -1
- package/dist/src/lib/index.cjs +1 -1
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +1 -10
- package/dist/src/lib/index.mjs +1 -1
- package/dist/src/lib/render/await.cjs +1 -0
- package/dist/src/lib/render/await.d.ts +8 -0
- package/dist/src/lib/render/await.d.ts.map +1 -0
- package/dist/src/lib/render/await.js +27 -0
- package/dist/src/lib/render/await.mjs +1 -0
- package/dist/src/lib/render/index.cjs +1 -1
- package/dist/src/lib/render/index.d.ts +3 -6
- package/dist/src/lib/render/index.d.ts.map +1 -1
- package/dist/src/lib/render/index.js +3 -13
- package/dist/src/lib/render/index.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +10 -13
- package/dist/src/lib/directives/lit.cjs +0 -1
- package/dist/src/lib/directives/lit.d.ts +0 -2
- package/dist/src/lib/directives/lit.d.ts.map +0 -1
- package/dist/src/lib/directives/lit.js +0 -31
- package/dist/src/lib/directives/lit.mjs +0 -0
package/dist/src/lib/core.mjs
CHANGED
|
@@ -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};
|
package/dist/src/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
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;
|
|
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"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -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,
|
package/dist/src/lib/index.mjs
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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;
|
|
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,
|
|
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
|
|
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
|
|
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};
|