@tolgee/react 4.10.0-rc.2b55a5c.0 → 4.10.0-rc.4a0f1a6.0

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.
@@ -1,4 +1,4 @@
1
- import type { TolgeePlugin } from '@tolgee/core';
1
+ import type { TolgeePlugin } from '@tolgee/web';
2
2
  import type { ReactOptions, TolgeeReactContext } from './types';
3
3
  export declare const GlobalContextPlugin: (options?: Partial<ReactOptions>) => TolgeePlugin;
4
4
  export declare function getGlobalContext(): TolgeeReactContext | undefined;
@@ -1,6 +1,5 @@
1
- import { TolgeePlugin } from '@tolgee/core';
2
- import { ObserverOptions } from '@tolgee/devtools-web';
1
+ import { TolgeePlugin } from '@tolgee/web';
3
2
  import { ReactOptions } from './types';
4
- declare type Props = Partial<ObserverOptions> & Partial<ReactOptions>;
3
+ declare type Props = Partial<ReactOptions>;
5
4
  export declare const ReactPlugin: (props?: Props) => TolgeePlugin;
6
5
  export {};
package/dist/T.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FallbackNSTranslation, TranslateParams } from '@tolgee/core';
1
+ import { FallbackNsTranslation, 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?: FallbackNsTranslation;
10
+ defaultValue?: string;
10
11
  };
11
12
  export declare const T: FunctionComponent<TProps>;
12
13
  export {};
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import { TolgeeInstance } from '@tolgee/core';
2
+ import { TolgeeInstance } from '@tolgee/web';
3
3
  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/dist/index.d.ts CHANGED
@@ -4,5 +4,4 @@ export { T } from './T';
4
4
  export { useTolgee } from './useTolgee';
5
5
  export { ReactPlugin } from './ReactPlugin';
6
6
  export * from './types';
7
- export * from '@tolgee/core';
8
- export * from '@tolgee/devtools-web';
7
+ export * from '@tolgee/web';
@@ -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;
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var core = require('@tolgee/core');
7
- var devtoolsWeb = require('@tolgee/devtools-web');
6
+ var web = require('@tolgee/web');
8
7
 
9
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
9
 
@@ -110,8 +109,8 @@ var useTolgeeContext = function () {
110
109
 
111
110
  var useTranslateInternal = function (ns, options) {
112
111
  var _a = useTolgeeContext(), tolgee = _a.tolgee, defaultOptions = _a.options;
113
- var namespaces = core.getFallback(ns);
114
- var namespacesJoined = core.getFallbackArray(namespaces).join(':');
112
+ var namespaces = web.getFallback(ns);
113
+ var namespacesJoined = web.getFallbackArray(namespaces).join(':');
115
114
  var currentOptions = __assign(__assign({}, defaultOptions), options);
116
115
  // dummy state to enable re-rendering
117
116
  var _b = __read(React.useState(0), 2), instance = _b[0], setInstance = _b[1];
@@ -120,33 +119,26 @@ var useTranslateInternal = function (ns, options) {
120
119
  }, [setInstance]);
121
120
  var subscriptionRef = React.useRef();
122
121
  var subscriptionQueue = React.useRef([]);
122
+ subscriptionQueue.current = [];
123
123
  var subscribeToKey = function (key) {
124
- if (subscriptionRef.current) {
125
- subscriptionRef.current.subscribeKey(key);
126
- }
127
- else {
128
- subscriptionQueue.current.push(key);
129
- }
124
+ var _a;
125
+ subscriptionQueue.current.push(key);
126
+ (_a = subscriptionRef.current) === null || _a === void 0 ? void 0 : _a.subscribeKey(key);
130
127
  };
128
+ var isLoaded = tolgee.isLoaded(namespaces);
131
129
  React.useEffect(function () {
132
- subscriptionRef.current = tolgee.onKeyUpdate(forceRerender);
130
+ var subscription = tolgee.onKeyUpdate(forceRerender);
131
+ subscriptionRef.current = subscription;
132
+ if (!isLoaded) {
133
+ subscription.subscribeNs(namespaces);
134
+ }
133
135
  subscriptionQueue.current.forEach(function (key) {
134
- subscriptionRef.current.subscribeKey(key);
136
+ subscription.subscribeKey(key);
135
137
  });
136
- subscriptionQueue.current = [];
137
138
  return function () {
138
- subscriptionRef.current.unsubscribe();
139
+ subscription.unsubscribe();
139
140
  };
140
- }, []);
141
- var isLoaded = tolgee.isLoaded(namespaces);
142
- React.useEffect(function () {
143
- if (!isLoaded) {
144
- subscriptionRef.current.subscribeNs(namespaces);
145
- return function () {
146
- subscriptionRef.current.unsubscribeNs(namespaces);
147
- };
148
- }
149
- }, [namespacesJoined, isLoaded]);
141
+ }, [isLoaded, namespacesJoined]);
150
142
  React.useEffect(function () {
151
143
  tolgee.addActiveNs(namespaces);
152
144
  return function () { return tolgee.removeActiveNs(namespaces); };
@@ -170,7 +162,7 @@ var useTranslate = function (ns, options) {
170
162
  params[_i] = arguments[_i];
171
163
  }
172
164
  // @ts-ignore
173
- var props = core.getTranslateParams.apply(void 0, __spreadArray([], __read(params), false));
165
+ var props = web.getTranslateParams.apply(void 0, __spreadArray([], __read(params), false));
174
166
  return tInternal(props);
175
167
  }, [tInternal]);
176
168
  return { t: t, isLoading: isLoading };
@@ -217,7 +209,7 @@ var T = function (props) {
217
209
  // eslint-disable-next-line no-console
218
210
  console.error('T component: keyName not defined');
219
211
  }
220
- var defaultValue = props.keyName ? props.children : undefined;
212
+ var defaultValue = props.defaultValue || (props.keyName ? props.children : undefined);
221
213
  var t = useTranslateInternal().t;
222
214
  var translation = addReactKeys(t({
223
215
  key: key,
@@ -251,10 +243,7 @@ var useTolgee = function (events) {
251
243
 
252
244
  var ReactPlugin = function (props) {
253
245
  return function (tolgee) {
254
- return tolgee
255
- .use(devtoolsWeb.BrowserExtensionPlugin({ noReload: true }))
256
- .use(devtoolsWeb.DevTools({ observer: props }))
257
- .use(GlobalContextPlugin(props));
246
+ return tolgee.use(web.DevTools()).use(GlobalContextPlugin(props));
258
247
  };
259
248
  };
260
249
 
@@ -264,16 +253,10 @@ exports.TolgeeProvider = TolgeeProvider;
264
253
  exports.TolgeeProviderContext = TolgeeProviderContext;
265
254
  exports.useTolgee = useTolgee;
266
255
  exports.useTranslate = useTranslate;
267
- Object.keys(core).forEach(function (k) {
268
- if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
269
- enumerable: true,
270
- get: function () { return core[k]; }
271
- });
272
- });
273
- Object.keys(devtoolsWeb).forEach(function (k) {
256
+ Object.keys(web).forEach(function (k) {
274
257
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
275
258
  enumerable: true,
276
- get: function () { return devtoolsWeb[k]; }
259
+ get: function () { return web[k]; }
277
260
  });
278
261
  });
279
262
  //# sourceMappingURL=tolgee-react.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tolgee-react.cjs.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@8.3.4_5zsqiitiqqdgwm4iemtywlnhku/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/core';\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/core';\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/core';\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/core';\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/core';\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/core';\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/core';\nimport {\n ObserverOptions,\n DevTools,\n BrowserExtensionPlugin,\n} from '@tolgee/devtools-web';\nimport { GlobalContextPlugin } from './GlobalContextPlugin';\nimport { ReactOptions } from './types';\n\ntype Props = Partial<ObserverOptions> & Partial<ReactOptions>;\n\nexport const ReactPlugin =\n (props?: Props): TolgeePlugin =>\n (tolgee) =>\n tolgee\n .use(BrowserExtensionPlugin({ noReload: true }))\n .use(DevTools({ observer: props }))\n .use(GlobalContextPlugin(props));\n"],"names":["React","useState","useEffect","Suspense","useContext","getFallback","getFallbackArray","useCallback","useRef","getTranslateParams","BrowserExtensionPlugin","DevTools"],"mappings":"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"}
1
+ {"version":3,"file":"tolgee-react.cjs.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 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, 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 subscriptionQueue.current = [];\n\n const subscribeToKey = (key: KeyDescriptor) => {\n subscriptionQueue.current.push(key);\n subscriptionRef.current?.subscribeKey(key);\n };\n\n const isLoaded = tolgee.isLoaded(namespaces);\n\n useEffect(() => {\n const subscription = tolgee.onKeyUpdate(forceRerender);\n subscriptionRef.current = subscription;\n if (!isLoaded) {\n subscription.subscribeNs(namespaces);\n }\n subscriptionQueue.current.forEach((key) => {\n subscription!.subscribeKey(key);\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 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 { 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 {\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 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 { 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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@tolgee/core"),n=require("@tolgee/devtools-web");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(e),u=function(){return u=Object.assign||function(e){for(var r,n=1,t=arguments.length;n<t;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},u.apply(this,arguments)};function a(e,r){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var t,o,u=n.call(e),a=[];try{for(;(void 0===r||r-- >0)&&!(t=u.next()).done;)a.push(t.value)}catch(e){o={error:e}}finally{try{t&&!t.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}return a}function i(e,r,n){if(n||2===arguments.length)for(var t,o=0,u=r.length;o<u;o++)!t&&o in r||(t||(t=Array.prototype.slice.call(r,0,o)),t[o]=r[o]);return e.concat(t||Array.prototype.slice.call(r))}var c,l={useSuspense:!0},s=o.default.createContext(void 0);var f=function(){var r=e.useContext(s)||c;if(!r)throw new Error("Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?");return r},d=function(n,t){var o=f(),i=o.tolgee,c=o.options,l=r.getFallback(n),s=r.getFallbackArray(l).join(":"),d=u(u({},c),t),p=a(e.useState(0),2),v=p[0],y=p[1],b=e.useCallback((function(){y((function(e){return e+1}))}),[y]),g=e.useRef(),h=e.useRef([]);e.useEffect((function(){return g.current=i.onKeyUpdate(b),h.current.forEach((function(e){g.current.subscribeKey(e)})),h.current=[],function(){g.current.unsubscribe()}}),[]);var m=i.isLoaded(l);e.useEffect((function(){if(!m)return g.current.subscribeNs(l),function(){g.current.unsubscribeNs(l)}}),[s,m]),e.useEffect((function(){return i.addActiveNs(l),function(){return i.removeActiveNs(l)}}),[s]);var E=e.useCallback((function(e){var r,n=e.ns||(null==l?void 0:l[0]);return r={key:e.key,ns:n},g.current?g.current.subscribeKey(r):h.current.push(r),i.t(u(u({},e),{ns:n}))}),[i,v]);if((null==d?void 0:d.useSuspense)&&!m)throw i.addActiveNs(l,!0);return{t:E,isLoading:!m}},p=function(e){if(e){var r={};return Object.entries(e||{}).forEach((function(e){var n=a(e,2),t=n[0],i=n[1];if("function"==typeof i)r[t]=function(e){return i(v(e))};else if(o.default.isValidElement(i)){var c=i;r[t]=function(e){return u(u({},c),{props:u(u({},c.props),{children:void 0!==c.props.children?c.props.children:v(e)})})}}else r[t]=i})),r}},v=function(e){return Array.isArray(e)?o.default.Children.toArray(e):e};exports.ReactPlugin=function(e){return function(r){return r.use(n.BrowserExtensionPlugin({noReload:!0})).use(n.DevTools({observer:e})).use((t=e,function(e){return c={tolgee:e,options:u(u({},l),t)},e}));var t}},exports.T=function(e){var r=e.keyName||e.children;void 0===r&&console.error("T component: keyName not defined");var n=e.keyName?e.children:void 0,t=d().t,u=v(t({key:r,params:p(e.params),defaultValue:n,noWrap:e.noWrap,ns:e.ns}));return o.default.createElement(o.default.Fragment,null,u)},exports.TolgeeProvider=function(r){var n=r.tolgee,t=r.options,i=r.children,c=r.fallback,f=a(e.useState(!n.isLoaded()),2),d=f[0],p=f[1];e.useEffect((function(){return n.run().then((function(){p(!1)})),function(){n.stop()}}),[]);var v=u(u({},l),t);return v.useSuspense?o.default.createElement(s.Provider,{value:{tolgee:n,options:v}},o.default.createElement(e.Suspense,{fallback:c||null},i)):o.default.createElement(s.Provider,{value:{tolgee:n,options:v}},c&&d?c:i)},exports.TolgeeProviderContext=s,exports.useTolgee=function(r){var n=f().tolgee,t=function(){var r=a(e.useState(0),2);r[0];var n=r[1];return e.useCallback((function(){n((function(e){return e+1}))}),[n])}();return e.useEffect((function(){var e=null==r?void 0:r.map((function(e){return n.on(e,t)}));return function(){null==e||e.forEach((function(e){return e.unsubscribe()}))}}),[null==r?void 0:r.join(":")]),n},exports.useTranslate=function(n,t){var o=d(n,t),u=o.t,c=o.isLoading,l=e.useCallback((function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=r.getTranslateParams.apply(void 0,i([],a(e),!1));return u(t)}),[u]);return{t:l,isLoading:c}},Object.keys(r).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return r[e]}})})),Object.keys(n).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return n[e]}})}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@tolgee/web");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=n(e),o=function(){return o=Object.assign||function(e){for(var r,n=1,t=arguments.length;n<t;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},o.apply(this,arguments)};function u(e,r){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var t,o,u=n.call(e),a=[];try{for(;(void 0===r||r-- >0)&&!(t=u.next()).done;)a.push(t.value)}catch(e){o={error:e}}finally{try{t&&!t.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}return a}function a(e,r,n){if(n||2===arguments.length)for(var t,o=0,u=r.length;o<u;o++)!t&&o in r||(t||(t=Array.prototype.slice.call(r,0,o)),t[o]=r[o]);return e.concat(t||Array.prototype.slice.call(r))}var i,l={useSuspense:!0},c=t.default.createContext(void 0);var s=function(){var r=e.useContext(c)||i;if(!r)throw new Error("Couldn't find tolgee instance, did you forgot to use `ReactPlugin`?");return r},f=function(n,t){var a=s(),i=a.tolgee,l=a.options,c=r.getFallback(n),f=r.getFallbackArray(c).join(":"),d=o(o({},l),t),v=u(e.useState(0),2),p=v[0],y=v[1],b=e.useCallback((function(){y((function(e){return e+1}))}),[y]),g=e.useRef(),h=e.useRef([]);h.current=[];var m=i.isLoaded(c);e.useEffect((function(){var e=i.onKeyUpdate(b);return g.current=e,m||e.subscribeNs(c),h.current.forEach((function(r){e.subscribeKey(r)})),function(){e.unsubscribe()}}),[m,f]),e.useEffect((function(){return i.addActiveNs(c),function(){return i.removeActiveNs(c)}}),[f]);var k=e.useCallback((function(e){var r=e.ns||(null==c?void 0:c[0]);return function(e){var r;h.current.push(e),null===(r=g.current)||void 0===r||r.subscribeKey(e)}({key:e.key,ns:r}),i.t(o(o({},e),{ns:r}))}),[i,p]);if((null==d?void 0:d.useSuspense)&&!m)throw i.addActiveNs(c,!0);return{t:k,isLoading:!m}},d=function(e){if(e){var r={};return Object.entries(e||{}).forEach((function(e){var n=u(e,2),a=n[0],i=n[1];if("function"==typeof i)r[a]=function(e){return i(v(e))};else if(t.default.isValidElement(i)){var l=i;r[a]=function(e){return o(o({},l),{props:o(o({},l.props),{children:void 0!==l.props.children?l.props.children:v(e)})})}}else r[a]=i})),r}},v=function(e){return Array.isArray(e)?t.default.Children.toArray(e):e};exports.ReactPlugin=function(e){return function(n){return n.use(r.DevTools()).use((t=e,function(e){return i={tolgee:e,options:o(o({},l),t)},e}));var t}},exports.T=function(e){var r=e.keyName||e.children;void 0===r&&console.error("T component: keyName not defined");var n=e.defaultValue||(e.keyName?e.children:void 0),o=f().t,u=v(o({key:r,params:d(e.params),defaultValue:n,noWrap:e.noWrap,ns:e.ns}));return t.default.createElement(t.default.Fragment,null,u)},exports.TolgeeProvider=function(r){var n=r.tolgee,a=r.options,i=r.children,s=r.fallback,f=u(e.useState(!n.isLoaded()),2),d=f[0],v=f[1];e.useEffect((function(){return n.run().then((function(){v(!1)})),function(){n.stop()}}),[]);var p=o(o({},l),a);return p.useSuspense?t.default.createElement(c.Provider,{value:{tolgee:n,options:p}},t.default.createElement(e.Suspense,{fallback:s||null},i)):t.default.createElement(c.Provider,{value:{tolgee:n,options:p}},s&&d?s:i)},exports.TolgeeProviderContext=c,exports.useTolgee=function(r){var n=s().tolgee,t=function(){var r=u(e.useState(0),2);r[0];var n=r[1];return e.useCallback((function(){n((function(e){return e+1}))}),[n])}();return e.useEffect((function(){var e=null==r?void 0:r.map((function(e){return n.on(e,t)}));return function(){null==e||e.forEach((function(e){return e.unsubscribe()}))}}),[null==r?void 0:r.join(":")]),n},exports.useTranslate=function(n,t){var o=f(n,t),i=o.t,l=o.isLoading,c=e.useCallback((function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=r.getTranslateParams.apply(void 0,a([],u(e),!1));return i(t)}),[i]);return{t:c,isLoading:l}},Object.keys(r).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return r[e]}})}));
2
2
  //# sourceMappingURL=tolgee-react.cjs.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tolgee-react.cjs.min.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@8.3.4_5zsqiitiqqdgwm4iemtywlnhku/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/core';\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/core';\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/core';\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/core';\nimport {\n ObserverOptions,\n DevTools,\n BrowserExtensionPlugin,\n} from '@tolgee/devtools-web';\nimport { GlobalContextPlugin } from './GlobalContextPlugin';\nimport { ReactOptions } from './types';\n\ntype Props = Partial<ObserverOptions> & Partial<ReactOptions>;\n\nexport const ReactPlugin =\n (props?: Props): TolgeePlugin =>\n (tolgee) =>\n tolgee\n .use(BrowserExtensionPlugin({ noReload: true }))\n .use(DevTools({ observer: props }))\n .use(GlobalContextPlugin(props));\n","import { FallbackNSTranslation, TranslateParams } from '@tolgee/core';\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/core';\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/core';\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","BrowserExtensionPlugin","noReload","DevTools","observer","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.cjs.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 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, 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 subscriptionQueue.current = [];\n\n const subscribeToKey = (key: KeyDescriptor) => {\n subscriptionQueue.current.push(key);\n subscriptionRef.current?.subscribeKey(key);\n };\n\n const isLoaded = tolgee.isLoaded(namespaces);\n\n useEffect(() => {\n const subscription = tolgee.onKeyUpdate(forceRerender);\n subscriptionRef.current = subscription;\n if (!isLoaded) {\n subscription.subscribeNs(namespaces);\n }\n subscriptionQueue.current.forEach((key) => {\n subscription!.subscribeKey(key);\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 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 { 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 {\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 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, 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","current","isLoaded","useEffect","subscription","onKeyUpdate","subscribeNs","forEach","key","subscribeKey","unsubscribe","addActiveNs","removeActiveNs","props","fallbackNs","subscribeToKey","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,8 +1,6 @@
1
1
  import React, { useState, useEffect, Suspense, useContext, useCallback, useRef } from 'react';
2
- import { getFallback, getFallbackArray, getTranslateParams } from '@tolgee/core';
3
- export * from '@tolgee/core';
4
- import { BrowserExtensionPlugin, DevTools } from '@tolgee/devtools-web';
5
- export * from '@tolgee/devtools-web';
2
+ import { getFallback, getFallbackArray, getTranslateParams, DevTools } from '@tolgee/web';
3
+ export * from '@tolgee/web';
6
4
 
7
5
  /******************************************************************************
8
6
  Copyright (c) Microsoft Corporation.
@@ -114,33 +112,26 @@ var useTranslateInternal = function (ns, options) {
114
112
  }, [setInstance]);
115
113
  var subscriptionRef = useRef();
116
114
  var subscriptionQueue = useRef([]);
115
+ subscriptionQueue.current = [];
117
116
  var subscribeToKey = function (key) {
118
- if (subscriptionRef.current) {
119
- subscriptionRef.current.subscribeKey(key);
120
- }
121
- else {
122
- subscriptionQueue.current.push(key);
123
- }
117
+ var _a;
118
+ subscriptionQueue.current.push(key);
119
+ (_a = subscriptionRef.current) === null || _a === void 0 ? void 0 : _a.subscribeKey(key);
124
120
  };
121
+ var isLoaded = tolgee.isLoaded(namespaces);
125
122
  useEffect(function () {
126
- subscriptionRef.current = tolgee.onKeyUpdate(forceRerender);
123
+ var subscription = tolgee.onKeyUpdate(forceRerender);
124
+ subscriptionRef.current = subscription;
125
+ if (!isLoaded) {
126
+ subscription.subscribeNs(namespaces);
127
+ }
127
128
  subscriptionQueue.current.forEach(function (key) {
128
- subscriptionRef.current.subscribeKey(key);
129
+ subscription.subscribeKey(key);
129
130
  });
130
- subscriptionQueue.current = [];
131
131
  return function () {
132
- subscriptionRef.current.unsubscribe();
132
+ subscription.unsubscribe();
133
133
  };
134
- }, []);
135
- var isLoaded = tolgee.isLoaded(namespaces);
136
- useEffect(function () {
137
- if (!isLoaded) {
138
- subscriptionRef.current.subscribeNs(namespaces);
139
- return function () {
140
- subscriptionRef.current.unsubscribeNs(namespaces);
141
- };
142
- }
143
- }, [namespacesJoined, isLoaded]);
134
+ }, [isLoaded, namespacesJoined]);
144
135
  useEffect(function () {
145
136
  tolgee.addActiveNs(namespaces);
146
137
  return function () { return tolgee.removeActiveNs(namespaces); };
@@ -211,7 +202,7 @@ var T = function (props) {
211
202
  // eslint-disable-next-line no-console
212
203
  console.error('T component: keyName not defined');
213
204
  }
214
- var defaultValue = props.keyName ? props.children : undefined;
205
+ var defaultValue = props.defaultValue || (props.keyName ? props.children : undefined);
215
206
  var t = useTranslateInternal().t;
216
207
  var translation = addReactKeys(t({
217
208
  key: key,
@@ -245,12 +236,9 @@ var useTolgee = function (events) {
245
236
 
246
237
  var ReactPlugin = function (props) {
247
238
  return function (tolgee) {
248
- return tolgee
249
- .use(BrowserExtensionPlugin({ noReload: true }))
250
- .use(DevTools({ observer: props }))
251
- .use(GlobalContextPlugin(props));
239
+ return tolgee.use(DevTools()).use(GlobalContextPlugin(props));
252
240
  };
253
241
  };
254
242
 
255
243
  export { ReactPlugin, T, TolgeeProvider, TolgeeProviderContext, useTolgee, useTranslate };
256
- //# sourceMappingURL=tolgee-react.esm.mjs.map
244
+ //# sourceMappingURL=tolgee-react.esm.js.map