satset-react 0.2.6 → 0.2.7

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.
@@ -1,4 +1,5 @@
1
1
  export { default as Link } from './Link';
2
+ export * from './theme';
2
3
  export { default as Image } from './Image';
3
4
  export { default as Script } from './Script';
4
5
  export { default as ErrorBoundary } from './ErrorBoundary';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
@@ -6,6 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
20
  exports.ErrorBoundary = exports.Script = exports.Image = exports.Link = void 0;
7
21
  var Link_1 = require("./Link");
8
22
  Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return __importDefault(Link_1).default; } });
23
+ __exportStar(require("./theme"), exports);
9
24
  var Image_1 = require("./Image");
10
25
  Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return __importDefault(Image_1).default; } });
11
26
  var Script_1 = require("./Script");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,0CAAwB;AACxB,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ type Theme = 'dark' | 'light' | 'system';
3
+ interface ThemeProviderProps {
4
+ children: React.ReactNode;
5
+ attribute?: string;
6
+ defaultTheme?: Theme;
7
+ enableSystem?: boolean;
8
+ storageKey?: string;
9
+ disableTransitionOnChange?: boolean;
10
+ }
11
+ interface ThemeContextType {
12
+ theme: Theme | undefined;
13
+ setTheme: (theme: Theme) => void;
14
+ resolvedTheme: 'dark' | 'light' | undefined;
15
+ themes: Theme[];
16
+ systemTheme: 'dark' | 'light' | undefined;
17
+ }
18
+ export declare function ThemeProvider({ children, attribute, defaultTheme, enableSystem, storageKey, disableTransitionOnChange, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function useTheme(): ThemeContextType;
20
+ export {};
21
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/components/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,KAAK,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzC,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC3C;AAID,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAmB,EACnB,YAAuB,EACvB,YAAmB,EACnB,UAAoB,EACpB,yBAAiC,GAClC,EAAE,kBAAkB,2CAmGpB;AAED,wBAAgB,QAAQ,qBAMvB"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThemeProvider = ThemeProvider;
4
+ exports.useTheme = useTheme;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const ThemeContext = (0, react_1.createContext)(undefined);
8
+ function ThemeProvider({ children, attribute = 'class', defaultTheme = 'system', enableSystem = true, storageKey = 'theme', disableTransitionOnChange = false, }) {
9
+ const [theme, setThemeState] = (0, react_1.useState)(() => {
10
+ // Avoid hydration mismatch by initializing with undefined or default
11
+ // Ideally, we should read from script if possible, but for SSR safety:
12
+ return defaultTheme;
13
+ });
14
+ const [resolvedTheme, setResolvedTheme] = (0, react_1.useState)(undefined);
15
+ const [mounted, setMounted] = (0, react_1.useState)(false);
16
+ // Apply theme to document
17
+ (0, react_1.useEffect)(() => {
18
+ setMounted(true);
19
+ const stored = localStorage.getItem(storageKey);
20
+ if (stored) {
21
+ setThemeState(stored);
22
+ }
23
+ }, [storageKey]);
24
+ (0, react_1.useEffect)(() => {
25
+ if (!mounted)
26
+ return;
27
+ const root = window.document.documentElement;
28
+ const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
29
+ let effectiveTheme = theme;
30
+ if (theme === 'system' && enableSystem) {
31
+ effectiveTheme = systemTheme;
32
+ }
33
+ const finalTheme = effectiveTheme === 'dark' ? 'dark' : 'light';
34
+ setResolvedTheme(finalTheme);
35
+ if (attribute === 'class') {
36
+ root.classList.remove('light', 'dark');
37
+ root.classList.add(finalTheme);
38
+ }
39
+ else {
40
+ root.setAttribute(attribute, finalTheme);
41
+ }
42
+ // Save to local storage
43
+ if (theme) {
44
+ localStorage.setItem(storageKey, theme);
45
+ }
46
+ }, [theme, attribute, enableSystem, mounted, storageKey]);
47
+ // Handle system change
48
+ (0, react_1.useEffect)(() => {
49
+ if (!enableSystem)
50
+ return;
51
+ const media = window.matchMedia('(prefers-color-scheme: dark)');
52
+ const listener = (e) => {
53
+ if (theme === 'system') {
54
+ const newSystemTheme = e.matches ? 'dark' : 'light';
55
+ setResolvedTheme(newSystemTheme);
56
+ if (attribute === 'class') {
57
+ const root = window.document.documentElement;
58
+ root.classList.remove('light', 'dark');
59
+ root.classList.add(newSystemTheme);
60
+ }
61
+ }
62
+ };
63
+ media.addEventListener('change', listener);
64
+ return () => media.removeEventListener('change', listener);
65
+ }, [theme, enableSystem, attribute]);
66
+ const value = {
67
+ theme,
68
+ setTheme: (t) => {
69
+ setThemeState(t);
70
+ localStorage.setItem(storageKey, t);
71
+ },
72
+ resolvedTheme,
73
+ themes: ['light', 'dark', 'system'],
74
+ systemTheme: (mounted && enableSystem) ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : undefined
75
+ };
76
+ return ((0, jsx_runtime_1.jsx)(ThemeContext.Provider, { value: value, children: children }));
77
+ }
78
+ function useTheme() {
79
+ const context = (0, react_1.useContext)(ThemeContext);
80
+ if (context === undefined) {
81
+ throw new Error('useTheme must be used within a ThemeProvider');
82
+ }
83
+ return context;
84
+ }
85
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/components/theme.tsx"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -8,10 +8,14 @@ export interface SatsetAssetsConfig {
8
8
  export interface SatsetResolveConfig {
9
9
  alias?: Record<string, string>;
10
10
  }
11
+ export interface SatsetExperimentalConfig {
12
+ optimizePackageImports?: string[];
13
+ }
11
14
  export interface SatsetConfig {
12
15
  server?: SatsetServerConfig;
13
16
  assets?: SatsetAssetsConfig;
14
17
  resolve?: SatsetResolveConfig;
18
+ experimental?: SatsetExperimentalConfig;
15
19
  }
16
20
  export declare function defineConfig(config: SatsetConfig): SatsetConfig;
17
21
  export declare const satsetConfig: typeof defineConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAE/D;AAED,eAAO,MAAM,YAAY,qBAAe,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACzC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAE/D;AAED,eAAO,MAAM,YAAY,qBAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAmBA,oCAEC;AAFD,SAAgB,YAAY,CAAC,MAAoB;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAEY,QAAA,YAAY,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAwBA,oCAEC;AAFD,SAAgB,YAAY,CAAC,MAAoB;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAEY,QAAA,YAAY,GAAG,YAAY,CAAC"}
@@ -5,7 +5,7 @@ export type { HydrateOptions } from './hydrate';
5
5
  export { notFound, redirect } from '../navigation/notFound';
6
6
  export { SatsetResponse } from './response';
7
7
  export { cookies } from '../server/response';
8
- export { I18nProvider, useTranslation } from './translation';
8
+ export { I18nProvider, useTranslation, useLang } from './translation';
9
9
  export type { Dictionaries } from './translation';
10
10
  export { dynamic } from './dynamic';
11
11
  export type { Loader, DynamicOptions } from './dynamic';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAExD,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAExD,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dynamic = exports.useTranslation = exports.I18nProvider = exports.cookies = exports.SatsetResponse = exports.redirect = exports.notFound = exports.hydrateComponent = exports.hydrateProgressively = exports.hydrate = exports.escapeHtml = exports.renderToStream = exports.renderToStaticMarkup = exports.renderToString = void 0;
3
+ exports.dynamic = exports.useLang = exports.useTranslation = exports.I18nProvider = exports.cookies = exports.SatsetResponse = exports.redirect = exports.notFound = exports.hydrateComponent = exports.hydrateProgressively = exports.hydrate = exports.escapeHtml = exports.renderToStream = exports.renderToStaticMarkup = exports.renderToString = void 0;
4
4
  var ssr_1 = require("./ssr");
5
5
  Object.defineProperty(exports, "renderToString", { enumerable: true, get: function () { return ssr_1.renderToString; } });
6
6
  Object.defineProperty(exports, "renderToStaticMarkup", { enumerable: true, get: function () { return ssr_1.renderToStaticMarkup; } });
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "cookies", { enumerable: true, get: function () {
20
20
  var translation_1 = require("./translation");
21
21
  Object.defineProperty(exports, "I18nProvider", { enumerable: true, get: function () { return translation_1.I18nProvider; } });
22
22
  Object.defineProperty(exports, "useTranslation", { enumerable: true, get: function () { return translation_1.useTranslation; } });
23
+ Object.defineProperty(exports, "useLang", { enumerable: true, get: function () { return translation_1.useLang; } });
23
24
  var dynamic_1 = require("./dynamic");
24
25
  Object.defineProperty(exports, "dynamic", { enumerable: true, get: function () { return dynamic_1.dynamic; } });
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,6BAAyF;AAAhF,qGAAA,cAAc,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,iGAAA,UAAU,OAAA;AAGzE,qCAA4E;AAAnE,kGAAA,OAAO,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAGxD,mDAA4D;AAAnD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAE3B,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,+CAA6C;AAApC,mGAAA,OAAO,OAAA;AAEhB,6CAA6D;AAApD,2GAAA,YAAY,OAAA;AAAE,6GAAA,cAAc,OAAA;AAGrC,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,6BAAyF;AAAhF,qGAAA,cAAc,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,iGAAA,UAAU,OAAA;AAGzE,qCAA4E;AAAnE,kGAAA,OAAO,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAGxD,mDAA4D;AAAnD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAE3B,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,+CAA6C;AAApC,mGAAA,OAAO,OAAA;AAEhB,6CAAsE;AAA7D,2GAAA,YAAY,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,sGAAA,OAAO,OAAA;AAG9C,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface RenderOptions {
3
3
  url: string;
4
+ lang?: string;
4
5
  head?: {
5
6
  title?: string;
6
7
  meta?: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/core/ssr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpE,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,aAAa,GACrB,SAAS,CA4DX;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAG1E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAGD,wBAAsB,cAAc,CAClC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAazB"}
1
+ {"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/core/ssr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpE,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,aAAa,GACrB,SAAS,CA4DX;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAG1E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAGD,wBAAsB,cAAc,CAClC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAazB"}
package/dist/core/ssr.js CHANGED
@@ -51,7 +51,7 @@ function renderToString(App, options) {
51
51
  `.trim();
52
52
  const html = `
53
53
  <!DOCTYPE html>
54
- <html lang="en">
54
+ <html lang="${options.lang || 'en'}">
55
55
  <head>
56
56
  ${head}
57
57
  </head>
@@ -1 +1 @@
1
- {"version":3,"file":"ssr.js","sourceRoot":"","sources":["../../src/core/ssr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssr.js","sourceRoot":"","sources":["../../src/core/ssr.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ interface I18nContextType {
5
5
  setLocale: (locale: string) => void;
6
6
  t: (key: string, params?: Record<string, string>) => string;
7
7
  dictionaries: Dictionaries;
8
+ dict: Record<string, string>;
8
9
  }
9
10
  interface I18nProviderProps {
10
11
  children: ReactNode;
@@ -13,5 +14,6 @@ interface I18nProviderProps {
13
14
  }
14
15
  export declare function I18nProvider({ children, initialLocale, dictionaries }: I18nProviderProps): import("react/jsx-runtime").JSX.Element;
15
16
  export declare function useTranslation(): I18nContextType;
17
+ export declare const useLang: typeof useTranslation;
16
18
  export {};
17
19
  //# sourceMappingURL=translation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../src/core/translation.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;IAC5D,YAAY,EAAE,YAAY,CAAC;CAC5B;AAID,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAuB,EAAE,YAAY,EAAE,EAAE,iBAAiB,2CAoClG;AAED,wBAAgB,cAAc,oBAM7B"}
1
+ {"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../src/core/translation.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;IAC5D,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAID,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAuB,EAAE,YAAY,EAAE,EAAE,iBAAiB,2CA6ClG;AAED,wBAAgB,cAAc,oBAM7B;AAED,eAAO,MAAM,OAAO,uBAAiB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLang = void 0;
3
4
  exports.I18nProvider = I18nProvider;
4
5
  exports.useTranslation = useTranslation;
5
6
  const jsx_runtime_1 = require("react/jsx-runtime");
@@ -10,6 +11,13 @@ function I18nProvider({ children, initialLocale = 'en-US', dictionaries }) {
10
11
  // Sync locale with URL path on client side if not provided or changed
11
12
  (0, react_1.useEffect)(() => {
12
13
  if (typeof window !== 'undefined') {
14
+ // Priority: 1. window.__SATSET_LOCALE__ (injected by server)
15
+ // 2. URL path segment
16
+ const injected = window.__SATSET_LOCALE__;
17
+ if (injected) {
18
+ setLocale(injected);
19
+ return;
20
+ }
13
21
  const path = window.location.pathname;
14
22
  const segments = path.split('/').filter(Boolean);
15
23
  const first = segments[0];
@@ -21,8 +29,8 @@ function I18nProvider({ children, initialLocale = 'en-US', dictionaries }) {
21
29
  }
22
30
  }
23
31
  }, []);
32
+ const dict = dictionaries[locale] || dictionaries['en-US'] || dictionaries[Object.keys(dictionaries)[0]] || {};
24
33
  const t = (key, params) => {
25
- const dict = dictionaries[locale] || dictionaries['en-US'] || dictionaries[Object.keys(dictionaries)[0]] || {};
26
34
  let text = dict[key] || key;
27
35
  if (params) {
28
36
  Object.entries(params).forEach(([k, v]) => {
@@ -31,7 +39,7 @@ function I18nProvider({ children, initialLocale = 'en-US', dictionaries }) {
31
39
  }
32
40
  return text;
33
41
  };
34
- return ((0, jsx_runtime_1.jsx)(I18nContext.Provider, { value: { locale, setLocale, t, dictionaries }, children: children }));
42
+ return ((0, jsx_runtime_1.jsx)(I18nContext.Provider, { value: { locale, setLocale, t, dictionaries, dict }, children: children }));
35
43
  }
36
44
  function useTranslation() {
37
45
  const context = (0, react_1.useContext)(I18nContext);
@@ -40,4 +48,5 @@ function useTranslation() {
40
48
  }
41
49
  return context;
42
50
  }
51
+ exports.useLang = useTranslation;
43
52
  //# sourceMappingURL=translation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/core/translation.tsx"],"names":[],"mappings":";;AAmBA,oCAoCC;AAED,wCAMC;;AA/DD,iCAAyF;AAWzF,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAyB,IAAI,CAAC,CAAC;AAQhE,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,EAAE,YAAY,EAAqB;IACjG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAEpD,sEAAsE;IACtE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,gEAAgE;YAChE,IAAI,KAAK,IAAI,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,qEAAqE;gBACrE,qCAAqC;gBACrC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,MAA+B,EAAU,EAAE;QACjE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/G,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAE5B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,YAChE,QAAQ,GACY,CACxB,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc;IAC5B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/core/translation.tsx"],"names":[],"mappings":";;;AAoBA,oCA6CC;AAED,wCAMC;;AAzED,iCAAyF;AAYzF,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAyB,IAAI,CAAC,CAAC;AAQhE,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,EAAE,YAAY,EAAqB;IACjG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAEpD,sEAAsE;IACtE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,6DAA6D;YAC7D,gCAAgC;YAChC,MAAM,QAAQ,GAAI,MAAc,CAAC,iBAAiB,CAAC;YACnD,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,gEAAgE;YAChE,IAAI,KAAK,IAAI,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,qEAAqE;gBACrE,qCAAqC;gBACrC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE/G,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,MAA+B,EAAU,EAAE;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAE5B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YACtE,QAAQ,GACY,CACxB,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc;IAC5B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEY,QAAA,OAAO,GAAG,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/server/dev.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAWxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA6E5C,wBAAsB,cAAc,CAAC,MAAM,GAAE,YAAiB;;;;;;;GAya7D"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/server/dev.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA6E5C,wBAAsB,cAAc,CAAC,MAAM,GAAE,YAAiB;;;;;;;GAgc7D"}