gemi 0.115.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 (73) hide show
  1. package/dist/ai/index.js +1 -1
  2. package/dist/{chunk-t24p7gc6.js → chunk-1q9kd20m.js} +1 -1
  3. package/dist/{chunk-0z8ejxre.js → chunk-4088szy9.js} +1 -1
  4. package/dist/chunk-49nyyjfe.js +5 -0
  5. package/dist/{chunk-9b4erdy2.js.map → chunk-49nyyjfe.js.map} +3 -3
  6. package/dist/{chunk-0av6xvm6.js → chunk-6cx8ncd4.js} +1 -1
  7. package/dist/{chunk-jafm3613.js → chunk-6d8rvr1v.js} +2 -2
  8. package/dist/{chunk-jafm3613.js.map → chunk-6d8rvr1v.js.map} +1 -1
  9. package/dist/{chunk-wzrt5mac.js → chunk-79xg42e7.js} +1 -1
  10. package/dist/chunk-jmg2zsaf.js +5 -0
  11. package/dist/{chunk-7g9yh5ae.js.map → chunk-jmg2zsaf.js.map} +4 -4
  12. package/dist/chunk-ms9k0rx6.js +46 -0
  13. package/dist/{chunk-d6591xck.js.map → chunk-ms9k0rx6.js.map} +5 -5
  14. package/dist/{chunk-mps6ynbh.js → chunk-p91b8zcn.js} +1 -1
  15. package/dist/{chunk-dexdkh3z.js → chunk-pn8v6fj2.js} +1 -1
  16. package/dist/{chunk-mtbygktb.js → chunk-v1tfdgy1.js} +1 -1
  17. package/dist/{chunk-t4t3hqe0.js → chunk-yf1njzd5.js} +1 -1
  18. package/dist/chunks/{ThemeProvider-BgLyzzOL.js → ThemeProvider-BLI4zpLu.js} +8 -3
  19. package/dist/chunks/ThemeProvider-BLI4zpLu.js.map +1 -0
  20. package/dist/client/ClientRouter.d.ts +3 -5
  21. package/dist/client/ClientRouter.d.ts.map +1 -1
  22. package/dist/client/ClientRouterContext.d.ts.map +1 -1
  23. package/dist/client/Head.d.ts +1 -1
  24. package/dist/client/Head.d.ts.map +1 -1
  25. package/dist/client/ServerDataProvider.d.ts +2 -0
  26. package/dist/client/ServerDataProvider.d.ts.map +1 -1
  27. package/dist/client/createRoot.d.ts +2 -4
  28. package/dist/client/createRoot.d.ts.map +1 -1
  29. package/dist/client/htmlAttributes.d.ts +18 -0
  30. package/dist/client/htmlAttributes.d.ts.map +1 -0
  31. package/dist/client/index.d.ts +1 -0
  32. package/dist/client/index.d.ts.map +1 -1
  33. package/dist/client/index.js +79 -6
  34. package/dist/client/index.js.map +1 -1
  35. package/dist/email/index.js +1 -1
  36. package/dist/facades/Meta.d.ts +11 -1
  37. package/dist/facades/Meta.d.ts.map +1 -1
  38. package/dist/facades/index.js +1 -1
  39. package/dist/http/HttpRequest.d.ts +3 -0
  40. package/dist/http/HttpRequest.d.ts.map +1 -1
  41. package/dist/http/Metadata.d.ts +23 -0
  42. package/dist/http/Metadata.d.ts.map +1 -1
  43. package/dist/http/index.js +1 -1
  44. package/dist/http/requestContext.d.ts +3 -0
  45. package/dist/http/requestContext.d.ts.map +1 -1
  46. package/dist/i18n/index.d.ts +1 -0
  47. package/dist/i18n/index.d.ts.map +1 -1
  48. package/dist/i18n/index.js +2 -2
  49. package/dist/i18n/index.js.map +2 -2
  50. package/dist/kernel/index.js +1 -1
  51. package/dist/orm/index.js +1 -1
  52. package/dist/server/index.js +1 -1
  53. package/dist/services/index.d.ts +1 -1
  54. package/dist/services/index.d.ts.map +1 -1
  55. package/dist/services/index.js +1 -1
  56. package/dist/services/router/ViewRouteDispatcher.d.ts +3 -1
  57. package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
  58. package/dist/services/router/config.d.ts +19 -0
  59. package/dist/services/router/config.d.ts.map +1 -1
  60. package/dist/testing/index.js +1 -1
  61. package/package.json +1 -1
  62. package/dist/chunk-7g9yh5ae.js +0 -5
  63. package/dist/chunk-9b4erdy2.js +0 -5
  64. package/dist/chunk-d6591xck.js +0 -46
  65. package/dist/chunks/ThemeProvider-BgLyzzOL.js.map +0 -1
  66. /package/dist/{chunk-t24p7gc6.js.map → chunk-1q9kd20m.js.map} +0 -0
  67. /package/dist/{chunk-0z8ejxre.js.map → chunk-4088szy9.js.map} +0 -0
  68. /package/dist/{chunk-0av6xvm6.js.map → chunk-6cx8ncd4.js.map} +0 -0
  69. /package/dist/{chunk-wzrt5mac.js.map → chunk-79xg42e7.js.map} +0 -0
  70. /package/dist/{chunk-mps6ynbh.js.map → chunk-p91b8zcn.js.map} +0 -0
  71. /package/dist/{chunk-dexdkh3z.js.map → chunk-pn8v6fj2.js.map} +0 -0
  72. /package/dist/{chunk-mtbygktb.js.map → chunk-v1tfdgy1.js.map} +0 -0
  73. /package/dist/{chunk-t4t3hqe0.js.map → chunk-yf1njzd5.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