gemi 0.114.0 → 0.116.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 (223) 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 +1 -1
  4. package/dist/bun/plugin.js +1 -1
  5. package/dist/bun/preload.js +1 -1
  6. package/dist/{chunk-75wk4jxd.js → chunk-15c2vgaf.js} +2 -2
  7. package/dist/{chunk-75wk4jxd.js.map → chunk-15c2vgaf.js.map} +1 -1
  8. package/dist/{chunk-56fgk5rq.js → chunk-1hr4xht1.js} +2 -2
  9. package/dist/{chunk-56fgk5rq.js.map → chunk-1hr4xht1.js.map} +1 -1
  10. package/dist/{chunk-8c2fs0n0.js → chunk-1myhm0g3.js} +3 -3
  11. package/dist/{chunk-8c2fs0n0.js.map → chunk-1myhm0g3.js.map} +1 -1
  12. package/dist/chunk-1q9kd20m.js +5 -0
  13. package/dist/{chunk-fakvf9wb.js.map → chunk-1q9kd20m.js.map} +1 -1
  14. package/dist/{chunk-37qk5dh8.js → chunk-1vzks22y.js} +2 -2
  15. package/dist/{chunk-37qk5dh8.js.map → chunk-1vzks22y.js.map} +1 -1
  16. package/dist/{chunk-8h7dh2h2.js → chunk-2tzm58j3.js} +2 -2
  17. package/dist/{chunk-8h7dh2h2.js.map → chunk-2tzm58j3.js.map} +1 -1
  18. package/dist/{chunk-x157wrgy.js → chunk-3hrj5rwm.js} +2 -2
  19. package/dist/{chunk-x157wrgy.js.map → chunk-3hrj5rwm.js.map} +1 -1
  20. package/dist/{chunk-wysm6qte.js → chunk-4088szy9.js} +2 -2
  21. package/dist/{chunk-wysm6qte.js.map → chunk-4088szy9.js.map} +1 -1
  22. package/dist/{chunk-m17ktssc.js → chunk-41da9628.js} +1 -1
  23. package/dist/chunk-49nyyjfe.js +5 -0
  24. package/dist/{chunk-jzp0fs6h.js.map → chunk-49nyyjfe.js.map} +3 -3
  25. package/dist/{chunk-cna105t6.js → chunk-56jky6vf.js} +2 -2
  26. package/dist/{chunk-cna105t6.js.map → chunk-56jky6vf.js.map} +1 -1
  27. package/dist/{chunk-h4pazcgg.js → chunk-6cx8ncd4.js} +2 -2
  28. package/dist/{chunk-h4pazcgg.js.map → chunk-6cx8ncd4.js.map} +1 -1
  29. package/dist/{chunk-7fwp7vwh.js → chunk-6d8rvr1v.js} +2 -2
  30. package/dist/{chunk-7fwp7vwh.js.map → chunk-6d8rvr1v.js.map} +1 -1
  31. package/dist/{chunk-h2r2rdhj.js → chunk-785b41h1.js} +2 -2
  32. package/dist/{chunk-h2r2rdhj.js.map → chunk-785b41h1.js.map} +1 -1
  33. package/dist/{chunk-7v8sgqen.js → chunk-79xg42e7.js} +2 -2
  34. package/dist/{chunk-7v8sgqen.js.map → chunk-79xg42e7.js.map} +1 -1
  35. package/dist/{chunk-8rt4wx8z.js → chunk-7vb4eey2.js} +2 -2
  36. package/dist/{chunk-8rt4wx8z.js.map → chunk-7vb4eey2.js.map} +1 -1
  37. package/dist/{chunk-ap5gek56.js → chunk-8rv62v14.js} +2 -2
  38. package/dist/{chunk-ap5gek56.js.map → chunk-8rv62v14.js.map} +1 -1
  39. package/dist/{chunk-1f9sqht5.js → chunk-98m15b9x.js} +2 -2
  40. package/dist/{chunk-1f9sqht5.js.map → chunk-98m15b9x.js.map} +1 -1
  41. package/dist/{chunk-d4m4amy4.js → chunk-9n1hx3mq.js} +2 -2
  42. package/dist/{chunk-d4m4amy4.js.map → chunk-9n1hx3mq.js.map} +1 -1
  43. package/dist/{chunk-erxv1jz7.js → chunk-aazmrxj9.js} +2 -2
  44. package/dist/{chunk-erxv1jz7.js.map → chunk-aazmrxj9.js.map} +1 -1
  45. package/dist/{chunk-pmywkp1w.js → chunk-aeh67ynz.js} +3 -3
  46. package/dist/{chunk-pmywkp1w.js.map → chunk-aeh67ynz.js.map} +1 -1
  47. package/dist/{chunk-hz6yzzbz.js → chunk-agyfv3f8.js} +1 -1
  48. package/dist/{chunk-tp3mzj4v.js → chunk-bra1a1fq.js} +2 -2
  49. package/dist/{chunk-tp3mzj4v.js.map → chunk-bra1a1fq.js.map} +1 -1
  50. package/dist/{chunk-583vxa2v.js → chunk-cbqazg9k.js} +2 -2
  51. package/dist/{chunk-583vxa2v.js.map → chunk-cbqazg9k.js.map} +1 -1
  52. package/dist/{chunk-m2yfvwrn.js → chunk-d2gfcf85.js} +2 -2
  53. package/dist/{chunk-m2yfvwrn.js.map → chunk-d2gfcf85.js.map} +1 -1
  54. package/dist/{chunk-4szjp84e.js → chunk-d9mar37g.js} +2 -2
  55. package/dist/{chunk-4szjp84e.js.map → chunk-d9mar37g.js.map} +1 -1
  56. package/dist/{chunk-a5sbgffr.js → chunk-e573yxpq.js} +1 -1
  57. package/dist/{chunk-gdmsn3f5.js → chunk-eqse2m6n.js} +2 -2
  58. package/dist/{chunk-gdmsn3f5.js.map → chunk-eqse2m6n.js.map} +1 -1
  59. package/dist/{chunk-jyrsd1dn.js → chunk-er3wf6ng.js} +2 -2
  60. package/dist/{chunk-jyrsd1dn.js.map → chunk-er3wf6ng.js.map} +1 -1
  61. package/dist/{chunk-2rphhsr7.js → chunk-fre6f4nk.js} +2 -2
  62. package/dist/{chunk-2rphhsr7.js.map → chunk-fre6f4nk.js.map} +1 -1
  63. package/dist/{chunk-1p0dazvk.js → chunk-fxgxf16k.js} +2 -2
  64. package/dist/{chunk-1p0dazvk.js.map → chunk-fxgxf16k.js.map} +1 -1
  65. package/dist/{chunk-ty4aj41k.js → chunk-gts5p6mw.js} +3 -3
  66. package/dist/{chunk-ty4aj41k.js.map → chunk-gts5p6mw.js.map} +1 -1
  67. package/dist/{chunk-rrqr1dwq.js → chunk-hdps9n52.js} +2 -2
  68. package/dist/{chunk-rrqr1dwq.js.map → chunk-hdps9n52.js.map} +1 -1
  69. package/dist/{chunk-jk97wv0q.js → chunk-jdhdrr2k.js} +2 -2
  70. package/dist/{chunk-jk97wv0q.js.map → chunk-jdhdrr2k.js.map} +1 -1
  71. package/dist/chunk-jmg2zsaf.js +5 -0
  72. package/dist/{chunk-fv9mr1t4.js.map → chunk-jmg2zsaf.js.map} +4 -4
  73. package/dist/{chunk-w2fpr99k.js → chunk-jmpw6bqz.js} +2 -2
  74. package/dist/{chunk-w2fpr99k.js.map → chunk-jmpw6bqz.js.map} +1 -1
  75. package/dist/{chunk-6h9j3f1x.js → chunk-kejwjerj.js} +2 -2
  76. package/dist/{chunk-6h9j3f1x.js.map → chunk-kejwjerj.js.map} +1 -1
  77. package/dist/{chunk-mqcy5vja.js → chunk-kqxdsv22.js} +2 -2
  78. package/dist/{chunk-mqcy5vja.js.map → chunk-kqxdsv22.js.map} +1 -1
  79. package/dist/{chunk-7rmjr8p7.js → chunk-ktr3k768.js} +2 -2
  80. package/dist/{chunk-7rmjr8p7.js.map → chunk-ktr3k768.js.map} +1 -1
  81. package/dist/{chunk-kcx468qv.js → chunk-m54s6jpr.js} +2 -2
  82. package/dist/{chunk-e6fp6dxx.js.map → chunk-m54s6jpr.js.map} +1 -1
  83. package/dist/{chunk-nek1gzz2.js → chunk-mazznq15.js} +3 -3
  84. package/dist/{chunk-nek1gzz2.js.map → chunk-mazznq15.js.map} +1 -1
  85. package/dist/{chunk-r4namj39.js → chunk-mqfzdfnz.js} +2 -2
  86. package/dist/{chunk-r4namj39.js.map → chunk-mqfzdfnz.js.map} +1 -1
  87. package/dist/chunk-ms9k0rx6.js +46 -0
  88. package/dist/{chunk-v9na3dny.js.map → chunk-ms9k0rx6.js.map} +5 -5
  89. package/dist/{chunk-hrvzchxd.js → chunk-mschc94q.js} +2 -2
  90. package/dist/{chunk-hrvzchxd.js.map → chunk-mschc94q.js.map} +1 -1
  91. package/dist/{chunk-329ggbcw.js → chunk-p91b8zcn.js} +2 -2
  92. package/dist/{chunk-329ggbcw.js.map → chunk-p91b8zcn.js.map} +1 -1
  93. package/dist/chunk-pn8v6fj2.js +14 -0
  94. package/dist/{chunk-0n9vs1ad.js.map → chunk-pn8v6fj2.js.map} +5 -5
  95. package/dist/{chunk-awp3n119.js → chunk-pyk3gzvc.js} +2 -2
  96. package/dist/{chunk-awp3n119.js.map → chunk-pyk3gzvc.js.map} +1 -1
  97. package/dist/{chunk-zns7xcz9.js → chunk-qjhw8nje.js} +1 -1
  98. package/dist/{chunk-5j76r5q8.js → chunk-qsrcdzan.js} +3 -3
  99. package/dist/{chunk-5j76r5q8.js.map → chunk-qsrcdzan.js.map} +1 -1
  100. package/dist/{chunk-xrh6k13s.js → chunk-sr942vb1.js} +2 -2
  101. package/dist/{chunk-xrh6k13s.js.map → chunk-sr942vb1.js.map} +1 -1
  102. package/dist/{chunk-yp5979we.js → chunk-t04f3akb.js} +2 -2
  103. package/dist/{chunk-yp5979we.js.map → chunk-t04f3akb.js.map} +1 -1
  104. package/dist/{chunk-j3nr4cg0.js → chunk-t4yh4nf9.js} +3 -3
  105. package/dist/{chunk-j3nr4cg0.js.map → chunk-t4yh4nf9.js.map} +1 -1
  106. package/dist/{chunk-8k8534kg.js → chunk-tn2bryy2.js} +2 -2
  107. package/dist/{chunk-8k8534kg.js.map → chunk-tn2bryy2.js.map} +1 -1
  108. package/dist/{chunk-q95k1ymq.js → chunk-tw5kwbx4.js} +2 -2
  109. package/dist/{chunk-q95k1ymq.js.map → chunk-tw5kwbx4.js.map} +1 -1
  110. package/dist/{chunk-kg1nbxvm.js → chunk-tzm3c7n6.js} +4 -4
  111. package/dist/{chunk-kg1nbxvm.js.map → chunk-tzm3c7n6.js.map} +1 -1
  112. package/dist/{chunk-zgn0p8qr.js → chunk-v1tfdgy1.js} +2 -2
  113. package/dist/{chunk-zgn0p8qr.js.map → chunk-v1tfdgy1.js.map} +1 -1
  114. package/dist/{chunk-e7axa0d5.js → chunk-vbdty91k.js} +3 -3
  115. package/dist/{chunk-e7axa0d5.js.map → chunk-vbdty91k.js.map} +1 -1
  116. package/dist/{chunk-e6fp6dxx.js → chunk-vw8849ys.js} +2 -2
  117. package/dist/{chunk-kcx468qv.js.map → chunk-vw8849ys.js.map} +1 -1
  118. package/dist/{chunk-y0wx6w80.js → chunk-vxm6yevm.js} +2 -2
  119. package/dist/{chunk-y0wx6w80.js.map → chunk-vxm6yevm.js.map} +1 -1
  120. package/dist/{chunk-kqb4s1r0.js → chunk-whtzggn6.js} +2 -2
  121. package/dist/{chunk-kqb4s1r0.js.map → chunk-whtzggn6.js.map} +1 -1
  122. package/dist/{chunk-3ma9m432.js → chunk-wyw6p3fg.js} +2 -2
  123. package/dist/{chunk-3ma9m432.js.map → chunk-wyw6p3fg.js.map} +1 -1
  124. package/dist/{chunk-gv91vjeb.js → chunk-x7cpth2f.js} +1 -1
  125. package/dist/{chunk-z32xfe8c.js → chunk-xt9tv99x.js} +2 -2
  126. package/dist/{chunk-z32xfe8c.js.map → chunk-xt9tv99x.js.map} +1 -1
  127. package/dist/{chunk-60nyk1w8.js → chunk-yf1njzd5.js} +2 -2
  128. package/dist/{chunk-60nyk1w8.js.map → chunk-yf1njzd5.js.map} +1 -1
  129. package/dist/{chunk-jv4g8grc.js → chunk-yhrye9cm.js} +2 -2
  130. package/dist/{chunk-jv4g8grc.js.map → chunk-yhrye9cm.js.map} +1 -1
  131. package/dist/{chunk-wwmdqhzy.js → chunk-zyt2w03d.js} +2 -2
  132. package/dist/{chunk-wwmdqhzy.js.map → chunk-zyt2w03d.js.map} +1 -1
  133. package/dist/chunks/{ThemeProvider-BgLyzzOL.js → ThemeProvider-BLI4zpLu.js} +8 -3
  134. package/dist/chunks/ThemeProvider-BLI4zpLu.js.map +1 -0
  135. package/dist/client/ClientRouter.d.ts +3 -5
  136. package/dist/client/ClientRouter.d.ts.map +1 -1
  137. package/dist/client/ClientRouterContext.d.ts.map +1 -1
  138. package/dist/client/Head.d.ts +1 -1
  139. package/dist/client/Head.d.ts.map +1 -1
  140. package/dist/client/ServerDataProvider.d.ts +2 -0
  141. package/dist/client/ServerDataProvider.d.ts.map +1 -1
  142. package/dist/client/createRoot.d.ts +2 -4
  143. package/dist/client/createRoot.d.ts.map +1 -1
  144. package/dist/client/htmlAttributes.d.ts +18 -0
  145. package/dist/client/htmlAttributes.d.ts.map +1 -0
  146. package/dist/client/index.d.ts +1 -0
  147. package/dist/client/index.d.ts.map +1 -1
  148. package/dist/client/index.js +79 -6
  149. package/dist/client/index.js.map +1 -1
  150. package/dist/config/index.js +1 -1
  151. package/dist/console/run.js +2 -2
  152. package/dist/console/run.js.map +1 -1
  153. package/dist/container/index.js +2 -2
  154. package/dist/container/index.js.map +1 -1
  155. package/dist/database/index.js +2 -2
  156. package/dist/database/index.js.map +1 -1
  157. package/dist/email/index.js +2 -2
  158. package/dist/email/index.js.map +1 -1
  159. package/dist/facades/Meta.d.ts +11 -1
  160. package/dist/facades/Meta.d.ts.map +1 -1
  161. package/dist/facades/Storage.d.ts +25 -1
  162. package/dist/facades/Storage.d.ts.map +1 -1
  163. package/dist/facades/index.js +2 -2
  164. package/dist/facades/index.js.map +1 -1
  165. package/dist/foundation/index.js +2 -2
  166. package/dist/foundation/index.js.map +1 -1
  167. package/dist/http/HttpRequest.d.ts +3 -0
  168. package/dist/http/HttpRequest.d.ts.map +1 -1
  169. package/dist/http/Metadata.d.ts +23 -0
  170. package/dist/http/Metadata.d.ts.map +1 -1
  171. package/dist/http/index.js +2 -2
  172. package/dist/http/index.js.map +1 -1
  173. package/dist/http/requestContext.d.ts +3 -0
  174. package/dist/http/requestContext.d.ts.map +1 -1
  175. package/dist/i18n/dictionaryRuntime.js +2 -2
  176. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  177. package/dist/i18n/index.d.ts +1 -0
  178. package/dist/i18n/index.d.ts.map +1 -1
  179. package/dist/i18n/index.js +2 -2
  180. package/dist/i18n/index.js.map +2 -2
  181. package/dist/kernel/index.js +2 -2
  182. package/dist/kernel/index.js.map +1 -1
  183. package/dist/orm/index.js +2 -2
  184. package/dist/orm/index.js.map +1 -1
  185. package/dist/server/index.js +2 -2
  186. package/dist/server/index.js.map +1 -1
  187. package/dist/services/file-storage/drivers/AzureBlobDriver.d.ts +12 -1
  188. package/dist/services/file-storage/drivers/AzureBlobDriver.d.ts.map +1 -1
  189. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts +32 -1
  190. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts.map +1 -1
  191. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts +22 -1
  192. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts.map +1 -1
  193. package/dist/services/file-storage/drivers/S3Driver.d.ts +14 -1
  194. package/dist/services/file-storage/drivers/S3Driver.d.ts.map +1 -1
  195. package/dist/services/file-storage/drivers/types.d.ts +26 -0
  196. package/dist/services/file-storage/drivers/types.d.ts.map +1 -1
  197. package/dist/services/index.d.ts +3 -3
  198. package/dist/services/index.d.ts.map +1 -1
  199. package/dist/services/index.js +9 -9
  200. package/dist/services/index.js.map +4 -4
  201. package/dist/services/queue/work.js +2 -2
  202. package/dist/services/queue/work.js.map +1 -1
  203. package/dist/services/router/ViewRouteDispatcher.d.ts +3 -1
  204. package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
  205. package/dist/services/router/config.d.ts +19 -0
  206. package/dist/services/router/config.d.ts.map +1 -1
  207. package/dist/stats/route-table.js +1 -1
  208. package/dist/support/index.js +2 -2
  209. package/dist/support/index.js.map +1 -1
  210. package/dist/testing/index.js +1 -1
  211. package/dist/vitest/index.js +1 -1
  212. package/package.json +1 -1
  213. package/dist/chunk-0n9vs1ad.js +0 -14
  214. package/dist/chunk-fakvf9wb.js +0 -5
  215. package/dist/chunk-fv9mr1t4.js +0 -5
  216. package/dist/chunk-jzp0fs6h.js +0 -5
  217. package/dist/chunk-v9na3dny.js +0 -46
  218. package/dist/chunks/ThemeProvider-BgLyzzOL.js.map +0 -1
  219. /package/dist/{chunk-m17ktssc.js.map → chunk-41da9628.js.map} +0 -0
  220. /package/dist/{chunk-hz6yzzbz.js.map → chunk-agyfv3f8.js.map} +0 -0
  221. /package/dist/{chunk-a5sbgffr.js.map → chunk-e573yxpq.js.map} +0 -0
  222. /package/dist/{chunk-zns7xcz9.js.map → chunk-qjhw8nje.js.map} +0 -0
  223. /package/dist/{chunk-gv91vjeb.js.map → chunk-x7cpth2f.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;AAwBnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,QA4C3D;AAmED,eAAO,MAAM,IAAI,GAAI,wBAGlB;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,4CAsC5C,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,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,7 @@ 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";
44
45
  export { useForgotPassword } from "./auth/useForgotPassword";
45
46
  export { useSignIn } from "./auth/useSignIn";
46
47
  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,74 @@ 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
1613
1647
  //#region client/Head.tsx
1614
- function updateMeta(meta) {
1648
+ /** Marks the `<link>`s rendered from metadata, so a navigation can replace them. */
1649
+ var GEMI_META_ATTRIBUTE = "data-gemi-meta";
1650
+ function metaLinks(canonical, alternates) {
1651
+ const links = [];
1652
+ if (canonical) links.push({
1653
+ rel: "canonical",
1654
+ href: canonical
1655
+ });
1656
+ for (const { hrefLang, href } of alternates ?? []) links.push({
1657
+ rel: "alternate",
1658
+ href,
1659
+ hrefLang
1660
+ });
1661
+ return links;
1662
+ }
1663
+ /** Whether a navigation has set `<html>` attributes from metadata. */
1664
+ var htmlAttributesApplied = false;
1665
+ function updateMeta(meta, locale) {
1615
1666
  if (!meta) return;
1616
- const { title, description } = meta;
1667
+ const { title, description, htmlAttributes, canonical, alternates } = meta;
1668
+ if (htmlAttributes || htmlAttributesApplied) {
1669
+ htmlAttributesApplied = true;
1670
+ for (const [name, value] of Object.entries(resolveHtmlAttributes(htmlAttributes, locale))) if (typeof value === "string") document.documentElement.setAttribute(name, value);
1671
+ }
1672
+ document.head.querySelectorAll(`link[${GEMI_META_ATTRIBUTE}]`).forEach((link) => link.remove());
1673
+ for (const link of metaLinks(canonical, alternates)) {
1674
+ const element = document.createElement("link");
1675
+ element.setAttribute("rel", link.rel);
1676
+ element.setAttribute("href", link.href);
1677
+ if (link.hrefLang) element.setAttribute("hreflang", link.hrefLang);
1678
+ element.setAttribute(GEMI_META_ATTRIBUTE, "");
1679
+ document.head.appendChild(element);
1680
+ }
1617
1681
  if (title) document.title = title;
1618
1682
  if (description) {
1619
1683
  const desc = document.querySelector("meta[name='description']");
@@ -1684,6 +1748,7 @@ var OpenGraph = (props) => {
1684
1748
  };
1685
1749
  var Head = ({ children = null, charSet = "utf-8" }) => {
1686
1750
  const { meta } = useContext(ServerDataContext);
1751
+ if (meta?.htmlAttributes) htmlAttributesApplied = true;
1687
1752
  return /* @__PURE__ */ jsxs("head", { children: [
1688
1753
  /* @__PURE__ */ jsx("meta", { charSet }),
1689
1754
  /* @__PURE__ */ jsx("meta", {
@@ -1700,6 +1765,12 @@ var Head = ({ children = null, charSet = "utf-8" }) => {
1700
1765
  content: meta.description
1701
1766
  }),
1702
1767
  meta?.openGraph && /* @__PURE__ */ jsx(OpenGraph, { ...meta.openGraph }),
1768
+ metaLinks(meta?.canonical, meta?.alternates).map((link) => /* @__PURE__ */ jsx("link", {
1769
+ rel: link.rel,
1770
+ href: link.href,
1771
+ hrefLang: link.hrefLang,
1772
+ [GEMI_META_ATTRIBUTE]: ""
1773
+ }, `${link.rel}:${link.hrefLang ?? ""}:${link.href}`)),
1703
1774
  children
1704
1775
  ] });
1705
1776
  };
@@ -2013,7 +2084,7 @@ var Routes = (props) => {
2013
2084
  });
2014
2085
  if (payload) {
2015
2086
  const { data, i18n, prefetchedData, breadcrumbs, meta, directive = {}, is404 = false, appId, features } = payload;
2016
- updateMeta(meta);
2087
+ updateMeta(meta, i18n?.currentLocale ?? i18n?.defaultLocale);
2017
2088
  if (directive?.kind === "Redirect") {
2018
2089
  if (isExternalRedirect(directive?.path)) window.location.replace(directive.path);
2019
2090
  else if (directive?.path) replace(directive.path);
@@ -2080,7 +2151,8 @@ var Routes = (props) => {
2080
2151
  };
2081
2152
  var ClientRouter = (props) => {
2082
2153
  const { RootLayout } = props;
2083
- const { routeManifest, router, componentTree, pageData, cssManifest, modulePreloadManifest, assetBase, breadcrumbs, i18n } = useContext(ServerDataContext);
2154
+ const { routeManifest, router, componentTree, pageData, cssManifest, modulePreloadManifest, assetBase, breadcrumbs, i18n, meta } = useContext(ServerDataContext);
2155
+ const htmlAttributes = resolveHtmlAttributes(meta?.htmlAttributes, i18n.currentLocale ?? i18n.defaultLocale);
2084
2156
  return /* @__PURE__ */ jsx(ThemeProvider, { children: /* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(QueryManagerProvider, {
2085
2157
  queryConfig: props.queryConfig,
2086
2158
  children: /* @__PURE__ */ jsx(ComponentsProvider, {
@@ -2102,6 +2174,7 @@ var ClientRouter = (props) => {
2102
2174
  urlLocaleSegment: router.urlLocaleSegment,
2103
2175
  children: /* @__PURE__ */ jsx(StrictMode, { children: /* @__PURE__ */ jsx(RootLayout, {
2104
2176
  locale: i18n.currentLocale,
2177
+ htmlAttributes,
2105
2178
  children: /* @__PURE__ */ jsx(Routes, { componentTree })
2106
2179
  }) })
2107
2180
  })
@@ -2980,6 +3053,6 @@ function island(loader, options = {}) {
2980
3053
  return Island;
2981
3054
  }
2982
3055
  //#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 };
3056
+ 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
3057
 
2985
3058
  //# sourceMappingURL=index.js.map