@alepha/react 0.11.12 → 0.12.1

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 (85) hide show
  1. package/dist/auth/chunk-DhGyd7sr.js +28 -0
  2. package/dist/auth/index.browser.js +394 -114
  3. package/dist/auth/index.browser.js.map +1 -1
  4. package/dist/auth/index.cjs +80 -1927
  5. package/dist/auth/index.cjs.map +1 -1
  6. package/dist/auth/index.d.cts +1130 -420
  7. package/dist/auth/index.d.ts +1130 -420
  8. package/dist/auth/index.js +72 -1918
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/core/chunk-DhGyd7sr.js +28 -0
  11. package/dist/core/index.browser.js +79 -79
  12. package/dist/core/index.browser.js.map +1 -1
  13. package/dist/core/index.cjs +89 -85
  14. package/dist/core/index.cjs.map +1 -1
  15. package/dist/core/index.d.cts +1654 -154
  16. package/dist/core/index.d.ts +1654 -154
  17. package/dist/core/index.js +79 -79
  18. package/dist/core/index.js.map +1 -1
  19. package/dist/form/chunk-DhGyd7sr.js +28 -0
  20. package/dist/form/index.cjs +28 -8
  21. package/dist/form/index.cjs.map +1 -1
  22. package/dist/form/index.d.cts +215 -7
  23. package/dist/form/index.d.ts +215 -7
  24. package/dist/form/index.js +18 -3
  25. package/dist/form/index.js.map +1 -1
  26. package/dist/head/chunk-DhGyd7sr.js +28 -0
  27. package/dist/head/index.browser.js +385 -59
  28. package/dist/head/index.browser.js.map +1 -1
  29. package/dist/head/index.cjs +12 -8
  30. package/dist/head/index.cjs.map +1 -1
  31. package/dist/head/index.d.cts +1230 -24
  32. package/dist/head/index.d.ts +1230 -29
  33. package/dist/head/index.js +2 -2
  34. package/dist/head/index.js.map +1 -1
  35. package/dist/i18n/chunk-DhGyd7sr.js +28 -0
  36. package/dist/i18n/index.cjs +33 -20
  37. package/dist/i18n/index.cjs.map +1 -1
  38. package/dist/i18n/index.d.cts +282 -13
  39. package/dist/i18n/index.d.ts +282 -13
  40. package/dist/i18n/index.js +23 -14
  41. package/dist/i18n/index.js.map +1 -1
  42. package/dist/websocket/index.cjs +21 -8
  43. package/dist/websocket/index.cjs.map +1 -1
  44. package/dist/websocket/index.js +11 -2
  45. package/dist/websocket/index.js.map +1 -1
  46. package/package.json +7 -6
  47. package/src/auth/index.browser.ts +3 -6
  48. package/src/auth/index.shared.ts +0 -1
  49. package/src/auth/index.ts +3 -16
  50. package/src/auth/providers/ReactAuthProvider.ts +1 -614
  51. package/src/auth/services/ReactAuth.ts +6 -17
  52. package/src/core/descriptors/$page.ts +1 -1
  53. package/src/core/index.browser.ts +1 -0
  54. package/src/core/index.native.ts +21 -0
  55. package/src/core/index.shared-router.ts +15 -0
  56. package/src/core/index.shared.ts +0 -14
  57. package/src/core/index.ts +1 -0
  58. package/src/core/services/ReactRouter.ts +2 -2
  59. package/src/form/errors/FormValidationError.ts +20 -0
  60. package/src/form/hooks/useForm.ts +1 -1
  61. package/src/form/index.ts +1 -0
  62. package/src/head/providers/BrowserHeadProvider.ts +1 -1
  63. package/src/i18n/descriptors/$dictionary.ts +7 -3
  64. package/src/i18n/providers/I18nProvider.ts +9 -10
  65. package/src/websocket/hooks/useRoom.tsx +21 -2
  66. package/dist/auth/index.d.cts.map +0 -1
  67. package/dist/auth/index.d.ts.map +0 -1
  68. package/dist/core/index.d.cts.map +0 -1
  69. package/dist/core/index.d.ts.map +0 -1
  70. package/dist/form/index.d.cts.map +0 -1
  71. package/dist/form/index.d.ts.map +0 -1
  72. package/dist/head/index.d.cts.map +0 -1
  73. package/dist/head/index.d.ts.map +0 -1
  74. package/dist/i18n/index.d.cts.map +0 -1
  75. package/dist/i18n/index.d.ts.map +0 -1
  76. package/dist/websocket/index.d.cts.map +0 -1
  77. package/dist/websocket/index.d.ts.map +0 -1
  78. package/src/auth/descriptors/$auth.ts +0 -436
  79. package/src/auth/descriptors/$authApple.ts +0 -8
  80. package/src/auth/descriptors/$authGithub.ts +0 -81
  81. package/src/auth/descriptors/$authGoogle.ts +0 -38
  82. package/src/auth/errors/SessionExpiredError.ts +0 -6
  83. package/src/auth/schemas/tokenResponseSchema.ts +0 -11
  84. package/src/auth/schemas/tokensSchema.ts +0 -21
  85. package/src/auth/schemas/userinfoResponseSchema.ts +0 -10
@@ -15,7 +15,7 @@ import { RouterProvider } from "alepha/router";
15
15
 
16
16
  //#region src/i18n/providers/I18nProvider.ts
17
17
  var I18nProvider = class {
18
- logger = $logger();
18
+ log = $logger();
19
19
  alepha = $inject(Alepha);
20
20
  dateTimeProvider = $inject(DateTimeProvider);
21
21
  cookie = $cookie({
@@ -48,7 +48,14 @@ var I18nProvider = class {
48
48
  if (this.alepha.isBrowser()) {
49
49
  const cookieLang = this.cookie.get();
50
50
  if (cookieLang) this.alepha.state.set("alepha.react.i18n.lang", cookieLang);
51
- for (const item of this.registry) if (item.lang === this.lang || item.lang === this.options.fallbackLang) item.translations = await item.loader();
51
+ for (const item of this.registry) if (item.lang === this.lang || item.lang === this.options.fallbackLang) {
52
+ this.log.trace("Loading language", {
53
+ lang: item.lang,
54
+ name: item.name,
55
+ target: item.target
56
+ });
57
+ item.translations = await item.loader();
58
+ }
52
59
  return;
53
60
  }
54
61
  for (const item of this.registry) item.translations = await item.loader();
@@ -90,17 +97,16 @@ var I18nProvider = class {
90
97
  return this.alepha.state.get("alepha.react.i18n.lang") || this.options.fallbackLang;
91
98
  }
92
99
  translate = (key, args = []) => {
93
- for (const item of this.registry) if (item.lang === this.lang) if (item.translations[key]) return this.render(item.translations[key], args);
94
- else break;
95
- for (const item of this.registry) if (item.lang === this.options.fallbackLang) if (item.translations[key]) return this.render(item.translations[key], args);
96
- else break;
100
+ for (const item of this.registry) if (item.lang === this.lang) {
101
+ if (item.translations[key]) return this.render(item.translations[key], args);
102
+ }
103
+ for (const item of this.registry) if (item.lang === this.options.fallbackLang) {
104
+ if (item.translations[key]) return this.render(item.translations[key], args);
105
+ }
97
106
  return key;
98
107
  };
99
108
  l = (value, options = {}) => {
100
- if (typeof value === "number") {
101
- if (options.number) return new Intl.NumberFormat(this.lang, options.number).format(value);
102
- return this.numberFormat.format(value);
103
- }
109
+ if (typeof value === "number") return new Intl.NumberFormat(this.lang, options.number).format(value);
104
110
  if (value instanceof Date || this.dateTimeProvider.isDateTime(value) || typeof value === "string" && options.date) {
105
111
  let dt = this.dateTimeProvider.of(value);
106
112
  if (options.timezone) dt = dt.tz(options.timezone);
@@ -113,7 +119,7 @@ var I18nProvider = class {
113
119
  timeZone: options.timezone
114
120
  } : options.date).format(dt.toDate());
115
121
  if (options.timezone) return new Intl.DateTimeFormat(this.lang, { timeZone: options.timezone }).format(dt.toDate());
116
- return this.dateFormat.format(dt.toDate());
122
+ return new Intl.DateTimeFormat(this.lang).format(dt.toDate());
117
123
  }
118
124
  if (value instanceof TypeBoxError) return TypeProvider.translateError(value, this.lang);
119
125
  return value;
@@ -170,9 +176,12 @@ var DictionaryDescriptor = class extends Descriptor {
170
176
  provider = $inject(I18nProvider);
171
177
  onInit() {
172
178
  this.provider.registry.push({
179
+ target: this.config.service.name,
173
180
  name: this.options.name ?? this.config.propertyKey,
174
181
  lang: this.options.lang ?? this.config.propertyKey,
175
- loader: () => this.options.lazy().then((it) => it.default),
182
+ loader: async () => {
183
+ return (await this.options.lazy()).default;
184
+ },
176
185
  translations: {}
177
186
  });
178
187
  }
@@ -238,7 +247,7 @@ var ReactPageService = class {
238
247
  * const userProfile = $page({
239
248
  * path: "/users/:id",
240
249
  * schema: {
241
- * params: t.object({ id: t.int() }),
250
+ * params: t.object({ id: t.integer() }),
242
251
  * query: t.object({ tab: t.optional(t.text()) })
243
252
  * },
244
253
  * resolve: async ({ params }) => {
@@ -1694,7 +1703,7 @@ var ReactRouter = class {
1694
1703
  path(name, config = {}) {
1695
1704
  return this.pageApi.pathname(name, {
1696
1705
  params: {
1697
- ...this.state.params,
1706
+ ...this.state?.params,
1698
1707
  ...config.params
1699
1708
  },
1700
1709
  query: config.query