@fluixi/core 1.0.0-alpha.55 → 1.0.0-alpha.57
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/{chunk-PFM5O5UE.mjs → chunk-DYBLT5DZ.mjs} +1 -1
- package/dist/src/cdn/core.cjs +1 -1
- package/dist/src/cdn/core.mjs +1 -1
- package/dist/src/cdn/{router-next-WNWCFVC2.mjs → router-next-2MKUMMEE.mjs} +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/lib/client/{chunk-D3VTWVNJ.mjs → chunk-45GBRHE6.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/client/{router-next-UYIYMRJL.mjs → router-next-F5ZKD3JR.mjs} +1 -1
- package/dist/src/lib/context/context.mjs +1 -1
- package/dist/src/lib/context/index.cjs +1 -1
- package/dist/src/lib/context/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/component.cjs +1 -1
- package/dist/src/lib/render/component.d.ts.map +1 -1
- package/dist/src/lib/render/component.js +10 -1
- package/dist/src/lib/render/component.mjs +1 -1
- 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/src/lib/router-next/data.cjs +1 -1
- package/dist/src/lib/router-next/data.mjs +1 -1
- package/dist/src/lib/router-next/index.cjs +1 -1
- package/dist/src/lib/router-next/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
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var f=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var w=(e,n)=>{for(var t in n)f(e,t,{get:n[t],enumerable:!0})},R=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of S(n))!O.call(e,i)&&i!==t&&f(e,i,{get:()=>n[i],enumerable:!(o=E(n,i))||o.enumerable});return e};var L=e=>R(f({},"__esModule",{value:!0}),e);var V={};w(V,{composeProviders:()=>l,createConsumer:()=>m,createContext:()=>p,createContextWithProvider:()=>T,createProvider:()=>s,useContext:()=>u,useProvide:()=>h});module.exports=L(V);var y=require("@fluixi/dom"),a=require("@fluixi/reactive/signal"),C=require("@fluixi/reactive/signal");var c=require("@fluixi/dom"),r=require("@fluixi/reactive/signal");function v(e){(0,c.registerCreateComponent)(A)}function A(e,n){return k(e,n)}function k(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,c.asComponent)(t)}return t}v("index");var x=!1;function U(){x||(x=!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 s(e,n,t){let o=!!e?.Provider,i=o?e:e.context,d=o?n:e.value,g=o?!1:e.debug??!1;o||U();let P=typeof d=="function"?d():d,b=o?t:e;return i.Provider({value:P,get children(){return b?.children},debug:g})}function T(e){let n=p(e);return[n,o=>s(n,o.value,o)]}function l(e,n){if(e.length===0)return(0,C.readChildren)(()=>n);let[t,o]=e[0],i=e.slice(1);return s(t,o,{get children(){return l(i,n)}})}function m(e){return n=>{let t=u(e);return n.children(t)}}function h(e,n){let t=u(e);return t===e.defaultValue?n():t}function p(e){let n=(0,a.createContext)(e),t=o=>(o.debug,n.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:n.id,Provider:(0,y.asProvider)(t),defaultValue:e}}function u(e){let n=(0,a.useContext)(e);return n!==void 0?n:e.defaultValue}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{asProvider as g}from"@fluixi/dom";import{createContext as P,useContext as b}from"@fluixi/reactive/signal";import{readChildren as E}from"@fluixi/reactive/signal";import{registerCreateComponent as x,asComponent as y}from"@fluixi/dom";import{untrack as C,onCleanup as U,getOwner as V,createEffect as j,createMemo as
|
|
1
|
+
import{asProvider as g}from"@fluixi/dom";import{createContext as P,useContext as b}from"@fluixi/reactive/signal";import{readChildren as E}from"@fluixi/reactive/signal";import{registerCreateComponent as x,asComponent as y}from"@fluixi/dom";import{untrack as C,onCleanup as U,getOwner as V,createEffect as j,createMemo as D,createSignal as M,isSignal as T,batch as _,runWithOwner as $,isOwnerDisposed as F}from"@fluixi/reactive/signal";function s(e){x(m)}function m(e,n){return h(e,n)}function h(e,n){let t=typeof e=="function"?C(()=>e(n)):e;if(t!=null&&(typeof t=="function"||typeof t=="object")&&!T(t)){try{t.$name=e.name}catch{}return y(t)}return t}s("index");var u=!1;function S(){u||(u=!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 c(e,n,t){let o=!!e?.Provider,r=o?e:e.context,i=o?n:e.value,l=o?!1:e.debug??!1;o||S();let p=typeof i=="function"?i():i,v=o?t:e;return r.Provider({value:p,get children(){return v?.children},debug:l})}function O(e){let n=f(e);return[n,o=>c(n,o.value,o)]}function d(e,n){if(e.length===0)return E(()=>n);let[t,o]=e[0],r=e.slice(1);return c(t,o,{get children(){return d(r,n)}})}function w(e){return n=>{let t=a(e);return n.children(t)}}function R(e,n){let t=a(e);return t===e.defaultValue?n():t}function f(e){let n=P(e),t=o=>(o.debug,n.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:n.id,Provider:g(t),defaultValue:e}}function a(e){let n=b(e);return n!==void 0?n:e.defaultValue}export{d as composeProviders,w as createConsumer,f as createContext,O as createContextWithProvider,c as createProvider,a as useContext,R as useProvide};
|
package/dist/src/lib/core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Be=Object.create;var z=Object.defineProperty;var qe=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Ye=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Qe=(e,t)=>{for(var n in t)z(e,n,{get:t[n],enumerable:!0})},U=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Xe(t))!Ge.call(e,o)&&o!==n&&z(e,o,{get:()=>t[o],enumerable:!(r=qe(t,o))||r.enumerable});return e},m=(e,t,n)=>(U(e,t,"default"),n&&U(n,t,"default")),Ze=(e,t,n)=>(n=e!=null?Be(Ye(e)):{},U(t||!e||!e.__esModule?z(n,"default",{value:e,enumerable:!0}):n,e)),et=e=>U(z({},"__esModule",{value:!0}),e);var y={};Qe(y,{$component:()=>J,Dynamic:()=>C.Dynamic,ErrorBoundary:()=>C.ErrorBoundary,FRAMEWORK_NAME:()=>We,For:()=>C.For,Index:()=>C.Index,Island:()=>b.Island,Link:()=>ee,Match:()=>C.Match,Portal:()=>C.Portal,Router:()=>Q,Show:()=>C.Show,Store:()=>A.Store,Suspense:()=>j,SuspenseList:()=>le,Switch:()=>C.Switch,VERSION:()=>ze,addClass:()=>s.addClass,appendChildren:()=>s.appendChildren,batch:()=>a.batch,classMap:()=>b.classMap,cleanupDelegation:()=>Ee,clientOnly:()=>Ve,closest:()=>s.closest,composeProviders:()=>ye,createComponent:()=>D,createComputed:()=>a.createComputed,createConsumer:()=>Fe,createContext:()=>k,createContextWithProvider:()=>Ie,createDebounce:()=>K.createDebounce,createDeferred:()=>a.createDeferred,createEffect:()=>a.createEffect,createIsomorphicState:()=>me,createIsomorphicStore:()=>$e,createMemo:()=>a.createMemo,createMemoryStorage:()=>xe,createProvider:()=>Y,createRenderEffect:()=>a.createRenderEffect,createResource:()=>a.createResource,createRoot:()=>a.createRoot,createSelector:()=>K.createSelector,createSignal:()=>a.createSignal,createStore:()=>A.createStore,createTheme:()=>Ke,default:()=>Pt,delegate:()=>s.delegate,domCreateElement:()=>s.createElement,env:()=>V,getAttribute:()=>s.getAttribute,getOffset:()=>s.getOffset,getOwner:()=>a.getOwner,getStyle:()=>s.getStyle,hasClass:()=>s.hasClass,hydrateIslands:()=>b.hydrateIslands,initDelegation:()=>ke,isClient:()=>he,isJSXElement:()=>de,isLitResult:()=>ue,isNode:()=>ce,isRenderable:()=>Oe,isServer:()=>ge,isVisible:()=>s.isVisible,lazy:()=>q,mergeProps:()=>b.mergeProps,observeIntersection:()=>s.observeIntersection,observeResize:()=>s.observeResize,onCleanup:()=>a.onCleanup,onMount:()=>N,onUnmount:()=>_,portal:()=>Ae,query:()=>s.query,queryAll:()=>s.queryAll,read:()=>F.readSignal,reduce:()=>F.reduceSignal,removeAttribute:()=>s.removeAttribute,removeChildren:()=>s.removeChildren,removeClass:()=>s.removeClass,render:()=>pe,runWithOwner:()=>a.runWithOwner,scrollIntoView:()=>s.scrollIntoView,setAttribute:()=>s.setAttribute,setOwner:()=>a.setOwner,setStyles:()=>s.setStyles,splitProps:()=>b.splitProps,storage:()=>$,styleMap:()=>b.styleMap,toggleClass:()=>s.toggleClass,untrack:()=>a.untrack,untrackStore:()=>A.untrackStore,unwrap:()=>A.unwrap,useCallback:()=>ae,useContext:()=>E,useEffect:()=>B,useEventListener:()=>ie,useLocation:()=>Ue,useMemo:()=>re,useNavigate:()=>Z,useParams:()=>He,useProvide:()=>Ne,useReducer:()=>se,useRef:()=>oe,useRouter:()=>L,waitForElement:()=>s.waitForElement});module.exports=et(y);var a=require("@fluixi/reactive/signal"),K=require("@fluixi/reactive/signal"),F=require("@fluixi/reactive/operators");var Re=require("@fluixi/reactive/signal"),P=require("@fluixi/dom");var W=require("@fluixi/dom"),d=require("@fluixi/reactive/signal");var ne=Symbol.for("fluixi-lifecycle");function be(){let e=(0,d.getOwner)();if(!e)return null;if(!e[ne]){let t={mounts:[],effects:[],scheduled:!1};e[ne]=t}return e[ne]}function Se(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,d.getOwner)();queueMicrotask(()=>{(0,d.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,d.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,d.createEffect)(()=>{r&&r(),r=n()}),(0,d.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function M(e){(0,W.registerCreateComponent)(D)}function D(e,t){return J(e,t)}function J(e,t){let n=typeof e=="function"?(0,d.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,d.isSignal)(n)){try{n.$name=e.name}catch{}return(0,W.asComponent)(n)}return n}function N(e,t=!0){let n=be();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Se(n)}else{if(!t){e();return}(0,d.createEffect)(()=>{let r=(0,d.untrack)(e);typeof r=="function"&&(0,d.onCleanup)(r)})}}function _(e){(0,d.onCleanup)(e)}function B(e){let t=be();if(t)t.effects.push(e),Se(t);else{let n;(0,d.createEffect)(()=>{n&&n(),n=e()}),(0,d.onCleanup)(()=>{n&&n()})}}function re(e){return(0,d.createMemo)(e)}function oe(e){let t={current:e};return(0,d.onCleanup)(()=>{t.current=null}),t}function se(e,t){let[n,r]=(0,d.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function ie(e,t,n,r){B(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function ae(e){return e}var g=require("@fluixi/reactive/signal"),S=require("@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 ue(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Pe(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function de(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var we=(0,g.createContext)();function j(e){return(0,S.createComponent)(tt,e)}function tt(e){let t=(0,g.createSuspenseBoundary)(),n=(0,g.useContext)(we),r=n?n.register(t.inFallback):void 0;function o(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,S.isComponent)(f)&&!(0,g.isSignal)(f)?f():f}let c=(0,S.runWithoutHydration)(()=>o(e.fallback??null)),i=(0,g.provideSuspense)(t,()=>e.children);(0,g.provideSuspense)(t,()=>{(0,g.createRenderEffect)(()=>{let f=i;if(Array.isArray(f))for(let x of f)typeof x=="function"&&(0,g.isSignal)(x)&&x();else typeof f=="function"&&(0,g.isSignal)(f)&&f()})});let[l,u]=(0,g.createSignal)(void 0),T=Pe(i);return T&&(t.increment(),i.then(f=>{u(()=>f),t.decrement()},()=>t.decrement())),(0,g.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:T?l():i)}function le(e){return(0,S.createComponent)(nt,e)}function nt(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let i=r.every(l=>!l.inFallback());r.forEach(l=>{l.setShowContent(i),l.setShowFallback(!i)})}else{let i=t==="backwards"?[...r].reverse():r,l=!1;for(let u of i)l||u.inFallback()?(l=!0,u.setShowContent(!1),u.setShowFallback(n!=="hidden")):(u.setShowContent(!0),u.setShowFallback(!1))}}let c={register:i=>{let[l,u]=(0,g.createSignal)(!0),[T,f]=(0,g.createSignal)(!1);return r.push({inFallback:i,setShowContent:u,setShowFallback:f}),(0,g.createEffect)(()=>{i(),o()}),{showContent:l,showFallback:T}}};return we.Provider({value:c,children:e.children})}(0,S.asSuspense)(j);Object.defineProperty(j,"__suspense",{value:!0,enumerable:!0});var O=require("@fluixi/reactive/signal");function q(e,t){let n,r,o;function c(){return r||(r=e().then(l=>n=l.default)),r}t?.preload&&c();let i=(l=>{if(n){let u=n;return(0,O.untrack)(()=>u(l))}if(!o){let[u]=(0,O.createResource)(()=>c());if(o=u,u.error)throw u.error}return(0,O.createMemo)(()=>{let u=o();return u?(0,O.untrack)(()=>u(l)):void 0},void 0,{name:"lazy"})});return i.preload=()=>c().then(()=>{}),i.$lazy=!0,i.loader=e,i}typeof window<"u"&&import("lit").then(e=>(0,P.registerLitRender)(e.render));var fe=typeof window>"u";function pe(e,t,n={}){if(M("render"),(0,P.delegateEvents)(["click","input","change","submit"]),fe)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return(0,Re.createRoot)(o=>{r=o;let c=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,P.insert)(t,()=>c)}),()=>{r&&(r(),r=void 0)}}function rt(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ae(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=pe(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Oe(e){return!!(e==null||typeof e=="function"||(0,P.isDOMNode)(e)||rt(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ke(){fe||(0,P.delegateEvents)(["click","input","change","submit"])}function Ee(){}var Me=require("@fluixi/dom"),X=require("@fluixi/reactive/signal"),De=require("@fluixi/reactive/signal");M("index");var Le=!1;function ot(){Le||(Le=!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 Y(e,t,n){let r=!!e?.Provider,o=r?e:e.context,c=r?t:e.value,i=r?!1:e.debug??!1;r||ot();let l=typeof c=="function"?c():c,u=r?n:e;return o.Provider({value:l,get children(){return u?.children},debug:i})}function Ie(e){let t=k(e);return[t,r=>Y(t,r.value,r)]}function ye(e,t){if(e.length===0)return(0,De.readChildren)(()=>t);let[n,r]=e[0],o=e.slice(1);return Y(n,r,{get children(){return ye(o,t)}})}function Fe(e){return t=>{let n=E(e);return t.children(n)}}function Ne(e,t){let n=E(e);return n===e.defaultValue?t():n}function k(e){let t=(0,X.createContext)(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,Me.asProvider)(n),defaultValue:e}}function E(e){let t=(0,X.useContext)(e);return t!==void 0?t:e.defaultValue}var G=require("@fluixi/reactive/signal"),_e=require("@fluixi/dom"),st="__fluixi_iso_states__",it="__iso:";function at(){return globalThis[st]??=new Map}function je(e){if(typeof window>"u")return;let t=(0,_e.getServerData)();return t?t[it+e]:void 0}function me(e,t){let n=je(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,c]=(0,G.createSignal)(r);return at().set(e,{server:t.server,set:c}),{value:o,set:c,key:e}}function $e(e,t){let n=je(e)!==void 0,r=me(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,c=x=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(x))}catch{}},i=x=>{r.set(x),c(x)},l=(x,H)=>{i({...o(),[x]:H})},u={};for(let x of Object.keys(t.fallback))u[x]=(0,G.createMemo)(()=>o()[x]);let T=null;return{value:o,fields:u,set:i,setField:l,ensureInit:()=>n||!t.client?Promise.resolve():(T||(T=Promise.resolve(t.client()).then(x=>{i(x)}).catch(x=>{throw T=null,x})),T),key:e}}var ge=typeof document>"u",he=!ge;function xe(){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 $=typeof localStorage<"u"?localStorage:xe(),V={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Ve(e,t){return he?e():t}var Te=require("@fluixi/reactive/signal");function ct(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Ke(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=ct(e.system),o=()=>{let v=$.getItem(t);return v&&e.themes.includes(v)?v:r&&V.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,i]=(0,Te.createSignal)(o()),[l,u]=(0,Te.createSignal)(!1),T=v=>{V.document?.documentElement.setAttribute(n,v);try{$.setItem(t,v)}catch{}},f=v=>{if(!e.themes.includes(v))return;let Je=c();i(()=>v),T(v),e.onChange?.(v,Je),e.load&&(u(!0),e.onLoading?.(v),Promise.resolve(e.load(v)).finally(()=>{u(!1),e.onLoaded?.(v)}))};return{value:c,isLoading:l,set:f,toggle:()=>{let v=e.themes.indexOf(c());f(e.themes[(v+1)%e.themes.length])},init:()=>T(c()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}m(y,require("@fluixi/utils"),module.exports);var p=require("@fluixi/reactive/signal"),h=require("@fluixi/dom"),R=require("@fluixi/reactive/signal"),pt=require("@fluixi/utils/object"),yt=require("@fluixi/utils/compare"),I=require("@fluixi/router"),te=require("@fluixi/router");var ve=require("@fluixi/reactive/signal");var ut=new Map;function dt(){ut.clear()}function lt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,c=o.nodeValue||"";(c.startsWith("#")||c.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),dt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(lt,100)});var[yn,mn]=(0,ve.createSignal)(0);var ft=k(),gn=ft.Provider;var St=require("@fluixi/reactive/signal"),Ce=(0,R.createContext)(),mt=(0,R.createContext)(),gt=(0,R.createContext)(),ht=(0,R.createContext)();function xt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let f=!1;(0,p.onCleanup)(()=>{f=!0});let x=(0,p.getOwner)(),[H]=(0,p.createResource)(()=>o({params:n.params,location:n.location},x,()=>f));r=H}let c=()=>ht.Provider({value:r,get children(){return gt.Provider({value:e.params,get children(){return mt.Provider({value:{depth:t,...n},get children(){return(0,h.createComponent)(e.component,{})}})}})}});if(!r)return c();let i=r,l=()=>i.loading,[u,T]=(0,p.createSignal)((0,p.untrack)(()=>!l()));return(0,p.createEffect)(()=>T(!l())),(0,p.createMemo)(()=>u()?c():null)}function Tt(e){let t=e.depth+1,[n,r]=(0,p.createSignal)((0,p.untrack)(()=>e.matched()[t]?.component));return(0,p.createEffect)(()=>{let o=e.matched()[t]?.component;r(()=>o)}),(0,p.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let c=(0,p.untrack)(()=>e.matched())[t];return xt(c,t,{matched:e.matched,params:e.params,location:e.location})})}function vt(e){return e==null?Ct():typeof e=="function"?(0,h.createComponent)(e,{}):e}function Ct(){let e=(0,h.createNativeElement)("div");(0,h.setAttribute)(e,"class","fx-not-found"),(0,h.setAttribute)(e,"role","main"),(0,h.setAttribute)(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=(0,h.createNativeElement)("h1");(0,h.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,h.insert)(t,"404");let n=(0,h.createNativeElement)("p");return(0,h.setAttribute)(n,"style","margin:0;opacity:.7"),(0,h.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function Q(e){let t=e.history??(0,I.createBrowserHistory)(),n=(0,I.createRouter)({routes:e.routes,base:e.base,history:t}),[r,o]=(0,p.createSignal)(n.state()),c=n.subscribe(o);(0,p.onCleanup)(()=>{c(),n.destroy()});let i=(0,p.createMemo)(()=>(r().match?.matched??[]).filter(f=>f.component)),l={router:n,location:(0,p.createMemo)(()=>r().location),params:(0,p.createMemo)(()=>r().match?.params??{})},u={depth:-1,matched:i,params:l.params,location:l.location,notFound:()=>vt(e.notFound)},T;return Ce.Provider({value:l,get children(){return T??=Tt(u)}})}var bt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function L(){let e=(0,R.useContext)(Ce);if(e)return e;if(typeof window>"u")return bt;throw new Error("[router-next] useRouter must be used within <Router>")}function He(){let e=L().params;return(0,p.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ue(){let{location:e}=L();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function Z(){let{router:e}=L();return(t,n)=>e.navigate(t,n)}var w=e=>typeof e=="function"?e():e;function ee(e){let t=(0,R.useContext)(Ce),n=typeof document>"u",r=()=>t?.router.navigate(w(e.href)??"",{replace:w(e.replace)}),o=(0,h.createNativeElement)("a");if((0,h.setAttribute)(o,"href",w(e.href)??""),e.slot&&(0,h.setAttribute)(o,"slot",w(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=w(e.className??e.class)??"";i&&(0,h.setAttribute)(o,"class",i)}typeof o.addEventListener=="function"&&(0,p.createEffect)(()=>{let i=w(e.href)??"";o.setAttribute("href",i);let l=w(e.className??e.class)??"",u=w(e.activeClass)??"",T=w(e.active)??t?.location().pathname===i;o.className=[l,T?u:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,h.insert)(o,c),o}var s=require("@fluixi/dom"),b=require("@fluixi/dom");var C=require("@fluixi/dom");var A=require("@fluixi/reactive/store"),ze="0.0.1",We="Fluixi";var Pt={createComponent:D,onMount:N,onUnmount:_,createEffect:a.createEffect,createMemo:a.createMemo,createSignal:a.createSignal,createContext:k,createRoot:a.createRoot,createDeferred:a.createDeferred,createComputed:a.createComputed,createRenderEffect:a.createRenderEffect,createSelector:K.createSelector,onCleanup:a.onCleanup,getOwner:a.getOwner,runWithOwner:a.runWithOwner,batch:a.batch,untrack:a.untrack,useContext:E,setOwner:a.setOwner,Router:Q,Link:ee,useRouter:L,useNavigate:Z,read:F.readSignal,reduce:F.reduceSignal,VERSION:ze,FRAMEWORK_NAME:We};M("fluixi element main");
|
|
1
|
+
"use strict";var ne=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var Ze=(e,t)=>{for(var n in t)ne(e,n,{get:t[n],enumerable:!0})},te=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ge(t))!Qe.call(e,o)&&o!==n&&ne(e,o,{get:()=>t[o],enumerable:!(r=Ye(t,o))||r.enumerable});return e},m=(e,t,n)=>(te(e,t,"default"),n&&te(n,t,"default"));var et=e=>te(ne({},"__esModule",{value:!0}),e);var y={};Ze(y,{$component:()=>z,Await:()=>pe,Dynamic:()=>C.Dynamic,ErrorBoundary:()=>C.ErrorBoundary,FRAMEWORK_NAME:()=>qe,For:()=>C.For,Index:()=>C.Index,Island:()=>b.Island,Link:()=>Q,Match:()=>C.Match,Portal:()=>C.Portal,Router:()=>Y,Show:()=>C.Show,Store:()=>R.Store,Suspense:()=>j,SuspenseList:()=>fe,Switch:()=>C.Switch,VERSION:()=>Be,addClass:()=>s.addClass,appendChildren:()=>s.appendChildren,batch:()=>a.batch,classMap:()=>b.classMap,cleanupDelegation:()=>De,clientOnly:()=>$e,closest:()=>s.closest,composeProviders:()=>ge,createComponent:()=>D,createComputed:()=>a.createComputed,createConsumer:()=>je,createContext:()=>k,createContextWithProvider:()=>_e,createDebounce:()=>H.createDebounce,createDeferred:()=>a.createDeferred,createEffect:()=>a.createEffect,createIsomorphicState:()=>he,createIsomorphicStore:()=>Ue,createMemo:()=>a.createMemo,createMemoryStorage:()=>ve,createProvider:()=>q,createRenderEffect:()=>a.createRenderEffect,createResource:()=>a.createResource,createRoot:()=>a.createRoot,createSelector:()=>H.createSelector,createSignal:()=>a.createSignal,createStore:()=>R.createStore,createTheme:()=>ze,default:()=>wt,delegate:()=>s.delegate,domCreateElement:()=>s.createElement,env:()=>K,getAttribute:()=>s.getAttribute,getOffset:()=>s.getOffset,getOwner:()=>a.getOwner,getStyle:()=>s.getStyle,hasClass:()=>s.hasClass,html:()=>ee.html,hydrateIslands:()=>b.hydrateIslands,initDelegation:()=>Me,isClient:()=>Te,isJSXElement:()=>le,isLitResult:()=>de,isNode:()=>ue,isRenderable:()=>Le,isServer:()=>xe,isVisible:()=>s.isVisible,lazy:()=>J,mergeProps:()=>b.mergeProps,observeIntersection:()=>s.observeIntersection,observeResize:()=>s.observeResize,onCleanup:()=>a.onCleanup,onMount:()=>N,onUnmount:()=>_,portal:()=>Ee,query:()=>s.query,queryAll:()=>s.queryAll,read:()=>F.readSignal,reduce:()=>F.reduceSignal,removeAttribute:()=>s.removeAttribute,removeChildren:()=>s.removeChildren,removeClass:()=>s.removeClass,render:()=>me,runWithOwner:()=>a.runWithOwner,scrollIntoView:()=>s.scrollIntoView,setAttribute:()=>s.setAttribute,setOwner:()=>a.setOwner,setStyles:()=>s.setStyles,splitProps:()=>b.splitProps,storage:()=>V,styleMap:()=>b.styleMap,svg:()=>ee.svg,toggleClass:()=>s.toggleClass,untrack:()=>a.untrack,untrackStore:()=>R.untrackStore,unwrap:()=>R.unwrap,useCallback:()=>ce,useContext:()=>E,useEffect:()=>W,useEventListener:()=>ae,useLocation:()=>Je,useMemo:()=>oe,useNavigate:()=>G,useParams:()=>We,useProvide:()=>Ve,useReducer:()=>ie,useRef:()=>se,useRouter:()=>L,waitForElement:()=>s.waitForElement});module.exports=et(y);var a=require("@fluixi/reactive/signal"),H=require("@fluixi/reactive/signal"),F=require("@fluixi/reactive/operators");var ke=require("@fluixi/reactive/signal"),O=require("@fluixi/dom");var $=require("@fluixi/dom"),u=require("@fluixi/reactive/signal");var re=Symbol.for("fluixi-lifecycle");function we(){let e=(0,u.getOwner)();if(!e)return null;if(!e[re]){let t={mounts:[],effects:[],scheduled:!1};e[re]=t}return e[re]}function Pe(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,u.getOwner)();queueMicrotask(()=>{if((0,u.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,u.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,u.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,u.createEffect)(()=>{r&&r(),r=n()}),(0,u.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function M(e){(0,$.registerCreateComponent)(D)}function D(e,t){return z(e,t)}function z(e,t){let n=typeof e=="function"?(0,u.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,u.isSignal)(n)){try{n.$name=e.name}catch{}return(0,$.asComponent)(n)}return n}function N(e,t=!0){let n=we();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Pe(n)}else{if(!t){e();return}(0,u.createEffect)(()=>{let r=(0,u.untrack)(e);typeof r=="function"&&(0,u.onCleanup)(r)})}}function _(e){(0,u.onCleanup)(e)}function W(e){let t=we();if(t)t.effects.push(e),Pe(t);else{let n;(0,u.createEffect)(()=>{n&&n(),n=e()}),(0,u.onCleanup)(()=>{n&&n()})}}function oe(e){return(0,u.createMemo)(e)}function se(e){let t={current:e};return(0,u.onCleanup)(()=>{t.current=null}),t}function ie(e,t){let[n,r]=(0,u.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function ae(e,t,n,r){W(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function ce(e){return e}var g=require("@fluixi/reactive/signal"),S=require("@fluixi/dom");function ue(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function de(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Re(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function le(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var Ae=(0,g.createContext)();function j(e){return(0,S.createComponent)(tt,e)}function tt(e){let t=(0,g.createSuspenseBoundary)(),n=(0,g.useContext)(Ae),r=n?n.register(t.inFallback):void 0;function o(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,S.isComponent)(f)&&!(0,g.isSignal)(f)?f():f}let c=(0,S.runWithoutHydration)(()=>o(e.fallback??null)),i=(0,g.provideSuspense)(t,()=>e.children);(0,g.provideSuspense)(t,()=>{(0,g.createRenderEffect)(()=>{let f=i;if(Array.isArray(f))for(let x of f)typeof x=="function"&&(0,g.isSignal)(x)&&x();else typeof f=="function"&&(0,g.isSignal)(f)&&f()})});let[l,d]=(0,g.createSignal)(void 0),T=Re(i);return T&&(t.increment(),i.then(f=>{d(()=>f),t.decrement()},()=>t.decrement())),(0,g.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:T?l():i)}function fe(e){return(0,S.createComponent)(nt,e)}function nt(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let i=r.every(l=>!l.inFallback());r.forEach(l=>{l.setShowContent(i),l.setShowFallback(!i)})}else{let i=t==="backwards"?[...r].reverse():r,l=!1;for(let d of i)l||d.inFallback()?(l=!0,d.setShowContent(!1),d.setShowFallback(n!=="hidden")):(d.setShowContent(!0),d.setShowFallback(!1))}}let c={register:i=>{let[l,d]=(0,g.createSignal)(!0),[T,f]=(0,g.createSignal)(!1);return r.push({inFallback:i,setShowContent:d,setShowFallback:f}),(0,g.createEffect)(()=>{i(),o()}),{showContent:l,showFallback:T}}};return Ae.Provider({value:c,children:e.children})}(0,S.asSuspense)(j);Object.defineProperty(j,"__suspense",{value:!0,enumerable:!0});var A=require("@fluixi/reactive/signal");function J(e,t){let n,r,o;function c(){return r||(r=e().then(l=>n=l.default)),r}t?.preload&&c();let i=(l=>{if(n){let d=n;return(0,A.untrack)(()=>d(l))}if(!o){let[d]=(0,A.createResource)(()=>c());if(o=d,d.error)throw d.error}return(0,A.createMemo)(()=>{let d=o();return d?(0,A.untrack)(()=>d(l)):void 0},void 0,{name:"lazy"})});return i.preload=()=>c().then(()=>{}),i.$lazy=!0,i.loader=e,i}var Oe=require("@fluixi/reactive/signal");function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=(0,Oe.createResource)(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var ye=typeof window>"u";function me(e,t,n={}){if(M("render"),(0,O.delegateEvents)(["click","input","change","submit"]),ye)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return(0,ke.createRoot)(o=>{r=o;let c=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,O.insert)(t,()=>c)}),()=>{r&&(r(),r=void 0)}}function rt(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ee(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=me(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Le(e){return!!(e==null||typeof e=="function"||(0,O.isDOMNode)(e)||rt(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Me(){ye||(0,O.delegateEvents)(["click","input","change","submit"])}function De(){}var Fe=require("@fluixi/dom"),B=require("@fluixi/reactive/signal"),Ne=require("@fluixi/reactive/signal");M("index");var Ie=!1;function ot(){Ie||(Ie=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function q(e,t,n){let r=!!e?.Provider,o=r?e:e.context,c=r?t:e.value,i=r?!1:e.debug??!1;r||ot();let l=typeof c=="function"?c():c,d=r?n:e;return o.Provider({value:l,get children(){return d?.children},debug:i})}function _e(e){let t=k(e);return[t,r=>q(t,r.value,r)]}function ge(e,t){if(e.length===0)return(0,Ne.readChildren)(()=>t);let[n,r]=e[0],o=e.slice(1);return q(n,r,{get children(){return ge(o,t)}})}function je(e){return t=>{let n=E(e);return t.children(n)}}function Ve(e,t){let n=E(e);return n===e.defaultValue?t():n}function k(e){let t=(0,B.createContext)(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,Fe.asProvider)(n),defaultValue:e}}function E(e){let t=(0,B.useContext)(e);return t!==void 0?t:e.defaultValue}var X=require("@fluixi/reactive/signal"),Ke=require("@fluixi/dom"),st="__fluixi_iso_states__",it="__iso:";function at(){return globalThis[st]??=new Map}function He(e){if(typeof window>"u")return;let t=(0,Ke.getServerData)();return t?t[it+e]:void 0}function he(e,t){let n=He(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,c]=(0,X.createSignal)(r);return at().set(e,{server:t.server,set:c}),{value:o,set:c,key:e}}function Ue(e,t){let n=He(e)!==void 0,r=he(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,c=x=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(x))}catch{}},i=x=>{r.set(x),c(x)},l=(x,U)=>{i({...o(),[x]:U})},d={};for(let x of Object.keys(t.fallback))d[x]=(0,X.createMemo)(()=>o()[x]);let T=null;return{value:o,fields:d,set:i,setField:l,ensureInit:()=>n||!t.client?Promise.resolve():(T||(T=Promise.resolve(t.client()).then(x=>{i(x)}).catch(x=>{throw T=null,x})),T),key:e}}var xe=typeof document>"u",Te=!xe;function ve(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var V=typeof localStorage<"u"?localStorage:ve(),K={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function $e(e,t){return Te?e():t}var Ce=require("@fluixi/reactive/signal");function ct(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function ze(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=ct(e.system),o=()=>{let v=V.getItem(t);return v&&e.themes.includes(v)?v:r&&K.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,i]=(0,Ce.createSignal)(o()),[l,d]=(0,Ce.createSignal)(!1),T=v=>{K.document?.documentElement.setAttribute(n,v);try{V.setItem(t,v)}catch{}},f=v=>{if(!e.themes.includes(v))return;let Xe=c();i(()=>v),T(v),e.onChange?.(v,Xe),e.load&&(d(!0),e.onLoading?.(v),Promise.resolve(e.load(v)).finally(()=>{d(!1),e.onLoaded?.(v)}))};return{value:c,isLoading:l,set:f,toggle:()=>{let v=e.themes.indexOf(c());f(e.themes[(v+1)%e.themes.length])},init:()=>T(c()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}m(y,require("@fluixi/utils"),module.exports);var p=require("@fluixi/reactive/signal"),h=require("@fluixi/dom"),P=require("@fluixi/reactive/signal"),pt=require("@fluixi/utils/object"),yt=require("@fluixi/utils/compare"),I=require("@fluixi/router"),Z=require("@fluixi/router");var be=require("@fluixi/reactive/signal");var ut=new Map;function dt(){ut.clear()}function lt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,c=o.nodeValue||"";(c.startsWith("#")||c.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),dt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(lt,100)});var[gn,hn]=(0,be.createSignal)(0);var ft=k(),xn=ft.Provider;var St=require("@fluixi/reactive/signal"),Se=(0,P.createContext)(),mt=(0,P.createContext)(),gt=(0,P.createContext)(),ht=(0,P.createContext)();function xt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let f=!1;(0,p.onCleanup)(()=>{f=!0});let x=(0,p.getOwner)(),[U]=(0,p.createResource)(()=>o({params:n.params,location:n.location},x,()=>f));r=U}let c=()=>ht.Provider({value:r,get children(){return gt.Provider({value:e.params,get children(){return mt.Provider({value:{depth:t,...n},get children(){return(0,h.createComponent)(e.component,{})}})}})}});if(!r)return c();let i=r,l=()=>i.loading,[d,T]=(0,p.createSignal)((0,p.untrack)(()=>!l()));return(0,p.createEffect)(()=>T(!l())),(0,p.createMemo)(()=>d()?c():null)}function Tt(e){let t=e.depth+1,[n,r]=(0,p.createSignal)((0,p.untrack)(()=>e.matched()[t]?.component));return(0,p.createEffect)(()=>{let o=e.matched()[t]?.component;r(()=>o)}),(0,p.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let c=(0,p.untrack)(()=>e.matched())[t];return xt(c,t,{matched:e.matched,params:e.params,location:e.location})})}function vt(e){return e==null?Ct():typeof e=="function"?(0,h.createComponent)(e,{}):e}function Ct(){let e=(0,h.createNativeElement)("div");(0,h.setAttribute)(e,"class","fx-not-found"),(0,h.setAttribute)(e,"role","main"),(0,h.setAttribute)(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=(0,h.createNativeElement)("h1");(0,h.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,h.insert)(t,"404");let n=(0,h.createNativeElement)("p");return(0,h.setAttribute)(n,"style","margin:0;opacity:.7"),(0,h.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function Y(e){let t=e.history??(0,I.createBrowserHistory)(),n=(0,I.createRouter)({routes:e.routes,base:e.base,history:t}),[r,o]=(0,p.createSignal)(n.state()),c=n.subscribe(o);(0,p.onCleanup)(()=>{c(),n.destroy()});let i=(0,p.createMemo)(()=>(r().match?.matched??[]).filter(f=>f.component)),l={router:n,location:(0,p.createMemo)(()=>r().location),params:(0,p.createMemo)(()=>r().match?.params??{})},d={depth:-1,matched:i,params:l.params,location:l.location,notFound:()=>vt(e.notFound)},T;return Se.Provider({value:l,get children(){return T??=Tt(d)}})}var bt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function L(){let e=(0,P.useContext)(Se);if(e)return e;if(typeof window>"u")return bt;throw new Error("[router-next] useRouter must be used within <Router>")}function We(){let e=L().params;return(0,p.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Je(){let{location:e}=L();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function G(){let{router:e}=L();return(t,n)=>e.navigate(t,n)}var w=e=>typeof e=="function"?e():e;function Q(e){let t=(0,P.useContext)(Se),n=typeof document>"u",r=()=>t?.router.navigate(w(e.href)??"",{replace:w(e.replace)}),o=(0,h.createNativeElement)("a");if((0,h.setAttribute)(o,"href",w(e.href)??""),e.slot&&(0,h.setAttribute)(o,"slot",w(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=w(e.className??e.class)??"";i&&(0,h.setAttribute)(o,"class",i)}typeof o.addEventListener=="function"&&(0,p.createEffect)(()=>{let i=w(e.href)??"";o.setAttribute("href",i);let l=w(e.className??e.class)??"",d=w(e.activeClass)??"",T=w(e.active)??t?.location().pathname===i;o.className=[l,T?d:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,h.insert)(o,c),o}var ee=require("@fluixi/dom"),s=require("@fluixi/dom"),b=require("@fluixi/dom");var C=require("@fluixi/dom");var R=require("@fluixi/reactive/store"),Be="0.0.1",qe="Fluixi";var wt={createComponent:D,onMount:N,onUnmount:_,createEffect:a.createEffect,createMemo:a.createMemo,createSignal:a.createSignal,createContext:k,createRoot:a.createRoot,createDeferred:a.createDeferred,createComputed:a.createComputed,createRenderEffect:a.createRenderEffect,createSelector:H.createSelector,onCleanup:a.onCleanup,getOwner:a.getOwner,runWithOwner:a.runWithOwner,batch:a.batch,untrack:a.untrack,useContext:E,setOwner:a.setOwner,Router:Y,Link:Q,useRouter:L,useNavigate:G,read:F.readSignal,reduce:F.reduceSignal,VERSION:Be,FRAMEWORK_NAME:qe};M("fluixi element main");
|
package/dist/src/lib/core.d.ts
CHANGED
|
@@ -35,14 +35,15 @@ export { isServer, isClient, storage, createMemoryStorage, env, clientOnly, } fr
|
|
|
35
35
|
export { createTheme, type Theme, type ThemeOptions } from './theme/index.js';
|
|
36
36
|
export * from '@fluixi/utils';
|
|
37
37
|
import { Link, Router, useNavigate, useRouter } from './router-next/index.js';
|
|
38
|
+
export { html, svg } from '@fluixi/dom';
|
|
39
|
+
export type { TemplateResult, Reactive } from '@fluixi/dom';
|
|
38
40
|
export { query, queryAll, closest, addClass, removeClass, toggleClass, hasClass, setAttribute, getAttribute, removeAttribute, setStyles, getStyle, createElement as domCreateElement, removeChildren, appendChildren, isVisible, scrollIntoView, getOffset, delegate, waitForElement, observeIntersection, observeResize, } from '@fluixi/dom';
|
|
39
41
|
export { classMap, styleMap, Island, hydrateIslands, type IslandProps, type IslandRegistry, mergeProps, splitProps, type ComponentFn, type ComponentChild, type ComponentOrElement, type FxComponent, type FxC, type FxParentProps, type FxParent, type FxVoidProps, type FxVoid, type FxFlowProps, type FxFlow, } from '@fluixi/dom';
|
|
40
42
|
export * from "./control-flow.js";
|
|
41
43
|
export { createStore, untrackStore, unwrap, Store } from '@fluixi/reactive/store';
|
|
42
44
|
export type { Accessor, Setter, Signal, SignalOptions, MemoOptions, Resource, } from '@fluixi/reactive/signal';
|
|
43
45
|
export type { ReadSignal } from '@fluixi/reactive/operators';
|
|
44
|
-
export { render, portal, isRenderable, initDelegation, cleanupDelegation, createComponent, onMount, onUnmount, useEffect, useRef, useReducer, useMemo, useEventListener, useCallback, lazy, Suspense, SuspenseList, isNode, isLitResult, isJSXElement, $component, type RenderOptions, type SuspenseProps, type SuspenseListProps, type LazyOptions, type Component, type ComponentProps, type LifecycleCallback, type LazyComponent, type RefObject, } from './render/index.js';
|
|
45
|
-
export type { $ShowProps, $MatchProps, $SwitchProps, $ForProps, $IndexProps, $PortalProps, $DynamicProps, $DynamicSwitchProps, } from '@fluixi/lit';
|
|
46
|
+
export { render, portal, isRenderable, initDelegation, cleanupDelegation, createComponent, onMount, onUnmount, useEffect, useRef, useReducer, useMemo, useEventListener, useCallback, lazy, Suspense, SuspenseList, Await, isNode, isLitResult, isJSXElement, $component, type RenderOptions, type SuspenseProps, type SuspenseListProps, type AwaitProps, type LazyOptions, type Component, type ComponentProps, type LifecycleCallback, type LazyComponent, type RefObject, } from './render/index.js';
|
|
46
47
|
export { Router, Link, useRouter, useLocation, useNavigate, useParams, } from './router-next/index.js';
|
|
47
48
|
export type { RouterLocation as Location, RouteDefinition, NavigateOptions, } from './router-next/index.js';
|
|
48
49
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,UAAU,IAAI,IAAI,EAClB,YAAY,IAAI,MAAM,EACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAEL,eAAe,EAEf,OAAO,EACP,SAAS,EAGV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,cAAc,oBAAoB,CAAC;AAInC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,GAAG,EACH,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9E,cAAc,eAAe,CAAC;AAI9B,OAAO,EACL,IAAI,EACJ,MAAM,EACN,WAAW,EACX,SAAS,EACV,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/core.js
CHANGED
|
@@ -52,16 +52,16 @@ export * from '@fluixi/utils';
|
|
|
52
52
|
// import { createResource } from './resources/index.js';
|
|
53
53
|
import { Link, Router, useNavigate, useRouter, } from './router-next/index.js';
|
|
54
54
|
import { ensureIntegration } from './render/component.js';
|
|
55
|
-
//
|
|
56
|
-
//
|
|
55
|
+
// html`` / svg`` template markers — the no-JSX authoring surface. They live in
|
|
56
|
+
// @fluixi/dom (compiled away by `format: 'lit'`/`both`); re-exported here so
|
|
57
|
+
// `import { html } from '@fluixi/core'` works. Inert typed functions — no lit runtime.
|
|
58
|
+
export { html, svg } from '@fluixi/dom';
|
|
57
59
|
// createReactiveJSX (a deprecated legacy adapter) lived here but pulled the jsx-runtime
|
|
58
60
|
// `.` entry into the core graph. It's gone — compiled JSX uses the jsx-runtime subpath
|
|
59
61
|
// directly, and nothing in the framework needs the adapter.
|
|
60
62
|
// Re-export reactive directives
|
|
61
63
|
export { query, queryAll, closest, addClass, removeClass, toggleClass, hasClass, setAttribute, getAttribute, removeAttribute, setStyles, getStyle, createElement as domCreateElement, removeChildren, appendChildren, isVisible, scrollIntoView, getOffset, delegate, waitForElement, observeIntersection, observeResize, } from '@fluixi/dom';
|
|
62
|
-
//
|
|
63
|
-
// import them from there. They are intentionally NOT re-exported here so the core
|
|
64
|
-
// entry stays lit-free (and out of server bundles).
|
|
64
|
+
// (No lit runtime exists anymore — html`` compiles to @fluixi/dom calls.)
|
|
65
65
|
// import {For as _For} from "@fluixi/dom"
|
|
66
66
|
// export interface ForProps<T, U = any> {
|
|
67
67
|
// /** Reactive array to iterate over — static, readonly, accessor, or signal. */
|
|
@@ -85,9 +85,15 @@ mergeProps, splitProps, } from '@fluixi/dom';
|
|
|
85
85
|
export * from "./control-flow.js";
|
|
86
86
|
// Re-export reactive primitives from @fluixi/reactive
|
|
87
87
|
export { createStore, untrackStore, unwrap, Store } from '@fluixi/reactive/store';
|
|
88
|
-
export { render, portal, isRenderable, initDelegation, cleanupDelegation, createComponent, onMount, onUnmount, useEffect, useRef, useReducer, useMemo, useEventListener, useCallback, lazy, Suspense, SuspenseList,
|
|
88
|
+
export { render, portal, isRenderable, initDelegation, cleanupDelegation, createComponent, onMount, onUnmount, useEffect, useRef, useReducer, useMemo, useEventListener, useCallback, lazy, Suspense, SuspenseList, Await,
|
|
89
89
|
// Show,
|
|
90
90
|
isNode, isLitResult, isJSXElement, $component, } from './render/index.js';
|
|
91
|
+
// export type {
|
|
92
|
+
// Component,
|
|
93
|
+
// ComponentProps,
|
|
94
|
+
// ComponentChild,
|
|
95
|
+
// LifecycleCallback,
|
|
96
|
+
// } from './core/index.js';
|
|
91
97
|
// Context API
|
|
92
98
|
// export {
|
|
93
99
|
// // createContext,
|
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 Vt,createMemo as Kt,createSignal as Ht,createResource as Yr,createRoot as Ut,createComputed as $t,createRenderEffect as zt,onCleanup as Wt,getOwner as Jt,runWithOwner as Bt,batch as qt,untrack as Xt,createDeferred as Yt,setOwner as Gt}from"@fluixi/reactive/signal";import{createDebounce as Qr,createSelector as Qt}from"@fluixi/reactive/signal";import{readSignal as Zt,reduceSignal as en}from"@fluixi/reactive/operators";import{createRoot as qe}from"@fluixi/reactive/signal";import{isDOMNode as Xe,delegateEvents as ye,insert as Ye}from"@fluixi/dom";import{registerCreateComponent as Oe,asComponent as ke}from"@fluixi/dom";import{untrack as q,onCleanup as m,getOwner as M,createEffect as S,createMemo as X,createSignal as Ee,isSignal as Le,batch as Me,runWithOwner as Y,isOwnerDisposed as De}from"@fluixi/reactive/signal";var L=Symbol.for("fluixi-lifecycle");function G(){let e=M();if(!e)return null;if(!e[L]){let t={mounts:[],effects:[],scheduled:!1};e[L]=t}return e[L]}function Q(e){if(e.scheduled)return;e.scheduled=!0;let t=M();queueMicrotask(()=>{if(De(t)){e.mounts=[],e.effects=[];return}Y(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&m(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;S(()=>{r&&r(),r=n()}),m(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function g(e){Oe(C)}function C(e,t){return D(e,t)}function D(e,t){let n=typeof e=="function"?q(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!Le(n)){try{n.$name=e.name}catch{}return ke(n)}return n}function w(e,t=!0){let n=G();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Q(n)}else{if(!t){e();return}S(()=>{let r=q(e);typeof r=="function"&&m(r)})}}function P(e){m(e)}function I(e){let t=G();if(t)t.effects.push(e),Q(t);else{let n;S(()=>{n&&n(),n=e()}),m(()=>{n&&n()})}}function Z(e){return X(e)}function ee(e){let t={current:e};return m(()=>{t.current=null}),t}function te(e,t){let[n,r]=Ee(t);return[n,i=>{r(e(n(),i))}]}function ne(e,t,n,r){I(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function re(e){return e}import{createSignal as N,createMemo as Ie,createEffect as Fe,createRenderEffect as Ne,isSignal as F,useContext as _e,createContext as je,createSuspenseBoundary as Ve,provideSuspense as oe}from"@fluixi/reactive/signal";import{asSuspense as Ke,isComponent as He,createComponent as se,runWithoutHydration as Ue}from"@fluixi/dom";function ie(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function ae(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function ce(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function ue(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var de=je();function R(e){return se($e,e)}function $e(e){let t=Ve(),n=_e(de),r=n?n.register(t.inFallback):void 0;function o(u){return u==null||typeof u=="boolean"?null:typeof u=="function"&&He(u)&&!F(u)?u():u}let i=Ue(()=>o(e.fallback??null)),s=oe(t,()=>e.children);oe(t,()=>{Ne(()=>{let u=s;if(Array.isArray(u))for(let d of u)typeof d=="function"&&F(d)&&d();else typeof u=="function"&&F(u)&&u()})});let[c,a]=N(void 0),l=ce(s);return l&&(t.increment(),s.then(u=>{a(()=>u),t.decrement()},()=>t.decrement())),Ie(()=>(r?r.showFallback():t.inFallback())?i:l?c():s)}function le(e){return se(ze,e)}function ze(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(c=>!c.inFallback());r.forEach(c=>{c.setShowContent(s),c.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,c=!1;for(let a of s)c||a.inFallback()?(c=!0,a.setShowContent(!1),a.setShowFallback(n!=="hidden")):(a.setShowContent(!0),a.setShowFallback(!1))}}let i={register:s=>{let[c,a]=N(!0),[l,u]=N(!1);return r.push({inFallback:s,setShowContent:a,setShowFallback:u}),Fe(()=>{s(),o()}),{showContent:c,showFallback:l}}};return de.Provider({value:i,children:e.children})}Ke(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as fe,createMemo as We,createResource as Je}from"@fluixi/reactive/signal";function _(e,t){let n,r,o;function i(){return r||(r=e().then(c=>n=c.default)),r}t?.preload&&i();let s=(c=>{if(n){let a=n;return fe(()=>a(c))}if(!o){let[a]=Je(()=>i());if(o=a,a.error)throw a.error}return We(()=>{let a=o();return a?fe(()=>a(c)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}import{createResource as Be}from"@fluixi/reactive/signal";function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=Be(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var j=typeof window>"u";function me(e,t,n={}){if(g("render"),ye(["click","input","change","submit"]),j)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return qe(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Ye(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Ge(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Qe(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=me(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Ze(e){return!!(e==null||typeof e=="function"||Xe(e)||Ge(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function et(){j||ye(["click","input","change","submit"])}function tt(){}import{asProvider as nt}from"@fluixi/dom";import{createContext as rt,useContext as ot}from"@fluixi/reactive/signal";import{readChildren as st}from"@fluixi/reactive/signal";g("index");var ge=!1;function it(){ge||(ge=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function V(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||it();let c=typeof i=="function"?i():i,a=r?n:e;return o.Provider({value:c,get children(){return a?.children},debug:s})}function at(e){let t=h(e);return[t,r=>V(t,r.value,r)]}function he(e,t){if(e.length===0)return st(()=>t);let[n,r]=e[0],o=e.slice(1);return V(n,r,{get children(){return he(o,t)}})}function ct(e){return t=>{let n=x(e);return t.children(n)}}function ut(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=rt(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:nt(n),defaultValue:e}}function x(e){let t=ot(e);return t!==void 0?t:e.defaultValue}import{createSignal as dt,createMemo as lt}from"@fluixi/reactive/signal";import{getServerData as ft}from"@fluixi/dom";var pt="__fluixi_iso_states__",yt="__iso:";function mt(){return globalThis[pt]??=new Map}function xe(e){if(typeof window>"u")return;let t=ft();return t?t[yt+e]:void 0}function Te(e,t){let n=xe(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=dt(r);return mt().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function gt(e,t){let n=xe(e)!==void 0,r=Te(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=d=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(d))}catch{}},s=d=>{r.set(d),i(d)},c=(d,b)=>{s({...o(),[d]:b})},a={};for(let d of Object.keys(t.fallback))a[d]=lt(()=>o()[d]);let l=null;return{value:o,fields:a,set:s,setField:c,ensureInit:()=>n||!t.client?Promise.resolve():(l||(l=Promise.resolve(t.client()).then(d=>{s(d)}).catch(d=>{throw l=null,d})),l),key:e}}var ve=typeof document>"u",Ce=!ve;function be(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var A=typeof localStorage<"u"?localStorage:be(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function ht(e,t){return Ce?e():t}import{createSignal as Se}from"@fluixi/reactive/signal";function xt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Tt(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=xt(e.system),o=()=>{let f=A.getItem(t);return f&&e.themes.includes(f)?f:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=Se(o()),[c,a]=Se(!1),l=f=>{O.document?.documentElement.setAttribute(n,f);try{A.setItem(t,f)}catch{}},u=f=>{if(!e.themes.includes(f))return;let Ae=i();s(()=>f),l(f),e.onChange?.(f,Ae),e.load&&(a(!0),e.onLoading?.(f),Promise.resolve(e.load(f)).finally(()=>{a(!1),e.onLoaded?.(f)}))};return{value:i,isLoading:c,set:u,toggle:()=>{let f=e.themes.indexOf(i());u(e.themes[(f+1)%e.themes.length])},init:()=>l(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}export*from"@fluixi/utils";import{createSignal as U,createMemo as T,createResource as Pt,createEffect as $,getOwner as Rt,onCleanup as we,untrack as K}from"@fluixi/reactive/signal";import{insert as H,createComponent as Pe,createNativeElement as k,setAttribute as y}from"@fluixi/dom";import{createContext as E,useContext as Re}from"@fluixi/reactive/signal";import{get as Sr}from"@fluixi/utils/object";import{deepEqual as Pr}from"@fluixi/utils/compare";import{createRouter as At,createBrowserHistory as Ot,matchRoutes as Ar,matchPath as Or}from"@fluixi/router";import{createMemoryHistory as Lr,createBrowserHistory as Mr,matchRoutes as Dr,matchPath as Ir}from"@fluixi/router";import{createResource as sr,createSignal as St}from"@fluixi/reactive/signal";var vt=new Map;function Ct(){vt.clear()}function bt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,i=o.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),Ct()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(bt,100)});var[ur,dr]=St(0);var wt=h(),lr=wt.Provider;import{runWithOwner as jr}from"@fluixi/reactive/signal";var z=E(),kt=E(),Et=E(),Lt=E();function Mt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let u=!1;we(()=>{u=!0});let d=Rt(),[b]=Pt(()=>o({params:n.params,location:n.location},d,()=>u));r=b}let i=()=>Lt.Provider({value:r,get children(){return Et.Provider({value:e.params,get children(){return kt.Provider({value:{depth:t,...n},get children(){return Pe(e.component,{})}})}})}});if(!r)return i();let s=r,c=()=>s.loading,[a,l]=U(K(()=>!c()));return $(()=>l(!c())),T(()=>a()?i():null)}function Dt(e){let t=e.depth+1,[n,r]=U(K(()=>e.matched()[t]?.component));return $(()=>{let o=e.matched()[t]?.component;r(()=>o)}),T(()=>{if(!n())return e.notFound?e.notFound():null;let i=K(()=>e.matched())[t];return Mt(i,t,{matched:e.matched,params:e.params,location:e.location})})}function It(e){return e==null?Ft():typeof e=="function"?Pe(e,{}):e}function Ft(){let e=k("div");y(e,"class","fx-not-found"),y(e,"role","main"),y(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=k("h1");y(t,"style","margin:0;font-size:2.5rem;font-weight:700"),H(t,"404");let n=k("p");return y(n,"style","margin:0;opacity:.7"),H(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function W(e){let t=e.history??Ot(),n=At({routes:e.routes,base:e.base,history:t}),[r,o]=U(n.state()),i=n.subscribe(o);we(()=>{i(),n.destroy()});let s=T(()=>(r().match?.matched??[]).filter(u=>u.component)),c={router:n,location:T(()=>r().location),params:T(()=>r().match?.params??{})},a={depth:-1,matched:s,params:c.params,location:c.location,notFound:()=>It(e.notFound)},l;return z.Provider({value:c,get children(){return l??=Dt(a)}})}var Nt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=Re(z);if(e)return e;if(typeof window>"u")return Nt;throw new Error("[router-next] useRouter must be used within <Router>")}function _t(){let e=v().params;return T(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function jt(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function J(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var p=e=>typeof e=="function"?e():e;function B(e){let t=Re(z),n=typeof document>"u",r=()=>t?.router.navigate(p(e.href)??"",{replace:p(e.replace)}),o=k("a");if(y(o,"href",p(e.href)??""),e.slot&&y(o,"slot",p(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=p(e.className??e.class)??"";s&&y(o,"class",s)}typeof o.addEventListener=="function"&&$(()=>{let s=p(e.href)??"";o.setAttribute("href",s);let c=p(e.className??e.class)??"",a=p(e.activeClass)??"",l=p(e.active)??t?.location().pathname===s;o.className=[c,l?a:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&H(o,i),o}import{html as po,svg as yo}from"@fluixi/dom";import{query as go,queryAll as ho,closest as xo,addClass as To,removeClass as vo,toggleClass as Co,hasClass as bo,setAttribute as So,getAttribute as wo,removeAttribute as Po,setStyles as Ro,getStyle as Ao,createElement as Oo,removeChildren as ko,appendChildren as Eo,isVisible as Lo,scrollIntoView as Mo,getOffset as Do,delegate as Io,waitForElement as Fo,observeIntersection as No,observeResize as _o}from"@fluixi/dom";import{classMap as Vo,styleMap as Ko,Island as Ho,hydrateIslands as Uo,mergeProps as $o,splitProps as zo}from"@fluixi/dom";import{Show as Hr,For as Ur,Index as $r,Switch as zr,Match as Wr,Dynamic as Jr,ErrorBoundary as Br,Portal as qr}from"@fluixi/dom";import{createStore as Bo,untrackStore as qo,unwrap as Xo,Store as Yo}from"@fluixi/reactive/store";var tn="0.0.1",nn="Fluixi";var oo={createComponent:C,onMount:w,onUnmount:P,createEffect:Vt,createMemo:Kt,createSignal:Ht,createContext:h,createRoot:Ut,createDeferred:Yt,createComputed:$t,createRenderEffect:zt,createSelector:Qt,onCleanup:Wt,getOwner:Jt,runWithOwner:Bt,batch:qt,untrack:Xt,useContext:x,setOwner:Gt,Router:W,Link:B,useRouter:v,useNavigate:J,read:Zt,reduce:en,VERSION:tn,FRAMEWORK_NAME:nn};g("fluixi element main");export{D as $component,pe as Await,Jr as Dynamic,Br as ErrorBoundary,nn as FRAMEWORK_NAME,Ur as For,$r as Index,Ho as Island,B as Link,Wr as Match,qr as Portal,W as Router,Hr as Show,Yo as Store,R as Suspense,le as SuspenseList,zr as Switch,tn as VERSION,To as addClass,Eo as appendChildren,qt as batch,Vo as classMap,tt as cleanupDelegation,ht as clientOnly,xo as closest,he as composeProviders,C as createComponent,$t as createComputed,ct as createConsumer,h as createContext,at as createContextWithProvider,Qr as createDebounce,Yt as createDeferred,Vt as createEffect,Te as createIsomorphicState,gt as createIsomorphicStore,Kt as createMemo,be as createMemoryStorage,V as createProvider,zt as createRenderEffect,Yr as createResource,Ut as createRoot,Qt as createSelector,Ht as createSignal,Bo as createStore,Tt as createTheme,oo as default,Io as delegate,Oo as domCreateElement,O as env,wo as getAttribute,Do as getOffset,Jt as getOwner,Ao as getStyle,bo as hasClass,po as html,Uo as hydrateIslands,et as initDelegation,Ce as isClient,ue as isJSXElement,ae as isLitResult,ie as isNode,Ze as isRenderable,ve as isServer,Lo as isVisible,_ as lazy,$o as mergeProps,No as observeIntersection,_o as observeResize,Wt as onCleanup,w as onMount,P as onUnmount,Qe as portal,go as query,ho as queryAll,Zt as read,en as reduce,Po as removeAttribute,ko as removeChildren,vo as removeClass,me as render,Bt as runWithOwner,Mo as scrollIntoView,So as setAttribute,Gt as setOwner,Ro as setStyles,zo as splitProps,A as storage,Ko as styleMap,yo as svg,Co as toggleClass,Xt as untrack,qo as untrackStore,Xo as unwrap,re as useCallback,x as useContext,I as useEffect,ne as useEventListener,jt as useLocation,Z as useMemo,J as useNavigate,_t as useParams,ut as useProvide,te as useReducer,ee as useRef,v as useRouter,Fo as waitForElement};
|
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(()=>{if((0,r.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(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":"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"}
|
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 vn,createMemo as Cn,createSignal as Tn,createResource as hn,createRoot as Sn,createComputed as bn,createRenderEffect as Pn,onCleanup as gn,getOwner as wn,runWithOwner as En,batch as kn,untrack as Rn,createDeferred as On,setOwner as Ln}from"@fluixi/reactive/signal";import{createDebounce as _n,createSelector as Mn}from"@fluixi/reactive/signal";import{readSignal as Fn,reduceSignal as jn}from"@fluixi/reactive/operators";import{createStore as Un,untrackStore as $n,Store as zn}from"@fluixi/reactive/store";import{createRoot as Ee}from"@fluixi/reactive/signal";import{isDOMNode as ke,delegateEvents as q,insert as Re}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,isOwnerDisposed as fe}from"@fluixi/reactive/signal";var pe={context:null,owner:null};function N(){return pe}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(()=>{if(fe(t)){e.mounts=[],e.effects=[];return}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 de,createMemo as le,createEffect as vt,createRenderEffect as me,isSignal as _,useContext as ye,createContext as xe,createSuspenseBoundary as ve,provideSuspense as X}from"@fluixi/reactive/signal";import{asSuspense as Ce,isComponent as Te,createComponent as he,runWithoutHydration as Se}from"@fluixi/dom";function B(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var be=xe();function w(e){return he(Pe,e)}function Pe(e){let t=ve(),n=ye(be),o=n?n.register(t.inFallback):void 0;function r(i){return i==null||typeof i=="boolean"?null:typeof i=="function"&&Te(i)&&!_(i)?i():i}let s=Se(()=>r(e.fallback??null)),c=X(t,()=>e.children);X(t,()=>{me(()=>{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]=de(void 0),F=B(c);return F&&(t.increment(),c.then(i=>{a(()=>i),t.decrement()},()=>t.decrement())),le(()=>(o?o.showFallback():t.inFallback())?s:F?u():c)}Ce(w);Object.defineProperty(w,"__suspense",{value:!0,enumerable:!0});import{untrack as H,createMemo as ge,createResource as we}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]=we(()=>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}import{createResource as gt}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 Ee(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 Ae(e){return!!(e==null||typeof e=="function"||ke(e)||Oe(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function _e(){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";d("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=y(e);return t.children(n)}}function Ne(e,t){let n=y(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 y(e){let t=je(e);return t!==void 0?t:e.defaultValue}import{createSignal as Ke,createMemo as Yt}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 Jn,styleMap as Xn}from"@fluixi/dom";import{Show as en,For as tn,Index as nn,Switch as on,Match as rn,Dynamic as sn,ErrorBoundary as an,Portal as cn}from"@fluixi/dom";import{insert as Yn,spread as qn,setAttribute as Gn,setProperty as Qn,addClass as Zn,removeClass as eo,toggleClass as to,delegateEvents as no,isDOMNode as oo,isLitTemplateResult as ro,hydrate as so}from"@fluixi/dom";var p={};D(p,un);import*as un 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 mn={createSignal:qe,createEffect:Ge,createMemo:Qe,createRoot:Ze,batch:et,untrack:tt,onCleanup:nt,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:Ye};d("index");var export_Fragment=p.Fragment;var export_jsx=p.jsx;var export_jsxs=p.jsxs;export{A as $component,v as DEV,sn as Dynamic,an as ErrorBoundary,ee as FRAMEWORK_NAME,tn as For,export_Fragment as Fragment,nn as Index,rn as Match,cn as Portal,en as Show,zn as Store,w as Suspense,on as Switch,Z as VERSION,Zn as addClass,kn as batch,Jn as classMap,Me as cleanupDelegation,Q as composeProviders,l as createComponent,bn as createComputed,ze as createConsumer,k as createContext,$e as createContextWithProvider,_n as createDebounce,On as createDeferred,vn as createEffect,He as createIsomorphicState,Cn as createMemo,I as createProvider,Pn as createRenderEffect,hn as createResource,Sn as createRoot,Mn as createSelector,Tn as createSignal,Un as createStore,mn as default,no as delegateEvents,J as devOnly,Ye as getFrameworkInfo,wn as getOwner,N as getSharedConfig,so as hydrate,_e as initDelegation,Yn as insert,oo as isDOMNode,W as isDev,ro as isLitTemplateResult,Ae as isRenderable,export_jsx as jsx,export_jsxs as jsxs,Y as lazy,gn as onCleanup,C as onMount,T as onUnmount,Le as portal,Fn as read,jn as reduce,eo as removeClass,E as render,En as runWithOwner,Gn as setAttribute,Ln as setOwner,Qn as setProperty,qn as spread,Xn as styleMap,to as toggleClass,Rn as untrack,$n as untrackStore,g as useCallback,y as useContext,m as useEffect,P as useEventListener,h as useMemo,Ne 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 f=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var E=(e,
|
|
1
|
+
"use strict";var f=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var E=(e,t)=>{for(var o in t)f(e,o,{get:t[o],enumerable:!0})},O=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of C(t))!T.call(e,c)&&c!==o&&f(e,c,{get:()=>t[c],enumerable:!(r=m(t,c))||r.enumerable});return e};var w=e=>O(f({},"__esModule",{value:!0}),e);var K={};E(K,{$component:()=>v,DEV:()=>a,batch:()=>n.batch,createComponent:()=>l,createEffect:()=>n.createEffect,createMemo:()=>n.createMemo,devOnly:()=>W,ensureIntegration:()=>L,getContextOwner:()=>b,getOwner:()=>n.getOwner,getSharedConfig:()=>h,hasLifecycleContext:()=>D,isDev:()=>_,onCleanup:()=>n.onCleanup,onMount:()=>R,onUnmount:()=>S,runWithOwner:()=>n.runWithOwner,setOwner:()=>g,useCallback:()=>k,useEffect:()=>y,useEventListener:()=>j,useMemo:()=>A,useReducer:()=>U,useRef:()=>M});module.exports=w(K);var u=require("@fluixi/dom"),n=require("@fluixi/reactive/signal"),i={context:null,owner:null};function h(){return i}function g(e){i.owner=e,i.context=e}function b(){return i.context||i.owner}var a=typeof process<"u"&&!1,s=Symbol.for("fluixi-lifecycle");function p(){let e=(0,n.getOwner)();if(!e)return null;if(!e[s]){let t={mounts:[],effects:[],scheduled:!1};e[s]=t}return e[s]}function d(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,n.getOwner)();queueMicrotask(()=>{if((0,n.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,n.runWithOwner)(t,()=>{for(let o of e.mounts)try{let r=o();typeof r=="function"&&(0,n.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let o of e.effects){let r;(0,n.createEffect)(()=>{r&&r(),r=o()}),(0,n.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function L(e){(0,u.registerCreateComponent)(l)}function l(e,t){return v(e,t)}function v(e,t){let o=typeof e=="function"?(0,n.untrack)(()=>e(t)):e;if(o!=null&&(typeof o=="function"||typeof o=="object")&&!(0,n.isSignal)(o)){try{o.$name=e.name}catch{}return(0,u.asComponent)(o)}return o}function R(e,t=!0){let o=p();if(o){if(!t){o.scheduled||e();return}o.mounts.push(e),d(o)}else{if(!t){e();return}(0,n.createEffect)(()=>{let r=(0,n.untrack)(e);typeof r=="function"&&(0,n.onCleanup)(r)})}}function S(e){(0,n.onCleanup)(e)}function y(e){let t=p();if(t)t.effects.push(e),d(t);else{let o;(0,n.createEffect)(()=>{o&&o(),o=e()}),(0,n.onCleanup)(()=>{o&&o()})}}function A(e){return(0,n.createMemo)(e)}function M(e){let t={current:e};return(0,n.onCleanup)(()=>{t.current=null}),t}function U(e,t){let[o,r]=(0,n.createSignal)(t);return[o,x=>{r(e(o(),x))}]}function j(e,t,o,r){y(()=>{let c=e&&"current"in e?e.current:e;if(c)return c.addEventListener(t,o,r),()=>{c.removeEventListener(t,o,r)}})}function k(e){return e}function D(){return(0,n.getOwner)()!==null}function _(){return a}function W(e){a&&e()}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../src/lib/render/component.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EAGV,KAAK,EAEL,YAAY,
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../src/lib/render/component.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EAGV,KAAK,EAEL,YAAY,EASb,MAAM,yBAAyB,CAAC;AAKjC,KAAK,KAAK,GAAG,GAAG,CAAC;AAMjB,UAAU,YAAY;IACpB,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAOD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAGlD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,KAAK,GAAG,IAAI,CAE9C;AAMD;;GAEG;AACH,eAAO,MAAM,GAAG,SAC2D,CAAC;AAM5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC;CACZ;AA2FD,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AAYH,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,EACrE,IAAI,EAAE,CAAC,EACP,KAAK,CAAC,EAAE,CAAC,GACR,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAKjC;AAID,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,mCAyBtF;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,GAAE,OAAc,GAAG,IAAI,CAyB7E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE9C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC;AAMrB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAmBnE;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAI/C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CASvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EACnC,YAAY,EAAE,CAAC,GACd,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,CAQhC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,cAAc,EAC7D,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,QAAQ,EACvE,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,EAC3C,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,CAAC;AA0BR;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAI7E;AAED;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC;AAOxB;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAG/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAI5C;AAED,YAAY,EAAE,SAAS,EACrB,cAAc,EAAC,MAAM,aAAa,CAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* the reactive system, rendering in render/index.ts, and SSR in server/.
|
|
4
4
|
*/
|
|
5
5
|
import { registerCreateComponent, asComponent, } from '@fluixi/dom';
|
|
6
|
-
import { untrack, onCleanup, getOwner, createEffect, createMemo, createSignal, isSignal, batch, runWithOwner, } from '@fluixi/reactive/signal';
|
|
6
|
+
import { untrack, onCleanup, getOwner, createEffect, createMemo, createSignal, isSignal, batch, runWithOwner, isOwnerDisposed, } from '@fluixi/reactive/signal';
|
|
7
7
|
const sharedConfig = {
|
|
8
8
|
context: null,
|
|
9
9
|
owner: null,
|
|
@@ -74,6 +74,15 @@ function scheduleLifecycleFlush(lc) {
|
|
|
74
74
|
// Capture the owner now; by microtask time it will have been restored.
|
|
75
75
|
const owner = getOwner();
|
|
76
76
|
queueMicrotask(() => {
|
|
77
|
+
// The scope may have been torn down before this microtask ran (e.g. a <Portal>
|
|
78
|
+
// inside a <Show> that closed synchronously). Running mount/effect callbacks on a
|
|
79
|
+
// dead owner would re-attach listeners/effects whose cleanup never fires — a leak.
|
|
80
|
+
// Match Solid: an unmounted component's onMount simply does not run.
|
|
81
|
+
if (isOwnerDisposed(owner)) {
|
|
82
|
+
lc.mounts = [];
|
|
83
|
+
lc.effects = [];
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
77
86
|
runWithOwner(owner, () => {
|
|
78
87
|
// 1. Run ALL onMount callbacks first
|
|
79
88
|
for (const cb of lc.mounts) {
|