@alepha/react 0.11.5 → 0.11.6
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/index.browser.js +17 -9
- package/dist/index.browser.js.map +1 -1
- package/dist/index.d.ts +58 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -20
- package/dist/index.js.map +1 -1
- package/package.json +13 -13
- package/src/hooks/useAction.ts +1 -1
- package/src/hooks/useRouterState.ts +1 -1
- package/src/index.ts +1 -1
- package/src/providers/ReactBrowserProvider.ts +29 -6
- package/src/providers/ReactBrowserRouterProvider.ts +2 -2
- package/src/providers/ReactServerProvider.ts +49 -25
- package/src/services/ReactRouter.ts +1 -1
package/dist/index.browser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $env, $hook, $inject, $module, Alepha, AlephaError, Descriptor, KIND, createDescriptor, t } from "@alepha/core";
|
|
1
|
+
import { $atom, $env, $hook, $inject, $module, $use, Alepha, AlephaError, Descriptor, KIND, createDescriptor, t } from "@alepha/core";
|
|
2
2
|
import { AlephaDateTime, DateTimeProvider } from "@alepha/datetime";
|
|
3
3
|
import { AlephaServer, HttpClient } from "@alepha/server";
|
|
4
4
|
import { AlephaServerLinks, LinkProvider } from "@alepha/server-links";
|
|
@@ -440,7 +440,7 @@ const useStore = (key, defaultValue) => {
|
|
|
440
440
|
//#endregion
|
|
441
441
|
//#region src/hooks/useRouterState.ts
|
|
442
442
|
const useRouterState = () => {
|
|
443
|
-
const [state] = useStore("react.router.state");
|
|
443
|
+
const [state] = useStore("alepha.react.router.state");
|
|
444
444
|
if (!state) throw new AlephaError("Missing react router state");
|
|
445
445
|
return state;
|
|
446
446
|
};
|
|
@@ -951,7 +951,7 @@ var ReactBrowserRouterProvider = class extends RouterProvider {
|
|
|
951
951
|
};
|
|
952
952
|
await this.alepha.events.emit("react:action:begin", { type: "transition" });
|
|
953
953
|
await this.alepha.events.emit("react:transition:begin", {
|
|
954
|
-
previous: this.alepha.state.get("react.router.state"),
|
|
954
|
+
previous: this.alepha.state.get("alepha.react.router.state"),
|
|
955
955
|
state
|
|
956
956
|
});
|
|
957
957
|
try {
|
|
@@ -993,7 +993,7 @@ var ReactBrowserRouterProvider = class extends RouterProvider {
|
|
|
993
993
|
const layer = previous[i];
|
|
994
994
|
if (state.layers[i]?.name !== layer.name) this.pageApi.page(layer.name)?.onLeave?.();
|
|
995
995
|
}
|
|
996
|
-
this.alepha.state.set("react.router.state", state);
|
|
996
|
+
this.alepha.state.set("alepha.react.router.state", state);
|
|
997
997
|
await this.alepha.events.emit("react:action:end", { type: "transition" });
|
|
998
998
|
await this.alepha.events.emit("react:transition:end", { state });
|
|
999
999
|
}
|
|
@@ -1005,6 +1005,14 @@ var ReactBrowserRouterProvider = class extends RouterProvider {
|
|
|
1005
1005
|
//#endregion
|
|
1006
1006
|
//#region src/providers/ReactBrowserProvider.ts
|
|
1007
1007
|
const envSchema = t.object({ REACT_ROOT_ID: t.text({ default: "root" }) });
|
|
1008
|
+
/**
|
|
1009
|
+
* React browser renderer configuration atom
|
|
1010
|
+
*/
|
|
1011
|
+
const reactBrowserOptions = $atom({
|
|
1012
|
+
name: "alepha.react.browser.options",
|
|
1013
|
+
schema: t.object({ scrollRestoration: t.enum(["top", "manual"]) }),
|
|
1014
|
+
default: { scrollRestoration: "top" }
|
|
1015
|
+
});
|
|
1008
1016
|
var ReactBrowserProvider = class {
|
|
1009
1017
|
env = $env(envSchema);
|
|
1010
1018
|
log = $logger();
|
|
@@ -1012,7 +1020,7 @@ var ReactBrowserProvider = class {
|
|
|
1012
1020
|
alepha = $inject(Alepha);
|
|
1013
1021
|
router = $inject(ReactBrowserRouterProvider);
|
|
1014
1022
|
dateTimeProvider = $inject(DateTimeProvider);
|
|
1015
|
-
options =
|
|
1023
|
+
options = $use(reactBrowserOptions);
|
|
1016
1024
|
getRootElement() {
|
|
1017
1025
|
const root = this.document.getElementById(this.env.REACT_ROOT_ID);
|
|
1018
1026
|
if (root) return root;
|
|
@@ -1023,7 +1031,7 @@ var ReactBrowserProvider = class {
|
|
|
1023
1031
|
}
|
|
1024
1032
|
transitioning;
|
|
1025
1033
|
get state() {
|
|
1026
|
-
return this.alepha.state.get("react.router.state");
|
|
1034
|
+
return this.alepha.state.get("alepha.react.router.state");
|
|
1027
1035
|
}
|
|
1028
1036
|
/**
|
|
1029
1037
|
* Accessor for Document DOM API.
|
|
@@ -1185,7 +1193,7 @@ var ReactRouter = class {
|
|
|
1185
1193
|
alepha = $inject(Alepha);
|
|
1186
1194
|
pageApi = $inject(ReactPageProvider);
|
|
1187
1195
|
get state() {
|
|
1188
|
-
return this.alepha.state.get("react.router.state");
|
|
1196
|
+
return this.alepha.state.get("alepha.react.router.state");
|
|
1189
1197
|
}
|
|
1190
1198
|
get pages() {
|
|
1191
1199
|
return this.pageApi.getPages();
|
|
@@ -1543,7 +1551,7 @@ function useAction(options, deps) {
|
|
|
1543
1551
|
}, []);
|
|
1544
1552
|
useEffect(() => {
|
|
1545
1553
|
if (options.runOnInit) handler(...[]);
|
|
1546
|
-
},
|
|
1554
|
+
}, deps);
|
|
1547
1555
|
useEffect(() => {
|
|
1548
1556
|
if (!options.runEvery) return;
|
|
1549
1557
|
intervalRef.current = dateTimeProvider.createInterval(() => handler(...[]), options.runEvery, true);
|
|
@@ -1692,5 +1700,5 @@ const AlephaReact = $module({
|
|
|
1692
1700
|
});
|
|
1693
1701
|
|
|
1694
1702
|
//#endregion
|
|
1695
|
-
export { $page, AlephaContext, AlephaReact, ClientOnly_default as ClientOnly, ErrorBoundary_default as ErrorBoundary, ErrorViewer_default as ErrorViewer, Link_default as Link, NestedView_default as NestedView, NotFoundPage as NotFound, PageDescriptor, ReactBrowserProvider, ReactBrowserRouterProvider, ReactPageProvider, ReactRouter, Redirection, RouterLayerContext, isPageRoute, ssrSchemaLoading, useAction, useActive, useAlepha, useClient, useEvents, useInject, useQueryParams, useRouter, useRouterState, useSchema, useStore };
|
|
1703
|
+
export { $page, AlephaContext, AlephaReact, ClientOnly_default as ClientOnly, ErrorBoundary_default as ErrorBoundary, ErrorViewer_default as ErrorViewer, Link_default as Link, NestedView_default as NestedView, NotFoundPage as NotFound, PageDescriptor, ReactBrowserProvider, ReactBrowserRouterProvider, ReactPageProvider, ReactRouter, Redirection, RouterLayerContext, isPageRoute, reactBrowserOptions, ssrSchemaLoading, useAction, useActive, useAlepha, useClient, useEvents, useInject, useQueryParams, useRouter, useRouterState, useSchema, useStore };
|
|
1696
1704
|
//# sourceMappingURL=index.browser.js.map
|