gt-next 2.0.2 → 2.0.4

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 (59) hide show
  1. package/dist/branches/Plural.d.ts +3 -2
  2. package/dist/branches/Plural.d.ts.map +1 -1
  3. package/dist/branches/Plural.js +4 -53
  4. package/dist/branches/Plural.js.map +1 -1
  5. package/dist/config/I18NConfiguration.d.ts.map +1 -1
  6. package/dist/config/I18NConfiguration.js +3 -4
  7. package/dist/config/I18NConfiguration.js.map +1 -1
  8. package/dist/index.client.d.ts +2 -2
  9. package/dist/index.client.d.ts.map +1 -1
  10. package/dist/index.client.js +2 -2
  11. package/dist/index.client.js.map +1 -1
  12. package/dist/index.server.d.ts +2 -2
  13. package/dist/index.server.d.ts.map +1 -1
  14. package/dist/index.server.js +2 -3
  15. package/dist/index.server.js.map +1 -1
  16. package/dist/provider/ClientProvider.js +5 -4
  17. package/dist/provider/ClientProvider.js.map +1 -1
  18. package/dist/provider/GTProvider.js +83 -79
  19. package/dist/provider/GTProvider.js.map +1 -1
  20. package/dist/server/getGT.d.ts +12 -11
  21. package/dist/server/getGT.d.ts.map +1 -1
  22. package/dist/server/getGT.js +212 -48
  23. package/dist/server/getGT.js.map +1 -1
  24. package/dist/server/rendering/renderVariable.d.ts +2 -1
  25. package/dist/server/rendering/renderVariable.d.ts.map +1 -1
  26. package/dist/server/rendering/renderVariable.js +4 -4
  27. package/dist/server/rendering/renderVariable.js.map +1 -1
  28. package/dist/server.d.ts +2 -1
  29. package/dist/server.d.ts.map +1 -1
  30. package/dist/server.js +3 -1
  31. package/dist/server.js.map +1 -1
  32. package/dist/variables/Currency.d.ts +3 -2
  33. package/dist/variables/Currency.d.ts.map +1 -1
  34. package/dist/variables/Currency.js +10 -57
  35. package/dist/variables/Currency.js.map +1 -1
  36. package/dist/variables/DateTime.d.ts +3 -2
  37. package/dist/variables/DateTime.d.ts.map +1 -1
  38. package/dist/variables/DateTime.js +26 -71
  39. package/dist/variables/DateTime.js.map +1 -1
  40. package/dist/variables/Num.d.ts +3 -2
  41. package/dist/variables/Num.d.ts.map +1 -1
  42. package/dist/variables/Num.js +10 -57
  43. package/dist/variables/Num.js.map +1 -1
  44. package/dist/variables/Var.d.ts.map +1 -1
  45. package/dist/variables/Var.js +1 -1
  46. package/dist/variables/Var.js.map +1 -1
  47. package/package.json +2 -2
  48. package/dist/server/createServerTFunction.d.ts +0 -2
  49. package/dist/server/createServerTFunction.d.ts.map +0 -1
  50. package/dist/server/createServerTFunction.js +0 -62
  51. package/dist/server/createServerTFunction.js.map +0 -1
  52. package/dist/server/rendering/renderDefaultChildren.d.ts +0 -1
  53. package/dist/server/rendering/renderDefaultChildren.d.ts.map +0 -1
  54. package/dist/server/rendering/renderDefaultChildren.js +0 -91
  55. package/dist/server/rendering/renderDefaultChildren.js.map +0 -1
  56. package/dist/server/rendering/renderTranslatedChildren.d.ts +0 -1
  57. package/dist/server/rendering/renderTranslatedChildren.d.ts.map +0 -1
  58. package/dist/server/rendering/renderTranslatedChildren.js +0 -233
  59. package/dist/server/rendering/renderTranslatedChildren.js.map +0 -1
@@ -1,233 +0,0 @@
1
- "use strict";
2
- /*import React, { ReactElement, ReactNode } from 'react';
3
- import {
4
- TranslatedChildren,
5
- TranslatedElement,
6
- VariableObject,
7
- } from 'gt-react/dist/primitives/types';
8
- import {
9
- isVariableObject,
10
- getVariableProps,
11
- getPluralBranch,
12
- } from 'gt-react/internal';
13
- import { libraryDefaultLocale } from 'generaltranslation/internal';
14
- import getGTProp from '../../utils/getGTProp';
15
- import renderVariable from './renderVariable';
16
-
17
- function renderTranslatedElement({
18
- sourceElement,
19
- targetElement,
20
- variables = {},
21
- variablesOptions = {},
22
- locales = [libraryDefaultLocale],
23
- }: {
24
- sourceElement: ReactElement;
25
- targetElement: TranslatedElement;
26
- variables?: Record<string, any>;
27
- variablesOptions?: Record<string, any>;
28
- locales: string[];
29
- }) {
30
- const {
31
- props: { 'data-_gt': generaltranslation, ...props },
32
- } = sourceElement;
33
-
34
- const transformation = generaltranslation?.['transformation'];
35
-
36
- if (transformation === 'plural') {
37
- const n =
38
- typeof variables.n === 'number'
39
- ? variables.n
40
- : typeof sourceElement.props.n === 'number'
41
- ? sourceElement.props.n
42
- : sourceElement.props['data-_gt-n'];
43
- const sourceBranches = generaltranslation.branches || {};
44
- const sourceBranch =
45
- getPluralBranch(n, locales, sourceBranches) ||
46
- sourceElement.props.children;
47
- const targetBranches = targetElement.props['data-_gt'].branches || {};
48
- const targetBranch =
49
- getPluralBranch(n, locales, targetBranches) ||
50
- targetElement.props.children;
51
- return renderTranslatedChildren({
52
- source: sourceBranch,
53
- target: targetBranch,
54
- variables,
55
- variablesOptions,
56
- locales,
57
- });
58
- }
59
-
60
- if (transformation === 'branch') {
61
- let { name, branch, children } = props;
62
- name = name || sourceElement.props['data-_gt-name'] || 'branch';
63
- branch =
64
- variables[name] || branch || sourceElement.props['data-_gt-branch-name'];
65
- const sourceBranch =
66
- (generaltranslation.branches || {})[branch] || children;
67
- const targetBranch =
68
- (targetElement.props['data-_gt'].branches || {})[branch] ||
69
- targetElement.props.children;
70
- return renderTranslatedChildren({
71
- source: sourceBranch,
72
- target: targetBranch,
73
- variables,
74
- variablesOptions,
75
- locales,
76
- });
77
- }
78
-
79
- // If there are children, clone the source element with new children that represent the translation
80
- if (props?.children && targetElement.props?.children) {
81
- return React.cloneElement(sourceElement, {
82
- ...props,
83
- 'data-_gt': undefined,
84
- children: renderTranslatedChildren({
85
- source: props.children,
86
- target: targetElement.props.children,
87
- variables,
88
- variablesOptions,
89
- locales,
90
- }),
91
- });
92
- }
93
-
94
- return sourceElement;
95
- }
96
-
97
- export default function renderTranslatedChildren({
98
- source,
99
- target,
100
- variables = {},
101
- variablesOptions = {},
102
- locales = [libraryDefaultLocale],
103
- }: {
104
- source: ReactNode;
105
- target: TranslatedChildren;
106
- variables?: Record<string, any>;
107
- variablesOptions?: Record<string, any>;
108
- locales: string[];
109
- }): ReactNode {
110
- // Most straightforward case, return a valid React node
111
- // If there is an error in the translation or similar, return the default
112
- if ((target === null || typeof target === 'undefined') && source)
113
- return source;
114
- if (typeof target === 'string') return target;
115
-
116
- // Source & target are both arrays, but may be in different orders
117
- // Go through the source array & filters the source elements for actual react elements & variables
118
- if (Array.isArray(source) && Array.isArray(target)) {
119
- const sourceElements: ReactElement[] = source.filter((sourceChild) => {
120
- if (React.isValidElement(sourceChild)) {
121
- const generaltranslation = getGTProp(sourceChild);
122
- if (generaltranslation?.transformation === 'variable') {
123
- let { variableName, variableValue, variableOptions } =
124
- getVariableProps(sourceChild.props as any);
125
- if (typeof variables[variableName] === 'undefined') {
126
- variables[variableName] = variableValue;
127
- }
128
- variablesOptions[variableName] = {
129
- ...variablesOptions[variableName],
130
- ...variableOptions,
131
- };
132
- } else {
133
- return true;
134
- }
135
- }
136
- });
137
-
138
- // Take a target element & find the matching source element with the same id
139
- const findMatchingSourceElement = (
140
- targetElement: TranslatedElement
141
- ): ReactElement | undefined => {
142
- return sourceElements.find((sourceChild) => {
143
- const generaltranslation = getGTProp(sourceChild);
144
- if (typeof generaltranslation?.id !== 'undefined') {
145
- const sourceID = generaltranslation.id;
146
- const targetID = targetElement?.props?.['data-_gt']?.id;
147
- return sourceID === targetID;
148
- }
149
- return false;
150
- });
151
- };
152
-
153
- // Iterate through the target array & recursively render the translated children
154
- return target.map((targetChild, index) => {
155
- if (typeof targetChild === 'string')
156
- return (
157
- <React.Fragment key={`string_${index}`}>{targetChild}</React.Fragment>
158
- );
159
- if (isVariableObject(targetChild)) {
160
- return (
161
- <React.Fragment key={`var_${index}`}>
162
- {renderVariable({
163
- variableType: targetChild.variable || 'variable',
164
- variableName: targetChild.key,
165
- variableValue: variables[targetChild.key],
166
- variableOptions: variablesOptions[targetChild.key],
167
- })}
168
- </React.Fragment>
169
- );
170
- }
171
- const matchingSourceElement = findMatchingSourceElement(targetChild);
172
- if (matchingSourceElement)
173
- return (
174
- <React.Fragment key={`element_${index}`}>
175
- {renderTranslatedElement({
176
- sourceElement: matchingSourceElement,
177
- targetElement: targetChild,
178
- variables,
179
- variablesOptions,
180
- locales,
181
- })}
182
- </React.Fragment>
183
- );
184
- });
185
- }
186
-
187
- if (target && typeof target === 'object' && !Array.isArray(target)) {
188
- const targetType: 'variable' | 'element' = isVariableObject(target)
189
- ? 'variable'
190
- : 'element';
191
-
192
- if (React.isValidElement(source)) {
193
- if (targetType === 'element') {
194
- return renderTranslatedElement({
195
- sourceElement: source,
196
- targetElement: target as TranslatedElement,
197
- variables,
198
- variablesOptions,
199
- locales,
200
- });
201
- }
202
-
203
- const generaltranslation = getGTProp(source);
204
- if (generaltranslation?.transformation === 'variable') {
205
- let { variableName, variableValue, variableOptions } = getVariableProps(
206
- source.props
207
- );
208
-
209
- if (typeof variables[variableName] === 'undefined') {
210
- variables[variableName] = variableValue;
211
- }
212
- variablesOptions[variableName] = {
213
- ...variablesOptions[variableName],
214
- ...variableOptions,
215
- };
216
- }
217
- }
218
-
219
- if (targetType === 'variable') {
220
- const targetVariable = target as VariableObject;
221
- return renderVariable({
222
- variableType: targetVariable.variable || 'variable',
223
- variableName: targetVariable.key,
224
- variableValue: variables[targetVariable.key],
225
- variableOptions: variablesOptions[targetVariable.key],
226
- });
227
- }
228
- }
229
-
230
- return source;
231
- }
232
- */
233
- //# sourceMappingURL=renderTranslatedChildren.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderTranslatedChildren.js","sourceRoot":"","sources":["../../../src/server/rendering/renderTranslatedChildren.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsOE"}