@translation-cms/sync 1.1.67 → 1.1.69
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.
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/translation-context.d.ts +10 -0
- package/dist/translation-context.d.ts.map +1 -0
- package/dist/translation-context.js +4 -0
- package/dist/translation-context.js.map +1 -0
- package/dist/translation-provider.d.ts +1 -9
- package/dist/translation-provider.d.ts.map +1 -1
- package/dist/translation-provider.js +2 -2
- package/dist/translation-provider.js.map +1 -1
- package/dist/use-translation.d.ts.map +1 -1
- package/dist/use-translation.js +5 -2
- package/dist/use-translation.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { TranslationProvider, type TranslationProviderProps, } from './translation-provider.js';
|
|
1
|
+
export { TranslationProvider, type TranslationProviderProps, useTranslationContext, } from './translation-provider.js';
|
|
2
|
+
export { TranslationContext, type TranslationContextValue, } from './translation-context.js';
|
|
2
3
|
export { CMSClient, getCMSClient, type CMSConfig, type TranslationResponse, type NamespacedTranslations, } from './client.js';
|
|
3
4
|
export { initPreviewListener, cleanupPreviewListener, type PreviewListenerOptions, } from './preview-listener.js';
|
|
4
5
|
export { type TranslationsConfig } from './config.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,mBAAmB,EACnB,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,qBAAqB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,EAClB,KAAK,uBAAuB,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACH,SAAS,EACT,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAE9B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,sBAAsB,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,EACH,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAM/D,wBAAsB,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EACtE,SAAS,EAAE,EAAE,EACb,MAAM,CAAC,EAAE,MAAM;;mCAayuP,CAAC;GAD5vP"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// TranslationProvider (React context for i18n)
|
|
2
|
-
export { TranslationProvider, } from './translation-provider.js';
|
|
2
|
+
export { TranslationProvider, useTranslationContext, } from './translation-provider.js';
|
|
3
|
+
export { TranslationContext, } from './translation-context.js';
|
|
3
4
|
// CMS client (browser-safe)
|
|
4
5
|
export { CMSClient, getCMSClient,
|
|
5
6
|
// getTranslation is NOT exported here
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EACH,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EACH,mBAAmB,EAEnB,qBAAqB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,GAErB,MAAM,0BAA0B,CAAC;AAClC,4BAA4B;AAC5B,OAAO,EACH,SAAS,EACT,YAAY;AAIZ,sCAAsC;EACzC,MAAM,aAAa,CAAC;AAErB,kCAAkC;AAClC,OAAO,EACH,mBAAmB,EACnB,sBAAsB,GAEzB,MAAM,uBAAuB,CAAC;AAK/B,6CAA6C;AAC7C,OAAO,EACH,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,SAAS,GAIZ,MAAM,cAAc,CAAC;AAEtB,oDAAoD;AACpD,OAAO,EAAE,UAAU,EAA0B,MAAM,WAAW,CAAC;AAE/D,uCAAuC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,SAAa,EACb,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAoB;QACxC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA2B;QAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;KAChD,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,cAAc,CAAC,SAA8B,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACJ,OAAO,MAAM,CAAC,cAAc,CAAC,SAAmB,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TOptions, TranslationResponse } from './client.js';
|
|
2
|
+
export interface TranslationContextValue {
|
|
3
|
+
t: (key: string, options?: TOptions) => string;
|
|
4
|
+
tDynamic: (key: string, options?: TOptions) => string;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
locale: string;
|
|
7
|
+
translations: TranslationResponse;
|
|
8
|
+
}
|
|
9
|
+
export declare const TranslationContext: import("react").Context<TranslationContextValue | undefined>;
|
|
10
|
+
//# sourceMappingURL=translation-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-context.d.ts","sourceRoot":"","sources":["../src/translation-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACpC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,mBAAmB,CAAC;CACrC;AAED,eAAO,MAAM,kBAAkB,8DAEnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-context.js","sourceRoot":"","sources":["../src/translation-context.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAYtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAE7C,SAAS,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { getCMSClient } from './client.js';
|
|
3
|
-
import
|
|
3
|
+
import { type TranslationContextValue } from './translation-context.js';
|
|
4
4
|
export interface TranslationProviderProps {
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
locale: string;
|
|
@@ -10,14 +10,6 @@ export interface TranslationProviderProps {
|
|
|
10
10
|
*/
|
|
11
11
|
config?: Parameters<typeof getCMSClient>[0];
|
|
12
12
|
}
|
|
13
|
-
interface TranslationContextValue {
|
|
14
|
-
t: (key: string, options?: TOptions) => string;
|
|
15
|
-
tDynamic: (key: string, options?: TOptions) => string;
|
|
16
|
-
isLoading: boolean;
|
|
17
|
-
locale: string;
|
|
18
|
-
translations: TranslationResponse;
|
|
19
|
-
}
|
|
20
13
|
export declare function TranslationProvider({ children, locale, namespaces, config, }: TranslationProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
21
14
|
export declare function useTranslationContext(): TranslationContextValue;
|
|
22
|
-
export {};
|
|
23
15
|
//# sourceMappingURL=translation-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation-provider.d.ts","sourceRoot":"","sources":["../src/translation-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"translation-provider.d.ts","sourceRoot":"","sources":["../src/translation-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAKN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED,wBAAgB,mBAAmB,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,UAAuB,EACvB,MAAM,GACT,EAAE,wBAAwB,2CA8G1B;AAGD,wBAAgB,qBAAqB,4BAOpC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useContext, useEffect, useState, useMemo, } from 'react';
|
|
4
4
|
import { getCMSClient } from './client.js';
|
|
5
|
-
|
|
5
|
+
import { TranslationContext, } from './translation-context.js';
|
|
6
6
|
export function TranslationProvider({ children, locale, namespaces = ['common'], config, }) {
|
|
7
7
|
// Compose a key from dependencies to reset loading state
|
|
8
8
|
const depsKey = useMemo(() => [locale, JSON.stringify(namespaces), JSON.stringify(config)].join('|'), [locale, namespaces, config]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation-provider.js","sourceRoot":"","sources":["../src/translation-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EACV,
|
|
1
|
+
{"version":3,"file":"translation-provider.js","sourceRoot":"","sources":["../src/translation-provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-translation.d.ts","sourceRoot":"","sources":["../src/use-translation.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"use-translation.d.ts","sourceRoot":"","sources":["../src/use-translation.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,aAAa,CAAC;AAOrB,KAAK,aAAa,CAAC,EAAE,SAAS,MAAM,IAAI,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;AAE1D,KAAK,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,GACxE,aAAa,CAAC,EAAE,CAAC,GACjB,EAAE,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,EAAE,GAC5C,aAAa,CAAC,CAAC,CAAC,GAChB,KAAK,CAAC;AAEd,KAAK,mBAAmB,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IAAI,CAC9D,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,EACvB,OAAO,CAAC,EAAE,QAAQ,KACjB,MAAM,CAAC;AAwDZ,MAAM,MAAM,qBAAqB,GAAG;IAChC,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EAChE,SAAS,EAAE,EAAE,EACb,OAAO,CAAC,EAAE,qBAAqB,GAChC;IACC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;IACtD,SAAS,EAAE,OAAO,CAAC;CACtB,CAgDA"}
|
package/dist/use-translation.js
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
* }
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
import { useCallback, useEffect, useState } from 'react';
|
|
16
|
+
import { useCallback, useContext, useEffect, useState } from 'react';
|
|
17
17
|
import { getCMSClient, } from './client.js';
|
|
18
|
+
import { TranslationContext } from './translation-context.js';
|
|
18
19
|
// =========================================================================
|
|
19
20
|
// Internal resolve helper (same logic as CMSClient.getT)
|
|
20
21
|
// =========================================================================
|
|
@@ -77,11 +78,13 @@ function resolveTranslation(translations, key, options) {
|
|
|
77
78
|
export function useTranslation(namespace, options) {
|
|
78
79
|
const [translations, setTranslations] = useState({});
|
|
79
80
|
const [isLoading, setIsLoading] = useState(true);
|
|
81
|
+
// Read locale from TranslationProvider context if available, then option override, then client default
|
|
82
|
+
const ctx = useContext(TranslationContext);
|
|
83
|
+
const locale = options?.locale ?? ctx?.locale;
|
|
80
84
|
// Stable string key so the effect dep array works correctly for arrays too
|
|
81
85
|
const nsKey = Array.isArray(namespace)
|
|
82
86
|
? [...namespace].sort().join(',')
|
|
83
87
|
: namespace;
|
|
84
|
-
const locale = options?.locale;
|
|
85
88
|
useEffect(() => {
|
|
86
89
|
let cancelled = false;
|
|
87
90
|
setIsLoading(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-translation.js","sourceRoot":"","sources":["../src/use-translation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"use-translation.js","sourceRoot":"","sources":["../src/use-translation.ts"],"names":[],"mappings":"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"}
|