@fluixi/core 1.0.0-alpha.73 → 1.0.0-alpha.75

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.
Files changed (51) hide show
  1. package/dist/cdn/core.global.js +1 -1
  2. package/dist/src/cdn/chunk-77RTVCS5.mjs +1 -0
  3. package/dist/src/cdn/core.cjs +1 -1
  4. package/dist/src/cdn/core.mjs +1 -1
  5. package/dist/src/cdn/{router-next-X2F3TRKJ.mjs → router-next-32ZDQIFJ.mjs} +1 -1
  6. package/dist/src/index.cjs +1 -1
  7. package/dist/src/index.mjs +1 -1
  8. package/dist/src/lib/client/{chunk-45GBRHE6.mjs → chunk-7CZ3YHHR.mjs} +1 -1
  9. package/dist/src/lib/client/index.cjs +1 -1
  10. package/dist/src/lib/client/index.mjs +1 -1
  11. package/dist/src/lib/client/{router-next-VUFOX54P.mjs → router-next-NL65GSYA.mjs} +1 -1
  12. package/dist/src/lib/core.cjs +1 -1
  13. package/dist/src/lib/core.mjs +1 -1
  14. package/dist/src/lib/index.cjs +1 -1
  15. package/dist/src/lib/index.mjs +1 -1
  16. package/dist/src/lib/plugins/fluixi-routes-plugin.cjs +6 -11
  17. package/dist/src/lib/plugins/fluixi-routes-plugin.d.ts.map +1 -1
  18. package/dist/src/lib/plugins/fluixi-routes-plugin.js +36 -34
  19. package/dist/src/lib/plugins/fluixi-routes-plugin.mjs +6 -11
  20. package/dist/src/lib/plugins/index.cjs +6 -11
  21. package/dist/src/lib/plugins/index.d.ts +2 -0
  22. package/dist/src/lib/plugins/index.d.ts.map +1 -1
  23. package/dist/src/lib/plugins/index.js +4 -0
  24. package/dist/src/lib/plugins/index.mjs +6 -11
  25. package/dist/src/lib/render/deferred.cjs +1 -1
  26. package/dist/src/lib/render/deferred.mjs +1 -1
  27. package/dist/src/lib/render/index.cjs +1 -1
  28. package/dist/src/lib/render/index.mjs +1 -1
  29. package/dist/src/lib/render/lazy.cjs +1 -1
  30. package/dist/src/lib/render/lazy.d.ts.map +1 -1
  31. package/dist/src/lib/render/lazy.js +5 -1
  32. package/dist/src/lib/render/lazy.mjs +1 -1
  33. package/dist/src/lib/render/versions.cjs +1 -1
  34. package/dist/src/lib/render/versions.mjs +1 -1
  35. package/dist/src/lib/router-next/index.cjs +1 -1
  36. package/dist/src/lib/router-next/index.d.ts +7 -0
  37. package/dist/src/lib/router-next/index.d.ts.map +1 -1
  38. package/dist/src/lib/router-next/index.js +10 -2
  39. package/dist/src/lib/router-next/index.mjs +1 -1
  40. package/dist/src/routes.cjs +1 -0
  41. package/dist/src/routes.d.ts +22 -0
  42. package/dist/src/routes.d.ts.map +1 -0
  43. package/dist/src/routes.js +20 -0
  44. package/dist/src/routes.mjs +1 -0
  45. package/dist/src/version.generated.cjs +1 -1
  46. package/dist/src/version.generated.d.ts +1 -1
  47. package/dist/src/version.generated.js +1 -1
  48. package/dist/src/version.generated.mjs +1 -1
  49. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  50. package/package.json +33 -11
  51. package/dist/src/cdn/chunk-AIX3WBJF.mjs +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluixi/core",
3
- "version": "1.0.0-alpha.73",
3
+ "version": "1.0.0-alpha.75",
4
4
  "license": "MIT",
5
5
  "description": "Solid-Compatible Fine-Grained UI Framework",
6
6
  "private": false,
@@ -56,6 +56,12 @@
56
56
  "require": "./dist/src/lib/i18n/index.cjs",
57
57
  "default": "./dist/src/lib/i18n/index.js"
58
58
  },
59
+ "./routes": {
60
+ "types": "./dist/src/routes.d.ts",
61
+ "import": "./dist/src/routes.mjs",
62
+ "require": "./dist/src/routes.cjs",
63
+ "default": "./dist/src/routes.js"
64
+ },
59
65
  "./router-next": {
60
66
  "types": "./dist/src/lib/router-next/index.d.ts",
61
67
  "import": "./dist/src/lib/router-next/index.mjs",
@@ -83,16 +89,13 @@
83
89
  "./lib/*": "./src/lib/*"
84
90
  },
85
91
  "dependencies": {
86
- "vite-plugin-node-polyfills": "^0.25.0",
87
- "@fluixi/compiler": "1.0.0-alpha.73",
88
- "@fluixi/dom": "1.0.0-alpha.73",
89
- "@fluixi/jsx": "1.0.0-alpha.73",
90
- "@fluixi/vite-plugin": "1.0.0-alpha.73",
92
+ "@fluixi/dom": "1.0.0-alpha.75",
93
+ "@fluixi/jsx": "1.0.0-alpha.75",
94
+ "@fluixi/reactive": "1.0.0-alpha.75",
91
95
  "@fluixi/router": "0.1.2-alpha.3",
92
- "@fluixi/reactive": "1.0.0-alpha.73",
93
- "@fluixi/server": "1.0.0-alpha.73",
94
- "@fluixi/utils": "1.0.0-alpha.73",
95
- "@fluixi/head": "1.0.0-alpha.40"
96
+ "@fluixi/server": "1.0.0-alpha.75",
97
+ "@fluixi/utils": "1.0.0-alpha.75",
98
+ "@fluixi/head": "1.0.0-alpha.42"
96
99
  },
97
100
  "devDependencies": {
98
101
  "@bambiste/mix-builder": "^0.1.0",
@@ -106,13 +109,32 @@
106
109
  "typescript": "^5.0.0",
107
110
  "vite": "^5.0.0",
108
111
  "vitest": "^1.0.0",
109
- "execa": "^9.6.1"
112
+ "execa": "^9.6.1",
113
+ "vite-plugin-node-polyfills": "^0.25.0",
114
+ "@fluixi/compiler": "1.0.0-alpha.75",
115
+ "@fluixi/vite-plugin": "1.0.0-alpha.75"
110
116
  },
111
117
  "repository": {
112
118
  "type": "git",
113
119
  "url": "https://github.com/fluixi/core.git",
114
120
  "directory": "packages/core"
115
121
  },
122
+ "peerDependencies": {
123
+ "vite-plugin-node-polyfills": "^0.25.0",
124
+ "@fluixi/compiler": "1.0.0-alpha.75",
125
+ "@fluixi/vite-plugin": "1.0.0-alpha.75"
126
+ },
127
+ "peerDependenciesMeta": {
128
+ "@fluixi/compiler": {
129
+ "optional": true
130
+ },
131
+ "@fluixi/vite-plugin": {
132
+ "optional": true
133
+ },
134
+ "vite-plugin-node-polyfills": {
135
+ "optional": true
136
+ }
137
+ },
116
138
  "scripts": {
117
139
  "build:typings": "tsc -p tsconfig.lib.json",
118
140
  "build": "node ../../scripts/gen-version.mjs && pnpm run build:typings && cross-env NODE_ENV=production mix-builder && cp types/fluixi.d.ts dist/fluixi.d.ts && pnpm run build:cdn",
@@ -1 +0,0 @@
1
- var ie=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var ue=Object.prototype.hasOwnProperty;var M=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ce(t))!ue.call(e,o)&&o!==n&&ie(e,o,{get:()=>t[o],enumerable:!(r=se(t,o))||r.enumerable});return e},nt=(e,t,n)=>(M(e,t,"default"),n&&M(n,t,"default"));import{createSignal as E,createMemo as d,createResource as Ie,createEffect as L,getOwner as Ke,onCleanup as D,untrack as O}from"@fluixi/reactive/signal";import{insert as T,createComponent as G,createNativeElement as x,setAttribute as u}from"@fluixi/dom";import{createContext as C,useContext as y}from"@fluixi/reactive/signal";import{get as ze}from"@fluixi/utils/object";import{deepEqual as We}from"@fluixi/utils/compare";import{createRouter as $e,createBrowserHistory as qe,matchRoutes as Be,matchPath as Je}from"@fluixi/router";import{createMemoryHistory as hn,createBrowserHistory as vn,matchRoutes as Tn,matchPath as Cn}from"@fluixi/router";import{createResource as Ee,createSignal as B}from"@fluixi/reactive/signal";var N=!1,v=new Map;function _(){return N}function ot(e){N=e}function H(e,t){v.set(e,t)}function V(e){return v.get(e)}function de(){v.clear()}function at(){if(typeof window>"u")return!1;let e=document.getElementById("__FLUIXI_HYDRATION__");if(!e||e.getAttribute("type")!=="application/json")return!1;try{let t=e.textContent||"{}",n=JSON.parse(t);for(let[r,o]of Object.entries(n))v.set(r,o);return!0}catch(t){return console.error("Failed to deserialize hydration data:",t),!1}}function fe(){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,a=o.nodeValue||"";(a.startsWith("#")||a.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),de()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(fe,100)});function j(){return typeof window>"u"}import{asProvider as Re}from"@fluixi/dom";import{createContext as Pe,useContext as we}from"@fluixi/reactive/signal";import{readChildren as Ae}from"@fluixi/reactive/signal";import{registerCreateComponent as le,asComponent as pe}from"@fluixi/dom";import{untrack as F,onCleanup as p,getOwner as U,createEffect as P,createMemo as ye,createSignal as me,isSignal as ge,batch as dt,runWithOwner as xe,isOwnerDisposed as he}from"@fluixi/reactive/signal";var ve={context:null,owner:null};function vt(){return ve}var I=typeof process<"u"&&!1,R=Symbol.for("fluixi-lifecycle");function K(){let e=U();if(!e)return null;if(!e[R]){let t={mounts:[],effects:[],scheduled:!1};e[R]=t}return e[R]}function z(e){if(e.scheduled)return;e.scheduled=!0;let t=U();queueMicrotask(()=>{if(he(t)){e.mounts=[],e.effects=[];return}xe(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&p(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;P(()=>{r&&r(),r=n()}),p(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function W(e){le(Te)}function Te(e,t){return Ce(e,t)}function Ce(e,t){let n=typeof e=="function"?F(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!ge(n)){try{n.$name=e.name}catch{}return pe(n)}return n}function Tt(e,t=!0){let n=K();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),z(n)}else{if(!t){e();return}P(()=>{let r=F(e);typeof r=="function"&&p(r)})}}function Ct(e){p(e)}function be(e){let t=K();if(t)t.effects.push(e),z(t);else{let n;P(()=>{n&&n(),n=e()}),p(()=>{n&&n()})}}function bt(e){return ye(e)}function Rt(e){let t={current:e};return p(()=>{t.current=null}),t}function Pt(e,t){let[n,r]=me(t);return[n,a=>{r(e(n(),a))}]}function wt(e,t,n,r){be(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function At(e){return e}function St(){return I}function Ot(e){I&&e()}W("index");var $=!1;function Se(){$||($=!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,a=r?t:e.value,i=r?!1:e.debug??!1;r||Se();let s=typeof a=="function"?a():a,c=r?n:e;return o.Provider({value:s,get children(){return c?.children},debug:i})}function Ht(e){let t=w(e);return[t,r=>q(t,r.value,r)]}function Oe(e,t){if(e.length===0)return Ae(()=>t);let[n,r]=e[0],o=e.slice(1);return q(n,r,{get children(){return Oe(o,t)}})}function Vt(e){return t=>{let n=A(e);return t.children(n)}}function jt(e,t){let n=A(e);return n===e.defaultValue?t():n}function w(e){let t=Pe(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:Re(n),defaultValue:e}}function A(e){let t=we(e);return t!==void 0?t:e.defaultValue}var g=new Map,m=new Map;function Le(e,t){return async(...n)=>{let r=t+":"+JSON.stringify(n);if(_()||typeof window<"u"){let a=V(r);if(a!==void 0)return a}if(g.has(r))return g.get(r);if(m.has(r))return m.get(r);let o=Promise.resolve(e(...n)).then(a=>(g.set(r,a),m.delete(r),j()&&H(r,a),a),a=>{throw m.delete(r),a});return m.set(r,o),o}}var[Wt,De]=B(0),ke=new Set;function Me(e){let t=typeof e=="string"?n=>n.startsWith(e):e;for(let n of g.keys())t(n)&&(g.delete(n),ke.add(n));De(n=>n+1)}function Ne(e,t){let[n]=Ee(t||(()=>!0),e);return n}var S=new Map;function J(e){return S.has(e)||S.set(e,B(void 0)),S.get(e)}function X(e,t){let n=t||e.name||"action",r=async o=>{let[,a]=J(n),i=()=>a(void 0),s=()=>r(o);a({input:o,pending:!0,clear:i,retry:s});try{let c=await e(o);return a({input:o,result:c,pending:!1,clear:i,retry:s}),c}catch(c){throw a({input:o,error:c,pending:!1,clear:i,retry:s}),c}};return r.url=n,r.with=o=>X((...a)=>e(o,...a),t),r}function _e(e){let[t]=J(e.url);return t}function He(e){return e}var Ve=w(),$t=Ve.Provider;import{untrack as Y,createMemo as je,createResource as Fe}from"@fluixi/reactive/signal";function Ue(e,t){let n,r,o;function a(){return r||(r=e().then(s=>n=s.default)),r}t?.preload&&a();let i=(s=>{if(n){let c=n;return Y(()=>c(s))}if(!o){let[c]=Fe(()=>a());if(o=c,c.error)throw c.error}return je(()=>{let c=o();return c?Y(()=>c(s)):void 0},void 0,{name:"lazy"})});return i.preload=()=>a().then(()=>{}),i.$lazy=!0,i.loader=e,i}import{runWithOwner as wn}from"@fluixi/reactive/signal";var b=C(),Q=C(),Z=C(),ee=C();function Xe(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let h=!1;D(()=>{h=!0});let oe=Ke(),[ae]=Ie(()=>o({params:n.params,location:n.location},oe,()=>h));r=ae}let a=()=>ee.Provider({value:r,get children(){return Z.Provider({value:e.params,get children(){return Q.Provider({value:{depth:t,...n},get children(){return G(e.component,{})}})}})}});if(!r)return a();let i=r,s=()=>i.loading,[c,f]=E(O(()=>!s()));return L(()=>f(!s())),d(()=>c()?a():null)}function te(e){let t=e.depth+1,[n,r]=E(O(()=>e.matched()[t]?.component));return L(()=>{let o=e.matched()[t]?.component;r(()=>o)}),d(()=>{if(!n())return e.notFound?e.notFound():null;let a=O(()=>e.matched())[t];return Xe(a,t,{matched:e.matched,params:e.params,location:e.location})})}function Ye(e){return e==null?Ge():typeof e=="function"?G(e,{}):e}function Ge(){let e=x("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 t=x("h1");u(t,"style","margin:0;font-size:2.5rem;font-weight:700"),T(t,"404");let n=x("p");return u(n,"style","margin:0;opacity:.7"),T(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function nn(e){let t=e.history??qe(),n=$e({routes:e.routes,base:e.base,history:t}),[r,o]=E(n.state()),a=n.subscribe(o);D(()=>{a(),n.destroy()});let i=d(()=>(r().match?.matched??[]).filter(h=>h.component)),s={router:n,location:d(()=>r().location),params:d(()=>r().match?.params??{})},c={depth:-1,matched:i,params:s.params,location:s.location,notFound:()=>Ye(e.notFound)},f;return b.Provider({value:s,get children(){return f??=te(c)}})}function rn(){let e=y(Q);return e?te(e):null}function on(e){let t=y(b);if(!t||typeof window>"u")return null;let n=!1;return D(()=>n=!0),queueMicrotask(()=>{n||t.router.navigate(e.to,{replace:e.replace!==!1})}),null}var Qe={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function k(){let e=y(b);if(e)return e;if(typeof window>"u")return Qe;throw new Error("[router-next] useRouter must be used within <Router>")}function ne(){let e=k().params;return d(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function an(){return y(Z)??{}}function sn(e){let t=ne();return d(()=>t()[e])}function cn(e,t){let n=ne();return d(()=>e(n()),void 0,t?{equals:t}:void 0)}function un(e){let t=re();return d(()=>Je(typeof e=="function"?e():e,t.pathname))}function dn(){let e=re(),t=Ze();return[d(()=>e.query),(o,a)=>{let i=new URLSearchParams(e.search);for(let[c,f]of Object.entries(o))f===null?i.delete(c):i.set(c,f);let s=i.toString();t(e.pathname+(s?`?${s}`:""),a)}]}function fn(e,t){let n=(r,o)=>We(r,o);return t!==void 0?d(()=>ze(e(),t),void 0,{equals:n}):d(e,void 0,{equals:n})}function re(){let{location:e}=k();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 Ze(){let{router:e}=k();return(t,n)=>e.navigate(t,n)}function ln(){return y(ee)??(()=>{})}var l=e=>typeof e=="function"?e():e,et=new Set(["href","slot","class","className","active","activeClass","replace","children"]);function tt(e){let t=y(b),n=typeof document>"u",r=()=>t?.router.navigate(l(e.href)??"",{replace:l(e.replace)}),o=x("a");u(o,"href",l(e.href)??""),e.slot&&u(o,"slot",l(e.slot));for(let[i,s]of Object.entries(e))et.has(i)||s!=null&&typeof s!="function"&&u(o,i,String(s));if(typeof o.addEventListener=="function")o.addEventListener("click",i=>{i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||(i.preventDefault(),r())});else{let i=l(e.className??e.class)??"";i&&u(o,"class",i)}typeof o.addEventListener=="function"&&L(()=>{let i=l(e.href)??"";o.setAttribute("href",i);let s=l(e.className??e.class)??"",c=l(e.activeClass)??"",f=l(e.active)??t?.location().pathname===i;o.className=[s,f?c:""].filter(Boolean).join(" ")});let a=e.children;return a!=null&&T(o,a),o}var pn=tt;function yn(e){let t=e.action,n=e.className??e.class,r=t.url??"",o=x("form");u(o,"method","post"),r&&u(o,"action",r),n&&u(o,"class",n);for(let[i,s]of Object.entries(e))i==="action"||i==="children"||i==="class"||i==="className"||s!=null&&typeof s!="function"&&u(o,i,String(s));typeof o.addEventListener=="function"&&o.addEventListener("submit",i=>{i.preventDefault();let s={};new FormData(o).forEach((c,f)=>{s[f]=c}),Promise.resolve(t(s)).catch(()=>{})});let a=e.children;return a!=null&&T(o,a),o}async function mn(e,t){let n=Be(e,t);if(!n)return;let r=[];for(let o of n.matched){let a=o.component;a&&typeof a.preload=="function"&&r.push(a.preload())}await Promise.all(r)}export{nt as a,vt as b,I as c,W as d,Te as e,Ce as f,Tt as g,Ct as h,be as i,bt as j,Rt as k,Pt as l,wt as m,At as n,St as o,Ot as p,Ue as q,q as r,Ht as s,Oe as t,Vt as u,jt as v,w,A as x,ot as y,at as z,fe as A,Le as B,Me as C,Ne as D,X as E,_e as F,He as G,nn as H,rn as I,on as J,k as K,ne as L,an as M,sn as N,cn as O,un as P,dn as Q,fn as R,re as S,Ze as T,ln as U,tt as V,pn as W,yn as X,mn as Y,hn as Z,vn as _,Tn as $,Cn as aa,wn as ba};