gt-react 5.0.3 → 5.0.5

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 (89) hide show
  1. package/dist/branches/Branch.js +41 -0
  2. package/dist/branches/Branch.js.map +1 -0
  3. package/dist/branches/plurals/Plural.js +48 -0
  4. package/dist/branches/plurals/Plural.js.map +1 -0
  5. package/dist/branches/plurals/getPluralBranch.js +75 -0
  6. package/dist/branches/plurals/getPluralBranch.js.map +1 -0
  7. package/dist/client.d.ts +6 -67
  8. package/dist/client.js +6 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/cookies/getLocaleCookie.js +25 -0
  11. package/dist/cookies/getLocaleCookie.js.map +1 -0
  12. package/dist/hooks/useBrowserLocale.js +41 -0
  13. package/dist/hooks/useBrowserLocale.js.map +1 -0
  14. package/dist/hooks/useDefaultLocale.js +16 -0
  15. package/dist/hooks/useDefaultLocale.js.map +1 -0
  16. package/dist/hooks/useGT.js +44 -0
  17. package/dist/hooks/useGT.js.map +1 -0
  18. package/dist/hooks/useLocale.js +14 -0
  19. package/dist/hooks/useLocale.js.map +1 -0
  20. package/dist/index.js +13 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/inline/T.d.ts.map +1 -1
  23. package/dist/inline/T.js +110 -0
  24. package/dist/inline/T.js.map +1 -0
  25. package/dist/internal/addGTIdentifier.js +99 -0
  26. package/dist/internal/addGTIdentifier.js.map +1 -0
  27. package/dist/internal/flattenDictionary.js +35 -0
  28. package/dist/internal/flattenDictionary.js.map +1 -0
  29. package/dist/internal/hashReactChildrenObjects.js +54 -0
  30. package/dist/internal/hashReactChildrenObjects.js.map +1 -0
  31. package/dist/internal/writeChildrenAsObjects.js +89 -0
  32. package/dist/internal/writeChildrenAsObjects.js.map +1 -0
  33. package/dist/internal.js +12 -0
  34. package/dist/internal.js.map +1 -0
  35. package/dist/primitives/primitives.js +12 -0
  36. package/dist/primitives/primitives.js.map +1 -0
  37. package/dist/primitives/types.js +2 -0
  38. package/dist/primitives/types.js.map +1 -0
  39. package/dist/provider/GTContext.js +12 -0
  40. package/dist/provider/GTContext.js.map +1 -0
  41. package/dist/provider/GTProvider.js +160 -0
  42. package/dist/provider/GTProvider.js.map +1 -0
  43. package/dist/provider/helpers/extractEntryMetadata.js +12 -0
  44. package/dist/provider/helpers/extractEntryMetadata.js.map +1 -0
  45. package/dist/provider/helpers/getDictionaryEntry.js +18 -0
  46. package/dist/provider/helpers/getDictionaryEntry.js.map +1 -0
  47. package/dist/provider/helpers/getGTProp.js +7 -0
  48. package/dist/provider/helpers/getGTProp.js.map +1 -0
  49. package/dist/provider/helpers/isValidDictionaryEntry.js +2 -0
  50. package/dist/provider/helpers/isValidDictionaryEntry.js.map +1 -0
  51. package/dist/provider/helpers/isVariableObject.js +14 -0
  52. package/dist/provider/helpers/isVariableObject.js.map +1 -0
  53. package/dist/provider/rendering/renderDefaultChildren.js +70 -0
  54. package/dist/provider/rendering/renderDefaultChildren.js.map +1 -0
  55. package/dist/provider/rendering/renderTranslatedChildren.d.ts +0 -6
  56. package/dist/provider/rendering/renderTranslatedChildren.d.ts.map +1 -1
  57. package/dist/provider/rendering/renderTranslatedChildren.js +158 -0
  58. package/dist/provider/rendering/renderTranslatedChildren.js.map +1 -0
  59. package/dist/provider/rendering/renderVariable.d.ts +7 -0
  60. package/dist/provider/rendering/renderVariable.d.ts.map +1 -0
  61. package/dist/provider/rendering/renderVariable.js +19 -0
  62. package/dist/provider/rendering/renderVariable.js.map +1 -0
  63. package/dist/variables/Currency.js +52 -0
  64. package/dist/variables/Currency.js.map +1 -0
  65. package/dist/variables/DateTime.js +50 -0
  66. package/dist/variables/DateTime.js.map +1 -0
  67. package/dist/variables/Num.js +40 -0
  68. package/dist/variables/Num.js.map +1 -0
  69. package/dist/variables/Var.js +28 -0
  70. package/dist/variables/Var.js.map +1 -0
  71. package/dist/variables/_defaultVariableNames.js +8 -0
  72. package/dist/variables/_defaultVariableNames.js.map +1 -0
  73. package/dist/variables/_getVariableProps.js +21 -0
  74. package/dist/variables/_getVariableProps.js.map +1 -0
  75. package/package.json +6 -10
  76. package/tsconfig.json +0 -1
  77. package/dist/client.cjs.min.cjs +0 -2
  78. package/dist/client.cjs.min.cjs.map +0 -1
  79. package/dist/client.esm.min.mjs +0 -2
  80. package/dist/client.esm.min.mjs.map +0 -1
  81. package/dist/index.cjs.min.cjs +0 -2
  82. package/dist/index.cjs.min.cjs.map +0 -1
  83. package/dist/index.esm.min.mjs +0 -2
  84. package/dist/index.esm.min.mjs.map +0 -1
  85. package/dist/internal.cjs.min.cjs +0 -2
  86. package/dist/internal.cjs.min.cjs.map +0 -1
  87. package/dist/internal.esm.min.mjs +0 -2
  88. package/dist/internal.esm.min.mjs.map +0 -1
  89. package/rollup.config.mjs +0 -117
@@ -0,0 +1,70 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React from "react";
24
+ import getGTProp from "../helpers/getGTProp";
25
+ import getVariableProps from "../../variables/_getVariableProps";
26
+ import { getPluralBranch } from "../../internal";
27
+ import { libraryDefaultLocale } from "../../primitives/primitives";
28
+ import renderVariable from "./renderVariable";
29
+ export default function renderDefaultChildren(_a) {
30
+ var children = _a.children, _b = _a.variables, variables = _b === void 0 ? {} : _b, _c = _a.variablesOptions, variablesOptions = _c === void 0 ? {} : _c, _d = _a.defaultLocale, defaultLocale = _d === void 0 ? libraryDefaultLocale : _d;
31
+ var handleSingleChild = function (child) {
32
+ if (React.isValidElement(child)) {
33
+ var generaltranslation = getGTProp(child);
34
+ if ((generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation.transformation) === "variable") {
35
+ var _a = getVariableProps(child.props), variableName = _a.variableName, variableType = _a.variableType, variableValue = _a.variableValue, variableOptions = _a.variableOptions;
36
+ variableValue = (typeof variables[variableName] !== 'undefined') ?
37
+ variables[variableName] : variableValue;
38
+ return renderVariable({
39
+ variableName: variableName,
40
+ variableType: variableType,
41
+ variableValue: variableValue,
42
+ variableOptions: __assign(__assign({}, variablesOptions[variableName]), variableOptions)
43
+ });
44
+ }
45
+ if ((generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation.transformation) === "plural") {
46
+ var n = typeof variables.n === 'number' ? variables.n :
47
+ typeof child.props.n === 'number' ? child.props.n :
48
+ child.props['data-_gt-n'];
49
+ var branches = generaltranslation.branches || {};
50
+ return React.createElement('span', __assign(__assign({}, child.props), { 'data-generaltranslation': undefined, children: handleChildren(getPluralBranch(n, [defaultLocale], branches) || child.props.children) }));
51
+ }
52
+ if ((generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation.transformation) === "branch") {
53
+ var _b = child.props, children_1 = _b.children, name_1 = _b.name, branch = _b.branch, branches = __rest(_b, ["children", "name", "branch"]);
54
+ name_1 = name_1 || child.props['data-_gt-name'] || "branch";
55
+ branch = variables[name_1] || branch || child.props['data-_gt-branch-name'];
56
+ branches = generaltranslation.branches || {};
57
+ return React.createElement('span', __assign(__assign({}, child.props), { 'data-generaltranslation': undefined, children: handleChildren(branches[branch]) }));
58
+ }
59
+ if (child.props.children) {
60
+ return React.cloneElement(child, __assign(__assign({}, child.props), { 'data-generaltranslation': undefined, children: handleChildren(child.props.children) }));
61
+ }
62
+ }
63
+ return child;
64
+ };
65
+ var handleChildren = function (children) {
66
+ return Array.isArray(children) ? React.Children.map(children, handleSingleChild) : handleSingleChild(children);
67
+ };
68
+ return handleChildren(children);
69
+ }
70
+ //# sourceMappingURL=renderDefaultChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderDefaultChildren.js","sourceRoot":"","sources":["../../../src/provider/rendering/renderDefaultChildren.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,5 @@
1
1
  import { ReactNode } from "react";
2
2
  import { TranslatedChildren } from "../../primitives/types";
3
- export declare function renderVariable({ variableType, variableName, variableValue, variableOptions }: {
4
- variableType: "variable" | "number" | "datetime" | "currency";
5
- variableName: string;
6
- variableValue: any;
7
- variableOptions: Intl.NumberFormatOptions | Intl.DateTimeFormatOptions;
8
- }): import("react/jsx-runtime").JSX.Element;
9
3
  export default function renderTranslatedChildren({ source, target, variables, variablesOptions, locales }: {
10
4
  source: ReactNode;
11
5
  target: TranslatedChildren;
@@ -1 +1 @@
1
- {"version":3,"file":"renderTranslatedChildren.d.ts","sourceRoot":"","sources":["../../../src/provider/rendering/renderTranslatedChildren.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgC,SAAS,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAqC,MAAM,wBAAwB,CAAC;AAW/F,wBAAgB,cAAc,CAAC,EAC3B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAC7D,EAAE;IACC,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,GAAG,CAAC;IACnB,eAAe,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAA;CACzE,2CA6BA;AAsED,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC7C,MAAM,EAAE,MAAM,EAAE,SAAc,EAAE,gBAAqB,EACrD,OAAgC,EACnC,EAAE;IACC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAA;CACpB,GAAG,SAAS,CA2GZ"}
1
+ {"version":3,"file":"renderTranslatedChildren.d.ts","sourceRoot":"","sources":["../../../src/provider/rendering/renderTranslatedChildren.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgC,SAAS,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAqC,MAAM,wBAAwB,CAAC;AA6E/F,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC7C,MAAM,EAAE,MAAM,EAAE,SAAc,EAAE,gBAAqB,EACrD,OAAgC,EACnC,EAAE;IACC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAA;CACpB,GAAG,SAAS,CA2GZ"}
@@ -0,0 +1,158 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import React from "react";
14
+ import isVariableObject from "../helpers/isVariableObject";
15
+ import getGTProp from "../helpers/getGTProp";
16
+ import getVariableProps from "../../variables/_getVariableProps";
17
+ import { libraryDefaultLocale } from "../../primitives/primitives";
18
+ import { getPluralBranch } from "../../internal";
19
+ import renderDefaultChildren from "./renderDefaultChildren";
20
+ import renderVariable from "./renderVariable";
21
+ function renderTranslatedElement(_a) {
22
+ var _b;
23
+ var sourceElement = _a.sourceElement, targetElement = _a.targetElement, _c = _a.variables, variables = _c === void 0 ? {} : _c, _d = _a.variablesOptions, variablesOptions = _d === void 0 ? {} : _d, _e = _a.locales, locales = _e === void 0 ? [libraryDefaultLocale] : _e;
24
+ var props = sourceElement.props;
25
+ var generaltranslation = props["data-generaltranslation"];
26
+ var transformation = generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation["transformation"];
27
+ if (transformation === "plural") {
28
+ var n = typeof variables.n === 'number' ? variables.n :
29
+ typeof sourceElement.props.n === 'number' ? sourceElement.props.n :
30
+ sourceElement.props['data-_gt-n'];
31
+ var sourceBranches = generaltranslation.branches || {};
32
+ var sourceBranch = getPluralBranch(n, locales, sourceBranches) || sourceElement.props.children;
33
+ var targetBranches = targetElement.props["data-generaltranslation"].branches || {};
34
+ var targetBranch = getPluralBranch(n, locales, targetBranches) || targetElement.props.children;
35
+ return React.createElement('span', __assign(__assign({}, props), { 'data-generaltranslation': undefined, children: renderTranslatedChildren({
36
+ source: sourceBranch,
37
+ target: targetBranch,
38
+ variables: variables,
39
+ variablesOptions: variablesOptions,
40
+ locales: locales
41
+ }) }));
42
+ }
43
+ if (transformation === "branch") {
44
+ var name_1 = props.name, branch = props.branch, children = props.children;
45
+ name_1 = name_1 || sourceElement.props['data-_gt-name'] || "branch";
46
+ branch = variables[name_1] || branch || sourceElement.props['data-_gt-branch-name'];
47
+ var sourceBranch = (generaltranslation.branches || {})[branch] || children;
48
+ var targetBranch = (targetElement.props["data-generaltranslation"].branches || {})[branch] || targetElement.props.children;
49
+ return React.createElement('span', __assign(__assign({}, props), { 'data-generaltranslation': undefined, children: renderTranslatedChildren({
50
+ source: sourceBranch,
51
+ target: targetBranch,
52
+ variables: variables,
53
+ variablesOptions: variablesOptions,
54
+ locales: locales
55
+ }) }));
56
+ }
57
+ if ((props === null || props === void 0 ? void 0 : props.children) && ((_b = targetElement.props) === null || _b === void 0 ? void 0 : _b.children)) {
58
+ return React.cloneElement(sourceElement, __assign(__assign({}, props), { 'data-generaltranslation': undefined, children: renderTranslatedChildren({
59
+ source: props.children,
60
+ target: targetElement.props.children,
61
+ variables: variables,
62
+ variablesOptions: variablesOptions,
63
+ locales: locales
64
+ }) }));
65
+ }
66
+ return sourceElement;
67
+ }
68
+ export default function renderTranslatedChildren(_a) {
69
+ var source = _a.source, target = _a.target, _b = _a.variables, variables = _b === void 0 ? {} : _b, _c = _a.variablesOptions, variablesOptions = _c === void 0 ? {} : _c, _d = _a.locales, locales = _d === void 0 ? [libraryDefaultLocale] : _d;
70
+ // Most straightforward case, return a valid React node
71
+ if ((target === null || typeof target === 'undefined') && source)
72
+ return source;
73
+ if (typeof target === 'string')
74
+ return target;
75
+ if (Array.isArray(source) && Array.isArray(target)) {
76
+ var sourceElements_1 = source.filter(function (sourceChild) {
77
+ if (React.isValidElement(sourceChild)) {
78
+ var generaltranslation = getGTProp(sourceChild);
79
+ getVariableProps(sourceChild.props);
80
+ if ((generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation.transformation) === "variable") {
81
+ var _a = getVariableProps(sourceChild.props), variableName = _a.variableName, variableValue = _a.variableValue, variableOptions = _a.variableOptions;
82
+ if (typeof variables[variableName] === 'undefined') {
83
+ variables[variableName] = variableValue;
84
+ }
85
+ variablesOptions[variableName] = __assign(__assign({}, variablesOptions[variableName]), variableOptions);
86
+ }
87
+ else {
88
+ return true;
89
+ }
90
+ }
91
+ });
92
+ var findMatchingSourceElement_1 = function (targetElement) {
93
+ return sourceElements_1.find(function (sourceChild) {
94
+ var _a, _b;
95
+ var generaltranslation = getGTProp(sourceChild);
96
+ if (typeof (generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation.id) !== 'undefined') {
97
+ var sourceID = generaltranslation.id;
98
+ var targetID = (_b = (_a = targetElement === null || targetElement === void 0 ? void 0 : targetElement.props) === null || _a === void 0 ? void 0 : _a['data-generaltranslation']) === null || _b === void 0 ? void 0 : _b.id;
99
+ return sourceID === targetID;
100
+ }
101
+ return false;
102
+ });
103
+ };
104
+ return target.map(function (targetChild, index) {
105
+ if (typeof targetChild === 'string')
106
+ return _jsx(React.Fragment, { children: targetChild }, "string_".concat(index));
107
+ if (isVariableObject(targetChild)) {
108
+ return _jsx(React.Fragment, { children: renderVariable({
109
+ variableType: targetChild.variable || "variable",
110
+ variableName: targetChild.key,
111
+ variableValue: variables[targetChild.key],
112
+ variableOptions: variablesOptions[targetChild.key]
113
+ }) }, "var_".concat(index));
114
+ }
115
+ var matchingSourceElement = findMatchingSourceElement_1(targetChild);
116
+ if (matchingSourceElement)
117
+ return _jsx(React.Fragment, { children: renderTranslatedElement({
118
+ sourceElement: matchingSourceElement,
119
+ targetElement: targetChild,
120
+ variables: variables,
121
+ variablesOptions: variablesOptions,
122
+ locales: locales
123
+ }) }, "element_".concat(index));
124
+ });
125
+ }
126
+ if (target && typeof target === 'object' && !Array.isArray(target)) {
127
+ var targetType = isVariableObject(target) ? "variable" : "element";
128
+ if (React.isValidElement(source)) {
129
+ if (targetType === "element") {
130
+ return renderTranslatedElement({
131
+ sourceElement: source, targetElement: target,
132
+ variables: variables,
133
+ variablesOptions: variablesOptions,
134
+ locales: locales
135
+ });
136
+ }
137
+ var generaltranslation = getGTProp(source);
138
+ if ((generaltranslation === null || generaltranslation === void 0 ? void 0 : generaltranslation.transformation) === "variable") {
139
+ var _e = getVariableProps(source.props), variableName = _e.variableName, variableValue = _e.variableValue, variableOptions = _e.variableOptions;
140
+ if (typeof variables[variableName] === 'undefined') {
141
+ variables[variableName] = variableValue;
142
+ }
143
+ variablesOptions[variableName] = __assign(__assign({}, variablesOptions[variableName]), variableOptions);
144
+ }
145
+ }
146
+ if (targetType === "variable") {
147
+ var targetVariable = target;
148
+ return renderVariable({
149
+ variableType: targetVariable.variable || "variable",
150
+ variableName: targetVariable.key,
151
+ variableValue: variables[targetVariable.key],
152
+ variableOptions: variablesOptions[targetVariable.key]
153
+ });
154
+ }
155
+ }
156
+ return renderDefaultChildren({ children: source, variables: variables, variablesOptions: variablesOptions, defaultLocale: locales[0] });
157
+ }
158
+ //# sourceMappingURL=renderTranslatedChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderTranslatedChildren.js","sourceRoot":"","sources":["../../../src/provider/rendering/renderTranslatedChildren.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export default function renderVariable({ variableType, variableName, variableValue, variableOptions }: {
2
+ variableType: "variable" | "number" | "datetime" | "currency";
3
+ variableName: string;
4
+ variableValue: any;
5
+ variableOptions: Intl.NumberFormatOptions | Intl.DateTimeFormatOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=renderVariable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderVariable.d.ts","sourceRoot":"","sources":["../../../src/provider/rendering/renderVariable.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACnC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAC7D,EAAE;IACC,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,GAAG,CAAC;IACnB,eAAe,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAA;CACzE,2CA6BA"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import Num from "../../variables/Num";
3
+ import Var from "../../variables/Var";
4
+ import Currency from "../../variables/Currency";
5
+ import DateTime from "../../variables/DateTime";
6
+ export default function renderVariable(_a) {
7
+ var variableType = _a.variableType, variableName = _a.variableName, variableValue = _a.variableValue, variableOptions = _a.variableOptions;
8
+ if (variableType === "number") {
9
+ return (_jsx(Num, { name: variableName, value: variableValue, options: variableOptions }));
10
+ }
11
+ else if (variableType === "datetime") {
12
+ return (_jsx(DateTime, { name: variableName, value: variableValue, options: variableOptions }));
13
+ }
14
+ else if (variableType === "currency") {
15
+ return (_jsx(Currency, { name: variableName, value: variableValue, options: variableOptions }));
16
+ }
17
+ return (_jsx(Var, { name: variableName, value: variableValue }));
18
+ }
19
+ //# sourceMappingURL=renderVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderVariable.js","sourceRoot":"","sources":["../../../src/provider/rendering/renderVariable.tsx"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAOtC;QANG,YAAY,kBAAA,EAAE,YAAY,kBAAA,EAAE,aAAa,mBAAA,EAAE,eAAe,qBAAA;IAO1D,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,CACH,KAAC,GAAG,IACA,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,GAC1B,CACL,CAAA;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,CACH,KAAC,QAAQ,IACL,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,GAC1B,CACL,CAAA;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,CACH,KAAC,QAAQ,IACL,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,GAC1B,CACL,CAAA;IACL,CAAC;IACD,OAAO,CACH,KAAC,GAAG,IAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAI,CACpD,CAAC;AACN,CAAC"}
@@ -0,0 +1,52 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { formatCurrency } from 'generaltranslation';
14
+ import useLocale from '../hooks/useLocale';
15
+ import useDefaultLocale from '../hooks/useDefaultLocale';
16
+ /**
17
+ * The `<Currency>` component renders a formatted currency string, allowing customization of name, default value, currency type, and formatting options.
18
+ * Must be used inside a `<GTProvider>`.
19
+ *
20
+ * @example
21
+ * ```jsx
22
+ * <Currency
23
+ * name="price"
24
+ * currency="USD"
25
+ * >
26
+ * 1000
27
+ * </Currency>
28
+ * ```
29
+ *
30
+ * @param {any} [children] - Optional content to render inside the currency component.
31
+ * @param {string} [name] - Optional name for the currency field.
32
+ * @param {any} [value] - The default value to be used.
33
+ * @param {string} [currency] - The currency type (e.g., USD, EUR, etc.).
34
+ * @param {Intl.NumberFormatOptions} [options] - Optional formatting options to customize how the currency is displayed.
35
+ * @returns {JSX.Element} The formatted currency component.
36
+ */
37
+ function Currency(_a) {
38
+ var _b = _a === void 0 ? { name: "cost" } : _a, children = _b.children, _c = _b.name, name = _c === void 0 ? "cost" : _c, value = _b.value, _d = _b.currency, currency = _d === void 0 ? "USD" : _d, _e = _b.options, options = _e === void 0 ? {} : _e;
39
+ var locales = [useLocale(), useDefaultLocale()];
40
+ var renderedValue = (typeof children !== 'undefined' && typeof value === 'undefined') ? children : value;
41
+ renderedValue = (typeof renderedValue === 'string') ? parseFloat(renderedValue) : renderedValue;
42
+ // Format the value using Intl.NumberFormat
43
+ if (typeof renderedValue === 'number') {
44
+ renderedValue = formatCurrency({ value: renderedValue, languages: locales, currency: currency, options: options });
45
+ }
46
+ return (_jsx("span", { "data-_gt-variable-name": name, "data-_gt-variable-type": "currency", "data-_gt-variable-options": __assign({ style: 'currency', currency: currency }, options), children: renderedValue }));
47
+ }
48
+ ;
49
+ // Static property to indicate the transformation type
50
+ Currency.gtTransformation = "variable-currency";
51
+ export default Currency;
52
+ //# sourceMappingURL=Currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Currency.js","sourceRoot":"","sources":["../../src/variables/Currency.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,QAAQ,CAAC,EAME;QANF,qBAMd,EAAE,IAAI,EAAE,MAAM,EAAE,KAAA,EANA,QAAQ,cAAA,EAAE,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EAAE,KAAK,WAAA,EAAE,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAAE,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA;IAQ9E,IAAM,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAEjD,IAAI,aAAa,GAAG,CAAC,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACzG,aAAa,GAAG,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAChG,2CAA2C;IAC3C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACpC,aAAa,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,CACH,yCAA8B,IAAI,4BAA0B,UAAU,0CAA+B,KAAK,EAAE,UAAU,EAAE,QAAQ,UAAA,IAAK,OAAO,aACvI,aAAa,GACX,CACV,CAAC;AAEN,CAAC;AAAA,CAAC;AAEF,sDAAsD;AACtD,QAAQ,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;AAEhD,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { formatDateTime } from 'generaltranslation';
3
+ import useLocale from '../hooks/useLocale';
4
+ import useDefaultLocale from '../hooks/useDefaultLocale';
5
+ /**
6
+ * The `<DateTime>` component renders a formatted date or time string, allowing customization of the name, default value, and formatting options.
7
+ * It utilizes the current locale and optional format settings to display the date.
8
+ * Must be used inside a `<GTProvider>`.
9
+ *
10
+ * @example
11
+ * ```jsx
12
+ * <DateTime
13
+ * name="createdAt"
14
+ * >
15
+ * {new Date()}
16
+ * </DateTime>
17
+ * ```
18
+ *
19
+ * @param {any} [children] - Optional content (typically a date) to render inside the component.
20
+ * @param {string} [name="date"] - Optional name for the date field, used for metadata purposes.
21
+ * @param {string|number|Date} [value] - The default value for the date. Can be a string, number (timestamp), or `Date` object.
22
+ * @param {Intl.DateTimeFormatOptions} [options={}] - Optional formatting options for the date, following `Intl.DateTimeFormatOptions` specifications.
23
+ * @returns {JSX.Element} The formatted date or time component.
24
+ */
25
+ function DateTime(_a) {
26
+ var _b = _a === void 0 ? { name: "date" } : _a, children = _b.children, _c = _b.name, name = _c === void 0 ? "date" : _c, value = _b.value, _d = _b.options, options = _d === void 0 ? {} : _d;
27
+ var locales = [useLocale(), useDefaultLocale()];
28
+ var final;
29
+ var dateValue;
30
+ var defaultValue = (typeof children !== 'undefined' && typeof value === 'undefined') ? children : value;
31
+ if (typeof defaultValue === 'number') {
32
+ dateValue = new Date(defaultValue);
33
+ }
34
+ else if (typeof defaultValue === 'string') {
35
+ dateValue = new Date(defaultValue);
36
+ }
37
+ else if (defaultValue instanceof Date) {
38
+ dateValue = defaultValue;
39
+ }
40
+ if (typeof dateValue !== 'undefined') {
41
+ final = (formatDateTime({ value: dateValue, languages: locales, options: options })).replace(/[\u200F\u202B\u202E]/g, '');
42
+ }
43
+ // Render the formatted date within a span element
44
+ return (_jsx("span", { "data-_gt-variable-name": name, "data-_gt-variable-type": "date", "data-_gt-variable-options": options, children: final }));
45
+ }
46
+ ;
47
+ // Static property for transformation type
48
+ DateTime.gtTransformation = "variable-datetime";
49
+ export default DateTime;
50
+ //# sourceMappingURL=DateTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../src/variables/DateTime.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,QAAQ,CAAC,EAKE;QALF,qBAKd,EAAE,IAAI,EAAE,MAAM,EAAE,KAAA,EALA,QAAQ,cAAA,EAAE,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EAAE,KAAK,WAAA,EAAE,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA;IAO5D,IAAM,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAEjD,IAAI,KAAK,CAAC;IAEV,IAAI,SAA2B,CAAC;IAChC,IAAI,YAAY,GAAG,CAAC,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxG,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnC,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1C,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,YAAY,YAAY,IAAI,EAAE,CAAC;QACtC,SAAS,GAAG,YAAY,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACnC,KAAK,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,kDAAkD;IAClD,OAAO,CACH,yCAA8B,IAAI,4BAA0B,MAAM,+BAA6B,OAAO,YACjG,KAAK,GACH,CACV,CAAC;AACN,CAAC;AAAA,CAAC;AAEF,0CAA0C;AAC1C,QAAQ,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;AAEhD,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { formatNum } from 'generaltranslation';
3
+ import useLocale from '../hooks/useLocale';
4
+ import useDefaultLocale from '../hooks/useDefaultLocale';
5
+ /**
6
+ * The `<Num>` component renders a formatted number string, allowing customization of the name, default value, and formatting options.
7
+ * It formats the number according to the current locale and optionally passed formatting options.
8
+ * Must be used inside a `<GTProvider>`.
9
+ *
10
+ * @example
11
+ * ```jsx
12
+ * <Num
13
+ * name="quantity"
14
+ * options={{ style: "decimal", maximumFractionDigits: 2 }}
15
+ * >
16
+ * 1000
17
+ * </Num>
18
+ * ```
19
+ *
20
+ * @param {any} [children] - Optional content (typically a number) to render inside the component.
21
+ * @param {string} [name="n"] - Optional name for the number field, used for metadata purposes.
22
+ * @param {string|number} [value] - The default value for the number. Can be a string or number. Strings will be parsed to numbers.
23
+ * @param {Intl.NumberFormatOptions} [options={}] - Optional formatting options for the number, following `Intl.NumberFormatOptions` specifications.
24
+ * @returns {JSX.Element} The formatted number component.
25
+ */
26
+ function Num(_a) {
27
+ var _b = _a === void 0 ? { name: "n" } : _a, children = _b.children, _c = _b.name, name = _c === void 0 ? "n" : _c, value = _b.value, _d = _b.options, options = _d === void 0 ? {} : _d;
28
+ var locales = [useLocale(), useDefaultLocale()];
29
+ var renderedValue = (typeof children !== 'undefined') ? children : value;
30
+ renderedValue = (typeof renderedValue === 'string') ? parseFloat(renderedValue) : renderedValue;
31
+ if (typeof renderedValue === 'number') {
32
+ // Using Intl.NumberFormat for consistent number formatting
33
+ renderedValue = formatNum({ value: renderedValue, languages: locales, options: options });
34
+ }
35
+ return (_jsx("span", { "data-_gt-variable-name": name, "data-_gt-variable-type": "number", "data-_gt-variable-options": JSON.stringify(options), children: renderedValue }));
36
+ }
37
+ ;
38
+ Num.gtTransformation = "variable-number";
39
+ export default Num;
40
+ //# sourceMappingURL=Num.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Num.js","sourceRoot":"","sources":["../../src/variables/Num.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,GAAG,CAAC,EAKI;QALJ,qBAKT,EAAE,IAAI,EAAE,GAAG,EAAE,KAAA,EALF,QAAQ,cAAA,EAAE,YAAU,EAAV,IAAI,mBAAG,GAAG,KAAA,EAAE,KAAK,WAAA,EAAE,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA;IAOpD,IAAM,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAEjD,IAAI,aAAa,GAAG,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,aAAa,GAAG,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAChG,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACpC,2DAA2D;QAC3D,aAAa,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CACH,yCAA8B,IAAI,4BAA0B,QAAQ,+BAA6B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YACnH,aAAa,GACX,CACV,CAAC;AACN,CAAC;AAAA,CAAC;AAEF,GAAG,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;AAEzC,eAAe,GAAG,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * The `<Var>` component renders a variable value, which can either be passed as `children` or a `value`.
4
+ * If `children` is provided, it will be used; otherwise, the `value` is rendered.
5
+ *
6
+ * @example
7
+ * ```jsx
8
+ * <Var
9
+ * name="username"
10
+ * >
11
+ * John
12
+ * </Var>
13
+ * ```
14
+ *
15
+ * @param {any} [children] - The content to render inside the component. If provided, it will take precedence over `value`.
16
+ * @param {string} [name] - Optional name for the variable, used for metadata purposes.
17
+ * @param {any} [value] - The default value to be displayed if `children` is not provided.
18
+ * @returns {JSX.Element} The rendered variable component with either `children` or `value`.
19
+ */
20
+ function Var(_a) {
21
+ var children = _a.children, name = _a.name, value = _a.value;
22
+ var final = typeof children !== 'undefined' ? children : value;
23
+ return (_jsx("span", { "data-_gt-variable-name": name, "data-_gt-variable-type": "variable", children: final }));
24
+ }
25
+ ;
26
+ Var.gtTransformation = "variable-variable";
27
+ export default Var;
28
+ //# sourceMappingURL=Var.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Var.js","sourceRoot":"","sources":["../../src/variables/Var.tsx"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,GAAG,CAAC,EAIZ;QAJc,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,KAAK,WAAA;IAMhC,IAAI,KAAK,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/D,OAAO,CACH,yCAA8B,IAAI,4BAA0B,UAAU,YACjE,KAAK,GACH,CACV,CAAC;AAEN,CAAC;AAAA,CAAC;AAEF,GAAG,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;AAE3C,eAAe,GAAG,CAAC"}
@@ -0,0 +1,8 @@
1
+ var defaultVariableNames = {
2
+ "variable": "value",
3
+ "number": "n",
4
+ "datetime": "date",
5
+ "currency": "cost"
6
+ };
7
+ export default defaultVariableNames;
8
+ //# sourceMappingURL=_defaultVariableNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_defaultVariableNames.js","sourceRoot":"","sources":["../../src/variables/_defaultVariableNames.ts"],"names":[],"mappings":"AAAA,IAAM,oBAAoB,GAKtB;IACA,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;CACrB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import defaultVariableNames from "./_defaultVariableNames";
2
+ export default function getVariableProps(props) {
3
+ var _a;
4
+ var variableType = ((_a = props['data-generaltranslation']) === null || _a === void 0 ? void 0 : _a.variableType) || "variable";
5
+ var result = {
6
+ variableType: variableType,
7
+ variableName: props.name || props['data-_gt-variable-name'] || defaultVariableNames[variableType],
8
+ variableValue: (function () {
9
+ if (typeof props.value !== 'undefined')
10
+ return props.value;
11
+ if (typeof props['data-_gt-unformatted-value'] !== 'undefined')
12
+ return props['data-_gt-unformatted-value'];
13
+ if (typeof props.children !== 'undefined')
14
+ return props.children;
15
+ return undefined;
16
+ })(),
17
+ variableOptions: props.options || props['data-_gt-variable-options'] || undefined
18
+ };
19
+ return result;
20
+ }
21
+ //# sourceMappingURL=_getVariableProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_getVariableProps.js","sourceRoot":"","sources":["../../src/variables/_getVariableProps.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAMxC;;IAEG,IAAM,YAAY,GAAoD,CAAA,MAAA,KAAK,CAAC,yBAAyB,CAAC,0CAAE,YAAY,KAAI,UAAU,CAAA;IAElI,IAAM,MAAM,GAKR;QACA,YAAY,cAAA;QACZ,YAAY,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,wBAAwB,CAAC,IAAI,oBAAoB,CAAC,YAAY,CAAC;QACjG,aAAa,EAAE,CAAC;YACZ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC;YAC3D,IAAI,OAAO,KAAK,CAAC,4BAA4B,CAAC,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC3G,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;YACjE,OAAO,SAAS,CAAC;QACrB,CAAC,CACA,EAAE;QACH,eAAe,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,2BAA2B,CAAC,IAAI,SAAS;KACpF,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "gt-react",
3
- "version": "5.0.3",
3
+ "version": "5.0.5",
4
4
  "description": "A React library for automatic internationalization.",
5
- "main": "dist/index.cjs.min.cjs",
6
- "module": "dist/index.esm.min.mjs",
5
+ "main": "dist/index.js",
7
6
  "types": "dist/index.d.ts",
8
7
  "peerDependencies": {
9
8
  "react": ">=16.8.0",
@@ -43,18 +42,15 @@
43
42
  "exports": {
44
43
  ".": {
45
44
  "types": "./dist/index.d.ts",
46
- "import": "./dist/index.esm.min.mjs",
47
- "require": "./dist/index.cjs.min.cjs"
45
+ "default": "./dist/index.js"
48
46
  },
49
47
  "./internal": {
50
48
  "types": "./dist/internal.d.ts",
51
- "import": "./dist/internal.esm.min.mjs",
52
- "require": "./dist/internal.cjs.min.cjs"
49
+ "default": "./dist/internal.js"
53
50
  },
54
51
  "./client": {
55
52
  "types": "./dist/client.d.ts",
56
- "import": "./dist/client.esm.min.mjs",
57
- "require": "./dist/client.cjs.min.cjs"
53
+ "default": "./dist/client.js"
58
54
  }
59
55
  },
60
56
  "typesVersions": {
@@ -86,6 +82,6 @@
86
82
  "i18n"
87
83
  ],
88
84
  "dependencies": {
89
- "generaltranslation": "^3.0.5"
85
+ "generaltranslation": "^3.0.6"
90
86
  }
91
87
  }
package/tsconfig.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "noEmit": true,
4
3
  "module": "ESNext",
5
4
  "strict": true,
6
5
  "esModuleInterop": true,
@@ -1,2 +0,0 @@
1
- "use strict";var a=require("react"),e=require("react/jsx-runtime"),r=require("generaltranslation");require("generaltranslation/internal");var n=a.createContext(void 0);function t(e){void 0===e&&(e="useGTContext() must be used within a <GTProvider>!");var r=a.useContext(n);if(void 0===r)throw new Error(e);return r}var i=function(){return i=Object.assign||function(a){for(var e,r=1,n=arguments.length;r<n;r++)for(var t in e=arguments[r])Object.prototype.hasOwnProperty.call(e,t)&&(a[t]=e[t]);return a},i.apply(this,arguments)};function o(a){return a&&a.props&&a.props["data-generaltranslation"]?a.props["data-generaltranslation"]:null}"function"==typeof SuppressedError&&SuppressedError;var l={variable:"value",number:"n",datetime:"date",currency:"cost"};function s(a){var e,r=(null===(e=a["data-generaltranslation"])||void 0===e?void 0:e.variableType)||"variable";return{variableType:r,variableName:a.name||a["data-_gt-variable-name"]||l[r],variableValue:void 0!==a.value?a.value:void 0!==a["data-_gt-unformatted-value"]?a["data-_gt-unformatted-value"]:void 0!==a.children?a.children:void 0,variableOptions:a.options||a["data-_gt-variable-options"]||void 0}}function v(){return t("useLocale(): Unable to access user's locale outside of a <GTProvider>").locale}function u(){return t("useDefaultLocale(): Unable to access default locale outside of a <GTProvider>").defaultLocale}function d(a){var n=void 0===a?{name:"n"}:a,t=n.children,i=n.name,o=void 0===i?"n":i,l=n.value,s=n.options,d=void 0===s?{}:s,p=[v(),u()],c=void 0!==t?t:l;return"number"==typeof(c="string"==typeof c?parseFloat(c):c)&&(c=r.formatNum({value:c,languages:p,options:d})),e.jsx("span",{"data-_gt-variable-name":o,"data-_gt-variable-type":"number","data-_gt-variable-options":JSON.stringify(d),children:c})}function p(a){var r=a.children,n=a.name,t=a.value,i=void 0!==r?r:t;return e.jsx("span",{"data-_gt-variable-name":n,"data-_gt-variable-type":"variable",children:i})}function c(a){var n=void 0===a?{name:"cost"}:a,t=n.children,o=n.name,l=void 0===o?"cost":o,s=n.value,d=n.currency,p=void 0===d?"USD":d,c=n.options,b=void 0===c?{}:c,f=[v(),u()],m=void 0!==t&&void 0===s?t:s;return"number"==typeof(m="string"==typeof m?parseFloat(m):m)&&(m=r.formatCurrency({value:m,languages:f,currency:p,options:b})),e.jsx("span",{"data-_gt-variable-name":l,"data-_gt-variable-type":"currency","data-_gt-variable-options":i({style:"currency",currency:p},b),children:m})}function b(a){var n,t,i=void 0===a?{name:"date"}:a,o=i.children,l=i.name,s=void 0===l?"date":l,d=i.value,p=i.options,c=void 0===p?{}:p,b=[v(),u()],f=void 0!==o&&void 0===d?o:d;return"number"==typeof f||"string"==typeof f?t=new Date(f):f instanceof Date&&(t=f),void 0!==t&&(n=r.formatDateTime({value:t,languages:b,options:c}).replace(/[\u200F\u202B\u202E]/g,"")),e.jsx("span",{"data-_gt-variable-name":s,"data-_gt-variable-type":"date","data-_gt-variable-options":c,children:n})}function f(a){if(a&&"object"==typeof a&&"string"==typeof a.key){var e=Object.keys(a);if(1===e.length)return!0;if(2===e.length){var r=a;return"string"==typeof r.variable&&["variable","number","date","currency"].includes(r.variable)}}return!1}d.gtTransformation="variable-number",p.gtTransformation="variable-variable",c.gtTransformation="variable-currency",b.gtTransformation="variable-datetime";var m="generaltranslation-locale",g="en";function y(a,e,r){var n="",t=null;return"number"==typeof a&&!t&&r&&(n=function(a,e,r){var n=new Intl.PluralRules(e).select(a),t=Math.abs(a);if(0===t&&r.zero)return"zero";if(1===t){if(r.singular)return"singular";if(r.one)return"one"}if("one"===n&&r.singular)return"singular";if(2===t){if(r.dual)return"dual";if(r.two)return"two"}return"two"===n&&r.dual?"dual":r[n]?n:"two"===n&&r.dual?"dual":"two"===n&&r.plural?"plural":"two"===n&&r.other?"other":"few"===n&&r.plural?"plural":"few"===n&&r.other?"other":"many"===n&&r.plural?"plural":"many"===n&&r.other?"other":"other"===n&&r.plural?"plural":""}(a,e,r)),n&&!t&&(t=r[n]),t}function h(a){var r=a.variableType,n=a.variableName,t=a.variableValue,i=a.variableOptions;return"number"===r?e.jsx(d,{name:n,value:t,options:i}):"datetime"===r?e.jsx(b,{name:n,value:t,options:i}):"currency"===r?e.jsx(c,{name:n,value:t,options:i}):e.jsx(p,{name:n,value:t})}function O(e){var r,n=e.sourceElement,t=e.targetElement,o=e.variables,l=void 0===o?{}:o,s=e.variablesOptions,v=void 0===s?{}:s,u=e.locales,d=void 0===u?[g]:u,p=n.props,c=p["data-generaltranslation"],b=null==c?void 0:c.transformation;if("plural"===b){var f="number"==typeof l.n?l.n:"number"==typeof n.props.n?n.props.n:n.props["data-_gt-n"],m=y(f,d,c.branches||{})||n.props.children,h=y(f,d,t.props["data-generaltranslation"].branches||{})||t.props.children;return a.createElement("span",i(i({},p),{"data-generaltranslation":void 0,children:_({source:m,target:h,variables:l,variablesOptions:v,locales:d})}))}if("branch"===b){var O=p.name,x=p.branch,j=p.children;x=l[O=O||n.props["data-_gt-name"]||"branch"]||x||n.props["data-_gt-branch-name"];m=(c.branches||{})[x]||j,h=(t.props["data-generaltranslation"].branches||{})[x]||t.props.children;return a.createElement("span",i(i({},p),{"data-generaltranslation":void 0,children:_({source:m,target:h,variables:l,variablesOptions:v,locales:d})}))}return(null==p?void 0:p.children)&&(null===(r=t.props)||void 0===r?void 0:r.children)?a.cloneElement(n,i(i({},p),{"data-generaltranslation":void 0,children:_({source:p.children,target:t.props.children,variables:l,variablesOptions:v,locales:d})})):n}function _(r){var n=r.source,t=r.target,l=r.variables,v=void 0===l?{}:l,u=r.variablesOptions,d=void 0===u?{}:u,p=r.locales,c=void 0===p?[g]:p;if(null==t&&n)return n;if("string"==typeof t)return t;if(Array.isArray(n)&&Array.isArray(t)){var b=n.filter((function(e){if(a.isValidElement(e)){var r=o(e);if(s(e.props),"variable"!==(null==r?void 0:r.transformation))return!0;var n=s(e.props),t=n.variableName,l=n.variableValue,u=n.variableOptions;void 0===v[t]&&(v[t]=l),d[t]=i(i({},d[t]),u)}}));return t.map((function(r,n){if("string"==typeof r)return e.jsx(a.Fragment,{children:r},"string_".concat(n));if(f(r))return e.jsx(a.Fragment,{children:h({variableType:r.variable||"variable",variableName:r.key,variableValue:v[r.key],variableOptions:d[r.key]})},"var_".concat(n));var t,i=(t=r,b.find((function(a){var e,r,n=o(a);return void 0!==(null==n?void 0:n.id)&&n.id===(null===(r=null===(e=null==t?void 0:t.props)||void 0===e?void 0:e["data-generaltranslation"])||void 0===r?void 0:r.id)})));return i?e.jsx(a.Fragment,{children:O({sourceElement:i,targetElement:r,variables:v,variablesOptions:d,locales:c})},"element_".concat(n)):void 0}))}if(t&&"object"==typeof t&&!Array.isArray(t)){var m=f(t)?"variable":"element";if(a.isValidElement(n)){if("element"===m)return O({sourceElement:n,targetElement:t,variables:v,variablesOptions:d,locales:c});var y=o(n);if("variable"===(null==y?void 0:y.transformation)){var _=s(n.props),x=_.variableName,j=_.variableValue,E=_.variableOptions;void 0===v[x]&&(v[x]=j),d[x]=i(i({},d[x]),E)}}if("variable"===m){var w=t;return h({variableType:w.variable||"variable",variableName:w.key,variableValue:v[w.key],variableOptions:d[w.key]})}}return n}exports._GTContext=n,exports._renderDefaultChildren=function(e){var r=e.children,n=e.variables,t=void 0===n?{}:n,l=e.variablesOptions,v=void 0===l?{}:l,u=e.defaultLocale,d=void 0===u?g:u,p=function(e){if(a.isValidElement(e)){var r=o(e);if("variable"===(null==r?void 0:r.transformation)){var n=s(e.props),l=n.variableName,u=n.variableType,p=n.variableValue,b=n.variableOptions;return h({variableName:l,variableType:u,variableValue:p=void 0!==t[l]?t[l]:p,variableOptions:i(i({},v[l]),b)})}if("plural"===(null==r?void 0:r.transformation)){var f="number"==typeof t.n?t.n:"number"==typeof e.props.n?e.props.n:e.props["data-_gt-n"],m=r.branches||{};return a.createElement("span",i(i({},e.props),{"data-generaltranslation":void 0,children:c(y(f,[d],m)||e.props.children)}))}if("branch"===(null==r?void 0:r.transformation)){var g=e.props;g.children;var O=g.name,_=g.branch;m=function(a,e){var r={};for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&e.indexOf(n)<0&&(r[n]=a[n]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols){var t=0;for(n=Object.getOwnPropertySymbols(a);t<n.length;t++)e.indexOf(n[t])<0&&Object.prototype.propertyIsEnumerable.call(a,n[t])&&(r[n[t]]=a[n[t]])}return r}(g,["children","name","branch"]);return O=O||e.props["data-_gt-name"]||"branch",_=t[O]||_||e.props["data-_gt-branch-name"],m=r.branches||{},a.createElement("span",i(i({},e.props),{"data-generaltranslation":void 0,children:c(m[_])}))}if(e.props.children)return a.cloneElement(e,i(i({},e.props),{"data-generaltranslation":void 0,children:c(e.props.children)}))}return e},c=function(e){return Array.isArray(e)?a.Children.map(e,p):p(e)};return c(r)},exports._renderTranslatedChildren=_,exports.useBrowserLocale=function(e,n,t){void 0===e&&(e=g),void 0===n&&(n=m);var i=a.useState(""),o=i[0],l=i[1];return a.useEffect((function(){var a,i=(n?function(a){void 0===a&&(a=m);for(var e=0,r=document.cookie.split("; ");e<r.length;e++){var n=r[e].split("="),t=n[0],i=n[1];if(t===a)return decodeURIComponent(i)}return null}(n):void 0)||(t?r.determineLanguage(navigator.languages,t):void 0)||(null===(a=navigator.languages)||void 0===a?void 0:a[0])||navigator.language||(null===navigator||void 0===navigator?void 0:navigator.userLanguage)||e;l(i)}),[e,t]),o};
2
- //# sourceMappingURL=client.cjs.min.cjs.map