@fluixi/core 1.0.0-alpha.82 → 1.0.0-alpha.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/core.global.js +2 -1
- package/dist/cli/generate.cjs +4117 -292
- package/dist/cli/generate.mjs +4122 -292
- package/dist/cli/index.cjs +4117 -292
- package/dist/cli/index.mjs +4122 -292
- package/dist/cli/run.cjs +63 -1
- package/dist/cli/run.mjs +39 -1
- package/dist/src/cdn/chunk-VNLCQBFQ.mjs +747 -0
- package/dist/src/cdn/core.cjs +1279 -1
- package/dist/src/cdn/core.d.ts +3 -3
- package/dist/src/cdn/core.js +3 -3
- package/dist/src/cdn/core.mjs +642 -1
- package/dist/src/cdn/router-WMN2AA7E.mjs +66 -0
- package/dist/src/index.cjs +1201 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -11
- package/dist/src/index.mjs +1313 -1
- package/dist/src/jsx-dev-runtime.cjs +26 -1
- package/dist/src/jsx-dev-runtime.mjs +24 -1
- package/dist/src/jsx-runtime.cjs +26 -1
- package/dist/src/jsx-runtime.js +0 -9
- package/dist/src/jsx-runtime.mjs +24 -1
- package/dist/src/lib/client/chunk-2C2KDDQV.mjs +133 -0
- package/dist/src/lib/client/index.cjs +870 -1
- package/dist/src/lib/client/index.d.ts +10 -14
- package/dist/src/lib/client/index.d.ts.map +1 -1
- package/dist/src/lib/client/index.js +36 -21
- package/dist/src/lib/client/index.mjs +222 -1
- package/dist/src/lib/client/router-X526HSWQ.mjs +548 -0
- package/dist/src/lib/context/context.cjs +118 -1
- package/dist/src/lib/context/context.d.ts +20 -38
- package/dist/src/lib/context/context.d.ts.map +1 -1
- package/dist/src/lib/context/context.js +10 -47
- package/dist/src/lib/context/context.mjs +99 -1
- package/dist/src/lib/context/index.cjs +120 -1
- package/dist/src/lib/context/index.mjs +99 -1
- package/dist/src/lib/control-flow.cjs +35 -1
- package/dist/src/lib/control-flow.mjs +25 -1
- package/dist/src/lib/core.cjs +1200 -1
- package/dist/src/lib/core.d.ts +0 -2
- package/dist/src/lib/core.d.ts.map +1 -1
- package/dist/src/lib/core.js +14 -48
- package/dist/src/lib/core.mjs +1313 -1
- package/dist/src/lib/env/index.cjs +60 -1
- package/dist/src/lib/env/index.d.ts +7 -8
- package/dist/src/lib/env/index.d.ts.map +1 -1
- package/dist/src/lib/env/index.js +14 -9
- package/dist/src/lib/env/index.mjs +39 -1
- package/dist/src/lib/i18n/index.cjs +108 -1
- package/dist/src/lib/i18n/index.d.ts +31 -10
- package/dist/src/lib/i18n/index.d.ts.map +1 -1
- package/dist/src/lib/i18n/index.js +31 -10
- package/dist/src/lib/i18n/index.mjs +88 -1
- package/dist/src/lib/index.cjs +633 -1
- package/dist/src/lib/index.d.ts +0 -2
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +5 -11
- package/dist/src/lib/index.mjs +721 -1
- package/dist/src/lib/isomorphic.cjs +85 -1
- package/dist/src/lib/isomorphic.d.ts +41 -8
- package/dist/src/lib/isomorphic.d.ts.map +1 -1
- package/dist/src/lib/isomorphic.js +38 -5
- package/dist/src/lib/isomorphic.mjs +64 -1
- package/dist/src/lib/jsx-runtime/index.cjs +21 -1
- package/dist/src/lib/jsx-runtime/index.d.ts +1 -1
- package/dist/src/lib/jsx-runtime/index.js +1 -11
- package/dist/src/lib/jsx-runtime/index.mjs +4 -1
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.cjs +21 -1
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.mjs +4 -1
- package/dist/src/lib/plugins/fluixi-routes-plugin.cjs +302 -8
- package/dist/src/lib/plugins/fluixi-routes-plugin.d.ts +15 -1
- package/dist/src/lib/plugins/fluixi-routes-plugin.d.ts.map +1 -1
- package/dist/src/lib/plugins/fluixi-routes-plugin.js +19 -5
- package/dist/src/lib/plugins/fluixi-routes-plugin.mjs +271 -8
- package/dist/src/lib/plugins/index.cjs +311 -8
- package/dist/src/lib/plugins/index.mjs +279 -8
- package/dist/src/lib/plugins/route-codegen.cjs +73 -8
- package/dist/src/lib/plugins/route-codegen.d.ts +0 -1
- package/dist/src/lib/plugins/route-codegen.d.ts.map +1 -1
- package/dist/src/lib/plugins/route-codegen.js +4 -5
- package/dist/src/lib/plugins/route-codegen.mjs +52 -8
- package/dist/src/lib/plugins/route-scanner.cjs +189 -1
- package/dist/src/lib/plugins/route-scanner.d.ts +1 -2
- package/dist/src/lib/plugins/route-scanner.d.ts.map +1 -1
- package/dist/src/lib/plugins/route-scanner.js +7 -8
- package/dist/src/lib/plugins/route-scanner.mjs +158 -1
- package/dist/src/lib/plugins/vite.cjs +27 -1
- package/dist/src/lib/plugins/vite.mjs +6 -1
- package/dist/src/lib/render/await.cjs +38 -1
- package/dist/src/lib/render/await.d.ts +18 -0
- package/dist/src/lib/render/await.d.ts.map +1 -1
- package/dist/src/lib/render/await.js +20 -2
- package/dist/src/lib/render/await.mjs +17 -1
- package/dist/src/lib/render/component.cjs +221 -1
- package/dist/src/lib/render/component.d.ts +3 -44
- package/dist/src/lib/render/component.d.ts.map +1 -1
- package/dist/src/lib/render/component.js +32 -59
- package/dist/src/lib/render/component.mjs +214 -1
- package/dist/src/lib/render/deferred.cjs +175 -1
- package/dist/src/lib/render/deferred.d.ts.map +1 -1
- package/dist/src/lib/render/deferred.js +8 -8
- package/dist/src/lib/render/deferred.mjs +158 -1
- package/dist/src/lib/render/index.cjs +573 -1
- package/dist/src/lib/render/index.d.ts +3 -17
- package/dist/src/lib/render/index.d.ts.map +1 -1
- package/dist/src/lib/render/index.js +12 -26
- package/dist/src/lib/render/index.mjs +590 -1
- package/dist/src/lib/render/lazy.cjs +67 -1
- package/dist/src/lib/render/lazy.d.ts +22 -1
- package/dist/src/lib/render/lazy.d.ts.map +1 -1
- package/dist/src/lib/render/lazy.js +47 -8
- package/dist/src/lib/render/lazy.mjs +50 -1
- package/dist/src/lib/render/suspense.cjs +141 -1
- package/dist/src/lib/render/suspense.d.ts +40 -0
- package/dist/src/lib/render/suspense.d.ts.map +1 -1
- package/dist/src/lib/render/suspense.js +47 -7
- package/dist/src/lib/render/suspense.mjs +136 -1
- package/dist/src/lib/render/versions.cjs +35 -1
- package/dist/src/lib/render/versions.js +6 -6
- package/dist/src/lib/render/versions.mjs +14 -1
- package/dist/src/lib/router/data.cjs +230 -1
- package/dist/src/lib/router/data.d.ts +1 -13
- package/dist/src/lib/router/data.d.ts.map +1 -1
- package/dist/src/lib/router/data.js +1 -13
- package/dist/src/lib/router/data.mjs +214 -1
- package/dist/src/lib/router/index.cjs +627 -1
- package/dist/src/lib/router/index.d.ts +62 -10
- package/dist/src/lib/router/index.d.ts.map +1 -1
- package/dist/src/lib/router/index.js +90 -39
- package/dist/src/lib/router/index.mjs +639 -1
- package/dist/src/lib/server/hydration.cjs +169 -1
- package/dist/src/lib/server/hydration.d.ts +15 -55
- package/dist/src/lib/server/hydration.d.ts.map +1 -1
- package/dist/src/lib/server/hydration.js +23 -62
- package/dist/src/lib/server/hydration.mjs +148 -1
- package/dist/src/lib/server/index.cjs +401 -11
- package/dist/src/lib/server/index.d.ts +30 -6
- package/dist/src/lib/server/index.d.ts.map +1 -1
- package/dist/src/lib/server/index.js +34 -11
- package/dist/src/lib/server/index.mjs +379 -11
- package/dist/src/lib/server/reactive.cjs +197 -1
- package/dist/src/lib/server/reactive.d.ts +18 -77
- package/dist/src/lib/server/reactive.d.ts.map +1 -1
- package/dist/src/lib/server/reactive.js +19 -78
- package/dist/src/lib/server/reactive.mjs +176 -1
- package/dist/src/lib/theme/index.cjs +110 -1
- package/dist/src/lib/theme/index.d.ts +19 -4
- package/dist/src/lib/theme/index.d.ts.map +1 -1
- package/dist/src/lib/theme/index.js +17 -2
- package/dist/src/lib/theme/index.mjs +89 -1
- package/dist/src/lib/utils/index.cjs +209 -1
- package/dist/src/lib/utils/index.d.ts +0 -93
- package/dist/src/lib/utils/index.d.ts.map +1 -1
- package/dist/src/lib/utils/index.js +0 -93
- package/dist/src/lib/utils/index.mjs +188 -1
- package/dist/src/routes.cjs +37 -1
- package/dist/src/routes.d.ts +1 -1
- package/dist/src/routes.js +2 -2
- package/dist/src/routes.mjs +17 -1
- package/dist/src/server.cjs +400 -11
- package/dist/src/server.d.ts +0 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +0 -1
- package/dist/src/server.mjs +377 -11
- package/dist/src/utils.cjs +21 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.mjs +4 -1
- package/dist/src/version.generated.cjs +26 -1
- package/dist/src/version.generated.d.ts +1 -1
- package/dist/src/version.generated.js +2 -2
- package/dist/src/version.generated.mjs +5 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +17 -16
- package/src/index.ts +2 -14
- package/dist/src/cdn/chunk-RN7C7HNS.mjs +0 -1
- package/dist/src/cdn/router-QB3W43UQ.mjs +0 -1
- package/dist/src/lib/client/chunk-FT22BLCQ.mjs +0 -1
- package/dist/src/lib/client/router-IH7JYMRU.mjs +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Client-Side Rendering for Fluixi
|
|
3
2
|
* @module @fluixi/core/render
|
|
4
3
|
*
|
|
5
4
|
* Client-side rendering:
|
|
@@ -8,27 +7,22 @@
|
|
|
8
7
|
*
|
|
9
8
|
* Following SolidJS structure: render logic separated from component creation
|
|
10
9
|
*/
|
|
10
|
+
import { isServer } from '@fluixi/dom';
|
|
11
11
|
import { createRoot } from '@fluixi/reactive/signal';
|
|
12
12
|
import { stampVersions, warnOnVersionSkew } from './versions.js';
|
|
13
13
|
import { isDOMNode, delegateEvents, insert, } from '@fluixi/dom';
|
|
14
|
-
const isServer = typeof window === 'undefined';
|
|
15
14
|
// ============================================================================
|
|
16
|
-
//
|
|
15
|
+
// RENDERING (CLIENT)
|
|
17
16
|
// ============================================================================
|
|
18
17
|
/**
|
|
19
18
|
* Render a component into a DOM element
|
|
20
19
|
*
|
|
21
|
-
*
|
|
20
|
+
* On the client:
|
|
22
21
|
* - Real DOM (no Virtual DOM)
|
|
23
22
|
* - Fine-grained mutation (no reconciliation)
|
|
24
23
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* @param {() => any} code - Component or function to render
|
|
29
|
-
* @param {HTMLElement} container - Target DOM element
|
|
30
|
-
* @param {RenderOptions} options - Render options
|
|
31
|
-
* @returns {() => void} Dispose function
|
|
24
|
+
* Component executes once during render
|
|
25
|
+
* Creates reactive owner (root)
|
|
32
26
|
*
|
|
33
27
|
* @example
|
|
34
28
|
* ```typescript
|
|
@@ -45,7 +39,7 @@ const isServer = typeof window === 'undefined';
|
|
|
45
39
|
*/
|
|
46
40
|
export function render(code, container, options = {}) {
|
|
47
41
|
delegateEvents(['click', 'input', 'change', 'submit']);
|
|
48
|
-
if (isServer) {
|
|
42
|
+
if (isServer()) {
|
|
49
43
|
throw new Error('render() is for client-side only. Use renderToString() on server.');
|
|
50
44
|
}
|
|
51
45
|
if (!container) {
|
|
@@ -55,11 +49,11 @@ export function render(code, container, options = {}) {
|
|
|
55
49
|
// domRender(code, container)
|
|
56
50
|
createRoot((dispose) => {
|
|
57
51
|
disposer = dispose;
|
|
58
|
-
//
|
|
52
|
+
// Execute code function once. Providers run here with Owner = root
|
|
59
53
|
// so "also stamp" in createProvider sets context on root.contexts, making
|
|
60
54
|
// it reachable from every render effect created by insert() below.
|
|
61
55
|
const result = typeof code === 'function' ? code() : code;
|
|
62
|
-
//
|
|
56
|
+
// Insert into real DOM using the same root as code() so that
|
|
63
57
|
// render effects share the Owner chain with Provider context nodes.
|
|
64
58
|
// Using domRender() would create a second createRoot, severing the chain.
|
|
65
59
|
container.textContent = '';
|
|
@@ -68,8 +62,8 @@ export function render(code, container, options = {}) {
|
|
|
68
62
|
stampVersions(container);
|
|
69
63
|
warnOnVersionSkew();
|
|
70
64
|
// Wrap the (already-computed) result in a STABLE thunk so insert() creates a
|
|
71
|
-
// top-level render effect. Without this, a static array result
|
|
72
|
-
// imperative backend's `[createMemo(() => createComponent(App)), " "]
|
|
65
|
+
// top-level render effect. Without this, a static array result: e.g. the
|
|
66
|
+
// imperative backend's `[createMemo(() => createComponent(App)), " "]`: is
|
|
73
67
|
// flattened ONCE with no enclosing effect, so the nested memos are read
|
|
74
68
|
// untracked and reactive boundaries deep in the tree (Suspense fallback ->
|
|
75
69
|
// content, Outlet, Show/For) never update. The thunk returns the same result
|
|
@@ -99,11 +93,6 @@ function isLitTemplateResult(value) {
|
|
|
99
93
|
/**
|
|
100
94
|
* Render into a different part of the DOM tree
|
|
101
95
|
*
|
|
102
|
-
* @param {() => any} code - Component to render
|
|
103
|
-
* @param {HTMLElement} target - Target element (outside current tree)
|
|
104
|
-
* @param {RenderOptions} options - Render options
|
|
105
|
-
* @returns {() => void} Dispose function
|
|
106
|
-
*
|
|
107
96
|
* @example
|
|
108
97
|
* ```typescript
|
|
109
98
|
* import { portal } from '@fluixi/core';
|
|
@@ -133,9 +122,6 @@ export function portal(code, target, options = {}) {
|
|
|
133
122
|
// ============================================================================
|
|
134
123
|
/**
|
|
135
124
|
* Check if a value can be rendered
|
|
136
|
-
*
|
|
137
|
-
* @param {any} value - Value to check
|
|
138
|
-
* @returns {boolean} True if renderable
|
|
139
125
|
*/
|
|
140
126
|
export function isRenderable(value) {
|
|
141
127
|
if (value == null)
|
|
@@ -168,7 +154,7 @@ export function isRenderable(value) {
|
|
|
168
154
|
* ```
|
|
169
155
|
*/
|
|
170
156
|
export function initDelegation() {
|
|
171
|
-
if (isServer)
|
|
157
|
+
if (isServer())
|
|
172
158
|
return;
|
|
173
159
|
delegateEvents(['click', 'input', 'change', 'submit']);
|
|
174
160
|
}
|
|
@@ -177,7 +163,7 @@ export function initDelegation() {
|
|
|
177
163
|
* Should be called when app unmounts
|
|
178
164
|
*/
|
|
179
165
|
export function cleanupDelegation() {
|
|
180
|
-
if (isServer)
|
|
166
|
+
if (isServer())
|
|
181
167
|
return;
|
|
182
168
|
// Clear delegated events manually if needed
|
|
183
169
|
}
|