@fluixi/core 1.0.0-alpha.95 → 1.0.0-alpha.97
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 -2
- package/dist/src/cdn/{chunk-IFONZJWJ.mjs → chunk-RKBFEFZP.mjs} +34 -10
- package/dist/src/cdn/core.cjs +36 -12
- package/dist/src/cdn/core.mjs +4 -4
- package/dist/src/cdn/{router-TU5CPI54.mjs → router-V2THK27H.mjs} +3 -3
- package/dist/src/index.cjs +31 -7
- package/dist/src/index.mjs +31 -7
- package/dist/src/lib/client/{chunk-AHNP3IWU.mjs → chunk-KYWKPX6I.mjs} +1 -1
- package/dist/src/lib/client/index.cjs +37 -13
- package/dist/src/lib/client/index.d.ts.map +1 -1
- package/dist/src/lib/client/index.js +4 -1
- package/dist/src/lib/client/index.mjs +5 -5
- package/dist/src/lib/client/{router-5C6FQJQ4.mjs → router-EHDYEGDF.mjs} +36 -12
- package/dist/src/lib/core.cjs +30 -6
- package/dist/src/lib/core.mjs +30 -6
- package/dist/src/lib/i18n/index.cjs +1 -1
- package/dist/src/lib/i18n/index.mjs +1 -1
- package/dist/src/lib/index.cjs +1 -1
- package/dist/src/lib/index.mjs +1 -1
- package/dist/src/lib/isomorphic.cjs +1 -1
- package/dist/src/lib/isomorphic.d.ts +5 -0
- package/dist/src/lib/isomorphic.d.ts.map +1 -1
- package/dist/src/lib/isomorphic.js +1 -1
- package/dist/src/lib/isomorphic.mjs +1 -1
- package/dist/src/lib/jsx-runtime/index.cjs +1 -1
- package/dist/src/lib/jsx-runtime/index.mjs +1 -1
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.cjs +1 -1
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.mjs +1 -1
- package/dist/src/lib/plugins/index.cjs +1 -1
- package/dist/src/lib/plugins/index.mjs +1 -1
- package/dist/src/lib/render/index.cjs +1 -1
- package/dist/src/lib/render/index.mjs +1 -1
- package/dist/src/lib/render/versions.cjs +1 -1
- package/dist/src/lib/render/versions.mjs +1 -1
- package/dist/src/lib/router/data.cjs +4 -4
- package/dist/src/lib/router/data.d.ts.map +1 -1
- package/dist/src/lib/router/data.js +9 -8
- package/dist/src/lib/router/data.mjs +4 -4
- package/dist/src/lib/router/index.cjs +35 -11
- package/dist/src/lib/router/index.d.ts +8 -5
- package/dist/src/lib/router/index.d.ts.map +1 -1
- package/dist/src/lib/router/index.js +44 -12
- package/dist/src/lib/router/index.mjs +35 -11
- package/dist/src/lib/server/index.cjs +1 -1
- package/dist/src/lib/server/index.mjs +1 -1
- package/dist/src/lib/storage/index.cjs +1 -1
- package/dist/src/lib/storage/index.mjs +1 -1
- package/dist/src/routes.cjs +1 -1
- package/dist/src/routes.mjs +1 -1
- package/dist/src/utils.cjs +1 -1
- package/dist/src/utils.mjs +1 -1
- package/dist/src/version.generated.cjs +1 -1
- package/dist/src/version.generated.d.ts +1 -1
- package/dist/src/version.generated.js +1 -1
- package/dist/src/version.generated.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +12 -12
|
@@ -303,7 +303,8 @@ function getSubmissionsSignal(url) {
|
|
|
303
303
|
}
|
|
304
304
|
function action(fn, name, options = {}) {
|
|
305
305
|
const actionUrl = name || fn.name || "action";
|
|
306
|
-
const submit = async (
|
|
306
|
+
const submit = async (...args) => {
|
|
307
|
+
const input = args.length > 1 ? args : args[0];
|
|
307
308
|
const [, setSubmission] = getSubmissionSignal(actionUrl);
|
|
308
309
|
const [, setSubmissions] = getSubmissionsSignal(actionUrl);
|
|
309
310
|
let entry;
|
|
@@ -318,11 +319,10 @@ function action(fn, name, options = {}) {
|
|
|
318
319
|
};
|
|
319
320
|
const retry = () => {
|
|
320
321
|
drop2();
|
|
321
|
-
return submit(
|
|
322
|
+
return submit(...args);
|
|
322
323
|
};
|
|
323
324
|
entry = {
|
|
324
325
|
input,
|
|
325
|
-
// Approximate type for tracking
|
|
326
326
|
pending: true,
|
|
327
327
|
clear,
|
|
328
328
|
retry
|
|
@@ -330,7 +330,7 @@ function action(fn, name, options = {}) {
|
|
|
330
330
|
setSubmission(entry);
|
|
331
331
|
setSubmissions((list) => [...list, entry]);
|
|
332
332
|
try {
|
|
333
|
-
const result = await fn(
|
|
333
|
+
const result = await fn(...args);
|
|
334
334
|
setSubmission({
|
|
335
335
|
input,
|
|
336
336
|
result,
|
|
@@ -458,19 +458,43 @@ function renderLayer(m, depth, base) {
|
|
|
458
458
|
});
|
|
459
459
|
});
|
|
460
460
|
};
|
|
461
|
+
let readsLocation;
|
|
461
462
|
const [resource, { refetch }] = createResource3(() => {
|
|
462
|
-
const
|
|
463
|
+
const params = untrack2(base.params);
|
|
464
|
+
const location = untrack2(base.location);
|
|
465
|
+
readsLocation = false;
|
|
466
|
+
const result = loader(
|
|
467
|
+
{
|
|
468
|
+
params: () => params,
|
|
469
|
+
location: () => {
|
|
470
|
+
readsLocation = true;
|
|
471
|
+
return location;
|
|
472
|
+
}
|
|
473
|
+
},
|
|
474
|
+
owner,
|
|
475
|
+
() => cancelled,
|
|
476
|
+
trackDeps
|
|
477
|
+
);
|
|
463
478
|
return router ? router.trackLoad(result) : result;
|
|
464
479
|
});
|
|
465
|
-
onCleanup(
|
|
480
|
+
onCleanup(
|
|
481
|
+
onRevalidate(() => {
|
|
482
|
+
if (untrack2(() => base.matched()[depth]?.route) !== m.route) return;
|
|
483
|
+
void refetch();
|
|
484
|
+
})
|
|
485
|
+
);
|
|
466
486
|
let loadedFor = untrack2(() => JSON.stringify(base.matched()[depth]?.params ?? {}));
|
|
487
|
+
let searchedFor = untrack2(() => base.location().search);
|
|
467
488
|
createEffect(() => {
|
|
468
489
|
const now = base.matched()[depth];
|
|
490
|
+
const search = base.location().search;
|
|
469
491
|
if (now?.route !== m.route) return;
|
|
470
492
|
const params = JSON.stringify(now.params ?? {});
|
|
471
|
-
|
|
493
|
+
const paramsMoved = params !== loadedFor;
|
|
494
|
+
const searchMoved = readsLocation !== false && search !== searchedFor;
|
|
472
495
|
loadedFor = params;
|
|
473
|
-
|
|
496
|
+
searchedFor = search;
|
|
497
|
+
if (paramsMoved || searchMoved) untrack2(() => void refetch());
|
|
474
498
|
});
|
|
475
499
|
data = () => {
|
|
476
500
|
const error = resource.error;
|
|
@@ -879,7 +903,7 @@ function Link(props) {
|
|
|
879
903
|
return a;
|
|
880
904
|
}
|
|
881
905
|
var A = Link;
|
|
882
|
-
function
|
|
906
|
+
function ActionForm(props) {
|
|
883
907
|
const action2 = props.action;
|
|
884
908
|
const cls = props.className ?? props.class;
|
|
885
909
|
const url = action2.url ?? "";
|
|
@@ -953,7 +977,7 @@ export {
|
|
|
953
977
|
useRouteData,
|
|
954
978
|
Link,
|
|
955
979
|
A,
|
|
956
|
-
|
|
980
|
+
ActionForm,
|
|
957
981
|
preloadRoutes,
|
|
958
982
|
createMemoryHistory,
|
|
959
983
|
createBrowserHistory2 as createBrowserHistory,
|
package/dist/src/cdn/core.cjs
CHANGED
|
@@ -317,7 +317,8 @@ function getSubmissionsSignal(url) {
|
|
|
317
317
|
}
|
|
318
318
|
function action(fn, name, options = {}) {
|
|
319
319
|
const actionUrl = name || fn.name || "action";
|
|
320
|
-
const submit = async (
|
|
320
|
+
const submit = async (...args) => {
|
|
321
|
+
const input = args.length > 1 ? args : args[0];
|
|
321
322
|
const [, setSubmission] = getSubmissionSignal(actionUrl);
|
|
322
323
|
const [, setSubmissions] = getSubmissionsSignal(actionUrl);
|
|
323
324
|
let entry;
|
|
@@ -332,11 +333,10 @@ function action(fn, name, options = {}) {
|
|
|
332
333
|
};
|
|
333
334
|
const retry = () => {
|
|
334
335
|
drop2();
|
|
335
|
-
return submit(
|
|
336
|
+
return submit(...args);
|
|
336
337
|
};
|
|
337
338
|
entry = {
|
|
338
339
|
input,
|
|
339
|
-
// Approximate type for tracking
|
|
340
340
|
pending: true,
|
|
341
341
|
clear,
|
|
342
342
|
retry
|
|
@@ -344,7 +344,7 @@ function action(fn, name, options = {}) {
|
|
|
344
344
|
setSubmission(entry);
|
|
345
345
|
setSubmissions((list) => [...list, entry]);
|
|
346
346
|
try {
|
|
347
|
-
const result = await fn(
|
|
347
|
+
const result = await fn(...args);
|
|
348
348
|
setSubmission({
|
|
349
349
|
input,
|
|
350
350
|
result,
|
|
@@ -418,7 +418,7 @@ var init_data = __esm({
|
|
|
418
418
|
var router_exports = {};
|
|
419
419
|
__export(router_exports, {
|
|
420
420
|
A: () => A,
|
|
421
|
-
|
|
421
|
+
ActionForm: () => ActionForm,
|
|
422
422
|
Link: () => Link,
|
|
423
423
|
Outlet: () => Outlet,
|
|
424
424
|
Redirect: () => Redirect,
|
|
@@ -476,19 +476,43 @@ function renderLayer(m, depth, base) {
|
|
|
476
476
|
});
|
|
477
477
|
});
|
|
478
478
|
};
|
|
479
|
+
let readsLocation;
|
|
479
480
|
const [resource, { refetch }] = (0, import_signal14.createResource)(() => {
|
|
480
|
-
const
|
|
481
|
+
const params = (0, import_signal14.untrack)(base.params);
|
|
482
|
+
const location = (0, import_signal14.untrack)(base.location);
|
|
483
|
+
readsLocation = false;
|
|
484
|
+
const result = loader(
|
|
485
|
+
{
|
|
486
|
+
params: () => params,
|
|
487
|
+
location: () => {
|
|
488
|
+
readsLocation = true;
|
|
489
|
+
return location;
|
|
490
|
+
}
|
|
491
|
+
},
|
|
492
|
+
owner,
|
|
493
|
+
() => cancelled,
|
|
494
|
+
trackDeps
|
|
495
|
+
);
|
|
481
496
|
return router ? router.trackLoad(result) : result;
|
|
482
497
|
});
|
|
483
|
-
(0, import_signal14.onCleanup)(
|
|
498
|
+
(0, import_signal14.onCleanup)(
|
|
499
|
+
onRevalidate(() => {
|
|
500
|
+
if ((0, import_signal14.untrack)(() => base.matched()[depth]?.route) !== m.route) return;
|
|
501
|
+
void refetch();
|
|
502
|
+
})
|
|
503
|
+
);
|
|
484
504
|
let loadedFor = (0, import_signal14.untrack)(() => JSON.stringify(base.matched()[depth]?.params ?? {}));
|
|
505
|
+
let searchedFor = (0, import_signal14.untrack)(() => base.location().search);
|
|
485
506
|
(0, import_signal14.createEffect)(() => {
|
|
486
507
|
const now = base.matched()[depth];
|
|
508
|
+
const search = base.location().search;
|
|
487
509
|
if (now?.route !== m.route) return;
|
|
488
510
|
const params = JSON.stringify(now.params ?? {});
|
|
489
|
-
|
|
511
|
+
const paramsMoved = params !== loadedFor;
|
|
512
|
+
const searchMoved = readsLocation !== false && search !== searchedFor;
|
|
490
513
|
loadedFor = params;
|
|
491
|
-
|
|
514
|
+
searchedFor = search;
|
|
515
|
+
if (paramsMoved || searchMoved) (0, import_signal14.untrack)(() => void refetch());
|
|
492
516
|
});
|
|
493
517
|
data = () => {
|
|
494
518
|
const error = resource.error;
|
|
@@ -876,7 +900,7 @@ function Link(props) {
|
|
|
876
900
|
if (linkChildren != null) (0, import_dom16.insert)(a, linkChildren);
|
|
877
901
|
return a;
|
|
878
902
|
}
|
|
879
|
-
function
|
|
903
|
+
function ActionForm(props) {
|
|
880
904
|
const action2 = props.action;
|
|
881
905
|
const cls = props.className ?? props.class;
|
|
882
906
|
const url = action2.url ?? "";
|
|
@@ -1072,7 +1096,7 @@ var import_signal6 = require("@fluixi/reactive/signal");
|
|
|
1072
1096
|
var import_dom = require("@fluixi/dom");
|
|
1073
1097
|
|
|
1074
1098
|
// src/version.generated.ts
|
|
1075
|
-
var VERSION = "1.0.0-alpha.
|
|
1099
|
+
var VERSION = "1.0.0-alpha.97";
|
|
1076
1100
|
|
|
1077
1101
|
// src/lib/render/versions.ts
|
|
1078
1102
|
var import_dom2 = require("@fluixi/dom");
|
|
@@ -1528,7 +1552,7 @@ async function startClient(App, options = {}) {
|
|
|
1528
1552
|
}
|
|
1529
1553
|
deserializeHydrationData();
|
|
1530
1554
|
setHydrating(true);
|
|
1531
|
-
(0, import_dom17.hydrate)(rootOf(App), container);
|
|
1555
|
+
(0, import_dom17.hydrate)(() => rootOf(App), container);
|
|
1532
1556
|
replayEvents();
|
|
1533
1557
|
} finally {
|
|
1534
1558
|
(0, import_dom17.endAppHydration)();
|
package/dist/src/cdn/core.mjs
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
useParams,
|
|
21
21
|
useRouter,
|
|
22
22
|
useSearchParams
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-RKBFEFZP.mjs";
|
|
24
24
|
|
|
25
25
|
// src/lib/index.ts
|
|
26
26
|
import {
|
|
@@ -54,7 +54,7 @@ import { createRoot as createRoot2 } from "@fluixi/reactive/signal";
|
|
|
54
54
|
import { registerCoreVersion } from "@fluixi/dom";
|
|
55
55
|
|
|
56
56
|
// src/version.generated.ts
|
|
57
|
-
var VERSION = "1.0.0-alpha.
|
|
57
|
+
var VERSION = "1.0.0-alpha.97";
|
|
58
58
|
|
|
59
59
|
// src/lib/render/versions.ts
|
|
60
60
|
import { stampVersions, warnOnVersionSkew, versions } from "@fluixi/dom";
|
|
@@ -574,12 +574,12 @@ async function startClient(App, options = {}) {
|
|
|
574
574
|
beginAppHydration();
|
|
575
575
|
try {
|
|
576
576
|
if (options.routes && options.routes.length) {
|
|
577
|
-
const { preloadRoutes } = await import("./router-
|
|
577
|
+
const { preloadRoutes } = await import("./router-V2THK27H.mjs");
|
|
578
578
|
await preloadRoutes(options.routes, window.location.pathname);
|
|
579
579
|
}
|
|
580
580
|
deserializeHydrationData();
|
|
581
581
|
setHydrating(true);
|
|
582
|
-
domHydrate(rootOf(App), container);
|
|
582
|
+
domHydrate(() => rootOf(App), container);
|
|
583
583
|
replayEvents();
|
|
584
584
|
} finally {
|
|
585
585
|
endAppHydration();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
A,
|
|
3
|
-
|
|
3
|
+
ActionForm,
|
|
4
4
|
Link,
|
|
5
5
|
Outlet,
|
|
6
6
|
Redirect,
|
|
@@ -34,10 +34,10 @@ import {
|
|
|
34
34
|
useSearchParams,
|
|
35
35
|
useSubmission,
|
|
36
36
|
useSubmissions
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-RKBFEFZP.mjs";
|
|
38
38
|
export {
|
|
39
39
|
A,
|
|
40
|
-
|
|
40
|
+
ActionForm,
|
|
41
41
|
Link,
|
|
42
42
|
Outlet,
|
|
43
43
|
Redirect,
|
package/dist/src/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @fluixi/core v1.0.0-alpha.
|
|
1
|
+
/*! @fluixi/core v1.0.0-alpha.97 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
|
|
2
2
|
"use strict";
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -143,7 +143,7 @@ __export(index_exports, {
|
|
|
143
143
|
module.exports = __toCommonJS(index_exports);
|
|
144
144
|
|
|
145
145
|
// src/version.generated.ts
|
|
146
|
-
var VERSION = "1.0.0-alpha.
|
|
146
|
+
var VERSION = "1.0.0-alpha.97";
|
|
147
147
|
|
|
148
148
|
// src/lib/core.ts
|
|
149
149
|
var import_signal18 = require("@fluixi/reactive/signal");
|
|
@@ -763,7 +763,7 @@ function createIsomorphicStore(key, options) {
|
|
|
763
763
|
}
|
|
764
764
|
return initPromise;
|
|
765
765
|
};
|
|
766
|
-
return { value, fields, set, setField, ensureInit, key };
|
|
766
|
+
return { value, fields, set, setField, ensureInit, key, seeded };
|
|
767
767
|
}
|
|
768
768
|
|
|
769
769
|
// src/lib/env/index.ts
|
|
@@ -1310,19 +1310,43 @@ function renderLayer(m, depth, base) {
|
|
|
1310
1310
|
});
|
|
1311
1311
|
});
|
|
1312
1312
|
};
|
|
1313
|
+
let readsLocation;
|
|
1313
1314
|
const [resource2, { refetch }] = (0, import_signal15.createResource)(() => {
|
|
1314
|
-
const
|
|
1315
|
+
const params = (0, import_signal15.untrack)(base.params);
|
|
1316
|
+
const location = (0, import_signal15.untrack)(base.location);
|
|
1317
|
+
readsLocation = false;
|
|
1318
|
+
const result = loader(
|
|
1319
|
+
{
|
|
1320
|
+
params: () => params,
|
|
1321
|
+
location: () => {
|
|
1322
|
+
readsLocation = true;
|
|
1323
|
+
return location;
|
|
1324
|
+
}
|
|
1325
|
+
},
|
|
1326
|
+
owner,
|
|
1327
|
+
() => cancelled,
|
|
1328
|
+
trackDeps
|
|
1329
|
+
);
|
|
1315
1330
|
return router ? router.trackLoad(result) : result;
|
|
1316
1331
|
});
|
|
1317
|
-
(0, import_signal15.onCleanup)(
|
|
1332
|
+
(0, import_signal15.onCleanup)(
|
|
1333
|
+
onRevalidate(() => {
|
|
1334
|
+
if ((0, import_signal15.untrack)(() => base.matched()[depth]?.route) !== m.route) return;
|
|
1335
|
+
void refetch();
|
|
1336
|
+
})
|
|
1337
|
+
);
|
|
1318
1338
|
let loadedFor = (0, import_signal15.untrack)(() => JSON.stringify(base.matched()[depth]?.params ?? {}));
|
|
1339
|
+
let searchedFor = (0, import_signal15.untrack)(() => base.location().search);
|
|
1319
1340
|
(0, import_signal15.createEffect)(() => {
|
|
1320
1341
|
const now = base.matched()[depth];
|
|
1342
|
+
const search = base.location().search;
|
|
1321
1343
|
if (now?.route !== m.route) return;
|
|
1322
1344
|
const params = JSON.stringify(now.params ?? {});
|
|
1323
|
-
|
|
1345
|
+
const paramsMoved = params !== loadedFor;
|
|
1346
|
+
const searchMoved = readsLocation !== false && search !== searchedFor;
|
|
1324
1347
|
loadedFor = params;
|
|
1325
|
-
|
|
1348
|
+
searchedFor = search;
|
|
1349
|
+
if (paramsMoved || searchMoved) (0, import_signal15.untrack)(() => void refetch());
|
|
1326
1350
|
});
|
|
1327
1351
|
data = () => {
|
|
1328
1352
|
const error = resource2.error;
|
package/dist/src/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! @fluixi/core v1.0.0-alpha.
|
|
1
|
+
/*! @fluixi/core v1.0.0-alpha.97 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
|
|
2
2
|
|
|
3
3
|
// src/version.generated.ts
|
|
4
|
-
var VERSION = "1.0.0-alpha.
|
|
4
|
+
var VERSION = "1.0.0-alpha.97";
|
|
5
5
|
|
|
6
6
|
// src/lib/core.ts
|
|
7
7
|
import {
|
|
@@ -690,7 +690,7 @@ function createIsomorphicStore(key, options) {
|
|
|
690
690
|
}
|
|
691
691
|
return initPromise;
|
|
692
692
|
};
|
|
693
|
-
return { value, fields, set, setField, ensureInit, key };
|
|
693
|
+
return { value, fields, set, setField, ensureInit, key, seeded };
|
|
694
694
|
}
|
|
695
695
|
|
|
696
696
|
// src/lib/env/index.ts
|
|
@@ -1271,19 +1271,43 @@ function renderLayer(m, depth, base) {
|
|
|
1271
1271
|
});
|
|
1272
1272
|
});
|
|
1273
1273
|
};
|
|
1274
|
+
let readsLocation;
|
|
1274
1275
|
const [resource2, { refetch }] = createResource5(() => {
|
|
1275
|
-
const
|
|
1276
|
+
const params = untrack4(base.params);
|
|
1277
|
+
const location = untrack4(base.location);
|
|
1278
|
+
readsLocation = false;
|
|
1279
|
+
const result = loader(
|
|
1280
|
+
{
|
|
1281
|
+
params: () => params,
|
|
1282
|
+
location: () => {
|
|
1283
|
+
readsLocation = true;
|
|
1284
|
+
return location;
|
|
1285
|
+
}
|
|
1286
|
+
},
|
|
1287
|
+
owner,
|
|
1288
|
+
() => cancelled,
|
|
1289
|
+
trackDeps
|
|
1290
|
+
);
|
|
1276
1291
|
return router ? router.trackLoad(result) : result;
|
|
1277
1292
|
});
|
|
1278
|
-
onCleanup4(
|
|
1293
|
+
onCleanup4(
|
|
1294
|
+
onRevalidate(() => {
|
|
1295
|
+
if (untrack4(() => base.matched()[depth]?.route) !== m.route) return;
|
|
1296
|
+
void refetch();
|
|
1297
|
+
})
|
|
1298
|
+
);
|
|
1279
1299
|
let loadedFor = untrack4(() => JSON.stringify(base.matched()[depth]?.params ?? {}));
|
|
1300
|
+
let searchedFor = untrack4(() => base.location().search);
|
|
1280
1301
|
createEffect4(() => {
|
|
1281
1302
|
const now = base.matched()[depth];
|
|
1303
|
+
const search = base.location().search;
|
|
1282
1304
|
if (now?.route !== m.route) return;
|
|
1283
1305
|
const params = JSON.stringify(now.params ?? {});
|
|
1284
|
-
|
|
1306
|
+
const paramsMoved = params !== loadedFor;
|
|
1307
|
+
const searchMoved = readsLocation !== false && search !== searchedFor;
|
|
1285
1308
|
loadedFor = params;
|
|
1286
|
-
|
|
1309
|
+
searchedFor = search;
|
|
1310
|
+
if (paramsMoved || searchMoved) untrack4(() => void refetch());
|
|
1287
1311
|
});
|
|
1288
1312
|
data = () => {
|
|
1289
1313
|
const error = resource2.error;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @fluixi/core v1.0.0-alpha.
|
|
1
|
+
/*! @fluixi/core v1.0.0-alpha.97 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
|
|
2
2
|
"use strict";
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -287,7 +287,8 @@ function getSubmissionsSignal(url) {
|
|
|
287
287
|
}
|
|
288
288
|
function action(fn, name, options = {}) {
|
|
289
289
|
const actionUrl = name || fn.name || "action";
|
|
290
|
-
const submit = async (
|
|
290
|
+
const submit = async (...args) => {
|
|
291
|
+
const input = args.length > 1 ? args : args[0];
|
|
291
292
|
const [, setSubmission] = getSubmissionSignal(actionUrl);
|
|
292
293
|
const [, setSubmissions] = getSubmissionsSignal(actionUrl);
|
|
293
294
|
let entry;
|
|
@@ -302,11 +303,10 @@ function action(fn, name, options = {}) {
|
|
|
302
303
|
};
|
|
303
304
|
const retry = () => {
|
|
304
305
|
drop2();
|
|
305
|
-
return submit(
|
|
306
|
+
return submit(...args);
|
|
306
307
|
};
|
|
307
308
|
entry = {
|
|
308
309
|
input,
|
|
309
|
-
// Approximate type for tracking
|
|
310
310
|
pending: true,
|
|
311
311
|
clear,
|
|
312
312
|
retry
|
|
@@ -314,7 +314,7 @@ function action(fn, name, options = {}) {
|
|
|
314
314
|
setSubmission(entry);
|
|
315
315
|
setSubmissions((list) => [...list, entry]);
|
|
316
316
|
try {
|
|
317
|
-
const result = await fn(
|
|
317
|
+
const result = await fn(...args);
|
|
318
318
|
setSubmission({
|
|
319
319
|
input,
|
|
320
320
|
result,
|
|
@@ -388,7 +388,7 @@ var init_data = __esm({
|
|
|
388
388
|
var router_exports = {};
|
|
389
389
|
__export(router_exports, {
|
|
390
390
|
A: () => A,
|
|
391
|
-
|
|
391
|
+
ActionForm: () => ActionForm,
|
|
392
392
|
Link: () => Link,
|
|
393
393
|
Outlet: () => Outlet,
|
|
394
394
|
Redirect: () => Redirect,
|
|
@@ -446,19 +446,43 @@ function renderLayer(m, depth, base) {
|
|
|
446
446
|
});
|
|
447
447
|
});
|
|
448
448
|
};
|
|
449
|
+
let readsLocation;
|
|
449
450
|
const [resource, { refetch }] = (0, import_signal10.createResource)(() => {
|
|
450
|
-
const
|
|
451
|
+
const params = (0, import_signal10.untrack)(base.params);
|
|
452
|
+
const location = (0, import_signal10.untrack)(base.location);
|
|
453
|
+
readsLocation = false;
|
|
454
|
+
const result = loader(
|
|
455
|
+
{
|
|
456
|
+
params: () => params,
|
|
457
|
+
location: () => {
|
|
458
|
+
readsLocation = true;
|
|
459
|
+
return location;
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
owner,
|
|
463
|
+
() => cancelled,
|
|
464
|
+
trackDeps
|
|
465
|
+
);
|
|
451
466
|
return router ? router.trackLoad(result) : result;
|
|
452
467
|
});
|
|
453
|
-
(0, import_signal10.onCleanup)(
|
|
468
|
+
(0, import_signal10.onCleanup)(
|
|
469
|
+
onRevalidate(() => {
|
|
470
|
+
if ((0, import_signal10.untrack)(() => base.matched()[depth]?.route) !== m.route) return;
|
|
471
|
+
void refetch();
|
|
472
|
+
})
|
|
473
|
+
);
|
|
454
474
|
let loadedFor = (0, import_signal10.untrack)(() => JSON.stringify(base.matched()[depth]?.params ?? {}));
|
|
475
|
+
let searchedFor = (0, import_signal10.untrack)(() => base.location().search);
|
|
455
476
|
(0, import_signal10.createEffect)(() => {
|
|
456
477
|
const now = base.matched()[depth];
|
|
478
|
+
const search = base.location().search;
|
|
457
479
|
if (now?.route !== m.route) return;
|
|
458
480
|
const params = JSON.stringify(now.params ?? {});
|
|
459
|
-
|
|
481
|
+
const paramsMoved = params !== loadedFor;
|
|
482
|
+
const searchMoved = readsLocation !== false && search !== searchedFor;
|
|
460
483
|
loadedFor = params;
|
|
461
|
-
|
|
484
|
+
searchedFor = search;
|
|
485
|
+
if (paramsMoved || searchMoved) (0, import_signal10.untrack)(() => void refetch());
|
|
462
486
|
});
|
|
463
487
|
data = () => {
|
|
464
488
|
const error = resource.error;
|
|
@@ -846,7 +870,7 @@ function Link(props) {
|
|
|
846
870
|
if (linkChildren != null) (0, import_dom12.insert)(a, linkChildren);
|
|
847
871
|
return a;
|
|
848
872
|
}
|
|
849
|
-
function
|
|
873
|
+
function ActionForm(props) {
|
|
850
874
|
const action2 = props.action;
|
|
851
875
|
const cls = props.className ?? props.class;
|
|
852
876
|
const url = action2.url ?? "";
|
|
@@ -943,7 +967,7 @@ var import_dom13 = require("@fluixi/dom");
|
|
|
943
967
|
var import_dom = require("@fluixi/dom");
|
|
944
968
|
|
|
945
969
|
// src/version.generated.ts
|
|
946
|
-
var VERSION = "1.0.0-alpha.
|
|
970
|
+
var VERSION = "1.0.0-alpha.97";
|
|
947
971
|
|
|
948
972
|
// src/lib/render/versions.ts
|
|
949
973
|
var import_dom2 = require("@fluixi/dom");
|
|
@@ -1149,7 +1173,7 @@ async function startClient(App, options = {}) {
|
|
|
1149
1173
|
}
|
|
1150
1174
|
deserializeHydrationData();
|
|
1151
1175
|
setHydrating(true);
|
|
1152
|
-
(0, import_dom13.hydrate)(rootOf(App), container);
|
|
1176
|
+
(0, import_dom13.hydrate)(() => rootOf(App), container);
|
|
1153
1177
|
replayEvents();
|
|
1154
1178
|
} finally {
|
|
1155
1179
|
(0, import_dom13.endAppHydration)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,uBAAuB,CAAC;AAgB/B;;;;;;;;;;GAUG;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;AAoBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,EACzB,OAAO,GAAE,kBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,uBAAuB,CAAC;AAgB/B;;;;;;;;;;GAUG;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;AAoBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,EACzB,OAAO,GAAE,kBAAuB,iBAiFjC"}
|
|
@@ -114,7 +114,10 @@ export async function startClient(App, options = {}) {
|
|
|
114
114
|
// component. Called directly, the root is the one component the runtime never hears
|
|
115
115
|
// about: nothing holds its return value, so no node is made and a graph of the
|
|
116
116
|
// application starts at whatever the root happened to render.
|
|
117
|
-
|
|
117
|
+
// Built inside hydrate, not as its argument: a memo runs when it is made, and made out
|
|
118
|
+
// here the root would render before hydration is on, without the key scope the server
|
|
119
|
+
// opened for it. Every key below would then be one level off and nothing adopted by key.
|
|
120
|
+
domHydrate(() => rootOf(App), container);
|
|
118
121
|
// Handlers are now wired (delegated $$listeners attach during the hydration
|
|
119
122
|
// render): replay any events the user fired before hydration.
|
|
120
123
|
replayEvents();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! @fluixi/core v1.0.0-alpha.
|
|
2
|
-
import "./chunk-
|
|
1
|
+
/*! @fluixi/core v1.0.0-alpha.97 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
|
|
2
|
+
import "./chunk-KYWKPX6I.mjs";
|
|
3
3
|
|
|
4
4
|
// src/lib/client/index.ts
|
|
5
5
|
import {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import { registerCoreVersion } from "@fluixi/dom";
|
|
16
16
|
|
|
17
17
|
// src/version.generated.ts
|
|
18
|
-
var VERSION = "1.0.0-alpha.
|
|
18
|
+
var VERSION = "1.0.0-alpha.97";
|
|
19
19
|
|
|
20
20
|
// src/lib/render/versions.ts
|
|
21
21
|
import { stampVersions, warnOnVersionSkew, versions } from "@fluixi/dom";
|
|
@@ -246,12 +246,12 @@ async function startClient(App, options = {}) {
|
|
|
246
246
|
beginAppHydration();
|
|
247
247
|
try {
|
|
248
248
|
if (options.routes && options.routes.length) {
|
|
249
|
-
const { preloadRoutes } = await import("./router-
|
|
249
|
+
const { preloadRoutes } = await import("./router-EHDYEGDF.mjs");
|
|
250
250
|
await preloadRoutes(options.routes, window.location.pathname);
|
|
251
251
|
}
|
|
252
252
|
deserializeHydrationData();
|
|
253
253
|
setHydrating(true);
|
|
254
|
-
domHydrate(rootOf(App), container);
|
|
254
|
+
domHydrate(() => rootOf(App), container);
|
|
255
255
|
replayEvents();
|
|
256
256
|
} finally {
|
|
257
257
|
endAppHydration();
|