@fluixi/core 1.0.0-alpha.53
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/LICENSE +21 -0
- package/README.md +611 -0
- package/dist/cdn/core.global.js +3 -0
- package/dist/cli/generate.cjs +1814 -0
- package/dist/cli/generate.d.ts +7 -0
- package/dist/cli/generate.d.ts.map +1 -0
- package/dist/cli/generate.js +2580 -0
- package/dist/cli/generate.mjs +1814 -0
- package/dist/cli/index.cjs +1814 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2580 -0
- package/dist/cli/index.mjs +1814 -0
- package/dist/cli/run.cjs +2 -0
- package/dist/cli/run.d.ts +3 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +62 -0
- package/dist/cli/run.mjs +2 -0
- package/dist/fluixi.d.ts +5 -0
- package/dist/src/cdn/chunk-PFM5O5UE.mjs +1 -0
- package/dist/src/cdn/core.cjs +1 -0
- package/dist/src/cdn/core.d.ts +16 -0
- package/dist/src/cdn/core.d.ts.map +1 -0
- package/dist/src/cdn/core.js +15 -0
- package/dist/src/cdn/core.mjs +1 -0
- package/dist/src/cdn/router-next-WNWCFVC2.mjs +1 -0
- package/dist/src/index.cjs +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +26 -0
- package/dist/src/index.mjs +1 -0
- package/dist/src/jsx-dev-runtime.cjs +1 -0
- package/dist/src/jsx-dev-runtime.d.ts +2 -0
- package/dist/src/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/src/jsx-dev-runtime.js +1 -0
- package/dist/src/jsx-dev-runtime.mjs +1 -0
- package/dist/src/jsx-runtime.cjs +1 -0
- package/dist/src/jsx-runtime.d.ts +7 -0
- package/dist/src/jsx-runtime.d.ts.map +1 -0
- package/dist/src/jsx-runtime.js +17 -0
- package/dist/src/jsx-runtime.mjs +1 -0
- package/dist/src/lib/client/chunk-D3VTWVNJ.mjs +1 -0
- package/dist/src/lib/client/index.cjs +1 -0
- package/dist/src/lib/client/index.d.ts +54 -0
- package/dist/src/lib/client/index.d.ts.map +1 -0
- package/dist/src/lib/client/index.js +142 -0
- package/dist/src/lib/client/index.mjs +1 -0
- package/dist/src/lib/client/router-next-UYIYMRJL.mjs +1 -0
- package/dist/src/lib/context/context.cjs +1 -0
- package/dist/src/lib/context/context.d.ts +337 -0
- package/dist/src/lib/context/context.d.ts.map +1 -0
- package/dist/src/lib/context/context.js +462 -0
- package/dist/src/lib/context/context.mjs +1 -0
- package/dist/src/lib/context/index.cjs +1 -0
- package/dist/src/lib/context/index.d.ts +3 -0
- package/dist/src/lib/context/index.d.ts.map +1 -0
- package/dist/src/lib/context/index.js +5 -0
- package/dist/src/lib/context/index.mjs +1 -0
- package/dist/src/lib/control-flow.cjs +1 -0
- package/dist/src/lib/control-flow.d.ts +4 -0
- package/dist/src/lib/control-flow.d.ts.map +1 -0
- package/dist/src/lib/control-flow.js +1 -0
- package/dist/src/lib/control-flow.mjs +1 -0
- package/dist/src/lib/core.cjs +1 -0
- package/dist/src/lib/core.d.ts +90 -0
- package/dist/src/lib/core.d.ts.map +1 -0
- package/dist/src/lib/core.js +181 -0
- package/dist/src/lib/core.mjs +1 -0
- package/dist/src/lib/directives/lit.cjs +1 -0
- package/dist/src/lib/directives/lit.d.ts +2 -0
- package/dist/src/lib/directives/lit.d.ts.map +1 -0
- package/dist/src/lib/directives/lit.js +31 -0
- package/dist/src/lib/directives/lit.mjs +0 -0
- package/dist/src/lib/env/index.cjs +1 -0
- package/dist/src/lib/env/index.d.ts +39 -0
- package/dist/src/lib/env/index.d.ts.map +1 -0
- package/dist/src/lib/env/index.js +50 -0
- package/dist/src/lib/env/index.mjs +1 -0
- package/dist/src/lib/i18n/index.cjs +1 -0
- package/dist/src/lib/i18n/index.d.ts +79 -0
- package/dist/src/lib/i18n/index.d.ts.map +1 -0
- package/dist/src/lib/i18n/index.js +127 -0
- package/dist/src/lib/i18n/index.mjs +1 -0
- package/dist/src/lib/index.cjs +1 -0
- package/dist/src/lib/index.d.ts +83 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +147 -0
- package/dist/src/lib/index.mjs +1 -0
- package/dist/src/lib/isomorphic.cjs +1 -0
- package/dist/src/lib/isomorphic.d.ts +69 -0
- package/dist/src/lib/isomorphic.d.ts.map +1 -0
- package/dist/src/lib/isomorphic.js +92 -0
- package/dist/src/lib/isomorphic.mjs +1 -0
- package/dist/src/lib/jsx-runtime/index.cjs +1 -0
- package/dist/src/lib/jsx-runtime/index.d.ts +13 -0
- package/dist/src/lib/jsx-runtime/index.d.ts.map +1 -0
- package/dist/src/lib/jsx-runtime/index.js +23 -0
- package/dist/src/lib/jsx-runtime/index.mjs +1 -0
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.cjs +1 -0
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.d.ts +2 -0
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.js +1 -0
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.mjs +1 -0
- package/dist/src/lib/plugins/fluixi-routes-plugin.cjs +13 -0
- package/dist/src/lib/plugins/fluixi-routes-plugin.d.ts +21 -0
- package/dist/src/lib/plugins/fluixi-routes-plugin.d.ts.map +1 -0
- package/dist/src/lib/plugins/fluixi-routes-plugin.js +102 -0
- package/dist/src/lib/plugins/fluixi-routes-plugin.mjs +13 -0
- package/dist/src/lib/plugins/index.cjs +13 -0
- package/dist/src/lib/plugins/index.d.ts +4 -0
- package/dist/src/lib/plugins/index.d.ts.map +1 -0
- package/dist/src/lib/plugins/index.js +3 -0
- package/dist/src/lib/plugins/index.mjs +13 -0
- package/dist/src/lib/plugins/route-codegen.cjs +8 -0
- package/dist/src/lib/plugins/route-codegen.d.ts +13 -0
- package/dist/src/lib/plugins/route-codegen.d.ts.map +1 -0
- package/dist/src/lib/plugins/route-codegen.js +81 -0
- package/dist/src/lib/plugins/route-codegen.mjs +8 -0
- package/dist/src/lib/plugins/route-scanner.cjs +1 -0
- package/dist/src/lib/plugins/route-scanner.d.ts +39 -0
- package/dist/src/lib/plugins/route-scanner.d.ts.map +1 -0
- package/dist/src/lib/plugins/route-scanner.js +216 -0
- package/dist/src/lib/plugins/route-scanner.mjs +1 -0
- package/dist/src/lib/plugins/vite.cjs +1 -0
- package/dist/src/lib/plugins/vite.d.ts +3 -0
- package/dist/src/lib/plugins/vite.d.ts.map +1 -0
- package/dist/src/lib/plugins/vite.js +1 -0
- package/dist/src/lib/plugins/vite.mjs +1 -0
- package/dist/src/lib/render/component.cjs +1 -0
- package/dist/src/lib/render/component.d.ts +328 -0
- package/dist/src/lib/render/component.d.ts.map +1 -0
- package/dist/src/lib/render/component.js +520 -0
- package/dist/src/lib/render/component.mjs +1 -0
- package/dist/src/lib/render/index.cjs +1 -0
- package/dist/src/lib/render/index.d.ts +113 -0
- package/dist/src/lib/render/index.d.ts.map +1 -0
- package/dist/src/lib/render/index.js +201 -0
- package/dist/src/lib/render/index.mjs +1 -0
- package/dist/src/lib/render/lazy.cjs +1 -0
- package/dist/src/lib/render/lazy.d.ts +28 -0
- package/dist/src/lib/render/lazy.d.ts.map +1 -0
- package/dist/src/lib/render/lazy.js +62 -0
- package/dist/src/lib/render/lazy.mjs +1 -0
- package/dist/src/lib/render/suspense.cjs +1 -0
- package/dist/src/lib/render/suspense.d.ts +25 -0
- package/dist/src/lib/render/suspense.d.ts.map +1 -0
- package/dist/src/lib/render/suspense.js +139 -0
- package/dist/src/lib/render/suspense.mjs +1 -0
- package/dist/src/lib/router-next/data.cjs +1 -0
- package/dist/src/lib/router-next/data.d.ts +101 -0
- package/dist/src/lib/router-next/data.d.ts.map +1 -0
- package/dist/src/lib/router-next/data.js +179 -0
- package/dist/src/lib/router-next/data.mjs +1 -0
- package/dist/src/lib/router-next/index.cjs +1 -0
- package/dist/src/lib/router-next/index.d.ts +156 -0
- package/dist/src/lib/router-next/index.d.ts.map +1 -0
- package/dist/src/lib/router-next/index.js +464 -0
- package/dist/src/lib/router-next/index.mjs +1 -0
- package/dist/src/lib/server/hydration.cjs +1 -0
- package/dist/src/lib/server/hydration.d.ts +238 -0
- package/dist/src/lib/server/hydration.d.ts.map +1 -0
- package/dist/src/lib/server/hydration.js +384 -0
- package/dist/src/lib/server/hydration.mjs +1 -0
- package/dist/src/lib/server/index.cjs +16 -0
- package/dist/src/lib/server/index.d.ts +91 -0
- package/dist/src/lib/server/index.d.ts.map +1 -0
- package/dist/src/lib/server/index.js +141 -0
- package/dist/src/lib/server/index.mjs +16 -0
- package/dist/src/lib/server/reactive.cjs +1 -0
- package/dist/src/lib/server/reactive.d.ts +298 -0
- package/dist/src/lib/server/reactive.d.ts.map +1 -0
- package/dist/src/lib/server/reactive.js +472 -0
- package/dist/src/lib/server/reactive.mjs +1 -0
- package/dist/src/lib/theme/index.cjs +1 -0
- package/dist/src/lib/theme/index.d.ts +51 -0
- package/dist/src/lib/theme/index.d.ts.map +1 -0
- package/dist/src/lib/theme/index.js +79 -0
- package/dist/src/lib/theme/index.mjs +1 -0
- package/dist/src/lib/utils/index.cjs +1 -0
- package/dist/src/lib/utils/index.d.ts +379 -0
- package/dist/src/lib/utils/index.d.ts.map +1 -0
- package/dist/src/lib/utils/index.js +527 -0
- package/dist/src/lib/utils/index.mjs +1 -0
- package/dist/src/rx.cjs +1 -0
- package/dist/src/rx.d.ts +2 -0
- package/dist/src/rx.d.ts.map +1 -0
- package/dist/src/rx.js +101 -0
- package/dist/src/rx.mjs +0 -0
- package/dist/src/server.cjs +16 -0
- package/dist/src/server.d.ts +64 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +63 -0
- package/dist/src/server.mjs +16 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +128 -0
- package/src/index.ts +31 -0
- package/types/fluixi.d.ts +5 -0
- package/types/vinxi.d.ts +50 -0
package/dist/cli/run.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";var d=Object.create;var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var x=(e,o,i,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of v(o))!u.call(e,n)&&n!==i&&c(e,n,{get:()=>o[n],enumerable:!(s=p(o,n))||s.enumerable});return e};var g=(e,o,i)=>(i=e!=null?d(f(e)):{},x(o||!e||!e.__esModule?c(i,"default",{value:e,enumerable:!0}):i,e));var t=require("child_process"),l=require("execa"),r=g(require("path"),1),m=require("url"),h={},b=(0,m.fileURLToPath)(h.url),a=r.default.dirname(b);async function w(){let e=process.argv.slice(2),o=process.cwd();switch(e[0]){case"dev":let i="vinxi dev --config "+r.default.resolve(a,"../internal/vinxi/app.js"),s=(0,t.exec)(i,n=>{console.log("exec err",n)});break;case"build":await(0,l.execa)("vinxi",["build","--config",r.default.resolve(a,"../internal/vinxi/app.js")],{stdio:"inherit",cwd:o});break;default:console.log(`Unknown command: ${e[0]}`),console.log("Usage: fluixi [dev|build]"),process.exit(1)}}w();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../cli/run.ts"],"names":[],"mappings":""}
|
package/dist/cli/run.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// // cli/dev.ts
|
|
3
|
+
// import { createApp } from 'vinxi';
|
|
4
|
+
// import { frameworkVinxiConfig } from '../preset/vinxi';
|
|
5
|
+
// export async function dev() {
|
|
6
|
+
// const config = frameworkVinxiConfig();
|
|
7
|
+
// await createApp({
|
|
8
|
+
// server: ()
|
|
9
|
+
// }).listen();
|
|
10
|
+
// }
|
|
11
|
+
import { exec } from 'child_process';
|
|
12
|
+
import { execa } from 'execa';
|
|
13
|
+
import path from 'path';
|
|
14
|
+
import { fileURLToPath } from 'url';
|
|
15
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
16
|
+
const __dirname = path.dirname(__filename);
|
|
17
|
+
async function run() {
|
|
18
|
+
const args = process.argv.slice(2);
|
|
19
|
+
const cwd = process.cwd();
|
|
20
|
+
// Map CLI commands
|
|
21
|
+
switch (args[0]) {
|
|
22
|
+
case 'dev':
|
|
23
|
+
const command = 'vinxi dev --config ' +
|
|
24
|
+
path.resolve(__dirname, '../internal/vinxi/app.js');
|
|
25
|
+
// console.log('run dev', command);
|
|
26
|
+
const dev = exec(command, (err) => {
|
|
27
|
+
console.log('exec err', err);
|
|
28
|
+
});
|
|
29
|
+
// Run Vinxi dev with your internal entry
|
|
30
|
+
// const dev = await execa({ stdio: 'inherit', cwd })`${command}`;
|
|
31
|
+
// const dev = await execa(
|
|
32
|
+
// 'vinxi',
|
|
33
|
+
// [
|
|
34
|
+
// 'dev',
|
|
35
|
+
// '--config',
|
|
36
|
+
// path.resolve(__dirname, '../internal/vinxi/app.mjs'),
|
|
37
|
+
// ],
|
|
38
|
+
// {
|
|
39
|
+
// stdio: 'inherit',
|
|
40
|
+
// cwd,
|
|
41
|
+
// }
|
|
42
|
+
// );
|
|
43
|
+
// console.log('run dev end', dev);
|
|
44
|
+
break;
|
|
45
|
+
case 'build':
|
|
46
|
+
// Run Vinxi build with internal entry
|
|
47
|
+
await execa('vinxi', [
|
|
48
|
+
'build',
|
|
49
|
+
'--config',
|
|
50
|
+
path.resolve(__dirname, '../internal/vinxi/app.js'),
|
|
51
|
+
], {
|
|
52
|
+
stdio: 'inherit',
|
|
53
|
+
cwd,
|
|
54
|
+
});
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
console.log(`Unknown command: ${args[0]}`);
|
|
58
|
+
console.log('Usage: fluixi [dev|build]');
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
run();
|
package/dist/cli/run.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{exec as c}from"child_process";import{execa as a}from"execa";import e from"path";import{fileURLToPath as t}from"url";var l=t(import.meta.url),i=e.dirname(l);async function m(){let o=process.argv.slice(2),n=process.cwd();switch(o[0]){case"dev":let r="vinxi dev --config "+e.resolve(i,"../internal/vinxi/app.js"),d=c(r,s=>{console.log("exec err",s)});break;case"build":await a("vinxi",["build","--config",e.resolve(i,"../internal/vinxi/app.js")],{stdio:"inherit",cwd:n});break;default:console.log(`Unknown command: ${o[0]}`),console.log("Usage: fluixi [dev|build]"),process.exit(1)}}m();
|
package/dist/fluixi.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
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},et=(e,t,n)=>(M(e,t,"default"),n&&M(n,t,"default"));import{createSignal as E,createMemo as d,createResource as Ue,createEffect as L,getOwner as Ie,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 Ke}from"@fluixi/utils/compare";import{createRouter as We,createBrowserHistory as $e,matchRoutes as qe,matchPath as Be}from"@fluixi/router";import{createMemoryHistory as gn,createBrowserHistory as xn,matchRoutes as hn,matchPath as vn}from"@fluixi/router";import{createResource as Oe,createSignal as B}from"@fluixi/reactive/signal";var N=!1,v=new Map;function _(){return N}function nt(e){N=e}function H(e,t){v.set(e,t)}function V(e){return v.get(e)}function de(){v.clear()}function rt(){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 F(){return typeof window>"u"}import{asProvider as be}from"@fluixi/dom";import{createContext as Re,useContext as Pe}from"@fluixi/reactive/signal";import{readChildren as we}from"@fluixi/reactive/signal";import{registerCreateComponent as le,asComponent as pe}from"@fluixi/dom";import{untrack as j,onCleanup as p,getOwner as U,createEffect as P,createMemo as ye,createSignal as me,isSignal as ge,batch as ct,runWithOwner as xe}from"@fluixi/reactive/signal";var he={context:null,owner:null};function xt(){return he}var I=typeof process<"u"&&!1,R=Symbol.for("fluixi-lifecycle");function z(){let e=U();if(!e)return null;if(!e[R]){let t={mounts:[],effects:[],scheduled:!1};e[R]=t}return e[R]}function K(e){if(e.scheduled)return;e.scheduled=!0;let t=U();queueMicrotask(()=>{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(ve)}function ve(e,t){return Te(e,t)}function Te(e,t){let n=typeof e=="function"?j(()=>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 ht(e,t=!0){let n=z();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),K(n)}else{if(!t){e();return}P(()=>{let r=j(e);typeof r=="function"&&p(r)})}}function vt(e){p(e)}function Ce(e){let t=z();if(t)t.effects.push(e),K(t);else{let n;P(()=>{n&&n(),n=e()}),p(()=>{n&&n()})}}function Tt(e){return ye(e)}function Ct(e){let t={current:e};return p(()=>{t.current=null}),t}function bt(e,t){let[n,r]=me(t);return[n,a=>{r(e(n(),a))}]}function Rt(e,t,n,r){Ce(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function Pt(e){return e}function wt(){return I}function At(e){I&&e()}W("index");var $=!1;function Ae(){$||($=!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||Ae();let s=typeof a=="function"?a():a,c=r?n:e;return o.Provider({value:s,get children(){return c?.children},debug:i})}function Nt(e){let t=w(e);return[t,r=>q(t,r.value,r)]}function Se(e,t){if(e.length===0)return we(()=>t);let[n,r]=e[0],o=e.slice(1);return q(n,r,{get children(){return Se(o,t)}})}function _t(e){return t=>{let n=A(e);return t.children(n)}}function Ht(e,t){let n=A(e);return n===e.defaultValue?t():n}function w(e){let t=Re(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:be(n),defaultValue:e}}function A(e){let t=Pe(e);return t!==void 0?t:e.defaultValue}var g=new Map,m=new Map;function Ee(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),F()&&H(r,a),a),a=>{throw m.delete(r),a});return m.set(r,o),o}}var[zt,Le]=B(0),De=new Set;function ke(e){let t=typeof e=="string"?n=>n.startsWith(e):e;for(let n of g.keys())t(n)&&(g.delete(n),De.add(n));Le(n=>n+1)}function Me(e,t){let[n]=Oe(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 Ne(e){let[t]=J(e.url);return t}function _e(e){return e}var He=w(),Kt=He.Provider;import{untrack as Y,createMemo as Ve,createResource as Fe}from"@fluixi/reactive/signal";function je(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 Ve(()=>{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 Rn}from"@fluixi/reactive/signal";var b=C(),Q=C(),Z=C(),ee=C();function Je(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let h=!1;D(()=>{h=!0});let oe=Ie(),[ae]=Ue(()=>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 Je(a,t,{matched:e.matched,params:e.params,location:e.location})})}function Xe(e){return e==null?Ye():typeof e=="function"?G(e,{}):e}function Ye(){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 en(e){let t=e.history??$e(),n=We({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:()=>Xe(e.notFound)},f;return b.Provider({value:s,get children(){return f??=te(c)}})}function tn(){let e=y(Q);return e?te(e):null}function nn(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 Ge={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function k(){let e=y(b);if(e)return e;if(typeof window>"u")return Ge;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 rn(){return y(Z)??{}}function on(e){let t=ne();return d(()=>t()[e])}function an(e,t){let n=ne();return d(()=>e(n()),void 0,t?{equals:t}:void 0)}function sn(e){let t=re();return d(()=>Be(typeof e=="function"?e():e,t.pathname))}function cn(){let e=re(),t=Qe();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 un(e,t){let n=(r,o)=>Ke(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 Qe(){let{router:e}=k();return(t,n)=>e.navigate(t,n)}function dn(){return y(ee)??(()=>{})}var l=e=>typeof e=="function"?e():e;function Ze(e){let t=y(b),n=typeof document>"u",r=()=>t?.router.navigate(l(e.href)??"",{replace:l(e.replace)}),o=x("a");if(u(o,"href",l(e.href)??""),e.slot&&u(o,"slot",l(e.slot)),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 fn=Ze;function ln(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 pn(e,t){let n=qe(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{et as a,xt as b,I as c,W as d,ve as e,Te as f,ht as g,vt as h,Ce as i,Tt as j,Ct as k,bt as l,Rt as m,Pt as n,wt as o,At as p,je as q,q as r,Nt as s,Se as t,_t as u,Ht as v,w,A as x,nt as y,rt as z,fe as A,Ee as B,ke as C,Me as D,X as E,Ne as F,_e as G,en as H,tn as I,nn as J,k as K,ne as L,rn as M,on as N,an as O,sn as P,cn as Q,un as R,re as S,Qe as T,dn as U,Ze as V,fn as W,ln as X,pn as Y,gn as Z,xn as _,hn as $,vn as aa,Rn as ba};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Pt=Object.create;var B=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,_t=Object.prototype.hasOwnProperty;var O=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ie=(e,t)=>{for(var n in t)B(e,n,{get:t[n],enumerable:!0})},J=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Et(t))!_t.call(e,o)&&o!==n&&B(e,o,{get:()=>t[o],enumerable:!(r=At(t,o))||r.enumerable});return e},He=(e,t,n)=>(J(e,t,"default"),n&&J(n,t,"default")),Lt=(e,t,n)=>(n=e!=null?Pt(Ot(e)):{},J(t||!e||!e.__esModule?B(n,"default",{value:e,enumerable:!0}):n,e)),kt=e=>J(B({},"__esModule",{value:!0}),e);function me(){return Mt}function Ne(){let e=(0,c.getOwner)();if(!e)return null;if(!e[ye]){let t={mounts:[],effects:[],scheduled:!1};e[ye]=t}return e[ye]}function je(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,c.getOwner)();queueMicrotask(()=>{(0,c.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,c.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,c.createEffect)(()=>{r&&r(),r=n()}),(0,c.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function S(e){(0,Y.registerCreateComponent)(N)}function N(e,t){return q(e,t)}function q(e,t){let n=typeof e=="function"?(0,c.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,c.isSignal)(n)){try{n.$name=e.name}catch{}return(0,Y.asComponent)(n)}return n}function G(e,t=!0){let n=Ne();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),je(n)}else{if(!t){e();return}(0,c.createEffect)(()=>{let r=(0,c.untrack)(e);typeof r=="function"&&(0,c.onCleanup)(r)})}}function Q(e){(0,c.onCleanup)(e)}function j(e){let t=Ne();if(t)t.effects.push(e),je(t);else{let n;(0,c.createEffect)(()=>{n&&n(),n=e()}),(0,c.onCleanup)(()=>{n&&n()})}}function Z(e){return(0,c.createMemo)(e)}function ee(e){let t={current:e};return(0,c.onCleanup)(()=>{t.current=null}),t}function te(e,t){let[n,r]=(0,c.createSignal)(t);return[n,s=>{r(e(n(),s))}]}function ne(e,t,n,r){j(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function re(e){return e}function ge(){return H}function xe(e){H&&e()}var Y,c,Mt,H,ye,_=O(()=>{"use strict";Y=require("@fluixi/dom"),c=require("@fluixi/reactive/signal"),Mt={context:null,owner:null};H=typeof process<"u"&&!1,ye=Symbol.for("fluixi-lifecycle")});function V(e,t){let n,r,o;function s(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&s();let a=(u=>{if(n){let d=n;return(0,A.untrack)(()=>d(u))}if(!o){let[d]=(0,A.createResource)(()=>s());if(o=d,d.error)throw d.error}return(0,A.createMemo)(()=>{let d=o();return d?(0,A.untrack)(()=>d(u)):void 0},void 0,{name:"lazy"})});return a.preload=()=>s().then(()=>{}),a.$lazy=!0,a.loader=e,a}var A,he=O(()=>{"use strict";A=require("@fluixi/reactive/signal")});function Ht(){Xe||(Xe=!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 se(e,t,n){let r=!!e?.Provider,o=r?e:e.context,s=r?t:e.value,a=r?!1:e.debug??!1;r||Ht();let u=typeof s=="function"?s():s,d=r?n:e;return o.Provider({value:u,get children(){return d?.children},debug:a})}function Ye(e){let t=k(e);return[t,r=>se(t,r.value,r)]}function Te(e,t){if(e.length===0)return(0,Be.readChildren)(()=>t);let[n,r]=e[0],o=e.slice(1);return se(n,r,{get children(){return Te(o,t)}})}function qe(e){return t=>{let n=M(e);return t.children(n)}}function Ge(e,t){let n=M(e);return n===e.defaultValue?t():n}function k(e){let t=(0,oe.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 M(e){let t=(0,oe.useContext)(e);return t!==void 0?t:e.defaultValue}var Je,oe,Be,Xe,Ce=O(()=>{"use strict";Je=require("@fluixi/dom"),oe=require("@fluixi/reactive/signal"),Be=require("@fluixi/reactive/signal");_();S("index");Xe=!1});function rt(){return nt}function Se(e){nt=e}function ot(e,t){ue.set(e,t)}function st(e){return ue.get(e)}function $t(){ue.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))ue.set(r,o);return!0}catch(t){return console.error("Failed to deserialize hydration data:",t),!1}}function Re(){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()),$t()}function it(){return typeof window>"u"}var nt,ue,we=O(()=>{"use strict";nt=!1,ue=new Map;typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(Re,100)})});function ct(e,t){return async(...n)=>{let r=t+":"+JSON.stringify(n);if(rt()||typeof window<"u"){let s=st(r);if(s!==void 0)return s}if($.has(r))return $.get(r);if(K.has(r))return K.get(r);let o=Promise.resolve(e(...n)).then(s=>($.set(r,s),K.delete(r),it()&&ot(r,s),s),s=>{throw K.delete(r),s});return K.set(r,o),o}}function ut(e){let t=typeof e=="string"?n=>n.startsWith(e):e;for(let n of $.keys())t(n)&&($.delete(n),Wt.add(n));zt(n=>n+1)}function dt(e,t){let[n]=(0,z.createResource)(t||(()=>!0),e);return n}function ft(e){return Pe.has(e)||Pe.set(e,(0,z.createSignal)(void 0)),Pe.get(e)}function Ae(e,t){let n=t||e.name||"action",r=async o=>{let[,s]=ft(n),a=()=>s(void 0),u=()=>r(o);s({input:o,pending:!0,clear:a,retry:u});try{let d=await e(o);return s({input:o,result:d,pending:!1,clear:a,retry:u}),d}catch(d){throw s({input:o,error:d,pending:!1,clear:a,retry:u}),d}};return r.url=n,r.with=o=>Ae((...s)=>e(o,...s),t),r}function lt(e){let[t]=ft(e.url);return t}function pt(e){return e}var z,$,K,Qn,zt,Wt,Pe,Xt,Zn,yt=O(()=>{"use strict";z=require("@fluixi/reactive/signal");we();Ce();$=new Map,K=new Map;[Qn,zt]=(0,z.createSignal)(0),Wt=new Set;Pe=new Map;Xt=k(),Zn=Xt.Provider});var Ct={};Ie(Ct,{A:()=>De,Form:()=>tn,Link:()=>le,Outlet:()=>Oe,Redirect:()=>_e,Router:()=>Ee,action:()=>Ae,cache:()=>ct,createAsync:()=>dt,createBrowserHistory:()=>v.createBrowserHistory,createMemoryHistory:()=>v.createMemoryHistory,lazy:()=>V,matchPath:()=>v.matchPath,matchRoutes:()=>v.matchRoutes,preloadRoutes:()=>nn,revalidate:()=>ut,runWithOwner:()=>bt.runWithOwner,select:()=>Zt,useAction:()=>pt,useLevelParams:()=>Gt,useLocation:()=>X,useMatch:()=>ke,useNavigate:()=>fe,useParam:()=>Le,useParamSelector:()=>Qt,useParams:()=>W,useRouteData:()=>en,useRouter:()=>F,useSearchParams:()=>Me,useSubmission:()=>lt});function Jt(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let y=!1;(0,i.onCleanup)(()=>{y=!0});let I=(0,i.getOwner)(),[wt]=(0,i.createResource)(()=>o({params:n.params,location:n.location},I,()=>y));r=wt}let s=()=>vt.Provider({value:r,get children(){return ht.Provider({value:e.params,get children(){return xt.Provider({value:{depth:t,...n},get children(){return(0,l.createComponent)(e.component,{})}})}})}});if(!r)return s();let a=r,u=()=>a.loading,[d,x]=(0,i.createSignal)((0,i.untrack)(()=>!u()));return(0,i.createEffect)(()=>x(!u())),(0,i.createMemo)(()=>d()?s():null)}function Tt(e){let t=e.depth+1,[n,r]=(0,i.createSignal)((0,i.untrack)(()=>e.matched()[t]?.component));return(0,i.createEffect)(()=>{let o=e.matched()[t]?.component;r(()=>o)}),(0,i.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let s=(0,i.untrack)(()=>e.matched())[t];return Jt(s,t,{matched:e.matched,params:e.params,location:e.location})})}function Bt(e){return e==null?Yt():typeof e=="function"?(0,l.createComponent)(e,{}):e}function Yt(){let e=(0,l.createNativeElement)("div");(0,l.setAttribute)(e,"class","fx-not-found"),(0,l.setAttribute)(e,"role","main"),(0,l.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,l.createNativeElement)("h1");(0,l.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,l.insert)(t,"404");let n=(0,l.createNativeElement)("p");return(0,l.setAttribute)(n,"style","margin:0;opacity:.7"),(0,l.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function Ee(e){let t=e.history??(0,w.createBrowserHistory)(),n=(0,w.createRouter)({routes:e.routes,base:e.base,history:t}),[r,o]=(0,i.createSignal)(n.state()),s=n.subscribe(o);(0,i.onCleanup)(()=>{s(),n.destroy()});let a=(0,i.createMemo)(()=>(r().match?.matched??[]).filter(y=>y.component)),u={router:n,location:(0,i.createMemo)(()=>r().location),params:(0,i.createMemo)(()=>r().match?.params??{})},d={depth:-1,matched:a,params:u.params,location:u.location,notFound:()=>Bt(e.notFound)},x;return de.Provider({value:u,get children(){return x??=Tt(d)}})}function Oe(){let e=(0,h.useContext)(xt);return e?Tt(e):null}function _e(e){let t=(0,h.useContext)(de);if(!t||typeof window>"u")return null;let n=!1;return(0,i.onCleanup)(()=>n=!0),queueMicrotask(()=>{n||t.router.navigate(e.to,{replace:e.replace!==!1})}),null}function F(){let e=(0,h.useContext)(de);if(e)return e;if(typeof window>"u")return qt;throw new Error("[router-next] useRouter must be used within <Router>")}function W(){let e=F().params;return(0,i.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Gt(){return(0,h.useContext)(ht)??{}}function Le(e){let t=W();return(0,i.createMemo)(()=>t()[e])}function Qt(e,t){let n=W();return(0,i.createMemo)(()=>e(n()),void 0,t?{equals:t}:void 0)}function ke(e){let t=X();return(0,i.createMemo)(()=>(0,w.matchPath)(typeof e=="function"?e():e,t.pathname))}function Me(){let e=X(),t=fe();return[(0,i.createMemo)(()=>e.query),(o,s)=>{let a=new URLSearchParams(e.search);for(let[d,x]of Object.entries(o))x===null?a.delete(d):a.set(d,x);let u=a.toString();t(e.pathname+(u?`?${u}`:""),s)}]}function Zt(e,t){let n=(r,o)=>(0,gt.deepEqual)(r,o);return t!==void 0?(0,i.createMemo)(()=>(0,mt.get)(e(),t),void 0,{equals:n}):(0,i.createMemo)(e,void 0,{equals:n})}function X(){let{location:e}=F();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 fe(){let{router:e}=F();return(t,n)=>e.navigate(t,n)}function en(){return(0,h.useContext)(vt)??(()=>{})}function le(e){let t=(0,h.useContext)(de),n=typeof document>"u",r=()=>t?.router.navigate(b(e.href)??"",{replace:b(e.replace)}),o=(0,l.createNativeElement)("a");if((0,l.setAttribute)(o,"href",b(e.href)??""),e.slot&&(0,l.setAttribute)(o,"slot",b(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",a=>{a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),r())});else{let a=b(e.className??e.class)??"";a&&(0,l.setAttribute)(o,"class",a)}typeof o.addEventListener=="function"&&(0,i.createEffect)(()=>{let a=b(e.href)??"";o.setAttribute("href",a);let u=b(e.className??e.class)??"",d=b(e.activeClass)??"",x=b(e.active)??t?.location().pathname===a;o.className=[u,x?d:""].filter(Boolean).join(" ")});let s=e.children;return s!=null&&(0,l.insert)(o,s),o}function tn(e){let t=e.action,n=e.className??e.class,r=t.url??"",o=(0,l.createNativeElement)("form");(0,l.setAttribute)(o,"method","post"),r&&(0,l.setAttribute)(o,"action",r),n&&(0,l.setAttribute)(o,"class",n);for(let[a,u]of Object.entries(e))a==="action"||a==="children"||a==="class"||a==="className"||u!=null&&typeof u!="function"&&(0,l.setAttribute)(o,a,String(u));typeof o.addEventListener=="function"&&o.addEventListener("submit",a=>{a.preventDefault();let u={};new FormData(o).forEach((d,x)=>{u[x]=d}),Promise.resolve(t(u)).catch(()=>{})});let s=e.children;return s!=null&&(0,l.insert)(o,s),o}async function nn(e,t){let n=(0,w.matchRoutes)(e,t);if(!n)return;let r=[];for(let o of n.matched){let s=o.component;s&&typeof s.preload=="function"&&r.push(s.preload())}await Promise.all(r)}var i,l,h,mt,gt,w,v,bt,de,xt,ht,vt,qt,b,De,Fe=O(()=>{"use strict";i=require("@fluixi/reactive/signal"),l=require("@fluixi/dom"),h=require("@fluixi/reactive/signal"),mt=require("@fluixi/utils/object"),gt=require("@fluixi/utils/compare"),w=require("@fluixi/router"),v=require("@fluixi/router");yt();he();bt=require("@fluixi/reactive/signal"),de=(0,h.createContext)(),xt=(0,h.createContext)(),ht=(0,h.createContext)(),vt=(0,h.createContext)();qt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};b=e=>typeof e=="function"?e():e;De=le});var sn={};Ie(sn,{$component:()=>q,A:()=>De,DEV:()=>H,Dynamic:()=>g.Dynamic,ErrorBoundary:()=>g.ErrorBoundary,FRAMEWORK_NAME:()=>tt,For:()=>g.For,Fragment:()=>T.Fragment,Index:()=>g.Index,Link:()=>le,Match:()=>g.Match,Outlet:()=>Oe,Portal:()=>g.Portal,Redirect:()=>_e,Router:()=>Ee,Show:()=>g.Show,Store:()=>D.Store,Suspense:()=>U,Switch:()=>g.Switch,VERSION:()=>et,addClass:()=>p.addClass,batch:()=>f.batch,classMap:()=>ce.classMap,cleanupDelegation:()=>We,composeProviders:()=>Te,createBrowserHistory:()=>v.createBrowserHistory,createComponent:()=>N,createComputed:()=>f.createComputed,createConsumer:()=>qe,createContext:()=>k,createContextWithProvider:()=>Ye,createDebounce:()=>ae.createDebounce,createDeferred:()=>f.createDeferred,createEffect:()=>f.createEffect,createIsomorphicState:()=>Ze,createMemo:()=>f.createMemo,createMemoryHistory:()=>v.createMemoryHistory,createProvider:()=>se,createRenderEffect:()=>f.createRenderEffect,createResource:()=>f.createResource,createRoot:()=>f.createRoot,createSelector:()=>ae.createSelector,createSignal:()=>f.createSignal,createStore:()=>D.createStore,delegateEvents:()=>p.delegateEvents,devOnly:()=>xe,getFrameworkInfo:()=>Kt,getOwner:()=>f.getOwner,getSharedConfig:()=>me,hydrate:()=>p.hydrate,initDelegation:()=>ze,insert:()=>p.insert,isDOMNode:()=>p.isDOMNode,isDev:()=>ge,isLitTemplateResult:()=>p.isLitTemplateResult,isRenderable:()=>$e,jsx:()=>T.jsx,jsxs:()=>T.jsxs,lazy:()=>V,mount:()=>St,onCleanup:()=>f.onCleanup,onMount:()=>G,onUnmount:()=>Q,portal:()=>Ke,read:()=>ie.readSignal,reduce:()=>ie.reduceSignal,removeClass:()=>p.removeClass,render:()=>L,runWithOwner:()=>f.runWithOwner,setAttribute:()=>p.setAttribute,setOwner:()=>f.setOwner,setProperty:()=>p.setProperty,spread:()=>p.spread,startClient:()=>Rt,styleMap:()=>ce.styleMap,toggleClass:()=>p.toggleClass,untrack:()=>f.untrack,untrackStore:()=>D.untrackStore,useCallback:()=>re,useContext:()=>M,useEffect:()=>j,useEventListener:()=>ne,useLocation:()=>X,useMatch:()=>ke,useMemo:()=>Z,useNavigate:()=>fe,useParam:()=>Le,useParams:()=>W,useProvide:()=>Ge,useReducer:()=>te,useRef:()=>ee,useRouter:()=>F,useSearchParams:()=>Me});module.exports=kt(sn);var f=require("@fluixi/reactive/signal"),ae=require("@fluixi/reactive/signal"),ie=require("@fluixi/reactive/operators"),D=require("@fluixi/reactive/store");var Ve=require("@fluixi/reactive/signal"),C=require("@fluixi/dom");_();_();var m=require("@fluixi/reactive/signal"),R=require("@fluixi/dom");function Ue(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Dt=(0,m.createContext)();function U(e){return(0,R.createComponent)(Ft,e)}function Ft(e){let t=(0,m.createSuspenseBoundary)(),n=(0,m.useContext)(Dt),r=n?n.register(t.inFallback):void 0;function o(y){return y==null||typeof y=="boolean"?null:typeof y=="function"&&(0,R.isComponent)(y)&&!(0,m.isSignal)(y)?y():y}let s=(0,R.runWithoutHydration)(()=>o(e.fallback??null)),a=(0,m.provideSuspense)(t,()=>e.children);(0,m.provideSuspense)(t,()=>{(0,m.createRenderEffect)(()=>{let y=a;if(Array.isArray(y))for(let I of y)typeof I=="function"&&(0,m.isSignal)(I)&&I();else typeof y=="function"&&(0,m.isSignal)(y)&&y()})});let[u,d]=(0,m.createSignal)(void 0),x=Ue(a);return x&&(t.increment(),a.then(y=>{d(()=>y),t.decrement()},()=>t.decrement())),(0,m.createMemo)(()=>(r?r.showFallback():t.inFallback())?s:x?u():a)}(0,R.asSuspense)(U);Object.defineProperty(U,"__suspense",{value:!0,enumerable:!0});he();typeof window<"u"&&import("lit").then(e=>(0,C.registerLitRender)(e.render));var ve=typeof window>"u";function L(e,t,n={}){if(S("render"),(0,C.delegateEvents)(["click","input","change","submit"]),ve)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,Ve.createRoot)(o=>{r=o;let s=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,C.insert)(t,()=>s)}),()=>{r&&(r(),r=void 0)}}function It(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function Ke(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=L(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function $e(e){return!!(e==null||typeof e=="function"||(0,C.isDOMNode)(e)||It(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ze(){ve||(0,C.delegateEvents)(["click","input","change","submit"])}function We(){}Ce();var be=require("@fluixi/reactive/signal"),Qe=require("@fluixi/dom"),Nt="__fluixi_iso_states__",jt="__iso:";function Ut(){return globalThis[Nt]??=new Map}function Vt(e){if(typeof window>"u")return;let t=(0,Qe.getServerData)();return t?t[jt+e]:void 0}function Ze(e,t){let n=Vt(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,s]=(0,be.createSignal)(r);return Ut().set(e,{server:t.server,set:s}),{value:o,set:s,key:e}}var ce=require("@fluixi/dom");var g=require("@fluixi/dom");var p=require("@fluixi/dom");var T={};He(T,require("@fluixi/jsx/jsx-runtime"));var E=require("@fluixi/reactive/signal");_();var et="0.0.1",tt="Fluixi";function Kt(){return{name:tt,version:et,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}S("index");var pe=require("@fluixi/dom");we();_();var P=require("@fluixi/head"),on=require("@fluixi/dom");S("client index");function St(e,t){if(!t)throw new Error("Container element not found for mount()");(0,pe.render)(()=>e(),t)}async function Rt(e,t={}){let n=typeof t.root=="string"?document.querySelector(t.root):t.root??document.querySelector("#app");if(!n)throw new Error(`[Fluixi] Mount container not found: ${t.root??"#app"}`);let r=!!document.getElementById("__FLUIXI_HYDRATION__")||!!t.routes&&n.firstElementChild!=null,o=t.hydrate??r,s=(0,P.createHead)();if((0,P.setActiveHead)(s),(0,P.stripHeadMarker)(n),o){if(t.routes&&t.routes.length){let{preloadRoutes:a}=await Promise.resolve().then(()=>(Fe(),Ct));await a(t.routes,window.location.pathname)}at(),Se(!0),(0,pe.hydrate)(()=>e(),n),rn(),setTimeout(()=>{Se(!1),Re()},100)}else L(()=>e(),n);(0,P.mountHead)(s)}function rn(){if(typeof window>"u")return;let e=window;typeof e.__FX_REPLAY_STOP__=="function"&&e.__FX_REPLAY_STOP__();let t=e.__FX_REPLAY__;if(e.__FX_REPLAY__=void 0,e.__FX_REPLAY_STOP__=void 0,!(!Array.isArray(t)||t.length===0))for(let n of t){let r=n&&n.target;if(!r||r.isConnected===!1||typeof r.dispatchEvent!="function")continue;let o=n.type,s=o==="click"?new MouseEvent(o,{bubbles:!0,cancelable:!0}):new Event(o,{bubbles:!0,cancelable:!0});r.dispatchEvent(s)}}Fe();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDN entry: the Fluixi framework runtime as a browser global.
|
|
3
|
+
*
|
|
4
|
+
* <script src="https://.../@fluixi/core/core.global.js"></script>
|
|
5
|
+
* const [count, setCount] = Fluixi.createSignal(0);
|
|
6
|
+
* Fluixi.startClient(App); // or Fluixi.mount(App, root)
|
|
7
|
+
*
|
|
8
|
+
* Self-contained: the whole client runtime — reactive (createSignal/createMemo/…),
|
|
9
|
+
* components + lifecycle, control flow (Show/For/Switch/Suspense), the router, and
|
|
10
|
+
* the client bootstrap (startClient/mount/hydrate) — bundled into one <script>.
|
|
11
|
+
* Server/compiler/vite tooling is NOT included (it isn't part of the browser runtime).
|
|
12
|
+
*/
|
|
13
|
+
export * from '../lib/index.js';
|
|
14
|
+
export { startClient, mount } from '../lib/client/index.js';
|
|
15
|
+
export { Router, Outlet, Redirect, Link, A, useRouter, useNavigate, useLocation, useParams, useParam, useMatch, useSearchParams, createMemoryHistory, createBrowserHistory, } from '../lib/router-next/index.js';
|
|
16
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/cdn/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,CAAC,EACD,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDN entry: the Fluixi framework runtime as a browser global.
|
|
3
|
+
*
|
|
4
|
+
* <script src="https://.../@fluixi/core/core.global.js"></script>
|
|
5
|
+
* const [count, setCount] = Fluixi.createSignal(0);
|
|
6
|
+
* Fluixi.startClient(App); // or Fluixi.mount(App, root)
|
|
7
|
+
*
|
|
8
|
+
* Self-contained: the whole client runtime — reactive (createSignal/createMemo/…),
|
|
9
|
+
* components + lifecycle, control flow (Show/For/Switch/Suspense), the router, and
|
|
10
|
+
* the client bootstrap (startClient/mount/hydrate) — bundled into one <script>.
|
|
11
|
+
* Server/compiler/vite tooling is NOT included (it isn't part of the browser runtime).
|
|
12
|
+
*/
|
|
13
|
+
export * from '../lib/index.js';
|
|
14
|
+
export { startClient, mount } from '../lib/client/index.js';
|
|
15
|
+
export { Router, Outlet, Redirect, Link, A, useRouter, useNavigate, useLocation, useParams, useParam, useMatch, useSearchParams, createMemoryHistory, createBrowserHistory, } from '../lib/router-next/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as D,H as B,I as W,J as q,K as V,L as G,N as Q,P as Z,Q as ee,S as te,T as re,V as ne,W as oe,Z as se,_ as ie,a as T,b as P,c as R,d as u,e as d,f as k,g as m,h as y,i as S,j as h,k as x,l as b,m as C,n as g,o as L,p as M,q as O,r as $,s as z,t as U,u as J,v as Y,w as I,x as A,y as _,z as F}from"./chunk-PFM5O5UE.mjs";import{createEffect as Ut,createMemo as Jt,createSignal as Yt,createResource as Bt,createRoot as Wt,createComputed as qt,createRenderEffect as Vt,onCleanup as Gt,getOwner as Qt,runWithOwner as Zt,batch as er,untrack as tr,createDeferred as rr,setOwner as nr}from"@fluixi/reactive/signal";import{createDebounce as sr,createSelector as ir}from"@fluixi/reactive/signal";import{readSignal as cr,reduceSignal as ur}from"@fluixi/reactive/operators";import{createStore as pr,untrackStore as lr,Store as dr}from"@fluixi/reactive/store";import{createRoot as be}from"@fluixi/reactive/signal";import{isDOMNode as Ce,delegateEvents as N,registerLitRender as ge,insert as _e}from"@fluixi/dom";import{createSignal as ae,createMemo as ce,createEffect as Be,createRenderEffect as ue,isSignal as v,useContext as fe,createContext as pe,createSuspenseBoundary as le,provideSuspense as j}from"@fluixi/reactive/signal";import{asSuspense as de,isComponent as me,createComponent as ye,runWithoutHydration as Se}from"@fluixi/dom";function H(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var he=pe();function p(e){return ye(xe,e)}function xe(e){let t=le(),n=fe(he),r=n?n.register(t.inFallback):void 0;function s(o){return o==null||typeof o=="boolean"?null:typeof o=="function"&&me(o)&&!v(o)?o():o}let i=Se(()=>s(e.fallback??null)),c=j(t,()=>e.children);j(t,()=>{ue(()=>{let o=c;if(Array.isArray(o))for(let l of o)typeof l=="function"&&v(l)&&l();else typeof o=="function"&&v(o)&&o()})});let[X,K]=ae(void 0),E=H(c);return E&&(t.increment(),c.then(o=>{K(()=>o),t.decrement()},()=>t.decrement())),ce(()=>(r?r.showFallback():t.inFallback())?i:E?X():c)}de(p);Object.defineProperty(p,"__suspense",{value:!0,enumerable:!0});typeof window<"u"&&import("lit").then(e=>ge(e.render));var w=typeof window>"u";function f(e,t,n={}){if(u("render"),N(["click","input","change","submit"]),w)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return be(s=>{r=s;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),_e(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function ve(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function we(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let s=f(e,r,n);return()=>{s(),t.contains(r)&&t.removeChild(r)}}function Ee(e){return!!(e==null||typeof e=="function"||Ce(e)||ve(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function Te(){w||N(["click","input","change","submit"])}function Pe(){}import{createSignal as Re,createMemo as St}from"@fluixi/reactive/signal";import{getServerData as ke}from"@fluixi/dom";var Le="__fluixi_iso_states__",Me="__iso:";function Oe(){return globalThis[Le]??=new Map}function Ie(e){if(typeof window>"u")return;let t=ke();return t?t[Me+e]:void 0}function Ae(e,t){let n=Ie(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[s,i]=Re(r);return Oe().set(e,{server:t.server,set:i}),{value:s,set:i,key:e}}import{classMap as xr,styleMap as br}from"@fluixi/dom";import{Show as gt,For as _t,Index as vt,Switch as wt,Match as Et,Dynamic as Tt,ErrorBoundary as Pt,Portal as Rt}from"@fluixi/dom";import{insert as _r,spread as vr,setAttribute as wr,setProperty as Er,addClass as Tr,removeClass as Pr,toggleClass as Rr,delegateEvents as kr,isDOMNode as Lr,isLitTemplateResult as Mr,hydrate as Or}from"@fluixi/dom";var a={};T(a,kt);import*as kt from"@fluixi/jsx/jsx-runtime";import{createSignal as Ot,createEffect as It,createMemo as At,createRoot as Ft,batch as Dt,untrack as jt,onCleanup as Ht}from"@fluixi/reactive/signal";var Fe="0.0.1",De="Fluixi";function Lt(){return{name:De,version:Fe,features:{ssr:!0,hydration:!0,jsx:!0,litHtml:!0,signals:!0,fineGrained:!0,lazy:!0,hooks:!0,devMode:!0}}}u("index");import{render as je,hydrate as He}from"@fluixi/dom";import{createHead as Ne,setActiveHead as Xe,mountHead as Ke,stripHeadMarker as $e}from"@fluixi/head";import{hydrate as Kr}from"@fluixi/dom";u("client index");function ze(e,t){if(!t)throw new Error("Container element not found for mount()");je(()=>e(),t)}async function Ue(e,t={}){let n=typeof t.root=="string"?document.querySelector(t.root):t.root??document.querySelector("#app");if(!n)throw new Error(`[Fluixi] Mount container not found: ${t.root??"#app"}`);let r=!!document.getElementById("__FLUIXI_HYDRATION__")||!!t.routes&&n.firstElementChild!=null,s=t.hydrate??r,i=Ne();if(Xe(i),$e(n),s){if(t.routes&&t.routes.length){let{preloadRoutes:c}=await import("./router-next-WNWCFVC2.mjs");await c(t.routes,window.location.pathname)}F(),_(!0),He(()=>e(),n),Je(),setTimeout(()=>{_(!1),D()},100)}else f(()=>e(),n);Ke(i)}function Je(){if(typeof window>"u")return;let e=window;typeof e.__FX_REPLAY_STOP__=="function"&&e.__FX_REPLAY_STOP__();let t=e.__FX_REPLAY__;if(e.__FX_REPLAY__=void 0,e.__FX_REPLAY_STOP__=void 0,!(!Array.isArray(t)||t.length===0))for(let n of t){let r=n&&n.target;if(!r||r.isConnected===!1||typeof r.dispatchEvent!="function")continue;let s=n.type,i=s==="click"?new MouseEvent(s,{bubbles:!0,cancelable:!0}):new Event(s,{bubbles:!0,cancelable:!0});r.dispatchEvent(i)}}var export_Fragment=a.Fragment;var export_jsx=a.jsx;var export_jsxs=a.jsxs;export{k as $component,oe as A,R as DEV,Tt as Dynamic,Pt as ErrorBoundary,De as FRAMEWORK_NAME,_t as For,export_Fragment as Fragment,vt as Index,ne as Link,Et as Match,W as Outlet,Rt as Portal,q as Redirect,B as Router,gt as Show,dr as Store,p as Suspense,wt as Switch,Fe as VERSION,Tr as addClass,er as batch,xr as classMap,Pe as cleanupDelegation,U as composeProviders,ie as createBrowserHistory,d as createComponent,qt as createComputed,J as createConsumer,I as createContext,z as createContextWithProvider,sr as createDebounce,rr as createDeferred,Ut as createEffect,Ae as createIsomorphicState,Jt as createMemo,se as createMemoryHistory,$ as createProvider,Vt as createRenderEffect,Bt as createResource,Wt as createRoot,ir as createSelector,Yt as createSignal,pr as createStore,kr as delegateEvents,M as devOnly,Lt as getFrameworkInfo,Qt as getOwner,P as getSharedConfig,Or as hydrate,Te as initDelegation,_r as insert,Lr as isDOMNode,L as isDev,Mr as isLitTemplateResult,Ee as isRenderable,export_jsx as jsx,export_jsxs as jsxs,O as lazy,ze as mount,Gt as onCleanup,m as onMount,y as onUnmount,we as portal,cr as read,ur as reduce,Pr as removeClass,f as render,Zt as runWithOwner,wr as setAttribute,nr as setOwner,Er as setProperty,vr as spread,Ue as startClient,br as styleMap,Rr as toggleClass,tr as untrack,lr as untrackStore,g as useCallback,A as useContext,S as useEffect,C as useEventListener,te as useLocation,Z as useMatch,h as useMemo,re as useNavigate,Q as useParam,G as useParams,Y as useProvide,b as useReducer,x as useRef,V as useRouter,ee as useSearchParams};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as B,B as b,C as c,D as d,E as e,F as f,G as g,H as h,I as i,J as j,K as k,L as l,M as m,N as n,O as o,P as p,Q as q,R as r,S as s,T as t,U as u,V as v,W as w,X as x,Y as y,Z as z,_ as A,aa as C,ba as D,q as a}from"./chunk-PFM5O5UE.mjs";export{w as A,x as Form,v as Link,i as Outlet,j as Redirect,h as Router,e as action,b as cache,d as createAsync,A as createBrowserHistory,z as createMemoryHistory,a as lazy,C as matchPath,B as matchRoutes,y as preloadRoutes,c as revalidate,D as runWithOwner,r as select,g as useAction,m as useLevelParams,s as useLocation,p as useMatch,t as useNavigate,n as useParam,o as useParamSelector,l as useParams,u as useRouteData,k as useRouter,q as useSearchParams,f as useSubmission};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Ye=Object.create;var Q=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var je=(e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},G=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Qe(t))!et.call(e,s)&&s!==n&&Q(e,s,{get:()=>t[s],enumerable:!(r=Ge(t,s))||r.enumerable});return e},p=(e,t,n)=>(G(e,t,"default"),n&&G(n,t,"default")),tt=(e,t,n)=>(n=e!=null?Ye(Ze(e)):{},G(t||!e||!e.__esModule?Q(n,"default",{value:e,enumerable:!0}):n,e)),nt=e=>G(Q({},"__esModule",{value:!0}),e);var N={};je(N,{$component:()=>U,Dynamic:()=>g.Dynamic,ErrorBoundary:()=>g.ErrorBoundary,FRAMEWORK_NAME:()=>Ne,For:()=>g.For,Index:()=>g.Index,Island:()=>C.Island,Link:()=>X,Match:()=>g.Match,Portal:()=>g.Portal,Router:()=>B,Show:()=>g.Show,Store:()=>S.Store,Suspense:()=>$,SuspenseList:()=>ce,Switch:()=>g.Switch,VERSION:()=>Fe,addClass:()=>o.addClass,appendChildren:()=>o.appendChildren,batch:()=>i.batch,classMap:()=>C.classMap,cleanupDelegation:()=>Se,clientOnly:()=>Oe,closest:()=>o.closest,composeProviders:()=>le,createComponent:()=>D,createComputed:()=>i.createComputed,createConsumer:()=>we,createContext:()=>O,createContextWithProvider:()=>Pe,createDebounce:()=>F.createDebounce,createDeferred:()=>i.createDeferred,createEffect:()=>i.createEffect,createIsomorphicState:()=>pe,createIsomorphicStore:()=>Ae,createMemo:()=>i.createMemo,createMemoryStorage:()=>ge,createProvider:()=>J,createRenderEffect:()=>i.createRenderEffect,createResource:()=>i.createResource,createRoot:()=>i.createRoot,createSelector:()=>F.createSelector,createSignal:()=>i.createSignal,createStore:()=>S.createStore,createTheme:()=>Ee,default:()=>_e,delegate:()=>o.delegate,domCreateElement:()=>o.createElement,env:()=>K,getAttribute:()=>o.getAttribute,getOffset:()=>o.getOffset,getOwner:()=>i.getOwner,getStyle:()=>o.getStyle,hasClass:()=>o.hasClass,hydrateIslands:()=>C.hydrateIslands,initDelegation:()=>be,isClient:()=>me,isJSXElement:()=>ae,isLitResult:()=>ie,isNode:()=>se,isRenderable:()=>Ce,isServer:()=>ye,isVisible:()=>o.isVisible,lazy:()=>W,mergeProps:()=>C.mergeProps,observeIntersection:()=>o.observeIntersection,observeResize:()=>o.observeResize,onCleanup:()=>i.onCleanup,onMount:()=>_,onUnmount:()=>j,portal:()=>ve,query:()=>o.query,queryAll:()=>o.queryAll,read:()=>M.readSignal,reduce:()=>M.reduceSignal,removeAttribute:()=>o.removeAttribute,removeChildren:()=>o.removeChildren,removeClass:()=>o.removeClass,render:()=>ue,runWithOwner:()=>i.runWithOwner,scrollIntoView:()=>o.scrollIntoView,setAttribute:()=>o.setAttribute,setOwner:()=>i.setOwner,setStyles:()=>o.setStyles,splitProps:()=>C.splitProps,storage:()=>V,styleMap:()=>C.styleMap,toggleClass:()=>o.toggleClass,untrack:()=>i.untrack,untrackStore:()=>S.untrackStore,unwrap:()=>S.unwrap,useCallback:()=>oe,useContext:()=>k,useEffect:()=>z,useEventListener:()=>re,useLocation:()=>Ie,useMemo:()=>ee,useNavigate:()=>q,useParams:()=>De,useProvide:()=>Re,useReducer:()=>ne,useRef:()=>te,useRouter:()=>L,waitForElement:()=>o.waitForElement});module.exports=nt(N);var Z=require("@fluixi/dom"),d=require("@fluixi/reactive/signal");var xe=Symbol.for("fluixi-lifecycle");function $e(){let e=(0,d.getOwner)();if(!e)return null;if(!e[xe]){let t={mounts:[],effects:[],scheduled:!1};e[xe]=t}return e[xe]}function Ve(e){if(e.scheduled)return;e.scheduled=!0;let t=(0,d.getOwner)();queueMicrotask(()=>{(0,d.runWithOwner)(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&(0,d.onCleanup)(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;(0,d.createEffect)(()=>{r&&r(),r=n()}),(0,d.onCleanup)(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function A(e){(0,Z.registerCreateComponent)(D)}function D(e,t){return U(e,t)}function U(e,t){let n=typeof e=="function"?(0,d.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,d.isSignal)(n)){try{n.$name=e.name}catch{}return(0,Z.asComponent)(n)}return n}function _(e,t=!0){let n=$e();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ve(n)}else{if(!t){e();return}(0,d.createEffect)(()=>{let r=(0,d.untrack)(e);typeof r=="function"&&(0,d.onCleanup)(r)})}}function j(e){(0,d.onCleanup)(e)}function z(e){let t=$e();if(t)t.effects.push(e),Ve(t);else{let n;(0,d.createEffect)(()=>{n&&n(),n=e()}),(0,d.onCleanup)(()=>{n&&n()})}}function ee(e){return(0,d.createMemo)(e)}function te(e){let t={current:e};return(0,d.onCleanup)(()=>{t.current=null}),t}function ne(e,t){let[n,r]=(0,d.createSignal)(t);return[n,c=>{r(e(n(),c))}]}function re(e,t,n,r){z(()=>{let s=e&&"current"in e?e.current:e;if(s)return s.addEventListener(t,n,r),()=>{s.removeEventListener(t,n,r)}})}function oe(e){return e}var l={};je(l,{$component:()=>U,Dynamic:()=>g.Dynamic,ErrorBoundary:()=>g.ErrorBoundary,FRAMEWORK_NAME:()=>Ne,For:()=>g.For,Index:()=>g.Index,Island:()=>C.Island,Link:()=>X,Match:()=>g.Match,Portal:()=>g.Portal,Router:()=>B,Show:()=>g.Show,Store:()=>S.Store,Suspense:()=>$,SuspenseList:()=>ce,Switch:()=>g.Switch,VERSION:()=>Fe,addClass:()=>o.addClass,appendChildren:()=>o.appendChildren,batch:()=>i.batch,classMap:()=>C.classMap,cleanupDelegation:()=>Se,clientOnly:()=>Oe,closest:()=>o.closest,composeProviders:()=>le,createComponent:()=>D,createComputed:()=>i.createComputed,createConsumer:()=>we,createContext:()=>O,createContextWithProvider:()=>Pe,createDebounce:()=>F.createDebounce,createDeferred:()=>i.createDeferred,createEffect:()=>i.createEffect,createIsomorphicState:()=>pe,createIsomorphicStore:()=>Ae,createMemo:()=>i.createMemo,createMemoryStorage:()=>ge,createProvider:()=>J,createRenderEffect:()=>i.createRenderEffect,createResource:()=>i.createResource,createRoot:()=>i.createRoot,createSelector:()=>F.createSelector,createSignal:()=>i.createSignal,createStore:()=>S.createStore,createTheme:()=>Ee,default:()=>_e,delegate:()=>o.delegate,domCreateElement:()=>o.createElement,env:()=>K,getAttribute:()=>o.getAttribute,getOffset:()=>o.getOffset,getOwner:()=>i.getOwner,getStyle:()=>o.getStyle,hasClass:()=>o.hasClass,hydrateIslands:()=>C.hydrateIslands,initDelegation:()=>be,isClient:()=>me,isJSXElement:()=>ae,isLitResult:()=>ie,isNode:()=>se,isRenderable:()=>Ce,isServer:()=>ye,isVisible:()=>o.isVisible,lazy:()=>W,mergeProps:()=>C.mergeProps,observeIntersection:()=>o.observeIntersection,observeResize:()=>o.observeResize,onCleanup:()=>i.onCleanup,onMount:()=>_,onUnmount:()=>j,portal:()=>ve,query:()=>o.query,queryAll:()=>o.queryAll,read:()=>M.readSignal,reduce:()=>M.reduceSignal,removeAttribute:()=>o.removeAttribute,removeChildren:()=>o.removeChildren,removeClass:()=>o.removeClass,render:()=>ue,runWithOwner:()=>i.runWithOwner,scrollIntoView:()=>o.scrollIntoView,setAttribute:()=>o.setAttribute,setOwner:()=>i.setOwner,setStyles:()=>o.setStyles,splitProps:()=>C.splitProps,storage:()=>V,styleMap:()=>C.styleMap,toggleClass:()=>o.toggleClass,untrack:()=>i.untrack,untrackStore:()=>S.untrackStore,unwrap:()=>S.unwrap,useCallback:()=>oe,useContext:()=>k,useEffect:()=>z,useEventListener:()=>re,useLocation:()=>Ie,useMemo:()=>ee,useNavigate:()=>q,useParams:()=>De,useProvide:()=>Re,useReducer:()=>ne,useRef:()=>te,useRouter:()=>L,waitForElement:()=>o.waitForElement});var i=require("@fluixi/reactive/signal"),F=require("@fluixi/reactive/signal"),M=require("@fluixi/reactive/operators");var Ue=require("@fluixi/reactive/signal"),w=require("@fluixi/dom");var h=require("@fluixi/reactive/signal"),P=require("@fluixi/dom");function se(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function ie(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Ke(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function ae(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var He=(0,h.createContext)();function $(e){return(0,P.createComponent)(rt,e)}function rt(e){let t=(0,h.createSuspenseBoundary)(),n=(0,h.useContext)(He),r=n?n.register(t.inFallback):void 0;function s(y){return y==null||typeof y=="boolean"?null:typeof y=="function"&&(0,P.isComponent)(y)&&!(0,h.isSignal)(y)?y():y}let c=(0,P.runWithoutHydration)(()=>s(e.fallback??null)),a=(0,h.provideSuspense)(t,()=>e.children);(0,h.provideSuspense)(t,()=>{(0,h.createRenderEffect)(()=>{let y=a;if(Array.isArray(y))for(let T of y)typeof T=="function"&&(0,h.isSignal)(T)&&T();else typeof y=="function"&&(0,h.isSignal)(y)&&y()})});let[f,u]=(0,h.createSignal)(void 0),v=Ke(a);return v&&(t.increment(),a.then(y=>{u(()=>y),t.decrement()},()=>t.decrement())),(0,h.createMemo)(()=>(r?r.showFallback():t.inFallback())?c:v?f():a)}function ce(e){return(0,P.createComponent)(ot,e)}function ot(e){let{revealOrder:t="together",tail:n}=e,r=[];function s(){if(t==="together"){let a=r.every(f=>!f.inFallback());r.forEach(f=>{f.setShowContent(a),f.setShowFallback(!a)})}else{let a=t==="backwards"?[...r].reverse():r,f=!1;for(let u of a)f||u.inFallback()?(f=!0,u.setShowContent(!1),u.setShowFallback(n!=="hidden")):(u.setShowContent(!0),u.setShowFallback(!1))}}let c={register:a=>{let[f,u]=(0,h.createSignal)(!0),[v,y]=(0,h.createSignal)(!1);return r.push({inFallback:a,setShowContent:u,setShowFallback:y}),(0,h.createEffect)(()=>{a(),s()}),{showContent:f,showFallback:v}}};return He.Provider({value:c,children:e.children})}(0,P.asSuspense)($);Object.defineProperty($,"__suspense",{value:!0,enumerable:!0});var I=require("@fluixi/reactive/signal");function W(e,t){let n,r,s;function c(){return r||(r=e().then(f=>n=f.default)),r}t?.preload&&c();let a=(f=>{if(n){let u=n;return(0,I.untrack)(()=>u(f))}if(!s){let[u]=(0,I.createResource)(()=>c());if(s=u,u.error)throw u.error}return(0,I.createMemo)(()=>{let u=s();return u?(0,I.untrack)(()=>u(f)):void 0},void 0,{name:"lazy"})});return a.preload=()=>c().then(()=>{}),a.$lazy=!0,a.loader=e,a}typeof window<"u"&&import("lit").then(e=>(0,w.registerLitRender)(e.render));var Te=typeof window>"u";function ue(e,t,n={}){if(A("render"),(0,w.delegateEvents)(["click","input","change","submit"]),Te)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return(0,Ue.createRoot)(s=>{r=s;let c=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,w.insert)(t,()=>c)}),()=>{r&&(r(),r=void 0)}}function st(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ve(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let s=ue(e,r,n);return()=>{s(),t.contains(r)&&t.removeChild(r)}}function Ce(e){return!!(e==null||typeof e=="function"||(0,w.isDOMNode)(e)||st(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function be(){Te||(0,w.delegateEvents)(["click","input","change","submit"])}function Se(){}var We=require("@fluixi/dom"),de=require("@fluixi/reactive/signal"),Je=require("@fluixi/reactive/signal");A("index");var ze=!1;function it(){ze||(ze=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function J(e,t,n){let r=!!e?.Provider,s=r?e:e.context,c=r?t:e.value,a=r?!1:e.debug??!1;r||it();let f=typeof c=="function"?c():c,u=r?n:e;return s.Provider({value:f,get children(){return u?.children},debug:a})}function Pe(e){let t=O(e);return[t,r=>J(t,r.value,r)]}function le(e,t){if(e.length===0)return(0,Je.readChildren)(()=>t);let[n,r]=e[0],s=e.slice(1);return J(n,r,{get children(){return le(s,t)}})}function we(e){return t=>{let n=k(e);return t.children(n)}}function Re(e,t){let n=k(e);return n===e.defaultValue?t():n}function O(e){let t=(0,de.createContext)(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,We.asProvider)(n),defaultValue:e}}function k(e){let t=(0,de.useContext)(e);return t!==void 0?t:e.defaultValue}var fe=require("@fluixi/reactive/signal"),Be=require("@fluixi/dom"),at="__fluixi_iso_states__",ct="__iso:";function ut(){return globalThis[at]??=new Map}function qe(e){if(typeof window>"u")return;let t=(0,Be.getServerData)();return t?t[ct+e]:void 0}function pe(e,t){let n=qe(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[s,c]=(0,fe.createSignal)(r);return ut().set(e,{server:t.server,set:c}),{value:s,set:c,key:e}}function Ae(e,t){let n=qe(e)!==void 0,r=pe(e,{server:t.server,fallback:t.fallback}),s=()=>r.value()??t.fallback,c=T=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(T))}catch{}},a=T=>{r.set(T),c(T)},f=(T,Y)=>{a({...s(),[T]:Y})},u={};for(let T of Object.keys(t.fallback))u[T]=(0,fe.createMemo)(()=>s()[T]);let v=null;return{value:s,fields:u,set:a,setField:f,ensureInit:()=>n||!t.client?Promise.resolve():(v||(v=Promise.resolve(t.client()).then(T=>{a(T)}).catch(T=>{throw v=null,T})),v),key:e}}var ye=typeof document>"u",me=!ye;function ge(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var V=typeof localStorage<"u"?localStorage:ge(),K={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function Oe(e,t){return me?e():t}var ke=require("@fluixi/reactive/signal");function dt(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function Ee(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=dt(e.system),s=()=>{let b=V.getItem(t);return b&&e.themes.includes(b)?b:r&&K.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[c,a]=(0,ke.createSignal)(s()),[f,u]=(0,ke.createSignal)(!1),v=b=>{K.document?.documentElement.setAttribute(n,b);try{V.setItem(t,b)}catch{}},y=b=>{if(!e.themes.includes(b))return;let Xe=c();a(()=>b),v(b),e.onChange?.(b,Xe),e.load&&(u(!0),e.onLoading?.(b),Promise.resolve(e.load(b)).finally(()=>{u(!1),e.onLoaded?.(b)}))};return{value:c,isLoading:f,set:y,toggle:()=>{let b=e.themes.indexOf(c());y(e.themes[(b+1)%e.themes.length])},init:()=>v(c()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}p(l,require("@fluixi/utils"));var m=require("@fluixi/reactive/signal"),x=require("@fluixi/dom"),E=require("@fluixi/reactive/signal"),mt=require("@fluixi/utils/object"),gt=require("@fluixi/utils/compare"),H=require("@fluixi/router"),he=require("@fluixi/router");var Le=require("@fluixi/reactive/signal");var lt=new Map;function ft(){lt.clear()}function pt(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let s=r,c=s.nodeValue||"";(c.startsWith("#")||c.startsWith("/"))&&n.push(s)}n.forEach(s=>s.remove()),ft()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(pt,100)});var[mn,gn]=(0,Le.createSignal)(0);var yt=O(),hn=yt.Provider;var wt=require("@fluixi/reactive/signal"),Me=(0,E.createContext)(),ht=(0,E.createContext)(),xt=(0,E.createContext)(),Tt=(0,E.createContext)();function vt(e,t,n){let r,s=e.route.data;if(typeof s=="function"){let y=!1;(0,m.onCleanup)(()=>{y=!0});let T=(0,m.getOwner)(),[Y]=(0,m.createResource)(()=>s({params:n.params,location:n.location},T,()=>y));r=Y}let c=()=>Tt.Provider({value:r,get children(){return xt.Provider({value:e.params,get children(){return ht.Provider({value:{depth:t,...n},get children(){return(0,x.createComponent)(e.component,{})}})}})}});if(!r)return c();let a=r,f=()=>a.loading,[u,v]=(0,m.createSignal)((0,m.untrack)(()=>!f()));return(0,m.createEffect)(()=>v(!f())),(0,m.createMemo)(()=>u()?c():null)}function Ct(e){let t=e.depth+1,[n,r]=(0,m.createSignal)((0,m.untrack)(()=>e.matched()[t]?.component));return(0,m.createEffect)(()=>{let s=e.matched()[t]?.component;r(()=>s)}),(0,m.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let c=(0,m.untrack)(()=>e.matched())[t];return vt(c,t,{matched:e.matched,params:e.params,location:e.location})})}function bt(e){return e==null?St():typeof e=="function"?(0,x.createComponent)(e,{}):e}function St(){let e=(0,x.createNativeElement)("div");(0,x.setAttribute)(e,"class","fx-not-found"),(0,x.setAttribute)(e,"role","main"),(0,x.setAttribute)(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=(0,x.createNativeElement)("h1");(0,x.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,x.insert)(t,"404");let n=(0,x.createNativeElement)("p");return(0,x.setAttribute)(n,"style","margin:0;opacity:.7"),(0,x.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function B(e){let t=e.history??(0,H.createBrowserHistory)(),n=(0,H.createRouter)({routes:e.routes,base:e.base,history:t}),[r,s]=(0,m.createSignal)(n.state()),c=n.subscribe(s);(0,m.onCleanup)(()=>{c(),n.destroy()});let a=(0,m.createMemo)(()=>(r().match?.matched??[]).filter(y=>y.component)),f={router:n,location:(0,m.createMemo)(()=>r().location),params:(0,m.createMemo)(()=>r().match?.params??{})},u={depth:-1,matched:a,params:f.params,location:f.location,notFound:()=>bt(e.notFound)},v;return Me.Provider({value:f,get children(){return v??=Ct(u)}})}var Pt={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function L(){let e=(0,E.useContext)(Me);if(e)return e;if(typeof window>"u")return Pt;throw new Error("[router-next] useRouter must be used within <Router>")}function De(){let e=L().params;return(0,m.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ie(){let{location:e}=L();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function q(){let{router:e}=L();return(t,n)=>e.navigate(t,n)}var R=e=>typeof e=="function"?e():e;function X(e){let t=(0,E.useContext)(Me),n=typeof document>"u",r=()=>t?.router.navigate(R(e.href)??"",{replace:R(e.replace)}),s=(0,x.createNativeElement)("a");if((0,x.setAttribute)(s,"href",R(e.href)??""),e.slot&&(0,x.setAttribute)(s,"slot",R(e.slot)),typeof s.addEventListener=="function")s.addEventListener("click",a=>{a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),r())});else{let a=R(e.className??e.class)??"";a&&(0,x.setAttribute)(s,"class",a)}typeof s.addEventListener=="function"&&(0,m.createEffect)(()=>{let a=R(e.href)??"";s.setAttribute("href",a);let f=R(e.className??e.class)??"",u=R(e.activeClass)??"",v=R(e.active)??t?.location().pathname===a;s.className=[f,v?u:""].filter(Boolean).join(" ")});let c=e.children;return c!=null&&(0,x.insert)(s,c),s}var o=require("@fluixi/dom"),C=require("@fluixi/dom");var g=require("@fluixi/dom");var S=require("@fluixi/reactive/store"),Fe="0.0.1",Ne="Fluixi";var _e={createComponent:D,onMount:_,onUnmount:j,createEffect:i.createEffect,createMemo:i.createMemo,createSignal:i.createSignal,createContext:O,createRoot:i.createRoot,createDeferred:i.createDeferred,createComputed:i.createComputed,createRenderEffect:i.createRenderEffect,createSelector:F.createSelector,onCleanup:i.onCleanup,getOwner:i.getOwner,runWithOwner:i.runWithOwner,batch:i.batch,untrack:i.untrack,useContext:k,setOwner:i.setOwner,Router:B,Link:X,useRouter:L,useNavigate:q,read:M.readSignal,reduce:M.reduceSignal,VERSION:Fe,FRAMEWORK_NAME:Ne};A("fluixi element main");p(N,l,module.exports);A("fluixi index");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Main entry point for Fluixi framework
|
|
3
|
+
* @module @fluixi/core
|
|
4
|
+
*/
|
|
5
|
+
import { ensureIntegration } from './lib/render/component.js';
|
|
6
|
+
// import type { JSX as FluixiJSX } from '@fluixi/jsx';
|
|
7
|
+
export * from './lib/core.js';
|
|
8
|
+
export { default } from './lib/core.js';
|
|
9
|
+
ensureIntegration('fluixi index');
|
|
10
|
+
// /**
|
|
11
|
+
// * Global JSX namespace for "jsx": "preserve" mode.
|
|
12
|
+
// * Applied automatically when any file imports from @fluixi/core.
|
|
13
|
+
// * Pattern: same as SolidJS — the framework main entry carries the global augmentation.
|
|
14
|
+
// */
|
|
15
|
+
// declare global {
|
|
16
|
+
// namespace JSX {
|
|
17
|
+
// type Element = FluixiJSX.Element;
|
|
18
|
+
// interface IntrinsicElements extends FluixiJSX.IntrinsicElements {}
|
|
19
|
+
// interface ElementChildrenAttribute {
|
|
20
|
+
// children: {};
|
|
21
|
+
// }
|
|
22
|
+
// interface IntrinsicAttributes {
|
|
23
|
+
// key?: string | number;
|
|
24
|
+
// }
|
|
25
|
+
// }
|
|
26
|
+
// }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var ze=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var en=Object.prototype.hasOwnProperty;var We=(e,t)=>{for(var n in t)ze(e,n,{get:t[n],enumerable:!0})},Ue=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zt(t))!en.call(e,o)&&o!==n&&ze(e,o,{get:()=>t[o],enumerable:!(r=Qt(t,o))||r.enumerable});return e},d=(e,t,n)=>(Ue(e,t,"default"),n&&Ue(n,t,"default"));var S={};We(S,{$component:()=>E,Dynamic:()=>yt,ErrorBoundary:()=>mt,FRAMEWORK_NAME:()=>Ke,For:()=>dt,Index:()=>lt,Island:()=>Ut,Link:()=>N,Match:()=>pt,Portal:()=>gt,Router:()=>I,Show:()=>ut,Store:()=>Yt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>ft,VERSION:()=>Ve,addClass:()=>bt,appendChildren:()=>Dt,batch:()=>De,classMap:()=>Kt,cleanupDelegation:()=>de,clientOnly:()=>me,closest:()=>Ct,composeProviders:()=>X,createComponent:()=>b,createComputed:()=>Oe,createConsumer:()=>fe,createContext:()=>h,createContextWithProvider:()=>le,createDebounce:()=>xt,createDeferred:()=>Fe,createEffect:()=>Pe,createIsomorphicState:()=>Y,createIsomorphicStore:()=>ye,createMemo:()=>we,createMemoryStorage:()=>Z,createProvider:()=>D,createRenderEffect:()=>ke,createResource:()=>ht,createRoot:()=>Ae,createSelector:()=>_e,createSignal:()=>Re,createStore:()=>Bt,createTheme:()=>ge,default:()=>He,delegate:()=>_t,domCreateElement:()=>Lt,env:()=>O,getAttribute:()=>At,getOffset:()=>Nt,getOwner:()=>Le,getStyle:()=>Et,hasClass:()=>wt,hydrateIslands:()=>zt,initDelegation:()=>ue,isClient:()=>Q,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ce,isServer:()=>G,isVisible:()=>It,lazy:()=>M,mergeProps:()=>Wt,observeIntersection:()=>$t,observeResize:()=>Vt,onCleanup:()=>Ee,onMount:()=>P,onUnmount:()=>w,portal:()=>ae,query:()=>Tt,queryAll:()=>vt,read:()=>je,reduce:()=>$e,removeAttribute:()=>Ot,removeChildren:()=>Mt,removeClass:()=>St,render:()=>q,runWithOwner:()=>Me,scrollIntoView:()=>Ft,setAttribute:()=>Rt,setOwner:()=>Ne,setStyles:()=>kt,splitProps:()=>Jt,storage:()=>A,styleMap:()=>Ht,toggleClass:()=>Pt,untrack:()=>Ie,untrackStore:()=>qt,unwrap:()=>Xt,useCallback:()=>U,useContext:()=>x,useEffect:()=>L,useEventListener:()=>H,useLocation:()=>Se,useMemo:()=>$,useNavigate:()=>F,useParams:()=>be,useProvide:()=>pe,useReducer:()=>K,useRef:()=>V,useRouter:()=>v,waitForElement:()=>jt});import{registerCreateComponent as tn,asComponent as nn}from"@fluixi/dom";import{untrack as Je,onCleanup as C,getOwner as re,createEffect as j,createMemo as Be,createSignal as rn,isSignal as on,batch as sn,runWithOwner as qe}from"@fluixi/reactive/signal";var ne=Symbol.for("fluixi-lifecycle");function Xe(){let e=re();if(!e)return null;if(!e[ne]){let t={mounts:[],effects:[],scheduled:!1};e[ne]=t}return e[ne]}function Ye(e){if(e.scheduled)return;e.scheduled=!0;let t=re();queueMicrotask(()=>{qe(t,()=>{for(let n of e.mounts)try{let r=n();typeof r=="function"&&C(r)}catch(r){console.error("Error in onMount callback:",r)}for(let n of e.effects){let r;j(()=>{r&&r(),r=n()}),C(()=>{r&&r()})}e.mounts=[],e.effects=[]})})}function g(e){tn(b)}function b(e,t){return E(e,t)}function E(e,t){let n=typeof e=="function"?Je(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!on(n)){try{n.$name=e.name}catch{}return nn(n)}return n}function P(e,t=!0){let n=Xe();if(n){if(!t){n.scheduled||e();return}n.mounts.push(e),Ye(n)}else{if(!t){e();return}j(()=>{let r=Je(e);typeof r=="function"&&C(r)})}}function w(e){C(e)}function L(e){let t=Xe();if(t)t.effects.push(e),Ye(t);else{let n;j(()=>{n&&n(),n=e()}),C(()=>{n&&n()})}}function $(e){return Be(e)}function V(e){let t={current:e};return C(()=>{t.current=null}),t}function K(e,t){let[n,r]=rn(t);return[n,i=>{r(e(n(),i))}]}function H(e,t,n,r){L(()=>{let o=e&&"current"in e?e.current:e;if(o)return o.addEventListener(t,n,r),()=>{o.removeEventListener(t,n,r)}})}function U(e){return e}var c={};We(c,{$component:()=>E,Dynamic:()=>yt,ErrorBoundary:()=>mt,FRAMEWORK_NAME:()=>Ke,For:()=>dt,Index:()=>lt,Island:()=>Ut,Link:()=>N,Match:()=>pt,Portal:()=>gt,Router:()=>I,Show:()=>ut,Store:()=>Yt,Suspense:()=>R,SuspenseList:()=>B,Switch:()=>ft,VERSION:()=>Ve,addClass:()=>bt,appendChildren:()=>Dt,batch:()=>De,classMap:()=>Kt,cleanupDelegation:()=>de,clientOnly:()=>me,closest:()=>Ct,composeProviders:()=>X,createComponent:()=>b,createComputed:()=>Oe,createConsumer:()=>fe,createContext:()=>h,createContextWithProvider:()=>le,createDebounce:()=>xt,createDeferred:()=>Fe,createEffect:()=>Pe,createIsomorphicState:()=>Y,createIsomorphicStore:()=>ye,createMemo:()=>we,createMemoryStorage:()=>Z,createProvider:()=>D,createRenderEffect:()=>ke,createResource:()=>ht,createRoot:()=>Ae,createSelector:()=>_e,createSignal:()=>Re,createStore:()=>Bt,createTheme:()=>ge,default:()=>He,delegate:()=>_t,domCreateElement:()=>Lt,env:()=>O,getAttribute:()=>At,getOffset:()=>Nt,getOwner:()=>Le,getStyle:()=>Et,hasClass:()=>wt,hydrateIslands:()=>zt,initDelegation:()=>ue,isClient:()=>Q,isJSXElement:()=>J,isLitResult:()=>W,isNode:()=>z,isRenderable:()=>ce,isServer:()=>G,isVisible:()=>It,lazy:()=>M,mergeProps:()=>Wt,observeIntersection:()=>$t,observeResize:()=>Vt,onCleanup:()=>Ee,onMount:()=>P,onUnmount:()=>w,portal:()=>ae,query:()=>Tt,queryAll:()=>vt,read:()=>je,reduce:()=>$e,removeAttribute:()=>Ot,removeChildren:()=>Mt,removeClass:()=>St,render:()=>q,runWithOwner:()=>Me,scrollIntoView:()=>Ft,setAttribute:()=>Rt,setOwner:()=>Ne,setStyles:()=>kt,splitProps:()=>Jt,storage:()=>A,styleMap:()=>Ht,toggleClass:()=>Pt,untrack:()=>Ie,untrackStore:()=>qt,unwrap:()=>Xt,useCallback:()=>U,useContext:()=>x,useEffect:()=>L,useEventListener:()=>H,useLocation:()=>Se,useMemo:()=>$,useNavigate:()=>F,useParams:()=>be,useProvide:()=>pe,useReducer:()=>K,useRef:()=>V,useRouter:()=>v,waitForElement:()=>jt});import{createEffect as Pe,createMemo as we,createSignal as Re,createResource as ht,createRoot as Ae,createComputed as Oe,createRenderEffect as ke,onCleanup as Ee,getOwner as Le,runWithOwner as Me,batch as De,untrack as Ie,createDeferred as Fe,setOwner as Ne}from"@fluixi/reactive/signal";import{createDebounce as xt,createSelector as _e}from"@fluixi/reactive/signal";import{readSignal as je,reduceSignal as $e}from"@fluixi/reactive/operators";import{createRoot as vn}from"@fluixi/reactive/signal";import{isDOMNode as Cn,delegateEvents as nt,registerLitRender as bn,insert as Sn}from"@fluixi/dom";import{createSignal as se,createMemo as an,createEffect as cn,createRenderEffect as un,isSignal as oe,useContext as dn,createContext as ln,createSuspenseBoundary as fn,provideSuspense as Ge}from"@fluixi/reactive/signal";import{asSuspense as pn,isComponent as yn,createComponent as Qe,runWithoutHydration as mn}from"@fluixi/dom";function z(e){return typeof window>"u"?!1:typeof Node=="function"&&e instanceof Node?!0:!!(e&&typeof e=="object"&&typeof e.nodeType=="number")}function W(e){return!e||typeof e!="object"?!1:!!(typeof e._$litType$<"u"||typeof e._$litDirective$<"u"||Array.isArray(e.strings)&&Array.isArray(e.values))}function Ze(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}function J(e){return!!(e&&typeof e=="object"&&"type"in e&&"props"in e)}var et=ln();function R(e){return Qe(gn,e)}function gn(e){let t=fn(),n=dn(et),r=n?n.register(t.inFallback):void 0;function o(l){return l==null||typeof l=="boolean"?null:typeof l=="function"&&yn(l)&&!oe(l)?l():l}let i=mn(()=>o(e.fallback??null)),s=Ge(t,()=>e.children);Ge(t,()=>{un(()=>{let l=s;if(Array.isArray(l))for(let f of l)typeof f=="function"&&oe(f)&&f();else typeof l=="function"&&oe(l)&&l()})});let[u,a]=se(void 0),p=Ze(s);return p&&(t.increment(),s.then(l=>{a(()=>l),t.decrement()},()=>t.decrement())),an(()=>(r?r.showFallback():t.inFallback())?i:p?u():s)}function B(e){return Qe(hn,e)}function hn(e){let{revealOrder:t="together",tail:n}=e,r=[];function o(){if(t==="together"){let s=r.every(u=>!u.inFallback());r.forEach(u=>{u.setShowContent(s),u.setShowFallback(!s)})}else{let s=t==="backwards"?[...r].reverse():r,u=!1;for(let a of s)u||a.inFallback()?(u=!0,a.setShowContent(!1),a.setShowFallback(n!=="hidden")):(a.setShowContent(!0),a.setShowFallback(!1))}}let i={register:s=>{let[u,a]=se(!0),[p,l]=se(!1);return r.push({inFallback:s,setShowContent:a,setShowFallback:l}),cn(()=>{s(),o()}),{showContent:u,showFallback:p}}};return et.Provider({value:i,children:e.children})}pn(R);Object.defineProperty(R,"__suspense",{value:!0,enumerable:!0});import{untrack as tt,createMemo as xn,createResource as Tn}from"@fluixi/reactive/signal";function M(e,t){let n,r,o;function i(){return r||(r=e().then(u=>n=u.default)),r}t?.preload&&i();let s=(u=>{if(n){let a=n;return tt(()=>a(u))}if(!o){let[a]=Tn(()=>i());if(o=a,a.error)throw a.error}return xn(()=>{let a=o();return a?tt(()=>a(u)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}typeof window<"u"&&import("lit").then(e=>bn(e.render));var ie=typeof window>"u";function q(e,t,n={}){if(g("render"),nt(["click","input","change","submit"]),ie)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let r;return vn(o=>{r=o;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),Sn(t,()=>i)}),()=>{r&&(r(),r=void 0)}}function Pn(e){return e&&typeof e=="object"&&(e._$litType$!==void 0||e._$litDirective$!==void 0)}function ae(e,t,n={}){let r=document.createElement("div");r.setAttribute("data-portal","true"),t.appendChild(r);let o=q(e,r,n);return()=>{o(),t.contains(r)&&t.removeChild(r)}}function ce(e){return!!(e==null||typeof e=="function"||Cn(e)||Pn(e)||Array.isArray(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean")}function ue(){ie||nt(["click","input","change","submit"])}function de(){}import{asProvider as wn}from"@fluixi/dom";import{createContext as Rn,useContext as An}from"@fluixi/reactive/signal";import{readChildren as On}from"@fluixi/reactive/signal";g("index");var rt=!1;function kn(){rt||(rt=!0,!(typeof process<"u")&&console.warn("[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={…}>{props.children}</Context.Provider>"))}function D(e,t,n){let r=!!e?.Provider,o=r?e:e.context,i=r?t:e.value,s=r?!1:e.debug??!1;r||kn();let u=typeof i=="function"?i():i,a=r?n:e;return o.Provider({value:u,get children(){return a?.children},debug:s})}function le(e){let t=h(e);return[t,r=>D(t,r.value,r)]}function X(e,t){if(e.length===0)return On(()=>t);let[n,r]=e[0],o=e.slice(1);return D(n,r,{get children(){return X(o,t)}})}function fe(e){return t=>{let n=x(e);return t.children(n)}}function pe(e,t){let n=x(e);return n===e.defaultValue?t():n}function h(e){let t=Rn(e),n=r=>(r.debug,t.Provider({value:r.value,get children(){return r.children},debug:r.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:wn(n),defaultValue:e}}function x(e){let t=An(e);return t!==void 0?t:e.defaultValue}import{createSignal as En,createMemo as Ln}from"@fluixi/reactive/signal";import{getServerData as Mn}from"@fluixi/dom";var Dn="__fluixi_iso_states__",In="__iso:";function Fn(){return globalThis[Dn]??=new Map}function ot(e){if(typeof window>"u")return;let t=Mn();return t?t[In+e]:void 0}function Y(e,t){let n=ot(e),r=n!==void 0?n:typeof window<"u"&&t.client?t.client():t.fallback,[o,i]=En(r);return Fn().set(e,{server:t.server,set:i}),{value:o,set:i,key:e}}function ye(e,t){let n=ot(e)!==void 0,r=Y(e,{server:t.server,fallback:t.fallback}),o=()=>r.value()??t.fallback,i=f=>{if(!(!t.persist||typeof localStorage>"u"))try{localStorage.setItem(t.persist,JSON.stringify(f))}catch{}},s=f=>{r.set(f),i(f)},u=(f,_)=>{s({...o(),[f]:_})},a={};for(let f of Object.keys(t.fallback))a[f]=Ln(()=>o()[f]);let p=null;return{value:o,fields:a,set:s,setField:u,ensureInit:()=>n||!t.client?Promise.resolve():(p||(p=Promise.resolve(t.client()).then(f=>{s(f)}).catch(f=>{throw p=null,f})),p),key:e}}var G=typeof document>"u",Q=!G;function Z(){let e=new Map;return{getItem:t=>e.has(t)?e.get(t):null,setItem:(t,n)=>{e.set(t,String(n))},removeItem:t=>{e.delete(t)},clear:()=>e.clear(),key:t=>Array.from(e.keys())[t]??null,get length(){return e.size}}}var A=typeof localStorage<"u"?localStorage:Z(),O={get window(){return typeof window<"u"?window:void 0},get document(){return typeof document<"u"?document:void 0}};function me(e,t){return Q?e():t}import{createSignal as st}from"@fluixi/reactive/signal";function Nn(e){return e?e===!0?{dark:"dark",light:"light"}:e:null}function ge(e){let t=e.storageKey??"theme",n=e.attribute??"data-theme",r=Nn(e.system),o=()=>{let y=A.getItem(t);return y&&e.themes.includes(y)?y:r&&O.window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches?r.dark:r?r.light:e.default},[i,s]=st(o()),[u,a]=st(!1),p=y=>{O.document?.documentElement.setAttribute(n,y);try{A.setItem(t,y)}catch{}},l=y=>{if(!e.themes.includes(y))return;let Gt=i();s(()=>y),p(y),e.onChange?.(y,Gt),e.load&&(a(!0),e.onLoading?.(y),Promise.resolve(e.load(y)).finally(()=>{a(!1),e.onLoaded?.(y)}))};return{value:i,isLoading:u,set:l,toggle:()=>{let y=e.themes.indexOf(i());l(e.themes[(y+1)%e.themes.length])},init:()=>p(i()),headScript:()=>`<script>(function(){try{var c=${JSON.stringify({k:t,a:n,d:e.default,sys:r})},t=localStorage.getItem(c.k);if(!t&&c.sys)t=matchMedia('(prefers-color-scheme: dark)').matches?c.sys.dark:c.sys.light;if(!t)t=c.d;document.documentElement.setAttribute(c.a,t);}catch(e){}})();<\/script>`}}d(c,Bo);import*as Bo from"@fluixi/utils";import{createSignal as Te,createMemo as k,createResource as Hn,createEffect as ve,getOwner as Un,onCleanup as it,untrack as he}from"@fluixi/reactive/signal";import{insert as xe,createComponent as at,createNativeElement as ee,setAttribute as T}from"@fluixi/dom";import{createContext as te,useContext as ct}from"@fluixi/reactive/signal";import{get as xo}from"@fluixi/utils/object";import{deepEqual as vo}from"@fluixi/utils/compare";import{createRouter as zn,createBrowserHistory as Wn,matchRoutes as bo,matchPath as So}from"@fluixi/router";import{createMemoryHistory as Ro,createBrowserHistory as Ao,matchRoutes as Oo,matchPath as ko}from"@fluixi/router";import{createResource as Zr,createSignal as Vn}from"@fluixi/reactive/signal";var _n=new Map;function jn(){_n.clear()}function $n(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],r;for(;r=t.nextNode();){let o=r,i=o.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(o)}n.forEach(o=>o.remove()),jn()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout($n,100)});var[ro,oo]=Vn(0);var Kn=h(),so=Kn.Provider;import{runWithOwner as Do}from"@fluixi/reactive/signal";var Ce=te(),Jn=te(),Bn=te(),qn=te();function Xn(e,t,n){let r,o=e.route.data;if(typeof o=="function"){let l=!1;it(()=>{l=!0});let f=Un(),[_]=Hn(()=>o({params:n.params,location:n.location},f,()=>l));r=_}let i=()=>qn.Provider({value:r,get children(){return Bn.Provider({value:e.params,get children(){return Jn.Provider({value:{depth:t,...n},get children(){return at(e.component,{})}})}})}});if(!r)return i();let s=r,u=()=>s.loading,[a,p]=Te(he(()=>!u()));return ve(()=>p(!u())),k(()=>a()?i():null)}function Yn(e){let t=e.depth+1,[n,r]=Te(he(()=>e.matched()[t]?.component));return ve(()=>{let o=e.matched()[t]?.component;r(()=>o)}),k(()=>{if(!n())return e.notFound?e.notFound():null;let i=he(()=>e.matched())[t];return Xn(i,t,{matched:e.matched,params:e.params,location:e.location})})}function Gn(e){return e==null?Qn():typeof e=="function"?at(e,{}):e}function Qn(){let e=ee("div");T(e,"class","fx-not-found"),T(e,"role","main"),T(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=ee("h1");T(t,"style","margin:0;font-size:2.5rem;font-weight:700"),xe(t,"404");let n=ee("p");return T(n,"style","margin:0;opacity:.7"),xe(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function I(e){let t=e.history??Wn(),n=zn({routes:e.routes,base:e.base,history:t}),[r,o]=Te(n.state()),i=n.subscribe(o);it(()=>{i(),n.destroy()});let s=k(()=>(r().match?.matched??[]).filter(l=>l.component)),u={router:n,location:k(()=>r().location),params:k(()=>r().match?.params??{})},a={depth:-1,matched:s,params:u.params,location:u.location,notFound:()=>Gn(e.notFound)},p;return Ce.Provider({value:u,get children(){return p??=Yn(a)}})}var Zn={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};function v(){let e=ct(Ce);if(e)return e;if(typeof window>"u")return Zn;throw new Error("[router-next] useRouter must be used within <Router>")}function be(){let e=v().params;return k(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Se(){let{location:e}=v();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function F(){let{router:e}=v();return(t,n)=>e.navigate(t,n)}var m=e=>typeof e=="function"?e():e;function N(e){let t=ct(Ce),n=typeof document>"u",r=()=>t?.router.navigate(m(e.href)??"",{replace:m(e.replace)}),o=ee("a");if(T(o,"href",m(e.href)??""),e.slot&&T(o,"slot",m(e.slot)),typeof o.addEventListener=="function")o.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r())});else{let s=m(e.className??e.class)??"";s&&T(o,"class",s)}typeof o.addEventListener=="function"&&ve(()=>{let s=m(e.href)??"";o.setAttribute("href",s);let u=m(e.className??e.class)??"",a=m(e.activeClass)??"",p=m(e.active)??t?.location().pathname===s;o.className=[u,p?a:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&xe(o,i),o}import{query as Tt,queryAll as vt,closest as Ct,addClass as bt,removeClass as St,toggleClass as Pt,hasClass as wt,setAttribute as Rt,getAttribute as At,removeAttribute as Ot,setStyles as kt,getStyle as Et,createElement as Lt,removeChildren as Mt,appendChildren as Dt,isVisible as It,scrollIntoView as Ft,getOffset as Nt,delegate as _t,waitForElement as jt,observeIntersection as $t,observeResize as Vt}from"@fluixi/dom";import{classMap as Kt,styleMap as Ht,Island as Ut,hydrateIslands as zt,mergeProps as Wt,splitProps as Jt}from"@fluixi/dom";import{Show as ut,For as dt,Index as lt,Switch as ft,Match as pt,Dynamic as yt,ErrorBoundary as mt,Portal as gt}from"@fluixi/dom";import{createStore as Bt,untrackStore as qt,unwrap as Xt,Store as Yt}from"@fluixi/reactive/store";var Ve="0.0.1",Ke="Fluixi";var He={createComponent:b,onMount:P,onUnmount:w,createEffect:Pe,createMemo:we,createSignal:Re,createContext:h,createRoot:Ae,createDeferred:Fe,createComputed:Oe,createRenderEffect:ke,createSelector:_e,onCleanup:Ee,getOwner:Le,runWithOwner:Me,batch:De,untrack:Ie,useContext:x,setOwner:Ne,Router:I,Link:N,useRouter:v,useNavigate:F,read:je,reduce:$e,VERSION:Ve,FRAMEWORK_NAME:Ke};g("fluixi element main");d(S,c);g("fluixi index");export{E as $component,yt as Dynamic,mt as ErrorBoundary,Ke as FRAMEWORK_NAME,dt as For,lt as Index,Ut as Island,N as Link,pt as Match,gt as Portal,I as Router,ut as Show,Yt as Store,R as Suspense,B as SuspenseList,ft as Switch,Ve as VERSION,bt as addClass,Dt as appendChildren,De as batch,Kt as classMap,de as cleanupDelegation,me as clientOnly,Ct as closest,X as composeProviders,b as createComponent,Oe as createComputed,fe as createConsumer,h as createContext,le as createContextWithProvider,xt as createDebounce,Fe as createDeferred,Pe as createEffect,Y as createIsomorphicState,ye as createIsomorphicStore,we as createMemo,Z as createMemoryStorage,D as createProvider,ke as createRenderEffect,ht as createResource,Ae as createRoot,_e as createSelector,Re as createSignal,Bt as createStore,ge as createTheme,He as default,_t as delegate,Lt as domCreateElement,O as env,At as getAttribute,Nt as getOffset,Le as getOwner,Et as getStyle,wt as hasClass,zt as hydrateIslands,ue as initDelegation,Q as isClient,J as isJSXElement,W as isLitResult,z as isNode,ce as isRenderable,G as isServer,It as isVisible,M as lazy,Wt as mergeProps,$t as observeIntersection,Vt as observeResize,Ee as onCleanup,P as onMount,w as onUnmount,ae as portal,Tt as query,vt as queryAll,je as read,$e as reduce,Ot as removeAttribute,Mt as removeChildren,St as removeClass,q as render,Me as runWithOwner,Ft as scrollIntoView,Rt as setAttribute,Ne as setOwner,kt as setStyles,Jt as splitProps,A as storage,Ht as styleMap,Pt as toggleClass,Ie as untrack,qt as untrackStore,Xt as unwrap,U as useCallback,x as useContext,L as useEffect,H as useEventListener,Se as useLocation,$ as useMemo,F as useNavigate,be as useParams,pe as useProvide,K as useReducer,V as useRef,v as useRouter,jt as waitForElement};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var b=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var x=(r,o,p,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let f of d(o))!g.call(r,f)&&f!==p&&b(r,f,{get:()=>o[f],enumerable:!(a=c(o,f))||a.enumerable});return r},m=(r,o,p)=>(x(r,o,"default"),p&&x(p,o,"default"));var h=r=>x(b({},"__esModule",{value:!0}),r);var t={};module.exports=h(t);var e={};m(e,require("@fluixi/jsx/jsx-dev-runtime"));m(t,e,module.exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/jsx-runtime/jsx-dev-runtime.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var b=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var a=(e,o,p,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let f of d(o))!g.call(e,f)&&f!==p&&b(e,f,{get:()=>o[f],enumerable:!(x=c(o,f))||x.enumerable});return e},m=(e,o,p)=>(a(e,o,"default"),p&&a(p,o,"default"));var t={};var r={};m(r,i);import*as i from"@fluixi/jsx/jsx-dev-runtime";m(t,r);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var l=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var e=(o,x,p,m)=>{if(x&&typeof x=="object"||typeof x=="function")for(let i of u(x))!J.call(o,i)&&i!==p&&l(o,i,{get:()=>x[i],enumerable:!(m=s(x,i))||m.enumerable});return o},f=(o,x,p)=>(e(o,x,"default"),p&&e(p,x,"default"));var S=o=>e(l({},"__esModule",{value:!0}),o);var t={};module.exports=S(t);var r={};f(r,require("@fluixi/jsx/jsx-runtime"));f(t,r,module.exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,cAAe,4BAA4B,CAAC;AAC5C,YAAY,EAAC,GAAG,EAAC,MAAM,aAAa,CAAA;AACpC;;;GAGG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './lib/jsx-runtime/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Global JSX namespace for "jsx": "preserve" mode.
|
|
4
|
+
* Applied automatically when any file imports from @fluixi/core.
|
|
5
|
+
*/
|
|
6
|
+
// declare global {
|
|
7
|
+
// namespace JSX {
|
|
8
|
+
// // type Element = FluixiJSX.Element;
|
|
9
|
+
// interface IntrinsicElements extends JSX.IntrinsicElements {}
|
|
10
|
+
// interface ElementChildrenAttribute {
|
|
11
|
+
// children: {};
|
|
12
|
+
// }
|
|
13
|
+
// interface IntrinsicAttributes {
|
|
14
|
+
// key?: string | number;
|
|
15
|
+
// }
|
|
16
|
+
// }
|
|
17
|
+
// }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var l=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var m=(r,x,p,e)=>{if(x&&typeof x=="object"||typeof x=="function")for(let i of u(x))!J.call(r,i)&&i!==p&&l(r,i,{get:()=>x[i],enumerable:!(e=s(x,i))||e.enumerable});return r},f=(r,x,p)=>(m(r,x,"default"),p&&m(p,x,"default"));var t={};var o={};f(o,X);import*as X from"@fluixi/jsx/jsx-runtime";f(t,o);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var f=!1,u=new Map;function h(){return f}function E(e){f=e}function O(e,t){u.set(e,t)}function b(e){return u.get(e)}function p(){u.clear()}function L(){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))u.set(r,o);return!0}catch(t){return console.error("Failed to deserialize hydration data:",t),!1}}function l(){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()),p()}typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(l,100)});function _(){return typeof window>"u"}import{registerCreateComponent as y,asComponent as m}from"@fluixi/dom";import{untrack as x,onCleanup as H,getOwner as M,createEffect as j,createMemo as A,createSignal as I,isSignal as v,batch as P,runWithOwner as N}from"@fluixi/reactive/signal";function X(e){y(T)}function T(e,t){return g(e,t)}function g(e,t){let n=typeof e=="function"?x(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!v(n)){try{n.$name=e.name}catch{}return m(n)}return n}import{untrack as d,createMemo as w,createResource as C}from"@fluixi/reactive/signal";function G(e,t){let n,r,o;function a(){return r||(r=e().then(s=>n=s.default)),r}t?.preload&&a();let c=(s=>{if(n){let i=n;return d(()=>i(s))}if(!o){let[i]=C(()=>a());if(o=i,i.error)throw i.error}return w(()=>{let i=o();return i?d(()=>i(s)):void 0},void 0,{name:"lazy"})});return c.preload=()=>a().then(()=>{}),c.$lazy=!0,c.loader=e,c}export{h as a,E as b,O as c,b as d,L as e,l as f,_ as g,X as h,G as i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Le=Object.create;var O=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var ke=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty;var w=(e,t)=>()=>(e&&(t=e(e=0)),t);var q=(e,t)=>{for(var n in t)O(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ke(t))!De.call(e,r)&&r!==n&&O(e,r,{get:()=>t[r],enumerable:!(o=Oe(t,r))||o.enumerable});return e};var Me=(e,t,n)=>(n=e!=null?Le(_e(e)):{},B(t||!e||!e.__esModule?O(n,"default",{value:e,enumerable:!0}):n,e)),Fe=e=>B(O({},"__esModule",{value:!0}),e);function J(){return Y}function H(e){Y=e}function G(e,t){k.set(e,t)}function Q(e){return k.get(e)}function He(){k.clear()}function Z(){if(typeof window>"u")return!1;let e=document.getElementById("__FLUIXI_HYDRATION__");if(!e||e.getAttribute("type")!=="application/json")return!1;try{let t=e.textContent||"{}",n=JSON.parse(t);for(let[o,r]of Object.entries(n))k.set(o,r);return!0}catch(t){return console.error("Failed to deserialize hydration data:",t),!1}}function N(){if(typeof window>"u")return;let e=document.getElementById("__FLUIXI_HYDRATION__");e&&e.remove();let t=document.createTreeWalker(document.body,NodeFilter.SHOW_COMMENT,null),n=[],o;for(;o=t.nextNode();){let r=o,i=r.nodeValue||"";(i.startsWith("#")||i.startsWith("/"))&&n.push(r)}n.forEach(r=>r.remove()),He()}function ee(){return typeof window>"u"}var Y,k,j=w(()=>{"use strict";Y=!1,k=new Map;typeof window<"u"&&window.addEventListener("load",()=>{setTimeout(N,100)})});function R(e){(0,_.registerCreateComponent)(te)}function te(e,t){return ne(e,t)}function ne(e,t){let n=typeof e=="function"?(0,p.untrack)(()=>e(t)):e;if(n!=null&&(typeof n=="function"||typeof n=="object")&&!(0,p.isSignal)(n)){try{n.$name=e.name}catch{}return(0,_.asComponent)(n)}return n}var _,p,P=w(()=>{"use strict";_=require("@fluixi/dom"),p=require("@fluixi/reactive/signal")});function V(e,t){let n,o,r;function i(){return o||(o=e().then(c=>n=c.default)),o}t?.preload&&i();let s=(c=>{if(n){let u=n;return(0,C.untrack)(()=>u(c))}if(!r){let[u]=(0,C.createResource)(()=>i());if(r=u,u.error)throw u.error}return(0,C.createMemo)(()=>{let u=r();return u?(0,C.untrack)(()=>u(c)):void 0},void 0,{name:"lazy"})});return s.preload=()=>i().then(()=>{}),s.$lazy=!0,s.loader=e,s}var C,U=w(()=>{"use strict";C=require("@fluixi/reactive/signal")});function ae(e){let t=(0,$.createContext)(e),n=o=>(o.debug,t.Provider({value:o.value,get children(){return o.children},debug:o.debug}));return typeof Symbol<"u"&&Symbol.for&&(n.$$typeof=Symbol.for("react.provider")),n.$$typeof=Symbol.for("react.provider"),{id:t.id,Provider:(0,se.asProvider)(n),defaultValue:e}}var se,$,Ve,ce=w(()=>{"use strict";se=require("@fluixi/dom"),$=require("@fluixi/reactive/signal"),Ve=require("@fluixi/reactive/signal");P();R("index")});function ue(e,t){return async(...n)=>{let o=t+":"+JSON.stringify(n);if(J()||typeof window<"u"){let i=Q(o);if(i!==void 0)return i}if(E.has(o))return E.get(o);if(A.has(o))return A.get(o);let r=Promise.resolve(e(...n)).then(i=>(E.set(o,i),A.delete(o),ee()&&G(o,i),i),i=>{throw A.delete(o),i});return A.set(o,r),r}}function de(e){let t=typeof e=="string"?n=>n.startsWith(e):e;for(let n of E.keys())t(n)&&(E.delete(n),$e.add(n));Ue(n=>n+1)}function fe(e,t){let[n]=(0,L.createResource)(t||(()=>!0),e);return n}function le(e){return z.has(e)||z.set(e,(0,L.createSignal)(void 0)),z.get(e)}function K(e,t){let n=t||e.name||"action",o=async r=>{let[,i]=le(n),s=()=>i(void 0),c=()=>o(r);i({input:r,pending:!0,clear:s,retry:c});try{let u=await e(r);return i({input:r,result:u,pending:!1,clear:s,retry:c}),u}catch(u){throw i({input:r,error:u,pending:!1,clear:s,retry:c}),u}};return o.url=n,o.with=r=>K((...i)=>e(r,...i),t),o}function pe(e){let[t]=le(e.url);return t}function ye(e){return e}var L,E,A,tn,Ue,$e,z,ze,nn,me=w(()=>{"use strict";L=require("@fluixi/reactive/signal");j();ce();E=new Map,A=new Map;[tn,Ue]=(0,L.createSignal)(0),$e=new Set;z=new Map;ze=ae(),nn=ze.Provider});var Re={};q(Re,{A:()=>ot,Form:()=>it,Link:()=>we,Outlet:()=>Be,Redirect:()=>Ye,Router:()=>qe,action:()=>K,cache:()=>ue,createAsync:()=>fe,createBrowserHistory:()=>v.createBrowserHistory,createMemoryHistory:()=>v.createMemoryHistory,lazy:()=>V,matchPath:()=>v.matchPath,matchRoutes:()=>v.matchRoutes,preloadRoutes:()=>st,revalidate:()=>de,runWithOwner:()=>Se.runWithOwner,select:()=>nt,useAction:()=>ye,useLevelParams:()=>Ge,useLocation:()=>X,useMatch:()=>et,useNavigate:()=>be,useParam:()=>Qe,useParamSelector:()=>Ze,useParams:()=>W,useRouteData:()=>rt,useRouter:()=>M,useSearchParams:()=>tt,useSubmission:()=>pe});function Ke(e,t,n){let o,r=e.route.data;if(typeof r=="function"){let f=!1;(0,a.onCleanup)(()=>{f=!0});let S=(0,a.getOwner)(),[Ee]=(0,a.createResource)(()=>r({params:n.params,location:n.location},S,()=>f));o=Ee}let i=()=>Te.Provider({value:o,get children(){return ve.Provider({value:e.params,get children(){return xe.Provider({value:{depth:t,...n},get children(){return(0,d.createComponent)(e.component,{})}})}})}});if(!o)return i();let s=o,c=()=>s.loading,[u,y]=(0,a.createSignal)((0,a.untrack)(()=>!c()));return(0,a.createEffect)(()=>y(!c())),(0,a.createMemo)(()=>u()?i():null)}function Ce(e){let t=e.depth+1,[n,o]=(0,a.createSignal)((0,a.untrack)(()=>e.matched()[t]?.component));return(0,a.createEffect)(()=>{let r=e.matched()[t]?.component;o(()=>r)}),(0,a.createMemo)(()=>{if(!n())return e.notFound?e.notFound():null;let i=(0,a.untrack)(()=>e.matched())[t];return Ke(i,t,{matched:e.matched,params:e.params,location:e.location})})}function We(e){return e==null?Xe():typeof e=="function"?(0,d.createComponent)(e,{}):e}function Xe(){let e=(0,d.createNativeElement)("div");(0,d.setAttribute)(e,"class","fx-not-found"),(0,d.setAttribute)(e,"role","main"),(0,d.setAttribute)(e,"style","min-height:60vh;display:grid;place-content:center;gap:.25rem;text-align:center;font-family:system-ui,-apple-system,sans-serif");let t=(0,d.createNativeElement)("h1");(0,d.setAttribute)(t,"style","margin:0;font-size:2.5rem;font-weight:700"),(0,d.insert)(t,"404");let n=(0,d.createNativeElement)("p");return(0,d.setAttribute)(n,"style","margin:0;opacity:.7"),(0,d.insert)(n,"This page could not be found."),e.appendChild(t),e.appendChild(n),e}function qe(e){let t=e.history??(0,x.createBrowserHistory)(),n=(0,x.createRouter)({routes:e.routes,base:e.base,history:t}),[o,r]=(0,a.createSignal)(n.state()),i=n.subscribe(r);(0,a.onCleanup)(()=>{i(),n.destroy()});let s=(0,a.createMemo)(()=>(o().match?.matched??[]).filter(f=>f.component)),c={router:n,location:(0,a.createMemo)(()=>o().location),params:(0,a.createMemo)(()=>o().match?.params??{})},u={depth:-1,matched:s,params:c.params,location:c.location,notFound:()=>We(e.notFound)},y;return D.Provider({value:c,get children(){return y??=Ce(u)}})}function Be(){let e=(0,m.useContext)(xe);return e?Ce(e):null}function Ye(e){let t=(0,m.useContext)(D);if(!t||typeof window>"u")return null;let n=!1;return(0,a.onCleanup)(()=>n=!0),queueMicrotask(()=>{n||t.router.navigate(e.to,{replace:e.replace!==!1})}),null}function M(){let e=(0,m.useContext)(D);if(e)return e;if(typeof window>"u")return Je;throw new Error("[router-next] useRouter must be used within <Router>")}function W(){let e=M().params;return(0,a.createMemo)(()=>e(),{},{equals:(t,n)=>JSON.stringify(t)===JSON.stringify(n)})}function Ge(){return(0,m.useContext)(ve)??{}}function Qe(e){let t=W();return(0,a.createMemo)(()=>t()[e])}function Ze(e,t){let n=W();return(0,a.createMemo)(()=>e(n()),void 0,t?{equals:t}:void 0)}function et(e){let t=X();return(0,a.createMemo)(()=>(0,x.matchPath)(typeof e=="function"?e():e,t.pathname))}function tt(){let e=X(),t=be();return[(0,a.createMemo)(()=>e.query),(r,i)=>{let s=new URLSearchParams(e.search);for(let[u,y]of Object.entries(r))y===null?s.delete(u):s.set(u,y);let c=s.toString();t(e.pathname+(c?`?${c}`:""),i)}]}function nt(e,t){let n=(o,r)=>(0,he.deepEqual)(o,r);return t!==void 0?(0,a.createMemo)(()=>(0,ge.get)(e(),t),void 0,{equals:n}):(0,a.createMemo)(e,void 0,{equals:n})}function X(){let{location:e}=M();return new Proxy({},{get:(t,n)=>e()[n],has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>Object.getOwnPropertyDescriptor(e(),n)})}function be(){let{router:e}=M();return(t,n)=>e.navigate(t,n)}function rt(){return(0,m.useContext)(Te)??(()=>{})}function we(e){let t=(0,m.useContext)(D),n=typeof document>"u",o=()=>t?.router.navigate(g(e.href)??"",{replace:g(e.replace)}),r=(0,d.createNativeElement)("a");if((0,d.setAttribute)(r,"href",g(e.href)??""),e.slot&&(0,d.setAttribute)(r,"slot",g(e.slot)),typeof r.addEventListener=="function")r.addEventListener("click",s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),o())});else{let s=g(e.className??e.class)??"";s&&(0,d.setAttribute)(r,"class",s)}typeof r.addEventListener=="function"&&(0,a.createEffect)(()=>{let s=g(e.href)??"";r.setAttribute("href",s);let c=g(e.className??e.class)??"",u=g(e.activeClass)??"",y=g(e.active)??t?.location().pathname===s;r.className=[c,y?u:""].filter(Boolean).join(" ")});let i=e.children;return i!=null&&(0,d.insert)(r,i),r}function it(e){let t=e.action,n=e.className??e.class,o=t.url??"",r=(0,d.createNativeElement)("form");(0,d.setAttribute)(r,"method","post"),o&&(0,d.setAttribute)(r,"action",o),n&&(0,d.setAttribute)(r,"class",n);for(let[s,c]of Object.entries(e))s==="action"||s==="children"||s==="class"||s==="className"||c!=null&&typeof c!="function"&&(0,d.setAttribute)(r,s,String(c));typeof r.addEventListener=="function"&&r.addEventListener("submit",s=>{s.preventDefault();let c={};new FormData(r).forEach((u,y)=>{c[y]=u}),Promise.resolve(t(c)).catch(()=>{})});let i=e.children;return i!=null&&(0,d.insert)(r,i),r}async function st(e,t){let n=(0,x.matchRoutes)(e,t);if(!n)return;let o=[];for(let r of n.matched){let i=r.component;i&&typeof i.preload=="function"&&o.push(i.preload())}await Promise.all(o)}var a,d,m,ge,he,x,v,Se,D,xe,ve,Te,Je,g,ot,Pe=w(()=>{"use strict";a=require("@fluixi/reactive/signal"),d=require("@fluixi/dom"),m=require("@fluixi/reactive/signal"),ge=require("@fluixi/utils/object"),he=require("@fluixi/utils/compare"),x=require("@fluixi/router"),v=require("@fluixi/router");me();U();Se=require("@fluixi/reactive/signal"),D=(0,m.createContext)(),xe=(0,m.createContext)(),ve=(0,m.createContext)(),Te=(0,m.createContext)();Je={router:{navigate:()=>{}},location:()=>({pathname:"",search:"",hash:"",query:{}}),params:()=>({})};g=e=>typeof e=="function"?e():e;ot=we});var dt={};q(dt,{hydrate:()=>Ae.hydrate,mount:()=>at,startClient:()=>ct});module.exports=Fe(dt);var F=require("@fluixi/dom");j();var oe=require("@fluixi/reactive/signal"),b=require("@fluixi/dom");P();P();var l=require("@fluixi/reactive/signal"),h=require("@fluixi/dom");function re(e){return!!(e&&typeof e=="object"&&typeof e.then=="function"||e instanceof Promise)}var Ne=(0,l.createContext)();function I(e){return(0,h.createComponent)(je,e)}function je(e){let t=(0,l.createSuspenseBoundary)(),n=(0,l.useContext)(Ne),o=n?n.register(t.inFallback):void 0;function r(f){return f==null||typeof f=="boolean"?null:typeof f=="function"&&(0,h.isComponent)(f)&&!(0,l.isSignal)(f)?f():f}let i=(0,h.runWithoutHydration)(()=>r(e.fallback??null)),s=(0,l.provideSuspense)(t,()=>e.children);(0,l.provideSuspense)(t,()=>{(0,l.createRenderEffect)(()=>{let f=s;if(Array.isArray(f))for(let S of f)typeof S=="function"&&(0,l.isSignal)(S)&&S();else typeof f=="function"&&(0,l.isSignal)(f)&&f()})});let[c,u]=(0,l.createSignal)(void 0),y=re(s);return y&&(t.increment(),s.then(f=>{u(()=>f),t.decrement()},()=>t.decrement())),(0,l.createMemo)(()=>(o?o.showFallback():t.inFallback())?i:y?c():s)}(0,h.asSuspense)(I);Object.defineProperty(I,"__suspense",{value:!0,enumerable:!0});U();typeof window<"u"&&import("lit").then(e=>(0,b.registerLitRender)(e.render));var Ie=typeof window>"u";function ie(e,t,n={}){if(R("render"),(0,b.delegateEvents)(["click","input","change","submit"]),Ie)throw new Error("render() is for client-side only. Use renderToString() on server.");if(!t)throw new Error("Container element is required");let o;return(0,oe.createRoot)(r=>{o=r;let i=typeof e=="function"?e():e;t.textContent="",t.setAttribute("fluixi-js","v1"),(0,b.insert)(t,()=>i)}),()=>{o&&(o(),o=void 0)}}P();var T=require("@fluixi/head"),Ae=require("@fluixi/dom");R("client index");function at(e,t){if(!t)throw new Error("Container element not found for mount()");(0,F.render)(()=>e(),t)}async function ct(e,t={}){let n=typeof t.root=="string"?document.querySelector(t.root):t.root??document.querySelector("#app");if(!n)throw new Error(`[Fluixi] Mount container not found: ${t.root??"#app"}`);let o=!!document.getElementById("__FLUIXI_HYDRATION__")||!!t.routes&&n.firstElementChild!=null,r=t.hydrate??o,i=(0,T.createHead)();if((0,T.setActiveHead)(i),(0,T.stripHeadMarker)(n),r){if(t.routes&&t.routes.length){let{preloadRoutes:s}=await Promise.resolve().then(()=>(Pe(),Re));await s(t.routes,window.location.pathname)}Z(),H(!0),(0,F.hydrate)(()=>e(),n),ut(),setTimeout(()=>{H(!1),N()},100)}else ie(()=>e(),n);(0,T.mountHead)(i)}function ut(){if(typeof window>"u")return;let e=window;typeof e.__FX_REPLAY_STOP__=="function"&&e.__FX_REPLAY_STOP__();let t=e.__FX_REPLAY__;if(e.__FX_REPLAY__=void 0,e.__FX_REPLAY_STOP__=void 0,!(!Array.isArray(t)||t.length===0))for(let n of t){let o=n&&n.target;if(!o||o.isConnected===!1||typeof o.dispatchEvent!="function")continue;let r=n.type,i=r==="click"?new MouseEvent(r,{bubbles:!0,cancelable:!0}):new Event(r,{bubbles:!0,cancelable:!0});o.dispatchEvent(i)}}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Client-Side Rendering Entry Point for Fluixi
|
|
3
|
+
* @module @fluixi/core/client
|
|
4
|
+
*
|
|
5
|
+
* Implements client-side mounting and hydration logic using @fluixi/dom runtime.
|
|
6
|
+
* Supports both JSX and Lit HTML.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Mount application to DOM (Client-side Rendering)
|
|
10
|
+
*
|
|
11
|
+
* @param App Root component function
|
|
12
|
+
* @param container DOM element to mount into
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { mount } from '@fluixi/core/client';
|
|
17
|
+
* import App from './App';
|
|
18
|
+
*
|
|
19
|
+
* mount(() => App(), document.getElementById('root'));
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function mount(App: () => any, container: HTMLElement | null): void;
|
|
23
|
+
export { hydrate } from '@fluixi/dom';
|
|
24
|
+
export interface StartClientOptions {
|
|
25
|
+
/** CSS selector or HTMLElement for the app root. Default: '#app' */
|
|
26
|
+
root?: string | HTMLElement;
|
|
27
|
+
/** Force hydration mode. Default: auto-detect from __FLUIXI_HYDRATION__ marker */
|
|
28
|
+
hydrate?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The app's route tree (the same array passed to <Router routes={…}/>). When provided,
|
|
31
|
+
* the lazy chunk(s) for the route matching the current URL are downloaded and awaited
|
|
32
|
+
* BEFORE hydration, so each lazy file-route resolves synchronously and adopts the server
|
|
33
|
+
* DOM in place (no fallback, no duplicate). Passing this also enables auto-hydration of a
|
|
34
|
+
* server-rendered (non-empty) root, giving flash-free hydration with zero extra config.
|
|
35
|
+
*/
|
|
36
|
+
routes?: any[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Standard entry point for client-side rendering or hydration.
|
|
40
|
+
*
|
|
41
|
+
* Auto-detects whether to hydrate (if server-rendered HTML is present)
|
|
42
|
+
* or do a full client render.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* // entry-client.ts
|
|
47
|
+
* import { startClient } from '@fluixi/core/client';
|
|
48
|
+
* import App from './app';
|
|
49
|
+
*
|
|
50
|
+
* startClient(App);
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function startClient(App: (props?: any) => any, options?: StartClientOptions): Promise<void>;
|
|
54
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4BH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,QAOlE;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,EACzB,OAAO,GAAE,kBAAuB,iBA4DjC"}
|