gt-next 1.3.15 → 2.0.2
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/.prettierrc +14 -0
- package/dist/config/I18NConfiguration.d.ts +28 -18
- package/dist/config/I18NConfiguration.d.ts.map +1 -1
- package/dist/config/I18NConfiguration.js +109 -41
- package/dist/config/I18NConfiguration.js.map +1 -1
- package/dist/config/RemoteTranslationsManager.d.ts +2 -8
- package/dist/config/RemoteTranslationsManager.d.ts.map +1 -1
- package/dist/config/RemoteTranslationsManager.js +10 -18
- package/dist/config/RemoteTranslationsManager.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -5
- package/dist/config.js.map +1 -1
- package/dist/index.server.d.ts +2 -2
- package/dist/index.server.d.ts.map +1 -1
- package/dist/index.server.js +4 -3
- package/dist/index.server.js.map +1 -1
- package/dist/middleware/createNextMiddleware.d.ts +3 -2
- package/dist/middleware/createNextMiddleware.d.ts.map +1 -1
- package/dist/middleware/createNextMiddleware.js +41 -55
- package/dist/middleware/createNextMiddleware.js.map +1 -1
- package/dist/next/getNextLocale.d.ts.map +1 -1
- package/dist/next/getNextLocale.js +30 -17
- package/dist/next/getNextLocale.js.map +1 -1
- package/dist/primitives/defaultInitGTProps.js +4 -4
- package/dist/primitives/defaultInitGTProps.js.map +1 -1
- package/dist/provider/ClientProvider.d.ts +4 -3
- package/dist/provider/ClientProvider.d.ts.map +1 -1
- package/dist/provider/ClientProvider.js +39 -27
- package/dist/provider/ClientProvider.js.map +1 -1
- package/dist/provider/GTProvider.d.ts +3 -3
- package/dist/provider/GTProvider.d.ts.map +1 -1
- package/dist/provider/GTProvider.js +89 -80
- package/dist/provider/GTProvider.js.map +1 -1
- package/dist/provider/types.d.ts +18 -0
- package/dist/provider/types.d.ts.map +1 -0
- package/dist/provider/types.js +3 -0
- package/dist/provider/types.js.map +1 -0
- package/dist/request/getLocale.d.ts +1 -1
- package/dist/request/getLocale.d.ts.map +1 -1
- package/dist/request/getLocale.js +2 -4
- package/dist/request/getLocale.js.map +1 -1
- package/dist/server/createServerTFunction.js +4 -2
- package/dist/server/createServerTFunction.js.map +1 -1
- package/dist/server/getGT.d.ts +16 -1
- package/dist/server/getGT.d.ts.map +1 -1
- package/dist/server/getGT.js +99 -6
- package/dist/server/getGT.js.map +1 -1
- package/dist/server/inline/T.d.ts +4 -4
- package/dist/server/inline/T.d.ts.map +1 -1
- package/dist/server/inline/T.js +48 -39
- package/dist/server/inline/T.js.map +1 -1
- package/dist/server/rendering/renderDefaultChildren.d.ts +0 -7
- package/dist/server/rendering/renderDefaultChildren.d.ts.map +1 -1
- package/dist/server/rendering/renderDefaultChildren.js +88 -72
- package/dist/server/rendering/renderDefaultChildren.js.map +1 -1
- package/dist/server/rendering/renderTranslatedChildren.d.ts +0 -9
- package/dist/server/rendering/renderTranslatedChildren.d.ts.map +1 -1
- package/dist/server/rendering/renderTranslatedChildren.js +224 -160
- package/dist/server/rendering/renderTranslatedChildren.js.map +1 -1
- package/dist/server/strings/tx.d.ts +10 -8
- package/dist/server/strings/tx.d.ts.map +1 -1
- package/dist/server/strings/tx.js +37 -33
- package/dist/server/strings/tx.js.map +1 -1
- package/dist/variables/Currency.js +1 -1
- package/dist/variables/Currency.js.map +1 -1
- package/dist/variables/DateTime.js +1 -1
- package/dist/variables/DateTime.js.map +1 -1
- package/dist/variables/Num.js +1 -1
- package/dist/variables/Num.js.map +1 -1
- package/package.json +4 -3
package/dist/server/inline/T.js
CHANGED
|
@@ -52,16 +52,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
53
|
exports.default = T;
|
|
54
54
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
55
|
-
var internal_1 = require("gt-react/internal");
|
|
56
55
|
var getI18NConfig_1 = __importDefault(require("../../utils/getI18NConfig"));
|
|
57
56
|
var getLocale_1 = __importDefault(require("../../request/getLocale"));
|
|
58
57
|
var getMetadata_1 = __importDefault(require("../../request/getMetadata"));
|
|
59
58
|
var react_1 = require("react");
|
|
60
|
-
var renderTranslatedChildren_1 = __importDefault(require("../rendering/renderTranslatedChildren"));
|
|
61
|
-
var renderDefaultChildren_1 = __importDefault(require("../rendering/renderDefaultChildren"));
|
|
62
59
|
var Resolver_1 = __importDefault(require("./Resolver"));
|
|
60
|
+
var internal_1 = require("gt-react/internal");
|
|
61
|
+
var renderVariable_1 = __importDefault(require("../rendering/renderVariable"));
|
|
63
62
|
/**
|
|
64
|
-
* Translation component that renders its children translated into the user's
|
|
63
|
+
* Translation component that renders its children translated into the user's given locale.
|
|
65
64
|
*
|
|
66
65
|
* @example
|
|
67
66
|
* ```jsx
|
|
@@ -75,7 +74,7 @@ var Resolver_1 = __importDefault(require("./Resolver"));
|
|
|
75
74
|
* ```jsx
|
|
76
75
|
* // Translating a plural
|
|
77
76
|
* <T id="item_count">
|
|
78
|
-
* <Plural n={3} singular={<>You have <Num value={n}/> item
|
|
77
|
+
* <Plural n={3} singular={<>You have <Num value={n}/> item.</>}>
|
|
79
78
|
* You have <Num value={n}/> items.
|
|
80
79
|
* </Plural>
|
|
81
80
|
* </T>
|
|
@@ -105,11 +104,11 @@ var Resolver_1 = __importDefault(require("./Resolver"));
|
|
|
105
104
|
*/
|
|
106
105
|
function T(_a) {
|
|
107
106
|
return __awaiter(this, arguments, void 0, function (_b) {
|
|
108
|
-
var I18NConfig, locale, defaultLocale, translationRequired, translationsPromise, taggedChildren, childrenAsObjects, key, translations, translation, target, translationPromise,
|
|
109
|
-
var
|
|
107
|
+
var I18NConfig, locale, defaultLocale, translationRequired, translationsPromise, taggedChildren, _c, childrenAsObjects, key, translations, translation, target, translationPromise, _d, _e, _f, promise, loadingFallback, errorFallback, error_1;
|
|
108
|
+
var _g;
|
|
110
109
|
var children = _b.children, id = _b.id, context = _b.context, renderSettings = _b.renderSettings, variables = _b.variables, variablesOptions = _b.variablesOptions;
|
|
111
|
-
return __generator(this, function (
|
|
112
|
-
switch (
|
|
110
|
+
return __generator(this, function (_h) {
|
|
111
|
+
switch (_h.label) {
|
|
113
112
|
case 0:
|
|
114
113
|
if (!children) {
|
|
115
114
|
return [2 /*return*/];
|
|
@@ -117,87 +116,97 @@ function T(_a) {
|
|
|
117
116
|
I18NConfig = (0, getI18NConfig_1.default)();
|
|
118
117
|
return [4 /*yield*/, (0, getLocale_1.default)()];
|
|
119
118
|
case 1:
|
|
120
|
-
locale =
|
|
119
|
+
locale = _h.sent();
|
|
121
120
|
defaultLocale = I18NConfig.getDefaultLocale();
|
|
122
121
|
translationRequired = I18NConfig.requiresTranslation(locale);
|
|
123
122
|
if (translationRequired) {
|
|
124
123
|
translationsPromise = I18NConfig.getTranslations(locale);
|
|
125
124
|
}
|
|
126
|
-
taggedChildren =
|
|
127
|
-
|
|
125
|
+
taggedChildren = I18NConfig.addGTIdentifier(children, id);
|
|
126
|
+
// If no translation is required, render the default children
|
|
127
|
+
// The dictionary wraps text in this <T> component
|
|
128
|
+
// Thus, we need to also handle variables
|
|
128
129
|
if (!translationRequired) {
|
|
129
|
-
return [2 /*return*/, (0,
|
|
130
|
+
return [2 /*return*/, (0, internal_1.renderDefaultChildren)({
|
|
130
131
|
children: taggedChildren,
|
|
131
132
|
variables: variables,
|
|
132
133
|
variablesOptions: variablesOptions,
|
|
133
|
-
defaultLocale: defaultLocale
|
|
134
|
+
defaultLocale: defaultLocale,
|
|
135
|
+
renderVariable: renderVariable_1.default
|
|
134
136
|
})];
|
|
135
137
|
}
|
|
136
|
-
|
|
138
|
+
_c = I18NConfig.serializeAndHash(taggedChildren, context, undefined // id is not provided here, to catch erroneous situations where the same id is being used for different <T> components
|
|
139
|
+
), childrenAsObjects = _c[0], key = _c[1];
|
|
137
140
|
return [4 /*yield*/, translationsPromise];
|
|
138
141
|
case 2:
|
|
139
|
-
translations =
|
|
140
|
-
translation = translations === null || translations === void 0 ? void 0 : translations[id
|
|
142
|
+
translations = _h.sent();
|
|
143
|
+
translation = id ? translations === null || translations === void 0 ? void 0 : translations[id] : undefined;
|
|
144
|
+
// checks if an appropriate translation exists
|
|
141
145
|
if ((translation === null || translation === void 0 ? void 0 : translation.k) === key) {
|
|
142
146
|
target = translation.t;
|
|
143
|
-
return [2 /*return*/, (0,
|
|
147
|
+
return [2 /*return*/, (0, internal_1.renderTranslatedChildren)({
|
|
144
148
|
source: taggedChildren,
|
|
145
149
|
target: target,
|
|
146
150
|
variables: variables,
|
|
147
151
|
variablesOptions: variablesOptions,
|
|
148
|
-
locales: [locale, defaultLocale]
|
|
152
|
+
locales: [locale, defaultLocale],
|
|
153
|
+
renderVariable: renderVariable_1.default
|
|
149
154
|
})];
|
|
150
155
|
}
|
|
151
156
|
renderSettings || (renderSettings = I18NConfig.getRenderSettings());
|
|
152
|
-
|
|
153
|
-
|
|
157
|
+
_e = (_d = I18NConfig).translateChildren;
|
|
158
|
+
_g = {
|
|
154
159
|
children: childrenAsObjects,
|
|
155
|
-
|
|
160
|
+
targetLocale: locale
|
|
156
161
|
};
|
|
157
|
-
|
|
162
|
+
_f = [__assign(__assign({}, (id && { id: id })), { hash: key })];
|
|
158
163
|
return [4 /*yield*/, (0, getMetadata_1.default)()];
|
|
159
164
|
case 3:
|
|
160
|
-
translationPromise =
|
|
161
|
-
|
|
165
|
+
translationPromise = _e.apply(_d, [(_g.metadata = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_h.sent())])), (renderSettings.timeout && { timeout: renderSettings.timeout })]),
|
|
166
|
+
_g)]);
|
|
162
167
|
promise = translationPromise.then(function (translation) {
|
|
163
168
|
var target = translation;
|
|
164
|
-
return (0,
|
|
169
|
+
return (0, internal_1.renderTranslatedChildren)({
|
|
165
170
|
source: taggedChildren,
|
|
166
171
|
target: target,
|
|
167
172
|
variables: variables,
|
|
168
173
|
variablesOptions: variablesOptions,
|
|
169
|
-
locales: [locale, defaultLocale]
|
|
174
|
+
locales: [locale, defaultLocale],
|
|
175
|
+
renderVariable: renderVariable_1.default
|
|
170
176
|
});
|
|
171
177
|
});
|
|
172
|
-
errorFallback = (0,
|
|
178
|
+
errorFallback = (0, internal_1.renderDefaultChildren)({
|
|
173
179
|
children: taggedChildren,
|
|
174
180
|
variables: variables,
|
|
175
181
|
variablesOptions: variablesOptions,
|
|
176
|
-
defaultLocale: defaultLocale
|
|
182
|
+
defaultLocale: defaultLocale,
|
|
183
|
+
renderVariable: renderVariable_1.default
|
|
177
184
|
});
|
|
178
|
-
if (renderSettings.method ===
|
|
185
|
+
if (renderSettings.method === 'replace') {
|
|
179
186
|
loadingFallback = errorFallback;
|
|
180
187
|
}
|
|
181
|
-
else if (renderSettings.method ===
|
|
182
|
-
loadingFallback = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
188
|
+
else if (renderSettings.method === 'skeleton') {
|
|
189
|
+
loadingFallback = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}); // blank
|
|
183
190
|
}
|
|
184
|
-
if (!(renderSettings.method ===
|
|
185
|
-
|
|
191
|
+
if (!(renderSettings.method === 'hang')) return [3 /*break*/, 7];
|
|
192
|
+
_h.label = 4;
|
|
186
193
|
case 4:
|
|
187
|
-
|
|
194
|
+
_h.trys.push([4, 6, , 7]);
|
|
188
195
|
return [4 /*yield*/, promise];
|
|
189
|
-
case 5: return [2 /*return*/,
|
|
196
|
+
case 5: return [2 /*return*/, _h.sent()];
|
|
190
197
|
case 6:
|
|
191
|
-
error_1 =
|
|
198
|
+
error_1 = _h.sent();
|
|
192
199
|
console.error(error_1);
|
|
193
200
|
return [2 /*return*/, errorFallback];
|
|
194
201
|
case 7:
|
|
195
|
-
if (![
|
|
196
|
-
// If none of those, i.e. "subtle"
|
|
202
|
+
if (!['skeleton', 'replace'].includes(renderSettings.method) && !id) {
|
|
203
|
+
// If none of those, i.e. "subtle"
|
|
197
204
|
// return the children, with no special rendering
|
|
198
205
|
// a translation may be available from a cached translation dictionary next time the component is loaded
|
|
199
206
|
return [2 /*return*/, errorFallback];
|
|
200
207
|
}
|
|
208
|
+
// For skeleton & replace, return a suspense component so that
|
|
209
|
+
// something is shown while waiting for the translation
|
|
201
210
|
return [2 /*return*/, ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: loadingFallback, children: (0, jsx_runtime_1.jsx)(Resolver_1.default, { children: promise, fallback: errorFallback }) }))];
|
|
202
211
|
}
|
|
203
212
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"T.js","sourceRoot":"","sources":["../../../src/server/inline/T.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"T.js","sourceRoot":"","sources":["../../../src/server/inline/T.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
import React, { ReactElement } from "react";
|
|
2
|
-
export default function renderDefaultChildren({ children, variables, variablesOptions, defaultLocale }: {
|
|
3
|
-
children: ReactElement;
|
|
4
|
-
variables?: Record<string, any>;
|
|
5
|
-
variablesOptions?: Record<string, any>;
|
|
6
|
-
defaultLocale: string;
|
|
7
|
-
}): React.ReactNode;
|
|
8
1
|
//# sourceMappingURL=renderDefaultChildren.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDefaultChildren.d.ts","sourceRoot":"","sources":["../../../src/server/rendering/renderDefaultChildren.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderDefaultChildren.d.ts","sourceRoot":"","sources":["../../../src/server/rendering/renderDefaultChildren.tsx"],"names":[],"mappings":""}
|
|
@@ -1,75 +1,91 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return
|
|
72
|
-
|
|
73
|
-
|
|
2
|
+
/*import React, { ReactElement, ReactNode } from 'react';
|
|
3
|
+
import renderVariable from './renderVariable';
|
|
4
|
+
import { getFallbackVariableName, getPluralBranch, getVariableProps } from 'gt-react/internal';
|
|
5
|
+
import { libraryDefaultLocale } from 'generaltranslation/internal';
|
|
6
|
+
|
|
7
|
+
// Renders the children in the default locale, as they are supplied
|
|
8
|
+
// with variables substituted (for use by the dictionary)
|
|
9
|
+
export default function renderDefaultChildren({
|
|
10
|
+
children,
|
|
11
|
+
variables = {},
|
|
12
|
+
variablesOptions = {},
|
|
13
|
+
defaultLocale = libraryDefaultLocale,
|
|
14
|
+
}: {
|
|
15
|
+
children: ReactElement;
|
|
16
|
+
variables?: Record<string, any>;
|
|
17
|
+
variablesOptions?: Record<string, any>;
|
|
18
|
+
defaultLocale: string;
|
|
19
|
+
}) {
|
|
20
|
+
const handleSingleChild = (child: ReactNode) => {
|
|
21
|
+
if (React.isValidElement(child)) {
|
|
22
|
+
const { 'data-_gt': generaltranslation, ...props } = child.props;
|
|
23
|
+
if (generaltranslation?.transformation === 'variable') {
|
|
24
|
+
let {
|
|
25
|
+
variableName,
|
|
26
|
+
variableType,
|
|
27
|
+
variableValue,
|
|
28
|
+
variableOptions
|
|
29
|
+
} = getVariableProps(child.props);
|
|
30
|
+
variableValue = (() => {
|
|
31
|
+
if (typeof variables[variableName] !== 'undefined') {
|
|
32
|
+
return variables[variableName]
|
|
33
|
+
}
|
|
34
|
+
const fallbackVariableName = getFallbackVariableName(variableType);
|
|
35
|
+
if (typeof variables[fallbackVariableName] !== 'undefined') {
|
|
36
|
+
return variables[fallbackVariableName];
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
})();
|
|
40
|
+
variableOptions = {
|
|
41
|
+
...variablesOptions[variableName],
|
|
42
|
+
...variableOptions
|
|
43
|
+
} as Intl.NumberFormatOptions | Intl.DateTimeFormatOptions;
|
|
44
|
+
return renderVariable({
|
|
45
|
+
variableName, variableType, variableValue, variableOptions
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
if (generaltranslation?.transformation === 'plural') {
|
|
49
|
+
const n =
|
|
50
|
+
typeof variables.n === 'number'
|
|
51
|
+
? variables.n
|
|
52
|
+
: typeof props.n === 'number'
|
|
53
|
+
? props.n
|
|
54
|
+
: props['data-_gt-n'];
|
|
55
|
+
const branches = generaltranslation.branches || {};
|
|
56
|
+
return handleChildren(
|
|
57
|
+
getPluralBranch(n, [defaultLocale], branches) || child.props.children
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
if (generaltranslation?.transformation === 'branch') {
|
|
61
|
+
let { children, name, branch, 'data-_gt': _gt, ...branches } = props;
|
|
62
|
+
name = name || props['data-_gt-name'] || 'branch';
|
|
63
|
+
branch =
|
|
64
|
+
variables[name] || branch || child.props['data-_gt-branch-name'];
|
|
65
|
+
branches = generaltranslation.branches || {};
|
|
66
|
+
return handleChildren(
|
|
67
|
+
branches[branch] !== undefined ? branches[branch] : children
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
if (child.props.children) {
|
|
71
|
+
return React.cloneElement(child, {
|
|
72
|
+
...props,
|
|
73
|
+
'data-_gt': undefined,
|
|
74
|
+
children: handleChildren(child.props.children),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return React.cloneElement(child, { ...props, 'data-_gt': undefined });
|
|
78
|
+
}
|
|
79
|
+
return child;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const handleChildren = (children: ReactNode): ReactNode => {
|
|
83
|
+
return Array.isArray(children)
|
|
84
|
+
? React.Children.map(children, handleSingleChild)
|
|
85
|
+
: handleSingleChild(children);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
return handleChildren(children);
|
|
74
89
|
}
|
|
90
|
+
*/
|
|
75
91
|
//# sourceMappingURL=renderDefaultChildren.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDefaultChildren.js","sourceRoot":"","sources":["../../../src/server/rendering/renderDefaultChildren.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderDefaultChildren.js","sourceRoot":"","sources":["../../../src/server/rendering/renderDefaultChildren.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFE"}
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import { TranslatedChildren } from "gt-react/dist/primitives/types";
|
|
3
|
-
export default function renderTranslatedChildren({ source, target, variables, variablesOptions, locales }: {
|
|
4
|
-
source: ReactNode;
|
|
5
|
-
target: TranslatedChildren;
|
|
6
|
-
variables?: Record<string, any>;
|
|
7
|
-
variablesOptions?: Record<string, any>;
|
|
8
|
-
locales: string[];
|
|
9
|
-
}): ReactNode;
|
|
10
1
|
//# sourceMappingURL=renderTranslatedChildren.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTranslatedChildren.d.ts","sourceRoot":"","sources":["../../../src/server/rendering/renderTranslatedChildren.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderTranslatedChildren.d.ts","sourceRoot":"","sources":["../../../src/server/rendering/renderTranslatedChildren.tsx"],"names":[],"mappings":""}
|