@farm.js/core 0.1.0-beta.22 → 0.1.0-beta.23
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/agent-runtime.d.mts +2 -1
- package/dist/agent-runtime.d.ts +2 -1
- package/dist/{app-BB8GCH1g.d.ts → app-CTFnOJaI.d.ts} +5 -3
- package/dist/{app-DwsTpyNZ.d.mts → app-DA6ospIq.d.mts} +5 -3
- package/dist/app-markdown.d.mts +2 -1
- package/dist/app-markdown.d.ts +2 -1
- package/dist/chunk-4IVNW5QD.mjs +82 -0
- package/dist/chunk-4IVNW5QD.mjs.map +1 -0
- package/dist/{chunk-DAUR3WUZ.mjs → chunk-5NOVWCFL.mjs} +2 -2
- package/dist/chunk-5NOVWCFL.mjs.map +1 -0
- package/dist/chunk-D42BNPZH.mjs +79 -0
- package/dist/chunk-D42BNPZH.mjs.map +1 -0
- package/dist/{chunk-LLPN5SEZ.mjs → chunk-DVPRBMU2.mjs} +2 -2
- package/dist/{chunk-ZP73P4VR.mjs → chunk-FJGTYLCO.mjs} +67 -20
- package/dist/chunk-FJGTYLCO.mjs.map +1 -0
- package/dist/chunk-GQVQESLY.mjs +25 -0
- package/dist/chunk-GQVQESLY.mjs.map +1 -0
- package/dist/chunk-H53KVQUU.mjs +48 -0
- package/dist/chunk-H53KVQUU.mjs.map +1 -0
- package/dist/chunk-HCGQYYHI.mjs +1 -0
- package/dist/chunk-HCGQYYHI.mjs.map +1 -0
- package/dist/{chunk-UCYWGN2P.mjs → chunk-OHNSROHS.mjs} +1 -1
- package/dist/{chunk-FRPWCMMG.mjs → chunk-SBWOTAX4.mjs} +63 -2
- package/dist/chunk-SBWOTAX4.mjs.map +1 -0
- package/dist/{chunk-XBKXKJX5.mjs → chunk-TX54PXAJ.mjs} +81 -25
- package/dist/chunk-TX54PXAJ.mjs.map +1 -0
- package/dist/{chunk-CEVMYGDL.mjs → chunk-YD5IRKVS.mjs} +13 -9
- package/dist/chunk-YD5IRKVS.mjs.map +1 -0
- package/dist/{client-plugins-QQntVkrv.d.mts → client-plugins-CCilIb_G.d.mts} +6 -2
- package/dist/{client-plugins-CbRum1fj.d.ts → client-plugins-DuuleQKk.d.ts} +6 -2
- package/dist/client-plugins.d.mts +2 -1
- package/dist/client-plugins.d.ts +2 -1
- package/dist/client.cjs +122 -35
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.mts +2 -0
- package/dist/client.d.ts +2 -0
- package/dist/client.mjs +13 -2
- package/dist/config.d.mts +2 -1
- package/dist/config.d.ts +2 -1
- package/dist/{devtools-52FYXIEK.mjs → devtools-326RBQCN.mjs} +7 -6
- package/dist/{devtools-52FYXIEK.mjs.map → devtools-326RBQCN.mjs.map} +1 -1
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.mjs +6 -5
- package/dist/index.cjs +431 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +10 -7
- package/dist/index.d.ts +10 -7
- package/dist/index.mjs +66 -49
- package/dist/index.mjs.map +1 -1
- package/dist/integrations.d.mts +2 -1
- package/dist/integrations.d.ts +2 -1
- package/dist/internal/build-runtime.cjs +337 -34
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.d.mts +4 -3
- package/dist/internal/build-runtime.d.ts +4 -3
- package/dist/internal/build-runtime.mjs +15 -12
- package/dist/internal/config-runtime.cjs +41 -0
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.d.mts +3 -2
- package/dist/internal/config-runtime.d.ts +3 -2
- package/dist/internal/config-runtime.mjs +5 -4
- package/dist/internal/production-runtime.cjs +178 -0
- package/dist/internal/production-runtime.cjs.map +1 -1
- package/dist/internal/production-runtime.d.mts +20 -6
- package/dist/internal/production-runtime.d.ts +20 -6
- package/dist/internal/production-runtime.mjs +13 -1
- package/dist/internal/production-runtime.mjs.map +1 -1
- package/dist/{metadata-B5jBJHq1.d.ts → metadata-DyPRG0wX.d.ts} +1 -1
- package/dist/{metadata-BxOJ4FJl.d.mts → metadata-_GHcAySx.d.mts} +1 -1
- package/dist/middleware.d.mts +4 -3
- package/dist/middleware.d.ts +4 -3
- package/dist/plugin.cjs +219 -14
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.mts +2 -1
- package/dist/plugin.d.ts +2 -1
- package/dist/plugin.mjs +11 -8
- package/dist/{production-runtime-Bxua86uR.d.mts → production-runtime-C4cO3esK.d.mts} +1 -1
- package/dist/{production-runtime-CZqXjRVi.d.ts → production-runtime-DrEy8kBO.d.ts} +1 -1
- package/dist/{request-7V0GaZK_.d.mts → request-B2PpOxYK.d.mts} +1 -1
- package/dist/{request-B5XYBv5a.d.ts → request-D40lt6aN.d.ts} +1 -1
- package/dist/request.d.mts +3 -2
- package/dist/request.d.ts +3 -2
- package/dist/routes.d.mts +2 -1
- package/dist/routes.d.ts +2 -1
- package/dist/server-plugins.d.mts +3 -2
- package/dist/server-plugins.d.ts +3 -2
- package/dist/server.cjs +241 -19
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.mts +8 -6
- package/dist/server.d.ts +8 -6
- package/dist/server.mjs +20 -11
- package/dist/server.mjs.map +1 -1
- package/dist/testing.d.mts +2 -1
- package/dist/testing.d.ts +2 -1
- package/dist/theme/client.cjs +115 -0
- package/dist/theme/client.cjs.map +1 -0
- package/dist/theme/client.d.mts +17 -0
- package/dist/theme/client.d.ts +17 -0
- package/dist/theme/client.mjs +16 -0
- package/dist/theme/client.mjs.map +1 -0
- package/dist/theme/index.cjs +71 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.d.mts +6 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.mjs +9 -0
- package/dist/theme/index.mjs.map +1 -0
- package/dist/theme/server.cjs +191 -0
- package/dist/theme/server.cjs.map +1 -0
- package/dist/theme/server.d.mts +8 -0
- package/dist/theme/server.d.ts +8 -0
- package/dist/theme/server.mjs +18 -0
- package/dist/theme/server.mjs.map +1 -0
- package/dist/types-CsR8fpgF.d.mts +30 -0
- package/dist/types-CsR8fpgF.d.ts +30 -0
- package/dist/{utils-xTFxzu47.d.ts → utils-3sQgfkya.d.ts} +1 -1
- package/dist/{utils-s9pN0Yep.d.mts → utils-Bop7bly-.d.mts} +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +242 -15
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.mts +2 -1
- package/dist/vite.d.ts +2 -1
- package/dist/vite.mjs +11 -8
- package/package.json +25 -1
- package/dist/chunk-CEVMYGDL.mjs.map +0 -1
- package/dist/chunk-DAUR3WUZ.mjs.map +0 -1
- package/dist/chunk-FRPWCMMG.mjs.map +0 -1
- package/dist/chunk-XBKXKJX5.mjs.map +0 -1
- package/dist/chunk-ZP73P4VR.mjs.map +0 -1
- /package/dist/{chunk-LLPN5SEZ.mjs.map → chunk-DVPRBMU2.mjs.map} +0 -0
- /package/dist/{chunk-UCYWGN2P.mjs.map → chunk-OHNSROHS.mjs.map} +0 -0
package/dist/client.cjs
CHANGED
|
@@ -52,6 +52,7 @@ __export(client_exports, {
|
|
|
52
52
|
fetchServerQuery: () => fetchServerQuery,
|
|
53
53
|
getIntegrationAPIManifest: () => getIntegrationAPIManifest,
|
|
54
54
|
getRouter: () => getRouter2,
|
|
55
|
+
getTheme: () => getTheme,
|
|
55
56
|
installChunkErrorRecovery: () => installChunkErrorRecovery,
|
|
56
57
|
integrationClients: () => integrationClients,
|
|
57
58
|
integrationsClient: () => integrationsClient,
|
|
@@ -63,6 +64,8 @@ __export(client_exports, {
|
|
|
63
64
|
pushState: () => pushState,
|
|
64
65
|
readPageState: () => readPageState,
|
|
65
66
|
replaceState: () => replaceState,
|
|
67
|
+
setTheme: () => setTheme,
|
|
68
|
+
toggleTheme: () => toggleTheme,
|
|
66
69
|
useBlocker: () => useBlocker,
|
|
67
70
|
useFetcher: () => useFetcher,
|
|
68
71
|
useMutation: () => useMutation,
|
|
@@ -70,7 +73,8 @@ __export(client_exports, {
|
|
|
70
73
|
usePageState: () => usePageState,
|
|
71
74
|
useRouter: () => useRouter,
|
|
72
75
|
useScrollRestoration: () => useScrollRestoration,
|
|
73
|
-
useServerQuery: () => useServerQuery
|
|
76
|
+
useServerQuery: () => useServerQuery,
|
|
77
|
+
useTheme: () => useTheme
|
|
74
78
|
});
|
|
75
79
|
module.exports = __toCommonJS(client_exports);
|
|
76
80
|
|
|
@@ -2684,12 +2688,12 @@ function useServerQuery(query, input, options = {}) {
|
|
|
2684
2688
|
const mountedKeyRef = (0, import_react3.useRef)(void 0);
|
|
2685
2689
|
inputRef.current = input;
|
|
2686
2690
|
optionsRef.current = options;
|
|
2687
|
-
const
|
|
2691
|
+
const subscribe2 = (0, import_react3.useCallback)(
|
|
2688
2692
|
(listener) => cache.subscribe(key, listener),
|
|
2689
2693
|
[cache, key]
|
|
2690
2694
|
);
|
|
2691
2695
|
const getSnapshot = (0, import_react3.useCallback)(() => cache.get(key), [cache, key]);
|
|
2692
|
-
const entry = (0, import_react3.useSyncExternalStore)(
|
|
2696
|
+
const entry = (0, import_react3.useSyncExternalStore)(subscribe2, getSnapshot, () => void 0);
|
|
2693
2697
|
const run = (0, import_react3.useCallback)(
|
|
2694
2698
|
(force = false) => fetchServerQuery(query, inputRef.current, {
|
|
2695
2699
|
...optionsRef.current,
|
|
@@ -3214,9 +3218,88 @@ function createStore(initialState, extend) {
|
|
|
3214
3218
|
}
|
|
3215
3219
|
__name(createStore, "createStore");
|
|
3216
3220
|
|
|
3217
|
-
// src/client
|
|
3221
|
+
// src/theme/client.tsx
|
|
3218
3222
|
var import_react5 = require("react");
|
|
3219
3223
|
|
|
3224
|
+
// src/theme/bridge.ts
|
|
3225
|
+
var FALLBACK_SERVER_SNAPSHOT = Object.freeze({
|
|
3226
|
+
theme: "system",
|
|
3227
|
+
resolvedTheme: void 0,
|
|
3228
|
+
mounted: false
|
|
3229
|
+
});
|
|
3230
|
+
var FARM_THEME_SERVER_SNAPSHOT_RESOLVER = /* @__PURE__ */ Symbol.for("farm.js.theme.server-snapshot-resolver");
|
|
3231
|
+
function getFarmThemeServerSnapshot() {
|
|
3232
|
+
return globalThis[FARM_THEME_SERVER_SNAPSHOT_RESOLVER]?.() ?? FALLBACK_SERVER_SNAPSHOT;
|
|
3233
|
+
}
|
|
3234
|
+
__name(getFarmThemeServerSnapshot, "getFarmThemeServerSnapshot");
|
|
3235
|
+
|
|
3236
|
+
// src/theme/client.tsx
|
|
3237
|
+
var FALLBACK_CLIENT_SNAPSHOT = Object.freeze({
|
|
3238
|
+
theme: "system",
|
|
3239
|
+
resolvedTheme: "light",
|
|
3240
|
+
mounted: true
|
|
3241
|
+
});
|
|
3242
|
+
var cachedClientSnapshot = FALLBACK_CLIENT_SNAPSHOT;
|
|
3243
|
+
function snapshotsMatch(left, right) {
|
|
3244
|
+
return left.theme === right.theme && left.resolvedTheme === right.resolvedTheme && left.mounted === right.mounted;
|
|
3245
|
+
}
|
|
3246
|
+
__name(snapshotsMatch, "snapshotsMatch");
|
|
3247
|
+
function getClientSnapshot() {
|
|
3248
|
+
const next = typeof window === "undefined" ? FALLBACK_CLIENT_SNAPSHOT : window.__FARM_THEME__?.snapshot;
|
|
3249
|
+
if (!next) return cachedClientSnapshot;
|
|
3250
|
+
if (!snapshotsMatch(cachedClientSnapshot, next)) cachedClientSnapshot = next;
|
|
3251
|
+
return cachedClientSnapshot;
|
|
3252
|
+
}
|
|
3253
|
+
__name(getClientSnapshot, "getClientSnapshot");
|
|
3254
|
+
function getHydrationSnapshot() {
|
|
3255
|
+
if (typeof window !== "undefined" && window.__FARM_THEME__?.serverSnapshot) {
|
|
3256
|
+
return window.__FARM_THEME__.serverSnapshot;
|
|
3257
|
+
}
|
|
3258
|
+
return getFarmThemeServerSnapshot();
|
|
3259
|
+
}
|
|
3260
|
+
__name(getHydrationSnapshot, "getHydrationSnapshot");
|
|
3261
|
+
function subscribe(listener) {
|
|
3262
|
+
if (typeof window === "undefined") return () => {
|
|
3263
|
+
};
|
|
3264
|
+
const handleThemeChange = /* @__PURE__ */ __name(() => {
|
|
3265
|
+
getClientSnapshot();
|
|
3266
|
+
listener();
|
|
3267
|
+
}, "handleThemeChange");
|
|
3268
|
+
window.addEventListener("farm:themechange", handleThemeChange);
|
|
3269
|
+
return () => window.removeEventListener("farm:themechange", handleThemeChange);
|
|
3270
|
+
}
|
|
3271
|
+
__name(subscribe, "subscribe");
|
|
3272
|
+
function getTheme() {
|
|
3273
|
+
return getClientSnapshot();
|
|
3274
|
+
}
|
|
3275
|
+
__name(getTheme, "getTheme");
|
|
3276
|
+
function setTheme(theme) {
|
|
3277
|
+
const runtime = typeof window === "undefined" ? void 0 : window.__FARM_THEME__;
|
|
3278
|
+
if (!runtime) {
|
|
3279
|
+
throw new Error("The FARMJS theme runtime is not enabled. Add `theme` to farm.config.ts.");
|
|
3280
|
+
}
|
|
3281
|
+
runtime.setTheme(theme);
|
|
3282
|
+
}
|
|
3283
|
+
__name(setTheme, "setTheme");
|
|
3284
|
+
function toggleTheme() {
|
|
3285
|
+
const next = getClientSnapshot().resolvedTheme === "dark" ? "light" : "dark";
|
|
3286
|
+
setTheme(next);
|
|
3287
|
+
return next;
|
|
3288
|
+
}
|
|
3289
|
+
__name(toggleTheme, "toggleTheme");
|
|
3290
|
+
function useTheme() {
|
|
3291
|
+
const snapshot = (0, import_react5.useSyncExternalStore)(subscribe, getClientSnapshot, getHydrationSnapshot);
|
|
3292
|
+
return {
|
|
3293
|
+
...snapshot,
|
|
3294
|
+
setTheme,
|
|
3295
|
+
toggleTheme
|
|
3296
|
+
};
|
|
3297
|
+
}
|
|
3298
|
+
__name(useTheme, "useTheme");
|
|
3299
|
+
|
|
3300
|
+
// src/client/link.tsx
|
|
3301
|
+
var import_react6 = require("react");
|
|
3302
|
+
|
|
3220
3303
|
// src/router.ts
|
|
3221
3304
|
function createFarmRouter(routes) {
|
|
3222
3305
|
const normalizedRoutes = routes.map(normalizeRouteInput).sort(compareRoutes);
|
|
@@ -3615,9 +3698,9 @@ function LinkInner({
|
|
|
3615
3698
|
onTouchStart,
|
|
3616
3699
|
...props
|
|
3617
3700
|
}, ref) {
|
|
3618
|
-
const elementRef = (0,
|
|
3619
|
-
const intentTimeoutRef = (0,
|
|
3620
|
-
const hasPrefetched = (0,
|
|
3701
|
+
const elementRef = (0, import_react6.useRef)(null);
|
|
3702
|
+
const intentTimeoutRef = (0, import_react6.useRef)(null);
|
|
3703
|
+
const hasPrefetched = (0, import_react6.useRef)(false);
|
|
3621
3704
|
const { intent, viewport, render } = normalizePrefetch(prefetch2);
|
|
3622
3705
|
const baseHref = resolveLinkHref(href, params, {
|
|
3623
3706
|
query,
|
|
@@ -3626,17 +3709,17 @@ function LinkInner({
|
|
|
3626
3709
|
});
|
|
3627
3710
|
const resolvedHref = localizeActiveFarmHref(baseHref, locale);
|
|
3628
3711
|
const isExternal = isExternalUrl(resolvedHref);
|
|
3629
|
-
const doPrefetch = (0,
|
|
3712
|
+
const doPrefetch = (0, import_react6.useCallback)(() => {
|
|
3630
3713
|
if (isExternal || hasPrefetched.current) return;
|
|
3631
3714
|
const router = getRouter();
|
|
3632
3715
|
if (!router) return;
|
|
3633
3716
|
hasPrefetched.current = true;
|
|
3634
3717
|
router.prefetch(resolvedHref);
|
|
3635
3718
|
}, [resolvedHref, isExternal]);
|
|
3636
|
-
(0,
|
|
3719
|
+
(0, import_react6.useEffect)(() => {
|
|
3637
3720
|
hasPrefetched.current = false;
|
|
3638
3721
|
}, [resolvedHref]);
|
|
3639
|
-
(0,
|
|
3722
|
+
(0, import_react6.useEffect)(() => {
|
|
3640
3723
|
const element = elementRef.current;
|
|
3641
3724
|
if (!element || isExternal) return;
|
|
3642
3725
|
const router = getRouter();
|
|
@@ -3646,7 +3729,7 @@ function LinkInner({
|
|
|
3646
3729
|
return () => router.unobserveForPrefetch(element);
|
|
3647
3730
|
}
|
|
3648
3731
|
}, [resolvedHref, viewport, isExternal]);
|
|
3649
|
-
(0,
|
|
3732
|
+
(0, import_react6.useEffect)(() => {
|
|
3650
3733
|
if (!render || isExternal) return;
|
|
3651
3734
|
let cancelled = false;
|
|
3652
3735
|
let timeoutId = null;
|
|
@@ -3668,7 +3751,7 @@ function LinkInner({
|
|
|
3668
3751
|
}
|
|
3669
3752
|
};
|
|
3670
3753
|
}, [render, isExternal, resolvedHref]);
|
|
3671
|
-
(0,
|
|
3754
|
+
(0, import_react6.useEffect)(() => {
|
|
3672
3755
|
return () => {
|
|
3673
3756
|
if (intentTimeoutRef.current) {
|
|
3674
3757
|
clearTimeout(intentTimeoutRef.current);
|
|
@@ -3676,13 +3759,13 @@ function LinkInner({
|
|
|
3676
3759
|
}
|
|
3677
3760
|
};
|
|
3678
3761
|
}, []);
|
|
3679
|
-
const cancelIntent = (0,
|
|
3762
|
+
const cancelIntent = (0, import_react6.useCallback)(() => {
|
|
3680
3763
|
if (intentTimeoutRef.current) {
|
|
3681
3764
|
clearTimeout(intentTimeoutRef.current);
|
|
3682
3765
|
intentTimeoutRef.current = null;
|
|
3683
3766
|
}
|
|
3684
3767
|
}, []);
|
|
3685
|
-
const scheduleIntentPrefetch = (0,
|
|
3768
|
+
const scheduleIntentPrefetch = (0, import_react6.useCallback)(() => {
|
|
3686
3769
|
if (isExternal || !intent || hasPrefetched.current) return;
|
|
3687
3770
|
cancelIntent();
|
|
3688
3771
|
intentTimeoutRef.current = setTimeout(() => {
|
|
@@ -3690,42 +3773,42 @@ function LinkInner({
|
|
|
3690
3773
|
doPrefetch();
|
|
3691
3774
|
}, prefetchDelay);
|
|
3692
3775
|
}, [intent, isExternal, prefetchDelay, doPrefetch, cancelIntent]);
|
|
3693
|
-
const handleMouseEnter = (0,
|
|
3776
|
+
const handleMouseEnter = (0, import_react6.useCallback)(
|
|
3694
3777
|
(event) => {
|
|
3695
3778
|
onMouseEnter?.(event);
|
|
3696
3779
|
scheduleIntentPrefetch();
|
|
3697
3780
|
},
|
|
3698
3781
|
[onMouseEnter, scheduleIntentPrefetch]
|
|
3699
3782
|
);
|
|
3700
|
-
const handleMouseLeave = (0,
|
|
3783
|
+
const handleMouseLeave = (0, import_react6.useCallback)(
|
|
3701
3784
|
(event) => {
|
|
3702
3785
|
onMouseLeave?.(event);
|
|
3703
3786
|
cancelIntent();
|
|
3704
3787
|
},
|
|
3705
3788
|
[onMouseLeave, cancelIntent]
|
|
3706
3789
|
);
|
|
3707
|
-
const handleTouchStart = (0,
|
|
3790
|
+
const handleTouchStart = (0, import_react6.useCallback)(
|
|
3708
3791
|
(event) => {
|
|
3709
3792
|
onTouchStart?.(event);
|
|
3710
3793
|
scheduleIntentPrefetch();
|
|
3711
3794
|
},
|
|
3712
3795
|
[onTouchStart, scheduleIntentPrefetch]
|
|
3713
3796
|
);
|
|
3714
|
-
const handleFocus = (0,
|
|
3797
|
+
const handleFocus = (0, import_react6.useCallback)(
|
|
3715
3798
|
(event) => {
|
|
3716
3799
|
onFocus?.(event);
|
|
3717
3800
|
scheduleIntentPrefetch();
|
|
3718
3801
|
},
|
|
3719
3802
|
[onFocus, scheduleIntentPrefetch]
|
|
3720
3803
|
);
|
|
3721
|
-
const handleBlur = (0,
|
|
3804
|
+
const handleBlur = (0, import_react6.useCallback)(
|
|
3722
3805
|
(event) => {
|
|
3723
3806
|
onBlur?.(event);
|
|
3724
3807
|
cancelIntent();
|
|
3725
3808
|
},
|
|
3726
3809
|
[onBlur, cancelIntent]
|
|
3727
3810
|
);
|
|
3728
|
-
const handleClick = (0,
|
|
3811
|
+
const handleClick = (0, import_react6.useCallback)(
|
|
3729
3812
|
(event) => {
|
|
3730
3813
|
onClick?.(event);
|
|
3731
3814
|
if (event.defaultPrevented) return;
|
|
@@ -3750,7 +3833,7 @@ function LinkInner({
|
|
|
3750
3833
|
},
|
|
3751
3834
|
[resolvedHref, replace, scroll, viewTransition, target, isExternal, onClick]
|
|
3752
3835
|
);
|
|
3753
|
-
const setRefs = (0,
|
|
3836
|
+
const setRefs = (0, import_react6.useCallback)(
|
|
3754
3837
|
(node) => {
|
|
3755
3838
|
elementRef.current = node;
|
|
3756
3839
|
if (typeof ref === "function") ref(node);
|
|
@@ -3779,7 +3862,7 @@ function LinkInner({
|
|
|
3779
3862
|
);
|
|
3780
3863
|
}
|
|
3781
3864
|
__name(LinkInner, "LinkInner");
|
|
3782
|
-
var LinkWithRef = (0,
|
|
3865
|
+
var LinkWithRef = (0, import_react6.forwardRef)(LinkInner);
|
|
3783
3866
|
LinkWithRef.displayName = "Link";
|
|
3784
3867
|
var Link = LinkWithRef;
|
|
3785
3868
|
function resolveLinkHref(href, params, options) {
|
|
@@ -3880,7 +3963,7 @@ function matchManifestRoute(pathname, route2) {
|
|
|
3880
3963
|
__name(matchManifestRoute, "matchManifestRoute");
|
|
3881
3964
|
|
|
3882
3965
|
// src/client/router.ts
|
|
3883
|
-
var
|
|
3966
|
+
var import_react7 = require("react");
|
|
3884
3967
|
|
|
3885
3968
|
// src/deferred.ts
|
|
3886
3969
|
var FARM_DEFERRED_CONTENT_TYPE = "application/x-farm-deferred+json";
|
|
@@ -4661,14 +4744,14 @@ function useRouter(options = {}) {
|
|
|
4661
4744
|
const basePath = options.basePath || "";
|
|
4662
4745
|
const routes = options.routes;
|
|
4663
4746
|
const routeKey = routes?.map((route2) => typeof route2 === "string" ? route2 : route2.path).join("\n") || "";
|
|
4664
|
-
const routeMatcher = (0,
|
|
4747
|
+
const routeMatcher = (0, import_react7.useMemo)(
|
|
4665
4748
|
() => routeKey ? createFarmRouter(routeKey.split("\n")) : null,
|
|
4666
4749
|
[routeKey]
|
|
4667
4750
|
);
|
|
4668
|
-
const [state, setState] = (0,
|
|
4751
|
+
const [state, setState] = (0, import_react7.useState)(() => {
|
|
4669
4752
|
return readRouterState(basePath, routeMatcher);
|
|
4670
4753
|
});
|
|
4671
|
-
(0,
|
|
4754
|
+
(0, import_react7.useEffect)(() => {
|
|
4672
4755
|
if (typeof window === "undefined") return;
|
|
4673
4756
|
const handlePopState = /* @__PURE__ */ __name(() => {
|
|
4674
4757
|
setState(readRouterState(basePath, routeMatcher));
|
|
@@ -4719,8 +4802,8 @@ function useRouter(options = {}) {
|
|
|
4719
4802
|
}
|
|
4720
4803
|
__name(useRouter, "useRouter");
|
|
4721
4804
|
function usePageState() {
|
|
4722
|
-
const [state, setState] = (0,
|
|
4723
|
-
(0,
|
|
4805
|
+
const [state, setState] = (0, import_react7.useState)(() => readPageState());
|
|
4806
|
+
(0, import_react7.useEffect)(() => {
|
|
4724
4807
|
if (typeof window === "undefined") return;
|
|
4725
4808
|
const handlePopState = /* @__PURE__ */ __name(() => {
|
|
4726
4809
|
setState(readPageState());
|
|
@@ -4733,10 +4816,10 @@ function usePageState() {
|
|
|
4733
4816
|
}
|
|
4734
4817
|
__name(usePageState, "usePageState");
|
|
4735
4818
|
function useNavigation() {
|
|
4736
|
-
const [state, setState] = (0,
|
|
4819
|
+
const [state, setState] = (0, import_react7.useState)(
|
|
4737
4820
|
() => getRouter2().getNavigationState()
|
|
4738
4821
|
);
|
|
4739
|
-
(0,
|
|
4822
|
+
(0, import_react7.useEffect)(() => {
|
|
4740
4823
|
if (typeof window === "undefined") return;
|
|
4741
4824
|
return getRouter2().subscribeNavigation(setState);
|
|
4742
4825
|
}, []);
|
|
@@ -4744,10 +4827,10 @@ function useNavigation() {
|
|
|
4744
4827
|
}
|
|
4745
4828
|
__name(useNavigation, "useNavigation");
|
|
4746
4829
|
function useBlocker(options) {
|
|
4747
|
-
const optionsRef = (0,
|
|
4830
|
+
const optionsRef = (0, import_react7.useRef)(options);
|
|
4748
4831
|
optionsRef.current = options;
|
|
4749
4832
|
const active = Boolean(options.when);
|
|
4750
|
-
(0,
|
|
4833
|
+
(0, import_react7.useEffect)(() => {
|
|
4751
4834
|
if (typeof window === "undefined" || !active) {
|
|
4752
4835
|
return;
|
|
4753
4836
|
}
|
|
@@ -4768,8 +4851,8 @@ function useBlocker(options) {
|
|
|
4768
4851
|
}
|
|
4769
4852
|
__name(useBlocker, "useBlocker");
|
|
4770
4853
|
function useScrollRestoration(key) {
|
|
4771
|
-
const ref = (0,
|
|
4772
|
-
(0,
|
|
4854
|
+
const ref = (0, import_react7.useRef)(null);
|
|
4855
|
+
(0, import_react7.useEffect)(() => {
|
|
4773
4856
|
const element = ref.current;
|
|
4774
4857
|
if (!element) return;
|
|
4775
4858
|
return getRouter2().registerScrollElement(key, element);
|
|
@@ -5379,6 +5462,7 @@ __name(isObject, "isObject");
|
|
|
5379
5462
|
fetchServerQuery,
|
|
5380
5463
|
getIntegrationAPIManifest,
|
|
5381
5464
|
getRouter,
|
|
5465
|
+
getTheme,
|
|
5382
5466
|
installChunkErrorRecovery,
|
|
5383
5467
|
integrationClients,
|
|
5384
5468
|
integrationsClient,
|
|
@@ -5390,6 +5474,8 @@ __name(isObject, "isObject");
|
|
|
5390
5474
|
pushState,
|
|
5391
5475
|
readPageState,
|
|
5392
5476
|
replaceState,
|
|
5477
|
+
setTheme,
|
|
5478
|
+
toggleTheme,
|
|
5393
5479
|
useBlocker,
|
|
5394
5480
|
useFetcher,
|
|
5395
5481
|
useMutation,
|
|
@@ -5397,6 +5483,7 @@ __name(isObject, "isObject");
|
|
|
5397
5483
|
usePageState,
|
|
5398
5484
|
useRouter,
|
|
5399
5485
|
useScrollRestoration,
|
|
5400
|
-
useServerQuery
|
|
5486
|
+
useServerQuery,
|
|
5487
|
+
useTheme
|
|
5401
5488
|
});
|
|
5402
5489
|
//# sourceMappingURL=client.cjs.map
|