@alepha/react 0.13.1 → 0.13.2

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.
Files changed (49) hide show
  1. package/dist/auth/index.browser.js +5 -5
  2. package/dist/auth/index.browser.js.map +1 -1
  3. package/dist/auth/index.d.ts +330 -330
  4. package/dist/auth/index.js +7 -7
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/core/index.browser.js +19 -18
  7. package/dist/core/index.browser.js.map +1 -1
  8. package/dist/core/index.d.ts +352 -344
  9. package/dist/core/index.js +25 -24
  10. package/dist/core/index.js.map +1 -1
  11. package/dist/core/index.native.js +381 -0
  12. package/dist/core/index.native.js.map +1 -0
  13. package/dist/form/index.d.ts +2 -2
  14. package/dist/head/index.browser.js +7 -7
  15. package/dist/head/index.browser.js.map +1 -1
  16. package/dist/head/index.d.ts +265 -265
  17. package/dist/head/index.js +7 -7
  18. package/dist/head/index.js.map +1 -1
  19. package/dist/i18n/index.d.ts +20 -20
  20. package/dist/i18n/index.js +12 -12
  21. package/dist/i18n/index.js.map +1 -1
  22. package/dist/websocket/index.d.ts +7 -7
  23. package/dist/websocket/index.js.map +1 -1
  24. package/package.json +18 -9
  25. package/src/auth/index.ts +1 -1
  26. package/src/auth/providers/ReactAuthProvider.ts +1 -1
  27. package/src/auth/services/ReactAuth.ts +5 -5
  28. package/src/core/components/NestedView.tsx +1 -1
  29. package/src/core/hooks/useStore.ts +4 -4
  30. package/src/core/index.browser.ts +2 -2
  31. package/src/core/index.native.ts +1 -1
  32. package/src/core/index.shared-router.ts +1 -1
  33. package/src/core/index.ts +3 -3
  34. package/src/core/{descriptors → primitives}/$page.ts +20 -20
  35. package/src/core/providers/ReactBrowserProvider.ts +2 -2
  36. package/src/core/providers/ReactBrowserRouterProvider.ts +2 -2
  37. package/src/core/providers/ReactPageProvider.ts +25 -11
  38. package/src/core/providers/ReactServerProvider.ts +12 -12
  39. package/src/core/services/ReactPageServerService.ts +6 -6
  40. package/src/core/services/ReactPageService.ts +6 -6
  41. package/src/core/services/ReactRouter.ts +3 -3
  42. package/src/head/index.browser.ts +3 -3
  43. package/src/head/index.ts +4 -4
  44. package/src/head/{descriptors → primitives}/$head.ts +6 -6
  45. package/src/i18n/hooks/useI18n.ts +2 -2
  46. package/src/i18n/index.ts +3 -3
  47. package/src/i18n/{descriptors → primitives}/$dictionary.ts +8 -8
  48. package/src/i18n/providers/I18nProvider.ts +5 -5
  49. package/src/websocket/hooks/useRoom.tsx +3 -3
@@ -1,4 +1,4 @@
1
- import { $atom, $env, $hook, $inject, $module, $use, Alepha, AlephaError, Atom, Descriptor, KIND, createDescriptor, t } from "alepha";
1
+ import { $atom, $env, $hook, $inject, $module, $use, Alepha, AlephaError, Atom, KIND, Primitive, createPrimitive, t } from "alepha";
2
2
  import { AlephaDateTime, DateTimeProvider } from "alepha/datetime";
3
3
  import { AlephaServer, HttpClient, ServerProvider, ServerRouterProvider, ServerTimingProvider } from "alepha/server";
4
4
  import { AlephaServerCache } from "alepha/server/cache";
@@ -23,11 +23,11 @@ var ReactPageService = class {
23
23
  };
24
24
 
25
25
  //#endregion
26
- //#region src/core/descriptors/$page.ts
26
+ //#region src/core/primitives/$page.ts
27
27
  /**
28
- * Main descriptor for defining a React route in the application.
28
+ * Main primitive for defining a React route in the application.
29
29
  *
30
- * The $page descriptor is the core building block for creating type-safe, SSR-enabled React routes.
30
+ * The $page primitive is the core building block for creating type-safe, SSR-enabled React routes.
31
31
  * It provides a declarative way to define pages with powerful features:
32
32
  *
33
33
  * **Routing & Navigation**
@@ -113,9 +113,9 @@ var ReactPageService = class {
113
113
  * ```
114
114
  */
115
115
  const $page = (options) => {
116
- return createDescriptor(PageDescriptor, options);
116
+ return createPrimitive(PagePrimitive, options);
117
117
  };
118
- var PageDescriptor = class extends Descriptor {
118
+ var PagePrimitive = class extends Primitive {
119
119
  reactPageService = $inject(ReactPageService);
120
120
  onInit() {
121
121
  if (this.options.static) this.options.cache ??= { store: {
@@ -145,7 +145,7 @@ var PageDescriptor = class extends Descriptor {
145
145
  return this.options.path || "";
146
146
  }
147
147
  };
148
- $page[KIND] = PageDescriptor;
148
+ $page[KIND] = PagePrimitive;
149
149
 
150
150
  //#endregion
151
151
  //#region src/core/components/ClientOnly.tsx
@@ -400,9 +400,9 @@ const useEvents = (opts, deps) => {
400
400
  function useStore(target, defaultValue) {
401
401
  const alepha = useAlepha();
402
402
  useMemo(() => {
403
- if (defaultValue != null && alepha.state.get(target) == null) alepha.state.set(target, defaultValue);
403
+ if (defaultValue != null && alepha.store.get(target) == null) alepha.store.set(target, defaultValue);
404
404
  }, [defaultValue]);
405
- const [state, setState] = useState(alepha.state.get(target));
405
+ const [state, setState] = useState(alepha.store.get(target));
406
406
  useEffect(() => {
407
407
  if (!alepha.isBrowser()) return;
408
408
  const key = target instanceof Atom ? target.key : target;
@@ -411,7 +411,7 @@ function useStore(target, defaultValue) {
411
411
  });
412
412
  }, []);
413
413
  return [state, (value) => {
414
- alepha.state.set(target, value);
414
+ alepha.store.set(target, value);
415
415
  }];
416
416
  }
417
417
 
@@ -626,6 +626,7 @@ var ReactPageProvider = class {
626
626
  if (!path.includes(":") && !path.includes("*")) pages.push({
627
627
  ...page,
628
628
  name: params[Object.keys(params)[0]],
629
+ staticName: page.name,
629
630
  path,
630
631
  ...entry
631
632
  });
@@ -856,7 +857,7 @@ var ReactPageProvider = class {
856
857
  on: "configure",
857
858
  handler: () => {
858
859
  let hasNotFoundHandler = false;
859
- const pages = this.alepha.descriptors($page);
860
+ const pages = this.alepha.primitives($page);
860
861
  const hasParent = (it) => {
861
862
  if (it.options.parent) return true;
862
863
  for (const page of pages) if ((page.options.children ? Array.isArray(page.options.children) ? page.options.children : page.options.children() : []).includes(it)) return true;
@@ -969,8 +970,8 @@ var ReactServerProvider = class {
969
970
  onConfigure = $hook({
970
971
  on: "configure",
971
972
  handler: async () => {
972
- const ssrEnabled = this.alepha.descriptors($page).length > 0 && this.env.REACT_SSR_ENABLED !== false;
973
- this.alepha.state.set("alepha.react.server.ssr", ssrEnabled);
973
+ const ssrEnabled = this.alepha.primitives($page).length > 0 && this.env.REACT_SSR_ENABLED !== false;
974
+ this.alepha.store.set("alepha.react.server.ssr", ssrEnabled);
974
975
  if (this.alepha.isViteDev()) {
975
976
  await this.configureVite(ssrEnabled);
976
977
  return;
@@ -1076,7 +1077,7 @@ var ReactServerProvider = class {
1076
1077
  redirect
1077
1078
  };
1078
1079
  if (!options.html) {
1079
- this.alepha.state.set("alepha.react.router.state", state);
1080
+ this.alepha.store.set("alepha.react.router.state", state);
1080
1081
  return {
1081
1082
  state,
1082
1083
  html: renderToString(this.pageApi.root(state))
@@ -1109,7 +1110,7 @@ var ReactServerProvider = class {
1109
1110
  onError: () => null,
1110
1111
  layers: []
1111
1112
  };
1112
- if (this.alepha.has(ServerLinksProvider)) this.alepha.state.set("alepha.server.request.apiLinks", await this.alepha.inject(ServerLinksProvider).getUserApiLinks({
1113
+ if (this.alepha.has(ServerLinksProvider)) this.alepha.store.set("alepha.server.request.apiLinks", await this.alepha.inject(ServerLinksProvider).getUserApiLinks({
1113
1114
  user: serverRequest.user,
1114
1115
  authorization: serverRequest.headers.authorization
1115
1116
  }));
@@ -1152,7 +1153,7 @@ var ReactServerProvider = class {
1152
1153
  }
1153
1154
  renderToHtml(template, state, hydration = true) {
1154
1155
  const element = this.pageApi.root(state);
1155
- this.alepha.state.set("alepha.react.router.state", state);
1156
+ this.alepha.store.set("alepha.react.router.state", state);
1156
1157
  this.serverTimingProvider.beginTiming("renderToString");
1157
1158
  let app = "";
1158
1159
  try {
@@ -1284,7 +1285,7 @@ var ReactBrowserRouterProvider = class extends RouterProvider {
1284
1285
  };
1285
1286
  await this.alepha.events.emit("react:action:begin", { type: "transition" });
1286
1287
  await this.alepha.events.emit("react:transition:begin", {
1287
- previous: this.alepha.state.get("alepha.react.router.state"),
1288
+ previous: this.alepha.store.get("alepha.react.router.state"),
1288
1289
  state
1289
1290
  });
1290
1291
  try {
@@ -1326,7 +1327,7 @@ var ReactBrowserRouterProvider = class extends RouterProvider {
1326
1327
  const layer = previous[i];
1327
1328
  if (state.layers[i]?.name !== layer.name) this.pageApi.page(layer.name)?.onLeave?.();
1328
1329
  }
1329
- this.alepha.state.set("alepha.react.router.state", state);
1330
+ this.alepha.store.set("alepha.react.router.state", state);
1330
1331
  await this.alepha.events.emit("react:action:end", { type: "transition" });
1331
1332
  await this.alepha.events.emit("react:transition:end", { state });
1332
1333
  }
@@ -1364,7 +1365,7 @@ var ReactBrowserProvider = class {
1364
1365
  }
1365
1366
  transitioning;
1366
1367
  get state() {
1367
- return this.alepha.state.get("alepha.react.router.state");
1368
+ return this.alepha.store.get("alepha.react.router.state");
1368
1369
  }
1369
1370
  /**
1370
1371
  * Accessor for Document DOM API.
@@ -1481,7 +1482,7 @@ var ReactBrowserProvider = class {
1481
1482
  const hydration = this.getHydrationState();
1482
1483
  const previous = hydration?.layers ?? [];
1483
1484
  if (hydration) {
1484
- for (const [key, value] of Object.entries(hydration)) if (key !== "layers") this.alepha.state.set(key, value);
1485
+ for (const [key, value] of Object.entries(hydration)) if (key !== "layers") this.alepha.store.set(key, value);
1485
1486
  }
1486
1487
  await this.render({ previous });
1487
1488
  const element = this.router.root(this.state);
@@ -1506,7 +1507,7 @@ var ReactRouter = class {
1506
1507
  alepha = $inject(Alepha);
1507
1508
  pageApi = $inject(ReactPageProvider);
1508
1509
  get state() {
1509
- return this.alepha.state.get("alepha.react.router.state");
1510
+ return this.alepha.store.get("alepha.react.router.state");
1510
1511
  }
1511
1512
  get pages() {
1512
1513
  return this.pageApi.getPages();
@@ -2001,7 +2002,7 @@ const decode = (alepha, schema, data) => {
2001
2002
  /**
2002
2003
  * Provides full-stack React development with declarative routing, server-side rendering, and client-side hydration.
2003
2004
  *
2004
- * The React module enables building modern React applications using the `$page` descriptor on class properties.
2005
+ * The React module enables building modern React applications using the `$page` primitive on class properties.
2005
2006
  * It delivers seamless server-side rendering, automatic code splitting, and client-side navigation with full
2006
2007
  * type safety and schema validation for route parameters and data.
2007
2008
  *
@@ -2010,7 +2011,7 @@ const decode = (alepha, schema, data) => {
2010
2011
  */
2011
2012
  const AlephaReact = $module({
2012
2013
  name: "alepha.react",
2013
- descriptors: [$page],
2014
+ primitives: [$page],
2014
2015
  services: [
2015
2016
  ReactServerProvider,
2016
2017
  ReactPageProvider,
@@ -2025,5 +2026,5 @@ const AlephaReact = $module({
2025
2026
  });
2026
2027
 
2027
2028
  //#endregion
2028
- 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, ReactPageProvider, ReactRouter, ReactServerProvider, Redirection, RouterLayerContext, isPageRoute, reactBrowserOptions, reactServerOptions, ssrSchemaLoading, useAction, useActive, useAlepha, useClient, useEvents, useInject, useQueryParams, useRouter, useRouterState, useSchema, useStore };
2029
+ 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, PagePrimitive, ReactBrowserProvider, ReactPageProvider, ReactRouter, ReactServerProvider, Redirection, RouterLayerContext, isPageRoute, reactBrowserOptions, reactServerOptions, ssrSchemaLoading, useAction, useActive, useAlepha, useClient, useEvents, useInject, useQueryParams, useRouter, useRouterState, useSchema, useStore };
2029
2030
  //# sourceMappingURL=index.js.map