@fluixi/core 1.0.0-alpha.78 → 1.0.0-alpha.80
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/README.md +4 -4
- package/dist/cdn/core.global.js +1 -1
- package/dist/fluixi.d.ts +1 -1
- package/dist/src/cdn/chunk-RN7C7HNS.mjs +1 -0
- package/dist/src/cdn/core.cjs +1 -1
- package/dist/src/cdn/core.d.ts +2 -2
- package/dist/src/cdn/core.d.ts.map +1 -1
- package/dist/src/cdn/core.js +2 -2
- package/dist/src/cdn/core.mjs +1 -1
- package/dist/src/cdn/router-QB3W43UQ.mjs +1 -0
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.js +1 -7
- package/dist/src/index.mjs +1 -1
- package/dist/src/jsx-runtime.d.ts +1 -1
- package/dist/src/jsx-runtime.js +1 -1
- package/dist/src/lib/client/chunk-FT22BLCQ.mjs +1 -0
- 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 +1 -3
- package/dist/src/lib/client/index.mjs +1 -1
- package/dist/src/lib/client/router-IH7JYMRU.mjs +1 -0
- package/dist/src/lib/context/context.cjs +1 -1
- package/dist/src/lib/context/context.d.ts.map +1 -1
- package/dist/src/lib/context/context.js +0 -2
- package/dist/src/lib/context/context.mjs +1 -1
- package/dist/src/lib/context/index.cjs +1 -1
- package/dist/src/lib/context/index.mjs +1 -1
- package/dist/src/lib/core.cjs +1 -1
- package/dist/src/lib/core.d.ts +4 -4
- package/dist/src/lib/core.d.ts.map +1 -1
- package/dist/src/lib/core.js +5 -8
- package/dist/src/lib/core.mjs +1 -1
- package/dist/src/lib/index.cjs +1 -1
- package/dist/src/lib/index.d.ts +1 -1
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +2 -4
- package/dist/src/lib/index.mjs +1 -1
- package/dist/src/lib/jsx-runtime/index.d.ts +1 -1
- package/dist/src/lib/jsx-runtime/index.js +1 -1
- package/dist/src/lib/plugins/fluixi-routes-plugin.cjs +2 -2
- package/dist/src/lib/plugins/fluixi-routes-plugin.mjs +2 -2
- package/dist/src/lib/plugins/index.cjs +3 -3
- package/dist/src/lib/plugins/index.mjs +3 -3
- package/dist/src/lib/plugins/route-codegen.cjs +1 -1
- package/dist/src/lib/plugins/route-codegen.js +3 -3
- package/dist/src/lib/plugins/route-codegen.mjs +1 -1
- package/dist/src/lib/render/component.cjs +1 -1
- package/dist/src/lib/render/component.d.ts +10 -1
- package/dist/src/lib/render/component.d.ts.map +1 -1
- package/dist/src/lib/render/component.js +12 -10
- package/dist/src/lib/render/component.mjs +1 -1
- package/dist/src/lib/render/index.cjs +1 -1
- package/dist/src/lib/render/index.d.ts.map +1 -1
- package/dist/src/lib/render/index.js +0 -2
- package/dist/src/lib/render/index.mjs +1 -1
- package/dist/src/lib/render/versions.cjs +1 -1
- package/dist/src/lib/render/versions.mjs +1 -1
- package/dist/src/lib/router/data.cjs +1 -0
- package/dist/src/lib/router/data.d.ts.map +1 -0
- package/dist/src/lib/router/data.mjs +1 -0
- package/dist/src/lib/router/index.cjs +1 -0
- package/dist/src/lib/router/index.d.ts.map +1 -0
- package/dist/src/lib/{router-next → router}/index.js +3 -3
- package/dist/src/lib/router/index.mjs +1 -0
- package/dist/src/routes.d.ts +1 -1
- package/dist/src/routes.d.ts.map +1 -1
- package/dist/src/version.generated.cjs +1 -1
- package/dist/src/version.generated.d.ts +1 -1
- package/dist/src/version.generated.js +1 -1
- package/dist/src/version.generated.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +16 -22
- package/src/index.ts +2 -3
- package/types/fluixi.d.ts +1 -1
- package/dist/src/cdn/chunk-3IZZ7QBW.mjs +0 -1
- package/dist/src/cdn/router-next-W2YUEGIJ.mjs +0 -1
- package/dist/src/lib/client/chunk-7CZ3YHHR.mjs +0 -1
- package/dist/src/lib/client/router-next-G4DNKAF2.mjs +0 -1
- package/dist/src/lib/router-next/data.cjs +0 -1
- package/dist/src/lib/router-next/data.d.ts.map +0 -1
- package/dist/src/lib/router-next/data.mjs +0 -1
- package/dist/src/lib/router-next/index.cjs +0 -1
- package/dist/src/lib/router-next/index.d.ts.map +0 -1
- package/dist/src/lib/router-next/index.mjs +0 -1
- package/dist/src/rx.cjs +0 -1
- package/dist/src/rx.d.ts +0 -2
- package/dist/src/rx.d.ts.map +0 -1
- package/dist/src/rx.js +0 -101
- package/dist/src/rx.mjs +0 -0
- /package/dist/src/lib/{router-next → router}/data.d.ts +0 -0
- /package/dist/src/lib/{router-next → router}/data.js +0 -0
- /package/dist/src/lib/{router-next → router}/index.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as
|
|
1
|
+
import{b as f,e as p,f as y}from"./chunk-FT22BLCQ.mjs";import{render as J,hydrate as G}from"@fluixi/dom";import{registerCoreVersion as k}from"@fluixi/dom";var m="1.0.0-alpha.80";import{stampVersions as h,warnOnVersionSkew as b,versions as ce}from"@fluixi/dom";k(m);import{createRoot as W}from"@fluixi/reactive/signal";import{isDOMNode as dt,delegateEvents as Y,insert as B}from"@fluixi/dom";import{createComponent as de,asComponent as le}from"@fluixi/dom";import{untrack as me,onCleanup as T,getOwner as L,createEffect as O,createMemo as R,createSignal as he,isSignal as be,batch as _,runWithOwner as A,isOwnerDisposed as we}from"@fluixi/reactive/signal";import{createSignal as P,createMemo as M,createEffect as Re,createRenderEffect as F,isSignal as v,readChildren as D,useContext as H,createContext as j,createSuspenseBoundary as I,provideSuspense as w}from"@fluixi/reactive/signal";import{asSuspense as $,isComponent as N,createComponent as U,runWithoutHydration as V}from"@fluixi/dom";function x(t){return!!(t&&typeof t=="object"&&typeof t.then=="function"||t instanceof Promise)}var q=j();function d(t){return U(X,t)}function X(t){let e=I(),r=H(q),o=r?r.register(e.inFallback):void 0;function i(n){return n==null||typeof n=="boolean"?null:typeof n=="function"&&N(n)&&!v(n)?n():n}let s=V(()=>i(t.fallback??null)),a=w(e,()=>D(()=>t.children)),c=(n,u)=>{if(!(u>8))if(Array.isArray(n))for(let E of n)c(E,u+1);else typeof n=="function"&&v(n)&&c(n(),u+1)};w(e,()=>{F(()=>c(a,0))});let[C,g]=P(void 0),l=x(a);return l&&(e.increment(),a.then(n=>{g(()=>n),e.decrement()},()=>e.decrement())),M(()=>{let n=o?o.showFallback():e.inFallback();return process.env.FX_DEBUG&&console.log("[s] output; showFallback:",n),n?s:l?C():a})}$(d);Object.defineProperty(d,"__suspense",{value:!0,enumerable:!0});import{createMemo as Me,createSignal as Fe}from"@fluixi/reactive/signal";import{observeIntersection as He}from"@fluixi/dom/utils";import{createResource as Ne}from"@fluixi/reactive/signal";var K=typeof window>"u";function S(t,e,r={}){if(Y(["click","input","change","submit"]),K)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 W(i=>{o=i;let s=typeof t=="function"?t():t;e.textContent="",h(e),b(),B(e,()=>s)}),()=>{o&&(o(),o=void 0)}}import{createHead as Q,setActiveHead as Z,mountHead as ee,stripHeadMarker as te}from"@fluixi/head";import{hydrate as Lt}from"@fluixi/dom";function gt(t,e){if(!e)throw new Error("Container element not found for mount()");J(()=>t(),e)}async function Et(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,i=e.hydrate??o,s=Q();if(Z(s),te(r),i){if(e.routes&&e.routes.length){let{preloadRoutes:a}=await import("./router-IH7JYMRU.mjs");await a(e.routes,window.location.pathname)}p(),f(!0),G(()=>t(),r),ne(),setTimeout(()=>{f(!1),y()},100)}else S(()=>t(),r);ee(s)}function ne(){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 i=r.type,s=i==="click"?new MouseEvent(i,{bubbles:!0,cancelable:!0}):new Event(i,{bubbles:!0,cancelable:!0});o.dispatchEvent(s)}}export{Lt as hydrate,gt as mount,Et as startClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w,c as L,d as O,g as k,h as I}from"./chunk-FT22BLCQ.mjs";import{createSignal as P,createMemo as d,createResource as ne,createEffect as A,getOwner as re,onCleanup as b,untrack as R}from"@fluixi/reactive/signal";import{insert as v,createComponent as V,createNativeElement as g,setAttribute as u}from"@fluixi/dom";import{createContext as T,useContext as y}from"@fluixi/reactive/signal";import{get as oe}from"@fluixi/utils/object";import{deepEqual as ae}from"@fluixi/utils/compare";import{createRouter as se,createBrowserHistory as ie,matchRoutes as ce,matchPath as ue}from"@fluixi/router";import{createMemoryHistory as tt,createBrowserHistory as nt,matchRoutes as rt,matchPath as ot}from"@fluixi/router";import{createResource as J,createSignal as D}from"@fluixi/reactive/signal";import{asProvider as z}from"@fluixi/dom";import{createContext as B,useContext as ve}from"@fluixi/reactive/signal";import{readChildren as Pe}from"@fluixi/reactive/signal";function N(e){let n=B(e),t=a=>(a.debug,n.Provider({value:a.value,get children(){return a.children},debug:a.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:n.id,Provider:z(t),defaultValue:e}}var m=new Map,p=new Map;function W(e,n){return async(...t)=>{let a=n+":"+JSON.stringify(t);if(w()||typeof window<"u"){let o=O(a);if(o!==void 0)return o}if(m.has(a))return m.get(a);if(p.has(a))return p.get(a);let r=Promise.resolve(e(...t)).then(o=>(m.set(a,o),p.delete(a),k()&&L(a,o),o),o=>{throw p.delete(a),o});return p.set(a,r),r}}var[ke,G]=D(0),X=new Set;function Q(e){let n=typeof e=="string"?t=>t.startsWith(e):e;for(let t of m.keys())n(t)&&(m.delete(t),X.add(t));G(t=>t+1)}function Y(e,n){let[t]=J(n||(()=>!0),e);return t}var C=new Map;function M(e){return C.has(e)||C.set(e,D(void 0)),C.get(e)}function E(e,n){let t=n||e.name||"action",a=async r=>{let[,o]=M(t),s=()=>o(void 0),i=()=>a(r);o({input:r,pending:!0,clear:s,retry:i});try{let c=await e(r);return o({input:r,result:c,pending:!1,clear:s,retry:i}),c}catch(c){throw o({input:r,error:c,pending:!1,clear:s,retry:i}),c}};return a.url=t,a.with=r=>E((...o)=>e(r,...o),n),a}function Z(e){let[n]=M(e.url);return n}function ee(e){return e}var te=N(),Ne=te.Provider;import{runWithOwner as ct}from"@fluixi/reactive/signal";var h=T(),F=T(),K=T(),U=T();function de(e,n,t){let a,r=e.route.data;if(typeof r=="function"){let x=!1;b(()=>{x=!0});let q=re(),[$]=ne(()=>r({params:t.params,location:t.location},q,()=>x));a=$}let o=()=>U.Provider({value:a,get children(){return K.Provider({value:e.params,get children(){return F.Provider({value:{depth:n,...t},get children(){return V(e.component,{})}})}})}});if(!a)return o();let s=a,i=()=>s.loading,[c,l]=P(R(()=>!i()));return A(()=>l(!i())),d(()=>c()?o():null)}function H(e){let n=e.depth+1,[t,a]=P(R(()=>e.matched()[n]?.component));return A(()=>{let r=e.matched()[n]?.component;a(()=>r)}),d(()=>{if(!t())return e.notFound?e.notFound():null;let o=R(()=>e.matched())[n];return de(o,n,{matched:e.matched,params:e.params,location:e.location})})}function le(e){return e==null?fe():typeof e=="function"?V(e,{}):e}function fe(){let e=g("div");u(e,"class","fx-not-found"),u(e,"role","main"),u(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let n=g("h1");u(n,"style","margin:0;font-size:2.5rem;font-weight:700"),v(n,"404");let t=g("p");return u(t,"style","margin:0;opacity:.7"),v(t,"This page could not be found."),e.appendChild(n),e.appendChild(t),e}function He(e){let n=e.history??ie(),t=se({routes:e.routes,base:e.base,history:n}),[a,r]=P(t.state()),o=t.subscribe(r);b(()=>{o(),t.destroy()});let s=d(()=>(a().match?.matched??[]).filter(x=>x.component)),i={router:t,location:d(()=>a().location),params:d(()=>a().match?.params??{})},c={depth:-1,matched:s,params:i.params,location:i.location,notFound:()=>le(e.notFound)},l;return h.Provider({value:i,get children(){return l??=H(c)}})}function je(){let e=y(F);return e?H(e):null}function _e(e){let n=y(h);if(n&&typeof window<"u"){let t=!1;b(()=>t=!0),queueMicrotask(()=>{t||n.router.navigate(e.to,{replace:e.replace!==!1})})}return null}var ye={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function S(){let e=y(h);if(e)return e;if(typeof window>"u")return ye;throw new Error("[router] useRouter must be used within <Router>")}function j(){let e=S().params;return d(()=>e(),{},{equals:(n,t)=>JSON.stringify(n)===JSON.stringify(t)})}function qe(){return y(K)??{}}function $e(e){let n=j();return d(()=>n()[e])}function Ie(e,n){let t=j();return d(()=>e(t()),void 0,n?{equals:n}:void 0)}function ze(e){let n=_();return d(()=>ue(typeof e=="function"?e():e,n.pathname))}function Be(){let e=_(),n=pe();return[d(()=>e.query),(r,o)=>{let s=new URLSearchParams(e.search);for(let[c,l]of Object.entries(r))l===null?s.delete(c):s.set(c,l);let i=s.toString();n(e.pathname+(i?`?${i}`:""),o)}]}function Je(e,n){let t=(a,r)=>ae(a,r);return n!==void 0?d(()=>oe(e(),n),void 0,{equals:t}):d(e,void 0,{equals:t})}function _(){let{location:e}=S();return new Proxy({},{get:(n,t)=>e()[t],has:(n,t)=>t in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(n,t)=>Object.getOwnPropertyDescriptor(e(),t)})}function We(e={}){let n=y(h);return t=>{if(!n||t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return;let r=t.target?.closest?.("a");if(!r||!r.getAttribute("href")||r.target&&r.target!=="_self"||r.hasAttribute("download")||/(^|\s)external(\s|$)/.test(r.getAttribute("rel")??""))return;let o=new URL(r.href);o.protocol!=="http:"&&o.protocol!=="https:"||o.origin===window.location.origin&&(o.hash&&o.pathname===window.location.pathname&&o.search===window.location.search||e.shouldNavigate&&!e.shouldNavigate(o,r)||(t.preventDefault(),n.router.navigate(o.pathname+o.search+o.hash,{replace:e.replace})))}}function pe(){let{router:e}=S();return(n,t)=>e.navigate(n,t)}function Ge(){return y(U)??(()=>{})}var f=e=>typeof e=="function"?e():e,me=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function ge(e){let n=y(h),t=typeof document>"u",a=()=>n?.router.navigate(f(e.href)??"",{replace:f(e.replace)}),r=g("a");u(r,"href",f(e.href)??""),e.slot&&u(r,"slot",f(e.slot));for(let s of Object.keys(e)){if(me.has(s))continue;let i=e[s];i!=null&&typeof i!="function"&&u(r,s,String(i))}if(typeof r.addEventListener=="function")r.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),a())});else{let s=f(e.className??e.class)??"";s&&u(r,"class",s)}typeof r.addEventListener=="function"&&A(()=>{let s=f(e.href)??"";r.setAttribute("href",s);let i=f(e.className??e.class)??"",c=f(e.activeClass)??"",l=f(e.active)??n?.location().pathname===s;r.className=[i,l?c:""].filter(Boolean).join(" ")});let o=e.children;return o!=null&&v(r,o),r}var Xe=ge;function Qe(e){let n=e.action,t=e.className??e.class,a=n.url??"",r=g("form");u(r,"method","post"),a&&u(r,"action",a),t&&u(r,"class",t);for(let s of Object.keys(e)){if(s==="action"||s==="children"||s==="class"||s==="className")continue;let i=e[s];i!=null&&typeof i!="function"&&u(r,s,String(i))}typeof r.addEventListener=="function"&&r.addEventListener("submit",s=>{s.preventDefault();let i={};new FormData(r).forEach((c,l)=>{i[l]=c}),Promise.resolve(n(i)).catch(()=>{})});let o=e.children;return o!=null&&v(r,o),r}async function Ye(e,n){let t=ce(e,n);if(!t)return;let a=[];for(let r of t.matched){let o=r.component;o&&typeof o.preload=="function"&&a.push(o.preload())}await Promise.all(a)}export{Xe as A,Qe as Form,ge as Link,je as Outlet,_e as Redirect,He as Router,E as action,W as cache,Y as createAsync,nt as createBrowserHistory,tt as createMemoryHistory,I as lazy,ot as matchPath,rt as matchRoutes,Ye as preloadRoutes,Q as revalidate,ct as runWithOwner,Je as select,ee as useAction,qe as useLevelParams,We as useLinkNavigation,_ as useLocation,ze as useMatch,pe as useNavigate,$e as useParam,Ie as useParamSelector,j as useParams,Ge as useRouteData,S as useRouter,Be as useSearchParams,Z as useSubmission};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var P=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:!0})},g=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of y(r))!m.call(e,o)&&o!==t&&a(e,o,{get:()=>r[o],enumerable:!(n=f(r,o))||n.enumerable});return e};var b=e=>g(a({},"__esModule",{value:!0}),e);var k={};P(k,{composeProviders:()=>v,createConsumer:()=>R,createContext:()=>p,createContextWithProvider:()=>A,createProvider:()=>s,useContext:()=>c,useProvide:()=>V});module.exports=b(k);var u=require("@fluixi/dom"),i=require("@fluixi/reactive/signal"),C=require("@fluixi/reactive/signal"),l=!1;function S(){l||(l=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function s(e,r,t){let n=!!e?.Provider,o=n?e:e.context,d=n?r:e.value,x=n?!1:e.debug??!1;n||S();let T=typeof d=="function"?d():d,h=n?t:e;return o.Provider({value:T,get children(){return h?.children},debug:x})}function A(e){let r=p(e);return[r,n=>s(r,n.value,n)]}function v(e,r){if(e.length===0)return(0,C.readChildren)(()=>r);let[t,n]=e[0],o=e.slice(1);return s(t,n,{get children(){return v(o,r)}})}function R(e){return r=>{let t=c(e);return r.children(t)}}function V(e,r){let t=c(e);return t===e.defaultValue?r():t}function p(e){let r=(0,i.createContext)(e),t=n=>(n.debug,r.Provider({value:n.value,get children(){return n.children},debug:n.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:r.id,Provider:(0,u.asProvider)(t),defaultValue:e}}function c(e){let r=(0,i.useContext)(e);return r!==void 0?r:e.defaultValue}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/context/context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9E,OAAO,EACL,QAAQ,EACR,OAAO,EAER,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,6 @@
|
|
|
5
5
|
import { asProvider } from '@fluixi/dom';
|
|
6
6
|
import { createContext as createReactiveContext, useContext as useReactiveContext } from '@fluixi/reactive/signal';
|
|
7
7
|
import { readChildren, } from '@fluixi/reactive/signal';
|
|
8
|
-
import { ensureIntegration } from '../render/component.js';
|
|
9
|
-
ensureIntegration('index');
|
|
10
8
|
/**
|
|
11
9
|
* Provider component that supplies a context value to its descendants
|
|
12
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{asProvider as
|
|
1
|
+
import{asProvider as C}from"@fluixi/dom";import{createContext as v,useContext as p}from"@fluixi/reactive/signal";import{readChildren as x}from"@fluixi/reactive/signal";var d=!1;function T(){d||(d=!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 a(e,r,n){let t=!!e?.Provider,o=t?e:e.context,i=t?r:e.value,c=t?!1:e.debug??!1;t||T();let l=typeof i=="function"?i():i,u=t?n:e;return o.Provider({value:l,get children(){return u?.children},debug:c})}function S(e){let r=f(e);return[r,t=>a(r,t.value,t)]}function h(e,r){if(e.length===0)return x(()=>r);let[n,t]=e[0],o=e.slice(1);return a(n,t,{get children(){return h(o,r)}})}function A(e){return r=>{let n=s(e);return r.children(n)}}function R(e,r){let n=s(e);return n===e.defaultValue?r():n}function f(e){let r=v(e),n=t=>(t.debug,r.Provider({value:t.value,get children(){return t.children},debug:t.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:r.id,Provider:C(n),defaultValue:e}}function s(e){let r=p(e);return r!==void 0?r:e.defaultValue}export{h as composeProviders,A as createConsumer,f as createContext,S as createContextWithProvider,a as createProvider,s as useContext,R as useProvide};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var c=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var S=(e,r)=>{for(var t in r)c(e,t,{get:r[t],enumerable:!0})},A=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of g(r))!b.call(e,o)&&o!==t&&c(e,o,{get:()=>r[o],enumerable:!(n=m(r,o))||n.enumerable});return e};var R=e=>A(c({},"__esModule",{value:!0}),e);var k={};S(k,{composeProviders:()=>l,createConsumer:()=>T,createContext:()=>u,createContextWithProvider:()=>x,createProvider:()=>d,useContext:()=>a,useProvide:()=>f});module.exports=R(k);var v=require("@fluixi/dom"),i=require("@fluixi/reactive/signal"),p=require("@fluixi/reactive/signal"),C=!1;function V(){C||(C=!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,r,t){let n=!!e?.Provider,o=n?e:e.context,s=n?r:e.value,h=n?!1:e.debug??!1;n||V();let y=typeof s=="function"?s():s,P=n?t:e;return o.Provider({value:y,get children(){return P?.children},debug:h})}function x(e){let r=u(e);return[r,n=>d(r,n.value,n)]}function l(e,r){if(e.length===0)return(0,p.readChildren)(()=>r);let[t,n]=e[0],o=e.slice(1);return d(t,n,{get children(){return l(o,r)}})}function T(e){return r=>{let t=a(e);return r.children(t)}}function f(e,r){let t=a(e);return t===e.defaultValue?r():t}function u(e){let r=(0,i.createContext)(e),t=n=>(n.debug,r.Provider({value:n.value,get children(){return n.children},debug:n.debug}));return typeof Symbol<"u"&&Symbol.for&&(t.$$typeof=Symbol.for("react.provider")),t.$$typeof=Symbol.for("react.provider"),{id:r.id,Provider:(0,v.asProvider)(t),defaultValue:e}}function a(e){let r=(0,i.useContext)(e);return r!==void 0?r:e.defaultValue}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{asProvider as
|
|
1
|
+
import{asProvider as p}from"@fluixi/dom";import{createContext as x,useContext as T}from"@fluixi/reactive/signal";import{readChildren as f}from"@fluixi/reactive/signal";var s=!1;function h(){s||(s=!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,r,n){let t=!!e?.Provider,o=t?e:e.context,i=t?r:e.value,u=t?!1:e.debug??!1;t||h();let C=typeof i=="function"?i():i,v=t?n:e;return o.Provider({value:C,get children(){return v?.children},debug:u})}function y(e){let r=l(e);return[r,t=>d(r,t.value,t)]}function c(e,r){if(e.length===0)return f(()=>r);let[n,t]=e[0],o=e.slice(1);return d(n,t,{get children(){return c(o,r)}})}function P(e){return r=>{let n=a(e);return r.children(n)}}function m(e,r){let n=a(e);return n===e.defaultValue?r():n}function l(e){let r=x(e),n=t=>(t.debug,r.Provider({value:t.value,get children(){return t.children},debug:t.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:r.id,Provider:p(n),defaultValue:e}}function a(e){let r=T(e);return r!==void 0?r:e.defaultValue}export{c as composeProviders,P as createConsumer,l as createContext,y as createContextWithProvider,d as createProvider,a as useContext,m as useProvide};
|
package/dist/src/lib/core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var te=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var rt=Object.prototype.hasOwnProperty;var ot=(e,t)=>{for(var n in t)te(e,n,{get:t[n],enumerable:!0})},it=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of nt(t))!rt.call(e,o)&&o!==n&&te(e,o,{get:()=>t[o],enumerable:!(r=tt(t,o))||r.enumerable});return e};var st=e=>it(te({},"__esModule",{value:!0}),e);var It={};ot(It,{$component:()=>z,Await:()=>pe,ClientOnly:()=>h.ClientOnly,Dynamic:()=>h.Dynamic,ErrorBoundary:()=>h.ErrorBoundary,FRAMEWORK_NAME:()=>Ze,For:()=>h.For,Index:()=>h.Index,Island:()=>T.Island,Link:()=>Q,Match:()=>h.Match,NoSsr:()=>h.NoSsr,Portal:()=>h.Portal,Router:()=>Y,Show:()=>h.Show,Store:()=>R.Store,Suspense:()=>K,SuspenseList:()=>le,Switch:()=>h.Switch,VERSION:()=>Qe,addClass:()=>c.addClass,appendChildren:()=>c.appendChildren,batch:()=>a.batch,classMap:()=>T.classMap,cleanupDelegation:()=>Ve,clientOnly:()=>Je,closest:()=>c.closest,composeProviders:()=>ge,createComponent:()=>I,createComputed:()=>a.createComputed,createConsumer:()=>$e,createContext:()=>L,createContextWithProvider:()=>Ue,createDebounce:()=>S.createDebounce,createDebouncedResource:()=>S.createDebouncedResource,createDebouncedSignal:()=>S.createDebouncedSignal,createDeferred:()=>a.createDeferred,createEffect:()=>a.createEffect,createIsomorphicState:()=>he,createIsomorphicStore:()=>Be,createMemo:()=>a.createMemo,createMemoryStorage:()=>Te,createProvider:()=>J,createRenderEffect:()=>a.createRenderEffect,createResource:()=>a.createResource,createRoot:()=>a.createRoot,createSelector:()=>S.createSelector,createSignal:()=>a.createSignal,createStore:()=>R.createStore,createTheme:()=>Xe,default:()=>Dt,deferred:()=>fe,delegate:()=>c.delegate,domCreateElement:()=>c.createElement,effect:()=>a.effect,env:()=>U,getAttribute:()=>c.getAttribute,getOffset:()=>c.getOffset,getOwner:()=>a.getOwner,getStyle:()=>c.getStyle,hasClass:()=>c.hasClass,html:()=>ee.html,hydrateIslands:()=>T.hydrateIslands,initDelegation:()=>_e,isClient:()=>ve,isJSXElement:()=>de,isLitResult:()=>ue,isNode:()=>ce,isRenderable:()=>Fe,isServer:()=>xe,isVisible:()=>c.isVisible,lazy:()=>N,memo:()=>a.memo,mergeProps:()=>T.mergeProps,observeIntersection:()=>c.observeIntersection,observeResize:()=>c.observeResize,onCleanup:()=>a.onCleanup,onMount:()=>V,onUnmount:()=>j,portal:()=>Ne,query:()=>c.query,queryAll:()=>c.queryAll,read:()=>_.readSignal,reduce:()=>_.reduceSignal,removeAttribute:()=>c.removeAttribute,removeChildren:()=>c.removeChildren,removeClass:()=>c.removeClass,render:()=>ye,resource:()=>a.resource,runWithOwner:()=>a.runWithOwner,scrollIntoView:()=>c.scrollIntoView,setAttribute:()=>c.setAttribute,setOwner:()=>a.setOwner,setStyles:()=>c.setStyles,signal:()=>a.signal,splitProps:()=>T.splitProps,storage:()=>H,styleMap:()=>T.styleMap,svg:()=>ee.svg,toggleClass:()=>c.toggleClass,untrack:()=>a.untrack,untrackStore:()=>R.untrackStore,unwrap:()=>R.unwrap,useCallback:()=>ae,useContext:()=>E,useEffect:()=>W,useEventListener:()=>se,useLocation:()=>Ge,useMemo:()=>re,useNavigate:()=>G,useParams:()=>Ye,useProvide:()=>ze,useReducer:()=>ie,useRef:()=>oe,useRouter:()=>M,waitForElement:()=>c.waitForElement});module.exports=st(It);var a=require("@fluixi/reactive/signal"),S=require("@fluixi/reactive/signal"),_=require("@fluixi/reactive/operators");var Ie=require("@fluixi/reactive/signal");var Re=require("@fluixi/dom");var Pe="1.0.0-alpha.78";var A=require("@fluixi/dom");(0,Re.registerCoreVersion)(Pe);var O=require("@fluixi/dom");var $=require("@fluixi/dom"),f=require("@fluixi/reactive/signal");var ne=Symbol.for("fluixi-lifecycle");function Ae(){let e=(0,f.getOwner)();if(!e)return null;if(!e[ne]){let t={mounts:[],effects:[],scheduled:!1};e[ne]=t}return e[ne]}function ke(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,f.getOwner)();queueMicrotask(()=>{if((0,f.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,f.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,f.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,f.createEffect)(()=>{r&&r(),r=n()}),(0,f.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function D(e){(0,$.registerCreateComponent)(I)}function I(e,t){return z(e,t)}function z(e,t){let n=typeof e=="function"?(0,f.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,f.isSignal)(n)){try{n.$name=e.name}catch{}return(0,$.asComponent)(n)}return n}function V(e,t=!0){let n=Ae();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),ke(n)}else{if(!t){e();return}(0,f.createEffect)(()=>{let r=(0,f.untrack)(e);typeof r=="function"&&(0,f.onCleanup)(r)})}}function j(e){(0,f.onCleanup)(e)}function W(e){let t=Ae();if(t)t.effects.push(e),ke(t);else{let n;(0,f.createEffect)(()=>{n&&n(),n=e()}),(0,f.onCleanup)(()=>{n&&n()})}}function re(e){return(0,f.createMemo)(e)}function oe(e){let t={current:e};return(0,f.onCleanup)(()=>{t.current=null}),t}function ie(e,t){let[n,r]=(0,f.createSignal)(t);return[n,s=>{r(e(n(),s))}]}function se(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 ae(e){return e}var m=require("@fluixi/reactive/signal"),C=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 Oe(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 Le=(0,m.createContext)();function K(e){return(0,C.createComponent)(at,e)}function at(e){let t=(0,m.createSuspenseBoundary)(),n=(0,m.useContext)(Le),r=n?n.register(t.inFallback):void 0;function o(d){return d==null||typeof d=="boolean"?null:typeof d=="function"&&(0,C.isComponent)(d)&&!(0,m.isSignal)(d)?d():d}let s=(0,C.runWithoutHydration)(()=>o(e.fallback??null)),i=(0,m.provideSuspense)(t,()=>(0,m.readChildren)(()=>e.children)),u=(d,w)=>{if(!(w>8))if(Array.isArray(d))for(let we of d)u(we,w+1);else typeof d=="function"&&(0,m.isSignal)(d)&&u(d(),w+1)};(0,m.provideSuspense)(t,()=>{(0,m.createRenderEffect)(()=>u(i,0))});let[l,g]=(0,m.createSignal)(void 0),v=Oe(i);return v&&(t.increment(),i.then(d=>{g(()=>d),t.decrement()},()=>t.decrement())),(0,m.createMemo)(()=>{let d=r?r.showFallback():t.inFallback();return process.env.FX_DEBUG&&console.log("[s] output; showFallback:",d),d?s:v?l():i})}function le(e){return(0,C.createComponent)(ct,e)}function ct(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let i=r.every(u=>!u.inFallback());r.forEach(u=>{u.setShowContent(i),u.setShowFallback(!i)})}else{let i=t==="backwards"?[...r].reverse():r,u=!1;for(let l of i)u||l.inFallback()?(u=!0,l.setShowContent(!1),l.setShowFallback(n!=="hidden")):(l.setShowContent(!0),l.setShowFallback(!1))}}let s={register:i=>{let[u,l]=(0,m.createSignal)(!0),[g,v]=(0,m.createSignal)(!1);return r.push({inFallback:i,setShowContent:l,setShowFallback:v}),(0,m.createEffect)(()=>{i(),o()}),{showContent:u,showFallback:g}}};return Le.Provider({value:s,children:e.children})}(0,C.asSuspense)(K);Object.defineProperty(K,"__suspense",{value:!0,enumerable:!0});var k=require("@fluixi/reactive/signal");function N(e,t){let n,r,o;function s(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&s();let i=(u=>{if(n){let l=n;return(0,k.untrack)(()=>l(u))}if(!o){let[l]=(0,k.createResource)(()=>s(),{transport:!1});if(o=l,l.error)throw l.error}return(0,k.createMemo)(()=>{let l=o();return l?(0,k.untrack)(()=>l(u)):void 0},void 0,{name:"lazy"})});return i.preload=()=>s().then(()=>{}),i.$lazy=!0,i.loader=e,i}var q=require("@fluixi/reactive/signal"),Me=require("@fluixi/dom/utils");var Ee=typeof window>"u";function fe(e,t){let n=t.export??"default",r=N(()=>e().then(s=>{let i=s[n];if(typeof i!="function")throw new Error(`deferred(): module has no '${n}' export (got ${typeof i}).`);return{default:i}}),{fallback:t.fallback});function o(s){if(t.strategy.kind==="never")return Ee?r(s):null;if(Ee||t.strategy.kind==="eager")return r(s);let[i,u]=(0,q.createSignal)(!1),l=()=>{r.preload().then(()=>u(!0))},g=t.strategy.kind==="visible"?ut():void 0;return dt(t.strategy,l,g),(0,q.createMemo)(()=>i()?r(s):g??t.fallback??null,void 0,{name:"deferred"})}return o.preload=r.preload,o}function ut(){let e=document.createElement("span");return e.setAttribute("data-fx-load","visible"),e.style.display="block",e}function dt(e,t,n){let r=!1,o=()=>{r||(r=!0,t())};switch(e.kind){case"idle":{let s=globalThis.requestIdleCallback;s?s(o):setTimeout(o,1);return}case"visible":{if(!n||typeof IntersectionObserver>"u"){o();return}let s=(0,Me.observeIntersection)(n,i=>{i&&(s(),o())},{rootMargin:e.rootMargin??"0px"});return}case"interaction":{let s=()=>{for(let i of e.events)document.removeEventListener(i,s,!0);o()};for(let i of e.events)document.addEventListener(i,s,{capture:!0,passive:!0});return}case"media":{if(typeof matchMedia>"u"){o();return}let s=matchMedia(e.query);if(s.matches){o();return}let i=u=>{u.matches&&(s.removeEventListener("change",i),o())};s.addEventListener("change",i);return}default:o()}}var De=require("@fluixi/reactive/signal");function pe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=(0,De.createResource)(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var me=typeof window>"u";function ye(e,t,n={}){if(D("render"),(0,O.delegateEvents)(["click","input","change","submit"]),me)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,Ie.createRoot)(o=>{r=o;let s=typeof e=="function"?e():e;t.textContent="",(0,A.stampVersions)(t),(0,A.warnOnVersionSkew)(),(0,O.insert)(t,()=>s)}),()=>{r&&(r(),r=void 0)}}function lt(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ne(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=ye(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function Fe(e){return!!(e==null||typeof e=="function"||(0,O.isDOMNode)(e)||lt(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function _e(){me||(0,O.delegateEvents)(["click","input","change","submit"])}function Ve(){}var Ke=require("@fluixi/dom"),B=require("@fluixi/reactive/signal"),He=require("@fluixi/reactive/signal");D("index");var je=!1;function ft(){je||(je=!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,o=r?e:e.context,s=r?t:e.value,i=r?!1:e.debug??!1;r||ft();let u=typeof s=="function"?s():s,l=r?n:e;return o.Provider({value:u,get children(){return l?.children},debug:i})}function Ue(e){let t=L(e);return[t,r=>J(t,r.value,r)]}function ge(e,t){if(e.length===0)return(0,He.readChildren)(()=>t);let[n,r]=e[0],o=e.slice(1);return J(n,r,{get children(){return ge(o,t)}})}function $e(e){return t=>{let n=E(e);return t.children(n)}}function ze(e,t){let n=E(e);return n===e.defaultValue?t():n}function L(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,Ke.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"),We=require("@fluixi/dom"),pt="__fluixi_iso_states__",mt="__iso:";function yt(){return globalThis[pt]??=new Map}function qe(e){if(typeof window>"u")return;let t=(0,We.getServerData)();return t?t[mt+e]:void 0}function he(e,t){let n=qe(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,s]=(0,X.createSignal)(r);return yt().set(e,{server:t.server,set:s}),{value:o,set:s,key:e}}function Be(e,t){let n=qe(e)!==void 0,r=he(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,s=d=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(d))}catch{}},i=d=>{r.set(d),s(d)},u=(d,w)=>{i({...o(),[d]:w})},l={};for(let d of Object.keys(t.fallback))l[d]=(0,X.createMemo)(()=>o()[d]);let g=null;return{value:o,fields:l,set:i,setField:u,ensureInit:()=>n||!t.client?Promise.resolve():(g||(g=Promise.resolve(t.client()).then(d=>{i(d)}).catch(d=>{throw g=null,d})),g),key:e}}var xe=typeof document>"u",ve=!xe;function Te(){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 H=typeof localStorage<"u"?localStorage:Te(),U={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Je(e,t){return ve?e():t}var Ce=require("@fluixi/reactive/signal");function gt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Xe(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=gt(e.system),o=()=>{let x=H.getItem(t);return x&&e.themes.includes(x)?x:r&&U.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[s,i]=(0,Ce.createSignal)(o()),[u,l]=(0,Ce.createSignal)(!1),g=x=>{U.document?.documentElement.setAttribute(n,x);try{H.setItem(t,x)}catch{}},v=x=>{if(!e.themes.includes(x))return;let et=s();i(()=>x),g(x),e.onChange?.(x,et),e.load&&(l(!0),e.onLoading?.(x),Promise.resolve(e.load(x)).finally(()=>{l(!1),e.onLoaded?.(x)}))};return{value:s,isLoading:u,set:v,toggle:()=>{let x=e.themes.indexOf(s());v(e.themes[(x+1)%e.themes.length])},init:()=>g(s()),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>`}}var p=require("@fluixi/reactive/signal"),y=require("@fluixi/dom"),P=require("@fluixi/reactive/signal"),Ct=require("@fluixi/utils/object"),bt=require("@fluixi/utils/compare"),F=require("@fluixi/router"),Z=require("@fluixi/router");var be=require("@fluixi/reactive/signal");var ht=new Map;function xt(){ht.clear()}function vt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,s=o.nodeValue||"";(s.startsWith("#")||s.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),xt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(vt,100)});var[Mn,Dn]=(0,be.createSignal)(0);var Tt=L(),In=Tt.Provider;var Mt=require("@fluixi/reactive/signal"),Se=(0,P.createContext)(),St=(0,P.createContext)(),wt=(0,P.createContext)(),Pt=(0,P.createContext)();function Rt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let v=!1;(0,p.onCleanup)(()=>{v=!0});let d=(0,p.getOwner)(),[w]=(0,p.createResource)(()=>o({params:n.params,location:n.location},d,()=>v));r=w}let s=()=>Pt.Provider({value:r,get children(){return wt.Provider({value:e.params,get children(){return St.Provider({value:{depth:t,...n},get children(){return(0,y.createComponent)(e.component,{})}})}})}});if(!r)return s();let i=r,u=()=>i.loading,[l,g]=(0,p.createSignal)((0,p.untrack)(()=>!u()));return(0,p.createEffect)(()=>g(!u())),(0,p.createMemo)(()=>l()?s():null)}function At(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 s=(0,p.untrack)(()=>e.matched())[t];return Rt(s,t,{matched:e.matched,params:e.params,location:e.location})})}function kt(e){return e==null?Ot():typeof e=="function"?(0,y.createComponent)(e,{}):e}function Ot(){let e=(0,y.createNativeElement)("div");(0,y.setAttribute)(e,"class","fx-not-found"),(0,y.setAttribute)(e,"role","main"),(0,y.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,y.createNativeElement)("h1");(0,y.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,y.insert)(t,"404");let n=(0,y.createNativeElement)("p");return(0,y.setAttribute)(n,"style","margin:0;opacity:.7"),(0,y.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function Y(e){let t=e.history??(0,F.createBrowserHistory)(),n=(0,F.createRouter)({routes:e.routes,base:e.base,history:t}),[r,o]=(0,p.createSignal)(n.state()),s=n.subscribe(o);(0,p.onCleanup)(()=>{s(),n.destroy()});let i=(0,p.createMemo)(()=>(r().match?.matched??[]).filter(v=>v.component)),u={router:n,location:(0,p.createMemo)(()=>r().location),params:(0,p.createMemo)(()=>r().match?.params??{})},l={depth:-1,matched:i,params:u.params,location:u.location,notFound:()=>kt(e.notFound)},g;return Se.Provider({value:u,get children(){return g??=At(l)}})}var Lt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function M(){let e=(0,P.useContext)(Se);if(e)return e;if(typeof window>"u")return Lt;throw new Error("[router-next] useRouter must be used within <Router>")}function Ye(){let e=M().params;return(0,p.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ge(){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 G(){let{router:e}=M();return(t,n)=>e.navigate(t,n)}var b=e=>typeof e=="function"?e():e,Et=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function Q(e){let t=(0,P.useContext)(Se),n=typeof document>"u",r=()=>t?.router.navigate(b(e.href)??"",{replace:b(e.replace)}),o=(0,y.createNativeElement)("a");(0,y.setAttribute)(o,"href",b(e.href)??""),e.slot&&(0,y.setAttribute)(o,"slot",b(e.slot));for(let i of Object.keys(e)){if(Et.has(i))continue;let u=e[i];u!=null&&typeof u!="function"&&(0,y.setAttribute)(o,i,String(u))}if(typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=b(e.className??e.class)??"";i&&(0,y.setAttribute)(o,"class",i)}typeof o.addEventListener=="function"&&(0,p.createEffect)(()=>{let i=b(e.href)??"";o.setAttribute("href",i);let u=b(e.className??e.class)??"",l=b(e.activeClass)??"",g=b(e.active)??t?.location().pathname===i;o.className=[u,g?l:""].filter(Boolean).join(" ")});let s=e.children;return s!=null&&(0,y.insert)(o,s),o}var ee=require("@fluixi/dom"),c=require("@fluixi/dom"),T=require("@fluixi/dom");var h=require("@fluixi/dom");var R=require("@fluixi/reactive/store"),Qe="0.0.1",Ze="Fluixi";var Dt={createComponent:I,onMount:V,onUnmount:j,createEffect:a.createEffect,createMemo:a.createMemo,createSignal:a.createSignal,createContext:L,createRoot:a.createRoot,createDeferred:a.createDeferred,createComputed:a.createComputed,createRenderEffect:a.createRenderEffect,createSelector:S.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:M,useNavigate:G,read:_.readSignal,reduce:_.reduceSignal,VERSION:Qe,FRAMEWORK_NAME:Ze};D("fluixi element main");
|
|
1
|
+
"use strict";var Z=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var nt=Object.prototype.hasOwnProperty;var rt=(e,t)=>{for(var n in t)Z(e,n,{get:t[n],enumerable:!0})},ot=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of tt(t))!nt.call(e,o)&&o!==n&&Z(e,o,{get:()=>t[o],enumerable:!(r=et(t,o))||r.enumerable});return e};var it=e=>ot(Z({},"__esModule",{value:!0}),e);var Dt={};rt(Dt,{$component:()=>te,Await:()=>fe,ClientOnly:()=>h.ClientOnly,Dynamic:()=>h.Dynamic,ErrorBoundary:()=>h.ErrorBoundary,FRAMEWORK_NAME:()=>Qe,For:()=>h.For,Index:()=>h.Index,Island:()=>T.Island,Link:()=>Y,Match:()=>h.Match,NoSsr:()=>h.NoSsr,Portal:()=>h.Portal,Router:()=>J,Show:()=>h.Show,Store:()=>R.Store,Suspense:()=>j,SuspenseList:()=>de,Switch:()=>h.Switch,VERSION:()=>Ge,addClass:()=>c.addClass,appendChildren:()=>c.appendChildren,batch:()=>a.batch,classMap:()=>T.classMap,cleanupDelegation:()=>_e,clientOnly:()=>Be,closest:()=>c.closest,composeProviders:()=>ye,createComponent:()=>F,createComputed:()=>a.createComputed,createConsumer:()=>Ue,createContext:()=>L,createContextWithProvider:()=>He,createDebounce:()=>S.createDebounce,createDebouncedResource:()=>S.createDebouncedResource,createDebouncedSignal:()=>S.createDebouncedSignal,createDeferred:()=>a.createDeferred,createEffect:()=>a.createEffect,createIsomorphicState:()=>ge,createIsomorphicStore:()=>qe,createMemo:()=>a.createMemo,createMemoryStorage:()=>ve,createProvider:()=>q,createRenderEffect:()=>a.createRenderEffect,createResource:()=>a.createResource,createRoot:()=>a.createRoot,createSelector:()=>S.createSelector,createSignal:()=>a.createSignal,createStore:()=>R.createStore,createTheme:()=>Je,default:()=>Mt,deferred:()=>le,delegate:()=>c.delegate,domCreateElement:()=>c.createElement,effect:()=>a.effect,env:()=>H,getAttribute:()=>c.getAttribute,getOffset:()=>c.getOffset,getOwner:()=>a.getOwner,getStyle:()=>c.getStyle,hasClass:()=>c.hasClass,html:()=>Q.html,hydrateIslands:()=>T.hydrateIslands,initDelegation:()=>Fe,isClient:()=>xe,isJSXElement:()=>ue,isLitResult:()=>ce,isNode:()=>ae,isRenderable:()=>Ne,isServer:()=>he,isVisible:()=>c.isVisible,lazy:()=>D,memo:()=>a.memo,mergeProps:()=>T.mergeProps,observeIntersection:()=>c.observeIntersection,observeResize:()=>c.observeResize,onCleanup:()=>a.onCleanup,onMount:()=>_,onUnmount:()=>V,portal:()=>Ie,query:()=>c.query,queryAll:()=>c.queryAll,read:()=>N.readSignal,reduce:()=>N.reduceSignal,removeAttribute:()=>c.removeAttribute,removeChildren:()=>c.removeChildren,removeClass:()=>c.removeClass,render:()=>me,resource:()=>a.resource,runWithOwner:()=>a.runWithOwner,scrollIntoView:()=>c.scrollIntoView,setAttribute:()=>c.setAttribute,setOwner:()=>a.setOwner,setStyles:()=>c.setStyles,signal:()=>a.signal,splitProps:()=>T.splitProps,storage:()=>K,styleMap:()=>T.styleMap,svg:()=>Q.svg,toggleClass:()=>c.toggleClass,untrack:()=>a.untrack,untrackStore:()=>R.untrackStore,unwrap:()=>R.unwrap,useCallback:()=>se,useContext:()=>E,useEffect:()=>$,useEventListener:()=>ie,useLocation:()=>Ye,useMemo:()=>ne,useNavigate:()=>X,useParams:()=>Xe,useProvide:()=>$e,useReducer:()=>oe,useRef:()=>re,useRouter:()=>M,waitForElement:()=>c.waitForElement});module.exports=it(Dt);var a=require("@fluixi/reactive/signal"),S=require("@fluixi/reactive/signal"),N=require("@fluixi/reactive/operators");var De=require("@fluixi/reactive/signal");var Pe=require("@fluixi/dom");var we="1.0.0-alpha.80";var A=require("@fluixi/dom");(0,Pe.registerCoreVersion)(we);var O=require("@fluixi/dom");var U=require("@fluixi/dom"),f=require("@fluixi/reactive/signal");var ee=Symbol.for("fluixi-lifecycle");function Re(){let e=(0,f.getOwner)();if(!e)return null;if(!e[ee]){let t={mounts:[],effects:[],scheduled:!1};e[ee]=t}return e[ee]}function Ae(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,f.getOwner)();queueMicrotask(()=>{if((0,f.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,f.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,f.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,f.createEffect)(()=>{r&&r(),r=n()}),(0,f.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function F(e,t){return(0,U.createComponent)(e,t)}function te(e,t){let n=typeof e=="function"?(0,f.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,f.isSignal)(n)){try{n.$name=e.name}catch{}return(0,U.asComponent)(n)}return n}function _(e,t=!0){let n=Re();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ae(n)}else{if(!t){e();return}(0,f.createEffect)(()=>{let r=(0,f.untrack)(e);typeof r=="function"&&(0,f.onCleanup)(r)})}}function V(e){(0,f.onCleanup)(e)}function $(e){let t=Re();if(t)t.effects.push(e),Ae(t);else{let n;(0,f.createEffect)(()=>{n&&n(),n=e()}),(0,f.onCleanup)(()=>{n&&n()})}}function ne(e){return(0,f.createMemo)(e)}function re(e){let t={current:e};return(0,f.onCleanup)(()=>{t.current=null}),t}function oe(e,t){let[n,r]=(0,f.createSignal)(t);return[n,s=>{r(e(n(),s))}]}function ie(e,t,n,r){$(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function se(e){return e}var m=require("@fluixi/reactive/signal"),C=require("@fluixi/dom");function ae(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function ce(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 ue(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var Oe=(0,m.createContext)();function j(e){return(0,C.createComponent)(st,e)}function st(e){let t=(0,m.createSuspenseBoundary)(),n=(0,m.useContext)(Oe),r=n?n.register(t.inFallback):void 0;function o(d){return d==null||typeof d=="boolean"?null:typeof d=="function"&&(0,C.isComponent)(d)&&!(0,m.isSignal)(d)?d():d}let s=(0,C.runWithoutHydration)(()=>o(e.fallback??null)),i=(0,m.provideSuspense)(t,()=>(0,m.readChildren)(()=>e.children)),u=(d,w)=>{if(!(w>8))if(Array.isArray(d))for(let Se of d)u(Se,w+1);else typeof d=="function"&&(0,m.isSignal)(d)&&u(d(),w+1)};(0,m.provideSuspense)(t,()=>{(0,m.createRenderEffect)(()=>u(i,0))});let[l,g]=(0,m.createSignal)(void 0),v=ke(i);return v&&(t.increment(),i.then(d=>{g(()=>d),t.decrement()},()=>t.decrement())),(0,m.createMemo)(()=>{let d=r?r.showFallback():t.inFallback();return process.env.FX_DEBUG&&console.log("[s] output; showFallback:",d),d?s:v?l():i})}function de(e){return(0,C.createComponent)(at,e)}function at(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let i=r.every(u=>!u.inFallback());r.forEach(u=>{u.setShowContent(i),u.setShowFallback(!i)})}else{let i=t==="backwards"?[...r].reverse():r,u=!1;for(let l of i)u||l.inFallback()?(u=!0,l.setShowContent(!1),l.setShowFallback(n!=="hidden")):(l.setShowContent(!0),l.setShowFallback(!1))}}let s={register:i=>{let[u,l]=(0,m.createSignal)(!0),[g,v]=(0,m.createSignal)(!1);return r.push({inFallback:i,setShowContent:l,setShowFallback:v}),(0,m.createEffect)(()=>{i(),o()}),{showContent:u,showFallback:g}}};return Oe.Provider({value:s,children:e.children})}(0,C.asSuspense)(j);Object.defineProperty(j,"__suspense",{value:!0,enumerable:!0});var k=require("@fluixi/reactive/signal");function D(e,t){let n,r,o;function s(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&s();let i=(u=>{if(n){let l=n;return(0,k.untrack)(()=>l(u))}if(!o){let[l]=(0,k.createResource)(()=>s(),{transport:!1});if(o=l,l.error)throw l.error}return(0,k.createMemo)(()=>{let l=o();return l?(0,k.untrack)(()=>l(u)):void 0},void 0,{name:"lazy"})});return i.preload=()=>s().then(()=>{}),i.$lazy=!0,i.loader=e,i}var z=require("@fluixi/reactive/signal"),Ee=require("@fluixi/dom/utils");var Le=typeof window>"u";function le(e,t){let n=t.export??"default",r=D(()=>e().then(s=>{let i=s[n];if(typeof i!="function")throw new Error(`deferred(): module has no '${n}' export (got ${typeof i}).`);return{default:i}}),{fallback:t.fallback});function o(s){if(t.strategy.kind==="never")return Le?r(s):null;if(Le||t.strategy.kind==="eager")return r(s);let[i,u]=(0,z.createSignal)(!1),l=()=>{r.preload().then(()=>u(!0))},g=t.strategy.kind==="visible"?ct():void 0;return ut(t.strategy,l,g),(0,z.createMemo)(()=>i()?r(s):g??t.fallback??null,void 0,{name:"deferred"})}return o.preload=r.preload,o}function ct(){let e=document.createElement("span");return e.setAttribute("data-fx-load","visible"),e.style.display="block",e}function ut(e,t,n){let r=!1,o=()=>{r||(r=!0,t())};switch(e.kind){case"idle":{let s=globalThis.requestIdleCallback;s?s(o):setTimeout(o,1);return}case"visible":{if(!n||typeof IntersectionObserver>"u"){o();return}let s=(0,Ee.observeIntersection)(n,i=>{i&&(s(),o())},{rootMargin:e.rootMargin??"0px"});return}case"interaction":{let s=()=>{for(let i of e.events)document.removeEventListener(i,s,!0);o()};for(let i of e.events)document.addEventListener(i,s,{capture:!0,passive:!0});return}case"media":{if(typeof matchMedia>"u"){o();return}let s=matchMedia(e.query);if(s.matches){o();return}let i=u=>{u.matches&&(s.removeEventListener("change",i),o())};s.addEventListener("change",i);return}default:o()}}var Me=require("@fluixi/reactive/signal");function fe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=(0,Me.createResource)(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var pe=typeof window>"u";function me(e,t,n={}){if((0,O.delegateEvents)(["click","input","change","submit"]),pe)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,De.createRoot)(o=>{r=o;let s=typeof e=="function"?e():e;t.textContent="",(0,A.stampVersions)(t),(0,A.warnOnVersionSkew)(),(0,O.insert)(t,()=>s)}),()=>{r&&(r(),r=void 0)}}function dt(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ie(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 Ne(e){return!!(e==null||typeof e=="function"||(0,O.isDOMNode)(e)||dt(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Fe(){pe||(0,O.delegateEvents)(["click","input","change","submit"])}function _e(){}var je=require("@fluixi/dom"),W=require("@fluixi/reactive/signal"),Ke=require("@fluixi/reactive/signal"),Ve=!1;function lt(){Ve||(Ve=!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,s=r?t:e.value,i=r?!1:e.debug??!1;r||lt();let u=typeof s=="function"?s():s,l=r?n:e;return o.Provider({value:u,get children(){return l?.children},debug:i})}function He(e){let t=L(e);return[t,r=>q(t,r.value,r)]}function ye(e,t){if(e.length===0)return(0,Ke.readChildren)(()=>t);let[n,r]=e[0],o=e.slice(1);return q(n,r,{get children(){return ye(o,t)}})}function Ue(e){return t=>{let n=E(e);return t.children(n)}}function $e(e,t){let n=E(e);return n===e.defaultValue?t():n}function L(e){let t=(0,W.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,je.asProvider)(n),defaultValue:e}}function E(e){let t=(0,W.useContext)(e);return t!==void 0?t:e.defaultValue}var B=require("@fluixi/reactive/signal"),ze=require("@fluixi/dom"),ft="__fluixi_iso_states__",pt="__iso:";function mt(){return globalThis[ft]??=new Map}function We(e){if(typeof window>"u")return;let t=(0,ze.getServerData)();return t?t[pt+e]:void 0}function ge(e,t){let n=We(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,s]=(0,B.createSignal)(r);return mt().set(e,{server:t.server,set:s}),{value:o,set:s,key:e}}function qe(e,t){let n=We(e)!==void 0,r=ge(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,s=d=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(d))}catch{}},i=d=>{r.set(d),s(d)},u=(d,w)=>{i({...o(),[d]:w})},l={};for(let d of Object.keys(t.fallback))l[d]=(0,B.createMemo)(()=>o()[d]);let g=null;return{value:o,fields:l,set:i,setField:u,ensureInit:()=>n||!t.client?Promise.resolve():(g||(g=Promise.resolve(t.client()).then(d=>{i(d)}).catch(d=>{throw g=null,d})),g),key:e}}var he=typeof document>"u",xe=!he;function ve(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var K=typeof localStorage<"u"?localStorage:ve(),H={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Be(e,t){return xe?e():t}var Te=require("@fluixi/reactive/signal");function yt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Je(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=yt(e.system),o=()=>{let x=K.getItem(t);return x&&e.themes.includes(x)?x:r&&H.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[s,i]=(0,Te.createSignal)(o()),[u,l]=(0,Te.createSignal)(!1),g=x=>{H.document?.documentElement.setAttribute(n,x);try{K.setItem(t,x)}catch{}},v=x=>{if(!e.themes.includes(x))return;let Ze=s();i(()=>x),g(x),e.onChange?.(x,Ze),e.load&&(l(!0),e.onLoading?.(x),Promise.resolve(e.load(x)).finally(()=>{l(!1),e.onLoaded?.(x)}))};return{value:s,isLoading:u,set:v,toggle:()=>{let x=e.themes.indexOf(s());v(e.themes[(x+1)%e.themes.length])},init:()=>g(s()),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>`}}var p=require("@fluixi/reactive/signal"),y=require("@fluixi/dom"),P=require("@fluixi/reactive/signal"),Tt=require("@fluixi/utils/object"),Ct=require("@fluixi/utils/compare"),I=require("@fluixi/router"),G=require("@fluixi/router");var Ce=require("@fluixi/reactive/signal");var gt=new Map;function ht(){gt.clear()}function xt(){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,s=o.nodeValue||"";(s.startsWith("#")||s.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),ht()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(xt,100)});var[Ln,En]=(0,Ce.createSignal)(0);var vt=L(),Mn=vt.Provider;var Et=require("@fluixi/reactive/signal"),be=(0,P.createContext)(),bt=(0,P.createContext)(),St=(0,P.createContext)(),wt=(0,P.createContext)();function Pt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let v=!1;(0,p.onCleanup)(()=>{v=!0});let d=(0,p.getOwner)(),[w]=(0,p.createResource)(()=>o({params:n.params,location:n.location},d,()=>v));r=w}let s=()=>wt.Provider({value:r,get children(){return St.Provider({value:e.params,get children(){return bt.Provider({value:{depth:t,...n},get children(){return(0,y.createComponent)(e.component,{})}})}})}});if(!r)return s();let i=r,u=()=>i.loading,[l,g]=(0,p.createSignal)((0,p.untrack)(()=>!u()));return(0,p.createEffect)(()=>g(!u())),(0,p.createMemo)(()=>l()?s():null)}function Rt(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 s=(0,p.untrack)(()=>e.matched())[t];return Pt(s,t,{matched:e.matched,params:e.params,location:e.location})})}function At(e){return e==null?kt():typeof e=="function"?(0,y.createComponent)(e,{}):e}function kt(){let e=(0,y.createNativeElement)("div");(0,y.setAttribute)(e,"class","fx-not-found"),(0,y.setAttribute)(e,"role","main"),(0,y.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,y.createNativeElement)("h1");(0,y.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,y.insert)(t,"404");let n=(0,y.createNativeElement)("p");return(0,y.setAttribute)(n,"style","margin:0;opacity:.7"),(0,y.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function J(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()),s=n.subscribe(o);(0,p.onCleanup)(()=>{s(),n.destroy()});let i=(0,p.createMemo)(()=>(r().match?.matched??[]).filter(v=>v.component)),u={router:n,location:(0,p.createMemo)(()=>r().location),params:(0,p.createMemo)(()=>r().match?.params??{})},l={depth:-1,matched:i,params:u.params,location:u.location,notFound:()=>At(e.notFound)},g;return be.Provider({value:u,get children(){return g??=Rt(l)}})}var Ot={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function M(){let e=(0,P.useContext)(be);if(e)return e;if(typeof window>"u")return Ot;throw new Error("[router] useRouter must be used within <Router>")}function Xe(){let e=M().params;return(0,p.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ye(){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 X(){let{router:e}=M();return(t,n)=>e.navigate(t,n)}var b=e=>typeof e=="function"?e():e,Lt=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function Y(e){let t=(0,P.useContext)(be),n=typeof document>"u",r=()=>t?.router.navigate(b(e.href)??"",{replace:b(e.replace)}),o=(0,y.createNativeElement)("a");(0,y.setAttribute)(o,"href",b(e.href)??""),e.slot&&(0,y.setAttribute)(o,"slot",b(e.slot));for(let i of Object.keys(e)){if(Lt.has(i))continue;let u=e[i];u!=null&&typeof u!="function"&&(0,y.setAttribute)(o,i,String(u))}if(typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=b(e.className??e.class)??"";i&&(0,y.setAttribute)(o,"class",i)}typeof o.addEventListener=="function"&&(0,p.createEffect)(()=>{let i=b(e.href)??"";o.setAttribute("href",i);let u=b(e.className??e.class)??"",l=b(e.activeClass)??"",g=b(e.active)??t?.location().pathname===i;o.className=[u,g?l:""].filter(Boolean).join(" ")});let s=e.children;return s!=null&&(0,y.insert)(o,s),o}var Q=require("@fluixi/dom"),c=require("@fluixi/dom"),T=require("@fluixi/dom");var h=require("@fluixi/dom");var R=require("@fluixi/reactive/store"),Ge="0.0.1",Qe="Fluixi";var Mt={createComponent:F,onMount:_,onUnmount:V,createEffect:a.createEffect,createMemo:a.createMemo,createSignal:a.createSignal,createContext:L,createRoot:a.createRoot,createDeferred:a.createDeferred,createComputed:a.createComputed,createRenderEffect:a.createRenderEffect,createSelector:S.createSelector,onCleanup:a.onCleanup,getOwner:a.getOwner,runWithOwner:a.runWithOwner,batch:a.batch,untrack:a.untrack,useContext:E,setOwner:a.setOwner,Router:J,Link:Y,useRouter:M,useNavigate:X,read:N.readSignal,reduce:N.reduceSignal,VERSION:Ge,FRAMEWORK_NAME:Qe};
|
package/dist/src/lib/core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Fluixi — a compiler-native reactive framework
|
|
3
|
-
* @module
|
|
3
|
+
* @module fluixi
|
|
4
4
|
* @version 0.0.1
|
|
5
5
|
*
|
|
6
6
|
* Fluixi compiles JSX and `html` templates into direct DOM calls over the fine-grained
|
|
@@ -34,7 +34,7 @@ export * from './context/index.js';
|
|
|
34
34
|
export { createIsomorphicState, createIsomorphicStore, type IsomorphicState, type IsomorphicOptions, type IsomorphicStore, type IsomorphicStoreOptions, } from './isomorphic.js';
|
|
35
35
|
export { isServer, isClient, storage, createMemoryStorage, env, clientOnly, } from './env/index.js';
|
|
36
36
|
export { createTheme, type Theme, type ThemeOptions } from './theme/index.js';
|
|
37
|
-
import { Link, Router, useNavigate, useRouter } from './router
|
|
37
|
+
import { Link, Router, useNavigate, useRouter } from './router/index.js';
|
|
38
38
|
export { html, svg } from '@fluixi/dom';
|
|
39
39
|
export type { TemplateResult, Reactive } from '@fluixi/dom';
|
|
40
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';
|
|
@@ -44,8 +44,8 @@ export { createStore, untrackStore, unwrap, Store } from '@fluixi/reactive/store
|
|
|
44
44
|
export type { Accessor, Setter, Signal, SignalOptions, MemoOptions, Resource, } from '@fluixi/reactive/signal';
|
|
45
45
|
export type { ReadSignal } from '@fluixi/reactive/operators';
|
|
46
46
|
export { render, portal, isRenderable, initDelegation, cleanupDelegation, createComponent, onMount, onUnmount, useEffect, useRef, useReducer, useMemo, useEventListener, useCallback, lazy, deferred, Suspense, SuspenseList, Await, isNode, isLitResult, isJSXElement, $component, type RenderOptions, type SuspenseProps, type SuspenseListProps, type AwaitProps, type LazyOptions, type DeferredOptions, type LoadStrategy, type Component, type ComponentProps, type LifecycleCallback, type LazyComponent, type RefObject, } from './render/index.js';
|
|
47
|
-
export { Router, Link, useRouter, useLocation, useNavigate, useParams, } from './router
|
|
48
|
-
export type { RouterLocation as Location, RouteDefinition, NavigateOptions, } from './router
|
|
47
|
+
export { Router, Link, useRouter, useLocation, useNavigate, useParams, } from './router/index.js';
|
|
48
|
+
export type { RouterLocation as Location, RouteDefinition, NavigateOptions, } from './router/index.js';
|
|
49
49
|
/**
|
|
50
50
|
* Framework version
|
|
51
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAEL,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,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;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Fluixi — a compiler-native reactive framework
|
|
3
|
-
* @module
|
|
3
|
+
* @module fluixi
|
|
4
4
|
* @version 0.0.1
|
|
5
5
|
*
|
|
6
6
|
* Fluixi compiles JSX and `html` templates into direct DOM calls over the fine-grained
|
|
@@ -28,7 +28,6 @@
|
|
|
28
28
|
import {
|
|
29
29
|
// The short API — same primitives, one object instead of a tuple.
|
|
30
30
|
signal, memo, effect, resource, createEffect, createMemo, createSignal, createResource, createRoot, createComputed, createRenderEffect, onCleanup, getOwner, runWithOwner, batch, untrack, createDeferred, setOwner, } from '@fluixi/reactive/signal';
|
|
31
|
-
// } from '@fluixi/core/rx';
|
|
32
31
|
import { createDebounce, createDebouncedResource, createDebouncedSignal, createSelector, } from '@fluixi/reactive/signal';
|
|
33
32
|
import { readSignal as read, reduceSignal as reduce, } from '@fluixi/reactive/operators';
|
|
34
33
|
import {
|
|
@@ -56,8 +55,7 @@ export { createTheme } from './theme/index.js';
|
|
|
56
55
|
// import { createContext, Provider, useContext } from './context/index.js';
|
|
57
56
|
// import { createContext, useContext } from './render/component.js';
|
|
58
57
|
// import { createResource } from './resources/index.js';
|
|
59
|
-
import { Link, Router, useNavigate, useRouter, } from './router
|
|
60
|
-
import { ensureIntegration } from './render/component.js';
|
|
58
|
+
import { Link, Router, useNavigate, useRouter, } from './router/index.js';
|
|
61
59
|
// html`` / svg`` template markers — the no-JSX authoring surface. They live in
|
|
62
60
|
// @fluixi/dom (compiled away by `format: 'lit'`/`both`); re-exported here so
|
|
63
61
|
// `import { html } from '@fluixi/core'` works. Inert typed functions — no lit runtime.
|
|
@@ -126,11 +124,11 @@ isNode, isLitResult, isJSXElement, $component, } from './render/index.js';
|
|
|
126
124
|
// ResourceFetcher,
|
|
127
125
|
// ResourceSource,
|
|
128
126
|
// } from './resources/index.js';
|
|
129
|
-
// Router — from router
|
|
127
|
+
// Router — from router (the framework-agnostic router). The old lit-based router
|
|
130
128
|
// (./router) has been removed: it imported `html` from @fluixi/lit, which dragged lit
|
|
131
|
-
// (extends HTMLElement at module init) into the core/SSR graph. router
|
|
129
|
+
// (extends HTMLElement at module init) into the core/SSR graph. router is the
|
|
132
130
|
// only router now; `<Router routes={...}/>` replaces the old `<Routes>`/`<Route>` JSX.
|
|
133
|
-
export { Router, Link, useRouter, useLocation, useNavigate, useParams, } from './router
|
|
131
|
+
export { Router, Link, useRouter, useLocation, useNavigate, useParams, } from './router/index.js';
|
|
134
132
|
// Web Component support moved to @fluixi/element (now in the wc-element repo).
|
|
135
133
|
// Import { defineElement, FluixiElement, createComponent, ... } from '@fluixi/element'.
|
|
136
134
|
/**
|
|
@@ -190,4 +188,3 @@ export default {
|
|
|
190
188
|
VERSION,
|
|
191
189
|
FRAMEWORK_NAME,
|
|
192
190
|
};
|
|
193
|
-
ensureIntegration('fluixi element main');
|
package/dist/src/lib/core.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{signal as wo,memo as Po,effect as Ro,resource as Ao,createEffect as Zt,createMemo as en,createSignal as tn,createResource as ko,createRoot as nn,createComputed as rn,createRenderEffect as on,onCleanup as sn,getOwner as an,runWithOwner as cn,batch as un,untrack as dn,createDeferred as ln,setOwner as fn}from"@fluixi/reactive/signal";import{createDebounce as Lo,createDebouncedResource as Eo,createDebouncedSignal as Mo,createSelector as pn}from"@fluixi/reactive/signal";import{readSignal as mn,reduceSignal as yn}from"@fluixi/reactive/operators";import{createRoot as at}from"@fluixi/reactive/signal";import{registerCoreVersion as Ie}from"@fluixi/dom";var J="1.0.0-alpha.78";import{stampVersions as X,warnOnVersionSkew as Y,versions as Sn}from"@fluixi/dom";Ie(J);import{isDOMNode as ct,delegateEvents as Te,insert as ut}from"@fluixi/dom";import{registerCreateComponent as Ne,asComponent as Fe}from"@fluixi/dom";import{untrack as G,onCleanup as g,getOwner as D,createEffect as w,createMemo as Q,createSignal as _e,isSignal as Ve,batch as je,runWithOwner as Z,isOwnerDisposed as Ke}from"@fluixi/reactive/signal";var M=Symbol.for("fluixi-lifecycle");function ee(){let e=D();if(!e)return null;if(!e[M]){let t={mounts:[],effects:[],scheduled:!1};e[M]=t}return e[M]}function te(e){if(e.scheduled)return;e.scheduled=!0;let t=D();queueMicrotask(()=>{if(Ke(t)){e.mounts=[],e.effects=[];return}Z(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&g(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;w(()=>{r&&r(),r=n()}),g(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function h(e){Ne(b)}function b(e,t){return I(e,t)}function I(e,t){let n=typeof e=="function"?G(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!Ve(n)){try{n.$name=e.name}catch{}return Fe(n)}return n}function P(e,t=!0){let n=ee();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),te(n)}else{if(!t){e();return}w(()=>{let r=G(e);typeof r=="function"&&g(r)})}}function R(e){g(e)}function N(e){let t=ee();if(t)t.effects.push(e),te(t);else{let n;w(()=>{n&&n(),n=e()}),g(()=>{n&&n()})}}function ne(e){return Q(e)}function re(e){let t={current:e};return g(()=>{t.current=null}),t}function oe(e,t){let[n,r]=_e(t);return[n,s=>{r(e(n(),s))}]}function ie(e,t,n,r){N(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function se(e){return e}import{createSignal as F,createMemo as He,createEffect as Ue,createRenderEffect as $e,isSignal as ae,readChildren as ze,useContext as We,createContext as qe,createSuspenseBoundary as Be,provideSuspense as ce}from"@fluixi/reactive/signal";import{asSuspense as Je,isComponent as Xe,createComponent as ue,runWithoutHydration as Ye}from"@fluixi/dom";function de(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function le(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function fe(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function pe(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var me=qe();function A(e){return ue(Ge,e)}function Ge(e){let t=Be(),n=We(me),r=n?n.register(t.inFallback):void 0;function o(c){return c==null||typeof c=="boolean"?null:typeof c=="function"&&Xe(c)&&!ae(c)?c():c}let s=Ye(()=>o(e.fallback??null)),i=ce(t,()=>ze(()=>e.children)),a=(c,y)=>{if(!(y>8))if(Array.isArray(c))for(let B of c)a(B,y+1);else typeof c=="function"&&ae(c)&&a(c(),y+1)};ce(t,()=>{$e(()=>a(i,0))});let[u,d]=F(void 0),f=fe(i);return f&&(t.increment(),i.then(c=>{d(()=>c),t.decrement()},()=>t.decrement())),He(()=>{let c=r?r.showFallback():t.inFallback();return process.env.FX_DEBUG&&console.log("[s] output; showFallback:",c),c?s:f?u():i})}function ye(e){return ue(Qe,e)}function Qe(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let i=r.every(a=>!a.inFallback());r.forEach(a=>{a.setShowContent(i),a.setShowFallback(!i)})}else{let i=t==="backwards"?[...r].reverse():r,a=!1;for(let u of i)a||u.inFallback()?(a=!0,u.setShowContent(!1),u.setShowFallback(n!=="hidden")):(u.setShowContent(!0),u.setShowFallback(!1))}}let s={register:i=>{let[a,u]=F(!0),[d,f]=F(!1);return r.push({inFallback:i,setShowContent:u,setShowFallback:f}),Ue(()=>{i(),o()}),{showContent:a,showFallback:d}}};return me.Provider({value:s,children:e.children})}Je(A);Object.defineProperty(A,"__suspense",{value:!0,enumerable:!0});import{untrack as ge,createMemo as Ze,createResource as et}from"@fluixi/reactive/signal";function S(e,t){let n,r,o;function s(){return r||(r=e().then(a=>n=a.default)),r}t?.preload&&s();let i=(a=>{if(n){let u=n;return ge(()=>u(a))}if(!o){let[u]=et(()=>s(),{transport:!1});if(o=u,u.error)throw u.error}return Ze(()=>{let u=o();return u?ge(()=>u(a)):void 0},void 0,{name:"lazy"})});return i.preload=()=>s().then(()=>{}),i.$lazy=!0,i.loader=e,i}import{createMemo as tt,createSignal as nt}from"@fluixi/reactive/signal";import{observeIntersection as rt}from"@fluixi/dom/utils";var he=typeof window>"u";function xe(e,t){let n=t.export??"default",r=S(()=>e().then(s=>{let i=s[n];if(typeof i!="function")throw new Error(`deferred(): module has no '${n}' export (got ${typeof i}).`);return{default:i}}),{fallback:t.fallback});function o(s){if(t.strategy.kind==="never")return he?r(s):null;if(he||t.strategy.kind==="eager")return r(s);let[i,a]=nt(!1),u=()=>{r.preload().then(()=>a(!0))},d=t.strategy.kind==="visible"?ot():void 0;return it(t.strategy,u,d),tt(()=>i()?r(s):d??t.fallback??null,void 0,{name:"deferred"})}return o.preload=r.preload,o}function ot(){let e=document.createElement("span");return e.setAttribute("data-fx-load","visible"),e.style.display="block",e}function it(e,t,n){let r=!1,o=()=>{r||(r=!0,t())};switch(e.kind){case"idle":{let s=globalThis.requestIdleCallback;s?s(o):setTimeout(o,1);return}case"visible":{if(!n||typeof IntersectionObserver>"u"){o();return}let s=rt(n,i=>{i&&(s(),o())},{rootMargin:e.rootMargin??"0px"});return}case"interaction":{let s=()=>{for(let i of e.events)document.removeEventListener(i,s,!0);o()};for(let i of e.events)document.addEventListener(i,s,{capture:!0,passive:!0});return}case"media":{if(typeof matchMedia>"u"){o();return}let s=matchMedia(e.query);if(s.matches){o();return}let i=a=>{a.matches&&(s.removeEventListener("change",i),o())};s.addEventListener("change",i);return}default:o()}}import{createResource as st}from"@fluixi/reactive/signal";function ve(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=st(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var _=typeof window>"u";function Ce(e,t,n={}){if(h("render"),Te(["click","input","change","submit"]),_)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 at(o=>{r=o;let s=typeof e=="function"?e():e;t.textContent="",X(t),Y(),ut(t,()=>s)}),()=>{r&&(r(),r=void 0)}}function dt(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function lt(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=Ce(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function ft(e){return!!(e==null||typeof e=="function"||ct(e)||dt(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function pt(){_||Te(["click","input","change","submit"])}function mt(){}import{asProvider as yt}from"@fluixi/dom";import{createContext as gt,useContext as ht}from"@fluixi/reactive/signal";import{readChildren as xt}from"@fluixi/reactive/signal";h("index");var be=!1;function vt(){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 V(e,t,n){let r=!!e?.Provider,o=r?e:e.context,s=r?t:e.value,i=r?!1:e.debug??!1;r||vt();let a=typeof s=="function"?s():s,u=r?n:e;return o.Provider({value:a,get children(){return u?.children},debug:i})}function Tt(e){let t=x(e);return[t,r=>V(t,r.value,r)]}function Se(e,t){if(e.length===0)return xt(()=>t);let[n,r]=e[0],o=e.slice(1);return V(n,r,{get children(){return Se(o,t)}})}function Ct(e){return t=>{let n=v(e);return t.children(n)}}function bt(e,t){let n=v(e);return n===e.defaultValue?t():n}function x(e){let t=gt(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:yt(n),defaultValue:e}}function v(e){let t=ht(e);return t!==void 0?t:e.defaultValue}import{createSignal as St,createMemo as wt}from"@fluixi/reactive/signal";import{getServerData as Pt}from"@fluixi/dom";var Rt="__fluixi_iso_states__",At="__iso:";function kt(){return globalThis[Rt]??=new Map}function we(e){if(typeof window>"u")return;let t=Pt();return t?t[At+e]:void 0}function Pe(e,t){let n=we(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,s]=St(r);return kt().set(e,{server:t.server,set:s}),{value:o,set:s,key:e}}function Ot(e,t){let n=we(e)!==void 0,r=Pe(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,s=c=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(c))}catch{}},i=c=>{r.set(c),s(c)},a=(c,y)=>{i({...o(),[c]:y})},u={};for(let c of Object.keys(t.fallback))u[c]=wt(()=>o()[c]);let d=null;return{value:o,fields:u,set:i,setField:a,ensureInit:()=>n||!t.client?Promise.resolve():(d||(d=Promise.resolve(t.client()).then(c=>{i(c)}).catch(c=>{throw d=null,c})),d),key:e}}var Re=typeof document>"u",Ae=!Re;function ke(){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:ke(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Lt(e,t){return Ae?e():t}import{createSignal as Oe}from"@fluixi/reactive/signal";function Et(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Mt(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=Et(e.system),o=()=>{let l=k.getItem(t);return l&&e.themes.includes(l)?l:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[s,i]=Oe(o()),[a,u]=Oe(!1),d=l=>{O.document?.documentElement.setAttribute(n,l);try{k.setItem(t,l)}catch{}},f=l=>{if(!e.themes.includes(l))return;let De=s();i(()=>l),d(l),e.onChange?.(l,De),e.load&&(u(!0),e.onLoading?.(l),Promise.resolve(e.load(l)).finally(()=>{u(!1),e.onLoaded?.(l)}))};return{value:s,isLoading:a,set:f,toggle:()=>{let l=e.themes.indexOf(s());f(e.themes[(l+1)%e.themes.length])},init:()=>d(s()),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>`}}import{createSignal as H,createMemo as T,createResource as Vt,createEffect as U,getOwner as jt,onCleanup as Le,untrack as j}from"@fluixi/reactive/signal";import{insert as K,createComponent as Ee,createNativeElement as L,setAttribute as m}from"@fluixi/dom";import{createContext as E,useContext as Me}from"@fluixi/reactive/signal";import{get as Jr}from"@fluixi/utils/object";import{deepEqual as Yr}from"@fluixi/utils/compare";import{createRouter as Kt,createBrowserHistory as Ht,matchRoutes as Qr,matchPath as Zr}from"@fluixi/router";import{createMemoryHistory as no,createBrowserHistory as ro,matchRoutes as oo,matchPath as io}from"@fluixi/router";import{createResource as Lr,createSignal as Ft}from"@fluixi/reactive/signal";var Dt=new Map;function It(){Dt.clear()}function Nt(){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,s=o.nodeValue||"";(s.startsWith("#")||s.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),It()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(Nt,100)});var[Ir,Nr]=Ft(0);var _t=x(),Fr=_t.Provider;import{runWithOwner as uo}from"@fluixi/reactive/signal";var $=E(),Ut=E(),$t=E(),zt=E();function Wt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let f=!1;Le(()=>{f=!0});let c=jt(),[y]=Vt(()=>o({params:n.params,location:n.location},c,()=>f));r=y}let s=()=>zt.Provider({value:r,get children(){return $t.Provider({value:e.params,get children(){return Ut.Provider({value:{depth:t,...n},get children(){return Ee(e.component,{})}})}})}});if(!r)return s();let i=r,a=()=>i.loading,[u,d]=H(j(()=>!a()));return U(()=>d(!a())),T(()=>u()?s():null)}function qt(e){let t=e.depth+1,[n,r]=H(j(()=>e.matched()[t]?.component));return U(()=>{let o=e.matched()[t]?.component;r(()=>o)}),T(()=>{if(!n())return e.notFound?e.notFound():null;let s=j(()=>e.matched())[t];return Wt(s,t,{matched:e.matched,params:e.params,location:e.location})})}function Bt(e){return e==null?Jt():typeof e=="function"?Ee(e,{}):e}function Jt(){let e=L("div");m(e,"class","fx-not-found"),m(e,"role","main"),m(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=L("h1");m(t,"style","margin:0;font-size:2.5rem;font-weight:700"),K(t,"404");let n=L("p");return m(n,"style","margin:0;opacity:.7"),K(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function z(e){let t=e.history??Ht(),n=Kt({routes:e.routes,base:e.base,history:t}),[r,o]=H(n.state()),s=n.subscribe(o);Le(()=>{s(),n.destroy()});let i=T(()=>(r().match?.matched??[]).filter(f=>f.component)),a={router:n,location:T(()=>r().location),params:T(()=>r().match?.params??{})},u={depth:-1,matched:i,params:a.params,location:a.location,notFound:()=>Bt(e.notFound)},d;return $.Provider({value:a,get children(){return d??=qt(u)}})}var Xt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function C(){let e=Me($);if(e)return e;if(typeof window>"u")return Xt;throw new Error("[router-next] useRouter must be used within <Router>")}function Yt(){let e=C().params;return T(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Gt(){let{location:e}=C();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 W(){let{router:e}=C();return(t,n)=>e.navigate(t,n)}var p=e=>typeof e=="function"?e():e,Qt=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function q(e){let t=Me($),n=typeof document>"u",r=()=>t?.router.navigate(p(e.href)??"",{replace:p(e.replace)}),o=L("a");m(o,"href",p(e.href)??""),e.slot&&m(o,"slot",p(e.slot));for(let i of Object.keys(e)){if(Qt.has(i))continue;let a=e[i];a!=null&&typeof a!="function"&&m(o,i,String(a))}if(typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=p(e.className??e.class)??"";i&&m(o,"class",i)}typeof o.addEventListener=="function"&&U(()=>{let i=p(e.href)??"";o.setAttribute("href",i);let a=p(e.className??e.class)??"",u=p(e.activeClass)??"",d=p(e.active)??t?.location().pathname===i;o.className=[a,d?u:""].filter(Boolean).join(" ")});let s=e.children;return s!=null&&K(o,s),o}import{html as Wo,svg as qo}from"@fluixi/dom";import{query as Jo,queryAll as Xo,closest as Yo,addClass as Go,removeClass as Qo,toggleClass as Zo,hasClass as ei,setAttribute as ti,getAttribute as ni,removeAttribute as ri,setStyles as oi,getStyle as ii,createElement as si,removeChildren as ai,appendChildren as ci,isVisible as ui,scrollIntoView as di,getOffset as li,delegate as fi,waitForElement as pi,observeIntersection as mi,observeResize as yi}from"@fluixi/dom";import{classMap as hi,styleMap as xi,Island as vi,hydrateIslands as Ti,mergeProps as Ci,splitProps as bi}from"@fluixi/dom";import{Show as po,For as mo,Index as yo,Switch as go,Match as ho,Dynamic as xo,ErrorBoundary as vo,Portal as To,ClientOnly as Co,NoSsr as bo}from"@fluixi/dom";import{createStore as Pi,untrackStore as Ri,unwrap as Ai,Store as ki}from"@fluixi/reactive/store";var gn="0.0.1",hn="Fluixi";var Vo={createComponent:b,onMount:P,onUnmount:R,createEffect:Zt,createMemo:en,createSignal:tn,createContext:x,createRoot:nn,createDeferred:ln,createComputed:rn,createRenderEffect:on,createSelector:pn,onCleanup:sn,getOwner:an,runWithOwner:cn,batch:un,untrack:dn,useContext:v,setOwner:fn,Router:z,Link:q,useRouter:C,useNavigate:W,read:mn,reduce:yn,VERSION:gn,FRAMEWORK_NAME:hn};h("fluixi element main");export{I as $component,ve as Await,Co as ClientOnly,xo as Dynamic,vo as ErrorBoundary,hn as FRAMEWORK_NAME,mo as For,yo as Index,vi as Island,q as Link,ho as Match,bo as NoSsr,To as Portal,z as Router,po as Show,ki as Store,A as Suspense,ye as SuspenseList,go as Switch,gn as VERSION,Go as addClass,ci as appendChildren,un as batch,hi as classMap,mt as cleanupDelegation,Lt as clientOnly,Yo as closest,Se as composeProviders,b as createComponent,rn as createComputed,Ct as createConsumer,x as createContext,Tt as createContextWithProvider,Lo as createDebounce,Eo as createDebouncedResource,Mo as createDebouncedSignal,ln as createDeferred,Zt as createEffect,Pe as createIsomorphicState,Ot as createIsomorphicStore,en as createMemo,ke as createMemoryStorage,V as createProvider,on as createRenderEffect,ko as createResource,nn as createRoot,pn as createSelector,tn as createSignal,Pi as createStore,Mt as createTheme,Vo as default,xe as deferred,fi as delegate,si as domCreateElement,Ro as effect,O as env,ni as getAttribute,li as getOffset,an as getOwner,ii as getStyle,ei as hasClass,Wo as html,Ti as hydrateIslands,pt as initDelegation,Ae as isClient,pe as isJSXElement,le as isLitResult,de as isNode,ft as isRenderable,Re as isServer,ui as isVisible,S as lazy,Po as memo,Ci as mergeProps,mi as observeIntersection,yi as observeResize,sn as onCleanup,P as onMount,R as onUnmount,lt as portal,Jo as query,Xo as queryAll,mn as read,yn as reduce,ri as removeAttribute,ai as removeChildren,Qo as removeClass,Ce as render,Ao as resource,cn as runWithOwner,di as scrollIntoView,ti as setAttribute,fn as setOwner,oi as setStyles,wo as signal,bi as splitProps,k as storage,xi as styleMap,qo as svg,Zo as toggleClass,dn as untrack,Ri as untrackStore,Ai as unwrap,se as useCallback,v as useContext,N as useEffect,ie as useEventListener,Gt as useLocation,ne as useMemo,W as useNavigate,Yt as useParams,bt as useProvide,oe as useReducer,re as useRef,C as useRouter,pi as waitForElement};
|
|
1
|
+
import{signal as bo,memo as So,effect as wo,resource as Po,createEffect as Qt,createMemo as Zt,createSignal as en,createResource as Ro,createRoot as tn,createComputed as nn,createRenderEffect as rn,onCleanup as on,getOwner as sn,runWithOwner as an,batch as cn,untrack as un,createDeferred as dn,setOwner as ln}from"@fluixi/reactive/signal";import{createDebounce as ko,createDebouncedResource as Oo,createDebouncedSignal as Lo,createSelector as fn}from"@fluixi/reactive/signal";import{readSignal as pn,reduceSignal as mn}from"@fluixi/reactive/operators";import{createRoot as st}from"@fluixi/reactive/signal";import{registerCoreVersion as De}from"@fluixi/dom";var q="1.0.0-alpha.80";import{stampVersions as B,warnOnVersionSkew as J,versions as bn}from"@fluixi/dom";De(q);import{isDOMNode as at,delegateEvents as ve,insert as ct}from"@fluixi/dom";import{createComponent as Ie,asComponent as Ne}from"@fluixi/dom";import{untrack as X,onCleanup as g,getOwner as M,createEffect as b,createMemo as Y,createSignal as Fe,isSignal as _e,batch as Ve,runWithOwner as G,isOwnerDisposed as je}from"@fluixi/reactive/signal";var E=Symbol.for("fluixi-lifecycle");function Q(){let e=M();if(!e)return null;if(!e[E]){let t={mounts:[],effects:[],scheduled:!1};e[E]=t}return e[E]}function Z(e){if(e.scheduled)return;e.scheduled=!0;let t=M();queueMicrotask(()=>{if(je(t)){e.mounts=[],e.effects=[];return}G(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&g(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;b(()=>{r&&r(),r=n()}),g(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function S(e,t){return Ie(e,t)}function ee(e,t){let n=typeof e=="function"?X(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!_e(n)){try{n.$name=e.name}catch{}return Ne(n)}return n}function w(e,t=!0){let n=Q();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Z(n)}else{if(!t){e();return}b(()=>{let r=X(e);typeof r=="function"&&g(r)})}}function P(e){g(e)}function D(e){let t=Q();if(t)t.effects.push(e),Z(t);else{let n;b(()=>{n&&n(),n=e()}),g(()=>{n&&n()})}}function te(e){return Y(e)}function ne(e){let t={current:e};return g(()=>{t.current=null}),t}function re(e,t){let[n,r]=Fe(t);return[n,s=>{r(e(n(),s))}]}function oe(e,t,n,r){D(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function ie(e){return e}import{createSignal as I,createMemo as Ke,createEffect as He,createRenderEffect as Ue,isSignal as se,readChildren as $e,useContext as ze,createContext as We,createSuspenseBoundary as qe,provideSuspense as ae}from"@fluixi/reactive/signal";import{asSuspense as Be,isComponent as Je,createComponent as ce,runWithoutHydration as Xe}from"@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 le(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function fe(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var pe=We();function R(e){return ce(Ye,e)}function Ye(e){let t=qe(),n=ze(pe),r=n?n.register(t.inFallback):void 0;function o(c){return c==null||typeof c=="boolean"?null:typeof c=="function"&&Je(c)&&!se(c)?c():c}let s=Xe(()=>o(e.fallback??null)),i=ae(t,()=>$e(()=>e.children)),a=(c,y)=>{if(!(y>8))if(Array.isArray(c))for(let W of c)a(W,y+1);else typeof c=="function"&&se(c)&&a(c(),y+1)};ae(t,()=>{Ue(()=>a(i,0))});let[u,d]=I(void 0),f=le(i);return f&&(t.increment(),i.then(c=>{d(()=>c),t.decrement()},()=>t.decrement())),Ke(()=>{let c=r?r.showFallback():t.inFallback();return process.env.FX_DEBUG&&console.log("[s] output; showFallback:",c),c?s:f?u():i})}function me(e){return ce(Ge,e)}function Ge(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let i=r.every(a=>!a.inFallback());r.forEach(a=>{a.setShowContent(i),a.setShowFallback(!i)})}else{let i=t==="backwards"?[...r].reverse():r,a=!1;for(let u of i)a||u.inFallback()?(a=!0,u.setShowContent(!1),u.setShowFallback(n!=="hidden")):(u.setShowContent(!0),u.setShowFallback(!1))}}let s={register:i=>{let[a,u]=I(!0),[d,f]=I(!1);return r.push({inFallback:i,setShowContent:u,setShowFallback:f}),He(()=>{i(),o()}),{showContent:a,showFallback:d}}};return pe.Provider({value:s,children:e.children})}Be(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as ye,createMemo as Qe,createResource as Ze}from"@fluixi/reactive/signal";function C(e,t){let n,r,o;function s(){return r||(r=e().then(a=>n=a.default)),r}t?.preload&&s();let i=(a=>{if(n){let u=n;return ye(()=>u(a))}if(!o){let[u]=Ze(()=>s(),{transport:!1});if(o=u,u.error)throw u.error}return Qe(()=>{let u=o();return u?ye(()=>u(a)):void 0},void 0,{name:"lazy"})});return i.preload=()=>s().then(()=>{}),i.$lazy=!0,i.loader=e,i}import{createMemo as et,createSignal as tt}from"@fluixi/reactive/signal";import{observeIntersection as nt}from"@fluixi/dom/utils";var ge=typeof window>"u";function he(e,t){let n=t.export??"default",r=C(()=>e().then(s=>{let i=s[n];if(typeof i!="function")throw new Error(`deferred(): module has no '${n}' export (got ${typeof i}).`);return{default:i}}),{fallback:t.fallback});function o(s){if(t.strategy.kind==="never")return ge?r(s):null;if(ge||t.strategy.kind==="eager")return r(s);let[i,a]=tt(!1),u=()=>{r.preload().then(()=>a(!0))},d=t.strategy.kind==="visible"?rt():void 0;return ot(t.strategy,u,d),et(()=>i()?r(s):d??t.fallback??null,void 0,{name:"deferred"})}return o.preload=r.preload,o}function rt(){let e=document.createElement("span");return e.setAttribute("data-fx-load","visible"),e.style.display="block",e}function ot(e,t,n){let r=!1,o=()=>{r||(r=!0,t())};switch(e.kind){case"idle":{let s=globalThis.requestIdleCallback;s?s(o):setTimeout(o,1);return}case"visible":{if(!n||typeof IntersectionObserver>"u"){o();return}let s=nt(n,i=>{i&&(s(),o())},{rootMargin:e.rootMargin??"0px"});return}case"interaction":{let s=()=>{for(let i of e.events)document.removeEventListener(i,s,!0);o()};for(let i of e.events)document.addEventListener(i,s,{capture:!0,passive:!0});return}case"media":{if(typeof matchMedia>"u"){o();return}let s=matchMedia(e.query);if(s.matches){o();return}let i=a=>{a.matches&&(s.removeEventListener("change",i),o())};s.addEventListener("change",i);return}default:o()}}import{createResource as it}from"@fluixi/reactive/signal";function xe(e){let t=()=>{let r=e.value;return typeof r=="function"?r():r},[n]=it(t);return()=>{if(n.loading)return e.fallback;let r=e.children;return typeof r=="function"?r(n()):r}}var N=typeof window>"u";function Te(e,t,n={}){if(ve(["click","input","change","submit"]),N)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 st(o=>{r=o;let s=typeof e=="function"?e():e;t.textContent="",B(t),J(),ct(t,()=>s)}),()=>{r&&(r(),r=void 0)}}function ut(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function dt(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=Te(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function lt(e){return!!(e==null||typeof e=="function"||at(e)||ut(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ft(){N||ve(["click","input","change","submit"])}function pt(){}import{asProvider as mt}from"@fluixi/dom";import{createContext as yt,useContext as gt}from"@fluixi/reactive/signal";import{readChildren as ht}from"@fluixi/reactive/signal";var Ce=!1;function xt(){Ce||(Ce=!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 F(e,t,n){let r=!!e?.Provider,o=r?e:e.context,s=r?t:e.value,i=r?!1:e.debug??!1;r||xt();let a=typeof s=="function"?s():s,u=r?n:e;return o.Provider({value:a,get children(){return u?.children},debug:i})}function vt(e){let t=h(e);return[t,r=>F(t,r.value,r)]}function be(e,t){if(e.length===0)return ht(()=>t);let[n,r]=e[0],o=e.slice(1);return F(n,r,{get children(){return be(o,t)}})}function Tt(e){return t=>{let n=x(e);return t.children(n)}}function Ct(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=yt(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:mt(n),defaultValue:e}}function x(e){let t=gt(e);return t!==void 0?t:e.defaultValue}import{createSignal as bt,createMemo as St}from"@fluixi/reactive/signal";import{getServerData as wt}from"@fluixi/dom";var Pt="__fluixi_iso_states__",Rt="__iso:";function At(){return globalThis[Pt]??=new Map}function Se(e){if(typeof window>"u")return;let t=wt();return t?t[Rt+e]:void 0}function we(e,t){let n=Se(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,s]=bt(r);return At().set(e,{server:t.server,set:s}),{value:o,set:s,key:e}}function kt(e,t){let n=Se(e)!==void 0,r=we(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,s=c=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(c))}catch{}},i=c=>{r.set(c),s(c)},a=(c,y)=>{i({...o(),[c]:y})},u={};for(let c of Object.keys(t.fallback))u[c]=St(()=>o()[c]);let d=null;return{value:o,fields:u,set:i,setField:a,ensureInit:()=>n||!t.client?Promise.resolve():(d||(d=Promise.resolve(t.client()).then(c=>{i(c)}).catch(c=>{throw d=null,c})),d),key:e}}var Pe=typeof document>"u",Re=!Pe;function Ae(){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:Ae(),k={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Ot(e,t){return Re?e():t}import{createSignal as ke}from"@fluixi/reactive/signal";function Lt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Et(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=Lt(e.system),o=()=>{let l=A.getItem(t);return l&&e.themes.includes(l)?l:r&&k.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[s,i]=ke(o()),[a,u]=ke(!1),d=l=>{k.document?.documentElement.setAttribute(n,l);try{A.setItem(t,l)}catch{}},f=l=>{if(!e.themes.includes(l))return;let Me=s();i(()=>l),d(l),e.onChange?.(l,Me),e.load&&(u(!0),e.onLoading?.(l),Promise.resolve(e.load(l)).finally(()=>{u(!1),e.onLoaded?.(l)}))};return{value:s,isLoading:a,set:f,toggle:()=>{let l=e.themes.indexOf(s());f(e.themes[(l+1)%e.themes.length])},init:()=>d(s()),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>`}}import{createSignal as j,createMemo as v,createResource as _t,createEffect as K,getOwner as Vt,onCleanup as Oe,untrack as _}from"@fluixi/reactive/signal";import{insert as V,createComponent as Le,createNativeElement as O,setAttribute as m}from"@fluixi/dom";import{createContext as L,useContext as Ee}from"@fluixi/reactive/signal";import{get as qr}from"@fluixi/utils/object";import{deepEqual as Jr}from"@fluixi/utils/compare";import{createRouter as jt,createBrowserHistory as Kt,matchRoutes as Yr,matchPath as Gr}from"@fluixi/router";import{createMemoryHistory as eo,createBrowserHistory as to,matchRoutes as no,matchPath as ro}from"@fluixi/router";import{createResource as kr,createSignal as Nt}from"@fluixi/reactive/signal";var Mt=new Map;function Dt(){Mt.clear()}function It(){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,s=o.nodeValue||"";(s.startsWith("#")||s.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),Dt()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(It,100)});var[Mr,Dr]=Nt(0);var Ft=h(),Ir=Ft.Provider;import{runWithOwner as ao}from"@fluixi/reactive/signal";var H=L(),Ht=L(),Ut=L(),$t=L();function zt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let f=!1;Oe(()=>{f=!0});let c=Vt(),[y]=_t(()=>o({params:n.params,location:n.location},c,()=>f));r=y}let s=()=>$t.Provider({value:r,get children(){return Ut.Provider({value:e.params,get children(){return Ht.Provider({value:{depth:t,...n},get children(){return Le(e.component,{})}})}})}});if(!r)return s();let i=r,a=()=>i.loading,[u,d]=j(_(()=>!a()));return K(()=>d(!a())),v(()=>u()?s():null)}function Wt(e){let t=e.depth+1,[n,r]=j(_(()=>e.matched()[t]?.component));return K(()=>{let o=e.matched()[t]?.component;r(()=>o)}),v(()=>{if(!n())return e.notFound?e.notFound():null;let s=_(()=>e.matched())[t];return zt(s,t,{matched:e.matched,params:e.params,location:e.location})})}function qt(e){return e==null?Bt():typeof e=="function"?Le(e,{}):e}function Bt(){let e=O("div");m(e,"class","fx-not-found"),m(e,"role","main"),m(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=O("h1");m(t,"style","margin:0;font-size:2.5rem;font-weight:700"),V(t,"404");let n=O("p");return m(n,"style","margin:0;opacity:.7"),V(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function U(e){let t=e.history??Kt(),n=jt({routes:e.routes,base:e.base,history:t}),[r,o]=j(n.state()),s=n.subscribe(o);Oe(()=>{s(),n.destroy()});let i=v(()=>(r().match?.matched??[]).filter(f=>f.component)),a={router:n,location:v(()=>r().location),params:v(()=>r().match?.params??{})},u={depth:-1,matched:i,params:a.params,location:a.location,notFound:()=>qt(e.notFound)},d;return H.Provider({value:a,get children(){return d??=Wt(u)}})}var Jt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function T(){let e=Ee(H);if(e)return e;if(typeof window>"u")return Jt;throw new Error("[router] useRouter must be used within <Router>")}function Xt(){let e=T().params;return v(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Yt(){let{location:e}=T();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 $(){let{router:e}=T();return(t,n)=>e.navigate(t,n)}var p=e=>typeof e=="function"?e():e,Gt=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function z(e){let t=Ee(H),n=typeof document>"u",r=()=>t?.router.navigate(p(e.href)??"",{replace:p(e.replace)}),o=O("a");m(o,"href",p(e.href)??""),e.slot&&m(o,"slot",p(e.slot));for(let i of Object.keys(e)){if(Gt.has(i))continue;let a=e[i];a!=null&&typeof a!="function"&&m(o,i,String(a))}if(typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=p(e.className??e.class)??"";i&&m(o,"class",i)}typeof o.addEventListener=="function"&&K(()=>{let i=p(e.href)??"";o.setAttribute("href",i);let a=p(e.className??e.class)??"",u=p(e.activeClass)??"",d=p(e.active)??t?.location().pathname===i;o.className=[a,d?u:""].filter(Boolean).join(" ")});let s=e.children;return s!=null&&V(o,s),o}import{html as Uo,svg as $o}from"@fluixi/dom";import{query as Wo,queryAll as qo,closest as Bo,addClass as Jo,removeClass as Xo,toggleClass as Yo,hasClass as Go,setAttribute as Qo,getAttribute as Zo,removeAttribute as ei,setStyles as ti,getStyle as ni,createElement as ri,removeChildren as oi,appendChildren as ii,isVisible as si,scrollIntoView as ai,getOffset as ci,delegate as ui,waitForElement as di,observeIntersection as li,observeResize as fi}from"@fluixi/dom";import{classMap as mi,styleMap as yi,Island as gi,hydrateIslands as hi,mergeProps as xi,splitProps as vi}from"@fluixi/dom";import{Show as lo,For as fo,Index as po,Switch as mo,Match as yo,Dynamic as go,ErrorBoundary as ho,Portal as xo,ClientOnly as vo,NoSsr as To}from"@fluixi/dom";import{createStore as bi,untrackStore as Si,unwrap as wi,Store as Pi}from"@fluixi/reactive/store";var yn="0.0.1",gn="Fluixi";var No={createComponent:S,onMount:w,onUnmount:P,createEffect:Qt,createMemo:Zt,createSignal:en,createContext:h,createRoot:tn,createDeferred:dn,createComputed:nn,createRenderEffect:rn,createSelector:fn,onCleanup:on,getOwner:sn,runWithOwner:an,batch:cn,untrack:un,useContext:x,setOwner:ln,Router:U,Link:z,useRouter:T,useNavigate:$,read:pn,reduce:mn,VERSION:yn,FRAMEWORK_NAME:gn};export{ee as $component,xe as Await,vo as ClientOnly,go as Dynamic,ho as ErrorBoundary,gn as FRAMEWORK_NAME,fo as For,po as Index,gi as Island,z as Link,yo as Match,To as NoSsr,xo as Portal,U as Router,lo as Show,Pi as Store,R as Suspense,me as SuspenseList,mo as Switch,yn as VERSION,Jo as addClass,ii as appendChildren,cn as batch,mi as classMap,pt as cleanupDelegation,Ot as clientOnly,Bo as closest,be as composeProviders,S as createComponent,nn as createComputed,Tt as createConsumer,h as createContext,vt as createContextWithProvider,ko as createDebounce,Oo as createDebouncedResource,Lo as createDebouncedSignal,dn as createDeferred,Qt as createEffect,we as createIsomorphicState,kt as createIsomorphicStore,Zt as createMemo,Ae as createMemoryStorage,F as createProvider,rn as createRenderEffect,Ro as createResource,tn as createRoot,fn as createSelector,en as createSignal,bi as createStore,Et as createTheme,No as default,he as deferred,ui as delegate,ri as domCreateElement,wo as effect,k as env,Zo as getAttribute,ci as getOffset,sn as getOwner,ni as getStyle,Go as hasClass,Uo as html,hi as hydrateIslands,ft as initDelegation,Re as isClient,fe as isJSXElement,de as isLitResult,ue as isNode,lt as isRenderable,Pe as isServer,si as isVisible,C as lazy,So as memo,xi as mergeProps,li as observeIntersection,fi as observeResize,on as onCleanup,w as onMount,P as onUnmount,dt as portal,Wo as query,qo as queryAll,pn as read,mn as reduce,ei as removeAttribute,oi as removeChildren,Xo as removeClass,Te as render,Po as resource,an as runWithOwner,ai as scrollIntoView,Qo as setAttribute,ln as setOwner,ti as setStyles,bo as signal,vi as splitProps,A as storage,yi as styleMap,$o as svg,Yo as toggleClass,un as untrack,Si as untrackStore,wi as unwrap,ie as useCallback,x as useContext,D as useEffect,oe as useEventListener,Yt as useLocation,te as useMemo,$ as useNavigate,Xt as useParams,Ct as useProvide,re as useReducer,ne as useRef,T as useRouter,di as waitForElement};
|
package/dist/src/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var X=Object.defineProperty;var ke=Object.getOwnPropertyDescriptor;var Ee=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var Oe=(e,t)=>{for(var n in t)X(e,n,{get:t[n],enumerable:!0})},W=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ee(t))!Re.call(e,i)&&i!==n&&X(e,i,{get:()=>t[i],enumerable:!(r=ke(t,i))||r.enumerable});return e},re=(e,t,n)=>(W(e,t,"default"),n&&W(n,t,"default"));var Le=e=>W(X({},"__esModule",{value:!0}),e);var Ke={};Oe(Ke,{$component:()=>B,ClientOnly:()=>u.ClientOnly,DEV:()=>P,Dynamic:()=>u.Dynamic,ErrorBoundary:()=>u.ErrorBoundary,FRAMEWORK_NAME:()=>te,For:()=>u.For,Fragment:()=>x.Fragment,Index:()=>u.Index,Match:()=>u.Match,NoSsr:()=>u.NoSsr,Portal:()=>u.Portal,Show:()=>u.Show,Store:()=>g.Store,Suspense:()=>_,Switch:()=>u.Switch,VERSION:()=>ee,addClass:()=>a.addClass,batch:()=>s.batch,classMap:()=>z.classMap,cleanupDelegation:()=>me,composeProviders:()=>Q,createComponent:()=>w,createComputed:()=>s.createComputed,createConsumer:()=>he,createContext:()=>F,createContextWithProvider:()=>Ce,createDebounce:()=>V.createDebounce,createDeferred:()=>s.createDeferred,createEffect:()=>s.createEffect,createIsomorphicState:()=>be,createMemo:()=>s.createMemo,createProvider:()=>N,createRenderEffect:()=>s.createRenderEffect,createResource:()=>s.createResource,createRoot:()=>s.createRoot,createSelector:()=>V.createSelector,createSignal:()=>s.createSignal,createStore:()=>g.createStore,default:()=>ze,delegateEvents:()=>a.delegateEvents,devOnly:()=>G,getFrameworkInfo:()=>ge,getOwner:()=>s.getOwner,getSharedConfig:()=>q,hydrate:()=>a.hydrate,initDelegation:()=>le,insert:()=>a.insert,isDOMNode:()=>a.isDOMNode,isDev:()=>H,isLitTemplateResult:()=>a.isLitTemplateResult,isRenderable:()=>pe,jsx:()=>x.jsx,jsxs:()=>x.jsxs,lazy:()=>j,onCleanup:()=>s.onCleanup,onMount:()=>k,onUnmount:()=>E,portal:()=>fe,read:()=>$.readSignal,reduce:()=>$.reduceSignal,removeClass:()=>a.removeClass,render:()=>I,runWithOwner:()=>s.runWithOwner,setAttribute:()=>a.setAttribute,setOwner:()=>s.setOwner,setProperty:()=>a.setProperty,spread:()=>a.spread,styleMap:()=>z.styleMap,toggleClass:()=>a.toggleClass,untrack:()=>s.untrack,untrackStore:()=>g.untrackStore,useCallback:()=>M,useContext:()=>b,useEffect:()=>S,useEventListener:()=>A,useMemo:()=>R,useProvide:()=>Te,useReducer:()=>L,useRef:()=>O});module.exports=Le(Ke);var s=require("@fluixi/reactive/signal"),V=require("@fluixi/reactive/signal"),$=require("@fluixi/reactive/operators"),g=require("@fluixi/reactive/store");var de=require("@fluixi/reactive/signal");var se=require("@fluixi/dom");var oe="1.0.0-alpha.80";var C=require("@fluixi/dom");(0,se.registerCoreVersion)(oe);var T=require("@fluixi/dom");var D=require("@fluixi/dom"),o=require("@fluixi/reactive/signal"),Ae={context:null,owner:null};function q(){return Ae}var P=typeof process<"u"&&!1,J=Symbol.for("fluixi-lifecycle");function ie(){let e=(0,o.getOwner)();if(!e)return null;if(!e[J]){let t={mounts:[],effects:[],scheduled:!1};e[J]=t}return e[J]}function ae(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,o.getOwner)();queueMicrotask(()=>{if((0,o.isOwnerDisposed)(t)){e.mounts=[],e.effects=[];return}(0,o.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,o.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,o.createEffect)(()=>{r&&r(),r=n()}),(0,o.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function w(e,t){return(0,D.createComponent)(e,t)}function B(e,t){let n=typeof e=="function"?(0,o.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,o.isSignal)(n)){try{n.$name=e.name}catch{}return(0,D.asComponent)(n)}return n}function k(e,t=!0){let n=ie();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),ae(n)}else{if(!t){e();return}(0,o.createEffect)(()=>{let r=(0,o.untrack)(e);typeof r=="function"&&(0,o.onCleanup)(r)})}}function E(e){(0,o.onCleanup)(e)}function S(e){let t=ie();if(t)t.effects.push(e),ae(t);else{let n;(0,o.createEffect)(()=>{n&&n(),n=e()}),(0,o.onCleanup)(()=>{n&&n()})}}function R(e){return(0,o.createMemo)(e)}function O(e){let t={current:e};return(0,o.onCleanup)(()=>{t.current=null}),t}function L(e,t){let[n,r]=(0,o.createSignal)(t);return[n,f=>{r(e(n(),f))}]}function A(e,t,n,r){S(()=>{let i=e&&"current"in e?e.current:e;if(i)return i.addEventListener(t,n,r),()=>{i.removeEventListener(t,n,r)}})}function M(e){return e}function H(){return P}function G(e){P&&e()}var c=require("@fluixi/reactive/signal"),v=require("@fluixi/dom");function ce(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Me=(0,c.createContext)();function _(e){return(0,v.createComponent)(_e,e)}function _e(e){let t=(0,c.createSuspenseBoundary)(),n=(0,c.useContext)(Me),r=n?n.register(t.inFallback):void 0;function i(d){return d==null||typeof d=="boolean"?null:typeof d=="function"&&(0,v.isComponent)(d)&&!(0,c.isSignal)(d)?d():d}let f=(0,v.runWithoutHydration)(()=>i(e.fallback??null)),m=(0,c.provideSuspense)(t,()=>(0,c.readChildren)(()=>e.children)),y=(d,K)=>{if(!(K>8))if(Array.isArray(d))for(let we of d)y(we,K+1);else typeof d=="function"&&(0,c.isSignal)(d)&&y(d(),K+1)};(0,c.provideSuspense)(t,()=>{(0,c.createRenderEffect)(()=>y(m,0))});let[l,Pe]=(0,c.createSignal)(void 0),ne=ce(m);return ne&&(t.increment(),m.then(d=>{Pe(()=>d),t.decrement()},()=>t.decrement())),(0,c.createMemo)(()=>{let d=r?r.showFallback():t.inFallback();return process.env.FX_DEBUG&&console.log("[s] output; showFallback:",d),d?f:ne?l():m})}(0,v.asSuspense)(_);Object.defineProperty(_,"__suspense",{value:!0,enumerable:!0});var h=require("@fluixi/reactive/signal");function j(e,t){let n,r,i;function f(){return r||(r=e().then(y=>n=y.default)),r}t?.preload&&f();let m=(y=>{if(n){let l=n;return(0,h.untrack)(()=>l(y))}if(!i){let[l]=(0,h.createResource)(()=>f(),{transport:!1});if(i=l,l.error)throw l.error}return(0,h.createMemo)(()=>{let l=i();return l?(0,h.untrack)(()=>l(y)):void 0},void 0,{name:"lazy"})});return m.preload=()=>f().then(()=>{}),m.$lazy=!0,m.loader=e,m}var ue=require("@fluixi/reactive/signal"),Ie=require("@fluixi/dom/utils");var Fe=require("@fluixi/reactive/signal");var Y=typeof window>"u";function I(e,t,n={}){if((0,T.delegateEvents)(["click","input","change","submit"]),Y)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,de.createRoot)(i=>{r=i;let f=typeof e=="function"?e():e;t.textContent="",(0,C.stampVersions)(t),(0,C.warnOnVersionSkew)(),(0,T.insert)(t,()=>f)}),()=>{r&&(r(),r=void 0)}}function De(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function fe(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let i=I(e,r,n);return()=>{i(),t.contains(r)&&t.removeChild(r)}}function pe(e){return!!(e==null||typeof e=="function"||(0,T.isDOMNode)(e)||De(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function le(){Y||(0,T.delegateEvents)(["click","input","change","submit"])}function me(){}var xe=require("@fluixi/dom"),U=require("@fluixi/reactive/signal"),ve=require("@fluixi/reactive/signal"),ye=!1;function je(){ye||(ye=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function N(e,t,n){let r=!!e?.Provider,i=r?e:e.context,f=r?t:e.value,m=r?!1:e.debug??!1;r||je();let y=typeof f=="function"?f():f,l=r?n:e;return i.Provider({value:y,get children(){return l?.children},debug:m})}function Ce(e){let t=F(e);return[t,r=>N(t,r.value,r)]}function Q(e,t){if(e.length===0)return(0,ve.readChildren)(()=>t);let[n,r]=e[0],i=e.slice(1);return N(n,r,{get children(){return Q(i,t)}})}function he(e){return t=>{let n=b(e);return t.children(n)}}function Te(e,t){let n=b(e);return n===e.defaultValue?t():n}function F(e){let t=(0,U.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,xe.asProvider)(n),defaultValue:e}}function b(e){let t=(0,U.useContext)(e);return t!==void 0?t:e.defaultValue}var Z=require("@fluixi/reactive/signal"),Se=require("@fluixi/dom"),Ue="__fluixi_iso_states__",Ne="__iso:";function Ve(){return globalThis[Ue]??=new Map}function $e(e){if(typeof window>"u")return;let t=(0,Se.getServerData)();return t?t[Ne+e]:void 0}function be(e,t){let n=$e(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[i,f]=(0,Z.createSignal)(r);return Ve().set(e,{server:t.server,set:f}),{value:i,set:f,key:e}}var z=require("@fluixi/dom");var u=require("@fluixi/dom");var a=require("@fluixi/dom");var x={};re(x,require("@fluixi/jsx/jsx-runtime"));var p=require("@fluixi/reactive/signal");var ee="0.0.1",te="Fluixi";function ge(){return{name:te,version:ee,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}var ze={createSignal:p.createSignal,createEffect:p.createEffect,createMemo:p.createMemo,createRoot:p.createRoot,batch:p.batch,untrack:p.untrack,onCleanup:p.onCleanup,createContext:F,useContext:b,createComponent:w,onMount:k,onUnmount:E,useEffect:S,useMemo:R,useRef:O,useReducer:L,useEventListener:A,useCallback:M,render:I,VERSION:ee,FRAMEWORK_NAME:te,getFrameworkInfo:ge};
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,QAAQ,GACT,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Fluixi - Solid-Compatible Fine-Grained UI Framework
|
|
3
|
-
* @module
|
|
3
|
+
* @module fluixi
|
|
4
4
|
* @version 0.0.1
|
|
5
5
|
*
|
|
6
6
|
* A fine-grained reactive framework following SolidJS principles:
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
// REACTIVE PRIMITIVES (from @fluixi/reactive)
|
|
14
14
|
// ============================================================================
|
|
15
15
|
export { createEffect, createMemo, createSignal, createResource, createRoot, createComputed, createRenderEffect, onCleanup, getOwner, runWithOwner, batch, untrack, createDeferred, setOwner, } from '@fluixi/reactive/signal';
|
|
16
|
-
// } from '@fluixi/core/rx';
|
|
17
16
|
export { createDebounce, createSelector } from '@fluixi/reactive/signal';
|
|
18
17
|
export { readSignal as read, reduceSignal as reduce, } from '@fluixi/reactive/operators';
|
|
19
18
|
export { createStore, untrackStore, Store } from '@fluixi/reactive/store';
|
|
@@ -97,7 +96,7 @@ export function getFrameworkInfo() {
|
|
|
97
96
|
import { createSignal as _createSignal, createEffect as _createEffect, createMemo as _createMemo, createRoot as _createRoot, batch as _batch, untrack as _untrack, onCleanup as _onCleanup, } from '@fluixi/reactive/signal';
|
|
98
97
|
import { createComponent as _createComponent, onMount as _onMount, onUnmount as _onUnmount,
|
|
99
98
|
// lazy as _lazy,
|
|
100
|
-
useEffect as _useEffect, useMemo as _useMemo, useRef as _useRef, useReducer as _useReducer, useEventListener as _useEventListener, useCallback as _useCallback,
|
|
99
|
+
useEffect as _useEffect, useMemo as _useMemo, useRef as _useRef, useReducer as _useReducer, useEventListener as _useEventListener, useCallback as _useCallback, } from './render/component.js';
|
|
101
100
|
import { createContext as _createContext, useContext as _useContext, } from './context/index.js';
|
|
102
101
|
// } from './core/component.js';
|
|
103
102
|
import { render as _render } from './render/index.js';
|
|
@@ -135,4 +134,3 @@ export default {
|
|
|
135
134
|
FRAMEWORK_NAME,
|
|
136
135
|
getFrameworkInfo,
|
|
137
136
|
};
|
|
138
|
-
ensureIntegration('index');
|