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.
Files changed (61) hide show
  1. package/dist/client/ClientProvider.d.ts +1 -1
  2. package/dist/client/ClientProvider.d.ts.map +1 -1
  3. package/dist/client/ClientProvider.js +2 -2
  4. package/dist/client/ClientProvider.js.map +1 -1
  5. package/dist/client/GTProvider.d.ts.map +1 -1
  6. package/dist/client/GTProvider.js +2 -2
  7. package/dist/client/GTProvider.js.map +1 -1
  8. package/dist/client/useCurrentLanguage.d.ts +2 -0
  9. package/dist/client/useCurrentLanguage.d.ts.map +1 -0
  10. package/dist/client/useCurrentLanguage.js +14 -0
  11. package/dist/client/useCurrentLanguage.js.map +1 -0
  12. package/dist/client/useDefaultLanguage.d.ts +2 -0
  13. package/dist/client/useDefaultLanguage.d.ts.map +1 -0
  14. package/dist/client/useDefaultLanguage.js +14 -0
  15. package/dist/client/useDefaultLanguage.js.map +1 -0
  16. package/dist/client.d.ts +3 -2
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +5 -3
  19. package/dist/client.js.map +1 -1
  20. package/dist/config/I18NConfig.d.ts +8 -1
  21. package/dist/config/I18NConfig.d.ts.map +1 -1
  22. package/dist/config/I18NConfig.js +11 -2
  23. package/dist/config/I18NConfig.js.map +1 -1
  24. package/dist/primitives/numeric/Numeric.d.ts.map +1 -1
  25. package/dist/primitives/numeric/Numeric.js +2 -1
  26. package/dist/primitives/numeric/Numeric.js.map +1 -1
  27. package/dist/primitives/numeric/client/ClientNumeric.d.ts +2 -5
  28. package/dist/primitives/numeric/client/ClientNumeric.d.ts.map +1 -1
  29. package/dist/primitives/numeric/client/ClientNumeric.js +10 -8
  30. package/dist/primitives/numeric/client/ClientNumeric.js.map +1 -1
  31. package/dist/primitives/numeric/getNumericBranch.d.ts +1 -1
  32. package/dist/primitives/numeric/getNumericBranch.d.ts.map +1 -1
  33. package/dist/primitives/numeric/getNumericBranch.js +45 -41
  34. package/dist/primitives/numeric/getNumericBranch.js.map +1 -1
  35. package/dist/primitives/value/client/ClientValue.d.ts.map +1 -1
  36. package/dist/primitives/value/client/ClientValue.js +2 -2
  37. package/dist/primitives/value/client/ClientValue.js.map +1 -1
  38. package/dist/primitives/value/client/RenderClientVariable.d.ts +6 -0
  39. package/dist/primitives/value/client/RenderClientVariable.d.ts.map +1 -0
  40. package/dist/primitives/value/client/RenderClientVariable.js +67 -0
  41. package/dist/primitives/value/client/RenderClientVariable.js.map +1 -0
  42. package/dist/server/ServerI18N.d.ts.map +1 -1
  43. package/dist/server/ServerI18N.js +12 -3
  44. package/dist/server/ServerI18N.js.map +1 -1
  45. package/dist/server/renderChildren.d.ts +6 -1
  46. package/dist/server/renderChildren.d.ts.map +1 -1
  47. package/dist/server/renderChildren.js +20 -19
  48. package/dist/server/renderChildren.js.map +1 -1
  49. package/dist/server/resolvers/I18NResolver.d.ts +6 -10
  50. package/dist/server/resolvers/I18NResolver.d.ts.map +1 -1
  51. package/dist/server/resolvers/I18NResolver.js +2 -38
  52. package/dist/server/resolvers/I18NResolver.js.map +1 -1
  53. package/package.json +2 -2
  54. package/dist/primitives/value/client/renderClientVariable.d.ts +0 -9
  55. package/dist/primitives/value/client/renderClientVariable.d.ts.map +0 -1
  56. package/dist/primitives/value/client/renderClientVariable.js +0 -67
  57. package/dist/primitives/value/client/renderClientVariable.js.map +0 -1
  58. package/dist/server/resolvers/renderResolvedChildren.d.ts +0 -19
  59. package/dist/server/resolvers/renderResolvedChildren.d.ts.map +0 -1
  60. package/dist/server/resolvers/renderResolvedChildren.js +0 -152
  61. 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":"AASA,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,CAwEhC"}
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
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(I18NResolver_1.default, { promise: I18NChildrenPromise, children: taggedChildren }) }));
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":"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"}
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: Source, target?: Target, variables?: Record<string, Source>): ReactNode;
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;AAMtD,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,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,SAAS,CA2EX"}
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 = (sourceElement, targetElement, variables) => {
35
- var _a, _b;
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 (((_a = props === null || props === void 0 ? void 0 : props['data-generaltranslation']) === null || _a === void 0 ? void 0 : _a.transformation) === "private") {
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 = (_b = targetProps === null || targetProps === void 0 ? void 0 : targetProps['data-generaltranslation']) === null || _b === void 0 ? void 0 : _b.branches;
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, variables) }));
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(source, target, variables) {
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, variables) }, `element_${index}`);
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, variables);
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":"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"}
1
+ {"version":3,"file":"renderChildren.js","sourceRoot":"","sources":["../../src/server/renderChildren.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- /**
2
- * I18NResolver component resolves an internationalization (i18n) promise
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
- promise: Promise<any>;
11
- }): any;
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":"AAKA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACjC,QAAQ,EAAE,OAAO,EACpB,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,GAAG,GAAG,CA0BhD"}
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
- const renderResolvedChildren_1 = __importDefault(require("./renderResolvedChildren"));
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;;;;;;;;;;;;;;AAYZ,+BA4BC;;AAtCD,iCAA0D;AAC1D,sFAA8D;AAE9D;;;;;;GAMG;AACH,SAAwB,YAAY,CAAC,EACjC,QAAQ,EAAE,OAAO,EACsB;IAEvC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,IAAA,cAAM,EAAsB,IAAI,CAAC,CAAC;IAE5D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,kBAAkB,GAAG,CAAO,QAAa,EAAE,OAAqB,EAAE,EAAE;YACtE,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;YACnC,IAAI,iBAAiB,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxC,kBAAkB,CAAC,IAAA,gCAAsB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACvE,CAAC;QACL,CAAC,CAAA,CAAA;QACD,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC7B,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE;YACR,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IAEvB,OAAO,CACH,2DACK,eAAe,GACjB,CACN,CAAA;AAEL,CAAC"}
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.168",
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.15"
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"}