@tolgee/react 4.10.0-rc.d9fac95.0 → 5.0.0-alpha.1

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.
@@ -34,6 +34,18 @@
34
34
  return __assign.apply(this, arguments);
35
35
  };
36
36
 
37
+ function __rest(s, e) {
38
+ var t = {};
39
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
40
+ t[p] = s[p];
41
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
42
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
43
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
44
+ t[p[i]] = s[p[i]];
45
+ }
46
+ return t;
47
+ }
48
+
37
49
  function __read(o, n) {
38
50
  var m = typeof Symbol === "function" && o[Symbol.iterator];
39
51
  if (!m) return o;
@@ -106,55 +118,53 @@
106
118
  return context;
107
119
  };
108
120
 
121
+ var useRerender = function () {
122
+ var _a = __read(React.useState(0), 2), instance = _a[0], setCounter = _a[1];
123
+ var rerender = React.useCallback(function () {
124
+ setCounter(function (num) { return num + 1; });
125
+ }, [setCounter]);
126
+ return { instance: instance, rerender: rerender };
127
+ };
128
+
109
129
  var useTranslateInternal = function (ns, options) {
110
130
  var _a = useTolgeeContext(), tolgee = _a.tolgee, defaultOptions = _a.options;
111
131
  var namespaces = web.getFallback(ns);
112
132
  var namespacesJoined = web.getFallbackArray(namespaces).join(':');
113
133
  var currentOptions = __assign(__assign({}, defaultOptions), options);
114
134
  // dummy state to enable re-rendering
115
- var _b = __read(React.useState(0), 2), instance = _b[0], setInstance = _b[1];
116
- var forceRerender = React.useCallback(function () {
117
- setInstance(function (v) { return v + 1; });
118
- }, [setInstance]);
135
+ var _b = useRerender(), rerender = _b.rerender, instance = _b.instance;
119
136
  var subscriptionRef = React.useRef();
120
137
  var subscriptionQueue = React.useRef([]);
121
- var subscribeToKey = function (key) {
122
- if (subscriptionRef.current) {
123
- subscriptionRef.current.subscribeKey(key);
124
- }
125
- else {
126
- subscriptionQueue.current.push(key);
127
- }
138
+ subscriptionQueue.current = [];
139
+ var subscribeToNs = function (ns) {
140
+ var _a;
141
+ subscriptionQueue.current.push(ns);
142
+ (_a = subscriptionRef.current) === null || _a === void 0 ? void 0 : _a.subscribeNs(ns);
128
143
  };
129
- React.useEffect(function () {
130
- subscriptionRef.current = tolgee.onKeyUpdate(forceRerender);
131
- subscriptionQueue.current.forEach(function (key) {
132
- subscriptionRef.current.subscribeKey(key);
133
- });
134
- subscriptionQueue.current = [];
135
- return function () {
136
- subscriptionRef.current.unsubscribe();
137
- };
138
- }, []);
139
144
  var isLoaded = tolgee.isLoaded(namespaces);
140
145
  React.useEffect(function () {
146
+ var subscription = tolgee.onNsUpdate(rerender);
147
+ subscriptionRef.current = subscription;
141
148
  if (!isLoaded) {
142
- subscriptionRef.current.subscribeNs(namespaces);
143
- return function () {
144
- subscriptionRef.current.unsubscribeNs(namespaces);
145
- };
149
+ subscription.subscribeNs(namespaces);
146
150
  }
147
- }, [namespacesJoined, isLoaded]);
151
+ subscriptionQueue.current.forEach(function (ns) {
152
+ subscription.subscribeNs(ns);
153
+ });
154
+ return function () {
155
+ subscription.unsubscribe();
156
+ };
157
+ }, [isLoaded, namespacesJoined]);
148
158
  React.useEffect(function () {
149
159
  tolgee.addActiveNs(namespaces);
150
160
  return function () { return tolgee.removeActiveNs(namespaces); };
151
161
  }, [namespacesJoined]);
152
162
  var t = React.useCallback(function (props) {
153
163
  var fallbackNs = props.ns || (namespaces === null || namespaces === void 0 ? void 0 : namespaces[0]);
154
- subscribeToKey({ key: props.key, ns: fallbackNs });
164
+ subscribeToNs(fallbackNs);
155
165
  return tolgee.t(__assign(__assign({}, props), { ns: fallbackNs }));
156
166
  }, [tolgee, instance]);
157
- if ((currentOptions === null || currentOptions === void 0 ? void 0 : currentOptions.useSuspense) && !isLoaded) {
167
+ if (currentOptions.useSuspense && !isLoaded) {
158
168
  throw tolgee.addActiveNs(namespaces, true);
159
169
  }
160
170
  return { t: t, isLoading: !isLoaded };
@@ -168,7 +178,7 @@
168
178
  params[_i] = arguments[_i];
169
179
  }
170
180
  // @ts-ignore
171
- var props = web.getTranslateParams.apply(void 0, __spreadArray([], __read(params), false));
181
+ var props = web.getTranslateProps.apply(void 0, __spreadArray([], __read(params), false));
172
182
  return tInternal(props);
173
183
  }, [tInternal]);
174
184
  return { t: t, isLoading: isLoading };
@@ -189,9 +199,9 @@
189
199
  else if (React__default["default"].isValidElement(value)) {
190
200
  var el_1 = value;
191
201
  result[key] = function (chunk) {
192
- return __assign(__assign({}, el_1), { props: __assign(__assign({}, el_1.props), { children: el_1.props.children !== undefined
193
- ? el_1.props.children
194
- : addReactKeys(chunk) }) });
202
+ return el_1.props.children !== undefined
203
+ ? React__default["default"].cloneElement(el_1)
204
+ : React__default["default"].cloneElement(el_1, {}, addReactKeys(chunk));
195
205
  };
196
206
  }
197
207
  else {
@@ -215,7 +225,7 @@
215
225
  // eslint-disable-next-line no-console
216
226
  console.error('T component: keyName not defined');
217
227
  }
218
- var defaultValue = props.keyName ? props.children : undefined;
228
+ var defaultValue = props.defaultValue || (props.keyName ? props.children : undefined);
219
229
  var t = useTranslateInternal().t;
220
230
  var translation = addReactKeys(t({
221
231
  key: key,
@@ -227,17 +237,9 @@
227
237
  return React__default["default"].createElement(React__default["default"].Fragment, null, translation);
228
238
  };
229
239
 
230
- var useRerender = function () {
231
- var _a = __read(React.useState(0), 2); _a[0]; var setCounter = _a[1];
232
- var rerender = React.useCallback(function () {
233
- setCounter(function (num) { return num + 1; });
234
- }, [setCounter]);
235
- return rerender;
236
- };
237
-
238
240
  var useTolgee = function (events) {
239
241
  var tolgee = useTolgeeContext().tolgee;
240
- var rerender = useRerender();
242
+ var rerender = useRerender().rerender;
241
243
  React.useEffect(function () {
242
244
  var listeners = events === null || events === void 0 ? void 0 : events.map(function (e) { return tolgee.on(e, rerender); });
243
245
  return function () {
@@ -249,7 +251,10 @@
249
251
 
250
252
  var ReactPlugin = function (props) {
251
253
  return function (tolgee) {
252
- return tolgee.use(web.DevTools()).use(GlobalContextPlugin(props));
254
+ var _a = props || {}, useSuspense = _a.useSuspense, observerOptions = __rest(_a, ["useSuspense"]);
255
+ tolgee.addPlugin(web.DevTools(observerOptions));
256
+ tolgee.addPlugin(GlobalContextPlugin({ useSuspense: useSuspense }));
257
+ return tolgee;
253
258
  };
254
259
  };
255
260
 
@@ -1 +1 @@
1
- {"version":3,"file":"tolgee-react.umd.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@8.3.4_e2q5rqkwsas7xse3qcdo6zg4by/node_modules/tslib/tslib.es6.js","../src/TolgeeProvider.tsx","../src/GlobalContextPlugin.tsx","../src/useTolgeeContext.ts","../src/useTranslateInternal.ts","../src/useTranslate.ts","../src/tagsTools.tsx","../src/T.tsx","../src/hooks.ts","../src/useTolgee.ts","../src/ReactPlugin.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import React, { Suspense, useEffect, useState } from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\nimport { ReactOptions, TolgeeReactContext } from './types';\n\nexport const DEFAULT_REACT_OPTIONS: ReactOptions = {\n useSuspense: true,\n};\n\nexport const TolgeeProviderContext = React.createContext<\n TolgeeReactContext | undefined\n>(undefined);\n\ntype Props = {\n tolgee: TolgeeInstance;\n options?: ReactOptions;\n fallback?: React.ReactNode;\n};\n\nexport const TolgeeProvider: React.FC<Props> = ({\n tolgee,\n options,\n children,\n fallback,\n}) => {\n const [loading, setLoading] = useState(!tolgee.isLoaded());\n\n useEffect(() => {\n tolgee.run().then(() => {\n setLoading(false);\n });\n return () => {\n tolgee.stop();\n };\n }, []);\n\n const optionsWithDefault = { ...DEFAULT_REACT_OPTIONS, ...options };\n\n if (optionsWithDefault.useSuspense) {\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n <Suspense fallback={fallback || null}>{children}</Suspense>\n </TolgeeProviderContext.Provider>\n );\n }\n\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n {fallback && loading ? fallback : children}\n </TolgeeProviderContext.Provider>\n );\n};\n","import type { TolgeePlugin } from '@tolgee/web';\nimport { DEFAULT_REACT_OPTIONS } from './TolgeeProvider';\nimport type { ReactOptions, TolgeeReactContext } from './types';\n\nlet globalContext: TolgeeReactContext | undefined;\n\nexport const GlobalContextPlugin =\n (options?: Partial<ReactOptions>): TolgeePlugin =>\n (tolgee) => {\n globalContext = {\n tolgee,\n options: { ...DEFAULT_REACT_OPTIONS, ...options },\n };\n return tolgee;\n };\n\nexport function getGlobalContext() {\n return globalContext;\n}\n","import { useContext } from 'react';\nimport { getGlobalContext } from './GlobalContextPlugin';\nimport { TolgeeProviderContext } from './TolgeeProvider';\n\nexport const useTolgeeContext = () => {\n const context = useContext(TolgeeProviderContext) || getGlobalContext();\n if (!context) {\n throw new Error(\n \"Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?\"\n );\n }\n return context;\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n ListenerSelective,\n KeyDescriptor,\n TranslateProps,\n FallbackNSTranslation,\n getFallbackArray,\n getFallback,\n} from '@tolgee/web';\n\nimport { useTolgeeContext } from './useTolgeeContext';\nimport { ReactOptions } from './types';\n\nexport const useTranslateInternal = (\n ns?: FallbackNSTranslation,\n options?: ReactOptions\n) => {\n const { tolgee, options: defaultOptions } = useTolgeeContext();\n const namespaces = getFallback(ns);\n const namespacesJoined = getFallbackArray(namespaces).join(':');\n\n const currentOptions = {\n ...defaultOptions,\n ...options,\n };\n\n // dummy state to enable re-rendering\n const [instance, setInstance] = useState(0);\n\n const forceRerender = useCallback(() => {\n setInstance((v) => v + 1);\n }, [setInstance]);\n\n const subscriptionRef = useRef<ListenerSelective>();\n\n const subscriptionQueue = useRef([] as KeyDescriptor[]);\n\n const subscribeToKey = (key: KeyDescriptor) => {\n if (subscriptionRef.current) {\n subscriptionRef.current.subscribeKey(key);\n } else {\n subscriptionQueue.current.push(key);\n }\n };\n\n useEffect(() => {\n subscriptionRef.current = tolgee.onKeyUpdate(forceRerender);\n subscriptionQueue.current.forEach((key) => {\n subscriptionRef.current!.subscribeKey(key);\n });\n subscriptionQueue.current = [];\n return () => {\n subscriptionRef.current!.unsubscribe();\n };\n }, []);\n\n const isLoaded = tolgee.isLoaded(namespaces);\n\n useEffect(() => {\n if (!isLoaded) {\n subscriptionRef.current!.subscribeNs(namespaces);\n return () => {\n subscriptionRef.current!.unsubscribeNs(namespaces);\n };\n }\n }, [namespacesJoined, isLoaded]);\n\n useEffect(() => {\n tolgee.addActiveNs(namespaces);\n return () => tolgee.removeActiveNs(namespaces);\n }, [namespacesJoined]);\n\n const t = useCallback(\n (props: TranslateProps<any>) => {\n const fallbackNs = props.ns || namespaces?.[0];\n subscribeToKey({ key: props.key, ns: fallbackNs });\n return tolgee.t({ ...props, ns: fallbackNs }) as any;\n },\n [tolgee, instance]\n );\n\n if (currentOptions?.useSuspense && !isLoaded) {\n throw tolgee.addActiveNs(namespaces, true);\n }\n\n return { t, isLoading: !isLoaded };\n};\n","import { useCallback } from 'react';\nimport { TFnType, getTranslateParams, DefaultParamType } from '@tolgee/web';\n\nimport { useTranslateInternal } from './useTranslateInternal';\nimport { ReactOptions } from './types';\n\nexport const useTranslate = (\n ns?: string[] | string,\n options?: ReactOptions\n) => {\n const { t: tInternal, isLoading } = useTranslateInternal(ns, options);\n\n const t: TFnType<DefaultParamType, string> = useCallback(\n (...params: any) => {\n // @ts-ignore\n const props = getTranslateParams(...params);\n return tInternal(props);\n },\n [tInternal]\n );\n\n return { t, isLoading };\n};\n","import React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (params: ParamsTags) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return {\n ...el,\n props: {\n ...el.props,\n children:\n el.props.children !== undefined\n ? el.props.children\n : addReactKeys(chunk),\n },\n };\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import { FallbackNSTranslation, TranslateParams } from '@tolgee/web';\nimport React, { FunctionComponent } from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\n\nimport { ParamsTags } from './types';\nimport { useTranslateInternal } from './useTranslateInternal';\n\ntype TProps = {\n params?: TranslateParams<ParamsTags>;\n children?: string;\n noWrap?: boolean;\n keyName?: string;\n ns?: FallbackNSTranslation;\n};\n\nexport const T: FunctionComponent<TProps> = (props: TProps) => {\n const key = props.keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue = props.keyName ? props.children : undefined;\n\n const { t } = useTranslateInternal();\n\n const translation = addReactKeys(\n t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n })\n );\n\n return <>{translation}</>;\n};\n","import { useCallback, useState } from 'react';\n\nexport const useRerender = () => {\n const [_, setCounter] = useState(0);\n\n const rerender = useCallback(() => {\n setCounter((num) => num + 1);\n }, [setCounter]);\n return rerender;\n};\n","import { TolgeeEvent, TolgeeInstance } from '@tolgee/web';\nimport { useEffect } from 'react';\nimport { useRerender } from './hooks';\nimport { useTolgeeContext } from './useTolgeeContext';\n\nexport const useTolgee = (events?: TolgeeEvent[]): TolgeeInstance => {\n const { tolgee } = useTolgeeContext();\n\n const rerender = useRerender();\n\n useEffect(() => {\n const listeners = events?.map((e) => tolgee.on(e, rerender));\n return () => {\n listeners?.forEach((listener) => listener.unsubscribe());\n };\n }, [events?.join(':')]);\n\n return tolgee;\n};\n","import { TolgeePlugin } from '@tolgee/web';\nimport { DevTools } from '@tolgee/web';\nimport { GlobalContextPlugin } from './GlobalContextPlugin';\nimport { ReactOptions } from './types';\n\ntype Props = Partial<ReactOptions>;\n\nexport const ReactPlugin =\n (props?: Props): TolgeePlugin =>\n (tolgee) =>\n tolgee.use(DevTools()).use(GlobalContextPlugin(props));\n"],"names":["React","useState","useEffect","Suspense","useContext","getFallback","getFallbackArray","useCallback","useRef","getTranslateParams","DevTools"],"mappings":"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"}
1
+ {"version":3,"file":"tolgee-react.umd.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@8.3.4_e2q5rqkwsas7xse3qcdo6zg4by/node_modules/tslib/tslib.es6.js","../src/TolgeeProvider.tsx","../src/GlobalContextPlugin.tsx","../src/useTolgeeContext.ts","../src/hooks.ts","../src/useTranslateInternal.ts","../src/useTranslate.ts","../src/tagsTools.tsx","../src/T.tsx","../src/useTolgee.ts","../src/ReactPlugin.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import React, { Suspense, useEffect, useState } from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\nimport { ReactOptions, TolgeeReactContext } from './types';\n\nexport const DEFAULT_REACT_OPTIONS: ReactOptions = {\n useSuspense: true,\n};\n\nexport const TolgeeProviderContext = React.createContext<\n TolgeeReactContext | undefined\n>(undefined);\n\ntype Props = {\n children?: React.ReactNode;\n tolgee: TolgeeInstance;\n options?: ReactOptions;\n fallback?: React.ReactNode;\n};\n\nexport const TolgeeProvider: React.FC<Props> = ({\n tolgee,\n options,\n children,\n fallback,\n}) => {\n const [loading, setLoading] = useState(!tolgee.isLoaded());\n\n useEffect(() => {\n tolgee.run().then(() => {\n setLoading(false);\n });\n return () => {\n tolgee.stop();\n };\n }, []);\n\n const optionsWithDefault = { ...DEFAULT_REACT_OPTIONS, ...options };\n\n if (optionsWithDefault.useSuspense) {\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n <Suspense fallback={fallback || null}>{children}</Suspense>\n </TolgeeProviderContext.Provider>\n );\n }\n\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n {fallback && loading ? fallback : children}\n </TolgeeProviderContext.Provider>\n );\n};\n","import type { TolgeePlugin } from '@tolgee/web';\nimport { DEFAULT_REACT_OPTIONS } from './TolgeeProvider';\nimport type { ReactOptions, TolgeeReactContext } from './types';\n\nlet globalContext: TolgeeReactContext | undefined;\n\nexport const GlobalContextPlugin =\n (options?: Partial<ReactOptions>): TolgeePlugin =>\n (tolgee) => {\n globalContext = {\n tolgee,\n options: { ...DEFAULT_REACT_OPTIONS, ...options },\n };\n return tolgee;\n };\n\nexport function getGlobalContext() {\n return globalContext;\n}\n","import { useContext } from 'react';\nimport { getGlobalContext } from './GlobalContextPlugin';\nimport { TolgeeProviderContext } from './TolgeeProvider';\n\nexport const useTolgeeContext = () => {\n const context = useContext(TolgeeProviderContext) || getGlobalContext();\n if (!context) {\n throw new Error(\n \"Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?\"\n );\n }\n return context;\n};\n","import { useCallback, useState } from 'react';\n\nexport const useRerender = () => {\n const [instance, setCounter] = useState(0);\n\n const rerender = useCallback(() => {\n setCounter((num) => num + 1);\n }, [setCounter]);\n return { instance, rerender };\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport {\n SubscriptionSelective,\n TranslateProps,\n NsFallback,\n getFallbackArray,\n getFallback,\n} from '@tolgee/web';\n\nimport { useTolgeeContext } from './useTolgeeContext';\nimport { ReactOptions } from './types';\nimport { useRerender } from './hooks';\n\nexport const useTranslateInternal = (\n ns?: NsFallback,\n options?: ReactOptions\n) => {\n const { tolgee, options: defaultOptions } = useTolgeeContext();\n const namespaces = getFallback(ns);\n const namespacesJoined = getFallbackArray(namespaces).join(':');\n\n const currentOptions = {\n ...defaultOptions,\n ...options,\n };\n\n // dummy state to enable re-rendering\n const { rerender, instance } = useRerender();\n\n const subscriptionRef = useRef<SubscriptionSelective>();\n\n const subscriptionQueue = useRef([] as NsFallback[]);\n subscriptionQueue.current = [];\n\n const subscribeToNs = (ns: NsFallback) => {\n subscriptionQueue.current.push(ns);\n subscriptionRef.current?.subscribeNs(ns);\n };\n\n const isLoaded = tolgee.isLoaded(namespaces);\n\n useEffect(() => {\n const subscription = tolgee.onNsUpdate(rerender);\n subscriptionRef.current = subscription;\n if (!isLoaded) {\n subscription.subscribeNs(namespaces);\n }\n subscriptionQueue.current.forEach((ns) => {\n subscription!.subscribeNs(ns);\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [isLoaded, namespacesJoined]);\n\n useEffect(() => {\n tolgee.addActiveNs(namespaces);\n return () => tolgee.removeActiveNs(namespaces);\n }, [namespacesJoined]);\n\n const t = useCallback(\n (props: TranslateProps<any>) => {\n const fallbackNs = props.ns || namespaces?.[0];\n subscribeToNs(fallbackNs);\n return tolgee.t({ ...props, ns: fallbackNs }) as any;\n },\n [tolgee, instance]\n );\n\n if (currentOptions.useSuspense && !isLoaded) {\n throw tolgee.addActiveNs(namespaces, true);\n }\n\n return { t, isLoading: !isLoaded };\n};\n","import { useCallback } from 'react';\nimport { TFnType, getTranslateProps, DefaultParamType } from '@tolgee/web';\n\nimport { useTranslateInternal } from './useTranslateInternal';\nimport { ReactOptions } from './types';\n\nexport const useTranslate = (\n ns?: string[] | string,\n options?: ReactOptions\n) => {\n const { t: tInternal, isLoading } = useTranslateInternal(ns, options);\n\n const t: TFnType<DefaultParamType, string> = useCallback(\n (...params: any) => {\n // @ts-ignore\n const props = getTranslateProps(...params);\n return tInternal(props);\n },\n [tInternal]\n );\n\n return { t, isLoading };\n};\n","import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children !== undefined\n ? React.cloneElement(el)\n : React.cloneElement(el, {}, addReactKeys(chunk));\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import { NsType, TranslateParams } from '@tolgee/web';\nimport React, { FunctionComponent } from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\n\nimport { ParamsTags } from './types';\nimport { useTranslateInternal } from './useTranslateInternal';\n\ntype TProps = {\n params?: TranslateParams<ParamsTags>;\n children?: string;\n noWrap?: boolean;\n keyName?: string;\n ns?: NsType;\n defaultValue?: string;\n};\n\nexport const T: FunctionComponent<TProps> = (props: TProps) => {\n const key = props.keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue || (props.keyName ? props.children : undefined);\n\n const { t } = useTranslateInternal();\n\n const translation = addReactKeys(\n t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n })\n );\n\n return <>{translation}</>;\n};\n","import { TolgeeEvent, TolgeeInstance } from '@tolgee/web';\nimport { useEffect } from 'react';\nimport { useRerender } from './hooks';\nimport { useTolgeeContext } from './useTolgeeContext';\n\nexport const useTolgee = (events?: TolgeeEvent[]): TolgeeInstance => {\n const { tolgee } = useTolgeeContext();\n\n const { rerender } = useRerender();\n\n useEffect(() => {\n const listeners = events?.map((e) => tolgee.on(e, rerender));\n return () => {\n listeners?.forEach((listener) => listener.unsubscribe());\n };\n }, [events?.join(':')]);\n\n return tolgee;\n};\n","import { TolgeePlugin, InContextOptions } from '@tolgee/web';\nimport { DevTools } from '@tolgee/web';\nimport { GlobalContextPlugin } from './GlobalContextPlugin';\nimport { ReactOptions } from './types';\n\ntype Props = Partial<ReactOptions> & InContextOptions;\n\nexport const ReactPlugin =\n (props?: Props): TolgeePlugin =>\n (tolgee) => {\n const { useSuspense, ...observerOptions } = props || {};\n tolgee.addPlugin(DevTools(observerOptions));\n tolgee.addPlugin(GlobalContextPlugin({ useSuspense }));\n return tolgee;\n };\n"],"names":["React","useState","useEffect","Suspense","useContext","useCallback","getFallback","getFallbackArray","useRef","getTranslateProps","DevTools"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react"),require("@tolgee/web")):"function"==typeof define&&define.amd?define(["exports","react","@tolgee/web"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@tolgee/react"]={},e.React,e["@tolgee/web"])}(this,(function(e,n,t){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(n),u=function(){return u=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},u.apply(this,arguments)};function i(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var r,o,u=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(r=u.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(t=u.return)&&t.call(u)}finally{if(o)throw o.error}}return i}function a(e,n,t){if(t||2===arguments.length)for(var r,o=0,u=n.length;o<u;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}var c,l={useSuspense:!0},f=o.default.createContext(void 0);var s=function(){var e=n.useContext(f)||c;if(!e)throw new Error("Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?");return e},d=function(e,r){var o=s(),a=o.tolgee,c=o.options,l=t.getFallback(e),f=t.getFallbackArray(l).join(":"),d=u(u({},c),r),p=i(n.useState(0),2),v=p[0],y=p[1],b=n.useCallback((function(){y((function(e){return e+1}))}),[y]),g=n.useRef(),h=n.useRef([]);n.useEffect((function(){return g.current=a.onKeyUpdate(b),h.current.forEach((function(e){g.current.subscribeKey(e)})),h.current=[],function(){g.current.unsubscribe()}}),[]);var m=a.isLoaded(l);n.useEffect((function(){if(!m)return g.current.subscribeNs(l),function(){g.current.unsubscribeNs(l)}}),[f,m]),n.useEffect((function(){return a.addActiveNs(l),function(){return a.removeActiveNs(l)}}),[f]);var k=n.useCallback((function(e){var n,t=e.ns||(null==l?void 0:l[0]);return n={key:e.key,ns:t},g.current?g.current.subscribeKey(n):h.current.push(n),a.t(u(u({},e),{ns:t}))}),[a,v]);if((null==d?void 0:d.useSuspense)&&!m)throw a.addActiveNs(l,!0);return{t:k,isLoading:!m}},p=function(e){if(e){var n={};return Object.entries(e||{}).forEach((function(e){var t=i(e,2),r=t[0],a=t[1];if("function"==typeof a)n[r]=function(e){return a(v(e))};else if(o.default.isValidElement(a)){var c=a;n[r]=function(e){return u(u({},c),{props:u(u({},c.props),{children:void 0!==c.props.children?c.props.children:v(e)})})}}else n[r]=a})),n}},v=function(e){return Array.isArray(e)?o.default.Children.toArray(e):e};e.ReactPlugin=function(e){return function(n){return n.use(t.DevTools()).use((r=e,function(e){return c={tolgee:e,options:u(u({},l),r)},e}));var r}},e.T=function(e){var n=e.keyName||e.children;void 0===n&&console.error("T component: keyName not defined");var t=e.keyName?e.children:void 0,r=d().t,u=v(r({key:n,params:p(e.params),defaultValue:t,noWrap:e.noWrap,ns:e.ns}));return o.default.createElement(o.default.Fragment,null,u)},e.TolgeeProvider=function(e){var t=e.tolgee,r=e.options,a=e.children,c=e.fallback,s=i(n.useState(!t.isLoaded()),2),d=s[0],p=s[1];n.useEffect((function(){return t.run().then((function(){p(!1)})),function(){t.stop()}}),[]);var v=u(u({},l),r);return v.useSuspense?o.default.createElement(f.Provider,{value:{tolgee:t,options:v}},o.default.createElement(n.Suspense,{fallback:c||null},a)):o.default.createElement(f.Provider,{value:{tolgee:t,options:v}},c&&d?c:a)},e.TolgeeProviderContext=f,e.useTolgee=function(e){var t=s().tolgee,r=function(){var e=i(n.useState(0),2);e[0];var t=e[1];return n.useCallback((function(){t((function(e){return e+1}))}),[t])}();return n.useEffect((function(){var n=null==e?void 0:e.map((function(e){return t.on(e,r)}));return function(){null==n||n.forEach((function(e){return e.unsubscribe()}))}}),[null==e?void 0:e.join(":")]),t},e.useTranslate=function(e,r){var o=d(e,r),u=o.t,c=o.isLoading,l=n.useCallback((function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var r=t.getTranslateParams.apply(void 0,a([],i(e),!1));return u(r)}),[u]);return{t:l,isLoading:c}},Object.keys(t).forEach((function(n){"default"===n||e.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[n]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react"),require("@tolgee/web")):"function"==typeof define&&define.amd?define(["exports","react","@tolgee/web"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@tolgee/react"]={},e.React,e["@tolgee/web"])}(this,(function(e,n,t){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(n),u=function(){return u=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},u.apply(this,arguments)};function a(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var r,o,u=t.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(r=u.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(t=u.return)&&t.call(u)}finally{if(o)throw o.error}}return a}function i(e,n,t){if(t||2===arguments.length)for(var r,o=0,u=n.length;o<u;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}var l,c={useSuspense:!0},f=o.default.createContext(void 0);var s=function(){var e=n.useContext(f)||l;if(!e)throw new Error("Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?");return e},d=function(){var e=a(n.useState(0),2),t=e[0],r=e[1];return{instance:t,rerender:n.useCallback((function(){r((function(e){return e+1}))}),[r])}},p=function(e,r){var o=s(),a=o.tolgee,i=o.options,l=t.getFallback(e),c=t.getFallbackArray(l).join(":"),f=u(u({},i),r),p=d(),v=p.rerender,y=p.instance,b=n.useRef(),g=n.useRef([]);g.current=[];var h=a.isLoaded(l);n.useEffect((function(){var e=a.onNsUpdate(v);return b.current=e,h||e.subscribeNs(l),g.current.forEach((function(n){e.subscribeNs(n)})),function(){e.unsubscribe()}}),[h,c]),n.useEffect((function(){return a.addActiveNs(l),function(){return a.removeActiveNs(l)}}),[c]);var m=n.useCallback((function(e){var n=e.ns||(null==l?void 0:l[0]);return function(e){var n;g.current.push(e),null===(n=b.current)||void 0===n||n.subscribeNs(e)}(n),a.t(u(u({},e),{ns:n}))}),[a,y]);if(f.useSuspense&&!h)throw a.addActiveNs(l,!0);return{t:m,isLoading:!h}},v=function(e){if(e){var n={};return Object.entries(e||{}).forEach((function(e){var t=a(e,2),r=t[0],u=t[1];if("function"==typeof u)n[r]=function(e){return u(y(e))};else if(o.default.isValidElement(u)){var i=u;n[r]=function(e){return void 0!==i.props.children?o.default.cloneElement(i):o.default.cloneElement(i,{},y(e))}}else n[r]=u})),n}},y=function(e){return Array.isArray(e)?o.default.Children.toArray(e):e};e.ReactPlugin=function(e){return function(n){var r,o=e||{},a=o.useSuspense,i=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]])}return t}(o,["useSuspense"]);return n.addPlugin(t.DevTools(i)),n.addPlugin((r={useSuspense:a},function(e){return l={tolgee:e,options:u(u({},c),r)},e})),n}},e.T=function(e){var n=e.keyName||e.children;void 0===n&&console.error("T component: keyName not defined");var t=e.defaultValue||(e.keyName?e.children:void 0),r=p().t,u=y(r({key:n,params:v(e.params),defaultValue:t,noWrap:e.noWrap,ns:e.ns}));return o.default.createElement(o.default.Fragment,null,u)},e.TolgeeProvider=function(e){var t=e.tolgee,r=e.options,i=e.children,l=e.fallback,s=a(n.useState(!t.isLoaded()),2),d=s[0],p=s[1];n.useEffect((function(){return t.run().then((function(){p(!1)})),function(){t.stop()}}),[]);var v=u(u({},c),r);return v.useSuspense?o.default.createElement(f.Provider,{value:{tolgee:t,options:v}},o.default.createElement(n.Suspense,{fallback:l||null},i)):o.default.createElement(f.Provider,{value:{tolgee:t,options:v}},l&&d?l:i)},e.TolgeeProviderContext=f,e.useTolgee=function(e){var t=s().tolgee,r=d().rerender;return n.useEffect((function(){var n=null==e?void 0:e.map((function(e){return t.on(e,r)}));return function(){null==n||n.forEach((function(e){return e.unsubscribe()}))}}),[null==e?void 0:e.join(":")]),t},e.useTranslate=function(e,r){var o=p(e,r),u=o.t,l=o.isLoading,c=n.useCallback((function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var r=t.getTranslateProps.apply(void 0,i([],a(e),!1));return u(r)}),[u]);return{t:c,isLoading:l}},Object.keys(t).forEach((function(n){"default"===n||e.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[n]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=tolgee-react.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tolgee-react.umd.min.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@8.3.4_e2q5rqkwsas7xse3qcdo6zg4by/node_modules/tslib/tslib.es6.js","../src/TolgeeProvider.tsx","../src/GlobalContextPlugin.tsx","../src/useTolgeeContext.ts","../src/useTranslateInternal.ts","../src/tagsTools.tsx","../src/ReactPlugin.ts","../src/T.tsx","../src/useTolgee.ts","../src/hooks.ts","../src/useTranslate.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import React, { Suspense, useEffect, useState } from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\nimport { ReactOptions, TolgeeReactContext } from './types';\n\nexport const DEFAULT_REACT_OPTIONS: ReactOptions = {\n useSuspense: true,\n};\n\nexport const TolgeeProviderContext = React.createContext<\n TolgeeReactContext | undefined\n>(undefined);\n\ntype Props = {\n tolgee: TolgeeInstance;\n options?: ReactOptions;\n fallback?: React.ReactNode;\n};\n\nexport const TolgeeProvider: React.FC<Props> = ({\n tolgee,\n options,\n children,\n fallback,\n}) => {\n const [loading, setLoading] = useState(!tolgee.isLoaded());\n\n useEffect(() => {\n tolgee.run().then(() => {\n setLoading(false);\n });\n return () => {\n tolgee.stop();\n };\n }, []);\n\n const optionsWithDefault = { ...DEFAULT_REACT_OPTIONS, ...options };\n\n if (optionsWithDefault.useSuspense) {\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n <Suspense fallback={fallback || null}>{children}</Suspense>\n </TolgeeProviderContext.Provider>\n );\n }\n\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n {fallback && loading ? fallback : children}\n </TolgeeProviderContext.Provider>\n );\n};\n","import type { TolgeePlugin } from '@tolgee/web';\nimport { DEFAULT_REACT_OPTIONS } from './TolgeeProvider';\nimport type { ReactOptions, TolgeeReactContext } from './types';\n\nlet globalContext: TolgeeReactContext | undefined;\n\nexport const GlobalContextPlugin =\n (options?: Partial<ReactOptions>): TolgeePlugin =>\n (tolgee) => {\n globalContext = {\n tolgee,\n options: { ...DEFAULT_REACT_OPTIONS, ...options },\n };\n return tolgee;\n };\n\nexport function getGlobalContext() {\n return globalContext;\n}\n","import { useContext } from 'react';\nimport { getGlobalContext } from './GlobalContextPlugin';\nimport { TolgeeProviderContext } from './TolgeeProvider';\n\nexport const useTolgeeContext = () => {\n const context = useContext(TolgeeProviderContext) || getGlobalContext();\n if (!context) {\n throw new Error(\n \"Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?\"\n );\n }\n return context;\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n ListenerSelective,\n KeyDescriptor,\n TranslateProps,\n FallbackNSTranslation,\n getFallbackArray,\n getFallback,\n} from '@tolgee/web';\n\nimport { useTolgeeContext } from './useTolgeeContext';\nimport { ReactOptions } from './types';\n\nexport const useTranslateInternal = (\n ns?: FallbackNSTranslation,\n options?: ReactOptions\n) => {\n const { tolgee, options: defaultOptions } = useTolgeeContext();\n const namespaces = getFallback(ns);\n const namespacesJoined = getFallbackArray(namespaces).join(':');\n\n const currentOptions = {\n ...defaultOptions,\n ...options,\n };\n\n // dummy state to enable re-rendering\n const [instance, setInstance] = useState(0);\n\n const forceRerender = useCallback(() => {\n setInstance((v) => v + 1);\n }, [setInstance]);\n\n const subscriptionRef = useRef<ListenerSelective>();\n\n const subscriptionQueue = useRef([] as KeyDescriptor[]);\n\n const subscribeToKey = (key: KeyDescriptor) => {\n if (subscriptionRef.current) {\n subscriptionRef.current.subscribeKey(key);\n } else {\n subscriptionQueue.current.push(key);\n }\n };\n\n useEffect(() => {\n subscriptionRef.current = tolgee.onKeyUpdate(forceRerender);\n subscriptionQueue.current.forEach((key) => {\n subscriptionRef.current!.subscribeKey(key);\n });\n subscriptionQueue.current = [];\n return () => {\n subscriptionRef.current!.unsubscribe();\n };\n }, []);\n\n const isLoaded = tolgee.isLoaded(namespaces);\n\n useEffect(() => {\n if (!isLoaded) {\n subscriptionRef.current!.subscribeNs(namespaces);\n return () => {\n subscriptionRef.current!.unsubscribeNs(namespaces);\n };\n }\n }, [namespacesJoined, isLoaded]);\n\n useEffect(() => {\n tolgee.addActiveNs(namespaces);\n return () => tolgee.removeActiveNs(namespaces);\n }, [namespacesJoined]);\n\n const t = useCallback(\n (props: TranslateProps<any>) => {\n const fallbackNs = props.ns || namespaces?.[0];\n subscribeToKey({ key: props.key, ns: fallbackNs });\n return tolgee.t({ ...props, ns: fallbackNs }) as any;\n },\n [tolgee, instance]\n );\n\n if (currentOptions?.useSuspense && !isLoaded) {\n throw tolgee.addActiveNs(namespaces, true);\n }\n\n return { t, isLoading: !isLoaded };\n};\n","import React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (params: ParamsTags) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return {\n ...el,\n props: {\n ...el.props,\n children:\n el.props.children !== undefined\n ? el.props.children\n : addReactKeys(chunk),\n },\n };\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import { TolgeePlugin } from '@tolgee/web';\nimport { DevTools } from '@tolgee/web';\nimport { GlobalContextPlugin } from './GlobalContextPlugin';\nimport { ReactOptions } from './types';\n\ntype Props = Partial<ReactOptions>;\n\nexport const ReactPlugin =\n (props?: Props): TolgeePlugin =>\n (tolgee) =>\n tolgee.use(DevTools()).use(GlobalContextPlugin(props));\n","import { FallbackNSTranslation, TranslateParams } from '@tolgee/web';\nimport React, { FunctionComponent } from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\n\nimport { ParamsTags } from './types';\nimport { useTranslateInternal } from './useTranslateInternal';\n\ntype TProps = {\n params?: TranslateParams<ParamsTags>;\n children?: string;\n noWrap?: boolean;\n keyName?: string;\n ns?: FallbackNSTranslation;\n};\n\nexport const T: FunctionComponent<TProps> = (props: TProps) => {\n const key = props.keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue = props.keyName ? props.children : undefined;\n\n const { t } = useTranslateInternal();\n\n const translation = addReactKeys(\n t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n })\n );\n\n return <>{translation}</>;\n};\n","import { TolgeeEvent, TolgeeInstance } from '@tolgee/web';\nimport { useEffect } from 'react';\nimport { useRerender } from './hooks';\nimport { useTolgeeContext } from './useTolgeeContext';\n\nexport const useTolgee = (events?: TolgeeEvent[]): TolgeeInstance => {\n const { tolgee } = useTolgeeContext();\n\n const rerender = useRerender();\n\n useEffect(() => {\n const listeners = events?.map((e) => tolgee.on(e, rerender));\n return () => {\n listeners?.forEach((listener) => listener.unsubscribe());\n };\n }, [events?.join(':')]);\n\n return tolgee;\n};\n","import { useCallback, useState } from 'react';\n\nexport const useRerender = () => {\n const [_, setCounter] = useState(0);\n\n const rerender = useCallback(() => {\n setCounter((num) => num + 1);\n }, [setCounter]);\n return rerender;\n};\n","import { useCallback } from 'react';\nimport { TFnType, getTranslateParams, DefaultParamType } from '@tolgee/web';\n\nimport { useTranslateInternal } from './useTranslateInternal';\nimport { ReactOptions } from './types';\n\nexport const useTranslate = (\n ns?: string[] | string,\n options?: ReactOptions\n) => {\n const { t: tInternal, isLoading } = useTranslateInternal(ns, options);\n\n const t: TFnType<DefaultParamType, string> = useCallback(\n (...params: any) => {\n // @ts-ignore\n const props = getTranslateParams(...params);\n return tInternal(props);\n },\n [tInternal]\n );\n\n return { t, isLoading };\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","__spreadArray","to","from","pack","l","Array","slice","concat","globalContext","DEFAULT_REACT_OPTIONS","useSuspense","TolgeeProviderContext","React","createContext","undefined","useTolgeeContext","context","useContext","Error","useTranslateInternal","ns","options","_a","tolgee","defaultOptions","namespaces","getFallback","namespacesJoined","getFallbackArray","join","currentOptions","_b","useState","instance","setInstance","forceRerender","useCallback","v","subscriptionRef","useRef","subscriptionQueue","useEffect","current","onKeyUpdate","forEach","key","subscribeKey","unsubscribe","isLoaded","subscribeNs","unsubscribeNs","addActiveNs","removeActiveNs","props","fallbackNs","isLoading","wrapTagHandlers","params","result","entries","chunk","addReactKeys","isValidElement","el_1","children","val","isArray","Children","toArray","use","DevTools","keyName","console","defaultValue","translation","noWrap","createElement","Fragment","fallback","loading","setLoading","run","then","stop","optionsWithDefault","Provider","Suspense","events","rerender","setCounter","num","useRerender","listeners","map","on","listener","tInternal","_i","getTranslateParams"],"mappings":"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"}
1
+ {"version":3,"file":"tolgee-react.umd.min.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@8.3.4_e2q5rqkwsas7xse3qcdo6zg4by/node_modules/tslib/tslib.es6.js","../src/TolgeeProvider.tsx","../src/GlobalContextPlugin.tsx","../src/useTolgeeContext.ts","../src/hooks.ts","../src/useTranslateInternal.ts","../src/tagsTools.tsx","../src/ReactPlugin.ts","../src/T.tsx","../src/useTolgee.ts","../src/useTranslate.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import React, { Suspense, useEffect, useState } from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\nimport { ReactOptions, TolgeeReactContext } from './types';\n\nexport const DEFAULT_REACT_OPTIONS: ReactOptions = {\n useSuspense: true,\n};\n\nexport const TolgeeProviderContext = React.createContext<\n TolgeeReactContext | undefined\n>(undefined);\n\ntype Props = {\n children?: React.ReactNode;\n tolgee: TolgeeInstance;\n options?: ReactOptions;\n fallback?: React.ReactNode;\n};\n\nexport const TolgeeProvider: React.FC<Props> = ({\n tolgee,\n options,\n children,\n fallback,\n}) => {\n const [loading, setLoading] = useState(!tolgee.isLoaded());\n\n useEffect(() => {\n tolgee.run().then(() => {\n setLoading(false);\n });\n return () => {\n tolgee.stop();\n };\n }, []);\n\n const optionsWithDefault = { ...DEFAULT_REACT_OPTIONS, ...options };\n\n if (optionsWithDefault.useSuspense) {\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n <Suspense fallback={fallback || null}>{children}</Suspense>\n </TolgeeProviderContext.Provider>\n );\n }\n\n return (\n <TolgeeProviderContext.Provider\n value={{ tolgee, options: optionsWithDefault }}\n >\n {fallback && loading ? fallback : children}\n </TolgeeProviderContext.Provider>\n );\n};\n","import type { TolgeePlugin } from '@tolgee/web';\nimport { DEFAULT_REACT_OPTIONS } from './TolgeeProvider';\nimport type { ReactOptions, TolgeeReactContext } from './types';\n\nlet globalContext: TolgeeReactContext | undefined;\n\nexport const GlobalContextPlugin =\n (options?: Partial<ReactOptions>): TolgeePlugin =>\n (tolgee) => {\n globalContext = {\n tolgee,\n options: { ...DEFAULT_REACT_OPTIONS, ...options },\n };\n return tolgee;\n };\n\nexport function getGlobalContext() {\n return globalContext;\n}\n","import { useContext } from 'react';\nimport { getGlobalContext } from './GlobalContextPlugin';\nimport { TolgeeProviderContext } from './TolgeeProvider';\n\nexport const useTolgeeContext = () => {\n const context = useContext(TolgeeProviderContext) || getGlobalContext();\n if (!context) {\n throw new Error(\n \"Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?\"\n );\n }\n return context;\n};\n","import { useCallback, useState } from 'react';\n\nexport const useRerender = () => {\n const [instance, setCounter] = useState(0);\n\n const rerender = useCallback(() => {\n setCounter((num) => num + 1);\n }, [setCounter]);\n return { instance, rerender };\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport {\n SubscriptionSelective,\n TranslateProps,\n NsFallback,\n getFallbackArray,\n getFallback,\n} from '@tolgee/web';\n\nimport { useTolgeeContext } from './useTolgeeContext';\nimport { ReactOptions } from './types';\nimport { useRerender } from './hooks';\n\nexport const useTranslateInternal = (\n ns?: NsFallback,\n options?: ReactOptions\n) => {\n const { tolgee, options: defaultOptions } = useTolgeeContext();\n const namespaces = getFallback(ns);\n const namespacesJoined = getFallbackArray(namespaces).join(':');\n\n const currentOptions = {\n ...defaultOptions,\n ...options,\n };\n\n // dummy state to enable re-rendering\n const { rerender, instance } = useRerender();\n\n const subscriptionRef = useRef<SubscriptionSelective>();\n\n const subscriptionQueue = useRef([] as NsFallback[]);\n subscriptionQueue.current = [];\n\n const subscribeToNs = (ns: NsFallback) => {\n subscriptionQueue.current.push(ns);\n subscriptionRef.current?.subscribeNs(ns);\n };\n\n const isLoaded = tolgee.isLoaded(namespaces);\n\n useEffect(() => {\n const subscription = tolgee.onNsUpdate(rerender);\n subscriptionRef.current = subscription;\n if (!isLoaded) {\n subscription.subscribeNs(namespaces);\n }\n subscriptionQueue.current.forEach((ns) => {\n subscription!.subscribeNs(ns);\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [isLoaded, namespacesJoined]);\n\n useEffect(() => {\n tolgee.addActiveNs(namespaces);\n return () => tolgee.removeActiveNs(namespaces);\n }, [namespacesJoined]);\n\n const t = useCallback(\n (props: TranslateProps<any>) => {\n const fallbackNs = props.ns || namespaces?.[0];\n subscribeToNs(fallbackNs);\n return tolgee.t({ ...props, ns: fallbackNs }) as any;\n },\n [tolgee, instance]\n );\n\n if (currentOptions.useSuspense && !isLoaded) {\n throw tolgee.addActiveNs(namespaces, true);\n }\n\n return { t, isLoading: !isLoaded };\n};\n","import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children !== undefined\n ? React.cloneElement(el)\n : React.cloneElement(el, {}, addReactKeys(chunk));\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import { TolgeePlugin, InContextOptions } from '@tolgee/web';\nimport { DevTools } from '@tolgee/web';\nimport { GlobalContextPlugin } from './GlobalContextPlugin';\nimport { ReactOptions } from './types';\n\ntype Props = Partial<ReactOptions> & InContextOptions;\n\nexport const ReactPlugin =\n (props?: Props): TolgeePlugin =>\n (tolgee) => {\n const { useSuspense, ...observerOptions } = props || {};\n tolgee.addPlugin(DevTools(observerOptions));\n tolgee.addPlugin(GlobalContextPlugin({ useSuspense }));\n return tolgee;\n };\n","import { NsType, TranslateParams } from '@tolgee/web';\nimport React, { FunctionComponent } from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\n\nimport { ParamsTags } from './types';\nimport { useTranslateInternal } from './useTranslateInternal';\n\ntype TProps = {\n params?: TranslateParams<ParamsTags>;\n children?: string;\n noWrap?: boolean;\n keyName?: string;\n ns?: NsType;\n defaultValue?: string;\n};\n\nexport const T: FunctionComponent<TProps> = (props: TProps) => {\n const key = props.keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue || (props.keyName ? props.children : undefined);\n\n const { t } = useTranslateInternal();\n\n const translation = addReactKeys(\n t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n })\n );\n\n return <>{translation}</>;\n};\n","import { TolgeeEvent, TolgeeInstance } from '@tolgee/web';\nimport { useEffect } from 'react';\nimport { useRerender } from './hooks';\nimport { useTolgeeContext } from './useTolgeeContext';\n\nexport const useTolgee = (events?: TolgeeEvent[]): TolgeeInstance => {\n const { tolgee } = useTolgeeContext();\n\n const { rerender } = useRerender();\n\n useEffect(() => {\n const listeners = events?.map((e) => tolgee.on(e, rerender));\n return () => {\n listeners?.forEach((listener) => listener.unsubscribe());\n };\n }, [events?.join(':')]);\n\n return tolgee;\n};\n","import { useCallback } from 'react';\nimport { TFnType, getTranslateProps, DefaultParamType } from '@tolgee/web';\n\nimport { useTranslateInternal } from './useTranslateInternal';\nimport { ReactOptions } from './types';\n\nexport const useTranslate = (\n ns?: string[] | string,\n options?: ReactOptions\n) => {\n const { t: tInternal, isLoading } = useTranslateInternal(ns, options);\n\n const t: TFnType<DefaultParamType, string> = useCallback(\n (...params: any) => {\n // @ts-ignore\n const props = getTranslateProps(...params);\n return tInternal(props);\n },\n [tInternal]\n );\n\n return { t, isLoading };\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","__spreadArray","to","from","pack","l","Array","slice","concat","globalContext","DEFAULT_REACT_OPTIONS","useSuspense","TolgeeProviderContext","React","createContext","undefined","useTolgeeContext","context","useContext","Error","useRerender","_a","useState","instance","setCounter","rerender","useCallback","num","useTranslateInternal","ns","options","tolgee","defaultOptions","namespaces","getFallback","namespacesJoined","getFallbackArray","join","currentOptions","_b","subscriptionRef","useRef","subscriptionQueue","current","isLoaded","useEffect","subscription","onNsUpdate","subscribeNs","forEach","unsubscribe","addActiveNs","removeActiveNs","props","fallbackNs","subscribeToNs","isLoading","wrapTagHandlers","params","result","entries","key","chunk","addReactKeys","isValidElement","el_1","children","cloneElement","val","isArray","Children","toArray","observerOptions","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","addPlugin","DevTools","keyName","console","defaultValue","translation","noWrap","createElement","Fragment","fallback","loading","setLoading","run","then","stop","optionsWithDefault","Provider","Suspense","events","listeners","map","on","listener","tInternal","_i","getTranslateProps"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { TranslateProps, FallbackNSTranslation } from '@tolgee/web';
1
+ import { TranslateProps, NsFallback } from '@tolgee/web';
2
2
  import { ReactOptions } from './types';
3
- export declare const useTranslateInternal: (ns?: FallbackNSTranslation, options?: ReactOptions) => {
3
+ export declare const useTranslateInternal: (ns?: NsFallback, options?: ReactOptions) => {
4
4
  t: (props: TranslateProps<any>) => any;
5
5
  isLoading: boolean;
6
6
  };
@@ -1,5 +1,5 @@
1
- import { TolgeePlugin } from '@tolgee/web';
1
+ import { TolgeePlugin, InContextOptions } from '@tolgee/web';
2
2
  import { ReactOptions } from './types';
3
- declare type Props = Partial<ReactOptions>;
3
+ declare type Props = Partial<ReactOptions> & InContextOptions;
4
4
  export declare const ReactPlugin: (props?: Props) => TolgeePlugin;
5
5
  export {};
package/lib/T.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FallbackNSTranslation, TranslateParams } from '@tolgee/web';
1
+ import { NsType, TranslateParams } from '@tolgee/web';
2
2
  import { FunctionComponent } from 'react';
3
3
  import { ParamsTags } from './types';
4
4
  declare type TProps = {
@@ -6,7 +6,8 @@ declare type TProps = {
6
6
  children?: string;
7
7
  noWrap?: boolean;
8
8
  keyName?: string;
9
- ns?: FallbackNSTranslation;
9
+ ns?: NsType;
10
+ defaultValue?: string;
10
11
  };
11
12
  export declare const T: FunctionComponent<TProps>;
12
13
  export {};
@@ -4,6 +4,7 @@ import { ReactOptions, TolgeeReactContext } from './types';
4
4
  export declare const DEFAULT_REACT_OPTIONS: ReactOptions;
5
5
  export declare const TolgeeProviderContext: React.Context<TolgeeReactContext | undefined>;
6
6
  declare type Props = {
7
+ children?: React.ReactNode;
7
8
  tolgee: TolgeeInstance;
8
9
  options?: ReactOptions;
9
10
  fallback?: React.ReactNode;
package/lib/hooks.d.ts CHANGED
@@ -1 +1,4 @@
1
- export declare const useRerender: () => () => void;
1
+ export declare const useRerender: () => {
2
+ instance: number;
3
+ rerender: () => void;
4
+ };
@@ -1,4 +1,5 @@
1
+ import { TranslateParams } from '@tolgee/web';
1
2
  import React from 'react';
2
3
  import { ParamsTags } from './types';
3
- export declare const wrapTagHandlers: (params: ParamsTags) => any;
4
+ export declare const wrapTagHandlers: (params: TranslateParams<ParamsTags> | undefined) => any;
4
5
  export declare const addReactKeys: (val: React.ReactNode | React.ReactNode[] | undefined) => React.ReactNode;
@@ -1,6 +1,6 @@
1
- import { TranslateProps, FallbackNSTranslation } from '@tolgee/web';
1
+ import { TranslateProps, NsFallback } from '@tolgee/web';
2
2
  import { ReactOptions } from './types';
3
- export declare const useTranslateInternal: (ns?: FallbackNSTranslation, options?: ReactOptions) => {
3
+ export declare const useTranslateInternal: (ns?: NsFallback, options?: ReactOptions) => {
4
4
  t: (props: TranslateProps<any>) => any;
5
5
  isLoading: boolean;
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolgee/react",
3
- "version": "4.10.0-rc.d9fac95.0",
3
+ "version": "5.0.0-alpha.1",
4
4
  "description": "React implementation for tolgee localization framework",
5
5
  "main": "./dist/tolgee-react.cjs.js",
6
6
  "module": "./dist/tolgee-react.esm.js",
@@ -37,7 +37,7 @@
37
37
  "react": "^16.14.0 || ^17.0.1 || ^18.1.0"
38
38
  },
39
39
  "dependencies": {
40
- "@tolgee/web": "^4.10.0-rc.d9fac95.0"
40
+ "@tolgee/web": "5.0.0-alpha.1"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@rollup/plugin-node-resolve": "^14.1.0",
@@ -45,7 +45,8 @@
45
45
  "@testing-library/dom": "^8.7.2",
46
46
  "@testing-library/jest-dom": "^5.11.4",
47
47
  "@testing-library/react": "^12.1.2",
48
- "@tolgee/format-icu": "^4.10.0-rc.d9fac95.0",
48
+ "@tolgee/format-icu": "5.0.0-alpha.1",
49
+ "@tolgee/testing": "5.0.0-alpha.1",
49
50
  "@types/jest": "^27.0.2",
50
51
  "@types/node": "^17.0.8",
51
52
  "@types/react": "^17.0.1",
@@ -74,5 +75,5 @@
74
75
  "publishConfig": {
75
76
  "access": "public"
76
77
  },
77
- "gitHead": "990ea6d89fdcd5abffceb250889edf4b08a9f42e"
78
+ "gitHead": "9c66dbc9a72cc2874cf24abbe99af5eb6df45d50"
78
79
  }
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';