gemi 0.115.0 → 0.117.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 (348) hide show
  1. package/dist/ai/index.js +2 -2
  2. package/dist/ai/index.js.map +1 -1
  3. package/dist/app/index.js +2 -2
  4. package/dist/app/index.js.map +1 -1
  5. package/dist/auth/AuthServiceProvider.d.ts.map +1 -1
  6. package/dist/auth/config.d.ts +27 -0
  7. package/dist/auth/config.d.ts.map +1 -1
  8. package/dist/auth/connections/ConnectionManager.d.ts +133 -0
  9. package/dist/auth/connections/ConnectionManager.d.ts.map +1 -0
  10. package/dist/auth/connections/ConnectionStore.d.ts +146 -0
  11. package/dist/auth/connections/ConnectionStore.d.ts.map +1 -0
  12. package/dist/auth/connections/ConnectionsController.d.ts +23 -0
  13. package/dist/auth/connections/ConnectionsController.d.ts.map +1 -0
  14. package/dist/auth/connections/OAuthConnectionProvider.d.ts +105 -0
  15. package/dist/auth/connections/OAuthConnectionProvider.d.ts.map +1 -0
  16. package/dist/auth/connections/errors.d.ts +32 -0
  17. package/dist/auth/connections/errors.d.ts.map +1 -0
  18. package/dist/auth/oauth/oauthState.d.ts +15 -2
  19. package/dist/auth/oauth/oauthState.d.ts.map +1 -1
  20. package/dist/auth/routes.d.ts +13 -0
  21. package/dist/auth/routes.d.ts.map +1 -1
  22. package/dist/bin/orm/emit.d.ts.map +1 -1
  23. package/dist/bin/orm-generator.js +51 -4
  24. package/dist/bin/orm-generator.js.map +4 -4
  25. package/dist/bun/plugin.js +2 -2
  26. package/dist/bun/plugin.js.map +1 -1
  27. package/dist/bun/preload.js +2 -2
  28. package/dist/bun/preload.js.map +1 -1
  29. package/dist/chunk-00n3gwr8.js +71 -0
  30. package/dist/chunk-00n3gwr8.js.map +13 -0
  31. package/dist/{chunk-t4yh4nf9.js → chunk-076jezzg.js} +3 -3
  32. package/dist/{chunk-t4yh4nf9.js.map → chunk-076jezzg.js.map} +1 -1
  33. package/dist/{chunk-qjhw8nje.js → chunk-077rea02.js} +1 -1
  34. package/dist/{chunk-0av6xvm6.js → chunk-1ckha5dt.js} +3 -3
  35. package/dist/{chunk-0av6xvm6.js.map → chunk-1ckha5dt.js.map} +1 -1
  36. package/dist/{chunk-mschc94q.js → chunk-1zzd39qg.js} +2 -2
  37. package/dist/{chunk-mschc94q.js.map → chunk-1zzd39qg.js.map} +1 -1
  38. package/dist/{chunk-5stgtwqw.js → chunk-2bja99cq.js} +2 -2
  39. package/dist/{chunk-5stgtwqw.js.map → chunk-2bja99cq.js.map} +1 -1
  40. package/dist/chunk-2czfefn2.js +10 -0
  41. package/dist/{chunk-t4t3hqe0.js.map → chunk-2czfefn2.js.map} +5 -4
  42. package/dist/{chunk-aazmrxj9.js → chunk-37pk2cjg.js} +2 -2
  43. package/dist/{chunk-aazmrxj9.js.map → chunk-37pk2cjg.js.map} +1 -1
  44. package/dist/{chunk-qsrcdzan.js → chunk-3w4hk6q2.js} +3 -3
  45. package/dist/{chunk-qsrcdzan.js.map → chunk-3w4hk6q2.js.map} +1 -1
  46. package/dist/chunk-51w202vr.js +5 -0
  47. package/dist/{chunk-whtzggn6.js.map → chunk-51w202vr.js.map} +3 -4
  48. package/dist/{chunk-0z8ejxre.js → chunk-5m8vvtvn.js} +3 -3
  49. package/dist/{chunk-0z8ejxre.js.map → chunk-5m8vvtvn.js.map} +1 -1
  50. package/dist/{chunk-jafm3613.js → chunk-5p4z1fgc.js} +2 -2
  51. package/dist/{chunk-jafm3613.js.map → chunk-5p4z1fgc.js.map} +1 -1
  52. package/dist/{chunk-kejwjerj.js → chunk-5w6kyxsj.js} +2 -2
  53. package/dist/{chunk-kejwjerj.js.map → chunk-5w6kyxsj.js.map} +1 -1
  54. package/dist/{chunk-pyk3gzvc.js → chunk-62jw0vsf.js} +2 -2
  55. package/dist/{chunk-pyk3gzvc.js.map → chunk-62jw0vsf.js.map} +1 -1
  56. package/dist/chunk-63ewmmhc.js +5 -0
  57. package/dist/{chunk-t24p7gc6.js.map → chunk-63ewmmhc.js.map} +1 -1
  58. package/dist/{chunk-p1aqq0ga.js → chunk-6ggmk2eg.js} +3 -3
  59. package/dist/{chunk-p1aqq0ga.js.map → chunk-6ggmk2eg.js.map} +1 -1
  60. package/dist/{chunk-2tzm58j3.js → chunk-6y4nk9f1.js} +2 -2
  61. package/dist/{chunk-2tzm58j3.js.map → chunk-6y4nk9f1.js.map} +1 -1
  62. package/dist/{chunk-1hr4xht1.js → chunk-8gtc3s1y.js} +2 -2
  63. package/dist/{chunk-1hr4xht1.js.map → chunk-8gtc3s1y.js.map} +1 -1
  64. package/dist/{chunk-frerzsxq.js → chunk-a22h5cby.js} +2 -2
  65. package/dist/{chunk-frerzsxq.js.map → chunk-a22h5cby.js.map} +1 -1
  66. package/dist/{chunk-zyt2w03d.js → chunk-a32wfzdq.js} +2 -2
  67. package/dist/{chunk-zyt2w03d.js.map → chunk-a32wfzdq.js.map} +1 -1
  68. package/dist/{chunk-t04f3akb.js → chunk-a77586gv.js} +2 -2
  69. package/dist/{chunk-t04f3akb.js.map → chunk-a77586gv.js.map} +1 -1
  70. package/dist/chunk-a7r39713.js +5 -0
  71. package/dist/chunk-a7r39713.js.map +10 -0
  72. package/dist/{chunk-vxm6yevm.js → chunk-arwmvgrz.js} +2 -2
  73. package/dist/{chunk-vxm6yevm.js.map → chunk-arwmvgrz.js.map} +1 -1
  74. package/dist/{chunk-41da9628.js → chunk-bvqae0px.js} +1 -1
  75. package/dist/{chunk-d9mar37g.js → chunk-c2n6zdyd.js} +2 -2
  76. package/dist/{chunk-d9mar37g.js.map → chunk-c2n6zdyd.js.map} +1 -1
  77. package/dist/{chunk-56jky6vf.js → chunk-cytss9mb.js} +2 -2
  78. package/dist/{chunk-56jky6vf.js.map → chunk-cytss9mb.js.map} +1 -1
  79. package/dist/{chunk-vw8849ys.js → chunk-dcgvq79a.js} +2 -2
  80. package/dist/{chunk-m54s6jpr.js.map → chunk-dcgvq79a.js.map} +1 -1
  81. package/dist/{chunk-6chz1ktz.js → chunk-de4t48j9.js} +3 -3
  82. package/dist/{chunk-6chz1ktz.js.map → chunk-de4t48j9.js.map} +1 -1
  83. package/dist/{chunk-cbqazg9k.js → chunk-dz99g58c.js} +2 -2
  84. package/dist/{chunk-cbqazg9k.js.map → chunk-dz99g58c.js.map} +1 -1
  85. package/dist/{chunk-e573yxpq.js → chunk-e7ezmag9.js} +3 -3
  86. package/dist/{chunk-e573yxpq.js.map → chunk-e7ezmag9.js.map} +1 -1
  87. package/dist/{chunk-yer1r3t3.js → chunk-epvpmakp.js} +2 -2
  88. package/dist/{chunk-yer1r3t3.js.map → chunk-epvpmakp.js.map} +1 -1
  89. package/dist/{chunk-yhrye9cm.js → chunk-f8vcwzgd.js} +2 -2
  90. package/dist/{chunk-yhrye9cm.js.map → chunk-f8vcwzgd.js.map} +1 -1
  91. package/dist/chunk-fa37qzm3.js +5 -0
  92. package/dist/chunk-fa37qzm3.js.map +12 -0
  93. package/dist/{chunk-fxgxf16k.js → chunk-ffgmqwzy.js} +2 -2
  94. package/dist/{chunk-fxgxf16k.js.map → chunk-ffgmqwzy.js.map} +1 -1
  95. package/dist/{chunk-er3wf6ng.js → chunk-fk6nxhxn.js} +2 -2
  96. package/dist/{chunk-er3wf6ng.js.map → chunk-fk6nxhxn.js.map} +1 -1
  97. package/dist/{chunk-3hrj5rwm.js → chunk-fnwbbmnk.js} +2 -2
  98. package/dist/{chunk-3hrj5rwm.js.map → chunk-fnwbbmnk.js.map} +1 -1
  99. package/dist/chunk-g2wncay4.js +9 -0
  100. package/dist/{chunk-hytt9qyj.js.map → chunk-g2wncay4.js.map} +3 -4
  101. package/dist/{chunk-gts5p6mw.js → chunk-ge9xjwgq.js} +4 -4
  102. package/dist/{chunk-gts5p6mw.js.map → chunk-ge9xjwgq.js.map} +1 -1
  103. package/dist/{chunk-tw5kwbx4.js → chunk-gjy2qjcr.js} +2 -2
  104. package/dist/{chunk-tw5kwbx4.js.map → chunk-gjy2qjcr.js.map} +1 -1
  105. package/dist/{chunk-15c2vgaf.js → chunk-gn7kne7r.js} +2 -2
  106. package/dist/{chunk-15c2vgaf.js.map → chunk-gn7kne7r.js.map} +1 -1
  107. package/dist/{chunk-9n1hx3mq.js → chunk-hr61ekcr.js} +3 -3
  108. package/dist/{chunk-9n1hx3mq.js.map → chunk-hr61ekcr.js.map} +1 -1
  109. package/dist/{chunk-m54s6jpr.js → chunk-hvgmqt6z.js} +2 -2
  110. package/dist/{chunk-vw8849ys.js.map → chunk-hvgmqt6z.js.map} +1 -1
  111. package/dist/{chunk-aeh67ynz.js → chunk-hvpn18bb.js} +3 -3
  112. package/dist/{chunk-aeh67ynz.js.map → chunk-hvpn18bb.js.map} +1 -1
  113. package/dist/{chunk-jdhdrr2k.js → chunk-j1453bn1.js} +2 -2
  114. package/dist/{chunk-jdhdrr2k.js.map → chunk-j1453bn1.js.map} +1 -1
  115. package/dist/{chunk-tn2bryy2.js → chunk-jpetnpzn.js} +2 -2
  116. package/dist/{chunk-tn2bryy2.js.map → chunk-jpetnpzn.js.map} +1 -1
  117. package/dist/{chunk-mtbygktb.js → chunk-jqrs16g2.js} +3 -3
  118. package/dist/{chunk-mtbygktb.js.map → chunk-jqrs16g2.js.map} +1 -1
  119. package/dist/{chunk-4mfrgd5m.js → chunk-kk77x2v4.js} +2 -2
  120. package/dist/{chunk-4mfrgd5m.js.map → chunk-kk77x2v4.js.map} +1 -1
  121. package/dist/chunk-kpn7f58a.js +14 -0
  122. package/dist/{chunk-dexdkh3z.js.map → chunk-kpn7f58a.js.map} +11 -6
  123. package/dist/chunk-mhteg4yz.js +57 -0
  124. package/dist/{chunk-d6591xck.js.map → chunk-mhteg4yz.js.map} +16 -12
  125. package/dist/{chunk-n672d4g8.js → chunk-n9jyjp4a.js} +2 -2
  126. package/dist/{chunk-n672d4g8.js.map → chunk-n9jyjp4a.js.map} +1 -1
  127. package/dist/{chunk-vbdty91k.js → chunk-nb2gggba.js} +3 -3
  128. package/dist/{chunk-vbdty91k.js.map → chunk-nb2gggba.js.map} +1 -1
  129. package/dist/chunk-ntxsdchf.js +50 -0
  130. package/dist/chunk-ntxsdchf.js.map +10 -0
  131. package/dist/{chunk-2z1981d0.js → chunk-pepzecrm.js} +2 -2
  132. package/dist/{chunk-2z1981d0.js.map → chunk-pepzecrm.js.map} +1 -1
  133. package/dist/{chunk-785b41h1.js → chunk-pgy3mfxw.js} +3 -3
  134. package/dist/{chunk-785b41h1.js.map → chunk-pgy3mfxw.js.map} +1 -1
  135. package/dist/{chunk-98m15b9x.js → chunk-qhw0hej0.js} +2 -2
  136. package/dist/{chunk-98m15b9x.js.map → chunk-qhw0hej0.js.map} +1 -1
  137. package/dist/{chunk-303mprnv.js → chunk-r3v2cnrj.js} +2 -2
  138. package/dist/{chunk-303mprnv.js.map → chunk-r3v2cnrj.js.map} +1 -1
  139. package/dist/{chunk-ktr3k768.js → chunk-rhmpphhc.js} +3 -3
  140. package/dist/{chunk-ktr3k768.js.map → chunk-rhmpphhc.js.map} +1 -1
  141. package/dist/{chunk-fre6f4nk.js → chunk-s4f56035.js} +2 -2
  142. package/dist/{chunk-fre6f4nk.js.map → chunk-s4f56035.js.map} +1 -1
  143. package/dist/{chunk-sr942vb1.js → chunk-sj4f7x4p.js} +2 -2
  144. package/dist/{chunk-sr942vb1.js.map → chunk-sj4f7x4p.js.map} +1 -1
  145. package/dist/{chunk-wyw6p3fg.js → chunk-sksmnjkn.js} +3 -3
  146. package/dist/{chunk-wyw6p3fg.js.map → chunk-sksmnjkn.js.map} +1 -1
  147. package/dist/{chunk-kqxdsv22.js → chunk-stnd9qht.js} +2 -2
  148. package/dist/{chunk-kqxdsv22.js.map → chunk-stnd9qht.js.map} +1 -1
  149. package/dist/{chunk-1myhm0g3.js → chunk-t65074mw.js} +3 -3
  150. package/dist/{chunk-1myhm0g3.js.map → chunk-t65074mw.js.map} +1 -1
  151. package/dist/chunk-t87w4h84.js +24 -0
  152. package/dist/{chunk-wzrt5mac.js.map → chunk-t87w4h84.js.map} +2 -2
  153. package/dist/{chunk-z10cas5r.js → chunk-thz75w6e.js} +2 -2
  154. package/dist/{chunk-z10cas5r.js.map → chunk-thz75w6e.js.map} +1 -1
  155. package/dist/{chunk-xt9tv99x.js → chunk-v8vnxkvp.js} +2 -2
  156. package/dist/{chunk-xt9tv99x.js.map → chunk-v8vnxkvp.js.map} +1 -1
  157. package/dist/{chunk-x7cpth2f.js → chunk-veq07rp8.js} +1 -1
  158. package/dist/{chunk-agyfv3f8.js → chunk-vj5necm0.js} +1 -1
  159. package/dist/{chunk-mps6ynbh.js → chunk-vtc23xpk.js} +2 -2
  160. package/dist/{chunk-mps6ynbh.js.map → chunk-vtc23xpk.js.map} +1 -1
  161. package/dist/{chunk-jmpw6bqz.js → chunk-w4e480he.js} +2 -2
  162. package/dist/{chunk-jmpw6bqz.js.map → chunk-w4e480he.js.map} +1 -1
  163. package/dist/{chunk-8rv62v14.js → chunk-wgb79ysr.js} +2 -2
  164. package/dist/{chunk-8rv62v14.js.map → chunk-wgb79ysr.js.map} +1 -1
  165. package/dist/{chunk-1vzks22y.js → chunk-wk1tp1f1.js} +2 -2
  166. package/dist/{chunk-1vzks22y.js.map → chunk-wk1tp1f1.js.map} +1 -1
  167. package/dist/{chunk-bra1a1fq.js → chunk-wwdbgshx.js} +2 -2
  168. package/dist/{chunk-bra1a1fq.js.map → chunk-wwdbgshx.js.map} +1 -1
  169. package/dist/{chunk-eqse2m6n.js → chunk-wzzrz612.js} +2 -2
  170. package/dist/{chunk-eqse2m6n.js.map → chunk-wzzrz612.js.map} +1 -1
  171. package/dist/{chunk-hdps9n52.js → chunk-x7qwx07b.js} +3 -3
  172. package/dist/{chunk-hdps9n52.js.map → chunk-x7qwx07b.js.map} +1 -1
  173. package/dist/chunk-x84as3vy.js +5 -0
  174. package/dist/chunk-x84as3vy.js.map +12 -0
  175. package/dist/chunk-y0en07zh.js +302 -0
  176. package/dist/chunk-y0en07zh.js.map +17 -0
  177. package/dist/{chunk-d2gfcf85.js → chunk-yfwrbfnw.js} +2 -2
  178. package/dist/{chunk-d2gfcf85.js.map → chunk-yfwrbfnw.js.map} +1 -1
  179. package/dist/{chunk-mazznq15.js → chunk-yhp6bvhj.js} +3 -3
  180. package/dist/{chunk-mazznq15.js.map → chunk-yhp6bvhj.js.map} +1 -1
  181. package/dist/{chunk-tzm3c7n6.js → chunk-yvtmygrk.js} +4 -4
  182. package/dist/{chunk-tzm3c7n6.js.map → chunk-yvtmygrk.js.map} +1 -1
  183. package/dist/{chunk-mqfzdfnz.js → chunk-zkjs3m5m.js} +2 -2
  184. package/dist/{chunk-mqfzdfnz.js.map → chunk-zkjs3m5m.js.map} +1 -1
  185. package/dist/chunk-zw6843j3.js +5 -0
  186. package/dist/chunk-zw6843j3.js.map +12 -0
  187. package/dist/chunks/{ThemeProvider-BgLyzzOL.js → ThemeProvider-BLI4zpLu.js} +8 -3
  188. package/dist/chunks/ThemeProvider-BLI4zpLu.js.map +1 -0
  189. package/dist/client/ClientRouter.d.ts +3 -5
  190. package/dist/client/ClientRouter.d.ts.map +1 -1
  191. package/dist/client/ClientRouterContext.d.ts.map +1 -1
  192. package/dist/client/Head.d.ts +1 -1
  193. package/dist/client/Head.d.ts.map +1 -1
  194. package/dist/client/ServerDataProvider.d.ts +2 -0
  195. package/dist/client/ServerDataProvider.d.ts.map +1 -1
  196. package/dist/client/createRoot.d.ts +2 -4
  197. package/dist/client/createRoot.d.ts.map +1 -1
  198. package/dist/client/fonts.d.ts +69 -0
  199. package/dist/client/fonts.d.ts.map +1 -0
  200. package/dist/client/htmlAttributes.d.ts +18 -0
  201. package/dist/client/htmlAttributes.d.ts.map +1 -0
  202. package/dist/client/index.d.ts +2 -0
  203. package/dist/client/index.d.ts.map +1 -1
  204. package/dist/client/index.js +153 -6
  205. package/dist/client/index.js.map +1 -1
  206. package/dist/config/index.js +1 -1
  207. package/dist/console/builtins.d.ts +13 -0
  208. package/dist/console/builtins.d.ts.map +1 -0
  209. package/dist/console/run.js +13 -11
  210. package/dist/console/run.js.map +6 -5
  211. package/dist/console/runner.d.ts.map +1 -1
  212. package/dist/console/usage.d.ts +2 -0
  213. package/dist/console/usage.d.ts.map +1 -1
  214. package/dist/container/index.js +2 -2
  215. package/dist/container/index.js.map +1 -1
  216. package/dist/database/index.js +2 -2
  217. package/dist/database/index.js.map +1 -1
  218. package/dist/email/index.js +2 -2
  219. package/dist/email/index.js.map +1 -1
  220. package/dist/facades/Connections.d.ts +36 -0
  221. package/dist/facades/Connections.d.ts.map +1 -0
  222. package/dist/facades/Crypt.d.ts +26 -0
  223. package/dist/facades/Crypt.d.ts.map +1 -0
  224. package/dist/facades/Meta.d.ts +17 -1
  225. package/dist/facades/Meta.d.ts.map +1 -1
  226. package/dist/facades/Storage.d.ts +29 -0
  227. package/dist/facades/Storage.d.ts.map +1 -1
  228. package/dist/facades/index.d.ts +2 -0
  229. package/dist/facades/index.d.ts.map +1 -1
  230. package/dist/facades/index.js +2 -2
  231. package/dist/facades/index.js.map +1 -1
  232. package/dist/foundation/index.js +2 -2
  233. package/dist/foundation/index.js.map +1 -1
  234. package/dist/http/HttpRequest.d.ts +4 -0
  235. package/dist/http/HttpRequest.d.ts.map +1 -1
  236. package/dist/http/Metadata.d.ts +28 -0
  237. package/dist/http/Metadata.d.ts.map +1 -1
  238. package/dist/http/index.d.ts +3 -1
  239. package/dist/http/index.d.ts.map +1 -1
  240. package/dist/http/index.js +2 -2
  241. package/dist/http/index.js.map +1 -1
  242. package/dist/http/requestContext.d.ts +4 -0
  243. package/dist/http/requestContext.d.ts.map +1 -1
  244. package/dist/http/safeFetch/errors.d.ts +10 -0
  245. package/dist/http/safeFetch/errors.d.ts.map +1 -1
  246. package/dist/http/safeFetch/index.d.ts +1 -1
  247. package/dist/http/safeFetch/index.d.ts.map +1 -1
  248. package/dist/http/sitemap/Robots.d.ts +95 -0
  249. package/dist/http/sitemap/Robots.d.ts.map +1 -0
  250. package/dist/http/sitemap/Sitemap.d.ts +145 -0
  251. package/dist/http/sitemap/Sitemap.d.ts.map +1 -0
  252. package/dist/http/sitemap/fetchText.d.ts +16 -0
  253. package/dist/http/sitemap/fetchText.d.ts.map +1 -0
  254. package/dist/http/sitemap/index.d.ts +3 -0
  255. package/dist/http/sitemap/index.d.ts.map +1 -0
  256. package/dist/http/sitemap/xml.d.ts +21 -0
  257. package/dist/http/sitemap/xml.d.ts.map +1 -0
  258. package/dist/i18n/Translator.d.ts.map +1 -1
  259. package/dist/i18n/dictionaryRuntime.js +2 -2
  260. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  261. package/dist/i18n/index.d.ts +1 -0
  262. package/dist/i18n/index.d.ts.map +1 -1
  263. package/dist/i18n/index.js +2 -2
  264. package/dist/i18n/index.js.map +2 -2
  265. package/dist/i18n/resolveLocale.d.ts +18 -0
  266. package/dist/i18n/resolveLocale.d.ts.map +1 -1
  267. package/dist/kernel/index.js +3 -3
  268. package/dist/kernel/index.js.map +3 -3
  269. package/dist/kernel/providers.d.ts +2 -2
  270. package/dist/kernel/providers.d.ts.map +1 -1
  271. package/dist/orm/Model.d.ts.map +1 -1
  272. package/dist/orm/encryption-rotate.d.ts +44 -0
  273. package/dist/orm/encryption-rotate.d.ts.map +1 -0
  274. package/dist/orm/encryption.d.ts +54 -0
  275. package/dist/orm/encryption.d.ts.map +1 -0
  276. package/dist/orm/index.d.ts +2 -0
  277. package/dist/orm/index.d.ts.map +1 -1
  278. package/dist/orm/index.js +3 -3
  279. package/dist/orm/index.js.map +4 -4
  280. package/dist/orm/schema.d.ts +25 -1
  281. package/dist/orm/schema.d.ts.map +1 -1
  282. package/dist/server/index.js +2 -2
  283. package/dist/server/index.js.map +1 -1
  284. package/dist/services/encryption/Encrypter.d.ts +86 -0
  285. package/dist/services/encryption/Encrypter.d.ts.map +1 -0
  286. package/dist/services/encryption/EncryptionServiceProvider.d.ts +13 -0
  287. package/dist/services/encryption/EncryptionServiceProvider.d.ts.map +1 -0
  288. package/dist/services/encryption/config.d.ts +36 -0
  289. package/dist/services/encryption/config.d.ts.map +1 -0
  290. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts +12 -1
  291. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts.map +1 -1
  292. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts +8 -1
  293. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts.map +1 -1
  294. package/dist/services/file-storage/drivers/types.d.ts +17 -0
  295. package/dist/services/file-storage/drivers/types.d.ts.map +1 -1
  296. package/dist/services/file-storage/putFromUrl.d.ts +56 -0
  297. package/dist/services/file-storage/putFromUrl.d.ts.map +1 -0
  298. package/dist/services/file-storage/sniffContentType.d.ts +33 -0
  299. package/dist/services/file-storage/sniffContentType.d.ts.map +1 -0
  300. package/dist/services/index.d.ts +19 -5
  301. package/dist/services/index.d.ts.map +1 -1
  302. package/dist/services/index.js +10 -10
  303. package/dist/services/index.js.map +4 -3
  304. package/dist/services/queue/DatabaseQueueDriver.d.ts +96 -7
  305. package/dist/services/queue/DatabaseQueueDriver.d.ts.map +1 -1
  306. package/dist/services/queue/Job.d.ts +72 -0
  307. package/dist/services/queue/Job.d.ts.map +1 -1
  308. package/dist/services/queue/MemoryQueueDriver.d.ts +22 -2
  309. package/dist/services/queue/MemoryQueueDriver.d.ts.map +1 -1
  310. package/dist/services/queue/QueueDriver.d.ts +74 -1
  311. package/dist/services/queue/QueueDriver.d.ts.map +1 -1
  312. package/dist/services/queue/QueueManager.d.ts +47 -0
  313. package/dist/services/queue/QueueManager.d.ts.map +1 -1
  314. package/dist/services/queue/batch.d.ts +112 -0
  315. package/dist/services/queue/batch.d.ts.map +1 -0
  316. package/dist/services/queue/queueDriverContract.d.ts +5 -0
  317. package/dist/services/queue/queueDriverContract.d.ts.map +1 -1
  318. package/dist/services/queue/work.js +2 -2
  319. package/dist/services/queue/work.js.map +1 -1
  320. package/dist/services/router/ViewRouteDispatcher.d.ts +3 -1
  321. package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
  322. package/dist/services/router/config.d.ts +19 -0
  323. package/dist/services/router/config.d.ts.map +1 -1
  324. package/dist/stats/route-table.js +1 -1
  325. package/dist/support/index.js +2 -2
  326. package/dist/support/index.js.map +1 -1
  327. package/dist/testing/index.js +1 -1
  328. package/dist/vitest/index.js +2 -2
  329. package/dist/vitest/index.js.map +1 -1
  330. package/package.json +1 -1
  331. package/dist/chunk-7g9yh5ae.js +0 -5
  332. package/dist/chunk-7g9yh5ae.js.map +0 -12
  333. package/dist/chunk-7vb4eey2.js +0 -217
  334. package/dist/chunk-7vb4eey2.js.map +0 -16
  335. package/dist/chunk-9b4erdy2.js +0 -5
  336. package/dist/chunk-9b4erdy2.js.map +0 -11
  337. package/dist/chunk-d6591xck.js +0 -46
  338. package/dist/chunk-dexdkh3z.js +0 -14
  339. package/dist/chunk-hytt9qyj.js +0 -54
  340. package/dist/chunk-t24p7gc6.js +0 -5
  341. package/dist/chunk-t4t3hqe0.js +0 -10
  342. package/dist/chunk-whtzggn6.js +0 -5
  343. package/dist/chunk-wzrt5mac.js +0 -24
  344. package/dist/chunks/ThemeProvider-BgLyzzOL.js.map +0 -1
  345. /package/dist/{chunk-qjhw8nje.js.map → chunk-077rea02.js.map} +0 -0
  346. /package/dist/{chunk-41da9628.js.map → chunk-bvqae0px.js.map} +0 -0
  347. /package/dist/{chunk-x7cpth2f.js.map → chunk-veq07rp8.js.map} +0 -0
  348. /package/dist/{chunk-agyfv3f8.js.map → chunk-vj5necm0.js.map} +0 -0
@@ -1,7 +1,8 @@
1
- import type { ReactNode, ComponentType, lazy } from "react";
1
+ import type { ComponentType, lazy } from "react";
2
2
  import type { ComponentTree } from "./types";
3
3
  import { type QueryConfig } from "./QueryManagerContext";
4
4
  import { Action } from "history";
5
+ import { type RootLayoutProps } from "./htmlAttributes";
5
6
  declare global {
6
7
  interface Window {
7
8
  scrollHistory: Map<string, number>;
@@ -20,10 +21,7 @@ export declare const ClientRouter: (props: {
20
21
  viewImportMap?: Record<string, ReturnType<typeof lazy>>;
21
22
  /** Server only: full view modules for `Loading`/`Error` fallbacks. */
22
23
  viewModules?: Record<string, Record<string, any>>;
23
- RootLayout: ComponentType<{
24
- children: ReactNode;
25
- locale: string;
26
- }>;
24
+ RootLayout: ComponentType<RootLayoutProps>;
27
25
  /** App-wide `useQuery` defaults; per-call config always wins. */
28
26
  queryConfig?: QueryConfig;
29
27
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ClientRouter.d.ts","sourceRoot":"","sources":["../../client/ClientRouter.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAqB,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAK/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAWjC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;KACrC;CACF;AA8FD,eAAO,MAAM,IAAI,8CACP;IACN,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,6CAoDF,CAAC;AAwOF,eAAO,MAAM,YAAY,GAAI,OAAO;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACxD,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,iEAAiE;IACjE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,4CA6CA,CAAC"}
1
+ {"version":3,"file":"ClientRouter.d.ts","sourceRoot":"","sources":["../../client/ClientRouter.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAqB,aAAa,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAS/E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;KACrC;CACF;AA8FD,eAAO,MAAM,IAAI,8CACP;IACN,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,6CAoDF,CAAC;AAwOF,eAAO,MAAM,YAAY,GAAI,OAAO;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACxD,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC3C,iEAAiE;IACjE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,4CAkDA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClientRouterContext.d.ts","sourceRoot":"","sources":["../../client/ClientRouterContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientRouterContext.d.ts","sourceRoot":"","sources":["../../client/ClientRouterContext.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- export declare function updateMeta(meta: any): void;
2
+ export declare function updateMeta(meta: any, locale?: string | null): void;
3
3
  export declare const Head: ({ children, charSet, }: {
4
4
  children?: ReactNode;
5
5
  charSet?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Head.d.ts","sourceRoot":"","sources":["../../client/Head.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAGnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,QAqBnC;AAmED,eAAO,MAAM,IAAI,GAAI,wBAGlB;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,4CAuB5C,CAAC"}
1
+ {"version":3,"file":"Head.d.ts","sourceRoot":"","sources":["../../client/Head.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAmCnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,QAoD3D;AAmED,eAAO,MAAM,IAAI,GAAI,wBAGlB;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,4CA6D5C,CAAC"}
@@ -35,6 +35,8 @@ export interface ServerDataContextValue {
35
35
  defaultLocale: string;
36
36
  /** The IANA zone dates are formatted in, resolved on the server. */
37
37
  timeZone?: string;
38
+ /** `"off"` when these views are out of locale routing (`ViewRouteConfig.localeRouting`). */
39
+ localeRouting?: "off";
38
40
  };
39
41
  componentTree: ComponentTree;
40
42
  auth: {
@@ -1 +1 @@
1
- {"version":3,"file":"ServerDataProvider.d.ts","sourceRoot":"","sources":["../../client/ServerDataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhC,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,OAAO,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,2FAA2F;QAC3F,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,IAAI,CAAC;KACV,CAAC;IACF,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,oEAAoE;QACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,0EAA0E;IAC1E,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,iDAA8C,CAAC;AAE7E,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED,eAAO,MAAM,kBAAkB,GAC7B,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,4CAgBlD,CAAC"}
1
+ {"version":3,"file":"ServerDataProvider.d.ts","sourceRoot":"","sources":["../../client/ServerDataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhC,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,OAAO,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,2FAA2F;QAC3F,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,IAAI,CAAC;KACV,CAAC;IACF,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,oEAAoE;QACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,4FAA4F;QAC5F,aAAa,CAAC,EAAE,KAAK,CAAC;KACvB,CAAC;IACF,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;IACF;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,0EAA0E;IAC1E,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,iDAA8C,CAAC;AAE7E,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED,eAAO,MAAM,kBAAkB,GAC7B,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,4CAgBlD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ComponentType } from "react";
2
+ import type { RootLayoutProps } from "./htmlAttributes";
2
3
  import type { QueryConfig } from "./QueryManagerContext";
3
4
  export interface CreateRootOptions {
4
5
  /**
@@ -8,8 +9,5 @@ export interface CreateRootOptions {
8
9
  */
9
10
  queryConfig?: QueryConfig;
10
11
  }
11
- export declare function createRoot(RootLayout: ComponentType<{
12
- children: React.ReactNode;
13
- locale: string;
14
- }>, options?: CreateRootOptions): (props: any) => import("react/jsx-runtime").JSX.Element;
12
+ export declare function createRoot(RootLayout: ComponentType<RootLayoutProps>, options?: CreateRootOptions): (props: any) => import("react/jsx-runtime").JSX.Element;
15
13
  //# sourceMappingURL=createRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createRoot.d.ts","sourceRoot":"","sources":["../../client/createRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,UAAU,CACxB,UAAU,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACxE,OAAO,GAAE,iBAAsB,IAMvB,OAAO,GAAG,6CAcnB"}
1
+ {"version":3,"file":"createRoot.d.ts","sourceRoot":"","sources":["../../client/createRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,UAAU,CACxB,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,EAC1C,OAAO,GAAE,iBAAsB,IAMvB,OAAO,GAAG,6CAcnB"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * `Meta.fonts`: the `@font-face` rules and font preloads of one response.
3
+ * Pure, so the server (validation) and `<Head />` (rendering) share it.
4
+ */
5
+ /** A font file format, as `@font-face`'s `format()` names it. */
6
+ export type FontFormat = "woff2" | "woff" | "truetype" | "opentype" | "collection" | "embedded-opentype" | "svg";
7
+ /** One file of a font; list the preferred format first. */
8
+ export type FontSource = {
9
+ url: string;
10
+ /** Inferred from the url's extension when left out. */
11
+ format?: FontFormat;
12
+ };
13
+ /** One `@font-face`, see `Meta.fonts`. */
14
+ export type MetaFont = {
15
+ /** The `font-family` name that CSS refers to, e.g. `"Acme Sans"`. */
16
+ family: string;
17
+ /** A url, or several files with the preferred one first. */
18
+ src: string | FontSource[];
19
+ /** `font-weight`: `400`, `"bold"`, or a range for a variable font, `"100 900"`. */
20
+ weight?: string | number;
21
+ /** `font-style`: `"normal"`, `"italic"`, `"oblique 10deg"`. */
22
+ style?: string;
23
+ /** `font-stretch`: `"condensed"`, `"75% 125%"`. */
24
+ stretch?: string;
25
+ /** `font-display`. Defaults to `"swap"`. */
26
+ display?: "auto" | "block" | "swap" | "fallback" | "optional";
27
+ /** `unicode-range`, e.g. `"U+0000-00FF, U+0131"`. */
28
+ unicodeRange?: string;
29
+ /**
30
+ * Preload the first file with `<link rel="preload" as="font" crossorigin>`.
31
+ * Only for fonts the page renders above the fold: a preloaded font that is
32
+ * never used is a wasted download (and a console warning).
33
+ */
34
+ preload?: boolean;
35
+ };
36
+ /** A font after `normalizeFonts`: validated, with every source's format resolved. */
37
+ export type NormalizedFont = {
38
+ family: string;
39
+ src: {
40
+ url: string;
41
+ format: FontFormat | null;
42
+ }[];
43
+ weight: string | null;
44
+ style: string | null;
45
+ stretch: string | null;
46
+ display: NonNullable<MetaFont["display"]>;
47
+ unicodeRange: string | null;
48
+ preload: boolean;
49
+ };
50
+ export type FontPreload = {
51
+ href: string;
52
+ type: string | null;
53
+ };
54
+ /** The format a url's extension implies (`.woff2` → `"woff2"`), ignoring query and hash. */
55
+ export declare function fontFormatOf(url: string): FontFormat | null;
56
+ /** Validates what a handler passed; throws a `TypeError` naming the bad value. */
57
+ export declare function normalizeFonts(fonts: MetaFont[]): NormalizedFont[];
58
+ /**
59
+ * A CSS string literal holding `value`. Quotes, backslashes, control
60
+ * characters and `<` (so `</style>` can't close the element) are escaped.
61
+ */
62
+ export declare function cssString(value: string): string;
63
+ /** One `@font-face` rule. */
64
+ export declare function fontFaceRule(font: NormalizedFont): string;
65
+ /** The `@font-face` rules for `fonts`, an identical font declared twice once. */
66
+ export declare function fontFaceRules(fonts: NormalizedFont[] | null | undefined): string[];
67
+ /** The first file of every font marked `preload`, each url once. */
68
+ export declare function fontPreloads(fonts: NormalizedFont[] | null | undefined): FontPreload[];
69
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../client/fonts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,YAAY,GACZ,mBAAmB,GACnB,KAAK,CAAC;AAEV,2DAA2D;AAC3D,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,QAAQ,GAAG;IACrB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IAC9D,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAClD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAyChE,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAI3D;AAWD,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAsClE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAczD;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAElF;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,EAAE,CAYtF"}
@@ -0,0 +1,18 @@
1
+ import type { HtmlAttributes } from "../http/Metadata";
2
+ export type { HtmlAttributes };
3
+ /** The direction `lang` is written in: `"rtl"` for Arabic, Hebrew and the like, else `"ltr"`. */
4
+ export declare function textDirection(lang: string | null | undefined): "ltr" | "rtl";
5
+ /**
6
+ * The `<html>` attributes a layout receives: what the response set with
7
+ * `Meta.htmlAttributes`, else the request's locale and its direction.
8
+ */
9
+ export declare function resolveHtmlAttributes(set: HtmlAttributes | null | undefined, locale: string | null | undefined): Required<Pick<HtmlAttributes, "lang" | "dir">> & HtmlAttributes;
10
+ /** The props gemi renders a root layout (or a static view's layout) with. */
11
+ export interface RootLayoutProps {
12
+ children: React.ReactNode;
13
+ /** The request's locale; empty when the app configures none. */
14
+ locale: string;
15
+ /** For `<html {...htmlAttributes}>`: `lang` and `dir`, see `Meta.htmlAttributes`. */
16
+ htmlAttributes: ReturnType<typeof resolveHtmlAttributes>;
17
+ }
18
+ //# sourceMappingURL=htmlAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlAttributes.d.ts","sourceRoot":"","sources":["../../client/htmlAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,YAAY,EAAE,cAAc,EAAE,CAAC;AAK/B,iGAAiG;AACjG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,CAG5E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACtC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,cAAc,CAGjE;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,cAAc,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAC1D"}
@@ -41,6 +41,8 @@ export type { ViewProps, LayoutProps, ViewPaths } from "./types";
41
41
  export type { CreateI18nDictionary } from "./I18nContext";
42
42
  export { Image } from "./Image";
43
43
  export { Head } from "./Head";
44
+ export { textDirection, type HtmlAttributes, type RootLayoutProps, } from "./htmlAttributes";
45
+ export type { MetaFont, FontSource, FontFormat } from "./fonts";
44
46
  export { useForgotPassword } from "./auth/useForgotPassword";
45
47
  export { useSignIn } from "./auth/useSignIn";
46
48
  export { useSignUp } from "./auth/useSignUp";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { A as useLocation, B as QueryManagerProvider, C as useRoute, D as I18nProvider, E as I18nContext, G as retryDelayFor, H as pickDefined, I as toVariantKey, J as Subject, K as shouldRetryQuery, L as applyParams$1, M as isAbsoluteUrl, O as ServerDataContext, P as Action, R as QueryConfigContext, S as routeDataUrl, T as useNavigate, U as DEFAULT_STALE_TIME, V as USER_QUERY_CONFIG_KEYS, W as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryError, r as m, s as ClientRouterProvider, t as ThemeProvider, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as QueryManagerContext } from "../chunks/ThemeProvider-BgLyzzOL.js";
1
+ import { A as useLocation, B as QueryManagerProvider, C as useRoute, D as I18nProvider, E as I18nContext, G as retryDelayFor, H as pickDefined, I as toVariantKey, J as Subject, K as shouldRetryQuery, L as applyParams$1, M as isAbsoluteUrl, O as ServerDataContext, P as Action, R as QueryConfigContext, S as routeDataUrl, T as useNavigate, U as DEFAULT_STALE_TIME, V as USER_QUERY_CONFIG_KEYS, W as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryError, r as m, s as ClientRouterProvider, t as ThemeProvider, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as QueryManagerContext } from "../chunks/ThemeProvider-BLI4zpLu.js";
2
2
  import { n as RouteStateContext, r as RouteStateProvider, t as useParams } from "../chunks/useParams-BN3XXfmG.js";
3
3
  import { Fragment, StrictMode, Suspense, createContext, createElement, isValidElement, lazy, memo, use, useCallback, useContext, useDeferredValue, useEffect, useMemo, useRef, useState, useSyncExternalStore, useTransition } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1610,10 +1610,135 @@ var Redirect = (props) => {
1610
1610
  return /* @__PURE__ */ jsx(Fragment$1, {});
1611
1611
  };
1612
1612
  //#endregion
1613
+ //#region client/htmlAttributes.ts
1614
+ var RTL_LANGUAGES = /* @__PURE__ */ new Set([
1615
+ "ar",
1616
+ "arc",
1617
+ "ckb",
1618
+ "dv",
1619
+ "fa",
1620
+ "he",
1621
+ "iw",
1622
+ "ks",
1623
+ "ps",
1624
+ "sd",
1625
+ "ug",
1626
+ "ur",
1627
+ "yi"
1628
+ ]);
1629
+ /** The direction `lang` is written in: `"rtl"` for Arabic, Hebrew and the like, else `"ltr"`. */
1630
+ function textDirection(lang) {
1631
+ const language = lang?.split(/[-_]/)[0]?.toLowerCase() ?? "";
1632
+ return RTL_LANGUAGES.has(language) ? "rtl" : "ltr";
1633
+ }
1634
+ /**
1635
+ * The `<html>` attributes a layout receives: what the response set with
1636
+ * `Meta.htmlAttributes`, else the request's locale and its direction.
1637
+ */
1638
+ function resolveHtmlAttributes(set, locale) {
1639
+ const lang = set?.lang ?? locale ?? "en";
1640
+ return {
1641
+ ...set,
1642
+ lang,
1643
+ dir: set?.dir ?? textDirection(lang)
1644
+ };
1645
+ }
1646
+ //#endregion
1647
+ //#region client/fonts.ts
1648
+ var MIME_BY_FORMAT = {
1649
+ woff2: "font/woff2",
1650
+ woff: "font/woff",
1651
+ truetype: "font/ttf",
1652
+ opentype: "font/otf",
1653
+ collection: "font/collection"
1654
+ };
1655
+ /**
1656
+ * A CSS string literal holding `value`. Quotes, backslashes, control
1657
+ * characters and `<` (so `</style>` can't close the element) are escaped.
1658
+ */
1659
+ function cssString(value) {
1660
+ return `"${value.replace(/[\\"<>\u0000-\u001f\u007f]/g, (char) => char === "\\" || char === "\"" ? `\\${char}` : `\\${char.charCodeAt(0).toString(16)} `)}"`;
1661
+ }
1662
+ /** One `@font-face` rule. */
1663
+ function fontFaceRule(font) {
1664
+ const src = font.src.map(({ url, format }) => `url(${cssString(url)})${format ? ` format(${cssString(format)})` : ""}`).join(", ");
1665
+ return `@font-face { ${[
1666
+ `font-family: ${cssString(font.family)}`,
1667
+ `src: ${src}`,
1668
+ font.weight && `font-weight: ${font.weight}`,
1669
+ font.style && `font-style: ${font.style}`,
1670
+ font.stretch && `font-stretch: ${font.stretch}`,
1671
+ `font-display: ${font.display}`,
1672
+ font.unicodeRange && `unicode-range: ${font.unicodeRange}`
1673
+ ].filter(Boolean).join("; ")}; }`;
1674
+ }
1675
+ /** The `@font-face` rules for `fonts`, an identical font declared twice once. */
1676
+ function fontFaceRules(fonts) {
1677
+ return [...new Set((fonts ?? []).map(fontFaceRule))];
1678
+ }
1679
+ /** The first file of every font marked `preload`, each url once. */
1680
+ function fontPreloads(fonts) {
1681
+ const preloads = /* @__PURE__ */ new Map();
1682
+ for (const font of fonts ?? []) {
1683
+ const first = font.preload ? font.src[0] : void 0;
1684
+ if (first && !preloads.has(first.url)) preloads.set(first.url, {
1685
+ href: first.url,
1686
+ type: (first.format && MIME_BY_FORMAT[first.format]) ?? null
1687
+ });
1688
+ }
1689
+ return [...preloads.values()];
1690
+ }
1691
+ //#endregion
1613
1692
  //#region client/Head.tsx
1614
- function updateMeta(meta) {
1693
+ /** Marks the `<link>`s rendered from metadata, so a navigation can replace them. */
1694
+ var GEMI_META_ATTRIBUTE = "data-gemi-meta";
1695
+ function metaLinks(canonical, alternates) {
1696
+ const links = [];
1697
+ if (canonical) links.push({
1698
+ rel: "canonical",
1699
+ href: canonical
1700
+ });
1701
+ for (const { hrefLang, href } of alternates ?? []) links.push({
1702
+ rel: "alternate",
1703
+ href,
1704
+ hrefLang
1705
+ });
1706
+ return links;
1707
+ }
1708
+ /** Marks the `<style>`s holding `Meta.fonts`' `@font-face` rules. */
1709
+ var GEMI_FONTS_ATTRIBUTE = "data-gemi-fonts";
1710
+ /**
1711
+ * The `@font-face` rules already in the document. A navigation adds the new
1712
+ * page's and removes none: a skipped layout's fonts are still in use, and an
1713
+ * unused `@font-face` costs nothing (it is only fetched when text uses it).
1714
+ */
1715
+ var appliedFontRules = /* @__PURE__ */ new Set();
1716
+ /** Whether a navigation has set `<html>` attributes from metadata. */
1717
+ var htmlAttributesApplied = false;
1718
+ function updateMeta(meta, locale) {
1615
1719
  if (!meta) return;
1616
- const { title, description } = meta;
1720
+ const { title, description, htmlAttributes, canonical, alternates, fonts } = meta;
1721
+ if (htmlAttributes || htmlAttributesApplied) {
1722
+ htmlAttributesApplied = true;
1723
+ for (const [name, value] of Object.entries(resolveHtmlAttributes(htmlAttributes, locale))) if (typeof value === "string") document.documentElement.setAttribute(name, value);
1724
+ }
1725
+ document.head.querySelectorAll(`link[${GEMI_META_ATTRIBUTE}]`).forEach((link) => link.remove());
1726
+ for (const link of metaLinks(canonical, alternates)) {
1727
+ const element = document.createElement("link");
1728
+ element.setAttribute("rel", link.rel);
1729
+ element.setAttribute("href", link.href);
1730
+ if (link.hrefLang) element.setAttribute("hreflang", link.hrefLang);
1731
+ element.setAttribute(GEMI_META_ATTRIBUTE, "");
1732
+ document.head.appendChild(element);
1733
+ }
1734
+ const newFontRules = fontFaceRules(fonts).filter((rule) => !appliedFontRules.has(rule));
1735
+ if (newFontRules.length > 0) {
1736
+ const style = document.createElement("style");
1737
+ style.setAttribute(GEMI_FONTS_ATTRIBUTE, "");
1738
+ style.textContent = newFontRules.join("\n");
1739
+ document.head.appendChild(style);
1740
+ for (const rule of newFontRules) appliedFontRules.add(rule);
1741
+ }
1617
1742
  if (title) document.title = title;
1618
1743
  if (description) {
1619
1744
  const desc = document.querySelector("meta[name='description']");
@@ -1684,6 +1809,9 @@ var OpenGraph = (props) => {
1684
1809
  };
1685
1810
  var Head = ({ children = null, charSet = "utf-8" }) => {
1686
1811
  const { meta } = useContext(ServerDataContext);
1812
+ if (meta?.htmlAttributes) htmlAttributesApplied = true;
1813
+ const fontRules = fontFaceRules(meta?.fonts);
1814
+ if (typeof window !== "undefined") for (const rule of fontRules) appliedFontRules.add(rule);
1687
1815
  return /* @__PURE__ */ jsxs("head", { children: [
1688
1816
  /* @__PURE__ */ jsx("meta", { charSet }),
1689
1817
  /* @__PURE__ */ jsx("meta", {
@@ -1700,6 +1828,23 @@ var Head = ({ children = null, charSet = "utf-8" }) => {
1700
1828
  content: meta.description
1701
1829
  }),
1702
1830
  meta?.openGraph && /* @__PURE__ */ jsx(OpenGraph, { ...meta.openGraph }),
1831
+ metaLinks(meta?.canonical, meta?.alternates).map((link) => /* @__PURE__ */ jsx("link", {
1832
+ rel: link.rel,
1833
+ href: link.href,
1834
+ hrefLang: link.hrefLang,
1835
+ [GEMI_META_ATTRIBUTE]: ""
1836
+ }, `${link.rel}:${link.hrefLang ?? ""}:${link.href}`)),
1837
+ fontPreloads(meta?.fonts).map((preload) => /* @__PURE__ */ jsx("link", {
1838
+ rel: "preload",
1839
+ as: "font",
1840
+ href: preload.href,
1841
+ type: preload.type ?? void 0,
1842
+ crossOrigin: ""
1843
+ }, `preload:${preload.href}`)),
1844
+ fontRules.length > 0 && /* @__PURE__ */ jsx("style", {
1845
+ [GEMI_FONTS_ATTRIBUTE]: "",
1846
+ dangerouslySetInnerHTML: { __html: fontRules.join("\n") }
1847
+ }),
1703
1848
  children
1704
1849
  ] });
1705
1850
  };
@@ -2013,7 +2158,7 @@ var Routes = (props) => {
2013
2158
  });
2014
2159
  if (payload) {
2015
2160
  const { data, i18n, prefetchedData, breadcrumbs, meta, directive = {}, is404 = false, appId, features } = payload;
2016
- updateMeta(meta);
2161
+ updateMeta(meta, i18n?.currentLocale ?? i18n?.defaultLocale);
2017
2162
  if (directive?.kind === "Redirect") {
2018
2163
  if (isExternalRedirect(directive?.path)) window.location.replace(directive.path);
2019
2164
  else if (directive?.path) replace(directive.path);
@@ -2080,7 +2225,8 @@ var Routes = (props) => {
2080
2225
  };
2081
2226
  var ClientRouter = (props) => {
2082
2227
  const { RootLayout } = props;
2083
- const { routeManifest, router, componentTree, pageData, cssManifest, modulePreloadManifest, assetBase, breadcrumbs, i18n } = useContext(ServerDataContext);
2228
+ const { routeManifest, router, componentTree, pageData, cssManifest, modulePreloadManifest, assetBase, breadcrumbs, i18n, meta } = useContext(ServerDataContext);
2229
+ const htmlAttributes = resolveHtmlAttributes(meta?.htmlAttributes, i18n.currentLocale ?? i18n.defaultLocale);
2084
2230
  return /* @__PURE__ */ jsx(ThemeProvider, { children: /* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(QueryManagerProvider, {
2085
2231
  queryConfig: props.queryConfig,
2086
2232
  children: /* @__PURE__ */ jsx(ComponentsProvider, {
@@ -2102,6 +2248,7 @@ var ClientRouter = (props) => {
2102
2248
  urlLocaleSegment: router.urlLocaleSegment,
2103
2249
  children: /* @__PURE__ */ jsx(StrictMode, { children: /* @__PURE__ */ jsx(RootLayout, {
2104
2250
  locale: i18n.currentLocale,
2251
+ htmlAttributes,
2105
2252
  children: /* @__PURE__ */ jsx(Routes, { componentTree })
2106
2253
  }) })
2107
2254
  })
@@ -2980,6 +3127,6 @@ function island(loader, options = {}) {
2980
3127
  return Island;
2981
3128
  }
2982
3129
  //#endregion
2983
- export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, create, createRoot, defineDictionary, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorKind, recoverFromChunkLoadError, useAppIdMissmatch, useBreadcrumbs, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
3130
+ export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, create, createRoot, defineDictionary, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorKind, recoverFromChunkLoadError, textDirection, useAppIdMissmatch, useBreadcrumbs, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
2984
3131
 
2985
3132
  //# sourceMappingURL=index.js.map