alepha 0.21.2 → 0.23.0

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 (519) hide show
  1. package/README.md +0 -1
  2. package/dist/api/audits/index.browser.js.map +1 -1
  3. package/dist/api/audits/index.d.ts +393 -403
  4. package/dist/api/audits/index.d.ts.map +1 -1
  5. package/dist/api/audits/index.js +25 -56
  6. package/dist/api/audits/index.js.map +1 -1
  7. package/dist/api/files/index.browser.js +31 -1
  8. package/dist/api/files/index.browser.js.map +1 -1
  9. package/dist/api/files/index.d.ts +313 -208
  10. package/dist/api/files/index.d.ts.map +1 -1
  11. package/dist/api/files/index.js +152 -42
  12. package/dist/api/files/index.js.map +1 -1
  13. package/dist/api/jobs/index.browser.js +2 -2
  14. package/dist/api/jobs/index.browser.js.map +1 -1
  15. package/dist/api/jobs/index.d.ts +282 -285
  16. package/dist/api/jobs/index.d.ts.map +1 -1
  17. package/dist/api/jobs/index.js +39 -33
  18. package/dist/api/jobs/index.js.map +1 -1
  19. package/dist/api/keys/index.d.ts +217 -222
  20. package/dist/api/keys/index.d.ts.map +1 -1
  21. package/dist/api/keys/index.js.map +1 -1
  22. package/dist/api/notifications/index.browser.js.map +1 -1
  23. package/dist/api/notifications/index.d.ts +188 -195
  24. package/dist/api/notifications/index.d.ts.map +1 -1
  25. package/dist/api/notifications/index.js.map +1 -1
  26. package/dist/api/oauth/index.d.ts +71 -76
  27. package/dist/api/oauth/index.d.ts.map +1 -1
  28. package/dist/api/oauth/index.js.map +1 -1
  29. package/dist/api/organizations/index.browser.js.map +1 -1
  30. package/dist/api/organizations/index.d.ts +104 -109
  31. package/dist/api/organizations/index.d.ts.map +1 -1
  32. package/dist/api/organizations/index.js.map +1 -1
  33. package/dist/api/parameters/index.browser.js +43 -16
  34. package/dist/api/parameters/index.browser.js.map +1 -1
  35. package/dist/api/parameters/index.d.ts +488 -344
  36. package/dist/api/parameters/index.d.ts.map +1 -1
  37. package/dist/api/parameters/index.js +175 -35
  38. package/dist/api/parameters/index.js.map +1 -1
  39. package/dist/api/payments/index.d.ts +396 -402
  40. package/dist/api/payments/index.d.ts.map +1 -1
  41. package/dist/api/payments/index.js.map +1 -1
  42. package/dist/api/subscriptions/index.d.ts +644 -652
  43. package/dist/api/subscriptions/index.d.ts.map +1 -1
  44. package/dist/api/subscriptions/index.js +1 -1
  45. package/dist/api/subscriptions/index.js.map +1 -1
  46. package/dist/api/users/index.browser.js +7 -0
  47. package/dist/api/users/index.browser.js.map +1 -1
  48. package/dist/api/users/index.d.ts +1106 -1005
  49. package/dist/api/users/index.d.ts.map +1 -1
  50. package/dist/api/users/index.js +307 -64
  51. package/dist/api/users/index.js.map +1 -1
  52. package/dist/api/verifications/index.browser.js.map +1 -1
  53. package/dist/api/verifications/index.d.ts +137 -143
  54. package/dist/api/verifications/index.d.ts.map +1 -1
  55. package/dist/api/verifications/index.js.map +1 -1
  56. package/dist/background/index.d.ts +95 -0
  57. package/dist/background/index.d.ts.map +1 -0
  58. package/dist/background/index.js +121 -0
  59. package/dist/background/index.js.map +1 -0
  60. package/dist/background/index.workerd.js +110 -0
  61. package/dist/background/index.workerd.js.map +1 -0
  62. package/dist/batch/index.d.ts +5 -7
  63. package/dist/batch/index.d.ts.map +1 -1
  64. package/dist/batch/index.js.map +1 -1
  65. package/dist/bin/index.js.map +1 -1
  66. package/dist/bucket/index.d.ts +76 -54
  67. package/dist/bucket/index.d.ts.map +1 -1
  68. package/dist/bucket/index.js +58 -11
  69. package/dist/bucket/index.js.map +1 -1
  70. package/dist/bucket/index.workerd.js +200 -5
  71. package/dist/bucket/index.workerd.js.map +1 -1
  72. package/dist/cache/core/index.d.ts +7 -10
  73. package/dist/cache/core/index.d.ts.map +1 -1
  74. package/dist/cache/core/index.js.map +1 -1
  75. package/dist/cache/core/index.workerd.js.map +1 -1
  76. package/dist/cache/database/index.d.ts +22 -26
  77. package/dist/cache/database/index.d.ts.map +1 -1
  78. package/dist/cache/database/index.js.map +1 -1
  79. package/dist/cache/redis/index.d.ts +4 -7
  80. package/dist/cache/redis/index.d.ts.map +1 -1
  81. package/dist/cache/redis/index.js.map +1 -1
  82. package/dist/captcha/index.d.ts +3 -6
  83. package/dist/captcha/index.d.ts.map +1 -1
  84. package/dist/captcha/index.js.map +1 -1
  85. package/dist/cli/config/index.d.ts.map +1 -1
  86. package/dist/cli/config/index.js.map +1 -1
  87. package/dist/cli/core/index.d.ts +458 -249
  88. package/dist/cli/core/index.d.ts.map +1 -1
  89. package/dist/cli/core/index.js +372 -660
  90. package/dist/cli/core/index.js.map +1 -1
  91. package/dist/cli/devtools/index.d.ts +3 -5
  92. package/dist/cli/devtools/index.d.ts.map +1 -1
  93. package/dist/cli/devtools/index.js.map +1 -1
  94. package/dist/cli/i18n/index.d.ts +20 -17
  95. package/dist/cli/i18n/index.d.ts.map +1 -1
  96. package/dist/cli/i18n/index.js +45 -11
  97. package/dist/cli/i18n/index.js.map +1 -1
  98. package/dist/cli/platform/index.d.ts +126 -1342
  99. package/dist/cli/platform/index.d.ts.map +1 -1
  100. package/dist/cli/platform/index.js +136 -2374
  101. package/dist/cli/platform/index.js.map +1 -1
  102. package/dist/cli/platform-lib/index.d.ts +1472 -0
  103. package/dist/cli/platform-lib/index.d.ts.map +1 -0
  104. package/dist/cli/platform-lib/index.js +2660 -0
  105. package/dist/cli/platform-lib/index.js.map +1 -0
  106. package/dist/cli/vendor/index.d.ts +17 -21
  107. package/dist/cli/vendor/index.d.ts.map +1 -1
  108. package/dist/cli/vendor/index.js.map +1 -1
  109. package/dist/command/index.d.ts +20 -19
  110. package/dist/command/index.d.ts.map +1 -1
  111. package/dist/command/index.js +39 -10
  112. package/dist/command/index.js.map +1 -1
  113. package/dist/{containers → container}/core/index.d.ts +13 -15
  114. package/dist/container/core/index.d.ts.map +1 -0
  115. package/dist/{containers → container}/core/index.js +23 -14
  116. package/dist/container/core/index.js.map +1 -0
  117. package/dist/{containers → container}/core/index.workerd.js +37 -22
  118. package/dist/container/core/index.workerd.js.map +1 -0
  119. package/dist/core/index.browser.js +27 -1
  120. package/dist/core/index.browser.js.map +1 -1
  121. package/dist/core/index.d.ts +48 -24
  122. package/dist/core/index.d.ts.map +1 -1
  123. package/dist/core/index.js +27 -1
  124. package/dist/core/index.js.map +1 -1
  125. package/dist/core/index.native.js +27 -1
  126. package/dist/core/index.native.js.map +1 -1
  127. package/dist/core/index.workerd.js +27 -1
  128. package/dist/core/index.workerd.js.map +1 -1
  129. package/dist/crypto/index.browser.js.map +1 -1
  130. package/dist/crypto/index.d.ts +5 -8
  131. package/dist/crypto/index.d.ts.map +1 -1
  132. package/dist/crypto/index.js.map +1 -1
  133. package/dist/datetime/index.d.ts +3 -4
  134. package/dist/datetime/index.d.ts.map +1 -1
  135. package/dist/datetime/index.js.map +1 -1
  136. package/dist/email/brevo/index.d.ts +2 -4
  137. package/dist/email/brevo/index.d.ts.map +1 -1
  138. package/dist/email/brevo/index.js.map +1 -1
  139. package/dist/email/cloudflare/index.d.ts +20 -7
  140. package/dist/email/cloudflare/index.d.ts.map +1 -1
  141. package/dist/email/cloudflare/index.js +46 -9
  142. package/dist/email/cloudflare/index.js.map +1 -1
  143. package/dist/email/core/index.d.ts +6 -9
  144. package/dist/email/core/index.d.ts.map +1 -1
  145. package/dist/email/core/index.js.map +1 -1
  146. package/dist/email/core/index.workerd.js.map +1 -1
  147. package/dist/email/smtp/index.d.ts +10 -13
  148. package/dist/email/smtp/index.d.ts.map +1 -1
  149. package/dist/email/smtp/index.js +107 -32
  150. package/dist/email/smtp/index.js.map +1 -1
  151. package/dist/fake/index.d.ts +1 -2
  152. package/dist/fake/index.d.ts.map +1 -1
  153. package/dist/fake/index.js.map +1 -1
  154. package/dist/lock/core/index.d.ts +9 -14
  155. package/dist/lock/core/index.d.ts.map +1 -1
  156. package/dist/lock/core/index.js.map +1 -1
  157. package/dist/lock/redis/index.d.ts +2 -4
  158. package/dist/lock/redis/index.d.ts.map +1 -1
  159. package/dist/lock/redis/index.js.map +1 -1
  160. package/dist/logger/index.d.ts +105 -76
  161. package/dist/logger/index.d.ts.map +1 -1
  162. package/dist/logger/index.js +196 -174
  163. package/dist/logger/index.js.map +1 -1
  164. package/dist/mcp/index.d.ts +25 -20
  165. package/dist/mcp/index.d.ts.map +1 -1
  166. package/dist/mcp/index.js +23 -0
  167. package/dist/mcp/index.js.map +1 -1
  168. package/dist/orm/core/index.browser.js.map +1 -1
  169. package/dist/orm/core/index.bun.js +19 -1
  170. package/dist/orm/core/index.bun.js.map +1 -1
  171. package/dist/orm/core/index.d.ts +76 -62
  172. package/dist/orm/core/index.d.ts.map +1 -1
  173. package/dist/orm/core/index.js +20 -2
  174. package/dist/orm/core/index.js.map +1 -1
  175. package/dist/orm/postgres/index.bun.js.map +1 -1
  176. package/dist/orm/postgres/index.d.ts +28 -20
  177. package/dist/orm/postgres/index.d.ts.map +1 -1
  178. package/dist/orm/postgres/index.js.map +1 -1
  179. package/dist/queue/core/index.d.ts +12 -15
  180. package/dist/queue/core/index.d.ts.map +1 -1
  181. package/dist/queue/core/index.js.map +1 -1
  182. package/dist/queue/core/index.workerd.js.map +1 -1
  183. package/dist/queue/redis/index.d.ts +3 -5
  184. package/dist/queue/redis/index.d.ts.map +1 -1
  185. package/dist/queue/redis/index.js.map +1 -1
  186. package/dist/react/auth/index.browser.js +9 -2
  187. package/dist/react/auth/index.browser.js.map +1 -1
  188. package/dist/react/auth/index.d.ts +14 -9
  189. package/dist/react/auth/index.d.ts.map +1 -1
  190. package/dist/react/auth/index.js +9 -2
  191. package/dist/react/auth/index.js.map +1 -1
  192. package/dist/react/core/index.d.ts +7 -8
  193. package/dist/react/core/index.d.ts.map +1 -1
  194. package/dist/react/core/index.js +6 -3
  195. package/dist/react/core/index.js.map +1 -1
  196. package/dist/react/form/index.d.ts +2 -5
  197. package/dist/react/form/index.d.ts.map +1 -1
  198. package/dist/react/form/index.js +16 -15
  199. package/dist/react/form/index.js.map +1 -1
  200. package/dist/react/head/index.browser.js.map +1 -1
  201. package/dist/react/head/index.d.ts +2 -4
  202. package/dist/react/head/index.d.ts.map +1 -1
  203. package/dist/react/head/index.js.map +1 -1
  204. package/dist/react/i18n/index.d.ts +90 -11
  205. package/dist/react/i18n/index.d.ts.map +1 -1
  206. package/dist/react/i18n/index.js +147 -11
  207. package/dist/react/i18n/index.js.map +1 -1
  208. package/dist/react/intro/index.d.ts +1 -2
  209. package/dist/react/intro/index.d.ts.map +1 -1
  210. package/dist/react/intro/index.js +2 -2
  211. package/dist/react/intro/index.js.map +1 -1
  212. package/dist/react/router/index.browser.js +193 -24
  213. package/dist/react/router/index.browser.js.map +1 -1
  214. package/dist/react/router/index.d.ts +434 -222
  215. package/dist/react/router/index.d.ts.map +1 -1
  216. package/dist/react/router/index.js +249 -35
  217. package/dist/react/router/index.js.map +1 -1
  218. package/dist/react/sitemap/index.browser.js +35 -0
  219. package/dist/react/sitemap/index.browser.js.map +1 -0
  220. package/dist/react/sitemap/index.d.ts +92 -0
  221. package/dist/react/sitemap/index.d.ts.map +1 -0
  222. package/dist/react/sitemap/index.js +131 -0
  223. package/dist/react/sitemap/index.js.map +1 -0
  224. package/dist/react/testing/index.d.ts +1 -2
  225. package/dist/react/testing/index.d.ts.map +1 -1
  226. package/dist/react/testing/index.js +16 -17
  227. package/dist/react/testing/index.js.map +1 -1
  228. package/dist/react/ui/index.d.ts +20 -25
  229. package/dist/react/ui/index.d.ts.map +1 -1
  230. package/dist/react/ui/index.js.map +1 -1
  231. package/dist/redis/index.bun.js.map +1 -1
  232. package/dist/redis/index.d.ts +17 -19
  233. package/dist/redis/index.d.ts.map +1 -1
  234. package/dist/redis/index.js.map +1 -1
  235. package/dist/retry/index.d.ts +2 -4
  236. package/dist/retry/index.d.ts.map +1 -1
  237. package/dist/retry/index.js.map +1 -1
  238. package/dist/router/index.d.ts.map +1 -1
  239. package/dist/router/index.js.map +1 -1
  240. package/dist/scheduler/index.d.ts +10 -13
  241. package/dist/scheduler/index.d.ts.map +1 -1
  242. package/dist/scheduler/index.js.map +1 -1
  243. package/dist/scheduler/index.workerd.js.map +1 -1
  244. package/dist/security/index.browser.js.map +1 -1
  245. package/dist/security/index.d.ts +45 -48
  246. package/dist/security/index.d.ts.map +1 -1
  247. package/dist/security/index.js.map +1 -1
  248. package/dist/server/auth/index.browser.js.map +1 -1
  249. package/dist/server/auth/index.d.ts +272 -173
  250. package/dist/server/auth/index.d.ts.map +1 -1
  251. package/dist/server/auth/index.js +1608 -15
  252. package/dist/server/auth/index.js.map +1 -1
  253. package/dist/server/cookies/index.browser.js.map +1 -1
  254. package/dist/server/cookies/index.d.ts +20 -7
  255. package/dist/server/cookies/index.d.ts.map +1 -1
  256. package/dist/server/cookies/index.js +22 -3
  257. package/dist/server/cookies/index.js.map +1 -1
  258. package/dist/server/core/index.browser.js.map +1 -1
  259. package/dist/server/core/index.d.ts +106 -73
  260. package/dist/server/core/index.d.ts.map +1 -1
  261. package/dist/server/core/index.js +44 -0
  262. package/dist/server/core/index.js.map +1 -1
  263. package/dist/server/cors/index.d.ts +11 -14
  264. package/dist/server/cors/index.d.ts.map +1 -1
  265. package/dist/server/cors/index.js.map +1 -1
  266. package/dist/server/etag/index.d.ts +6 -9
  267. package/dist/server/etag/index.d.ts.map +1 -1
  268. package/dist/server/etag/index.js.map +1 -1
  269. package/dist/server/health/index.d.ts +18 -21
  270. package/dist/server/health/index.d.ts.map +1 -1
  271. package/dist/server/health/index.js.map +1 -1
  272. package/dist/server/links/index.browser.js +2 -0
  273. package/dist/server/links/index.browser.js.map +1 -1
  274. package/dist/server/links/index.d.ts +63 -67
  275. package/dist/server/links/index.d.ts.map +1 -1
  276. package/dist/server/links/index.js +2 -0
  277. package/dist/server/links/index.js.map +1 -1
  278. package/dist/server/metrics/index.d.ts +5 -7
  279. package/dist/server/metrics/index.d.ts.map +1 -1
  280. package/dist/server/metrics/index.js.map +1 -1
  281. package/dist/server/proxy/index.d.ts +3 -5
  282. package/dist/server/proxy/index.d.ts.map +1 -1
  283. package/dist/server/proxy/index.js.map +1 -1
  284. package/dist/server/rate-limit/index.d.ts +10 -13
  285. package/dist/server/rate-limit/index.d.ts.map +1 -1
  286. package/dist/server/rate-limit/index.js.map +1 -1
  287. package/dist/server/static/index.d.ts +3 -5
  288. package/dist/server/static/index.d.ts.map +1 -1
  289. package/dist/server/static/index.js.map +1 -1
  290. package/dist/server/swagger/index.d.ts +5 -8
  291. package/dist/server/swagger/index.d.ts.map +1 -1
  292. package/dist/server/swagger/index.js.map +1 -1
  293. package/dist/sms/index.d.ts +3 -5
  294. package/dist/sms/index.d.ts.map +1 -1
  295. package/dist/sms/index.js.map +1 -1
  296. package/dist/system/index.browser.js.map +1 -1
  297. package/dist/system/index.d.ts +2 -4
  298. package/dist/system/index.d.ts.map +1 -1
  299. package/dist/system/index.js.map +1 -1
  300. package/dist/system/index.workerd.js.map +1 -1
  301. package/dist/topic/core/index.d.ts +4 -6
  302. package/dist/topic/core/index.d.ts.map +1 -1
  303. package/dist/topic/core/index.js.map +1 -1
  304. package/dist/topic/redis/index.d.ts +5 -8
  305. package/dist/topic/redis/index.d.ts.map +1 -1
  306. package/dist/topic/redis/index.js.map +1 -1
  307. package/package.json +59 -23
  308. package/src/api/audits/__tests__/AuditService.spec.ts +18 -110
  309. package/src/api/audits/controllers/AdminAuditController.ts +14 -0
  310. package/src/api/audits/services/AuditService.ts +21 -88
  311. package/src/api/files/__tests__/FileService.spec.ts +207 -2
  312. package/src/api/files/index.ts +3 -0
  313. package/src/api/files/schemas/fileCreatorSummarySchema.ts +22 -0
  314. package/src/api/files/schemas/fileResourceSchema.ts +10 -1
  315. package/src/api/files/services/FileService.ts +170 -72
  316. package/src/api/jobs/__tests__/$job.spec.ts +24 -1
  317. package/src/api/jobs/index.ts +4 -3
  318. package/src/api/jobs/primitives/$job.ts +7 -3
  319. package/src/api/jobs/providers/DirectJobDispatcher.ts +17 -36
  320. package/src/api/jobs/providers/JobProvider.ts +53 -24
  321. package/src/api/jobs/schemas/jobConfigAtom.ts +1 -1
  322. package/src/api/jobs/schemas/jobExecutionResourceSchema.ts +4 -1
  323. package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +3 -1
  324. package/src/api/parameters/__tests__/$parameter.spec.ts +19 -2
  325. package/src/api/parameters/audits/ParameterAudits.ts +17 -0
  326. package/src/api/parameters/controllers/AdminParameterController.ts +95 -19
  327. package/src/api/parameters/index.ts +3 -0
  328. package/src/api/parameters/schemas/activateParameterBodySchema.ts +3 -3
  329. package/src/api/parameters/schemas/createParameterVersionBodySchema.ts +3 -2
  330. package/src/api/parameters/schemas/parameterCreatorSummarySchema.ts +25 -0
  331. package/src/api/parameters/schemas/parameterResponseSchema.ts +5 -0
  332. package/src/api/parameters/schemas/rollbackParameterBodySchema.ts +4 -2
  333. package/src/api/parameters/services/ParameterProvider.ts +69 -6
  334. package/src/api/subscriptions/jobs/SubscriptionJobs.ts +1 -1
  335. package/src/api/users/__tests__/AdminSessionController.spec.ts +37 -0
  336. package/src/api/users/audits/SessionAudits.ts +33 -0
  337. package/src/api/users/audits/UserAudits.ts +19 -43
  338. package/src/api/users/controllers/AdminUserController.ts +66 -1
  339. package/src/api/users/controllers/RealmController.ts +1 -0
  340. package/src/api/users/entities/sessions.ts +6 -0
  341. package/src/api/users/entities/users.ts +2 -0
  342. package/src/api/users/index.ts +9 -1
  343. package/src/api/users/primitives/$realm.ts +29 -0
  344. package/src/api/users/providers/RealmProvider.ts +15 -0
  345. package/src/api/users/schemas/realmConfigSchema.ts +14 -0
  346. package/src/api/users/schemas/sessionResourceSchema.ts +16 -0
  347. package/src/api/users/schemas/updateUserSchema.ts +1 -8
  348. package/src/api/users/schemas/userQuerySchema.ts +7 -0
  349. package/src/api/users/services/CredentialService.ts +15 -6
  350. package/src/api/users/services/IdentityService.ts +2 -1
  351. package/src/api/users/services/RegistrationService.ts +2 -1
  352. package/src/api/users/services/SessionCrudService.ts +19 -2
  353. package/src/api/users/services/SessionService.ts +39 -19
  354. package/src/api/users/services/UserService.ts +106 -8
  355. package/src/background/__tests__/BackgroundTaskProvider.spec.ts +96 -0
  356. package/src/background/index.ts +37 -0
  357. package/src/background/index.workerd.ts +28 -0
  358. package/src/background/providers/BackgroundTaskProvider.ts +70 -0
  359. package/src/background/providers/WorkerdBackgroundTaskProvider.ts +43 -0
  360. package/src/bucket/__tests__/$bucket.spec.ts +18 -0
  361. package/src/bucket/__tests__/LocalFileStorageProvider.spec.ts +5 -0
  362. package/src/bucket/__tests__/MemoryFileStorageProvider.spec.ts +5 -0
  363. package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +23 -4
  364. package/src/bucket/__tests__/shared.ts +30 -0
  365. package/src/bucket/index.ts +5 -5
  366. package/src/bucket/index.workerd.ts +11 -4
  367. package/src/bucket/primitives/$bucket.ts +27 -0
  368. package/src/bucket/providers/FileStorageProvider.ts +13 -0
  369. package/src/bucket/providers/LocalFileStorageProvider.ts +17 -1
  370. package/src/bucket/providers/MemoryFileStorageProvider.ts +7 -0
  371. package/src/bucket/providers/{CloudflareR2Provider.ts → R2FileStorageProvider.ts} +10 -1
  372. package/src/bucket/providers/{NodeS3BucketProvider.ts → S3FileStorageProvider.ts} +27 -5
  373. package/src/cli/core/__tests__/BuildDockerTask.spec.ts +25 -1
  374. package/src/cli/core/__tests__/init.spec.ts +0 -219
  375. package/src/cli/core/atoms/buildOptions.ts +0 -12
  376. package/src/cli/core/commands/__tests__/BuildCommand.spec.ts +43 -0
  377. package/src/cli/core/commands/build.ts +105 -37
  378. package/src/cli/core/commands/init.ts +0 -12
  379. package/src/cli/core/commands/pack.ts +133 -0
  380. package/src/cli/core/index.ts +3 -3
  381. package/src/cli/core/providers/ViteDevServerProvider.ts +40 -16
  382. package/src/cli/core/services/PackageManagerUtils.ts +0 -16
  383. package/src/cli/core/services/ProjectScaffolder.ts +29 -291
  384. package/src/cli/core/tasks/BuildCloudflareTask.ts +382 -56
  385. package/src/cli/core/tasks/BuildDockerTask.ts +33 -3
  386. package/src/cli/core/tasks/BuildPrerenderTask.ts +44 -7
  387. package/src/cli/core/tasks/BuildTask.ts +34 -0
  388. package/src/cli/core/templates/apiIndexTs.ts +1 -22
  389. package/src/cli/core/templates/mainCss.ts +0 -1
  390. package/src/cli/core/templates/webAppRouterTs.ts +0 -99
  391. package/src/cli/core/templates/webIndexTs.ts +1 -22
  392. package/src/cli/i18n/__tests__/I18nCheckService.spec.ts +48 -0
  393. package/src/cli/i18n/services/I18nCheckService.ts +65 -11
  394. package/src/cli/platform/__tests__/SecretsCommand.spec.ts +5 -3
  395. package/src/cli/platform/commands/SecretsCommand.ts +8 -6
  396. package/src/cli/platform/commands/platform.ts +192 -46
  397. package/src/cli/platform/index.ts +12 -52
  398. package/src/cli/{platform → platform-lib}/__tests__/CloudflareAdapter.spec.ts +426 -169
  399. package/src/cli/{platform → platform-lib}/__tests__/NamingService.spec.ts +91 -4
  400. package/src/cli/{platform → platform-lib}/__tests__/VercelAdapter.spec.ts +56 -85
  401. package/src/cli/{platform → platform-lib}/adapters/CloudflareAdapter.ts +519 -190
  402. package/src/cli/{platform → platform-lib}/adapters/PlatformAdapter.ts +62 -35
  403. package/src/cli/{platform → platform-lib}/adapters/VercelAdapter.ts +6 -10
  404. package/src/cli/{platform → platform-lib}/atoms/platformOptions.ts +34 -1
  405. package/src/cli/platform-lib/index.ts +67 -0
  406. package/src/cli/platform-lib/services/NamingService.ts +136 -0
  407. package/src/cli/{platform → platform-lib}/services/PlatformInspector.ts +60 -13
  408. package/src/cli/{platform → platform-lib}/services/PlatformOrchestrator.ts +54 -43
  409. package/src/cli/{platform → platform-lib}/services/WranglerApi.ts +4 -2
  410. package/src/command/__tests__/Runner.spec.ts +20 -0
  411. package/src/command/helpers/EnvUtils.ts +19 -3
  412. package/src/command/helpers/Runner.ts +12 -2
  413. package/src/command/providers/CliProvider.ts +34 -1
  414. package/src/{containers → container}/core/__tests__/$container.spec.ts +5 -5
  415. package/src/{containers → container}/core/index.ts +4 -4
  416. package/src/{containers → container}/core/index.workerd.ts +19 -3
  417. package/src/{containers → container}/core/primitives/$container.ts +1 -1
  418. package/src/{containers → container}/core/providers/CloudflareContainerProvider.ts +17 -19
  419. package/src/{containers → container}/core/providers/ContainerProvider.ts +16 -2
  420. package/src/{containers → container}/core/providers/MockContainerProvider.ts +1 -1
  421. package/src/core/Alepha.ts +49 -1
  422. package/src/core/__tests__/$env.spec.ts +42 -0
  423. package/src/core/__tests__/dump.spec.ts +47 -0
  424. package/src/email/cloudflare/__tests__/CloudflareEmailProvider.spec.ts +42 -10
  425. package/src/email/cloudflare/index.ts +14 -5
  426. package/src/email/cloudflare/providers/CloudflareEmailProvider.ts +54 -9
  427. package/src/logger/__tests__/Logger.spec.ts +55 -0
  428. package/src/logger/index.ts +13 -0
  429. package/src/logger/services/Logger.ts +31 -1
  430. package/src/mcp/__tests__/McpServerProvider.spec.ts +71 -0
  431. package/src/mcp/providers/McpServerProvider.ts +55 -0
  432. package/src/orm/__tests__/orm-showcase-tests.ts +27 -0
  433. package/src/orm/__tests__/orm-showcase.spec.ts +12 -0
  434. package/src/orm/core/interfaces/PgQuery.ts +4 -1
  435. package/src/orm/core/services/Repository.ts +27 -11
  436. package/src/react/auth/hooks/useAuth.ts +10 -5
  437. package/src/react/core/__tests__/useQuery.browser.spec.tsx +25 -0
  438. package/src/react/core/hooks/useAction.ts +14 -3
  439. package/src/react/core/hooks/useQuery.ts +24 -4
  440. package/src/react/form/__tests__/FormModel-submit-loading.spec.ts +71 -0
  441. package/src/react/form/__tests__/form-submitting-reactive.browser.spec.tsx +96 -0
  442. package/src/react/form/services/FormModel.ts +57 -39
  443. package/src/react/i18n/__tests__/I18nProvider.spec.ts +89 -0
  444. package/src/react/i18n/__tests__/locale-routing.spec.ts +107 -0
  445. package/src/react/i18n/components/Translate.tsx +47 -0
  446. package/src/react/i18n/index.ts +2 -0
  447. package/src/react/i18n/providers/I18nProvider.ts +171 -12
  448. package/src/react/intro/components/GettingStartedAdminSlide.tsx +2 -2
  449. package/src/react/router/__tests__/$page.spec.tsx +3 -2
  450. package/src/react/router/__tests__/RouterLocaleProvider.spec.ts +127 -0
  451. package/src/react/router/__tests__/page-can.spec.ts +18 -13
  452. package/src/react/router/hooks/useQueryParams.ts +114 -14
  453. package/src/react/router/index.browser.ts +4 -0
  454. package/src/react/router/index.shared.ts +1 -0
  455. package/src/react/router/index.ts +9 -0
  456. package/src/react/router/primitives/$page.ts +85 -4
  457. package/src/react/router/providers/ReactBrowserRouterProvider.ts +18 -8
  458. package/src/react/router/providers/ReactPageProvider.ts +12 -1
  459. package/src/react/router/providers/ReactServerProvider.ts +96 -14
  460. package/src/react/router/providers/RootComponentsProvider.ts +13 -0
  461. package/src/react/router/providers/RouterLocaleProvider.ts +125 -0
  462. package/src/react/router/providers/__tests__/RootComponentsProvider.spec.ts +15 -0
  463. package/src/react/router/providers/__tests__/rootComponents.ssr.browser.spec.tsx +67 -0
  464. package/src/react/sitemap/__tests__/$sitemap.spec.ts +131 -0
  465. package/src/react/sitemap/index.browser.ts +21 -0
  466. package/src/react/sitemap/index.ts +25 -0
  467. package/src/react/sitemap/primitives/$sitemap.browser.ts +26 -0
  468. package/src/react/sitemap/primitives/$sitemap.ts +196 -0
  469. package/src/react/ui/services/SchemaControl.ts +3 -4
  470. package/src/server/auth/__tests__/appleClientSecret.spec.ts +34 -0
  471. package/src/server/auth/__tests__/authFederationClient.spec.ts +40 -0
  472. package/src/server/auth/__tests__/federationAssertion.spec.ts +146 -0
  473. package/src/server/auth/__tests__/federationRedirectReplay.spec.ts +44 -0
  474. package/src/server/auth/helpers/appleClientSecret.ts +24 -0
  475. package/src/server/auth/helpers/federationAssertion.ts +74 -0
  476. package/src/server/auth/helpers/jtiReplayGuard.ts +41 -0
  477. package/src/server/auth/helpers/safeRedirectPath.ts +19 -0
  478. package/src/server/auth/index.ts +4 -0
  479. package/src/server/auth/primitives/$authFederationBroker.ts +273 -0
  480. package/src/server/auth/primitives/$authFederationClient.ts +89 -0
  481. package/src/server/auth/providers/ServerAuthProvider.ts +18 -4
  482. package/src/server/cookies/__tests__/ServerCookiesProvider.spec.ts +70 -0
  483. package/src/server/cookies/providers/ServerCookiesProvider.ts +23 -3
  484. package/src/server/core/interfaces/ServerRequest.ts +8 -0
  485. package/src/server/core/primitives/$route.ts +27 -0
  486. package/src/server/core/providers/ServerMultipartProvider.ts +19 -0
  487. package/src/server/links/providers/LinkProvider.ts +10 -0
  488. package/dist/containers/core/index.d.ts.map +0 -1
  489. package/dist/containers/core/index.js.map +0 -1
  490. package/dist/containers/core/index.workerd.js.map +0 -1
  491. package/src/cli/core/tasks/BuildSitemapTask.ts +0 -130
  492. package/src/cli/core/templates/componentsJsonTs.ts +0 -39
  493. package/src/cli/core/templates/saasAdminLayoutTsx.ts +0 -77
  494. package/src/cli/core/templates/saasAdminPagesTsx.ts +0 -26
  495. package/src/cli/core/templates/saasAuthLayoutTsx.ts +0 -22
  496. package/src/cli/core/templates/saasAuthPagesTsx.ts +0 -62
  497. package/src/cli/core/templates/saasRealmProviderTs.ts +0 -52
  498. package/src/cli/platform/services/NamingService.ts +0 -54
  499. /package/dist/orm/core/{chunk-o8xxKEmq.js → chunk-B4FMCO8f.js} +0 -0
  500. /package/dist/react/testing/{chunk-6Ep1yQYe.js → chunk-BpyX8vjI.js} +0 -0
  501. /package/src/cli/{platform → platform-lib}/__tests__/GitHubSecretStore.spec.ts +0 -0
  502. /package/src/cli/{platform → platform-lib}/__tests__/PlatformCacheProvider.spec.ts +0 -0
  503. /package/src/cli/{platform → platform-lib}/__tests__/PlatformInspector.spec.ts +0 -0
  504. /package/src/cli/{platform → platform-lib}/__tests__/PlatformOrchestrator.spec.ts +0 -0
  505. /package/src/cli/{platform → platform-lib}/__tests__/SecretFilterService.spec.ts +0 -0
  506. /package/src/cli/{platform → platform-lib}/__tests__/detectResources.spec.ts +0 -0
  507. /package/src/cli/{platform → platform-lib}/providers/GitHubSecretStore.ts +0 -0
  508. /package/src/cli/{platform → platform-lib}/providers/MemorySecretStore.ts +0 -0
  509. /package/src/cli/{platform → platform-lib}/providers/PlatformCacheProvider.ts +0 -0
  510. /package/src/cli/{platform → platform-lib}/providers/SecretStoreProvider.ts +0 -0
  511. /package/src/cli/{platform → platform-lib}/schemas/cloudflare.ts +0 -0
  512. /package/src/cli/{platform → platform-lib}/schemas/platform.ts +0 -0
  513. /package/src/cli/{platform → platform-lib}/schemas/vercel.ts +0 -0
  514. /package/src/cli/{platform → platform-lib}/services/CloudflareApi.ts +0 -0
  515. /package/src/cli/{platform → platform-lib}/services/SecretFilterService.ts +0 -0
  516. /package/src/cli/{platform → platform-lib}/services/VercelApi.ts +0 -0
  517. /package/src/cli/{platform → platform-lib}/services/VercelCli.ts +0 -0
  518. /package/src/{containers → container}/core/interfaces/ContainerOptions.ts +0 -0
  519. /package/src/{containers → container}/core/providers/NodeContainerProvider.ts +0 -0
@@ -1,17 +1,12 @@
1
- import * as _$alepha from "alepha";
2
1
  import { Alepha, AlephaError, Async, KIND, Middleware, Primitive, Static, TObject, TSchema } from "alepha";
3
2
  import { DateTimeProvider } from "alepha/datetime";
4
3
  import { BrowserHeadProvider, Head, ServerHeadProvider, SimpleHead } from "alepha/react/head";
5
4
  import { ServerHandler, ServerRequest, ServerRouterProvider } from "alepha/server";
6
5
  import { LinkProvider } from "alepha/server/links";
7
- import * as _$alepha_logger0 from "alepha/logger";
8
- import * as _$react from "react";
9
6
  import { AnchorHTMLAttributes, CSSProperties, FC, ReactNode } from "react";
10
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
11
7
  import { ServerStaticProvider } from "alepha/server/static";
12
8
  import { FileSystemProvider } from "alepha/system";
13
9
  import { Route, RouterProvider } from "alepha/router";
14
- import * as _$typebox from "typebox";
15
10
 
16
11
  //#region ../../src/react/router/constants/PAGE_PRELOAD_KEY.d.ts
17
12
  /**
@@ -45,12 +40,98 @@ declare class Redirection extends AlephaError {
45
40
  constructor(redirect: string);
46
41
  }
47
42
  //#endregion
43
+ //#region ../../src/react/router/providers/RootComponentsProvider.d.ts
44
+ /**
45
+ * Extension point letting any module contribute root-level React nodes that
46
+ * render on every page (siblings of the page view, inside AlephaContext).
47
+ *
48
+ * A module pushes into `rootComponents` from its `register` hook; the array
49
+ * is rendered by `ReactPageProvider.root()`. SSR-safe (same element feeds
50
+ * server render + client hydrate).
51
+ */
52
+ declare class RootComponentsProvider {
53
+ rootComponents: ReactNode[];
54
+ }
55
+ //#endregion
56
+ //#region ../../src/react/router/providers/RouterLocaleProvider.d.ts
57
+ /**
58
+ * Generic locale path-prefix mechanism for the router.
59
+ *
60
+ * This provider knows nothing about i18n — it only deals with URL path
61
+ * segments. It is configured by the i18n module (`I18nProvider`) when
62
+ * `routing: "prefix"` is enabled, which keeps the dependency one-directional
63
+ * (`i18n → router`) and avoids a module cycle.
64
+ *
65
+ * The default locale is served WITHOUT a prefix (`/about` = default,
66
+ * `/fr/about` = French). The active locale is derived from the current
67
+ * request/navigation and stored under `alepha.react.router.locale`, so every
68
+ * URL the router builds (`pathname()`) automatically carries the right prefix.
69
+ */
70
+ declare class RouterLocaleProvider {
71
+ protected readonly alepha: Alepha;
72
+ /**
73
+ * Whether locale path-prefixing is active. Off by default — opt-in via the
74
+ * i18n module.
75
+ */
76
+ enabled: boolean;
77
+ /**
78
+ * The default locale, served without a path prefix (e.g. `"en"` → `/about`).
79
+ */
80
+ defaultLocale: string;
81
+ /**
82
+ * All known locales, including the default one.
83
+ */
84
+ locales: string[];
85
+ /**
86
+ * Configure the provider. Called by the i18n module before the SSR routes
87
+ * are registered.
88
+ */
89
+ configure(options: {
90
+ enabled?: boolean;
91
+ defaultLocale?: string;
92
+ locales?: string[];
93
+ }): void;
94
+ /**
95
+ * Locales that carry a URL prefix — every known locale except the default.
96
+ */
97
+ get prefixedLocales(): string[];
98
+ /**
99
+ * Splits a leading locale segment off a pathname.
100
+ *
101
+ * - `/fr/about` → `{ locale: "fr", pathname: "/about" }` when `fr` is a
102
+ * prefixed locale.
103
+ * - `/about` → `{ locale: defaultLocale, pathname: "/about" }`.
104
+ *
105
+ * When prefixing is disabled the pathname is returned untouched.
106
+ */
107
+ detect(pathname: string): {
108
+ locale: string;
109
+ pathname: string;
110
+ };
111
+ /**
112
+ * Prepends the locale prefix to a pathname when needed. The default locale
113
+ * (and any unknown/disabled case) returns the pathname unchanged.
114
+ */
115
+ withPrefix(pathname: string, locale?: string): string;
116
+ /**
117
+ * The active locale, derived from the current request/navigation. Falls back
118
+ * to the default locale when nothing has been detected.
119
+ */
120
+ get current(): string;
121
+ set current(locale: string);
122
+ /**
123
+ * Normalizes a stripped pathname so it always starts with a single slash and
124
+ * carries no trailing slash (except the root `/`).
125
+ */
126
+ protected normalize(pathname: string): string;
127
+ }
128
+ //#endregion
48
129
  //#region ../../src/react/router/providers/ReactPageProvider.d.ts
49
- declare const reactPageOptions: _$alepha.Atom<_$typebox.TObject<{
130
+ declare const reactPageOptions: import("alepha").Atom<import("typebox").TObject<{
50
131
  /**
51
132
  * Enable React StrictMode wrapper.
52
133
  */
53
- strictMode: _$typebox.TBoolean;
134
+ strictMode: import("typebox").TBoolean;
54
135
  /**
55
136
  * RegExp pattern (as string) to detect file-like URLs (e.g. /hello.txt, /wp-login.php).
56
137
  * When a request hits the catch-all wildcard route and matches this pattern,
@@ -60,22 +141,24 @@ declare const reactPageOptions: _$alepha.Atom<_$typebox.TObject<{
60
141
  *
61
142
  * @default "\\.[a-zA-Z0-9]{1,10}$"
62
143
  */
63
- staticFilePattern: _$typebox.TString;
144
+ staticFilePattern: import("typebox").TString;
64
145
  }>, "alepha.react.page.options">;
65
146
  /**
66
147
  * Handle page routes for React applications. (Browser and Server)
67
148
  */
68
149
  declare class ReactPageProvider {
69
150
  protected readonly dateTimeProvider: DateTimeProvider;
70
- protected readonly log: _$alepha_logger0.Logger;
151
+ protected readonly log: import("alepha/logger").Logger;
71
152
  protected readonly options: Readonly<{
72
153
  strictMode: boolean;
73
154
  staticFilePattern: string;
74
155
  }>;
75
156
  protected readonly alepha: Alepha;
157
+ protected readonly rootComponentsProvider: RootComponentsProvider;
158
+ protected readonly localeProvider: RouterLocaleProvider;
76
159
  protected readonly pages: PageRoute[];
77
160
  protected nextIdCursor: number;
78
- protected readonly configure: _$alepha.HookPrimitive<"configure">;
161
+ protected readonly configure: import("alepha").HookPrimitive<"configure">;
79
162
  getPages(): PageRoute[];
80
163
  getConcretePages(): ConcretePageRoute[];
81
164
  page(name: string): PageRoute;
@@ -435,12 +518,38 @@ interface PagePrimitiveOptions<TConfig extends PageConfigSchema = PageConfigSche
435
518
  */
436
519
  parent?: PagePrimitive<PageConfigSchema, TPropsParent, any>;
437
520
  /**
438
- * Function to determine if the page can be accessed.
521
+ * UI-affordance predicate for this page's navigation entry — **NOT security**.
522
+ * For real access control, gate the route with `use: [$secure({ permissions })]`
523
+ * (server-enforced); `can` is only consulted by navigation surfaces (sidebar,
524
+ * breadcrumbs, command palette), never by the router.
525
+ *
526
+ * Receives a `{ has }` context (a permission probe equivalent to
527
+ * `useAuth().has`) so it can express arbitrary access logic — including
528
+ * OR-of-permissions, which `nav.permission` (AND) cannot.
529
+ *
530
+ * - `true` (or omitted) → nav entry visible and enabled.
531
+ * - `"disabled"` → visible but disabled (greyed — e.g. insufficient role / paywalled).
532
+ * - `false` → hidden.
533
+ *
534
+ * For the common "needs these permissions" case, prefer the declarative
535
+ * {@link PageNav.permission} instead.
536
+ */
537
+ can?: (ctx: PageCanContext) => boolean | "disabled";
538
+ /**
539
+ * Navigation metadata — declares this page's presence in navigation
540
+ * surfaces: the sidebar, the breadcrumb trail, and a command palette
541
+ * (Spotlight). A page WITHOUT `nav` is route-only (reachable by URL but not
542
+ * listed).
543
+ *
544
+ * `$page` is pure React, so `label` / `icon` / `description` / `badge` accept
545
+ * `ReactNode` (pass `<Users />` directly).
439
546
  *
440
- * If it returns false, the page will not be accessible and a 403 Forbidden error will be returned.
441
- * This function can be used to implement permission-based access control.
547
+ * Visibility is UI-only (NOT security gate the route with `use: [$secure(...)]`):
548
+ * an entry is hidden when `nav.hidden`, when `nav.permission` is set and not
549
+ * fully granted, or when `can()` returns `false`; it renders disabled when
550
+ * `can()` returns `"disabled"`.
442
551
  */
443
- can?: () => boolean;
552
+ nav?: PageNav;
444
553
  /**
445
554
  * Catch any error from the `loader` function or during `rendering`.
446
555
  *
@@ -656,6 +765,58 @@ declare class PagePrimitive<TConfig extends PageConfigSchema = PageConfigSchema,
656
765
  response: Response;
657
766
  }>;
658
767
  }
768
+ /**
769
+ * Context passed to {@link PagePrimitiveOptions.can} — a permission probe
770
+ * (equivalent to `useAuth().has`) supplied by the navigation builder.
771
+ */
772
+ interface PageCanContext {
773
+ has: (permission: string) => boolean;
774
+ }
775
+ /**
776
+ * Navigation metadata for a page — see {@link PagePrimitiveOptions.nav}.
777
+ * Consumed by the sidebar, breadcrumbs and the command palette, all derived
778
+ * from the route tree (no separate nav list).
779
+ */
780
+ interface PageNav {
781
+ /**
782
+ * Label for nav surfaces. Falls back to the page's `label`, then `head.title`.
783
+ */
784
+ label?: ReactNode;
785
+ /**
786
+ * Leading icon — a React element, e.g. `icon: <Users />`.
787
+ */
788
+ icon?: ReactNode;
789
+ /**
790
+ * Section the entry belongs to: sidebar group heading + command-palette section.
791
+ */
792
+ group?: string;
793
+ /**
794
+ * Sort order within the group (ascending).
795
+ */
796
+ order?: number;
797
+ /**
798
+ * Permission(s) required to SEE the entry — a single string or an array
799
+ * (ALL required, matching `$secure({ permissions })`). UI gate only; the
800
+ * real route gate is `use: [$secure(...)]`. For OR / custom logic use `can`.
801
+ */
802
+ permission?: string | string[];
803
+ /**
804
+ * Extra search terms for the command palette (synonyms / aliases beyond the label).
805
+ */
806
+ keywords?: string[];
807
+ /**
808
+ * Short description — command-palette subtitle / sidebar tooltip.
809
+ */
810
+ description?: ReactNode;
811
+ /**
812
+ * Trailing badge (unread count, "New", …) for the sidebar entry.
813
+ */
814
+ badge?: ReactNode;
815
+ /**
816
+ * Keep the route but exclude it from nav surfaces (e.g. a `/users/:id` detail page).
817
+ */
818
+ hidden?: boolean;
819
+ }
659
820
  type ErrorHandler = (error: Error, state: ReactRouterState) => ReactNode | Redirection | undefined;
660
821
  interface PageConfigSchema {
661
822
  query?: TSchema;
@@ -703,7 +864,7 @@ interface ErrorViewerProps {
703
864
  alepha: Alepha;
704
865
  onRetry?: () => void;
705
866
  }
706
- declare const ErrorViewer: (props: ErrorViewerProps) => _$react_jsx_runtime0.JSX.Element;
867
+ declare const ErrorViewer: (props: ErrorViewerProps) => import("react/jsx-runtime").JSX.Element;
707
868
  //#endregion
708
869
  //#region ../../src/react/router/components/Link.d.ts
709
870
  interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
@@ -714,16 +875,16 @@ interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
714
875
  *
715
876
  * It's a simple wrapper around an anchor (`<a>`) element using the `useRouter` hook.
716
877
  */
717
- declare const Link: (props: LinkProps) => _$react.DetailedReactHTMLElement<{
878
+ declare const Link: (props: LinkProps) => import("react").DetailedReactHTMLElement<{
718
879
  href: string;
719
880
  onClick: (ev?: any) => any;
720
881
  download?: any;
721
882
  hrefLang?: string | undefined;
722
883
  media?: string | undefined;
723
884
  ping?: string | undefined;
724
- target?: _$react.HTMLAttributeAnchorTarget | undefined;
885
+ target?: import("react").HTMLAttributeAnchorTarget | undefined;
725
886
  type?: string | undefined;
726
- referrerPolicy?: _$react.HTMLAttributeReferrerPolicy | undefined;
887
+ referrerPolicy?: import("react").HTMLAttributeReferrerPolicy | undefined;
727
888
  defaultChecked?: boolean | undefined;
728
889
  defaultValue?: string | number | readonly string[] | undefined;
729
890
  suppressContentEditableWarning?: boolean | undefined;
@@ -743,12 +904,12 @@ declare const Link: (props: LinkProps) => _$react.DetailedReactHTMLElement<{
743
904
  nonce?: string | undefined;
744
905
  slot?: string | undefined;
745
906
  spellCheck?: (boolean | "true" | "false") | undefined;
746
- style?: _$react.CSSProperties | undefined;
907
+ style?: import("react").CSSProperties | undefined;
747
908
  tabIndex?: number | undefined;
748
909
  title?: string | undefined;
749
910
  translate?: "yes" | "no" | undefined;
750
911
  radioGroup?: string | undefined;
751
- role?: _$react.AriaRole | undefined;
912
+ role?: import("react").AriaRole | undefined;
752
913
  about?: string | undefined;
753
914
  content?: string | undefined;
754
915
  datatype?: string | undefined;
@@ -832,177 +993,177 @@ declare const Link: (props: LinkProps) => _$react.DetailedReactHTMLElement<{
832
993
  "aria-valuemin"?: number | undefined;
833
994
  "aria-valuenow"?: number | undefined;
834
995
  "aria-valuetext"?: string | undefined;
835
- children?: _$react.ReactNode | undefined;
996
+ children?: import("react").ReactNode | undefined;
836
997
  dangerouslySetInnerHTML?: {
837
998
  __html: string | TrustedHTML;
838
999
  } | undefined;
839
- onCopy?: _$react.ClipboardEventHandler<HTMLAnchorElement> | undefined;
840
- onCopyCapture?: _$react.ClipboardEventHandler<HTMLAnchorElement> | undefined;
841
- onCut?: _$react.ClipboardEventHandler<HTMLAnchorElement> | undefined;
842
- onCutCapture?: _$react.ClipboardEventHandler<HTMLAnchorElement> | undefined;
843
- onPaste?: _$react.ClipboardEventHandler<HTMLAnchorElement> | undefined;
844
- onPasteCapture?: _$react.ClipboardEventHandler<HTMLAnchorElement> | undefined;
845
- onCompositionEnd?: _$react.CompositionEventHandler<HTMLAnchorElement> | undefined;
846
- onCompositionEndCapture?: _$react.CompositionEventHandler<HTMLAnchorElement> | undefined;
847
- onCompositionStart?: _$react.CompositionEventHandler<HTMLAnchorElement> | undefined;
848
- onCompositionStartCapture?: _$react.CompositionEventHandler<HTMLAnchorElement> | undefined;
849
- onCompositionUpdate?: _$react.CompositionEventHandler<HTMLAnchorElement> | undefined;
850
- onCompositionUpdateCapture?: _$react.CompositionEventHandler<HTMLAnchorElement> | undefined;
851
- onFocus?: _$react.FocusEventHandler<HTMLAnchorElement> | undefined;
852
- onFocusCapture?: _$react.FocusEventHandler<HTMLAnchorElement> | undefined;
853
- onBlur?: _$react.FocusEventHandler<HTMLAnchorElement> | undefined;
854
- onBlurCapture?: _$react.FocusEventHandler<HTMLAnchorElement> | undefined;
855
- onChange?: _$react.ChangeEventHandler<HTMLAnchorElement, Element> | undefined;
856
- onChangeCapture?: _$react.ChangeEventHandler<HTMLAnchorElement, Element> | undefined;
857
- onBeforeInput?: _$react.InputEventHandler<HTMLAnchorElement> | undefined;
858
- onBeforeInputCapture?: _$react.InputEventHandler<HTMLAnchorElement> | undefined;
859
- onInput?: _$react.InputEventHandler<HTMLAnchorElement> | undefined;
860
- onInputCapture?: _$react.InputEventHandler<HTMLAnchorElement> | undefined;
861
- onReset?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
862
- onResetCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
863
- onSubmit?: _$react.SubmitEventHandler<HTMLAnchorElement> | undefined;
864
- onSubmitCapture?: _$react.SubmitEventHandler<HTMLAnchorElement> | undefined;
865
- onInvalid?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
866
- onInvalidCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
867
- onLoad?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
868
- onLoadCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
869
- onError?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
870
- onErrorCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
871
- onKeyDown?: _$react.KeyboardEventHandler<HTMLAnchorElement> | undefined;
872
- onKeyDownCapture?: _$react.KeyboardEventHandler<HTMLAnchorElement> | undefined;
873
- onKeyPress?: _$react.KeyboardEventHandler<HTMLAnchorElement> | undefined;
874
- onKeyPressCapture?: _$react.KeyboardEventHandler<HTMLAnchorElement> | undefined;
875
- onKeyUp?: _$react.KeyboardEventHandler<HTMLAnchorElement> | undefined;
876
- onKeyUpCapture?: _$react.KeyboardEventHandler<HTMLAnchorElement> | undefined;
877
- onAbort?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
878
- onAbortCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
879
- onCanPlay?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
880
- onCanPlayCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
881
- onCanPlayThrough?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
882
- onCanPlayThroughCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
883
- onDurationChange?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
884
- onDurationChangeCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
885
- onEmptied?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
886
- onEmptiedCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
887
- onEncrypted?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
888
- onEncryptedCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
889
- onEnded?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
890
- onEndedCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
891
- onLoadedData?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
892
- onLoadedDataCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
893
- onLoadedMetadata?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
894
- onLoadedMetadataCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
895
- onLoadStart?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
896
- onLoadStartCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
897
- onPause?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
898
- onPauseCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
899
- onPlay?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
900
- onPlayCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
901
- onPlaying?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
902
- onPlayingCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
903
- onProgress?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
904
- onProgressCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
905
- onRateChange?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
906
- onRateChangeCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
907
- onSeeked?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
908
- onSeekedCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
909
- onSeeking?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
910
- onSeekingCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
911
- onStalled?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
912
- onStalledCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
913
- onSuspend?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
914
- onSuspendCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
915
- onTimeUpdate?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
916
- onTimeUpdateCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
917
- onVolumeChange?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
918
- onVolumeChangeCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
919
- onWaiting?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
920
- onWaitingCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
921
- onAuxClick?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
922
- onAuxClickCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
923
- onClickCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
924
- onContextMenu?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
925
- onContextMenuCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
926
- onDoubleClick?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
927
- onDoubleClickCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
928
- onDrag?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
929
- onDragCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
930
- onDragEnd?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
931
- onDragEndCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
932
- onDragEnter?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
933
- onDragEnterCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
934
- onDragExit?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
935
- onDragExitCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
936
- onDragLeave?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
937
- onDragLeaveCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
938
- onDragOver?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
939
- onDragOverCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
940
- onDragStart?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
941
- onDragStartCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
942
- onDrop?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
943
- onDropCapture?: _$react.DragEventHandler<HTMLAnchorElement> | undefined;
944
- onMouseDown?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
945
- onMouseDownCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
946
- onMouseEnter?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
947
- onMouseLeave?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
948
- onMouseMove?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
949
- onMouseMoveCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
950
- onMouseOut?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
951
- onMouseOutCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
952
- onMouseOver?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
953
- onMouseOverCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
954
- onMouseUp?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
955
- onMouseUpCapture?: _$react.MouseEventHandler<HTMLAnchorElement> | undefined;
956
- onSelect?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
957
- onSelectCapture?: _$react.ReactEventHandler<HTMLAnchorElement> | undefined;
958
- onTouchCancel?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
959
- onTouchCancelCapture?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
960
- onTouchEnd?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
961
- onTouchEndCapture?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
962
- onTouchMove?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
963
- onTouchMoveCapture?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
964
- onTouchStart?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
965
- onTouchStartCapture?: _$react.TouchEventHandler<HTMLAnchorElement> | undefined;
966
- onPointerDown?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
967
- onPointerDownCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
968
- onPointerMove?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
969
- onPointerMoveCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
970
- onPointerUp?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
971
- onPointerUpCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
972
- onPointerCancel?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
973
- onPointerCancelCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
974
- onPointerEnter?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
975
- onPointerLeave?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
976
- onPointerOver?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
977
- onPointerOverCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
978
- onPointerOut?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
979
- onPointerOutCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
980
- onGotPointerCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
981
- onGotPointerCaptureCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
982
- onLostPointerCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
983
- onLostPointerCaptureCapture?: _$react.PointerEventHandler<HTMLAnchorElement> | undefined;
984
- onScroll?: _$react.UIEventHandler<HTMLAnchorElement> | undefined;
985
- onScrollCapture?: _$react.UIEventHandler<HTMLAnchorElement> | undefined;
986
- onScrollEnd?: _$react.UIEventHandler<HTMLAnchorElement> | undefined;
987
- onScrollEndCapture?: _$react.UIEventHandler<HTMLAnchorElement> | undefined;
988
- onWheel?: _$react.WheelEventHandler<HTMLAnchorElement> | undefined;
989
- onWheelCapture?: _$react.WheelEventHandler<HTMLAnchorElement> | undefined;
990
- onAnimationStart?: _$react.AnimationEventHandler<HTMLAnchorElement> | undefined;
991
- onAnimationStartCapture?: _$react.AnimationEventHandler<HTMLAnchorElement> | undefined;
992
- onAnimationEnd?: _$react.AnimationEventHandler<HTMLAnchorElement> | undefined;
993
- onAnimationEndCapture?: _$react.AnimationEventHandler<HTMLAnchorElement> | undefined;
994
- onAnimationIteration?: _$react.AnimationEventHandler<HTMLAnchorElement> | undefined;
995
- onAnimationIterationCapture?: _$react.AnimationEventHandler<HTMLAnchorElement> | undefined;
996
- onToggle?: _$react.ToggleEventHandler<HTMLAnchorElement> | undefined;
997
- onBeforeToggle?: _$react.ToggleEventHandler<HTMLAnchorElement> | undefined;
998
- onTransitionCancel?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
999
- onTransitionCancelCapture?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
1000
- onTransitionEnd?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
1001
- onTransitionEndCapture?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
1002
- onTransitionRun?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
1003
- onTransitionRunCapture?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
1004
- onTransitionStart?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
1005
- onTransitionStartCapture?: _$react.TransitionEventHandler<HTMLAnchorElement> | undefined;
1000
+ onCopy?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
1001
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
1002
+ onCut?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
1003
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
1004
+ onPaste?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
1005
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
1006
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
1007
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
1008
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
1009
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
1010
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
1011
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
1012
+ onFocus?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
1013
+ onFocusCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
1014
+ onBlur?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
1015
+ onBlurCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
1016
+ onChange?: import("react").ChangeEventHandler<HTMLAnchorElement, Element> | undefined;
1017
+ onChangeCapture?: import("react").ChangeEventHandler<HTMLAnchorElement, Element> | undefined;
1018
+ onBeforeInput?: import("react").InputEventHandler<HTMLAnchorElement> | undefined;
1019
+ onBeforeInputCapture?: import("react").InputEventHandler<HTMLAnchorElement> | undefined;
1020
+ onInput?: import("react").InputEventHandler<HTMLAnchorElement> | undefined;
1021
+ onInputCapture?: import("react").InputEventHandler<HTMLAnchorElement> | undefined;
1022
+ onReset?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1023
+ onResetCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1024
+ onSubmit?: import("react").SubmitEventHandler<HTMLAnchorElement> | undefined;
1025
+ onSubmitCapture?: import("react").SubmitEventHandler<HTMLAnchorElement> | undefined;
1026
+ onInvalid?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1027
+ onInvalidCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1028
+ onLoad?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1029
+ onLoadCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1030
+ onError?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1031
+ onErrorCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1032
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
1033
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
1034
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
1035
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
1036
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
1037
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
1038
+ onAbort?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1039
+ onAbortCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1040
+ onCanPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1041
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1042
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1043
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1044
+ onDurationChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1045
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1046
+ onEmptied?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1047
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1048
+ onEncrypted?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1049
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1050
+ onEnded?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1051
+ onEndedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1052
+ onLoadedData?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1053
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1054
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1055
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1056
+ onLoadStart?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1057
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1058
+ onPause?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1059
+ onPauseCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1060
+ onPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1061
+ onPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1062
+ onPlaying?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1063
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1064
+ onProgress?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1065
+ onProgressCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1066
+ onRateChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1067
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1068
+ onSeeked?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1069
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1070
+ onSeeking?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1071
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1072
+ onStalled?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1073
+ onStalledCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1074
+ onSuspend?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1075
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1076
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1077
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1078
+ onVolumeChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1079
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1080
+ onWaiting?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1081
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1082
+ onAuxClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1083
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1084
+ onClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1085
+ onContextMenu?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1086
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1087
+ onDoubleClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1088
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1089
+ onDrag?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1090
+ onDragCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1091
+ onDragEnd?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1092
+ onDragEndCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1093
+ onDragEnter?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1094
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1095
+ onDragExit?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1096
+ onDragExitCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1097
+ onDragLeave?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1098
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1099
+ onDragOver?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1100
+ onDragOverCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1101
+ onDragStart?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1102
+ onDragStartCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1103
+ onDrop?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1104
+ onDropCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
1105
+ onMouseDown?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1106
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1107
+ onMouseEnter?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1108
+ onMouseLeave?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1109
+ onMouseMove?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1110
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1111
+ onMouseOut?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1112
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1113
+ onMouseOver?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1114
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1115
+ onMouseUp?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1116
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
1117
+ onSelect?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1118
+ onSelectCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
1119
+ onTouchCancel?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1120
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1121
+ onTouchEnd?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1122
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1123
+ onTouchMove?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1124
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1125
+ onTouchStart?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1126
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
1127
+ onPointerDown?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1128
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1129
+ onPointerMove?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1130
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1131
+ onPointerUp?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1132
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1133
+ onPointerCancel?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1134
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1135
+ onPointerEnter?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1136
+ onPointerLeave?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1137
+ onPointerOver?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1138
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1139
+ onPointerOut?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1140
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1141
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1142
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1143
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1144
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
1145
+ onScroll?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
1146
+ onScrollCapture?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
1147
+ onScrollEnd?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
1148
+ onScrollEndCapture?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
1149
+ onWheel?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
1150
+ onWheelCapture?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
1151
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
1152
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
1153
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
1154
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
1155
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
1156
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
1157
+ onToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
1158
+ onBeforeToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
1159
+ onTransitionCancel?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1160
+ onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1161
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1162
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1163
+ onTransitionRun?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1164
+ onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1165
+ onTransitionStart?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1166
+ onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
1006
1167
  }, HTMLElement>;
1007
1168
  //#endregion
1008
1169
  //#region ../../src/react/router/components/NestedView.d.ts
@@ -1010,7 +1171,7 @@ interface NestedViewProps {
1010
1171
  children?: ReactNode;
1011
1172
  errorBoundary?: false | ((error: Error, reset: () => void) => ReactNode);
1012
1173
  }
1013
- declare const _default: _$react.MemoExoticComponent<(props: NestedViewProps) => _$react_jsx_runtime0.JSX.Element>;
1174
+ declare const _default: import("react").MemoExoticComponent<(props: NestedViewProps) => import("react/jsx-runtime").JSX.Element>;
1014
1175
  //#endregion
1015
1176
  //#region ../../src/react/router/components/NotFound.d.ts
1016
1177
  /**
@@ -1018,7 +1179,7 @@ declare const _default: _$react.MemoExoticComponent<(props: NestedViewProps) =>
1018
1179
  */
1019
1180
  declare const NotFound: (props: {
1020
1181
  style?: CSSProperties;
1021
- }) => _$react_jsx_runtime0.JSX.Element;
1182
+ }) => import("react/jsx-runtime").JSX.Element;
1022
1183
  //#endregion
1023
1184
  //#region ../../src/react/router/contexts/RouterLayerContext.d.ts
1024
1185
  interface RouterLayerContextValue {
@@ -1026,7 +1187,7 @@ interface RouterLayerContextValue {
1026
1187
  path: string;
1027
1188
  onError: ErrorHandler;
1028
1189
  }
1029
- declare const RouterLayerContext: _$react.Context<RouterLayerContextValue | undefined>;
1190
+ declare const RouterLayerContext: import("react").Context<RouterLayerContextValue | undefined>;
1030
1191
  //#endregion
1031
1192
  //#region ../../src/react/router/hooks/useActive.d.ts
1032
1193
  interface UseActiveOptions {
@@ -1047,11 +1208,43 @@ interface UseActiveHook {
1047
1208
  //#region ../../src/react/router/hooks/useQueryParams.d.ts
1048
1209
  /**
1049
1210
  * Hook to manage query parameters in the URL using a defined schema.
1211
+ *
1212
+ * Two storage formats are supported via {@link UseQueryParamsHookOptions.format}:
1213
+ * - `"base64"` (default) packs the whole object into a single opaque param
1214
+ * (named by `key`, default `q`) — e.g. `?q=eyJ0YWIiOiJzZWN1cml0eSJ9`.
1215
+ * - `"querystring"` spreads each schema field across its own readable param —
1216
+ * e.g. `?tab=security`. In this mode `key` is ignored.
1217
+ *
1218
+ * By default the URL is updated with `replaceState` (no new history entry).
1219
+ * Pass `push: true` to add a history entry instead, so the browser back
1220
+ * button steps back through previous values.
1221
+ *
1222
+ * @example
1223
+ * const [params, setParams] = useQueryParams(
1224
+ * t.object({ tab: t.optional(t.string()) }),
1225
+ * { format: "querystring" },
1226
+ * );
1227
+ * // params.tab reads from `?tab=…`; setParams({ tab: "security" }) writes it.
1050
1228
  */
1051
1229
  declare const useQueryParams: <T extends TObject>(schema: T, options?: UseQueryParamsHookOptions) => [Partial<Static<T>>, (data: Static<T>) => void];
1052
1230
  interface UseQueryParamsHookOptions {
1231
+ /**
1232
+ * How the params are stored in the URL.
1233
+ * - `"base64"` (default): the whole object in one opaque param (`key`).
1234
+ * - `"querystring"`: each schema field as its own readable param (`key`
1235
+ * is ignored).
1236
+ */
1053
1237
  format?: "base64" | "querystring";
1238
+ /**
1239
+ * Param name used in `"base64"` format. Defaults to `"q"`. Ignored in
1240
+ * `"querystring"` format, where the schema's field names are used.
1241
+ */
1054
1242
  key?: string;
1243
+ /**
1244
+ * When `true`, updates push a new browser-history entry (`pushState`) so
1245
+ * the back button returns to the previous value. Defaults to `false`,
1246
+ * which replaces the current entry in place (`replaceState`).
1247
+ */
1055
1248
  push?: boolean;
1056
1249
  }
1057
1250
  //#endregion
@@ -1153,12 +1346,13 @@ interface BrowserRoute extends Route {
1153
1346
  * Implementation of AlephaRouter for React in browser environment.
1154
1347
  */
1155
1348
  declare class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
1156
- protected readonly log: _$alepha_logger0.Logger;
1349
+ protected readonly log: import("alepha/logger").Logger;
1157
1350
  protected readonly alepha: Alepha;
1158
1351
  protected readonly pageApi: ReactPageProvider;
1159
1352
  protected readonly browserHeadProvider: BrowserHeadProvider;
1353
+ protected readonly localeProvider: RouterLocaleProvider;
1160
1354
  add(entry: PageRouteEntry): void;
1161
- protected readonly configure: _$alepha.HookPrimitive<"configure">;
1355
+ protected readonly configure: import("alepha").HookPrimitive<"configure">;
1162
1356
  transition(url: URL, previous?: PreviousLayerData[], meta?: {}, isStale?: () => boolean): Promise<string | undefined>;
1163
1357
  root(state: ReactRouterState): ReactNode;
1164
1358
  }
@@ -1167,8 +1361,8 @@ declare class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
1167
1361
  /**
1168
1362
  * React browser renderer configuration atom
1169
1363
  */
1170
- declare const reactBrowserOptions: _$alepha.Atom<_$typebox.TObject<{
1171
- scrollRestoration: _$typebox.TUnsafe<"top" | "manual">;
1364
+ declare const reactBrowserOptions: import("alepha").Atom<import("typebox").TObject<{
1365
+ scrollRestoration: import("typebox").TUnsafe<"top" | "manual">;
1172
1366
  /**
1173
1367
  * Intercept clicks on plain `<a href="/...">` anchors and route them
1174
1368
  * through the SPA router, so authors don't need `<Link>` everywhere
@@ -1178,7 +1372,7 @@ declare const reactBrowserOptions: _$alepha.Atom<_$typebox.TObject<{
1178
1372
  * `_self`, `download`, `data-no-router`, non-http(s) schemes, hash-only
1179
1373
  * hrefs, external origins, and clicks already `defaultPrevented`.
1180
1374
  */
1181
- interceptAnchorClicks: _$typebox.TBoolean;
1375
+ interceptAnchorClicks: import("typebox").TBoolean;
1182
1376
  }>, "alepha.react.browser.options">;
1183
1377
  type ReactBrowserRendererOptions = Static<typeof reactBrowserOptions.schema>;
1184
1378
  declare module "alepha" {
@@ -1187,7 +1381,7 @@ declare module "alepha" {
1187
1381
  }
1188
1382
  }
1189
1383
  declare class ReactBrowserProvider {
1190
- protected readonly log: _$alepha_logger0.Logger;
1384
+ protected readonly log: import("alepha/logger").Logger;
1191
1385
  protected readonly client: LinkProvider;
1192
1386
  protected readonly alepha: Alepha;
1193
1387
  protected readonly router: ReactBrowserRouterProvider;
@@ -1236,8 +1430,8 @@ declare class ReactBrowserProvider {
1236
1430
  * Get embedded layers from the server.
1237
1431
  */
1238
1432
  protected getHydrationState(): ReactHydrationState | undefined;
1239
- protected readonly onTransitionEnd: _$alepha.HookPrimitive<"react:transition:end">;
1240
- readonly ready: _$alepha.HookPrimitive<"ready">;
1433
+ protected readonly onTransitionEnd: import("alepha").HookPrimitive<"react:transition:end">;
1434
+ readonly ready: import("alepha").HookPrimitive<"ready">;
1241
1435
  /**
1242
1436
  * Attach a delegated click listener that routes plain `<a href="/...">`
1243
1437
  * clicks through the SPA router. Returns a detach function (used in tests).
@@ -1269,40 +1463,40 @@ interface RouterRenderOptions {
1269
1463
  /**
1270
1464
  * Schema for the SSR manifest atom.
1271
1465
  */
1272
- declare const ssrManifestAtomSchema: _$typebox.TObject<{
1466
+ declare const ssrManifestAtomSchema: import("typebox").TObject<{
1273
1467
  /**
1274
1468
  * Base path for assets (from Vite's base config).
1275
1469
  * Used to prefix asset URLs when serving from a subpath.
1276
1470
  * @example "/devtools" or "/"
1277
1471
  */
1278
- base: _$typebox.TOptional<_$typebox.TString>;
1472
+ base: import("typebox").TOptional<import("typebox").TString>;
1279
1473
  /**
1280
1474
  * Preload manifest mapping short keys to source paths.
1281
1475
  * Generated by viteAlephaSsrPreload plugin at build time.
1282
1476
  */
1283
- preload: _$typebox.TOptional<_$typebox.TRecord<"^.*$", _$typebox.TString>>;
1477
+ preload: import("typebox").TOptional<import("typebox").TRecord<"^.*$", import("typebox").TString>>;
1284
1478
  /**
1285
1479
  * Client manifest mapping source files to their output information.
1286
1480
  * Only includes fields actually used for preloading.
1287
1481
  */
1288
- client: _$typebox.TOptional<_$typebox.TRecord<"^.*$", _$typebox.TObject<{
1289
- file: _$typebox.TString;
1290
- isEntry: _$typebox.TOptional<_$typebox.TBoolean>;
1291
- imports: _$typebox.TOptional<_$typebox.TArray<_$typebox.TString>>;
1292
- css: _$typebox.TOptional<_$typebox.TArray<_$typebox.TString>>;
1482
+ client: import("typebox").TOptional<import("typebox").TRecord<"^.*$", import("typebox").TObject<{
1483
+ file: import("typebox").TString;
1484
+ isEntry: import("typebox").TOptional<import("typebox").TBoolean>;
1485
+ imports: import("typebox").TOptional<import("typebox").TArray<import("typebox").TString>>;
1486
+ css: import("typebox").TOptional<import("typebox").TArray<import("typebox").TString>>;
1293
1487
  }>>>;
1294
1488
  /**
1295
1489
  * Dev mode head content.
1296
1490
  * Contains pre-transformed scripts injected by Vite and plugins (React, etc.).
1297
1491
  * Only set in dev mode via ViteDevServerProvider.
1298
1492
  */
1299
- devHead: _$typebox.TOptional<_$typebox.TString>;
1493
+ devHead: import("typebox").TOptional<import("typebox").TString>;
1300
1494
  /**
1301
1495
  * Auto-detected favicon path and MIME type.
1302
1496
  * Format: "type:path" (e.g., "image/svg+xml:/favicon.svg").
1303
1497
  * Set at build/dev time by scanning the public directory.
1304
1498
  */
1305
- favicon: _$typebox.TOptional<_$typebox.TString>;
1499
+ favicon: import("typebox").TOptional<import("typebox").TString>;
1306
1500
  }>;
1307
1501
  /**
1308
1502
  * Type for the SSR manifest schema.
@@ -1486,7 +1680,7 @@ declare class ReactPreloadProvider {
1486
1680
  /**
1487
1681
  * Add Link header to HTML responses for asset preloading.
1488
1682
  */
1489
- protected readonly onResponse: _$alepha.HookPrimitive<"server:onResponse">;
1683
+ protected readonly onResponse: import("alepha").HookPrimitive<"server:onResponse">;
1490
1684
  }
1491
1685
  //#endregion
1492
1686
  //#region ../../src/react/router/providers/ReactServerTemplateProvider.d.ts
@@ -1497,7 +1691,7 @@ declare class ReactPreloadProvider {
1497
1691
  * Pre-encodes static parts as Uint8Array for zero-copy streaming.
1498
1692
  */
1499
1693
  declare class ReactServerTemplateProvider {
1500
- protected readonly log: _$alepha_logger0.Logger;
1694
+ protected readonly log: import("alepha/logger").Logger;
1501
1695
  protected readonly alepha: Alepha;
1502
1696
  /**
1503
1697
  * Shared TextEncoder - reused across all requests.
@@ -1650,7 +1844,7 @@ declare class ReactServerProvider {
1650
1844
  readonly expires: "0";
1651
1845
  };
1652
1846
  protected readonly fs: FileSystemProvider;
1653
- protected readonly log: _$alepha_logger0.Logger;
1847
+ protected readonly log: import("alepha/logger").Logger;
1654
1848
  protected readonly alepha: Alepha;
1655
1849
  protected readonly env: {
1656
1850
  REACT_SSR_ENABLED?: boolean | undefined;
@@ -1661,6 +1855,7 @@ declare class ReactServerProvider {
1661
1855
  protected readonly serverStaticProvider: ServerStaticProvider;
1662
1856
  protected readonly serverRouterProvider: ServerRouterProvider;
1663
1857
  protected readonly ssrManifestProvider: SSRManifestProvider;
1858
+ protected readonly localeProvider: RouterLocaleProvider;
1664
1859
  /**
1665
1860
  * Cached check for ServerLinksProvider - avoids has() lookup per request.
1666
1861
  */
@@ -1679,7 +1874,7 @@ declare class ReactServerProvider {
1679
1874
  /**
1680
1875
  * Configure the React server provider.
1681
1876
  */
1682
- readonly onConfigure: _$alepha.HookPrimitive<"configure">;
1877
+ readonly onConfigure: import("alepha").HookPrimitive<"configure">;
1683
1878
  /**
1684
1879
  * Register all pages as server routes.
1685
1880
  */
@@ -1735,6 +1930,18 @@ declare class ReactServerProvider {
1735
1930
  * @param state - The router state
1736
1931
  * @returns Render result with redirect or React stream
1737
1932
  */
1933
+ /**
1934
+ * Inject SEO `hreflang` alternate links for the current route when
1935
+ * locale-prefix routing is enabled. Each registered locale gets an absolute
1936
+ * alternate URL (the default locale stays unprefixed), plus an `x-default`
1937
+ * pointing at the unprefixed URL — this is what lets crawlers index every
1938
+ * language. Also sets a best-effort `<html lang>` for the non-streaming /
1939
+ * prerender path; the streamed path's `<html lang>` is finalized on the
1940
+ * client (the early HTML head is flushed before the route is known).
1941
+ *
1942
+ * No-op unless `routing: "prefix"` is enabled on the i18n module.
1943
+ */
1944
+ protected injectLocaleHead(state: ReactRouterState): void;
1738
1945
  protected renderPage(route: PageRoute, state: ReactRouterState): Promise<{
1739
1946
  redirect?: string;
1740
1947
  reactStream?: ReadableStream<Uint8Array>;
@@ -1752,8 +1959,8 @@ declare class ReactServerProvider {
1752
1959
  */
1753
1960
  protected streamToString(stream: ReadableStream<Uint8Array>): Promise<string>;
1754
1961
  }
1755
- declare const envSchema: _$alepha.TObject<{
1756
- REACT_SSR_ENABLED: _$alepha.TOptional<_$alepha.TBoolean>;
1962
+ declare const envSchema: import("alepha").TObject<{
1963
+ REACT_SSR_ENABLED: import("alepha").TOptional<import("alepha").TBoolean>;
1757
1964
  }>;
1758
1965
  declare module "alepha" {
1759
1966
  interface Env extends Partial<Static<typeof envSchema>> {}
@@ -1769,11 +1976,11 @@ declare module "alepha" {
1769
1976
  * Matches paths whose last segment contains a dot followed by 1-10 alphanumeric characters.
1770
1977
  */
1771
1978
  declare const DEFAULT_STATIC_FILE_PATTERN = "\\.[a-zA-Z0-9]{1,10}$";
1772
- declare const reactServerOptions: _$alepha.Atom<_$alepha.TObject<{
1773
- publicDir: _$typebox.TString;
1774
- staticServer: _$alepha.TObject<{
1775
- disabled: _$alepha.TBoolean;
1776
- path: _$typebox.TString;
1979
+ declare const reactServerOptions: import("alepha").Atom<import("alepha").TObject<{
1980
+ publicDir: import("typebox").TString;
1981
+ staticServer: import("alepha").TObject<{
1982
+ disabled: import("alepha").TBoolean;
1983
+ path: import("typebox").TString;
1777
1984
  }>;
1778
1985
  }>, "alepha.react.server.options">;
1779
1986
  type ReactServerProviderOptions = Static<typeof reactServerOptions.schema>;
@@ -1787,6 +1994,11 @@ declare module "alepha" {
1787
1994
  declare module "alepha" {
1788
1995
  interface State {
1789
1996
  "alepha.react.router.state"?: ReactRouterState;
1997
+ /**
1998
+ * The active locale path-prefix (e.g. `"fr"`), when `routing: "prefix"` is
1999
+ * enabled on the i18n module. Empty/absent for the default locale.
2000
+ */
2001
+ "alepha.react.router.locale"?: string;
1790
2002
  }
1791
2003
  interface Hooks {
1792
2004
  /**
@@ -1859,7 +2071,7 @@ declare module "alepha" {
1859
2071
  * @see {@link $page}
1860
2072
  * @module alepha.react.router
1861
2073
  */
1862
- declare const AlephaReactRouter: _$alepha.Service<_$alepha.Module>;
2074
+ declare const AlephaReactRouter: import("alepha").Service<import("alepha").Module>;
1863
2075
  //#endregion
1864
- export { $page, AlephaReactRouter, AnchorProps, ClientManifest, ConcretePageRoute, CreateLayersResult, DEFAULT_STATIC_FILE_PATTERN, EntryAssets, ErrorHandler, ErrorViewer, ErrorViewerProps, HydrationData, Layer, Link, type LinkProps, _default as NestedView, NestedViewProps, NotFound, PAGE_PRELOAD_KEY, PageAnimation, PageConfigSchema, PageLoader, PagePrimitive, PagePrimitiveOptions, PagePrimitiveRenderOptions, PagePrimitiveRenderResult, PageRequestConfig, PageRoute, PageRouteEntry, PreloadManifest, PreviousLayerData, ReactBrowserProvider, ReactBrowserRendererOptions, ReactHydrationState, ReactPageProvider, ReactPageService, ReactPreloadProvider, ReactRouter, ReactRouterState, ReactServerProvider, ReactServerProviderOptions, ReactServerTemplateProvider, Redirection, RouterLayerContext, RouterLayerContextValue, type RouterPushOptions, RouterRenderOptions, RouterStackItem, SSRManifestProvider, TPropsDefault, TPropsParentDefault, UseActiveHook, UseActiveOptions, UseQueryParamsHookOptions, VirtualRouter, isPageRoute, reactBrowserOptions, reactPageOptions, reactServerOptions, useActive, useQueryParams, useRouter, useRouterState };
2076
+ export { $page, AlephaReactRouter, AnchorProps, ClientManifest, ConcretePageRoute, CreateLayersResult, DEFAULT_STATIC_FILE_PATTERN, EntryAssets, ErrorHandler, ErrorViewer, type ErrorViewerProps, HydrationData, Layer, Link, type LinkProps, _default as NestedView, type NestedViewProps, NotFound, PAGE_PRELOAD_KEY, PageAnimation, PageCanContext, PageConfigSchema, PageLoader, PageNav, PagePrimitive, PagePrimitiveOptions, PagePrimitiveRenderOptions, PagePrimitiveRenderResult, PageRequestConfig, PageRoute, PageRouteEntry, PreloadManifest, PreviousLayerData, ReactBrowserProvider, ReactBrowserRendererOptions, ReactHydrationState, ReactPageProvider, ReactPageService, ReactPreloadProvider, ReactRouter, ReactRouterState, ReactServerProvider, ReactServerProviderOptions, ReactServerTemplateProvider, Redirection, RootComponentsProvider, RouterLayerContext, RouterLayerContextValue, RouterLocaleProvider, RouterPushOptions, RouterRenderOptions, RouterStackItem, SSRManifestProvider, TPropsDefault, TPropsParentDefault, UseActiveHook, UseActiveOptions, UseQueryParamsHookOptions, VirtualRouter, isPageRoute, reactBrowserOptions, reactPageOptions, reactServerOptions, useActive, useQueryParams, useRouter, useRouterState };
1865
2077
  //# sourceMappingURL=index.d.ts.map