gt-react 3.1.40 → 3.1.41
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/cjs/client/client-only/helpers/renderDictionary.d.ts.map +1 -1
- package/dist/cjs/client/client-only/helpers/renderDictionary.js +59 -26
- package/dist/cjs/client/client-only/helpers/renderDictionary.js.map +1 -1
- package/dist/cjs/client/hooks/useGT.d.ts.map +1 -1
- package/dist/cjs/client/hooks/useGT.js +4 -11
- package/dist/cjs/client/hooks/useGT.js.map +1 -1
- package/dist/cjs/server/renderChildren.d.ts +1 -1
- package/dist/cjs/server/renderChildren.d.ts.map +1 -1
- package/dist/mjs/client/client-only/helpers/renderDictionary.d.ts.map +1 -1
- package/dist/mjs/client/client-only/helpers/renderDictionary.js +59 -3
- package/dist/mjs/client/client-only/helpers/renderDictionary.js.map +1 -1
- package/dist/mjs/client/hooks/useGT.d.ts.map +1 -1
- package/dist/mjs/client/hooks/useGT.js +4 -11
- package/dist/mjs/client/hooks/useGT.js.map +1 -1
- package/dist/mjs/server/renderChildren.d.ts +1 -1
- package/dist/mjs/server/renderChildren.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDictionary.d.ts","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderDictionary.d.ts","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":"AAoJA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACrC,MAAM,EAAE,UAAU,EAAE,OAAO,EAC9B,EAAE,GAAG,GAAG,GAAG,CAeX"}
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
3
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
27
4
|
var t = {};
|
|
28
5
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -40,11 +17,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
40
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
18
|
exports.default = renderDictionary;
|
|
42
19
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
43
|
-
const react_1 =
|
|
20
|
+
const react_1 = __importDefault(require("react"));
|
|
44
21
|
const getEntryMetadata_1 = __importDefault(require("../../../primitives/getEntryMetadata"));
|
|
45
22
|
const addGTIdentifier_1 = __importDefault(require("../../../server/helpers/addGTIdentifier"));
|
|
46
23
|
const isValidReactNode_1 = __importDefault(require("../../../primitives/isValidReactNode"));
|
|
47
24
|
const getRenderAttributes_1 = __importDefault(require("../../../primitives/getRenderAttributes"));
|
|
25
|
+
const defaultVariableNames_1 = __importDefault(require("../../../primitives/defaultVariableNames"));
|
|
26
|
+
const ClientNum_1 = __importDefault(require("../../variables/ClientNum"));
|
|
27
|
+
const ClientDateTime_1 = __importDefault(require("../../variables/ClientDateTime"));
|
|
28
|
+
const ClientCurrency_1 = __importDefault(require("../../variables/ClientCurrency"));
|
|
29
|
+
const ClientVar_1 = __importDefault(require("../../variables/ClientVar"));
|
|
48
30
|
const renderClientElement = (_a) => {
|
|
49
31
|
var _b;
|
|
50
32
|
var { sourceElement, targetElement } = _a, metadata = __rest(_a, ["sourceElement", "targetElement"]);
|
|
@@ -55,6 +37,7 @@ const renderClientElement = (_a) => {
|
|
|
55
37
|
return react_1.default.cloneElement(sourceElement, Object.assign(Object.assign({}, metadata.renderAttributes), sourceElement === null || sourceElement === void 0 ? void 0 : sourceElement.props));
|
|
56
38
|
};
|
|
57
39
|
function renderClientChildren(_a) {
|
|
40
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
58
41
|
var { source, target } = _a, metadata = __rest(_a, ["source", "target"]);
|
|
59
42
|
// Most straightforward case, return a valid React node
|
|
60
43
|
if ((target === null || typeof target === 'undefined') && (0, isValidReactNode_1.default)(source))
|
|
@@ -62,9 +45,33 @@ function renderClientChildren(_a) {
|
|
|
62
45
|
// Extremely important due to GTProvider and t() discrepancy on whether to use async intl()
|
|
63
46
|
if (typeof target !== null && typeof target !== 'undefined' && (0, isValidReactNode_1.default)(target))
|
|
64
47
|
return target;
|
|
48
|
+
// If target and source are both arrays of children
|
|
65
49
|
if (Array.isArray(source) && Array.isArray(target)) {
|
|
66
50
|
// Filter for variables and valid source children
|
|
67
|
-
|
|
51
|
+
let validSourceElements = [];
|
|
52
|
+
for (const sourceChild of source) {
|
|
53
|
+
if (((_c = (_b = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _b === void 0 ? void 0 : _b['data-generaltranslation']) === null || _c === void 0 ? void 0 : _c.transformation) === "variable") {
|
|
54
|
+
const variableName = sourceChild.props.name || defaultVariableNames_1.default[(_e = (_d = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _d === void 0 ? void 0 : _d['data-generaltranslation']) === null || _e === void 0 ? void 0 : _e.variableType];
|
|
55
|
+
const variableValue = sourceChild.props.defaultValue || sourceChild.props.children;
|
|
56
|
+
if (variableName && variableValue && typeof ((_f = metadata === null || metadata === void 0 ? void 0 : metadata.variables) === null || _f === void 0 ? void 0 : _f[variableName]) === 'undefined') {
|
|
57
|
+
metadata.variables = Object.assign(Object.assign({}, metadata.variables), { [variableName]: variableValue });
|
|
58
|
+
}
|
|
59
|
+
const variableType = ((_h = (_g = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _g === void 0 ? void 0 : _g['data-generaltranslation']) === null || _h === void 0 ? void 0 : _h.variableType) || "variable";
|
|
60
|
+
if (variableType === "number" || variableType === "currency" || variableType === "date") {
|
|
61
|
+
const variableOptions = (_j = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _j === void 0 ? void 0 : _j.options;
|
|
62
|
+
if (variableOptions)
|
|
63
|
+
metadata.variableOptions = Object.assign(Object.assign({}, metadata.variableOptions), { [variableName]: Object.assign({}, variableOptions) });
|
|
64
|
+
}
|
|
65
|
+
if (variableType === "currency") {
|
|
66
|
+
const variableCurrency = (_k = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _k === void 0 ? void 0 : _k.currency;
|
|
67
|
+
if (variableCurrency)
|
|
68
|
+
metadata.variableOptions = Object.assign(Object.assign({}, metadata.variableOptions), { [variableName]: Object.assign({ currency: variableCurrency }, (_l = metadata.variableOptions) === null || _l === void 0 ? void 0 : _l[variableName]) });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else if (react_1.default.isValidElement(sourceChild)) {
|
|
72
|
+
validSourceElements.push(sourceChild);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
68
75
|
// Find matching source elements based on ID
|
|
69
76
|
const findMatchingSource = (targetElement) => {
|
|
70
77
|
return validSourceElements.find(sourceChild => {
|
|
@@ -80,10 +87,29 @@ function renderClientChildren(_a) {
|
|
|
80
87
|
};
|
|
81
88
|
// Return targets
|
|
82
89
|
return target.map((targetChild, index) => {
|
|
90
|
+
var _a, _b, _c, _d, _e;
|
|
83
91
|
// Most straightforward case, return a valid React node
|
|
84
92
|
if ((0, isValidReactNode_1.default)(targetChild)) {
|
|
85
93
|
return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: targetChild }, `string_${index}`);
|
|
86
94
|
}
|
|
95
|
+
// If target is a variable
|
|
96
|
+
if ((targetChild === null || targetChild === void 0 ? void 0 : targetChild.variable) && typeof targetChild.key === 'string') {
|
|
97
|
+
const key = targetChild.key;
|
|
98
|
+
let value;
|
|
99
|
+
if (metadata.variables && (typeof metadata.variables[key] !== null && typeof metadata.variables[key] !== 'undefined')) {
|
|
100
|
+
value = metadata.variables[key];
|
|
101
|
+
}
|
|
102
|
+
if (targetChild.variable === "number") {
|
|
103
|
+
return (0, jsx_runtime_1.jsx)(ClientNum_1.default, { defaultValue: value, name: key, options: Object.assign({}, (_a = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _a === void 0 ? void 0 : _a[key]) }, `var_${index}`);
|
|
104
|
+
}
|
|
105
|
+
if (targetChild.variable === "date") {
|
|
106
|
+
return (0, jsx_runtime_1.jsx)(ClientDateTime_1.default, { defaultValue: value, name: key, options: Object.assign({}, (_b = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _b === void 0 ? void 0 : _b[key]) }, `var_${index}`);
|
|
107
|
+
}
|
|
108
|
+
if (targetChild.variable === "currency") {
|
|
109
|
+
return (0, jsx_runtime_1.jsx)(ClientCurrency_1.default, { defaultValue: value, name: key, currency: ((_d = (_c = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.currency) || undefined, options: Object.assign({}, (_e = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _e === void 0 ? void 0 : _e[key]) }, `var_${index}`);
|
|
110
|
+
}
|
|
111
|
+
return (0, jsx_runtime_1.jsx)(ClientVar_1.default, { defaultValue: (0, isValidReactNode_1.default)(value) ? value : undefined, name: key }, `var_${index}`);
|
|
112
|
+
}
|
|
87
113
|
// If target is a normal ReactElement
|
|
88
114
|
const matchingSource = findMatchingSource(targetChild);
|
|
89
115
|
if (react_1.default.isValidElement(matchingSource)) {
|
|
@@ -91,11 +117,18 @@ function renderClientChildren(_a) {
|
|
|
91
117
|
}
|
|
92
118
|
});
|
|
93
119
|
}
|
|
94
|
-
// Target is a single object
|
|
120
|
+
// Target is a single object, could be a component or a variable
|
|
95
121
|
if (typeof target === 'object') {
|
|
96
122
|
if (react_1.default.isValidElement(source)) {
|
|
97
123
|
return renderClientElement(Object.assign({ sourceElement: source, targetElement: target }, metadata));
|
|
98
124
|
}
|
|
125
|
+
if ((target === null || target === void 0 ? void 0 : target.variable) && (target === null || target === void 0 ? void 0 : target.keys) && typeof source === 'object' && source !== null) {
|
|
126
|
+
for (const key of target.keys) {
|
|
127
|
+
if (source.hasOwnProperty(key)) {
|
|
128
|
+
return source[key];
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
99
132
|
}
|
|
100
133
|
}
|
|
101
134
|
function renderDictionary({ result, dictionary, locales }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDictionary.js","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":";AACA,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"renderDictionary.js","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkDnD"}
|
|
@@ -34,22 +34,15 @@ function useGT(id) {
|
|
|
34
34
|
// Return a translation function if available, otherwise return a no-op function
|
|
35
35
|
return (id, options) => {
|
|
36
36
|
const translation = translate(`${prefix}${id}`);
|
|
37
|
+
console.log(translation);
|
|
37
38
|
// If a plural or value is required
|
|
38
39
|
if (options) {
|
|
39
|
-
const { n, values
|
|
40
|
+
const { n, values } = options;
|
|
40
41
|
if (typeof n === 'number') {
|
|
41
|
-
const innerProps = { n,
|
|
42
|
-
|
|
43
|
-
// Plural + Value
|
|
44
|
-
return ((0, jsx_runtime_1.jsx)(ClientValue_1.default, { values: values, children: (0, jsx_runtime_1.jsx)(ClientPlural_1.default, Object.assign({ id: id }, innerProps, { children: translation })) }));
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
// Plural only
|
|
48
|
-
return ((0, jsx_runtime_1.jsx)(ClientPlural_1.default, Object.assign({ id: id }, innerProps, { children: translation })));
|
|
49
|
-
}
|
|
42
|
+
const innerProps = { n, values };
|
|
43
|
+
return ((0, jsx_runtime_1.jsx)(ClientPlural_1.default, Object.assign({ id: id }, innerProps, { children: translation })));
|
|
50
44
|
}
|
|
51
45
|
else if (values) {
|
|
52
|
-
// Value only
|
|
53
46
|
return ((0, jsx_runtime_1.jsx)(ClientValue_1.default, { id: id, values: values, children: translation }));
|
|
54
47
|
}
|
|
55
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGT.js","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;;AAeZ,
|
|
1
|
+
{"version":3,"file":"useGT.js","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;;AAeZ,wBAkDC;;AA/DD,iCAAgC;AAChC,sDAAiD;AACjD,uEAA+C;AAC/C,0EAAkD;AAElD;;;;;;;GAOG;AACH,SAAwB,KAAK,CAAC,EAAW;IACrC,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,8BAA8B;IAC9B,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACD,CAAC,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAY,GAAE,CAAC,CAAC;IACrC,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,wEAAwE,CAAC,CAAC;IACtG,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,EAAU,EAAE,OAInB,EAAE,EAAE;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAExB,mCAAmC;QACnC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,EACF,CAAC,EAAE,MAAM,EACZ,GAAG,OAAO,CAAC;YACZ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;gBACjC,OAAO,CACH,uBAAC,sBAAY,kBAAC,EAAE,EAAE,EAAE,IAAM,UAAU,cAC/B,WAAW,IACD,CAClB,CAAA;YACL,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAChB,OAAO,CACH,uBAAC,qBAAW,IAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAC9B,WAAW,GACF,CACjB,CAAA;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,iDAAiD,MAAM,GAAG,EAAE,IAAI,CAAC,CAAA;QAExG,OAAO,WAAW,CAAC;IACvB,CAAC,CAAA;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
type TargetElement = Record<string, any>;
|
|
3
|
-
type TargetChild = TargetElement | string | number | boolean;
|
|
3
|
+
type TargetChild = TargetElement | string | number | boolean | object;
|
|
4
4
|
type Target = TargetChild | TargetChild[];
|
|
5
5
|
type SourceChild = ReactNode | Record<string, any>;
|
|
6
6
|
type Source = SourceChild | SourceChild[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderChildren.d.ts","sourceRoot":"","sources":["../../../src/server/renderChildren.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAUtD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,WAAW,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"renderChildren.d.ts","sourceRoot":"","sources":["../../../src/server/renderChildren.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAUtD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,WAAW,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACtE,KAAK,MAAM,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAE1C,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACnD,KAAK,MAAM,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAyE1C;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACnC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAC9B,EAAE;IACC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,GAAG,SAAS,CAoGZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDictionary.d.ts","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderDictionary.d.ts","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":"AAoJA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACrC,MAAM,EAAE,UAAU,EAAE,OAAO,EAC9B,EAAE,GAAG,GAAG,GAAG,CAeX"}
|
|
@@ -11,11 +11,16 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
13
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
-
import React
|
|
14
|
+
import React from "react";
|
|
15
15
|
import getEntryMetadata from "../../../primitives/getEntryMetadata";
|
|
16
16
|
import addGTIdentifier from "../../../server/helpers/addGTIdentifier";
|
|
17
17
|
import isValidReactNode from "../../../primitives/isValidReactNode";
|
|
18
18
|
import getRenderAttributes from "../../../primitives/getRenderAttributes";
|
|
19
|
+
import defaultVariableNames from "../../../primitives/defaultVariableNames";
|
|
20
|
+
import ClientNum from "../../variables/ClientNum";
|
|
21
|
+
import ClientDateTime from "../../variables/ClientDateTime";
|
|
22
|
+
import ClientCurrency from "../../variables/ClientCurrency";
|
|
23
|
+
import ClientVar from "../../variables/ClientVar";
|
|
19
24
|
const renderClientElement = (_a) => {
|
|
20
25
|
var _b;
|
|
21
26
|
var { sourceElement, targetElement } = _a, metadata = __rest(_a, ["sourceElement", "targetElement"]);
|
|
@@ -26,6 +31,7 @@ const renderClientElement = (_a) => {
|
|
|
26
31
|
return React.cloneElement(sourceElement, Object.assign(Object.assign({}, metadata.renderAttributes), sourceElement === null || sourceElement === void 0 ? void 0 : sourceElement.props));
|
|
27
32
|
};
|
|
28
33
|
function renderClientChildren(_a) {
|
|
34
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
29
35
|
var { source, target } = _a, metadata = __rest(_a, ["source", "target"]);
|
|
30
36
|
// Most straightforward case, return a valid React node
|
|
31
37
|
if ((target === null || typeof target === 'undefined') && isValidReactNode(source))
|
|
@@ -33,9 +39,33 @@ function renderClientChildren(_a) {
|
|
|
33
39
|
// Extremely important due to GTProvider and t() discrepancy on whether to use async intl()
|
|
34
40
|
if (typeof target !== null && typeof target !== 'undefined' && isValidReactNode(target))
|
|
35
41
|
return target;
|
|
42
|
+
// If target and source are both arrays of children
|
|
36
43
|
if (Array.isArray(source) && Array.isArray(target)) {
|
|
37
44
|
// Filter for variables and valid source children
|
|
38
|
-
|
|
45
|
+
let validSourceElements = [];
|
|
46
|
+
for (const sourceChild of source) {
|
|
47
|
+
if (((_c = (_b = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _b === void 0 ? void 0 : _b['data-generaltranslation']) === null || _c === void 0 ? void 0 : _c.transformation) === "variable") {
|
|
48
|
+
const variableName = sourceChild.props.name || defaultVariableNames[(_e = (_d = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _d === void 0 ? void 0 : _d['data-generaltranslation']) === null || _e === void 0 ? void 0 : _e.variableType];
|
|
49
|
+
const variableValue = sourceChild.props.defaultValue || sourceChild.props.children;
|
|
50
|
+
if (variableName && variableValue && typeof ((_f = metadata === null || metadata === void 0 ? void 0 : metadata.variables) === null || _f === void 0 ? void 0 : _f[variableName]) === 'undefined') {
|
|
51
|
+
metadata.variables = Object.assign(Object.assign({}, metadata.variables), { [variableName]: variableValue });
|
|
52
|
+
}
|
|
53
|
+
const variableType = ((_h = (_g = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _g === void 0 ? void 0 : _g['data-generaltranslation']) === null || _h === void 0 ? void 0 : _h.variableType) || "variable";
|
|
54
|
+
if (variableType === "number" || variableType === "currency" || variableType === "date") {
|
|
55
|
+
const variableOptions = (_j = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _j === void 0 ? void 0 : _j.options;
|
|
56
|
+
if (variableOptions)
|
|
57
|
+
metadata.variableOptions = Object.assign(Object.assign({}, metadata.variableOptions), { [variableName]: Object.assign({}, variableOptions) });
|
|
58
|
+
}
|
|
59
|
+
if (variableType === "currency") {
|
|
60
|
+
const variableCurrency = (_k = sourceChild === null || sourceChild === void 0 ? void 0 : sourceChild.props) === null || _k === void 0 ? void 0 : _k.currency;
|
|
61
|
+
if (variableCurrency)
|
|
62
|
+
metadata.variableOptions = Object.assign(Object.assign({}, metadata.variableOptions), { [variableName]: Object.assign({ currency: variableCurrency }, (_l = metadata.variableOptions) === null || _l === void 0 ? void 0 : _l[variableName]) });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else if (React.isValidElement(sourceChild)) {
|
|
66
|
+
validSourceElements.push(sourceChild);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
39
69
|
// Find matching source elements based on ID
|
|
40
70
|
const findMatchingSource = (targetElement) => {
|
|
41
71
|
return validSourceElements.find(sourceChild => {
|
|
@@ -51,10 +81,29 @@ function renderClientChildren(_a) {
|
|
|
51
81
|
};
|
|
52
82
|
// Return targets
|
|
53
83
|
return target.map((targetChild, index) => {
|
|
84
|
+
var _a, _b, _c, _d, _e;
|
|
54
85
|
// Most straightforward case, return a valid React node
|
|
55
86
|
if (isValidReactNode(targetChild)) {
|
|
56
87
|
return _jsx(React.Fragment, { children: targetChild }, `string_${index}`);
|
|
57
88
|
}
|
|
89
|
+
// If target is a variable
|
|
90
|
+
if ((targetChild === null || targetChild === void 0 ? void 0 : targetChild.variable) && typeof targetChild.key === 'string') {
|
|
91
|
+
const key = targetChild.key;
|
|
92
|
+
let value;
|
|
93
|
+
if (metadata.variables && (typeof metadata.variables[key] !== null && typeof metadata.variables[key] !== 'undefined')) {
|
|
94
|
+
value = metadata.variables[key];
|
|
95
|
+
}
|
|
96
|
+
if (targetChild.variable === "number") {
|
|
97
|
+
return _jsx(ClientNum, { defaultValue: value, name: key, options: Object.assign({}, (_a = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _a === void 0 ? void 0 : _a[key]) }, `var_${index}`);
|
|
98
|
+
}
|
|
99
|
+
if (targetChild.variable === "date") {
|
|
100
|
+
return _jsx(ClientDateTime, { defaultValue: value, name: key, options: Object.assign({}, (_b = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _b === void 0 ? void 0 : _b[key]) }, `var_${index}`);
|
|
101
|
+
}
|
|
102
|
+
if (targetChild.variable === "currency") {
|
|
103
|
+
return _jsx(ClientCurrency, { defaultValue: value, name: key, currency: ((_d = (_c = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.currency) || undefined, options: Object.assign({}, (_e = metadata === null || metadata === void 0 ? void 0 : metadata.variableOptions) === null || _e === void 0 ? void 0 : _e[key]) }, `var_${index}`);
|
|
104
|
+
}
|
|
105
|
+
return _jsx(ClientVar, { defaultValue: isValidReactNode(value) ? value : undefined, name: key }, `var_${index}`);
|
|
106
|
+
}
|
|
58
107
|
// If target is a normal ReactElement
|
|
59
108
|
const matchingSource = findMatchingSource(targetChild);
|
|
60
109
|
if (React.isValidElement(matchingSource)) {
|
|
@@ -62,11 +111,18 @@ function renderClientChildren(_a) {
|
|
|
62
111
|
}
|
|
63
112
|
});
|
|
64
113
|
}
|
|
65
|
-
// Target is a single object
|
|
114
|
+
// Target is a single object, could be a component or a variable
|
|
66
115
|
if (typeof target === 'object') {
|
|
67
116
|
if (React.isValidElement(source)) {
|
|
68
117
|
return renderClientElement(Object.assign({ sourceElement: source, targetElement: target }, metadata));
|
|
69
118
|
}
|
|
119
|
+
if ((target === null || target === void 0 ? void 0 : target.variable) && (target === null || target === void 0 ? void 0 : target.keys) && typeof source === 'object' && source !== null) {
|
|
120
|
+
for (const key of target.keys) {
|
|
121
|
+
if (source.hasOwnProperty(key)) {
|
|
122
|
+
return source[key];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
70
126
|
}
|
|
71
127
|
}
|
|
72
128
|
export default function renderDictionary({ result, dictionary, locales }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDictionary.js","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":"AACA,YAAY,CAAA;;;;;;;;;;;;;AAEZ,OAAO,
|
|
1
|
+
{"version":3,"file":"renderDictionary.js","sourceRoot":"","sources":["../../../../../src/client/client-only/helpers/renderDictionary.tsx"],"names":[],"mappings":"AACA,YAAY,CAAA;;;;;;;;;;;;;AAEZ,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,eAAe,MAAM,yCAAyC,CAAC;AACtE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAC1E,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAUlD,MAAM,mBAAmB,GAAG,CAAC,EAI5B,EAAgB,EAAE;;QAJU,EAAE,aAAa,EAAE,aAAa,OAI1D,EAJ+D,QAAQ,cAA3C,kCAA6C,CAAF;IAMpE,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;IAEhC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,YAAY,CAAC,aAAa,gDAChC,KAAK,GACL,QAAQ,CAAC,gBAAgB,KAC5B,QAAQ,EAAE,oBAAoB,iBAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAE,QAAQ,IAAK,QAAQ,EAAG,IACjH,CAAC;IACP,CAAC;IAED,OAAO,KAAK,CAAC,YAAY,CAAC,aAAa,kCAAO,QAAQ,CAAC,gBAAgB,GAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,EAAG,CAAC;AACxG,CAAC,CAAA;AAED,SAAS,oBAAoB,CAAC,EAM7B;;QAN6B,EAC1B,MAAM,EAAE,MAAM,OAKjB,EALsB,QAAQ,cADD,oBAE7B,CAD8B;IAO1B,uDAAuD;IACxD,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAElG,2FAA2F;IAC3F,IAAI,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvG,mDAAmD;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAEjD,iDAAiD;QACjD,IAAI,mBAAmB,GAAa,EAAE,CAAC;QACvC,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAG,yBAAyB,CAAC,0CAAE,cAAc,MAAK,UAAU,EAAE,CAAC;gBACjF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,oBAAoB,CAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAG,yBAAyB,CAAC,0CAAE,YAAY,CAAC,CAAC;gBACnI,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACnF,IAAI,YAAY,IAAI,aAAa,IAAI,OAAO,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAG,YAAY,CAAC,CAAA,KAAK,WAAW,EAAE,CAAC;oBAC9F,QAAQ,CAAC,SAAS,mCAAQ,QAAQ,CAAC,SAAS,KAAE,CAAC,YAAY,CAAC,EAAE,aAAa,GAAE,CAAA;gBACjF,CAAC;gBACD,MAAM,YAAY,GAAG,CAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAG,yBAAyB,CAAC,0CAAE,YAAY,KAAI,UAAU,CAAC;gBACjG,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;oBACtF,MAAM,eAAe,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAE,OAAO,CAAC;oBACpD,IAAI,eAAe;wBAAE,QAAQ,CAAC,eAAe,mCAAQ,QAAQ,CAAC,eAAe,KAAE,CAAC,YAAY,CAAC,oBAAO,eAAe,IAAI,CAAA;gBAC3H,CAAC;gBACD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;oBAC9B,MAAM,gBAAgB,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAE,QAAQ,CAAC;oBACtD,IAAI,gBAAgB;wBAAE,QAAQ,CAAC,eAAe,mCAAQ,QAAQ,CAAC,eAAe,KAAE,CAAC,YAAY,CAAC,kBAAI,QAAQ,EAAE,gBAAgB,IAAK,MAAA,QAAQ,CAAC,eAAe,0CAAG,YAAY,CAAC,IAAI,CAAA;gBACjL,CAAC;YACL,CAAC;iBACI,IAAI,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,MAAM,kBAAkB,GAAG,CAAC,aAA4B,EAA2B,EAAE;YACjF,OAAO,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;;gBAC1C,MAAM,EAAE,KAAK,EAAE,GAAQ,WAAW,CAAC;gBACnC,IAAI,OAAO,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,yBAAyB,CAAC,0CAAE,EAAE,CAAA,KAAK,WAAW,EAAE,CAAC;oBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC;oBACrD,MAAM,QAAQ,GAAG,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAG,yBAAyB,CAAC,0CAAE,EAAE,CAAC;oBACvE,OAAO,QAAQ,KAAK,QAAQ,CAAC;gBACjC,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC,CAAA;QAED,iBAAiB;QACjB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;;YAErC,uDAAuD;YACvD,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,OAAO,KAAC,KAAK,CAAC,QAAQ,cAA0B,WAAW,IAA/B,UAAU,KAAK,EAAE,CAAgC,CAAC;YAClF,CAAC;YAED,0BAA0B;YAC1B,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,KAAI,OAAO,WAAW,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAE/D,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;gBAC5B,IAAI,KAAK,CAAC;gBAEV,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;oBACpH,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACpC,OAAO,KAAC,SAAS,IAAsB,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,oBAAM,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAG,GAAG,CAAC,KAA7F,OAAO,KAAK,EAAE,CAAmF,CAAA;gBAC5H,CAAC;gBACD,IAAI,WAAW,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAClC,OAAO,KAAC,cAAc,IAAsB,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,oBAAM,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAG,GAAG,CAAC,KAA7F,OAAO,KAAK,EAAE,CAAmF,CAAA;gBACjI,CAAC;gBACD,IAAI,WAAW,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACtC,OAAO,KAAC,cAAc,IAAsB,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAG,GAAG,CAAC,0CAAE,QAAQ,KAAI,SAAS,EAAE,OAAO,oBAAM,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAG,GAAG,CAAC,KAAhK,OAAO,KAAK,EAAE,CAAsJ,CAAA;gBACpM,CAAC;gBACD,OAAO,KAAC,SAAS,IAAsB,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,IAApF,OAAO,KAAK,EAAE,CAAyE,CAAA;YAClH,CAAC;YAED,qCAAqC;YACrC,MAAM,cAAc,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAC,KAAK,CAAC,QAAQ,cAA2B,mBAAmB,iBAAG,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,IAAK,QAAQ,EAAG,IAApH,WAAW,KAAK,EAAE,CAAoH,CAAC;YACvK,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gEAAgE;IAChE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,mBAAmB,iBAAG,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,IAAK,QAAQ,EAAG,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,QAAQ,MAAK,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,IAAI,CAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACtG,KAAK,MAAM,GAAG,IAAK,MAAc,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAQ,MAAc,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACrC,MAAM,EAAE,UAAU,EAAE,OAAO,EACzB;IACF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,oBAAoB,GAAwB,EAAE,CAAC;IACnD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACb,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,QAAQ,mBAAK,OAAO,EAAE,gBAAgB,IAAK,QAAQ,CAAE,CAAC;YACtD,oBAAoB,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC;gBAC5C,MAAM,EAAE,eAAe,CAAC,4BAAG,KAAK,GAAI,CAAC,EAAE,iEAAiE;gBACxG,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpB,QAAQ;aACX,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IACD,OAAO,oBAAoB,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkDnD"}
|
|
@@ -28,22 +28,15 @@ export default function useGT(id) {
|
|
|
28
28
|
// Return a translation function if available, otherwise return a no-op function
|
|
29
29
|
return (id, options) => {
|
|
30
30
|
const translation = translate(`${prefix}${id}`);
|
|
31
|
+
console.log(translation);
|
|
31
32
|
// If a plural or value is required
|
|
32
33
|
if (options) {
|
|
33
|
-
const { n, values
|
|
34
|
+
const { n, values } = options;
|
|
34
35
|
if (typeof n === 'number') {
|
|
35
|
-
const innerProps = { n,
|
|
36
|
-
|
|
37
|
-
// Plural + Value
|
|
38
|
-
return (_jsx(ClientValue, { values: values, children: _jsx(ClientPlural, Object.assign({ id: id }, innerProps, { children: translation })) }));
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
// Plural only
|
|
42
|
-
return (_jsx(ClientPlural, Object.assign({ id: id }, innerProps, { children: translation })));
|
|
43
|
-
}
|
|
36
|
+
const innerProps = { n, values };
|
|
37
|
+
return (_jsx(ClientPlural, Object.assign({ id: id }, innerProps, { children: translation })));
|
|
44
38
|
}
|
|
45
39
|
else if (values) {
|
|
46
|
-
// Value only
|
|
47
40
|
return (_jsx(ClientValue, { id: id, values: values, children: translation }));
|
|
48
41
|
}
|
|
49
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGT.js","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAW;IACrC,4DAA4D;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,8BAA8B;IAC9B,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACD,CAAC,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,wEAAwE,CAAC,CAAC;IACtG,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,EAAU,EAAE,OAInB,EAAE,EAAE;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;QAEhD,mCAAmC;QACnC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,EACF,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useGT.js","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAW;IACrC,4DAA4D;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,8BAA8B;IAC9B,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACD,CAAC,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,wEAAwE,CAAC,CAAC;IACtG,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,EAAU,EAAE,OAInB,EAAE,EAAE;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAExB,mCAAmC;QACnC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,EACF,CAAC,EAAE,MAAM,EACZ,GAAG,OAAO,CAAC;YACZ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;gBACjC,OAAO,CACH,KAAC,YAAY,kBAAC,EAAE,EAAE,EAAE,IAAM,UAAU,cAC/B,WAAW,IACD,CAClB,CAAA;YACL,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAChB,OAAO,CACH,KAAC,WAAW,IAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAC9B,WAAW,GACF,CACjB,CAAA;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,iDAAiD,MAAM,GAAG,EAAE,IAAI,CAAC,CAAA;QAExG,OAAO,WAAW,CAAC;IACvB,CAAC,CAAA;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
type TargetElement = Record<string, any>;
|
|
3
|
-
type TargetChild = TargetElement | string | number | boolean;
|
|
3
|
+
type TargetChild = TargetElement | string | number | boolean | object;
|
|
4
4
|
type Target = TargetChild | TargetChild[];
|
|
5
5
|
type SourceChild = ReactNode | Record<string, any>;
|
|
6
6
|
type Source = SourceChild | SourceChild[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderChildren.d.ts","sourceRoot":"","sources":["../../../src/server/renderChildren.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAUtD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,WAAW,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"renderChildren.d.ts","sourceRoot":"","sources":["../../../src/server/renderChildren.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAUtD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,WAAW,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACtE,KAAK,MAAM,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAE1C,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACnD,KAAK,MAAM,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAyE1C;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACnC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAC9B,EAAE;IACC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,GAAG,SAAS,CAoGZ"}
|