@fluixi/core 1.0.0-alpha.55 → 1.0.0-alpha.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/core.global.js +1 -3
- package/dist/src/cdn/core.cjs +1 -1
- package/dist/src/cdn/core.mjs +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/lib/client/index.cjs +1 -1
- package/dist/src/lib/client/index.d.ts.map +1 -1
- package/dist/src/lib/client/index.js +0 -3
- package/dist/src/lib/client/index.mjs +1 -1
- package/dist/src/lib/core.cjs +1 -1
- package/dist/src/lib/core.d.ts +3 -2
- package/dist/src/lib/core.d.ts.map +1 -1
- package/dist/src/lib/core.js +12 -6
- package/dist/src/lib/core.mjs +1 -1
- package/dist/src/lib/index.cjs +1 -1
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +1 -10
- package/dist/src/lib/index.mjs +1 -1
- package/dist/src/lib/render/await.cjs +1 -0
- package/dist/src/lib/render/await.d.ts +8 -0
- package/dist/src/lib/render/await.d.ts.map +1 -0
- package/dist/src/lib/render/await.js +27 -0
- package/dist/src/lib/render/await.mjs +1 -0
- package/dist/src/lib/render/index.cjs +1 -1
- package/dist/src/lib/render/index.d.ts +3 -6
- package/dist/src/lib/render/index.d.ts.map +1 -1
- package/dist/src/lib/render/index.js +3 -13
- package/dist/src/lib/render/index.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +9 -12
- package/dist/src/lib/directives/lit.cjs +0 -1
- package/dist/src/lib/directives/lit.d.ts +0 -2
- package/dist/src/lib/directives/lit.d.ts.map +0 -1
- package/dist/src/lib/directives/lit.js +0 -31
- package/dist/src/lib/directives/lit.mjs +0 -0
package/dist/src/cdn/core.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as
|
|
1
|
+
import{A as j,H as B,I as W,J as q,K as V,L as G,N as Q,P as Z,Q as ee,S as te,T as re,V as ne,W as oe,Z as se,_ as ie,a as _,b as E,c as k,d as u,e as d,f as R,g as m,h as y,i as S,j as h,k as x,l as b,m as T,n as w,o as L,p as A,q as M,r as $,s as z,t as U,u as J,v as Y,w as O,x as I,y as C,z as F}from"./chunk-PFM5O5UE.mjs";import{createEffect as Wt,createMemo as qt,createSignal as Vt,createResource as Gt,createRoot as Qt,createComputed as Zt,createRenderEffect as er,onCleanup as tr,getOwner as rr,runWithOwner as nr,batch as or,untrack as sr,createDeferred as ir,setOwner as ar}from"@fluixi/reactive/signal";import{createDebounce as ur,createSelector as fr}from"@fluixi/reactive/signal";import{readSignal as lr,reduceSignal as dr}from"@fluixi/reactive/operators";import{createStore as yr,untrackStore as Sr,Store as hr}from"@fluixi/reactive/store";import{createRoot as be}from"@fluixi/reactive/signal";import{isDOMNode as Te,delegateEvents as N,insert as we}from"@fluixi/dom";import{createSignal as ae,createMemo as ce,createEffect as Ye,createRenderEffect as ue,isSignal as P,useContext as fe,createContext as pe,createSuspenseBoundary as le,provideSuspense as D}from"@fluixi/reactive/signal";import{asSuspense as de,isComponent as me,createComponent as ye,runWithoutHydration as Se}from"@fluixi/dom";function H(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var he=pe();function p(e){return ye(xe,e)}function xe(e){let t=le(),n=fe(he),r=n?n.register(t.inFallback):void 0;function s(o){return o==null||typeof o=="boolean"?null:typeof o=="function"&&me(o)&&!P(o)?o():o}let i=Se(()=>s(e.fallback??null)),c=D(t,()=>e.children);D(t,()=>{ue(()=>{let o=c;if(Array.isArray(o))for(let l of o)typeof l=="function"&&P(l)&&l();else typeof o=="function"&&P(o)&&o()})});let[X,K]=ae(void 0),v=H(c);return v&&(t.increment(),c.then(o=>{K(()=>o),t.decrement()},()=>t.decrement())),ce(()=>(r?r.showFallback():t.inFallback())?i:v?X():c)}de(p);Object.defineProperty(p,"__suspense",{value:!0,enumerable:!0});import{createResource as Ve}from"@fluixi/reactive/signal";var g=typeof window>"u";function f(e,t,n={}){if(u("render"),N(["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 r;return be(s=>{r=s;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),we(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Ce(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Pe(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let s=f(e,r,n);return()=>{s(),t.contains(r)&&t.removeChild(r)}}function ge(e){return!!(e==null||typeof e=="function"||Te(e)||Ce(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ve(){g||N(["click","input","change","submit"])}function _e(){}import{createSignal as Ee,createMemo as Tt}from"@fluixi/reactive/signal";import{getServerData as ke}from"@fluixi/dom";var Re="__fluixi_iso_states__",Le="__iso:";function Ae(){return globalThis[Re]??=new Map}function Me(e){if(typeof window>"u")return;let t=ke();return t?t[Le+e]:void 0}function Oe(e,t){let n=Me(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[s,i]=Ee(r);return Ae().set(e,{server:t.server,set:i}),{value:s,set:i,key:e}}import{classMap as Cr,styleMap as Pr}from"@fluixi/dom";import{Show as vt,For as _t,Index as Et,Switch as kt,Match as Rt,Dynamic as Lt,ErrorBoundary as At,Portal as Mt}from"@fluixi/dom";import{insert as _r,spread as Er,setAttribute as kr,setProperty as Rr,addClass as Lr,removeClass as Ar,toggleClass as Mr,delegateEvents as Or,isDOMNode as Ir,isLitTemplateResult as Fr,hydrate as jr}from"@fluixi/dom";var a={};_(a,Ot);import*as Ot from"@fluixi/jsx/jsx-runtime";import{createSignal as jt,createEffect as Dt,createMemo as Ht,createRoot as Nt,batch as Xt,untrack as Kt,onCleanup as $t}from"@fluixi/reactive/signal";var Ie="0.0.1",Fe="Fluixi";function It(){return{name:Fe,version:Ie,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}u("index");import{render as je,hydrate as De}from"@fluixi/dom";import{createHead as He,setActiveHead as Ne,mountHead as Xe,stripHeadMarker as Ke}from"@fluixi/head";import{hydrate as Jr}from"@fluixi/dom";u("client index");function $e(e,t){if(!t)throw new Error("Container element not found for mount()");je(()=>e(),t)}async function ze(e,t={}){let n=typeof t.root=="string"?document.querySelector(t.root):t.root??document.querySelector("#app");if(!n)throw new Error(`[Fluixi] Mount container not found: ${t.root??"#app"}`);let r=!!document.getElementById("__FLUIXI_HYDRATION__")||!!t.routes&&n.firstElementChild!=null,s=t.hydrate??r,i=He();if(Ne(i),Ke(n),s){if(t.routes&&t.routes.length){let{preloadRoutes:c}=await import("./router-next-WNWCFVC2.mjs");await c(t.routes,window.location.pathname)}F(),C(!0),De(()=>e(),n),Ue(),setTimeout(()=>{C(!1),j()},100)}else f(()=>e(),n);Xe(i)}function Ue(){if(typeof window>"u")return;let e=window;typeof e.__FX_REPLAY_STOP__=="function"&&e.__FX_REPLAY_STOP__();let t=e.__FX_REPLAY__;if(e.__FX_REPLAY__=void 0,e.__FX_REPLAY_STOP__=void 0,!(!Array.isArray(t)||t.length===0))for(let n of t){let r=n&&n.target;if(!r||r.isConnected===!1||typeof r.dispatchEvent!="function")continue;let s=n.type,i=s==="click"?new MouseEvent(s,{bubbles:!0,cancelable:!0}):new Event(s,{bubbles:!0,cancelable:!0});r.dispatchEvent(i)}}var export_Fragment=a.Fragment;var export_jsx=a.jsx;var export_jsxs=a.jsxs;export{R as $component,oe as A,k as DEV,Lt as Dynamic,At as ErrorBoundary,Fe as FRAMEWORK_NAME,_t as For,export_Fragment as Fragment,Et as Index,ne as Link,Rt as Match,W as Outlet,Mt as Portal,q as Redirect,B as Router,vt as Show,hr as Store,p as Suspense,kt as Switch,Ie as VERSION,Lr as addClass,or as batch,Cr as classMap,_e as cleanupDelegation,U as composeProviders,ie as createBrowserHistory,d as createComponent,Zt as createComputed,J as createConsumer,O as createContext,z as createContextWithProvider,ur as createDebounce,ir as createDeferred,Wt as createEffect,Oe as createIsomorphicState,qt as createMemo,se as createMemoryHistory,$ as createProvider,er as createRenderEffect,Gt as createResource,Qt as createRoot,fr as createSelector,Vt as createSignal,yr as createStore,Or as delegateEvents,A as devOnly,It as getFrameworkInfo,rr as getOwner,E as getSharedConfig,jr as hydrate,ve as initDelegation,_r as insert,Ir as isDOMNode,L as isDev,Fr as isLitTemplateResult,ge as isRenderable,export_jsx as jsx,export_jsxs as jsxs,M as lazy,$e as mount,tr as onCleanup,m as onMount,y as onUnmount,Pe as portal,lr as read,dr as reduce,Ar as removeClass,f as render,nr as runWithOwner,kr as setAttribute,ar as setOwner,Rr as setProperty,Er as spread,ze as startClient,Pr as styleMap,Mr as toggleClass,sr as untrack,Sr as untrackStore,w as useCallback,I as useContext,S as useEffect,T as useEventListener,te as useLocation,Z as useMatch,h as useMemo,re as useNavigate,Q as useParam,G as useParams,Y as useProvide,b as useReducer,x as useRef,V as useRouter,ee as useSearchParams};
|
package/dist/src/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ye=Object.create;var Q=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var je=(e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},G=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Qe(t))!et.call(e,s)&&s!==n&&Q(e,s,{get:()=>t[s],enumerable:!(r=Ge(t,s))||r.enumerable});return e},p=(e,t,n)=>(G(e,t,"default"),n&&G(n,t,"default")),tt=(e,t,n)=>(n=e!=null?Ye(Ze(e)):{},G(t||!e||!e.__esModule?Q(n,"default",{value:e,enumerable:!0}):n,e)),nt=e=>G(Q({},"__esModule",{value:!0}),e);var N={};je(N,{$component:()=>U,Dynamic:()=>g.Dynamic,ErrorBoundary:()=>g.ErrorBoundary,FRAMEWORK_NAME:()=>Ne,For:()=>g.For,Index:()=>g.Index,Island:()=>C.Island,Link:()=>X,Match:()=>g.Match,Portal:()=>g.Portal,Router:()=>B,Show:()=>g.Show,Store:()=>S.Store,Suspense:()=>$,SuspenseList:()=>ce,Switch:()=>g.Switch,VERSION:()=>Fe,addClass:()=>o.addClass,appendChildren:()=>o.appendChildren,batch:()=>i.batch,classMap:()=>C.classMap,cleanupDelegation:()=>Se,clientOnly:()=>Oe,closest:()=>o.closest,composeProviders:()=>le,createComponent:()=>D,createComputed:()=>i.createComputed,createConsumer:()=>we,createContext:()=>O,createContextWithProvider:()=>Pe,createDebounce:()=>F.createDebounce,createDeferred:()=>i.createDeferred,createEffect:()=>i.createEffect,createIsomorphicState:()=>pe,createIsomorphicStore:()=>Ae,createMemo:()=>i.createMemo,createMemoryStorage:()=>ge,createProvider:()=>J,createRenderEffect:()=>i.createRenderEffect,createResource:()=>i.createResource,createRoot:()=>i.createRoot,createSelector:()=>F.createSelector,createSignal:()=>i.createSignal,createStore:()=>S.createStore,createTheme:()=>Ee,default:()=>_e,delegate:()=>o.delegate,domCreateElement:()=>o.createElement,env:()=>K,getAttribute:()=>o.getAttribute,getOffset:()=>o.getOffset,getOwner:()=>i.getOwner,getStyle:()=>o.getStyle,hasClass:()=>o.hasClass,hydrateIslands:()=>C.hydrateIslands,initDelegation:()=>be,isClient:()=>me,isJSXElement:()=>ae,isLitResult:()=>ie,isNode:()=>se,isRenderable:()=>Ce,isServer:()=>ye,isVisible:()=>o.isVisible,lazy:()=>W,mergeProps:()=>C.mergeProps,observeIntersection:()=>o.observeIntersection,observeResize:()=>o.observeResize,onCleanup:()=>i.onCleanup,onMount:()=>_,onUnmount:()=>j,portal:()=>ve,query:()=>o.query,queryAll:()=>o.queryAll,read:()=>M.readSignal,reduce:()=>M.reduceSignal,removeAttribute:()=>o.removeAttribute,removeChildren:()=>o.removeChildren,removeClass:()=>o.removeClass,render:()=>ue,runWithOwner:()=>i.runWithOwner,scrollIntoView:()=>o.scrollIntoView,setAttribute:()=>o.setAttribute,setOwner:()=>i.setOwner,setStyles:()=>o.setStyles,splitProps:()=>C.splitProps,storage:()=>V,styleMap:()=>C.styleMap,toggleClass:()=>o.toggleClass,untrack:()=>i.untrack,untrackStore:()=>S.untrackStore,unwrap:()=>S.unwrap,useCallback:()=>oe,useContext:()=>k,useEffect:()=>z,useEventListener:()=>re,useLocation:()=>Ie,useMemo:()=>ee,useNavigate:()=>q,useParams:()=>De,useProvide:()=>Re,useReducer:()=>ne,useRef:()=>te,useRouter:()=>L,waitForElement:()=>o.waitForElement});module.exports=nt(N);var Z=require("@fluixi/dom"),d=require("@fluixi/reactive/signal");var xe=Symbol.for("fluixi-lifecycle");function $e(){let e=(0,d.getOwner)();if(!e)return null;if(!e[xe]){let t={mounts:[],effects:[],scheduled:!1};e[xe]=t}return e[xe]}function Ve(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 A(e){(0,Z.registerCreateComponent)(D)}function D(e,t){return U(e,t)}function U(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,Z.asComponent)(n)}return n}function _(e,t=!0){let n=$e();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ve(n)}else{if(!t){e();return}(0,d.createEffect)(()=>{let r=(0,d.untrack)(e);typeof r=="function"&&(0,d.onCleanup)(r)})}}function j(e){(0,d.onCleanup)(e)}function z(e){let t=$e();if(t)t.effects.push(e),Ve(t);else{let n;(0,d.createEffect)(()=>{n&&n(),n=e()}),(0,d.onCleanup)(()=>{n&&n()})}}function ee(e){return(0,d.createMemo)(e)}function te(e){let t={current:e};return(0,d.onCleanup)(()=>{t.current=null}),t}function ne(e,t){let[n,r]=(0,d.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function re(e,t,n,r){z(()=>{let s=e&&"current"in e?e.current:e;if(s)return s.addEventListener(t,n,r),()=>{s.removeEventListener(t,n,r)}})}function oe(e){return e}var l={};je(l,{$component:()=>U,Dynamic:()=>g.Dynamic,ErrorBoundary:()=>g.ErrorBoundary,FRAMEWORK_NAME:()=>Ne,For:()=>g.For,Index:()=>g.Index,Island:()=>C.Island,Link:()=>X,Match:()=>g.Match,Portal:()=>g.Portal,Router:()=>B,Show:()=>g.Show,Store:()=>S.Store,Suspense:()=>$,SuspenseList:()=>ce,Switch:()=>g.Switch,VERSION:()=>Fe,addClass:()=>o.addClass,appendChildren:()=>o.appendChildren,batch:()=>i.batch,classMap:()=>C.classMap,cleanupDelegation:()=>Se,clientOnly:()=>Oe,closest:()=>o.closest,composeProviders:()=>le,createComponent:()=>D,createComputed:()=>i.createComputed,createConsumer:()=>we,createContext:()=>O,createContextWithProvider:()=>Pe,createDebounce:()=>F.createDebounce,createDeferred:()=>i.createDeferred,createEffect:()=>i.createEffect,createIsomorphicState:()=>pe,createIsomorphicStore:()=>Ae,createMemo:()=>i.createMemo,createMemoryStorage:()=>ge,createProvider:()=>J,createRenderEffect:()=>i.createRenderEffect,createResource:()=>i.createResource,createRoot:()=>i.createRoot,createSelector:()=>F.createSelector,createSignal:()=>i.createSignal,createStore:()=>S.createStore,createTheme:()=>Ee,default:()=>_e,delegate:()=>o.delegate,domCreateElement:()=>o.createElement,env:()=>K,getAttribute:()=>o.getAttribute,getOffset:()=>o.getOffset,getOwner:()=>i.getOwner,getStyle:()=>o.getStyle,hasClass:()=>o.hasClass,hydrateIslands:()=>C.hydrateIslands,initDelegation:()=>be,isClient:()=>me,isJSXElement:()=>ae,isLitResult:()=>ie,isNode:()=>se,isRenderable:()=>Ce,isServer:()=>ye,isVisible:()=>o.isVisible,lazy:()=>W,mergeProps:()=>C.mergeProps,observeIntersection:()=>o.observeIntersection,observeResize:()=>o.observeResize,onCleanup:()=>i.onCleanup,onMount:()=>_,onUnmount:()=>j,portal:()=>ve,query:()=>o.query,queryAll:()=>o.queryAll,read:()=>M.readSignal,reduce:()=>M.reduceSignal,removeAttribute:()=>o.removeAttribute,removeChildren:()=>o.removeChildren,removeClass:()=>o.removeClass,render:()=>ue,runWithOwner:()=>i.runWithOwner,scrollIntoView:()=>o.scrollIntoView,setAttribute:()=>o.setAttribute,setOwner:()=>i.setOwner,setStyles:()=>o.setStyles,splitProps:()=>C.splitProps,storage:()=>V,styleMap:()=>C.styleMap,toggleClass:()=>o.toggleClass,untrack:()=>i.untrack,untrackStore:()=>S.untrackStore,unwrap:()=>S.unwrap,useCallback:()=>oe,useContext:()=>k,useEffect:()=>z,useEventListener:()=>re,useLocation:()=>Ie,useMemo:()=>ee,useNavigate:()=>q,useParams:()=>De,useProvide:()=>Re,useReducer:()=>ne,useRef:()=>te,useRouter:()=>L,waitForElement:()=>o.waitForElement});var i=require("@fluixi/reactive/signal"),F=require("@fluixi/reactive/signal"),M=require("@fluixi/reactive/operators");var Ue=require("@fluixi/reactive/signal"),w=require("@fluixi/dom");var h=require("@fluixi/reactive/signal"),P=require("@fluixi/dom");function se(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function ie(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Ke(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function ae(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var He=(0,h.createContext)();function $(e){return(0,P.createComponent)(rt,e)}function rt(e){let t=(0,h.createSuspenseBoundary)(),n=(0,h.useContext)(He),r=n?n.register(t.inFallback):void 0;function s(y){return y==null||typeof y=="boolean"?null:typeof y=="function"&&(0,P.isComponent)(y)&&!(0,h.isSignal)(y)?y():y}let c=(0,P.runWithoutHydration)(()=>s(e.fallback??null)),a=(0,h.provideSuspense)(t,()=>e.children);(0,h.provideSuspense)(t,()=>{(0,h.createRenderEffect)(()=>{let y=a;if(Array.isArray(y))for(let T of y)typeof T=="function"&&(0,h.isSignal)(T)&&T();else typeof y=="function"&&(0,h.isSignal)(y)&&y()})});let[f,u]=(0,h.createSignal)(void 0),v=Ke(a);return v&&(t.increment(),a.then(y=>{u(()=>y),t.decrement()},()=>t.decrement())),(0,h.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:v?f():a)}function ce(e){return(0,P.createComponent)(ot,e)}function ot(e){let{revealOrder:t="together",tail:n}=e,r=[];function s(){if(t==="together"){let a=r.every(f=>!f.inFallback());r.forEach(f=>{f.setShowContent(a),f.setShowFallback(!a)})}else{let a=t==="backwards"?[...r].reverse():r,f=!1;for(let u of a)f||u.inFallback()?(f=!0,u.setShowContent(!1),u.setShowFallback(n!=="hidden")):(u.setShowContent(!0),u.setShowFallback(!1))}}let c={register:a=>{let[f,u]=(0,h.createSignal)(!0),[v,y]=(0,h.createSignal)(!1);return r.push({inFallback:a,setShowContent:u,setShowFallback:y}),(0,h.createEffect)(()=>{a(),s()}),{showContent:f,showFallback:v}}};return He.Provider({value:c,children:e.children})}(0,P.asSuspense)($);Object.defineProperty($,"__suspense",{value:!0,enumerable:!0});var I=require("@fluixi/reactive/signal");function W(e,t){let n,r,s;function c(){return r||(r=e().then(f=>n=f.default)),r}t?.preload&&c();let a=(f=>{if(n){let u=n;return(0,I.untrack)(()=>u(f))}if(!s){let[u]=(0,I.createResource)(()=>c());if(s=u,u.error)throw u.error}return(0,I.createMemo)(()=>{let u=s();return u?(0,I.untrack)(()=>u(f)):void 0},void 0,{name:"lazy"})});return a.preload=()=>c().then(()=>{}),a.$lazy=!0,a.loader=e,a}typeof window<"u"&&import("lit").then(e=>(0,w.registerLitRender)(e.render));var Te=typeof window>"u";function ue(e,t,n={}){if(A("render"),(0,w.delegateEvents)(["click","input","change","submit"]),Te)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,Ue.createRoot)(s=>{r=s;let c=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,w.insert)(t,()=>c)}),()=>{r&&(r(),r=void 0)}}function st(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ve(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let s=ue(e,r,n);return()=>{s(),t.contains(r)&&t.removeChild(r)}}function Ce(e){return!!(e==null||typeof e=="function"||(0,w.isDOMNode)(e)||st(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function be(){Te||(0,w.delegateEvents)(["click","input","change","submit"])}function Se(){}var We=require("@fluixi/dom"),de=require("@fluixi/reactive/signal"),Je=require("@fluixi/reactive/signal");A("index");var ze=!1;function it(){ze||(ze=!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 J(e,t,n){let r=!!e?.Provider,s=r?e:e.context,c=r?t:e.value,a=r?!1:e.debug??!1;r||it();let f=typeof c=="function"?c():c,u=r?n:e;return s.Provider({value:f,get children(){return u?.children},debug:a})}function Pe(e){let t=O(e);return[t,r=>J(t,r.value,r)]}function le(e,t){if(e.length===0)return(0,Je.readChildren)(()=>t);let[n,r]=e[0],s=e.slice(1);return J(n,r,{get children(){return le(s,t)}})}function we(e){return t=>{let n=k(e);return t.children(n)}}function Re(e,t){let n=k(e);return n===e.defaultValue?t():n}function O(e){let t=(0,de.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,We.asProvider)(n),defaultValue:e}}function k(e){let t=(0,de.useContext)(e);return t!==void 0?t:e.defaultValue}var fe=require("@fluixi/reactive/signal"),Be=require("@fluixi/dom"),at="__fluixi_iso_states__",ct="__iso:";function ut(){return globalThis[at]??=new Map}function qe(e){if(typeof window>"u")return;let t=(0,Be.getServerData)();return t?t[ct+e]:void 0}function pe(e,t){let n=qe(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[s,c]=(0,fe.createSignal)(r);return ut().set(e,{server:t.server,set:c}),{value:s,set:c,key:e}}function Ae(e,t){let n=qe(e)!==void 0,r=pe(e,{server:t.server,fallback:t.fallback}),s=()=>r.value()??t.fallback,c=T=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(T))}catch{}},a=T=>{r.set(T),c(T)},f=(T,Y)=>{a({...s(),[T]:Y})},u={};for(let T of Object.keys(t.fallback))u[T]=(0,fe.createMemo)(()=>s()[T]);let v=null;return{value:s,fields:u,set:a,setField:f,ensureInit:()=>n||!t.client?Promise.resolve():(v||(v=Promise.resolve(t.client()).then(T=>{a(T)}).catch(T=>{throw v=null,T})),v),key:e}}var ye=typeof document>"u",me=!ye;function ge(){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:ge(),K={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Oe(e,t){return me?e():t}var ke=require("@fluixi/reactive/signal");function dt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Ee(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=dt(e.system),s=()=>{let b=V.getItem(t);return b&&e.themes.includes(b)?b:r&&K.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,a]=(0,ke.createSignal)(s()),[f,u]=(0,ke.createSignal)(!1),v=b=>{K.document?.documentElement.setAttribute(n,b);try{V.setItem(t,b)}catch{}},y=b=>{if(!e.themes.includes(b))return;let Xe=c();a(()=>b),v(b),e.onChange?.(b,Xe),e.load&&(u(!0),e.onLoading?.(b),Promise.resolve(e.load(b)).finally(()=>{u(!1),e.onLoaded?.(b)}))};return{value:c,isLoading:f,set:y,toggle:()=>{let b=e.themes.indexOf(c());y(e.themes[(b+1)%e.themes.length])},init:()=>v(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>`}}p(l,require("@fluixi/utils"));var m=require("@fluixi/reactive/signal"),x=require("@fluixi/dom"),E=require("@fluixi/reactive/signal"),mt=require("@fluixi/utils/object"),gt=require("@fluixi/utils/compare"),H=require("@fluixi/router"),he=require("@fluixi/router");var Le=require("@fluixi/reactive/signal");var lt=new Map;function ft(){lt.clear()}function pt(){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 s=r,c=s.nodeValue||"";(c.startsWith("#")||c.startsWith("/"))&&n.push(s)}n.forEach(s=>s.remove()),ft()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(pt,100)});var[mn,gn]=(0,Le.createSignal)(0);var yt=O(),hn=yt.Provider;var wt=require("@fluixi/reactive/signal"),Me=(0,E.createContext)(),ht=(0,E.createContext)(),xt=(0,E.createContext)(),Tt=(0,E.createContext)();function vt(e,t,n){let r,s=e.route.data;if(typeof s=="function"){let y=!1;(0,m.onCleanup)(()=>{y=!0});let T=(0,m.getOwner)(),[Y]=(0,m.createResource)(()=>s({params:n.params,location:n.location},T,()=>y));r=Y}let c=()=>Tt.Provider({value:r,get children(){return xt.Provider({value:e.params,get children(){return ht.Provider({value:{depth:t,...n},get children(){return(0,x.createComponent)(e.component,{})}})}})}});if(!r)return c();let a=r,f=()=>a.loading,[u,v]=(0,m.createSignal)((0,m.untrack)(()=>!f()));return(0,m.createEffect)(()=>v(!f())),(0,m.createMemo)(()=>u()?c():null)}function Ct(e){let t=e.depth+1,[n,r]=(0,m.createSignal)((0,m.untrack)(()=>e.matched()[t]?.component));return(0,m.createEffect)(()=>{let s=e.matched()[t]?.component;r(()=>s)}),(0,m.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let c=(0,m.untrack)(()=>e.matched())[t];return vt(c,t,{matched:e.matched,params:e.params,location:e.location})})}function bt(e){return e==null?St():typeof e=="function"?(0,x.createComponent)(e,{}):e}function St(){let e=(0,x.createNativeElement)("div");(0,x.setAttribute)(e,"class","fx-not-found"),(0,x.setAttribute)(e,"role","main"),(0,x.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,x.createNativeElement)("h1");(0,x.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,x.insert)(t,"404");let n=(0,x.createNativeElement)("p");return(0,x.setAttribute)(n,"style","margin:0;opacity:.7"),(0,x.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function B(e){let t=e.history??(0,H.createBrowserHistory)(),n=(0,H.createRouter)({routes:e.routes,base:e.base,history:t}),[r,s]=(0,m.createSignal)(n.state()),c=n.subscribe(s);(0,m.onCleanup)(()=>{c(),n.destroy()});let a=(0,m.createMemo)(()=>(r().match?.matched??[]).filter(y=>y.component)),f={router:n,location:(0,m.createMemo)(()=>r().location),params:(0,m.createMemo)(()=>r().match?.params??{})},u={depth:-1,matched:a,params:f.params,location:f.location,notFound:()=>bt(e.notFound)},v;return Me.Provider({value:f,get children(){return v??=Ct(u)}})}var Pt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function L(){let e=(0,E.useContext)(Me);if(e)return e;if(typeof window>"u")return Pt;throw new Error("[router-next] useRouter must be used within <Router>")}function De(){let e=L().params;return(0,m.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ie(){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 q(){let{router:e}=L();return(t,n)=>e.navigate(t,n)}var R=e=>typeof e=="function"?e():e;function X(e){let t=(0,E.useContext)(Me),n=typeof document>"u",r=()=>t?.router.navigate(R(e.href)??"",{replace:R(e.replace)}),s=(0,x.createNativeElement)("a");if((0,x.setAttribute)(s,"href",R(e.href)??""),e.slot&&(0,x.setAttribute)(s,"slot",R(e.slot)),typeof s.addEventListener=="function")s.addEventListener("click",a=>{a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),r())});else{let a=R(e.className??e.class)??"";a&&(0,x.setAttribute)(s,"class",a)}typeof s.addEventListener=="function"&&(0,m.createEffect)(()=>{let a=R(e.href)??"";s.setAttribute("href",a);let f=R(e.className??e.class)??"",u=R(e.activeClass)??"",v=R(e.active)??t?.location().pathname===a;s.className=[f,v?u:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,x.insert)(s,c),s}var o=require("@fluixi/dom"),C=require("@fluixi/dom");var g=require("@fluixi/dom");var S=require("@fluixi/reactive/store"),Fe="0.0.1",Ne="Fluixi";var _e={createComponent:D,onMount:_,onUnmount:j,createEffect:i.createEffect,createMemo:i.createMemo,createSignal:i.createSignal,createContext:O,createRoot:i.createRoot,createDeferred:i.createDeferred,createComputed:i.createComputed,createRenderEffect:i.createRenderEffect,createSelector:F.createSelector,onCleanup:i.onCleanup,getOwner:i.getOwner,runWithOwner:i.runWithOwner,batch:i.batch,untrack:i.untrack,useContext:k,setOwner:i.setOwner,Router:B,Link:X,useRouter:L,useNavigate:q,read:M.readSignal,reduce:M.reduceSignal,VERSION:Fe,FRAMEWORK_NAME:Ne};A("fluixi element main");p(N,l,module.exports);A("fluixi index");
|
|
1
|
+
"use strict";var Te=Object.defineProperty;var Ze=Object.getOwnPropertyDescriptor;var et=Object.getOwnPropertyNames;var tt=Object.prototype.hasOwnProperty;var Ke=(e,t)=>{for(var n in t)Te(e,n,{get:t[n],enumerable:!0})},xe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of et(t))!tt.call(e,s)&&s!==n&&Te(e,s,{get:()=>t[s],enumerable:!(r=Ze(t,s))||r.enumerable});return e},p=(e,t,n)=>(xe(e,t,"default"),n&&xe(n,t,"default"));var nt=e=>xe(Te({},"__esModule",{value:!0}),e);var N={};Ke(N,{$component:()=>z,Await:()=>ce,Dynamic:()=>g.Dynamic,ErrorBoundary:()=>g.ErrorBoundary,FRAMEWORK_NAME:()=>je,For:()=>g.For,Index:()=>g.Index,Island:()=>C.Island,Link:()=>Y,Match:()=>g.Match,Portal:()=>g.Portal,Router:()=>q,Show:()=>g.Show,Store:()=>S.Store,Suspense:()=>V,SuspenseList:()=>ae,Switch:()=>g.Switch,VERSION:()=>_e,addClass:()=>o.addClass,appendChildren:()=>o.appendChildren,batch:()=>i.batch,classMap:()=>C.classMap,cleanupDelegation:()=>Pe,clientOnly:()=>Ee,closest:()=>o.closest,composeProviders:()=>le,createComponent:()=>M,createComputed:()=>i.createComputed,createConsumer:()=>Ae,createContext:()=>A,createContextWithProvider:()=>Re,createDebounce:()=>F.createDebounce,createDeferred:()=>i.createDeferred,createEffect:()=>i.createEffect,createIsomorphicState:()=>pe,createIsomorphicStore:()=>ke,createMemo:()=>i.createMemo,createMemoryStorage:()=>ge,createProvider:()=>B,createRenderEffect:()=>i.createRenderEffect,createResource:()=>i.createResource,createRoot:()=>i.createRoot,createSelector:()=>F.createSelector,createSignal:()=>i.createSignal,createStore:()=>S.createStore,createTheme:()=>Me,default:()=>Ve,delegate:()=>o.delegate,domCreateElement:()=>o.createElement,env:()=>H,getAttribute:()=>o.getAttribute,getOffset:()=>o.getOffset,getOwner:()=>i.getOwner,getStyle:()=>o.getStyle,hasClass:()=>o.hasClass,html:()=>$.html,hydrateIslands:()=>C.hydrateIslands,initDelegation:()=>we,isClient:()=>me,isJSXElement:()=>ie,isLitResult:()=>se,isNode:()=>oe,isRenderable:()=>Se,isServer:()=>ye,isVisible:()=>o.isVisible,lazy:()=>J,mergeProps:()=>C.mergeProps,observeIntersection:()=>o.observeIntersection,observeResize:()=>o.observeResize,onCleanup:()=>i.onCleanup,onMount:()=>_,onUnmount:()=>j,portal:()=>be,query:()=>o.query,queryAll:()=>o.queryAll,read:()=>L.readSignal,reduce:()=>L.reduceSignal,removeAttribute:()=>o.removeAttribute,removeChildren:()=>o.removeChildren,removeClass:()=>o.removeClass,render:()=>ue,runWithOwner:()=>i.runWithOwner,scrollIntoView:()=>o.scrollIntoView,setAttribute:()=>o.setAttribute,setOwner:()=>i.setOwner,setStyles:()=>o.setStyles,splitProps:()=>C.splitProps,storage:()=>K,styleMap:()=>C.styleMap,svg:()=>$.svg,toggleClass:()=>o.toggleClass,untrack:()=>i.untrack,untrackStore:()=>S.untrackStore,unwrap:()=>S.unwrap,useCallback:()=>re,useContext:()=>O,useEffect:()=>W,useEventListener:()=>ne,useLocation:()=>Ne,useMemo:()=>Z,useNavigate:()=>X,useParams:()=>Fe,useProvide:()=>Oe,useReducer:()=>te,useRef:()=>ee,useRouter:()=>E,waitForElement:()=>o.waitForElement});module.exports=nt(N);var Q=require("@fluixi/dom"),l=require("@fluixi/reactive/signal");var ve=Symbol.for("fluixi-lifecycle");function He(){let e=(0,l.getOwner)();if(!e)return null;if(!e[ve]){let t={mounts:[],effects:[],scheduled:!1};e[ve]=t}return e[ve]}function Ue(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,l.getOwner)();queueMicrotask(()=>{(0,l.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,l.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,l.createEffect)(()=>{r&&r(),r=n()}),(0,l.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function R(e){(0,Q.registerCreateComponent)(M)}function M(e,t){return z(e,t)}function z(e,t){let n=typeof e=="function"?(0,l.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,l.isSignal)(n)){try{n.$name=e.name}catch{}return(0,Q.asComponent)(n)}return n}function _(e,t=!0){let n=He();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ue(n)}else{if(!t){e();return}(0,l.createEffect)(()=>{let r=(0,l.untrack)(e);typeof r=="function"&&(0,l.onCleanup)(r)})}}function j(e){(0,l.onCleanup)(e)}function W(e){let t=He();if(t)t.effects.push(e),Ue(t);else{let n;(0,l.createEffect)(()=>{n&&n(),n=e()}),(0,l.onCleanup)(()=>{n&&n()})}}function Z(e){return(0,l.createMemo)(e)}function ee(e){let t={current:e};return(0,l.onCleanup)(()=>{t.current=null}),t}function te(e,t){let[n,r]=(0,l.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function ne(e,t,n,r){W(()=>{let s=e&&"current"in e?e.current:e;if(s)return s.addEventListener(t,n,r),()=>{s.removeEventListener(t,n,r)}})}function re(e){return e}var u={};Ke(u,{$component:()=>z,Await:()=>ce,Dynamic:()=>g.Dynamic,ErrorBoundary:()=>g.ErrorBoundary,FRAMEWORK_NAME:()=>je,For:()=>g.For,Index:()=>g.Index,Island:()=>C.Island,Link:()=>Y,Match:()=>g.Match,Portal:()=>g.Portal,Router:()=>q,Show:()=>g.Show,Store:()=>S.Store,Suspense:()=>V,SuspenseList:()=>ae,Switch:()=>g.Switch,VERSION:()=>_e,addClass:()=>o.addClass,appendChildren:()=>o.appendChildren,batch:()=>i.batch,classMap:()=>C.classMap,cleanupDelegation:()=>Pe,clientOnly:()=>Ee,closest:()=>o.closest,composeProviders:()=>le,createComponent:()=>M,createComputed:()=>i.createComputed,createConsumer:()=>Ae,createContext:()=>A,createContextWithProvider:()=>Re,createDebounce:()=>F.createDebounce,createDeferred:()=>i.createDeferred,createEffect:()=>i.createEffect,createIsomorphicState:()=>pe,createIsomorphicStore:()=>ke,createMemo:()=>i.createMemo,createMemoryStorage:()=>ge,createProvider:()=>B,createRenderEffect:()=>i.createRenderEffect,createResource:()=>i.createResource,createRoot:()=>i.createRoot,createSelector:()=>F.createSelector,createSignal:()=>i.createSignal,createStore:()=>S.createStore,createTheme:()=>Me,default:()=>Ve,delegate:()=>o.delegate,domCreateElement:()=>o.createElement,env:()=>H,getAttribute:()=>o.getAttribute,getOffset:()=>o.getOffset,getOwner:()=>i.getOwner,getStyle:()=>o.getStyle,hasClass:()=>o.hasClass,html:()=>$.html,hydrateIslands:()=>C.hydrateIslands,initDelegation:()=>we,isClient:()=>me,isJSXElement:()=>ie,isLitResult:()=>se,isNode:()=>oe,isRenderable:()=>Se,isServer:()=>ye,isVisible:()=>o.isVisible,lazy:()=>J,mergeProps:()=>C.mergeProps,observeIntersection:()=>o.observeIntersection,observeResize:()=>o.observeResize,onCleanup:()=>i.onCleanup,onMount:()=>_,onUnmount:()=>j,portal:()=>be,query:()=>o.query,queryAll:()=>o.queryAll,read:()=>L.readSignal,reduce:()=>L.reduceSignal,removeAttribute:()=>o.removeAttribute,removeChildren:()=>o.removeChildren,removeClass:()=>o.removeClass,render:()=>ue,runWithOwner:()=>i.runWithOwner,scrollIntoView:()=>o.scrollIntoView,setAttribute:()=>o.setAttribute,setOwner:()=>i.setOwner,setStyles:()=>o.setStyles,splitProps:()=>C.splitProps,storage:()=>K,styleMap:()=>C.styleMap,svg:()=>$.svg,toggleClass:()=>o.toggleClass,untrack:()=>i.untrack,untrackStore:()=>S.untrackStore,unwrap:()=>S.unwrap,useCallback:()=>re,useContext:()=>O,useEffect:()=>W,useEventListener:()=>ne,useLocation:()=>Ne,useMemo:()=>Z,useNavigate:()=>X,useParams:()=>Fe,useProvide:()=>Oe,useReducer:()=>te,useRef:()=>ee,useRouter:()=>E,waitForElement:()=>o.waitForElement});var i=require("@fluixi/reactive/signal"),F=require("@fluixi/reactive/signal"),L=require("@fluixi/reactive/operators");var Je=require("@fluixi/reactive/signal"),D=require("@fluixi/dom");var h=require("@fluixi/reactive/signal"),w=require("@fluixi/dom");function oe(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function se(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function $e(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function ie(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var ze=(0,h.createContext)();function V(e){return(0,w.createComponent)(rt,e)}function rt(e){let t=(0,h.createSuspenseBoundary)(),n=(0,h.useContext)(ze),r=n?n.register(t.inFallback):void 0;function s(y){return y==null||typeof y=="boolean"?null:typeof y=="function"&&(0,w.isComponent)(y)&&!(0,h.isSignal)(y)?y():y}let c=(0,w.runWithoutHydration)(()=>s(e.fallback??null)),a=(0,h.provideSuspense)(t,()=>e.children);(0,h.provideSuspense)(t,()=>{(0,h.createRenderEffect)(()=>{let y=a;if(Array.isArray(y))for(let T of y)typeof T=="function"&&(0,h.isSignal)(T)&&T();else typeof y=="function"&&(0,h.isSignal)(y)&&y()})});let[f,d]=(0,h.createSignal)(void 0),v=$e(a);return v&&(t.increment(),a.then(y=>{d(()=>y),t.decrement()},()=>t.decrement())),(0,h.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:v?f():a)}function ae(e){return(0,w.createComponent)(ot,e)}function ot(e){let{revealOrder:t="together",tail:n}=e,r=[];function s(){if(t==="together"){let a=r.every(f=>!f.inFallback());r.forEach(f=>{f.setShowContent(a),f.setShowFallback(!a)})}else{let a=t==="backwards"?[...r].reverse():r,f=!1;for(let d of a)f||d.inFallback()?(f=!0,d.setShowContent(!1),d.setShowFallback(n!=="hidden")):(d.setShowContent(!0),d.setShowFallback(!1))}}let c={register:a=>{let[f,d]=(0,h.createSignal)(!0),[v,y]=(0,h.createSignal)(!1);return r.push({inFallback:a,setShowContent:d,setShowFallback:y}),(0,h.createEffect)(()=>{a(),s()}),{showContent:f,showFallback:v}}};return ze.Provider({value:c,children:e.children})}(0,w.asSuspense)(V);Object.defineProperty(V,"__suspense",{value:!0,enumerable:!0});var I=require("@fluixi/reactive/signal");function J(e,t){let n,r,s;function c(){return r||(r=e().then(f=>n=f.default)),r}t?.preload&&c();let a=(f=>{if(n){let d=n;return(0,I.untrack)(()=>d(f))}if(!s){let[d]=(0,I.createResource)(()=>c());if(s=d,d.error)throw d.error}return(0,I.createMemo)(()=>{let d=s();return d?(0,I.untrack)(()=>d(f)):void 0},void 0,{name:"lazy"})});return a.preload=()=>c().then(()=>{}),a.$lazy=!0,a.loader=e,a}var We=require("@fluixi/reactive/signal");function ce(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=(0,We.createResource)(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var Ce=typeof window>"u";function ue(e,t,n={}){if(R("render"),(0,D.delegateEvents)(["click","input","change","submit"]),Ce)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,Je.createRoot)(s=>{r=s;let c=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,D.insert)(t,()=>c)}),()=>{r&&(r(),r=void 0)}}function st(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function be(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let s=ue(e,r,n);return()=>{s(),t.contains(r)&&t.removeChild(r)}}function Se(e){return!!(e==null||typeof e=="function"||(0,D.isDOMNode)(e)||st(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function we(){Ce||(0,D.delegateEvents)(["click","input","change","submit"])}function Pe(){}var qe=require("@fluixi/dom"),de=require("@fluixi/reactive/signal"),Xe=require("@fluixi/reactive/signal");R("index");var Be=!1;function it(){Be||(Be=!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 B(e,t,n){let r=!!e?.Provider,s=r?e:e.context,c=r?t:e.value,a=r?!1:e.debug??!1;r||it();let f=typeof c=="function"?c():c,d=r?n:e;return s.Provider({value:f,get children(){return d?.children},debug:a})}function Re(e){let t=A(e);return[t,r=>B(t,r.value,r)]}function le(e,t){if(e.length===0)return(0,Xe.readChildren)(()=>t);let[n,r]=e[0],s=e.slice(1);return B(n,r,{get children(){return le(s,t)}})}function Ae(e){return t=>{let n=O(e);return t.children(n)}}function Oe(e,t){let n=O(e);return n===e.defaultValue?t():n}function A(e){let t=(0,de.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,qe.asProvider)(n),defaultValue:e}}function O(e){let t=(0,de.useContext)(e);return t!==void 0?t:e.defaultValue}var fe=require("@fluixi/reactive/signal"),Ye=require("@fluixi/dom"),at="__fluixi_iso_states__",ct="__iso:";function ut(){return globalThis[at]??=new Map}function Ge(e){if(typeof window>"u")return;let t=(0,Ye.getServerData)();return t?t[ct+e]:void 0}function pe(e,t){let n=Ge(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[s,c]=(0,fe.createSignal)(r);return ut().set(e,{server:t.server,set:c}),{value:s,set:c,key:e}}function ke(e,t){let n=Ge(e)!==void 0,r=pe(e,{server:t.server,fallback:t.fallback}),s=()=>r.value()??t.fallback,c=T=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(T))}catch{}},a=T=>{r.set(T),c(T)},f=(T,G)=>{a({...s(),[T]:G})},d={};for(let T of Object.keys(t.fallback))d[T]=(0,fe.createMemo)(()=>s()[T]);let v=null;return{value:s,fields:d,set:a,setField:f,ensureInit:()=>n||!t.client?Promise.resolve():(v||(v=Promise.resolve(t.client()).then(T=>{a(T)}).catch(T=>{throw v=null,T})),v),key:e}}var ye=typeof document>"u",me=!ye;function ge(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var K=typeof localStorage<"u"?localStorage:ge(),H={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Ee(e,t){return me?e():t}var Le=require("@fluixi/reactive/signal");function dt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Me(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=dt(e.system),s=()=>{let b=K.getItem(t);return b&&e.themes.includes(b)?b:r&&H.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,a]=(0,Le.createSignal)(s()),[f,d]=(0,Le.createSignal)(!1),v=b=>{H.document?.documentElement.setAttribute(n,b);try{K.setItem(t,b)}catch{}},y=b=>{if(!e.themes.includes(b))return;let Qe=c();a(()=>b),v(b),e.onChange?.(b,Qe),e.load&&(d(!0),e.onLoading?.(b),Promise.resolve(e.load(b)).finally(()=>{d(!1),e.onLoaded?.(b)}))};return{value:c,isLoading:f,set:y,toggle:()=>{let b=e.themes.indexOf(c());y(e.themes[(b+1)%e.themes.length])},init:()=>v(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>`}}p(u,require("@fluixi/utils"));var m=require("@fluixi/reactive/signal"),x=require("@fluixi/dom"),k=require("@fluixi/reactive/signal"),mt=require("@fluixi/utils/object"),gt=require("@fluixi/utils/compare"),U=require("@fluixi/router"),he=require("@fluixi/router");var Ie=require("@fluixi/reactive/signal");var lt=new Map;function ft(){lt.clear()}function pt(){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 s=r,c=s.nodeValue||"";(c.startsWith("#")||c.startsWith("/"))&&n.push(s)}n.forEach(s=>s.remove()),ft()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(pt,100)});var[hn,xn]=(0,Ie.createSignal)(0);var yt=A(),Tn=yt.Provider;var Pt=require("@fluixi/reactive/signal"),De=(0,k.createContext)(),ht=(0,k.createContext)(),xt=(0,k.createContext)(),Tt=(0,k.createContext)();function vt(e,t,n){let r,s=e.route.data;if(typeof s=="function"){let y=!1;(0,m.onCleanup)(()=>{y=!0});let T=(0,m.getOwner)(),[G]=(0,m.createResource)(()=>s({params:n.params,location:n.location},T,()=>y));r=G}let c=()=>Tt.Provider({value:r,get children(){return xt.Provider({value:e.params,get children(){return ht.Provider({value:{depth:t,...n},get children(){return(0,x.createComponent)(e.component,{})}})}})}});if(!r)return c();let a=r,f=()=>a.loading,[d,v]=(0,m.createSignal)((0,m.untrack)(()=>!f()));return(0,m.createEffect)(()=>v(!f())),(0,m.createMemo)(()=>d()?c():null)}function Ct(e){let t=e.depth+1,[n,r]=(0,m.createSignal)((0,m.untrack)(()=>e.matched()[t]?.component));return(0,m.createEffect)(()=>{let s=e.matched()[t]?.component;r(()=>s)}),(0,m.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let c=(0,m.untrack)(()=>e.matched())[t];return vt(c,t,{matched:e.matched,params:e.params,location:e.location})})}function bt(e){return e==null?St():typeof e=="function"?(0,x.createComponent)(e,{}):e}function St(){let e=(0,x.createNativeElement)("div");(0,x.setAttribute)(e,"class","fx-not-found"),(0,x.setAttribute)(e,"role","main"),(0,x.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,x.createNativeElement)("h1");(0,x.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,x.insert)(t,"404");let n=(0,x.createNativeElement)("p");return(0,x.setAttribute)(n,"style","margin:0;opacity:.7"),(0,x.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function q(e){let t=e.history??(0,U.createBrowserHistory)(),n=(0,U.createRouter)({routes:e.routes,base:e.base,history:t}),[r,s]=(0,m.createSignal)(n.state()),c=n.subscribe(s);(0,m.onCleanup)(()=>{c(),n.destroy()});let a=(0,m.createMemo)(()=>(r().match?.matched??[]).filter(y=>y.component)),f={router:n,location:(0,m.createMemo)(()=>r().location),params:(0,m.createMemo)(()=>r().match?.params??{})},d={depth:-1,matched:a,params:f.params,location:f.location,notFound:()=>bt(e.notFound)},v;return De.Provider({value:f,get children(){return v??=Ct(d)}})}var wt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function E(){let e=(0,k.useContext)(De);if(e)return e;if(typeof window>"u")return wt;throw new Error("[router-next] useRouter must be used within <Router>")}function Fe(){let e=E().params;return(0,m.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ne(){let{location:e}=E();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 X(){let{router:e}=E();return(t,n)=>e.navigate(t,n)}var P=e=>typeof e=="function"?e():e;function Y(e){let t=(0,k.useContext)(De),n=typeof document>"u",r=()=>t?.router.navigate(P(e.href)??"",{replace:P(e.replace)}),s=(0,x.createNativeElement)("a");if((0,x.setAttribute)(s,"href",P(e.href)??""),e.slot&&(0,x.setAttribute)(s,"slot",P(e.slot)),typeof s.addEventListener=="function")s.addEventListener("click",a=>{a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),r())});else{let a=P(e.className??e.class)??"";a&&(0,x.setAttribute)(s,"class",a)}typeof s.addEventListener=="function"&&(0,m.createEffect)(()=>{let a=P(e.href)??"";s.setAttribute("href",a);let f=P(e.className??e.class)??"",d=P(e.activeClass)??"",v=P(e.active)??t?.location().pathname===a;s.className=[f,v?d:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,x.insert)(s,c),s}var $=require("@fluixi/dom"),o=require("@fluixi/dom"),C=require("@fluixi/dom");var g=require("@fluixi/dom");var S=require("@fluixi/reactive/store"),_e="0.0.1",je="Fluixi";var Ve={createComponent:M,onMount:_,onUnmount:j,createEffect:i.createEffect,createMemo:i.createMemo,createSignal:i.createSignal,createContext:A,createRoot:i.createRoot,createDeferred:i.createDeferred,createComputed:i.createComputed,createRenderEffect:i.createRenderEffect,createSelector:F.createSelector,onCleanup:i.onCleanup,getOwner:i.getOwner,runWithOwner:i.runWithOwner,batch:i.batch,untrack:i.untrack,useContext:O,setOwner:i.setOwner,Router:q,Link:Y,useRouter:E,useNavigate:X,read:L.readSignal,reduce:L.reduceSignal,VERSION:_e,FRAMEWORK_NAME:je};R("fluixi element main");p(N,u,module.exports);R("fluixi index");
|
package/dist/src/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var ze=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var en=Object.prototype.hasOwnProperty;var We=(e,t)=>{for(var n in t)ze(e,n,{get:t[n],enumerable:!0})},Ue=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zt(t))!en.call(e,o)&&o!==n&&ze(e,o,{get:()=>t[o],enumerable:!(r=Qt(t,o))||r.enumerable});return e},d=(e,t,n)=>(Ue(e,t,"default"),n&&Ue(n,t,"default"));var S={};We(S,{$component:()=>E,Dynamic:()=>yt,ErrorBoundary:()=>mt,FRAMEWORK_NAME:()=>Ke,For:()=>dt,Index:()=>lt,Island:()=>Ut,Link:()=>N,Match:()=>pt,Portal:()=>gt,Router:()=>I,Show:()=>ut,Store:()=>Yt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>ft,VERSION:()=>Ve,addClass:()=>bt,appendChildren:()=>Dt,batch:()=>De,classMap:()=>Kt,cleanupDelegation:()=>de,clientOnly:()=>me,closest:()=>Ct,composeProviders:()=>X,createComponent:()=>b,createComputed:()=>Oe,createConsumer:()=>fe,createContext:()=>h,createContextWithProvider:()=>le,createDebounce:()=>xt,createDeferred:()=>Fe,createEffect:()=>Pe,createIsomorphicState:()=>Y,createIsomorphicStore:()=>ye,createMemo:()=>we,createMemoryStorage:()=>Z,createProvider:()=>D,createRenderEffect:()=>ke,createResource:()=>ht,createRoot:()=>Ae,createSelector:()=>_e,createSignal:()=>Re,createStore:()=>Bt,createTheme:()=>ge,default:()=>He,delegate:()=>_t,domCreateElement:()=>Lt,env:()=>O,getAttribute:()=>At,getOffset:()=>Nt,getOwner:()=>Le,getStyle:()=>Et,hasClass:()=>wt,hydrateIslands:()=>zt,initDelegation:()=>ue,isClient:()=>Q,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ce,isServer:()=>G,isVisible:()=>It,lazy:()=>M,mergeProps:()=>Wt,observeIntersection:()=>$t,observeResize:()=>Vt,onCleanup:()=>Ee,onMount:()=>P,onUnmount:()=>w,portal:()=>ae,query:()=>Tt,queryAll:()=>vt,read:()=>je,reduce:()=>$e,removeAttribute:()=>Ot,removeChildren:()=>Mt,removeClass:()=>St,render:()=>q,runWithOwner:()=>Me,scrollIntoView:()=>Ft,setAttribute:()=>Rt,setOwner:()=>Ne,setStyles:()=>kt,splitProps:()=>Jt,storage:()=>A,styleMap:()=>Ht,toggleClass:()=>Pt,untrack:()=>Ie,untrackStore:()=>qt,unwrap:()=>Xt,useCallback:()=>U,useContext:()=>x,useEffect:()=>L,useEventListener:()=>H,useLocation:()=>Se,useMemo:()=>$,useNavigate:()=>F,useParams:()=>be,useProvide:()=>pe,useReducer:()=>K,useRef:()=>V,useRouter:()=>v,waitForElement:()=>jt});import{registerCreateComponent as tn,asComponent as nn}from"@fluixi/dom";import{untrack as Je,onCleanup as C,getOwner as re,createEffect as j,createMemo as Be,createSignal as rn,isSignal as on,batch as sn,runWithOwner as qe}from"@fluixi/reactive/signal";var ne=Symbol.for("fluixi-lifecycle");function Xe(){let e=re();if(!e)return null;if(!e[ne]){let t={mounts:[],effects:[],scheduled:!1};e[ne]=t}return e[ne]}function Ye(e){if(e.scheduled)return;e.scheduled=!0;let t=re();queueMicrotask(()=>{qe(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&C(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;j(()=>{r&&r(),r=n()}),C(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function g(e){tn(b)}function b(e,t){return E(e,t)}function E(e,t){let n=typeof e=="function"?Je(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!on(n)){try{n.$name=e.name}catch{}return nn(n)}return n}function P(e,t=!0){let n=Xe();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ye(n)}else{if(!t){e();return}j(()=>{let r=Je(e);typeof r=="function"&&C(r)})}}function w(e){C(e)}function L(e){let t=Xe();if(t)t.effects.push(e),Ye(t);else{let n;j(()=>{n&&n(),n=e()}),C(()=>{n&&n()})}}function $(e){return Be(e)}function V(e){let t={current:e};return C(()=>{t.current=null}),t}function K(e,t){let[n,r]=rn(t);return[n,i=>{r(e(n(),i))}]}function H(e,t,n,r){L(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function U(e){return e}var c={};We(c,{$component:()=>E,Dynamic:()=>yt,ErrorBoundary:()=>mt,FRAMEWORK_NAME:()=>Ke,For:()=>dt,Index:()=>lt,Island:()=>Ut,Link:()=>N,Match:()=>pt,Portal:()=>gt,Router:()=>I,Show:()=>ut,Store:()=>Yt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>ft,VERSION:()=>Ve,addClass:()=>bt,appendChildren:()=>Dt,batch:()=>De,classMap:()=>Kt,cleanupDelegation:()=>de,clientOnly:()=>me,closest:()=>Ct,composeProviders:()=>X,createComponent:()=>b,createComputed:()=>Oe,createConsumer:()=>fe,createContext:()=>h,createContextWithProvider:()=>le,createDebounce:()=>xt,createDeferred:()=>Fe,createEffect:()=>Pe,createIsomorphicState:()=>Y,createIsomorphicStore:()=>ye,createMemo:()=>we,createMemoryStorage:()=>Z,createProvider:()=>D,createRenderEffect:()=>ke,createResource:()=>ht,createRoot:()=>Ae,createSelector:()=>_e,createSignal:()=>Re,createStore:()=>Bt,createTheme:()=>ge,default:()=>He,delegate:()=>_t,domCreateElement:()=>Lt,env:()=>O,getAttribute:()=>At,getOffset:()=>Nt,getOwner:()=>Le,getStyle:()=>Et,hasClass:()=>wt,hydrateIslands:()=>zt,initDelegation:()=>ue,isClient:()=>Q,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ce,isServer:()=>G,isVisible:()=>It,lazy:()=>M,mergeProps:()=>Wt,observeIntersection:()=>$t,observeResize:()=>Vt,onCleanup:()=>Ee,onMount:()=>P,onUnmount:()=>w,portal:()=>ae,query:()=>Tt,queryAll:()=>vt,read:()=>je,reduce:()=>$e,removeAttribute:()=>Ot,removeChildren:()=>Mt,removeClass:()=>St,render:()=>q,runWithOwner:()=>Me,scrollIntoView:()=>Ft,setAttribute:()=>Rt,setOwner:()=>Ne,setStyles:()=>kt,splitProps:()=>Jt,storage:()=>A,styleMap:()=>Ht,toggleClass:()=>Pt,untrack:()=>Ie,untrackStore:()=>qt,unwrap:()=>Xt,useCallback:()=>U,useContext:()=>x,useEffect:()=>L,useEventListener:()=>H,useLocation:()=>Se,useMemo:()=>$,useNavigate:()=>F,useParams:()=>be,useProvide:()=>pe,useReducer:()=>K,useRef:()=>V,useRouter:()=>v,waitForElement:()=>jt});import{createEffect as Pe,createMemo as we,createSignal as Re,createResource as ht,createRoot as Ae,createComputed as Oe,createRenderEffect as ke,onCleanup as Ee,getOwner as Le,runWithOwner as Me,batch as De,untrack as Ie,createDeferred as Fe,setOwner as Ne}from"@fluixi/reactive/signal";import{createDebounce as xt,createSelector as _e}from"@fluixi/reactive/signal";import{readSignal as je,reduceSignal as $e}from"@fluixi/reactive/operators";import{createRoot as vn}from"@fluixi/reactive/signal";import{isDOMNode as Cn,delegateEvents as nt,registerLitRender as bn,insert as Sn}from"@fluixi/dom";import{createSignal as se,createMemo as an,createEffect as cn,createRenderEffect as un,isSignal as oe,useContext as dn,createContext as ln,createSuspenseBoundary as fn,provideSuspense as Ge}from"@fluixi/reactive/signal";import{asSuspense as pn,isComponent as yn,createComponent as Qe,runWithoutHydration as mn}from"@fluixi/dom";function z(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function W(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Ze(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function J(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var et=ln();function R(e){return Qe(gn,e)}function gn(e){let t=fn(),n=dn(et),r=n?n.register(t.inFallback):void 0;function o(l){return l==null||typeof l=="boolean"?null:typeof l=="function"&&yn(l)&&!oe(l)?l():l}let i=mn(()=>o(e.fallback??null)),s=Ge(t,()=>e.children);Ge(t,()=>{un(()=>{let l=s;if(Array.isArray(l))for(let f of l)typeof f=="function"&&oe(f)&&f();else typeof l=="function"&&oe(l)&&l()})});let[u,a]=se(void 0),p=Ze(s);return p&&(t.increment(),s.then(l=>{a(()=>l),t.decrement()},()=>t.decrement())),an(()=>(r?r.showFallback():t.inFallback())?i:p?u():s)}function B(e){return Qe(hn,e)}function hn(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(u=>!u.inFallback());r.forEach(u=>{u.setShowContent(s),u.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,u=!1;for(let a of s)u||a.inFallback()?(u=!0,a.setShowContent(!1),a.setShowFallback(n!=="hidden")):(a.setShowContent(!0),a.setShowFallback(!1))}}let i={register:s=>{let[u,a]=se(!0),[p,l]=se(!1);return r.push({inFallback:s,setShowContent:a,setShowFallback:l}),cn(()=>{s(),o()}),{showContent:u,showFallback:p}}};return et.Provider({value:i,children:e.children})}pn(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as tt,createMemo as xn,createResource as Tn}from"@fluixi/reactive/signal";function M(e,t){let n,r,o;function i(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&i();let s=(u=>{if(n){let a=n;return tt(()=>a(u))}if(!o){let[a]=Tn(()=>i());if(o=a,a.error)throw a.error}return xn(()=>{let a=o();return a?tt(()=>a(u)):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=>bn(e.render));var ie=typeof window>"u";function q(e,t,n={}){if(g("render"),nt(["click","input","change","submit"]),ie)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 vn(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Sn(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Pn(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=q(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function ce(e){return!!(e==null||typeof e=="function"||Cn(e)||Pn(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ue(){ie||nt(["click","input","change","submit"])}function de(){}import{asProvider as wn}from"@fluixi/dom";import{createContext as Rn,useContext as An}from"@fluixi/reactive/signal";import{readChildren as On}from"@fluixi/reactive/signal";g("index");var rt=!1;function kn(){rt||(rt=!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 D(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||kn();let u=typeof i=="function"?i():i,a=r?n:e;return o.Provider({value:u,get children(){return a?.children},debug:s})}function le(e){let t=h(e);return[t,r=>D(t,r.value,r)]}function X(e,t){if(e.length===0)return On(()=>t);let[n,r]=e[0],o=e.slice(1);return D(n,r,{get children(){return X(o,t)}})}function fe(e){return t=>{let n=x(e);return t.children(n)}}function pe(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=Rn(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:wn(n),defaultValue:e}}function x(e){let t=An(e);return t!==void 0?t:e.defaultValue}import{createSignal as En,createMemo as Ln}from"@fluixi/reactive/signal";import{getServerData as Mn}from"@fluixi/dom";var Dn="__fluixi_iso_states__",In="__iso:";function Fn(){return globalThis[Dn]??=new Map}function ot(e){if(typeof window>"u")return;let t=Mn();return t?t[In+e]:void 0}function Y(e,t){let n=ot(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=En(r);return Fn().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function ye(e,t){let n=ot(e)!==void 0,r=Y(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=f=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(f))}catch{}},s=f=>{r.set(f),i(f)},u=(f,_)=>{s({...o(),[f]:_})},a={};for(let f of Object.keys(t.fallback))a[f]=Ln(()=>o()[f]);let p=null;return{value:o,fields:a,set:s,setField:u,ensureInit:()=>n||!t.client?Promise.resolve():(p||(p=Promise.resolve(t.client()).then(f=>{s(f)}).catch(f=>{throw p=null,f})),p),key:e}}var G=typeof document>"u",Q=!G;function Z(){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:Z(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function me(e,t){return Q?e():t}import{createSignal as st}from"@fluixi/reactive/signal";function Nn(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function ge(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=Nn(e.system),o=()=>{let y=A.getItem(t);return y&&e.themes.includes(y)?y:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=st(o()),[u,a]=st(!1),p=y=>{O.document?.documentElement.setAttribute(n,y);try{A.setItem(t,y)}catch{}},l=y=>{if(!e.themes.includes(y))return;let Gt=i();s(()=>y),p(y),e.onChange?.(y,Gt),e.load&&(a(!0),e.onLoading?.(y),Promise.resolve(e.load(y)).finally(()=>{a(!1),e.onLoaded?.(y)}))};return{value:i,isLoading:u,set:l,toggle:()=>{let y=e.themes.indexOf(i());l(e.themes[(y+1)%e.themes.length])},init:()=>p(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}d(c,Bo);import*as Bo from"@fluixi/utils";import{createSignal as Te,createMemo as k,createResource as Hn,createEffect as ve,getOwner as Un,onCleanup as it,untrack as he}from"@fluixi/reactive/signal";import{insert as xe,createComponent as at,createNativeElement as ee,setAttribute as T}from"@fluixi/dom";import{createContext as te,useContext as ct}from"@fluixi/reactive/signal";import{get as xo}from"@fluixi/utils/object";import{deepEqual as vo}from"@fluixi/utils/compare";import{createRouter as zn,createBrowserHistory as Wn,matchRoutes as bo,matchPath as So}from"@fluixi/router";import{createMemoryHistory as Ro,createBrowserHistory as Ao,matchRoutes as Oo,matchPath as ko}from"@fluixi/router";import{createResource as Zr,createSignal as Vn}from"@fluixi/reactive/signal";var _n=new Map;function jn(){_n.clear()}function $n(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,i=o.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),jn()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout($n,100)});var[ro,oo]=Vn(0);var Kn=h(),so=Kn.Provider;import{runWithOwner as Do}from"@fluixi/reactive/signal";var Ce=te(),Jn=te(),Bn=te(),qn=te();function Xn(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let l=!1;it(()=>{l=!0});let f=Un(),[_]=Hn(()=>o({params:n.params,location:n.location},f,()=>l));r=_}let i=()=>qn.Provider({value:r,get children(){return Bn.Provider({value:e.params,get children(){return Jn.Provider({value:{depth:t,...n},get children(){return at(e.component,{})}})}})}});if(!r)return i();let s=r,u=()=>s.loading,[a,p]=Te(he(()=>!u()));return ve(()=>p(!u())),k(()=>a()?i():null)}function Yn(e){let t=e.depth+1,[n,r]=Te(he(()=>e.matched()[t]?.component));return ve(()=>{let o=e.matched()[t]?.component;r(()=>o)}),k(()=>{if(!n())return e.notFound?e.notFound():null;let i=he(()=>e.matched())[t];return Xn(i,t,{matched:e.matched,params:e.params,location:e.location})})}function Gn(e){return e==null?Qn():typeof e=="function"?at(e,{}):e}function Qn(){let e=ee("div");T(e,"class","fx-not-found"),T(e,"role","main"),T(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=ee("h1");T(t,"style","margin:0;font-size:2.5rem;font-weight:700"),xe(t,"404");let n=ee("p");return T(n,"style","margin:0;opacity:.7"),xe(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function I(e){let t=e.history??Wn(),n=zn({routes:e.routes,base:e.base,history:t}),[r,o]=Te(n.state()),i=n.subscribe(o);it(()=>{i(),n.destroy()});let s=k(()=>(r().match?.matched??[]).filter(l=>l.component)),u={router:n,location:k(()=>r().location),params:k(()=>r().match?.params??{})},a={depth:-1,matched:s,params:u.params,location:u.location,notFound:()=>Gn(e.notFound)},p;return Ce.Provider({value:u,get children(){return p??=Yn(a)}})}var Zn={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=ct(Ce);if(e)return e;if(typeof window>"u")return Zn;throw new Error("[router-next] useRouter must be used within <Router>")}function be(){let e=v().params;return k(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Se(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function F(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var m=e=>typeof e=="function"?e():e;function N(e){let t=ct(Ce),n=typeof document>"u",r=()=>t?.router.navigate(m(e.href)??"",{replace:m(e.replace)}),o=ee("a");if(T(o,"href",m(e.href)??""),e.slot&&T(o,"slot",m(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=m(e.className??e.class)??"";s&&T(o,"class",s)}typeof o.addEventListener=="function"&&ve(()=>{let s=m(e.href)??"";o.setAttribute("href",s);let u=m(e.className??e.class)??"",a=m(e.activeClass)??"",p=m(e.active)??t?.location().pathname===s;o.className=[u,p?a:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&xe(o,i),o}import{query as Tt,queryAll as vt,closest as Ct,addClass as bt,removeClass as St,toggleClass as Pt,hasClass as wt,setAttribute as Rt,getAttribute as At,removeAttribute as Ot,setStyles as kt,getStyle as Et,createElement as Lt,removeChildren as Mt,appendChildren as Dt,isVisible as It,scrollIntoView as Ft,getOffset as Nt,delegate as _t,waitForElement as jt,observeIntersection as $t,observeResize as Vt}from"@fluixi/dom";import{classMap as Kt,styleMap as Ht,Island as Ut,hydrateIslands as zt,mergeProps as Wt,splitProps as Jt}from"@fluixi/dom";import{Show as ut,For as dt,Index as lt,Switch as ft,Match as pt,Dynamic as yt,ErrorBoundary as mt,Portal as gt}from"@fluixi/dom";import{createStore as Bt,untrackStore as qt,unwrap as Xt,Store as Yt}from"@fluixi/reactive/store";var Ve="0.0.1",Ke="Fluixi";var He={createComponent:b,onMount:P,onUnmount:w,createEffect:Pe,createMemo:we,createSignal:Re,createContext:h,createRoot:Ae,createDeferred:Fe,createComputed:Oe,createRenderEffect:ke,createSelector:_e,onCleanup:Ee,getOwner:Le,runWithOwner:Me,batch:De,untrack:Ie,useContext:x,setOwner:Ne,Router:I,Link:N,useRouter:v,useNavigate:F,read:je,reduce:$e,VERSION:Ve,FRAMEWORK_NAME:Ke};g("fluixi element main");d(S,c);g("fluixi index");export{E as $component,yt as Dynamic,mt as ErrorBoundary,Ke as FRAMEWORK_NAME,dt as For,lt as Index,Ut as Island,N as Link,pt as Match,gt as Portal,I as Router,ut as Show,Yt as Store,R as Suspense,B as SuspenseList,ft as Switch,Ve as VERSION,bt as addClass,Dt as appendChildren,De as batch,Kt as classMap,de as cleanupDelegation,me as clientOnly,Ct as closest,X as composeProviders,b as createComponent,Oe as createComputed,fe as createConsumer,h as createContext,le as createContextWithProvider,xt as createDebounce,Fe as createDeferred,Pe as createEffect,Y as createIsomorphicState,ye as createIsomorphicStore,we as createMemo,Z as createMemoryStorage,D as createProvider,ke as createRenderEffect,ht as createResource,Ae as createRoot,_e as createSelector,Re as createSignal,Bt as createStore,ge as createTheme,He as default,_t as delegate,Lt as domCreateElement,O as env,At as getAttribute,Nt as getOffset,Le as getOwner,Et as getStyle,wt as hasClass,zt as hydrateIslands,ue as initDelegation,Q as isClient,J as isJSXElement,W as isLitResult,z as isNode,ce as isRenderable,G as isServer,It as isVisible,M as lazy,Wt as mergeProps,$t as observeIntersection,Vt as observeResize,Ee as onCleanup,P as onMount,w as onUnmount,ae as portal,Tt as query,vt as queryAll,je as read,$e as reduce,Ot as removeAttribute,Mt as removeChildren,St as removeClass,q as render,Me as runWithOwner,Ft as scrollIntoView,Rt as setAttribute,Ne as setOwner,kt as setStyles,Jt as splitProps,A as storage,Ht as styleMap,Pt as toggleClass,Ie as untrack,qt as untrackStore,Xt as unwrap,U as useCallback,x as useContext,L as useEffect,H as useEventListener,Se as useLocation,$ as useMemo,F as useNavigate,be as useParams,pe as useProvide,K as useReducer,V as useRef,v as useRouter,jt as waitForElement};
|
|
1
|
+
var We=Object.defineProperty;var tn=Object.getOwnPropertyDescriptor;var nn=Object.getOwnPropertyNames;var rn=Object.prototype.hasOwnProperty;var Je=(e,t)=>{for(var n in t)We(e,n,{get:t[n],enumerable:!0})},ze=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of nn(t))!rn.call(e,o)&&o!==n&&We(e,o,{get:()=>t[o],enumerable:!(r=tn(t,o))||r.enumerable});return e},d=(e,t,n)=>(ze(e,t,"default"),n&&ze(n,t,"default"));var S={};Je(S,{$component:()=>E,Await:()=>q,Dynamic:()=>mt,ErrorBoundary:()=>gt,FRAMEWORK_NAME:()=>Ue,For:()=>lt,Index:()=>ft,Island:()=>Jt,Link:()=>N,Match:()=>yt,Portal:()=>ht,Router:()=>D,Show:()=>dt,Store:()=>Zt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>pt,VERSION:()=>He,addClass:()=>Pt,appendChildren:()=>Nt,batch:()=>De,classMap:()=>zt,cleanupDelegation:()=>le,clientOnly:()=>ge,closest:()=>wt,composeProviders:()=>Y,createComponent:()=>b,createComputed:()=>ke,createConsumer:()=>pe,createContext:()=>h,createContextWithProvider:()=>fe,createDebounce:()=>Tt,createDeferred:()=>Ne,createEffect:()=>Pe,createIsomorphicState:()=>G,createIsomorphicStore:()=>me,createMemo:()=>Re,createMemoryStorage:()=>ee,createProvider:()=>I,createRenderEffect:()=>Ee,createResource:()=>xt,createRoot:()=>Oe,createSelector:()=>je,createSignal:()=>Ae,createStore:()=>Yt,createTheme:()=>he,default:()=>$e,delegate:()=>Kt,domCreateElement:()=>Dt,env:()=>O,getAttribute:()=>Et,getOffset:()=>Vt,getOwner:()=>Me,getStyle:()=>It,hasClass:()=>Ot,html:()=>vt,hydrateIslands:()=>Bt,initDelegation:()=>de,isClient:()=>Z,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ue,isServer:()=>Q,isVisible:()=>_t,lazy:()=>M,mergeProps:()=>qt,observeIntersection:()=>Ut,observeResize:()=>$t,onCleanup:()=>Le,onMount:()=>w,onUnmount:()=>P,portal:()=>ce,query:()=>bt,queryAll:()=>St,read:()=>Ve,reduce:()=>Ke,removeAttribute:()=>Lt,removeChildren:()=>Ft,removeClass:()=>Rt,render:()=>X,runWithOwner:()=>Ie,scrollIntoView:()=>jt,setAttribute:()=>kt,setOwner:()=>_e,setStyles:()=>Mt,splitProps:()=>Xt,storage:()=>A,styleMap:()=>Wt,svg:()=>Ct,toggleClass:()=>At,untrack:()=>Fe,untrackStore:()=>Gt,unwrap:()=>Qt,useCallback:()=>$,useContext:()=>x,useEffect:()=>L,useEventListener:()=>U,useLocation:()=>we,useMemo:()=>V,useNavigate:()=>F,useParams:()=>Se,useProvide:()=>ye,useReducer:()=>H,useRef:()=>K,useRouter:()=>v,waitForElement:()=>Ht});import{registerCreateComponent as on,asComponent as sn}from"@fluixi/dom";import{untrack as Be,onCleanup as C,getOwner as oe,createEffect as j,createMemo as qe,createSignal as an,isSignal as cn,batch as un,runWithOwner as Xe}from"@fluixi/reactive/signal";var re=Symbol.for("fluixi-lifecycle");function Ye(){let e=oe();if(!e)return null;if(!e[re]){let t={mounts:[],effects:[],scheduled:!1};e[re]=t}return e[re]}function Ge(e){if(e.scheduled)return;e.scheduled=!0;let t=oe();queueMicrotask(()=>{Xe(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&C(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;j(()=>{r&&r(),r=n()}),C(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function g(e){on(b)}function b(e,t){return E(e,t)}function E(e,t){let n=typeof e=="function"?Be(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!cn(n)){try{n.$name=e.name}catch{}return sn(n)}return n}function w(e,t=!0){let n=Ye();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ge(n)}else{if(!t){e();return}j(()=>{let r=Be(e);typeof r=="function"&&C(r)})}}function P(e){C(e)}function L(e){let t=Ye();if(t)t.effects.push(e),Ge(t);else{let n;j(()=>{n&&n(),n=e()}),C(()=>{n&&n()})}}function V(e){return qe(e)}function K(e){let t={current:e};return C(()=>{t.current=null}),t}function H(e,t){let[n,r]=an(t);return[n,i=>{r(e(n(),i))}]}function U(e,t,n,r){L(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function $(e){return e}var a={};Je(a,{$component:()=>E,Await:()=>q,Dynamic:()=>mt,ErrorBoundary:()=>gt,FRAMEWORK_NAME:()=>Ue,For:()=>lt,Index:()=>ft,Island:()=>Jt,Link:()=>N,Match:()=>yt,Portal:()=>ht,Router:()=>D,Show:()=>dt,Store:()=>Zt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>pt,VERSION:()=>He,addClass:()=>Pt,appendChildren:()=>Nt,batch:()=>De,classMap:()=>zt,cleanupDelegation:()=>le,clientOnly:()=>ge,closest:()=>wt,composeProviders:()=>Y,createComponent:()=>b,createComputed:()=>ke,createConsumer:()=>pe,createContext:()=>h,createContextWithProvider:()=>fe,createDebounce:()=>Tt,createDeferred:()=>Ne,createEffect:()=>Pe,createIsomorphicState:()=>G,createIsomorphicStore:()=>me,createMemo:()=>Re,createMemoryStorage:()=>ee,createProvider:()=>I,createRenderEffect:()=>Ee,createResource:()=>xt,createRoot:()=>Oe,createSelector:()=>je,createSignal:()=>Ae,createStore:()=>Yt,createTheme:()=>he,default:()=>$e,delegate:()=>Kt,domCreateElement:()=>Dt,env:()=>O,getAttribute:()=>Et,getOffset:()=>Vt,getOwner:()=>Me,getStyle:()=>It,hasClass:()=>Ot,html:()=>vt,hydrateIslands:()=>Bt,initDelegation:()=>de,isClient:()=>Z,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ue,isServer:()=>Q,isVisible:()=>_t,lazy:()=>M,mergeProps:()=>qt,observeIntersection:()=>Ut,observeResize:()=>$t,onCleanup:()=>Le,onMount:()=>w,onUnmount:()=>P,portal:()=>ce,query:()=>bt,queryAll:()=>St,read:()=>Ve,reduce:()=>Ke,removeAttribute:()=>Lt,removeChildren:()=>Ft,removeClass:()=>Rt,render:()=>X,runWithOwner:()=>Ie,scrollIntoView:()=>jt,setAttribute:()=>kt,setOwner:()=>_e,setStyles:()=>Mt,splitProps:()=>Xt,storage:()=>A,styleMap:()=>Wt,svg:()=>Ct,toggleClass:()=>At,untrack:()=>Fe,untrackStore:()=>Gt,unwrap:()=>Qt,useCallback:()=>$,useContext:()=>x,useEffect:()=>L,useEventListener:()=>U,useLocation:()=>we,useMemo:()=>V,useNavigate:()=>F,useParams:()=>Se,useProvide:()=>ye,useReducer:()=>H,useRef:()=>K,useRouter:()=>v,waitForElement:()=>Ht});import{createEffect as Pe,createMemo as Re,createSignal as Ae,createResource as xt,createRoot as Oe,createComputed as ke,createRenderEffect as Ee,onCleanup as Le,getOwner as Me,runWithOwner as Ie,batch as De,untrack as Fe,createDeferred as Ne,setOwner as _e}from"@fluixi/reactive/signal";import{createDebounce as Tt,createSelector as je}from"@fluixi/reactive/signal";import{readSignal as Ve,reduceSignal as Ke}from"@fluixi/reactive/operators";import{createRoot as wn}from"@fluixi/reactive/signal";import{isDOMNode as Pn,delegateEvents as rt,insert as Rn}from"@fluixi/dom";import{createSignal as ie,createMemo as dn,createEffect as ln,createRenderEffect as fn,isSignal as se,useContext as pn,createContext as yn,createSuspenseBoundary as mn,provideSuspense as Qe}from"@fluixi/reactive/signal";import{asSuspense as gn,isComponent as hn,createComponent as Ze,runWithoutHydration as xn}from"@fluixi/dom";function z(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function W(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function et(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function J(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var tt=yn();function R(e){return Ze(Tn,e)}function Tn(e){let t=mn(),n=pn(tt),r=n?n.register(t.inFallback):void 0;function o(l){return l==null||typeof l=="boolean"?null:typeof l=="function"&&hn(l)&&!se(l)?l():l}let i=xn(()=>o(e.fallback??null)),s=Qe(t,()=>e.children);Qe(t,()=>{fn(()=>{let l=s;if(Array.isArray(l))for(let f of l)typeof f=="function"&&se(f)&&f();else typeof l=="function"&&se(l)&&l()})});let[u,c]=ie(void 0),p=et(s);return p&&(t.increment(),s.then(l=>{c(()=>l),t.decrement()},()=>t.decrement())),dn(()=>(r?r.showFallback():t.inFallback())?i:p?u():s)}function B(e){return Ze(vn,e)}function vn(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(u=>!u.inFallback());r.forEach(u=>{u.setShowContent(s),u.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,u=!1;for(let c of s)u||c.inFallback()?(u=!0,c.setShowContent(!1),c.setShowFallback(n!=="hidden")):(c.setShowContent(!0),c.setShowFallback(!1))}}let i={register:s=>{let[u,c]=ie(!0),[p,l]=ie(!1);return r.push({inFallback:s,setShowContent:c,setShowFallback:l}),ln(()=>{s(),o()}),{showContent:u,showFallback:p}}};return tt.Provider({value:i,children:e.children})}gn(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as nt,createMemo as Cn,createResource as bn}from"@fluixi/reactive/signal";function M(e,t){let n,r,o;function i(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&i();let s=(u=>{if(n){let c=n;return nt(()=>c(u))}if(!o){let[c]=bn(()=>i());if(o=c,c.error)throw c.error}return Cn(()=>{let c=o();return c?nt(()=>c(u)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}import{createResource as Sn}from"@fluixi/reactive/signal";function q(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=Sn(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var ae=typeof window>"u";function X(e,t,n={}){if(g("render"),rt(["click","input","change","submit"]),ae)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return wn(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Rn(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function An(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ce(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=X(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function ue(e){return!!(e==null||typeof e=="function"||Pn(e)||An(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function de(){ae||rt(["click","input","change","submit"])}function le(){}import{asProvider as On}from"@fluixi/dom";import{createContext as kn,useContext as En}from"@fluixi/reactive/signal";import{readChildren as Ln}from"@fluixi/reactive/signal";g("index");var ot=!1;function Mn(){ot||(ot=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function I(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||Mn();let u=typeof i=="function"?i():i,c=r?n:e;return o.Provider({value:u,get children(){return c?.children},debug:s})}function fe(e){let t=h(e);return[t,r=>I(t,r.value,r)]}function Y(e,t){if(e.length===0)return Ln(()=>t);let[n,r]=e[0],o=e.slice(1);return I(n,r,{get children(){return Y(o,t)}})}function pe(e){return t=>{let n=x(e);return t.children(n)}}function ye(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=kn(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:On(n),defaultValue:e}}function x(e){let t=En(e);return t!==void 0?t:e.defaultValue}import{createSignal as In,createMemo as Dn}from"@fluixi/reactive/signal";import{getServerData as Fn}from"@fluixi/dom";var Nn="__fluixi_iso_states__",_n="__iso:";function jn(){return globalThis[Nn]??=new Map}function st(e){if(typeof window>"u")return;let t=Fn();return t?t[_n+e]:void 0}function G(e,t){let n=st(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=In(r);return jn().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function me(e,t){let n=st(e)!==void 0,r=G(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=f=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(f))}catch{}},s=f=>{r.set(f),i(f)},u=(f,_)=>{s({...o(),[f]:_})},c={};for(let f of Object.keys(t.fallback))c[f]=Dn(()=>o()[f]);let p=null;return{value:o,fields:c,set:s,setField:u,ensureInit:()=>n||!t.client?Promise.resolve():(p||(p=Promise.resolve(t.client()).then(f=>{s(f)}).catch(f=>{throw p=null,f})),p),key:e}}var Q=typeof document>"u",Z=!Q;function ee(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var A=typeof localStorage<"u"?localStorage:ee(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function ge(e,t){return Z?e():t}import{createSignal as it}from"@fluixi/reactive/signal";function Vn(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function he(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=Vn(e.system),o=()=>{let y=A.getItem(t);return y&&e.themes.includes(y)?y:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=it(o()),[u,c]=it(!1),p=y=>{O.document?.documentElement.setAttribute(n,y);try{A.setItem(t,y)}catch{}},l=y=>{if(!e.themes.includes(y))return;let en=i();s(()=>y),p(y),e.onChange?.(y,en),e.load&&(c(!0),e.onLoading?.(y),Promise.resolve(e.load(y)).finally(()=>{c(!1),e.onLoaded?.(y)}))};return{value:i,isLoading:u,set:l,toggle:()=>{let y=e.themes.indexOf(i());l(e.themes[(y+1)%e.themes.length])},init:()=>p(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}d(a,Zo);import*as Zo from"@fluixi/utils";import{createSignal as ve,createMemo as k,createResource as Wn,createEffect as Ce,getOwner as Jn,onCleanup as at,untrack as xe}from"@fluixi/reactive/signal";import{insert as Te,createComponent as ct,createNativeElement as te,setAttribute as T}from"@fluixi/dom";import{createContext as ne,useContext as ut}from"@fluixi/reactive/signal";import{get as wo}from"@fluixi/utils/object";import{deepEqual as Ro}from"@fluixi/utils/compare";import{createRouter as Bn,createBrowserHistory as qn,matchRoutes as Oo,matchPath as ko}from"@fluixi/router";import{createMemoryHistory as Mo,createBrowserHistory as Io,matchRoutes as Do,matchPath as Fo}from"@fluixi/router";import{createResource as so,createSignal as $n}from"@fluixi/reactive/signal";var Kn=new Map;function Hn(){Kn.clear()}function Un(){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()),Hn()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(Un,100)});var[uo,lo]=$n(0);var zn=h(),fo=zn.Provider;import{runWithOwner as Vo}from"@fluixi/reactive/signal";var be=ne(),Xn=ne(),Yn=ne(),Gn=ne();function Qn(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let l=!1;at(()=>{l=!0});let f=Jn(),[_]=Wn(()=>o({params:n.params,location:n.location},f,()=>l));r=_}let i=()=>Gn.Provider({value:r,get children(){return Yn.Provider({value:e.params,get children(){return Xn.Provider({value:{depth:t,...n},get children(){return ct(e.component,{})}})}})}});if(!r)return i();let s=r,u=()=>s.loading,[c,p]=ve(xe(()=>!u()));return Ce(()=>p(!u())),k(()=>c()?i():null)}function Zn(e){let t=e.depth+1,[n,r]=ve(xe(()=>e.matched()[t]?.component));return Ce(()=>{let o=e.matched()[t]?.component;r(()=>o)}),k(()=>{if(!n())return e.notFound?e.notFound():null;let i=xe(()=>e.matched())[t];return Qn(i,t,{matched:e.matched,params:e.params,location:e.location})})}function er(e){return e==null?tr():typeof e=="function"?ct(e,{}):e}function tr(){let e=te("div");T(e,"class","fx-not-found"),T(e,"role","main"),T(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=te("h1");T(t,"style","margin:0;font-size:2.5rem;font-weight:700"),Te(t,"404");let n=te("p");return T(n,"style","margin:0;opacity:.7"),Te(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function D(e){let t=e.history??qn(),n=Bn({routes:e.routes,base:e.base,history:t}),[r,o]=ve(n.state()),i=n.subscribe(o);at(()=>{i(),n.destroy()});let s=k(()=>(r().match?.matched??[]).filter(l=>l.component)),u={router:n,location:k(()=>r().location),params:k(()=>r().match?.params??{})},c={depth:-1,matched:s,params:u.params,location:u.location,notFound:()=>er(e.notFound)},p;return be.Provider({value:u,get children(){return p??=Zn(c)}})}var nr={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=ut(be);if(e)return e;if(typeof window>"u")return nr;throw new Error("[router-next] useRouter must be used within <Router>")}function Se(){let e=v().params;return k(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function we(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function F(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var m=e=>typeof e=="function"?e():e;function N(e){let t=ut(be),n=typeof document>"u",r=()=>t?.router.navigate(m(e.href)??"",{replace:m(e.replace)}),o=te("a");if(T(o,"href",m(e.href)??""),e.slot&&T(o,"slot",m(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=m(e.className??e.class)??"";s&&T(o,"class",s)}typeof o.addEventListener=="function"&&Ce(()=>{let s=m(e.href)??"";o.setAttribute("href",s);let u=m(e.className??e.class)??"",c=m(e.activeClass)??"",p=m(e.active)??t?.location().pathname===s;o.className=[u,p?c:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&Te(o,i),o}import{html as vt,svg as Ct}from"@fluixi/dom";import{query as bt,queryAll as St,closest as wt,addClass as Pt,removeClass as Rt,toggleClass as At,hasClass as Ot,setAttribute as kt,getAttribute as Et,removeAttribute as Lt,setStyles as Mt,getStyle as It,createElement as Dt,removeChildren as Ft,appendChildren as Nt,isVisible as _t,scrollIntoView as jt,getOffset as Vt,delegate as Kt,waitForElement as Ht,observeIntersection as Ut,observeResize as $t}from"@fluixi/dom";import{classMap as zt,styleMap as Wt,Island as Jt,hydrateIslands as Bt,mergeProps as qt,splitProps as Xt}from"@fluixi/dom";import{Show as dt,For as lt,Index as ft,Switch as pt,Match as yt,Dynamic as mt,ErrorBoundary as gt,Portal as ht}from"@fluixi/dom";import{createStore as Yt,untrackStore as Gt,unwrap as Qt,Store as Zt}from"@fluixi/reactive/store";var He="0.0.1",Ue="Fluixi";var $e={createComponent:b,onMount:w,onUnmount:P,createEffect:Pe,createMemo:Re,createSignal:Ae,createContext:h,createRoot:Oe,createDeferred:Ne,createComputed:ke,createRenderEffect:Ee,createSelector:je,onCleanup:Le,getOwner:Me,runWithOwner:Ie,batch:De,untrack:Fe,useContext:x,setOwner:_e,Router:D,Link:N,useRouter:v,useNavigate:F,read:Ve,reduce:Ke,VERSION:He,FRAMEWORK_NAME:Ue};g("fluixi element main");d(S,a);g("fluixi index");export{E as $component,q as Await,mt as Dynamic,gt as ErrorBoundary,Ue as FRAMEWORK_NAME,lt as For,ft as Index,Jt as Island,N as Link,yt as Match,ht as Portal,D as Router,dt as Show,Zt as Store,R as Suspense,B as SuspenseList,pt as Switch,He as VERSION,Pt as addClass,Nt as appendChildren,De as batch,zt as classMap,le as cleanupDelegation,ge as clientOnly,wt as closest,Y as composeProviders,b as createComponent,ke as createComputed,pe as createConsumer,h as createContext,fe as createContextWithProvider,Tt as createDebounce,Ne as createDeferred,Pe as createEffect,G as createIsomorphicState,me as createIsomorphicStore,Re as createMemo,ee as createMemoryStorage,I as createProvider,Ee as createRenderEffect,xt as createResource,Oe as createRoot,je as createSelector,Ae as createSignal,Yt as createStore,he as createTheme,$e as default,Kt as delegate,Dt as domCreateElement,O as env,Et as getAttribute,Vt as getOffset,Me as getOwner,It as getStyle,Ot as hasClass,vt as html,Bt as hydrateIslands,de as initDelegation,Z as isClient,J as isJSXElement,W as isLitResult,z as isNode,ue as isRenderable,Q as isServer,_t as isVisible,M as lazy,qt as mergeProps,Ut as observeIntersection,$t as observeResize,Le as onCleanup,w as onMount,P as onUnmount,ce as portal,bt as query,St as queryAll,Ve as read,Ke as reduce,Lt as removeAttribute,Ft as removeChildren,Rt as removeClass,X as render,Ie as runWithOwner,jt as scrollIntoView,kt as setAttribute,_e as setOwner,Mt as setStyles,Xt as splitProps,A as storage,Wt as styleMap,Ct as svg,At as toggleClass,Fe as untrack,Gt as untrackStore,Qt as unwrap,$ as useCallback,x as useContext,L as useEffect,U as useEventListener,we as useLocation,V as useMemo,F as useNavigate,Se as useParams,ye as useProvide,H as useReducer,K as useRef,v as useRouter,Ht as waitForElement};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Le=Object.create;var O=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var ke=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty;var w=(e,t)=>()=>(e&&(t=e(e=0)),t);var q=(e,t)=>{for(var n in t)O(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ke(t))!De.call(e,r)&&r!==n&&O(e,r,{get:()=>t[r],enumerable:!(o=Oe(t,r))||o.enumerable});return e};var Me=(e,t,n)=>(n=e!=null?Le(_e(e)):{},B(t||!e||!e.__esModule?O(n,"default",{value:e,enumerable:!0}):n,e)),Fe=e=>B(O({},"__esModule",{value:!0}),e);function J(){return Y}function H(e){Y=e}function G(e,t){k.set(e,t)}function Q(e){return k.get(e)}function He(){k.clear()}function Z(){if(typeof window>"u")return!1;let e=document.getElementById("__FLUIXI_HYDRATION__");if(!e||e.getAttribute("type")!=="application/json")return!1;try{let t=e.textContent||"{}",n=JSON.parse(t);for(let[o,r]of Object.entries(n))k.set(o,r);return!0}catch(t){return console.error("Failed to deserialize hydration data:",t),!1}}function N(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],o;for(;o=t.nextNode();){let r=o,i=r.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(r)}n.forEach(r=>r.remove()),He()}function ee(){return typeof window>"u"}var Y,k,j=w(()=>{"use strict";Y=!1,k=new Map;typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(N,100)})});function R(e){(0,_.registerCreateComponent)(te)}function te(e,t){return ne(e,t)}function ne(e,t){let n=typeof e=="function"?(0,p.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,p.isSignal)(n)){try{n.$name=e.name}catch{}return(0,_.asComponent)(n)}return n}var _,p,P=w(()=>{"use strict";_=require("@fluixi/dom"),p=require("@fluixi/reactive/signal")});function V(e,t){let n,o,r;function i(){return o||(o=e().then(c=>n=c.default)),o}t?.preload&&i();let s=(c=>{if(n){let u=n;return(0,C.untrack)(()=>u(c))}if(!r){let[u]=(0,C.createResource)(()=>i());if(r=u,u.error)throw u.error}return(0,C.createMemo)(()=>{let u=r();return u?(0,C.untrack)(()=>u(c)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}var C,U=w(()=>{"use strict";C=require("@fluixi/reactive/signal")});function ae(e){let t=(0,$.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,se.asProvider)(n),defaultValue:e}}var se,$,Ve,ce=w(()=>{"use strict";se=require("@fluixi/dom"),$=require("@fluixi/reactive/signal"),Ve=require("@fluixi/reactive/signal");P();R("index")});function ue(e,t){return async(...n)=>{let o=t+":"+JSON.stringify(n);if(J()||typeof window<"u"){let i=Q(o);if(i!==void 0)return i}if(E.has(o))return E.get(o);if(A.has(o))return A.get(o);let r=Promise.resolve(e(...n)).then(i=>(E.set(o,i),A.delete(o),ee()&&G(o,i),i),i=>{throw A.delete(o),i});return A.set(o,r),r}}function de(e){let t=typeof e=="string"?n=>n.startsWith(e):e;for(let n of E.keys())t(n)&&(E.delete(n),$e.add(n));Ue(n=>n+1)}function fe(e,t){let[n]=(0,L.createResource)(t||(()=>!0),e);return n}function le(e){return z.has(e)||z.set(e,(0,L.createSignal)(void 0)),z.get(e)}function K(e,t){let n=t||e.name||"action",o=async r=>{let[,i]=le(n),s=()=>i(void 0),c=()=>o(r);i({input:r,pending:!0,clear:s,retry:c});try{let u=await e(r);return i({input:r,result:u,pending:!1,clear:s,retry:c}),u}catch(u){throw i({input:r,error:u,pending:!1,clear:s,retry:c}),u}};return o.url=n,o.with=r=>K((...i)=>e(r,...i),t),o}function pe(e){let[t]=le(e.url);return t}function ye(e){return e}var L,E,A,tn,Ue,$e,z,ze,nn,me=w(()=>{"use strict";L=require("@fluixi/reactive/signal");j();ce();E=new Map,A=new Map;[tn,Ue]=(0,L.createSignal)(0),$e=new Set;z=new Map;ze=ae(),nn=ze.Provider});var Re={};q(Re,{A:()=>ot,Form:()=>it,Link:()=>we,Outlet:()=>Be,Redirect:()=>Ye,Router:()=>qe,action:()=>K,cache:()=>ue,createAsync:()=>fe,createBrowserHistory:()=>v.createBrowserHistory,createMemoryHistory:()=>v.createMemoryHistory,lazy:()=>V,matchPath:()=>v.matchPath,matchRoutes:()=>v.matchRoutes,preloadRoutes:()=>st,revalidate:()=>de,runWithOwner:()=>Se.runWithOwner,select:()=>nt,useAction:()=>ye,useLevelParams:()=>Ge,useLocation:()=>X,useMatch:()=>et,useNavigate:()=>be,useParam:()=>Qe,useParamSelector:()=>Ze,useParams:()=>W,useRouteData:()=>rt,useRouter:()=>M,useSearchParams:()=>tt,useSubmission:()=>pe});function Ke(e,t,n){let o,r=e.route.data;if(typeof r=="function"){let f=!1;(0,a.onCleanup)(()=>{f=!0});let S=(0,a.getOwner)(),[Ee]=(0,a.createResource)(()=>r({params:n.params,location:n.location},S,()=>f));o=Ee}let i=()=>Te.Provider({value:o,get children(){return ve.Provider({value:e.params,get children(){return xe.Provider({value:{depth:t,...n},get children(){return(0,d.createComponent)(e.component,{})}})}})}});if(!o)return i();let s=o,c=()=>s.loading,[u,y]=(0,a.createSignal)((0,a.untrack)(()=>!c()));return(0,a.createEffect)(()=>y(!c())),(0,a.createMemo)(()=>u()?i():null)}function Ce(e){let t=e.depth+1,[n,o]=(0,a.createSignal)((0,a.untrack)(()=>e.matched()[t]?.component));return(0,a.createEffect)(()=>{let r=e.matched()[t]?.component;o(()=>r)}),(0,a.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let i=(0,a.untrack)(()=>e.matched())[t];return Ke(i,t,{matched:e.matched,params:e.params,location:e.location})})}function We(e){return e==null?Xe():typeof e=="function"?(0,d.createComponent)(e,{}):e}function Xe(){let e=(0,d.createNativeElement)("div");(0,d.setAttribute)(e,"class","fx-not-found"),(0,d.setAttribute)(e,"role","main"),(0,d.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,d.createNativeElement)("h1");(0,d.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,d.insert)(t,"404");let n=(0,d.createNativeElement)("p");return(0,d.setAttribute)(n,"style","margin:0;opacity:.7"),(0,d.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function qe(e){let t=e.history??(0,x.createBrowserHistory)(),n=(0,x.createRouter)({routes:e.routes,base:e.base,history:t}),[o,r]=(0,a.createSignal)(n.state()),i=n.subscribe(r);(0,a.onCleanup)(()=>{i(),n.destroy()});let s=(0,a.createMemo)(()=>(o().match?.matched??[]).filter(f=>f.component)),c={router:n,location:(0,a.createMemo)(()=>o().location),params:(0,a.createMemo)(()=>o().match?.params??{})},u={depth:-1,matched:s,params:c.params,location:c.location,notFound:()=>We(e.notFound)},y;return D.Provider({value:c,get children(){return y??=Ce(u)}})}function Be(){let e=(0,m.useContext)(xe);return e?Ce(e):null}function Ye(e){let t=(0,m.useContext)(D);if(!t||typeof window>"u")return null;let n=!1;return(0,a.onCleanup)(()=>n=!0),queueMicrotask(()=>{n||t.router.navigate(e.to,{replace:e.replace!==!1})}),null}function M(){let e=(0,m.useContext)(D);if(e)return e;if(typeof window>"u")return Je;throw new Error("[router-next] useRouter must be used within <Router>")}function W(){let e=M().params;return(0,a.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ge(){return(0,m.useContext)(ve)??{}}function Qe(e){let t=W();return(0,a.createMemo)(()=>t()[e])}function Ze(e,t){let n=W();return(0,a.createMemo)(()=>e(n()),void 0,t?{equals:t}:void 0)}function et(e){let t=X();return(0,a.createMemo)(()=>(0,x.matchPath)(typeof e=="function"?e():e,t.pathname))}function tt(){let e=X(),t=be();return[(0,a.createMemo)(()=>e.query),(r,i)=>{let s=new URLSearchParams(e.search);for(let[u,y]of Object.entries(r))y===null?s.delete(u):s.set(u,y);let c=s.toString();t(e.pathname+(c?`?${c}`:""),i)}]}function nt(e,t){let n=(o,r)=>(0,he.deepEqual)(o,r);return t!==void 0?(0,a.createMemo)(()=>(0,ge.get)(e(),t),void 0,{equals:n}):(0,a.createMemo)(e,void 0,{equals:n})}function X(){let{location:e}=M();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 be(){let{router:e}=M();return(t,n)=>e.navigate(t,n)}function rt(){return(0,m.useContext)(Te)??(()=>{})}function we(e){let t=(0,m.useContext)(D),n=typeof document>"u",o=()=>t?.router.navigate(g(e.href)??"",{replace:g(e.replace)}),r=(0,d.createNativeElement)("a");if((0,d.setAttribute)(r,"href",g(e.href)??""),e.slot&&(0,d.setAttribute)(r,"slot",g(e.slot)),typeof r.addEventListener=="function")r.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),o())});else{let s=g(e.className??e.class)??"";s&&(0,d.setAttribute)(r,"class",s)}typeof r.addEventListener=="function"&&(0,a.createEffect)(()=>{let s=g(e.href)??"";r.setAttribute("href",s);let c=g(e.className??e.class)??"",u=g(e.activeClass)??"",y=g(e.active)??t?.location().pathname===s;r.className=[c,y?u:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&(0,d.insert)(r,i),r}function it(e){let t=e.action,n=e.className??e.class,o=t.url??"",r=(0,d.createNativeElement)("form");(0,d.setAttribute)(r,"method","post"),o&&(0,d.setAttribute)(r,"action",o),n&&(0,d.setAttribute)(r,"class",n);for(let[s,c]of Object.entries(e))s==="action"||s==="children"||s==="class"||s==="className"||c!=null&&typeof c!="function"&&(0,d.setAttribute)(r,s,String(c));typeof r.addEventListener=="function"&&r.addEventListener("submit",s=>{s.preventDefault();let c={};new FormData(r).forEach((u,y)=>{c[y]=u}),Promise.resolve(t(c)).catch(()=>{})});let i=e.children;return i!=null&&(0,d.insert)(r,i),r}async function st(e,t){let n=(0,x.matchRoutes)(e,t);if(!n)return;let o=[];for(let r of n.matched){let i=r.component;i&&typeof i.preload=="function"&&o.push(i.preload())}await Promise.all(o)}var a,d,m,ge,he,x,v,Se,D,xe,ve,Te,Je,g,ot,Pe=w(()=>{"use strict";a=require("@fluixi/reactive/signal"),d=require("@fluixi/dom"),m=require("@fluixi/reactive/signal"),ge=require("@fluixi/utils/object"),he=require("@fluixi/utils/compare"),x=require("@fluixi/router"),v=require("@fluixi/router");me();U();Se=require("@fluixi/reactive/signal"),D=(0,m.createContext)(),xe=(0,m.createContext)(),ve=(0,m.createContext)(),Te=(0,m.createContext)();Je={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};g=e=>typeof e=="function"?e():e;ot=we});var dt={};q(dt,{hydrate:()=>Ae.hydrate,mount:()=>at,startClient:()=>ct});module.exports=Fe(dt);var F=require("@fluixi/dom");j();var oe=require("@fluixi/reactive/signal"),b=require("@fluixi/dom");P();P();var l=require("@fluixi/reactive/signal"),h=require("@fluixi/dom");function re(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Ne=(0,l.createContext)();function I(e){return(0,h.createComponent)(je,e)}function je(e){let t=(0,l.createSuspenseBoundary)(),n=(0,l.useContext)(Ne),o=n?n.register(t.inFallback):void 0;function r(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,h.isComponent)(f)&&!(0,l.isSignal)(f)?f():f}let i=(0,h.runWithoutHydration)(()=>r(e.fallback??null)),s=(0,l.provideSuspense)(t,()=>e.children);(0,l.provideSuspense)(t,()=>{(0,l.createRenderEffect)(()=>{let f=s;if(Array.isArray(f))for(let S of f)typeof S=="function"&&(0,l.isSignal)(S)&&S();else typeof f=="function"&&(0,l.isSignal)(f)&&f()})});let[c,u]=(0,l.createSignal)(void 0),y=re(s);return y&&(t.increment(),s.then(f=>{u(()=>f),t.decrement()},()=>t.decrement())),(0,l.createMemo)(()=>(o?o.showFallback():t.inFallback())?i:y?c():s)}(0,h.asSuspense)(I);Object.defineProperty(I,"__suspense",{value:!0,enumerable:!0});U();typeof window<"u"&&import("lit").then(e=>(0,b.registerLitRender)(e.render));var Ie=typeof window>"u";function ie(e,t,n={}){if(R("render"),(0,b.delegateEvents)(["click","input","change","submit"]),Ie)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,oe.createRoot)(r=>{o=r;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,b.insert)(t,()=>i)}),()=>{o&&(o(),o=void 0)}}P();var T=require("@fluixi/head"),Ae=require("@fluixi/dom");R("client index");function at(e,t){if(!t)throw new Error("Container element not found for mount()");(0,F.render)(()=>e(),t)}async function ct(e,t={}){let n=typeof t.root=="string"?document.querySelector(t.root):t.root??document.querySelector("#app");if(!n)throw new Error(`[Fluixi] Mount container not found: ${t.root??"#app"}`);let o=!!document.getElementById("__FLUIXI_HYDRATION__")||!!t.routes&&n.firstElementChild!=null,r=t.hydrate??o,i=(0,T.createHead)();if((0,T.setActiveHead)(i),(0,T.stripHeadMarker)(n),r){if(t.routes&&t.routes.length){let{preloadRoutes:s}=await Promise.resolve().then(()=>(Pe(),Re));await s(t.routes,window.location.pathname)}Z(),H(!0),(0,F.hydrate)(()=>e(),n),ut(),setTimeout(()=>{H(!1),N()},100)}else ie(()=>e(),n);(0,T.mountHead)(i)}function ut(){if(typeof window>"u")return;let e=window;typeof e.__FX_REPLAY_STOP__=="function"&&e.__FX_REPLAY_STOP__();let t=e.__FX_REPLAY__;if(e.__FX_REPLAY__=void 0,e.__FX_REPLAY_STOP__=void 0,!(!Array.isArray(t)||t.length===0))for(let n of t){let o=n&&n.target;if(!o||o.isConnected===!1||typeof o.dispatchEvent!="function")continue;let r=n.type,i=r==="click"?new MouseEvent(r,{bubbles:!0,cancelable:!0}):new Event(r,{bubbles:!0,cancelable:!0});o.dispatchEvent(i)}}
|
|
1
|
+
"use strict";var F=Object.defineProperty;var Ee=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var Oe=Object.prototype.hasOwnProperty;var b=(e,t)=>()=>(e&&(t=e(e=0)),t);var q=(e,t)=>{for(var n in t)F(e,n,{get:t[n],enumerable:!0})},ke=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Le(t))!Oe.call(e,r)&&r!==n&&F(e,r,{get:()=>t[r],enumerable:!(o=Ee(t,r))||o.enumerable});return e};var _e=e=>ke(F({},"__esModule",{value:!0}),e);function Y(){return B}function H(e){B=e}function J(e,t){O.set(e,t)}function G(e){return O.get(e)}function De(){O.clear()}function Q(){if(typeof window>"u")return!1;let e=document.getElementById("__FLUIXI_HYDRATION__");if(!e||e.getAttribute("type")!=="application/json")return!1;try{let t=e.textContent||"{}",n=JSON.parse(t);for(let[o,r]of Object.entries(n))O.set(o,r);return!0}catch(t){return console.error("Failed to deserialize hydration data:",t),!1}}function N(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],o;for(;o=t.nextNode();){let r=o,i=r.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(r)}n.forEach(r=>r.remove()),De()}function Z(){return typeof window>"u"}var B,O,j=b(()=>{"use strict";B=!1,O=new Map;typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(N,100)})});function w(e){(0,k.registerCreateComponent)(ee)}function ee(e,t){return te(e,t)}function te(e,t){let n=typeof e=="function"?(0,p.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,p.isSignal)(n)){try{n.$name=e.name}catch{}return(0,k.asComponent)(n)}return n}var k,p,S=b(()=>{"use strict";k=require("@fluixi/dom"),p=require("@fluixi/reactive/signal")});function V(e,t){let n,o,r;function i(){return o||(o=e().then(c=>n=c.default)),o}t?.preload&&i();let s=(c=>{if(n){let u=n;return(0,C.untrack)(()=>u(c))}if(!r){let[u]=(0,C.createResource)(()=>i());if(r=u,u.error)throw u.error}return(0,C.createMemo)(()=>{let u=r();return u?(0,C.untrack)(()=>u(c)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}var C,U=b(()=>{"use strict";C=require("@fluixi/reactive/signal")});function se(e){let t=(0,$.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,ie.asProvider)(n),defaultValue:e}}var ie,$,je,ae=b(()=>{"use strict";ie=require("@fluixi/dom"),$=require("@fluixi/reactive/signal"),je=require("@fluixi/reactive/signal");S();w("index")});function ce(e,t){return async(...n)=>{let o=t+":"+JSON.stringify(n);if(Y()||typeof window<"u"){let i=G(o);if(i!==void 0)return i}if(E.has(o))return E.get(o);if(A.has(o))return A.get(o);let r=Promise.resolve(e(...n)).then(i=>(E.set(o,i),A.delete(o),Z()&&J(o,i),i),i=>{throw A.delete(o),i});return A.set(o,r),r}}function ue(e){let t=typeof e=="string"?n=>n.startsWith(e):e;for(let n of E.keys())t(n)&&(E.delete(n),Ve.add(n));Ie(n=>n+1)}function de(e,t){let[n]=(0,L.createResource)(t||(()=>!0),e);return n}function fe(e){return z.has(e)||z.set(e,(0,L.createSignal)(void 0)),z.get(e)}function K(e,t){let n=t||e.name||"action",o=async r=>{let[,i]=fe(n),s=()=>i(void 0),c=()=>o(r);i({input:r,pending:!0,clear:s,retry:c});try{let u=await e(r);return i({input:r,result:u,pending:!1,clear:s,retry:c}),u}catch(u){throw i({input:r,error:u,pending:!1,clear:s,retry:c}),u}};return o.url=n,o.with=r=>K((...i)=>e(r,...i),t),o}function le(e){let[t]=fe(e.url);return t}function pe(e){return e}var L,E,A,nn,Ie,Ve,z,Ue,rn,ye=b(()=>{"use strict";L=require("@fluixi/reactive/signal");j();ae();E=new Map,A=new Map;[nn,Ie]=(0,L.createSignal)(0),Ve=new Set;z=new Map;Ue=se(),rn=Ue.Provider});var we={};q(we,{A:()=>nt,Form:()=>rt,Link:()=>be,Outlet:()=>Xe,Redirect:()=>qe,Router:()=>We,action:()=>K,cache:()=>ce,createAsync:()=>de,createBrowserHistory:()=>T.createBrowserHistory,createMemoryHistory:()=>T.createMemoryHistory,lazy:()=>V,matchPath:()=>T.matchPath,matchRoutes:()=>T.matchRoutes,preloadRoutes:()=>ot,revalidate:()=>ue,runWithOwner:()=>Re.runWithOwner,select:()=>et,useAction:()=>pe,useLevelParams:()=>Ye,useLocation:()=>X,useMatch:()=>Qe,useNavigate:()=>Ce,useParam:()=>Je,useParamSelector:()=>Ge,useParams:()=>W,useRouteData:()=>tt,useRouter:()=>D,useSearchParams:()=>Ze,useSubmission:()=>le});function $e(e,t,n){let o,r=e.route.data;if(typeof r=="function"){let f=!1;(0,a.onCleanup)(()=>{f=!0});let R=(0,a.getOwner)(),[Ae]=(0,a.createResource)(()=>r({params:n.params,location:n.location},R,()=>f));o=Ae}let i=()=>Te.Provider({value:o,get children(){return xe.Provider({value:e.params,get children(){return he.Provider({value:{depth:t,...n},get children(){return(0,d.createComponent)(e.component,{})}})}})}});if(!o)return i();let s=o,c=()=>s.loading,[u,y]=(0,a.createSignal)((0,a.untrack)(()=>!c()));return(0,a.createEffect)(()=>y(!c())),(0,a.createMemo)(()=>u()?i():null)}function ve(e){let t=e.depth+1,[n,o]=(0,a.createSignal)((0,a.untrack)(()=>e.matched()[t]?.component));return(0,a.createEffect)(()=>{let r=e.matched()[t]?.component;o(()=>r)}),(0,a.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let i=(0,a.untrack)(()=>e.matched())[t];return $e(i,t,{matched:e.matched,params:e.params,location:e.location})})}function ze(e){return e==null?Ke():typeof e=="function"?(0,d.createComponent)(e,{}):e}function Ke(){let e=(0,d.createNativeElement)("div");(0,d.setAttribute)(e,"class","fx-not-found"),(0,d.setAttribute)(e,"role","main"),(0,d.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,d.createNativeElement)("h1");(0,d.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,d.insert)(t,"404");let n=(0,d.createNativeElement)("p");return(0,d.setAttribute)(n,"style","margin:0;opacity:.7"),(0,d.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function We(e){let t=e.history??(0,x.createBrowserHistory)(),n=(0,x.createRouter)({routes:e.routes,base:e.base,history:t}),[o,r]=(0,a.createSignal)(n.state()),i=n.subscribe(r);(0,a.onCleanup)(()=>{i(),n.destroy()});let s=(0,a.createMemo)(()=>(o().match?.matched??[]).filter(f=>f.component)),c={router:n,location:(0,a.createMemo)(()=>o().location),params:(0,a.createMemo)(()=>o().match?.params??{})},u={depth:-1,matched:s,params:c.params,location:c.location,notFound:()=>ze(e.notFound)},y;return _.Provider({value:c,get children(){return y??=ve(u)}})}function Xe(){let e=(0,m.useContext)(he);return e?ve(e):null}function qe(e){let t=(0,m.useContext)(_);if(!t||typeof window>"u")return null;let n=!1;return(0,a.onCleanup)(()=>n=!0),queueMicrotask(()=>{n||t.router.navigate(e.to,{replace:e.replace!==!1})}),null}function D(){let e=(0,m.useContext)(_);if(e)return e;if(typeof window>"u")return Be;throw new Error("[router-next] useRouter must be used within <Router>")}function W(){let e=D().params;return(0,a.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ye(){return(0,m.useContext)(xe)??{}}function Je(e){let t=W();return(0,a.createMemo)(()=>t()[e])}function Ge(e,t){let n=W();return(0,a.createMemo)(()=>e(n()),void 0,t?{equals:t}:void 0)}function Qe(e){let t=X();return(0,a.createMemo)(()=>(0,x.matchPath)(typeof e=="function"?e():e,t.pathname))}function Ze(){let e=X(),t=Ce();return[(0,a.createMemo)(()=>e.query),(r,i)=>{let s=new URLSearchParams(e.search);for(let[u,y]of Object.entries(r))y===null?s.delete(u):s.set(u,y);let c=s.toString();t(e.pathname+(c?`?${c}`:""),i)}]}function et(e,t){let n=(o,r)=>(0,ge.deepEqual)(o,r);return t!==void 0?(0,a.createMemo)(()=>(0,me.get)(e(),t),void 0,{equals:n}):(0,a.createMemo)(e,void 0,{equals:n})}function X(){let{location:e}=D();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function Ce(){let{router:e}=D();return(t,n)=>e.navigate(t,n)}function tt(){return(0,m.useContext)(Te)??(()=>{})}function be(e){let t=(0,m.useContext)(_),n=typeof document>"u",o=()=>t?.router.navigate(g(e.href)??"",{replace:g(e.replace)}),r=(0,d.createNativeElement)("a");if((0,d.setAttribute)(r,"href",g(e.href)??""),e.slot&&(0,d.setAttribute)(r,"slot",g(e.slot)),typeof r.addEventListener=="function")r.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),o())});else{let s=g(e.className??e.class)??"";s&&(0,d.setAttribute)(r,"class",s)}typeof r.addEventListener=="function"&&(0,a.createEffect)(()=>{let s=g(e.href)??"";r.setAttribute("href",s);let c=g(e.className??e.class)??"",u=g(e.activeClass)??"",y=g(e.active)??t?.location().pathname===s;r.className=[c,y?u:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&(0,d.insert)(r,i),r}function rt(e){let t=e.action,n=e.className??e.class,o=t.url??"",r=(0,d.createNativeElement)("form");(0,d.setAttribute)(r,"method","post"),o&&(0,d.setAttribute)(r,"action",o),n&&(0,d.setAttribute)(r,"class",n);for(let[s,c]of Object.entries(e))s==="action"||s==="children"||s==="class"||s==="className"||c!=null&&typeof c!="function"&&(0,d.setAttribute)(r,s,String(c));typeof r.addEventListener=="function"&&r.addEventListener("submit",s=>{s.preventDefault();let c={};new FormData(r).forEach((u,y)=>{c[y]=u}),Promise.resolve(t(c)).catch(()=>{})});let i=e.children;return i!=null&&(0,d.insert)(r,i),r}async function ot(e,t){let n=(0,x.matchRoutes)(e,t);if(!n)return;let o=[];for(let r of n.matched){let i=r.component;i&&typeof i.preload=="function"&&o.push(i.preload())}await Promise.all(o)}var a,d,m,me,ge,x,T,Re,_,he,xe,Te,Be,g,nt,Se=b(()=>{"use strict";a=require("@fluixi/reactive/signal"),d=require("@fluixi/dom"),m=require("@fluixi/reactive/signal"),me=require("@fluixi/utils/object"),ge=require("@fluixi/utils/compare"),x=require("@fluixi/router"),T=require("@fluixi/router");ye();U();Re=require("@fluixi/reactive/signal"),_=(0,m.createContext)(),he=(0,m.createContext)(),xe=(0,m.createContext)(),Te=(0,m.createContext)();Be={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};g=e=>typeof e=="function"?e():e;nt=be});var ct={};q(ct,{hydrate:()=>Pe.hydrate,mount:()=>it,startClient:()=>st});module.exports=_e(ct);var M=require("@fluixi/dom");j();var re=require("@fluixi/reactive/signal"),P=require("@fluixi/dom");S();S();var l=require("@fluixi/reactive/signal"),h=require("@fluixi/dom");function ne(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Me=(0,l.createContext)();function I(e){return(0,h.createComponent)(Fe,e)}function Fe(e){let t=(0,l.createSuspenseBoundary)(),n=(0,l.useContext)(Me),o=n?n.register(t.inFallback):void 0;function r(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,h.isComponent)(f)&&!(0,l.isSignal)(f)?f():f}let i=(0,h.runWithoutHydration)(()=>r(e.fallback??null)),s=(0,l.provideSuspense)(t,()=>e.children);(0,l.provideSuspense)(t,()=>{(0,l.createRenderEffect)(()=>{let f=s;if(Array.isArray(f))for(let R of f)typeof R=="function"&&(0,l.isSignal)(R)&&R();else typeof f=="function"&&(0,l.isSignal)(f)&&f()})});let[c,u]=(0,l.createSignal)(void 0),y=ne(s);return y&&(t.increment(),s.then(f=>{u(()=>f),t.decrement()},()=>t.decrement())),(0,l.createMemo)(()=>(o?o.showFallback():t.inFallback())?i:y?c():s)}(0,h.asSuspense)(I);Object.defineProperty(I,"__suspense",{value:!0,enumerable:!0});U();var He=require("@fluixi/reactive/signal");var Ne=typeof window>"u";function oe(e,t,n={}){if(w("render"),(0,P.delegateEvents)(["click","input","change","submit"]),Ne)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,re.createRoot)(r=>{o=r;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,P.insert)(t,()=>i)}),()=>{o&&(o(),o=void 0)}}S();var v=require("@fluixi/head"),Pe=require("@fluixi/dom");w("client index");function it(e,t){if(!t)throw new Error("Container element not found for mount()");(0,M.render)(()=>e(),t)}async function st(e,t={}){let n=typeof t.root=="string"?document.querySelector(t.root):t.root??document.querySelector("#app");if(!n)throw new Error(`[Fluixi] Mount container not found: ${t.root??"#app"}`);let o=!!document.getElementById("__FLUIXI_HYDRATION__")||!!t.routes&&n.firstElementChild!=null,r=t.hydrate??o,i=(0,v.createHead)();if((0,v.setActiveHead)(i),(0,v.stripHeadMarker)(n),r){if(t.routes&&t.routes.length){let{preloadRoutes:s}=await Promise.resolve().then(()=>(Se(),we));await s(t.routes,window.location.pathname)}Q(),H(!0),(0,M.hydrate)(()=>e(),n),at(),setTimeout(()=>{H(!1),N()},100)}else oe(()=>e(),n);(0,v.mountHead)(i)}function at(){if(typeof window>"u")return;let e=window;typeof e.__FX_REPLAY_STOP__=="function"&&e.__FX_REPLAY_STOP__();let t=e.__FX_REPLAY__;if(e.__FX_REPLAY__=void 0,e.__FX_REPLAY_STOP__=void 0,!(!Array.isArray(t)||t.length===0))for(let n of t){let o=n&&n.target;if(!o||o.isConnected===!1||typeof o.dispatchEvent!="function")continue;let r=n.type,i=r==="click"?new MouseEvent(r,{bubbles:!0,cancelable:!0}):new Event(r,{bubbles:!0,cancelable:!0});o.dispatchEvent(i)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,QAOlE;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,EACzB,OAAO,GAAE,kBAAuB,iBA4DjC"}
|
|
@@ -15,9 +15,6 @@ import { render } from '../render/index.js';
|
|
|
15
15
|
import { ensureIntegration } from '../render/component.js';
|
|
16
16
|
import { createHead, setActiveHead, mountHead, stripHeadMarker } from '@fluixi/head';
|
|
17
17
|
ensureIntegration('client index');
|
|
18
|
-
// Register Lit support in @fluixi/dom
|
|
19
|
-
// This allows JSX/DOM engine to render Lit TemplateResults
|
|
20
|
-
// registerLitRender(litRenderFn);
|
|
21
18
|
// Connect the reactive system (signals, effects, batch) to the DOM runtime.
|
|
22
19
|
// Without this, createRenderEffect in @fluixi/dom is a one-shot call that never
|
|
23
20
|
// re-runs when signals change — breaking all JSX reactive updates.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as f,e as y,f as m,h as c}from"./chunk-D3VTWVNJ.mjs";import{render as
|
|
1
|
+
import{b as f,e as y,f as m,h as c}from"./chunk-D3VTWVNJ.mjs";import{render as D,hydrate as $}from"@fluixi/dom";import{createRoot as O}from"@fluixi/reactive/signal";import{isDOMNode as Ce,delegateEvents as H,insert as M}from"@fluixi/dom";import{createSignal as E,createMemo as k,createEffect as B,createRenderEffect as P,isSignal as l,useContext as x,createContext as C,createSuspenseBoundary as g,provideSuspense as b}from"@fluixi/reactive/signal";import{asSuspense as L,isComponent as A,createComponent as T,runWithoutHydration as R}from"@fluixi/dom";function h(t){return!!(t&&typeof t=="object"&&typeof t.then=="function"||t instanceof Promise)}var F=C();function p(t){return T(v,t)}function v(t){let e=g(),r=x(F),o=r?r.register(e.inFallback):void 0;function s(n){return n==null||typeof n=="boolean"?null:typeof n=="function"&&A(n)&&!l(n)?n():n}let i=R(()=>s(t.fallback??null)),a=b(e,()=>t.children);b(e,()=>{P(()=>{let n=a;if(Array.isArray(n))for(let u of n)typeof u=="function"&&l(u)&&u();else typeof n=="function"&&l(n)&&n()})});let[S,_]=E(void 0),d=h(a);return d&&(e.increment(),a.then(n=>{_(()=>n),e.decrement()},()=>e.decrement())),k(()=>(o?o.showFallback():e.inFallback())?i:d?S():a)}L(p);Object.defineProperty(p,"__suspense",{value:!0,enumerable:!0});import{createResource as V}from"@fluixi/reactive/signal";var j=typeof window>"u";function w(t,e,r={}){if(c("render"),H(["click","input","change","submit"]),j)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!e)throw new Error("Container element is required");let o;return O(s=>{o=s;let i=typeof t=="function"?t():t;e.textContent="",e.setAttribute("fluixi-js","v1"),M(e,()=>i)}),()=>{o&&(o(),o=void 0)}}import{createHead as I,setActiveHead as N,mountHead as X,stripHeadMarker as Y}from"@fluixi/head";import{hydrate as Xe}from"@fluixi/dom";c("client index");function De(t,e){if(!e)throw new Error("Container element not found for mount()");D(()=>t(),e)}async function $e(t,e={}){let r=typeof e.root=="string"?document.querySelector(e.root):e.root??document.querySelector("#app");if(!r)throw new Error(`[Fluixi] Mount container not found: ${e.root??"#app"}`);let o=!!document.getElementById("__FLUIXI_HYDRATION__")||!!e.routes&&r.firstElementChild!=null,s=e.hydrate??o,i=I();if(N(i),Y(r),s){if(e.routes&&e.routes.length){let{preloadRoutes:a}=await import("./router-next-UYIYMRJL.mjs");await a(e.routes,window.location.pathname)}y(),f(!0),$(()=>t(),r),z(),setTimeout(()=>{f(!1),m()},100)}else w(()=>t(),r);X(i)}function z(){if(typeof window>"u")return;let t=window;typeof t.__FX_REPLAY_STOP__=="function"&&t.__FX_REPLAY_STOP__();let e=t.__FX_REPLAY__;if(t.__FX_REPLAY__=void 0,t.__FX_REPLAY_STOP__=void 0,!(!Array.isArray(e)||e.length===0))for(let r of e){let o=r&&r.target;if(!o||o.isConnected===!1||typeof o.dispatchEvent!="function")continue;let s=r.type,i=s==="click"?new MouseEvent(s,{bubbles:!0,cancelable:!0}):new Event(s,{bubbles:!0,cancelable:!0});o.dispatchEvent(i)}}export{Xe as hydrate,De as mount,$e as startClient};
|
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"),d=require("@fluixi/reactive/signal");var re=Symbol.for("fluixi-lifecycle");function we(){let e=(0,d.getOwner)();if(!e)return null;if(!e[re]){let t={mounts:[],effects:[],scheduled:!1};e[re]=t}return e[re]}function Pe(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,d.getOwner)();queueMicrotask(()=>{(0,d.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,d.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,d.createEffect)(()=>{r&&r(),r=n()}),(0,d.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function M(e){(0,$.registerCreateComponent)(D)}function D(e,t){return z(e,t)}function z(e,t){let n=typeof e=="function"?(0,d.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,d.isSignal)(n)){try{n.$name=e.name}catch{}return(0,$.asComponent)(n)}return n}function N(e,t=!0){let n=we();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Pe(n)}else{if(!t){e();return}(0,d.createEffect)(()=>{let r=(0,d.untrack)(e);typeof r=="function"&&(0,d.onCleanup)(r)})}}function _(e){(0,d.onCleanup)(e)}function W(e){let t=we();if(t)t.effects.push(e),Pe(t);else{let n;(0,d.createEffect)(()=>{n&&n(),n=e()}),(0,d.onCleanup)(()=>{n&&n()})}}function oe(e){return(0,d.createMemo)(e)}function se(e){let t={current:e};return(0,d.onCleanup)(()=>{t.current=null}),t}function ie(e,t){let[n,r]=(0,d.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function ae(e,t,n,r){W(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function ce(e){return e}var g=require("@fluixi/reactive/signal"),S=require("@fluixi/dom");function ue(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function de(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Re(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function le(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var Ae=(0,g.createContext)();function j(e){return(0,S.createComponent)(tt,e)}function tt(e){let t=(0,g.createSuspenseBoundary)(),n=(0,g.useContext)(Ae),r=n?n.register(t.inFallback):void 0;function o(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,S.isComponent)(f)&&!(0,g.isSignal)(f)?f():f}let c=(0,S.runWithoutHydration)(()=>o(e.fallback??null)),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=Re(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 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 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 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 u=n;return(0,A.untrack)(()=>u(l))}if(!o){let[u]=(0,A.createResource)(()=>c());if(o=u,u.error)throw u.error}return(0,A.createMemo)(()=>{let u=o();return u?(0,A.untrack)(()=>u(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,u=r?n:e;return o.Provider({value:l,get children(){return u?.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})},u={};for(let x of Object.keys(t.fallback))u[x]=(0,X.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 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,u]=(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&&(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"),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,[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 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??{})},u={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(u)}})}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)??"",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 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":"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;AAMhC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5D,OAAO,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,aAAa,IAAI,gBAAgB,EACjC,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAmBrB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EAGnB,UAAU,EACV,UAAU,EAGV,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,MAAM,GACZ,MAAM,aAAa,CAAC;AAErB,cAAc,mBAAmB,CAAA;AAIjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElF,YAAY,EACV,QAAQ,EACR,MAAM,EACN,MAAM,EACN,aAAa,EACb,WAAW,EACX,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,EAEL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AA4C3B,OAAO,EACL,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,cAAc,IAAI,QAAQ,EAC1B,eAAe,EACf,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAKhC;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,CAAC;AACF;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBAiDE"}
|
package/dist/src/lib/core.js
CHANGED
|
@@ -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,
|