gt-react 2.0.168 → 2.0.169
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/client/ClientProvider.d.ts +1 -1
- package/dist/client/ClientProvider.d.ts.map +1 -1
- package/dist/client/ClientProvider.js +2 -2
- package/dist/client/ClientProvider.js.map +1 -1
- package/dist/client/GTProvider.d.ts.map +1 -1
- package/dist/client/GTProvider.js +2 -2
- package/dist/client/GTProvider.js.map +1 -1
- package/dist/client/useCurrentLanguage.d.ts +2 -0
- package/dist/client/useCurrentLanguage.d.ts.map +1 -0
- package/dist/client/useCurrentLanguage.js +14 -0
- package/dist/client/useCurrentLanguage.js.map +1 -0
- package/dist/client/useDefaultLanguage.d.ts +2 -0
- package/dist/client/useDefaultLanguage.d.ts.map +1 -0
- package/dist/client/useDefaultLanguage.js +14 -0
- package/dist/client/useDefaultLanguage.js.map +1 -0
- package/dist/client.d.ts +3 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -3
- package/dist/client.js.map +1 -1
- package/dist/config/I18NConfig.d.ts +8 -1
- package/dist/config/I18NConfig.d.ts.map +1 -1
- package/dist/config/I18NConfig.js +11 -2
- package/dist/config/I18NConfig.js.map +1 -1
- package/dist/primitives/numeric/Numeric.d.ts.map +1 -1
- package/dist/primitives/numeric/Numeric.js +2 -1
- package/dist/primitives/numeric/Numeric.js.map +1 -1
- package/dist/primitives/numeric/client/ClientNumeric.d.ts +2 -5
- package/dist/primitives/numeric/client/ClientNumeric.d.ts.map +1 -1
- package/dist/primitives/numeric/client/ClientNumeric.js +10 -8
- package/dist/primitives/numeric/client/ClientNumeric.js.map +1 -1
- package/dist/primitives/numeric/getNumericBranch.d.ts +1 -1
- package/dist/primitives/numeric/getNumericBranch.d.ts.map +1 -1
- package/dist/primitives/numeric/getNumericBranch.js +45 -41
- package/dist/primitives/numeric/getNumericBranch.js.map +1 -1
- package/dist/primitives/value/client/ClientValue.d.ts.map +1 -1
- package/dist/primitives/value/client/ClientValue.js +2 -2
- package/dist/primitives/value/client/ClientValue.js.map +1 -1
- package/dist/primitives/value/client/RenderClientVariable.d.ts +6 -0
- package/dist/primitives/value/client/RenderClientVariable.d.ts.map +1 -0
- package/dist/primitives/value/client/RenderClientVariable.js +67 -0
- package/dist/primitives/value/client/RenderClientVariable.js.map +1 -0
- package/dist/server/ServerI18N.d.ts.map +1 -1
- package/dist/server/ServerI18N.js +12 -3
- package/dist/server/ServerI18N.js.map +1 -1
- package/dist/server/renderChildren.d.ts +6 -1
- package/dist/server/renderChildren.d.ts.map +1 -1
- package/dist/server/renderChildren.js +20 -19
- package/dist/server/renderChildren.js.map +1 -1
- package/dist/server/resolvers/I18NResolver.d.ts +6 -10
- package/dist/server/resolvers/I18NResolver.d.ts.map +1 -1
- package/dist/server/resolvers/I18NResolver.js +2 -38
- package/dist/server/resolvers/I18NResolver.js.map +1 -1
- package/package.json +2 -2
- package/dist/primitives/value/client/renderClientVariable.d.ts +0 -9
- package/dist/primitives/value/client/renderClientVariable.d.ts.map +0 -1
- package/dist/primitives/value/client/renderClientVariable.js +0 -67
- package/dist/primitives/value/client/renderClientVariable.js.map +0 -1
- package/dist/server/resolvers/renderResolvedChildren.d.ts +0 -19
- package/dist/server/resolvers/renderResolvedChildren.d.ts.map +0 -1
- package/dist/server/resolvers/renderResolvedChildren.js +0 -152
- package/dist/server/resolvers/renderResolvedChildren.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.default = RenderClientVariable;
|
|
31
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
32
|
+
const react_1 = __importStar(require("react"));
|
|
33
|
+
const ClientVariable_1 = __importDefault(require("../../variable/ClientVariable"));
|
|
34
|
+
/**
|
|
35
|
+
* Handles a single child element by cloning it with new properties if it is a valid React element,
|
|
36
|
+
* or wrapping it in a React Fragment if it is a valid React node object.
|
|
37
|
+
*
|
|
38
|
+
* @param {any} child - The child element to handle.
|
|
39
|
+
* @returns {any} The handled child element.
|
|
40
|
+
*/
|
|
41
|
+
function SingleChild({ children, variables }) {
|
|
42
|
+
if (!children || typeof children === 'string' || typeof children === 'number' || typeof children === 'boolean')
|
|
43
|
+
return children;
|
|
44
|
+
if (react_1.default.isValidElement(children)) {
|
|
45
|
+
const { props, type } = children;
|
|
46
|
+
if (variables && props['data-gt-variable-name']) {
|
|
47
|
+
const value = variables[props['data-gt-variable-name']];
|
|
48
|
+
if (value !== null && typeof value !== 'undefined') {
|
|
49
|
+
return (0, jsx_runtime_1.jsx)(ClientVariable_1.default, { defaultValue: value, name: props['data-gt-variable-name'] });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
let newProps = Object.assign({}, props);
|
|
53
|
+
if (props === null || props === void 0 ? void 0 : props.children) {
|
|
54
|
+
newProps.children = react_1.default.Children.map(props.children, child => (0, jsx_runtime_1.jsx)(SingleChild, { variables: variables, children: child }));
|
|
55
|
+
}
|
|
56
|
+
return react_1.default.cloneElement(children, newProps);
|
|
57
|
+
}
|
|
58
|
+
return children;
|
|
59
|
+
}
|
|
60
|
+
function RenderClientVariable({ children, variables }) {
|
|
61
|
+
const [renderedChildren, setRenderedChildren] = (0, react_1.useState)(children);
|
|
62
|
+
(0, react_1.useEffect)(() => {
|
|
63
|
+
setRenderedChildren(react_1.default.Children.map(children, child => (0, jsx_runtime_1.jsx)(SingleChild, { variables: variables, children: child })));
|
|
64
|
+
}, [children, variables]);
|
|
65
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: renderedChildren }));
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=RenderClientVariable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderClientVariable.js","sourceRoot":"","sources":["../../../../src/primitives/value/client/RenderClientVariable.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCZ,uCAaC;;AA3CD,+CAA6D;AAC7D,mFAAoD;AAEpD;;;;;;GAMG;AAEH,SAAS,WAAW,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAmD;IACxF,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAChI,IAAI,eAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAQ,QAAQ,CAAC;QACtC,IAAI,SAAS,IAAI,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACxD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;gBACjD,OAAO,uBAAC,wBAAQ,IAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAI,CAAA;YAClF,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,qBAAQ,KAAK,CAAE,CAAC;QAC5B,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,CAAC;YAClB,QAAQ,CAAC,QAAQ,GAAG,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAC,WAAW,IAAC,SAAS,EAAE,SAAS,YAAG,KAAK,GAAe,CAAC,CAAC;QAC9H,CAAC;QACD,OAAO,eAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAwB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAsD;IAEpH,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC;IAEnE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,mBAAmB,CAAC,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAC,WAAW,IAAC,SAAS,EAAE,SAAS,YAAG,KAAK,GAAe,CAAC,CAAC,CAAA;IACxH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAEzB,OAAO,CACH,2DACK,gBAAgB,GAClB,CACN,CAAA;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerI18N.d.ts","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServerI18N.d.ts","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":"AAUA,KAAK,eAAe,GAAG;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAA8B,UAAU,CAAC,EACrC,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,EACnC,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAmFhC"}
|
|
@@ -31,6 +31,7 @@ const writeChildrenAsObjects_js_1 = __importDefault(require("./helpers/writeChil
|
|
|
31
31
|
const generateHash_js_1 = __importDefault(require("./helpers/generateHash.js"));
|
|
32
32
|
const renderChildren_1 = __importDefault(require("./renderChildren"));
|
|
33
33
|
const I18NResolver_1 = __importDefault(require("./resolvers/I18NResolver"));
|
|
34
|
+
const generaltranslation_1 = require("generaltranslation");
|
|
34
35
|
/**
|
|
35
36
|
* ServerI18N component for handling internationalization on the server side.
|
|
36
37
|
*
|
|
@@ -53,6 +54,10 @@ function ServerI18N(_a) {
|
|
|
53
54
|
}
|
|
54
55
|
// Fetch an I18N page (from the cache, locally, or remotely)
|
|
55
56
|
const I18NSheetPromise = I18NConfig_1.default.getI18NSheet(userLanguage, props.page);
|
|
57
|
+
let renderAttributes = {};
|
|
58
|
+
const dir = (0, generaltranslation_1.getLanguageDirection)(userLanguage);
|
|
59
|
+
if (dir === 'rtl')
|
|
60
|
+
renderAttributes.dir === dir;
|
|
56
61
|
const taggedChildren = (0, addGTIdentifier_js_1.default)(children);
|
|
57
62
|
const childrenAsObjects = (0, writeChildrenAsObjects_js_1.default)(taggedChildren);
|
|
58
63
|
const key = yield (0, generateHash_js_1.default)(childrenAsObjects);
|
|
@@ -62,7 +67,7 @@ function ServerI18N(_a) {
|
|
|
62
67
|
// Check if a translation for this site already exists and return it if it does
|
|
63
68
|
const translationExists = I18NEntry ? true : false;
|
|
64
69
|
if (translationExists) {
|
|
65
|
-
const I18NChildren = (0, renderChildren_1.default)(taggedChildren, I18NEntry);
|
|
70
|
+
const I18NChildren = (0, renderChildren_1.default)({ source: taggedChildren, target: I18NEntry, renderAttributes, userLanguage });
|
|
66
71
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: I18NChildren }));
|
|
67
72
|
}
|
|
68
73
|
// Create a new translation for this site and render it
|
|
@@ -71,11 +76,15 @@ function ServerI18N(_a) {
|
|
|
71
76
|
if (renderMethod === "replace") {
|
|
72
77
|
// Return the site in the default language
|
|
73
78
|
// Replace with translated site when ready
|
|
74
|
-
|
|
79
|
+
const InnerResolver = () => __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const I18NChildren = yield I18NChildrenPromise;
|
|
81
|
+
return (0, renderChildren_1.default)({ source: taggedChildren, target: I18NChildren, renderAttributes, userLanguage });
|
|
82
|
+
});
|
|
83
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(I18NResolver_1.default, { fallback: children, children: (0, jsx_runtime_1.jsx)(InnerResolver, {}) }) }));
|
|
75
84
|
}
|
|
76
85
|
if (renderMethod === "hang") {
|
|
77
86
|
// Wait until the site is translated to return
|
|
78
|
-
const I18NChildren = (0, renderChildren_1.default)(taggedChildren, yield I18NChildrenPromise);
|
|
87
|
+
const I18NChildren = (0, renderChildren_1.default)({ source: taggedChildren, target: yield I18NChildrenPromise, renderAttributes, userLanguage });
|
|
79
88
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: I18NChildren }));
|
|
80
89
|
}
|
|
81
90
|
return (
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerI18N.js","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ServerI18N.js","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,11 @@ type Source = SourceChild | SourceChild[];
|
|
|
14
14
|
*
|
|
15
15
|
* @returns {ReactNode} The rendered children elements.
|
|
16
16
|
*/
|
|
17
|
-
export default function renderChildren(source
|
|
17
|
+
export default function renderChildren({ source, target, ...metadata }: {
|
|
18
|
+
source: Source;
|
|
19
|
+
target?: Target;
|
|
20
|
+
variables?: Record<string, Source>;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}): ReactNode;
|
|
18
23
|
export {};
|
|
19
24
|
//# sourceMappingURL=renderChildren.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"renderChildren.d.ts","sourceRoot":"","sources":["../../src/server/renderChildren.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtD,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;AA4E1C;;;;;;;;;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,CA2EZ"}
|
|
@@ -21,6 +21,7 @@ const getNumericBranch_1 = __importDefault(require("../primitives/numeric/getNum
|
|
|
21
21
|
const getValueBranch_1 = __importDefault(require("../primitives/value/getValueBranch"));
|
|
22
22
|
const isValidReactNode_1 = __importDefault(require("../primitives/value/isValidReactNode"));
|
|
23
23
|
const Variable_1 = __importDefault(require("../primitives/variable/Variable"));
|
|
24
|
+
const I18NConfig_1 = __importDefault(require("../config/I18NConfig"));
|
|
24
25
|
/**
|
|
25
26
|
* Renders a React element based on the provided source and target elements.
|
|
26
27
|
* Handles transformation and variable branching if necessary.
|
|
@@ -31,45 +32,44 @@ const Variable_1 = __importDefault(require("../primitives/variable/Variable"));
|
|
|
31
32
|
*
|
|
32
33
|
* @returns {ReactElement} The rendered React element.
|
|
33
34
|
*/
|
|
34
|
-
const renderElement = (
|
|
35
|
-
var
|
|
35
|
+
const renderElement = (_a) => {
|
|
36
|
+
var _b, _c;
|
|
37
|
+
var { sourceElement, targetElement } = _a, metadata = __rest(_a, ["sourceElement", "targetElement"]);
|
|
36
38
|
const { props } = sourceElement;
|
|
37
|
-
if (((
|
|
39
|
+
if (((_b = props === null || props === void 0 ? void 0 : props['data-generaltranslation']) === null || _b === void 0 ? void 0 : _b.transformation) === "private") {
|
|
38
40
|
return sourceElement;
|
|
39
41
|
}
|
|
40
42
|
if (props.children) {
|
|
41
43
|
const { 'data-generaltranslation': generaltranslation } = props;
|
|
42
44
|
const targetProps = targetElement === null || targetElement === void 0 ? void 0 : targetElement.props;
|
|
43
45
|
const targetChildren = targetProps === null || targetProps === void 0 ? void 0 : targetProps.children;
|
|
44
|
-
const targetBranches = (
|
|
46
|
+
const targetBranches = (_c = targetProps === null || targetProps === void 0 ? void 0 : targetProps['data-generaltranslation']) === null || _c === void 0 ? void 0 : _c.branches;
|
|
45
47
|
// If an alternative branch (from a transformation) is necessary
|
|
46
48
|
if ((generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation.transformation) && targetBranches) {
|
|
47
49
|
const transformation = generaltranslation.transformation;
|
|
48
50
|
// handle number variable branching
|
|
49
51
|
if (transformation === "numeric") {
|
|
50
52
|
const { 'data-generaltranslation': generaltranslation, n } = props, branches = __rest(props, ['data-generaltranslation', "n"]); // 'data-generaltranslation' necessary here to fully destructure relevant ...branches
|
|
51
|
-
const sourceBranch = (0, getNumericBranch_1.default)(n, branches) || props.children;
|
|
52
|
-
const targetBranch = (0, getNumericBranch_1.default)(n, targetBranches) || targetChildren;
|
|
53
|
-
const children = renderChildren(sourceBranch, targetBranch, Object.assign(Object.assign({}, variables), { n: n }));
|
|
54
|
-
return react_1.default.createElement('span', {
|
|
55
|
-
children: children
|
|
56
|
-
});
|
|
53
|
+
const sourceBranch = (0, getNumericBranch_1.default)(n, metadata.userLanguage || I18NConfig_1.default.getDefaultLanguage(), branches) || props.children;
|
|
54
|
+
const targetBranch = (0, getNumericBranch_1.default)(n, metadata.userLanguage || I18NConfig_1.default.getDefaultLanguage(), targetBranches) || targetChildren;
|
|
55
|
+
const children = renderChildren(Object.assign({ source: sourceBranch, target: targetBranch, variables: Object.assign(Object.assign({}, metadata.variables), { n: n }) }, metadata));
|
|
56
|
+
return react_1.default.createElement('span', Object.assign(Object.assign({}, metadata.renderAttributes), { children: children }));
|
|
57
57
|
}
|
|
58
58
|
// or handle value variable branching
|
|
59
59
|
if (transformation === "value") {
|
|
60
60
|
const { 'data-generaltranslation': generaltranslation, branches } = props, values = __rest(props, ['data-generaltranslation', "branches"]); // 'data-generaltranslation' necessary here to fully destructure relevant ...values
|
|
61
61
|
const sourceBranch = (0, getValueBranch_1.default)(values, branches) || props.children;
|
|
62
62
|
const targetBranch = (0, getValueBranch_1.default)(values, targetBranches) || targetChildren;
|
|
63
|
-
const children = renderChildren(sourceBranch, targetBranch, Object.assign(Object.assign({}, variables), values));
|
|
63
|
+
const children = renderChildren(Object.assign({ source: sourceBranch, target: targetBranch, variables: Object.assign(Object.assign({}, metadata.variables), values) }, metadata));
|
|
64
64
|
return react_1.default.createElement('span', {
|
|
65
65
|
children: children
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
// otherwise, just clone the element
|
|
70
|
-
return react_1.default.cloneElement(sourceElement, Object.assign(Object.assign({}, props), { children: renderChildren(props.children, targetChildren,
|
|
70
|
+
return react_1.default.cloneElement(sourceElement, Object.assign(Object.assign(Object.assign({}, props), metadata.renderAttributes), { children: renderChildren(Object.assign({ source: props.children, target: targetChildren }, metadata)) }));
|
|
71
71
|
}
|
|
72
|
-
return sourceElement;
|
|
72
|
+
return react_1.default.cloneElement(sourceElement, Object.assign(Object.assign({}, metadata.renderAttributes), sourceElement === null || sourceElement === void 0 ? void 0 : sourceElement.props));
|
|
73
73
|
};
|
|
74
74
|
/**
|
|
75
75
|
* Renders children elements based on the provided source and target.
|
|
@@ -81,7 +81,8 @@ const renderElement = (sourceElement, targetElement, variables) => {
|
|
|
81
81
|
*
|
|
82
82
|
* @returns {ReactNode} The rendered children elements.
|
|
83
83
|
*/
|
|
84
|
-
function renderChildren(
|
|
84
|
+
function renderChildren(_a) {
|
|
85
|
+
var { source, target } = _a, metadata = __rest(_a, ["source", "target"]);
|
|
85
86
|
// Most straightforward case, return a valid React node
|
|
86
87
|
if ((target === null || typeof target === 'undefined') && (0, isValidReactNode_1.default)(source))
|
|
87
88
|
return source;
|
|
@@ -96,7 +97,7 @@ function renderChildren(source, target, variables) {
|
|
|
96
97
|
validSourceElements.push(sourceChild);
|
|
97
98
|
}
|
|
98
99
|
else if (typeof sourceChild === 'object') {
|
|
99
|
-
variables = Object.assign(Object.assign({}, sourceChild), variables);
|
|
100
|
+
metadata.variables = Object.assign(Object.assign({}, sourceChild), metadata.variables);
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
// Find matching source elements based on ID
|
|
@@ -121,8 +122,8 @@ function renderChildren(source, target, variables) {
|
|
|
121
122
|
// If target is a number or value variable
|
|
122
123
|
if ((targetChild === null || targetChild === void 0 ? void 0 : targetChild.variable) === true && Array.isArray(targetChild.keys)) {
|
|
123
124
|
for (const key of targetChild.keys) {
|
|
124
|
-
if (variables && (typeof variables[key] !== null && typeof variables[key] !== 'undefined')) {
|
|
125
|
-
return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: renderChildren(variables[key]) }, `var_${index}`);
|
|
125
|
+
if (metadata.variables && (typeof metadata.variables[key] !== null && typeof metadata.variables[key] !== 'undefined')) {
|
|
126
|
+
return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: renderChildren({ source: metadata.variables[key] }) }, `var_${index}`);
|
|
126
127
|
}
|
|
127
128
|
else {
|
|
128
129
|
return (0, jsx_runtime_1.jsx)(Variable_1.default, { name: key });
|
|
@@ -132,14 +133,14 @@ function renderChildren(source, target, variables) {
|
|
|
132
133
|
// If target is a normal ReactElement
|
|
133
134
|
const matchingSource = findMatchingSource(targetChild);
|
|
134
135
|
if (react_1.default.isValidElement(matchingSource)) {
|
|
135
|
-
return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: renderElement(matchingSource, targetChild,
|
|
136
|
+
return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: renderElement(Object.assign({ sourceElement: matchingSource, targetElement: targetChild }, metadata)) }, `element_${index}`);
|
|
136
137
|
}
|
|
137
138
|
});
|
|
138
139
|
}
|
|
139
140
|
// Target is a single object, could be a component or a variable
|
|
140
141
|
if (typeof target === 'object') {
|
|
141
142
|
if (react_1.default.isValidElement(source)) {
|
|
142
|
-
return renderElement(source, target,
|
|
143
|
+
return renderElement(Object.assign({ sourceElement: source, targetElement: target }, metadata));
|
|
143
144
|
}
|
|
144
145
|
if ((target === null || target === void 0 ? void 0 : target.variable) && (target === null || target === void 0 ? void 0 : target.keys) && typeof source === 'object' && source !== null) {
|
|
145
146
|
for (const key of target.keys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderChildren.js","sourceRoot":"","sources":["../../src/server/renderChildren.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"renderChildren.js","sourceRoot":"","sources":["../../src/server/renderChildren.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* and updates its children with the resolved i18n content.
|
|
4
|
-
* @param {any} children - The child components to be rendered.
|
|
5
|
-
* @param {Promise<any>} promise - The child components to be rendered.
|
|
6
|
-
* @returns {any} The updated children components with resolved i18n content.
|
|
7
|
-
*/
|
|
8
|
-
export default function I18NResolver({ children, promise }: {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface I18NResolverProps {
|
|
9
3
|
children: any;
|
|
10
|
-
|
|
11
|
-
}
|
|
4
|
+
fallback: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export default function I18NResolver({ children, fallback }: I18NResolverProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
12
8
|
//# sourceMappingURL=I18NResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18NResolver.d.ts","sourceRoot":"","sources":["../../../src/server/resolvers/I18NResolver.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"I18NResolver.d.ts","sourceRoot":"","sources":["../../../src/server/resolvers/I18NResolver.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,UAAU,iBAAiB;IACvB,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,SAAS,CAAA;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAM7E"}
|
|
@@ -1,46 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
-
};
|
|
15
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
4
|
exports.default = I18NResolver;
|
|
17
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
18
6
|
const react_1 = require("react");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* I18NResolver component resolves an internationalization (i18n) promise
|
|
22
|
-
* and updates its children with the resolved i18n content.
|
|
23
|
-
* @param {any} children - The child components to be rendered.
|
|
24
|
-
* @param {Promise<any>} promise - The child components to be rendered.
|
|
25
|
-
* @returns {any} The updated children components with resolved i18n content.
|
|
26
|
-
*/
|
|
27
|
-
function I18NResolver({ children, promise }) {
|
|
28
|
-
const [currentChildren, setCurrentChildren] = (0, react_1.useState)(children);
|
|
29
|
-
const currentPromiseRef = (0, react_1.useRef)(null);
|
|
30
|
-
(0, react_1.useEffect)(() => {
|
|
31
|
-
const resolveI18NPromise = (children, promise) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
currentPromiseRef.current = promise;
|
|
33
|
-
const I18NChildren = yield promise;
|
|
34
|
-
if (currentPromiseRef.current === promise) {
|
|
35
|
-
setCurrentChildren((0, renderResolvedChildren_1.default)(children, I18NChildren));
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
setCurrentChildren(children);
|
|
39
|
-
resolveI18NPromise(children, promise);
|
|
40
|
-
return () => {
|
|
41
|
-
currentPromiseRef.current = null;
|
|
42
|
-
};
|
|
43
|
-
}, [children, promise]);
|
|
44
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: currentChildren }));
|
|
7
|
+
function I18NResolver({ children, fallback }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: fallback, children: children }));
|
|
45
9
|
}
|
|
46
10
|
//# sourceMappingURL=I18NResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18NResolver.js","sourceRoot":"","sources":["../../../src/server/resolvers/I18NResolver.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"I18NResolver.js","sourceRoot":"","sources":["../../../src/server/resolvers/I18NResolver.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;AAUZ,+BAMC;;AAbD,iCAAiC;AAOjC,SAAwB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAqB;IAC1E,OAAO,CACL,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,QAAQ,YACzB,QAAQ,GACA,CACZ,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gt-react",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.169",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -89,6 +89,6 @@
|
|
|
89
89
|
"i18n"
|
|
90
90
|
],
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"generaltranslation": "^2.0.
|
|
92
|
+
"generaltranslation": "^2.0.16"
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Recursively renders a variable structure of children, handling arrays of children and single child elements.
|
|
4
|
-
*
|
|
5
|
-
* @param {any} children - The children elements to render.
|
|
6
|
-
* @returns {any} The rendered children elements.
|
|
7
|
-
*/
|
|
8
|
-
export default function renderClientVariable(children: any, variables?: Record<string, any>): ReactNode;
|
|
9
|
-
//# sourceMappingURL=renderClientVariable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderClientVariable.d.ts","sourceRoot":"","sources":["../../../../src/primitives/value/client/renderClientVariable.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAkDxC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAItG"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.default = renderClientVariable;
|
|
8
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
-
const react_1 = __importDefault(require("react"));
|
|
10
|
-
const isValidReactNode_1 = __importDefault(require("../isValidReactNode"));
|
|
11
|
-
const ClientVariable_1 = __importDefault(require("../../variable/ClientVariable"));
|
|
12
|
-
const sanitizeChild = (child) => {
|
|
13
|
-
if (!react_1.default.isValidElement(child) && typeof child === 'object' && Object.keys(child).length === 1) {
|
|
14
|
-
const key = Object.keys(child)[0];
|
|
15
|
-
const value = child[key];
|
|
16
|
-
if ((typeof value !== 'undefined' && value !== null) && (0, isValidReactNode_1.default)(value)) {
|
|
17
|
-
return (0, jsx_runtime_1.jsx)(ClientVariable_1.default, { defaultValue: value, name: key });
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return child;
|
|
21
|
-
};
|
|
22
|
-
const sanitizeChildren = (children) => {
|
|
23
|
-
if (Array.isArray(children))
|
|
24
|
-
return children.map(sanitizeChild);
|
|
25
|
-
return sanitizeChild(children);
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Handles a single child element by cloning it with new properties if it is a valid React element,
|
|
29
|
-
* or wrapping it in a React Fragment if it is a valid React node object.
|
|
30
|
-
*
|
|
31
|
-
* @param {any} child - The child element to handle.
|
|
32
|
-
* @returns {any} The handled child element.
|
|
33
|
-
*/
|
|
34
|
-
const handleSingleChild = (child, variables) => {
|
|
35
|
-
if (!child || typeof child === 'string' || typeof child === 'number' || typeof child === 'boolean')
|
|
36
|
-
return child;
|
|
37
|
-
if (react_1.default.isValidElement(child)) {
|
|
38
|
-
const { props, type } = child;
|
|
39
|
-
if (variables && props['data-gt-variable-name']) {
|
|
40
|
-
const value = variables[props['data-gt-variable-name']];
|
|
41
|
-
if (value !== null && typeof value !== 'undefined') {
|
|
42
|
-
return (0, jsx_runtime_1.jsx)(ClientVariable_1.default, { defaultValue: value, name: props['data-gt-variable-name'] });
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
let newProps = Object.assign({}, props);
|
|
46
|
-
if (props === null || props === void 0 ? void 0 : props.children) {
|
|
47
|
-
newProps.children = renderClientVariable(props.children, variables);
|
|
48
|
-
}
|
|
49
|
-
return react_1.default.cloneElement(child, newProps);
|
|
50
|
-
}
|
|
51
|
-
else
|
|
52
|
-
return child;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Recursively renders a variable structure of children, handling arrays of children and single child elements.
|
|
56
|
-
*
|
|
57
|
-
* @param {any} children - The children elements to render.
|
|
58
|
-
* @returns {any} The rendered children elements.
|
|
59
|
-
*/
|
|
60
|
-
function renderClientVariable(children, variables) {
|
|
61
|
-
children = react_1.default.Children.map(sanitizeChildren(children), resolved => resolved);
|
|
62
|
-
if (Array.isArray(children))
|
|
63
|
-
return react_1.default.Children.map(children, child => handleSingleChild(child, variables));
|
|
64
|
-
else
|
|
65
|
-
return handleSingleChild(children, variables);
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=renderClientVariable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderClientVariable.js","sourceRoot":"","sources":["../../../../src/primitives/value/client/renderClientVariable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
type TargetElement = Record<string, any>;
|
|
3
|
-
type TargetChild = TargetElement | string | number | boolean | object;
|
|
4
|
-
type Target = TargetChild | TargetChild[];
|
|
5
|
-
type SourceChild = ReactNode | Record<string, any>;
|
|
6
|
-
type Source = SourceChild | SourceChild[];
|
|
7
|
-
/**
|
|
8
|
-
* Renders children elements based on the provided source and target.
|
|
9
|
-
* Handles transformations and branching for number and value variables.
|
|
10
|
-
*
|
|
11
|
-
* @param {Source} source - The source elements to be rendered.
|
|
12
|
-
* @param {Target} [target] - The target elements that may alter the rendering of the source.
|
|
13
|
-
* @param {Record<string, Source>} [variables] - An optional set of variables for transformations and branching.
|
|
14
|
-
*
|
|
15
|
-
* @returns {ReactNode} The rendered children elements.
|
|
16
|
-
*/
|
|
17
|
-
export default function renderChildren(source: Source, target?: Target, variables?: Record<string, Source>): any;
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=renderResolvedChildren.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderResolvedChildren.d.ts","sourceRoot":"","sources":["../../../src/server/resolvers/renderResolvedChildren.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtD,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;AAoE1C;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,GAAG,CAuFL"}
|