@chayns-components/textstring 5.0.0-beta.1128 → 5.0.0-beta.1129

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.
package/lib/cjs/index.js CHANGED
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "getTextstringValue", {
21
21
  return _textstring.getTextstringValue;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "initTextstrings", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _textstring.initTextstrings;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "useTextstringValue", {
25
31
  enumerable: true,
26
32
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_TextstringProvider","_interopRequireDefault","require","_Textstring","_useTextstringValue","_textstring","e","__esModule","default"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as TextstringProvider } from './components/textstring-provider/TextstringProvider';\nexport { default as Textstring } from './components/textstring/Textstring';\nexport type { ITextstring, TextstringReplacement } from './components/textstring/types';\nexport { useTextstringValue } from './hooks/useTextstringValue';\nexport { getTextstringValue } from './utils/textstring';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAwD,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_TextstringProvider","_interopRequireDefault","require","_Textstring","_useTextstringValue","_textstring","e","__esModule","default"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as TextstringProvider } from './components/textstring-provider/TextstringProvider';\nexport { default as Textstring } from './components/textstring/Textstring';\nexport type { ITextstring, TextstringReplacement } from './components/textstring/types';\nexport { useTextstringValue } from './hooks/useTextstringValue';\nexport { getTextstringValue, initTextstrings } from './utils/textstring';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAyE,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectLanguageToChange = exports.loadLibrary = exports.getTextstringValue = void 0;
6
+ exports.selectLanguageToChange = exports.loadLibrary = exports.initTextstrings = exports.getTextstringValue = void 0;
7
7
  var _chaynsApi = require("chayns-api");
8
8
  const loadLibrary = async ({
9
9
  language,
@@ -33,6 +33,24 @@ const selectLanguageToChange = ({
33
33
  });
34
34
  };
35
35
  exports.selectLanguageToChange = selectLanguageToChange;
36
+ const initTextstrings = ({
37
+ libraryName,
38
+ language
39
+ }) => {
40
+ void loadLibrary({
41
+ libraryName,
42
+ language
43
+ }).then(result => {
44
+ if (result) {
45
+ const prevTextstrings = window.Textstrings;
46
+ window.Textstrings = {
47
+ ...prevTextstrings,
48
+ [libraryName]: result
49
+ };
50
+ }
51
+ });
52
+ };
53
+ exports.initTextstrings = initTextstrings;
36
54
  const getTextstringValue = ({
37
55
  libraryName,
38
56
  textstring,
@@ -1 +1 @@
1
- {"version":3,"file":"textstring.js","names":["_chaynsApi","require","loadLibrary","language","libraryName","response","fetch","status","json","exports","selectLanguageToChange","textstringName","dialog","iFrame","url","buttons","input","textstring","getTextstringValue","replacements","_window$Textstrings","textstrings","window","Textstrings","undefined","fallback","value","name","Object","keys","reduce","current","key","replace","RegExp"],"sources":["../../../src/utils/textstring.ts"],"sourcesContent":["import { dialog } from 'chayns-api';\nimport type { ITextstring, TextstringReplacement } from '../components/textstring/types';\nimport type { TextstringValue } from '../types/textstring';\n\ninterface LoadLibraryOptions {\n libraryName: string;\n language: string;\n}\n\nexport const loadLibrary = async ({ language, libraryName }: LoadLibraryOptions) => {\n const response = await fetch(\n `https://webapi.tobit.com/TextstringService/v1.0/LangStrings/${libraryName}?language=${language}`,\n );\n\n if (response.status !== 200) {\n return null;\n }\n\n return (await response.json()) as TextstringValue;\n};\n\ninterface SelectLanguageToChangeOptions {\n textstringName: string;\n}\n\nexport const selectLanguageToChange = ({ textstringName }: SelectLanguageToChangeOptions) => {\n // Note: the page is in v4\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void dialog.iFrame({\n url: 'https://tapp-staging.chayns-static.space/text-string-tapp/v1/iframe-edit.html',\n buttons: [],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n input: { textstring: textstringName },\n });\n};\n\ninterface GetTextstringValueOptions {\n textstring: ITextstring;\n libraryName: string;\n replacements?: TextstringReplacement;\n}\n\nexport const getTextstringValue = ({\n libraryName,\n textstring,\n replacements,\n}: GetTextstringValueOptions): string => {\n const textstrings =\n typeof window !== 'undefined' ? window.Textstrings?.[libraryName] : undefined;\n\n if (!textstrings) {\n return textstring.fallback;\n }\n\n const value = textstrings[textstring.name] ?? textstring.fallback;\n\n if (!replacements) {\n return value;\n }\n\n return Object.keys(replacements).reduce(\n (current, key) => current.replace(new RegExp(key, 'g'), <string>replacements[key] || ''),\n value,\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AASO,MAAMC,WAAW,GAAG,MAAAA,CAAO;EAAEC,QAAQ;EAAEC;AAAgC,CAAC,KAAK;EAChF,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CACxB,+DAA+DF,WAAW,aAAaD,QAAQ,EACnG,CAAC;EAED,IAAIE,QAAQ,CAACE,MAAM,KAAK,GAAG,EAAE;IACzB,OAAO,IAAI;EACf;EAEA,OAAQ,MAAMF,QAAQ,CAACG,IAAI,CAAC,CAAC;AACjC,CAAC;AAACC,OAAA,CAAAP,WAAA,GAAAA,WAAA;AAMK,MAAMQ,sBAAsB,GAAGA,CAAC;EAAEC;AAA8C,CAAC,KAAK;EACzF;EACA;EACA;EACA,KAAKC,iBAAM,CAACC,MAAM,CAAC;IACfC,GAAG,EAAE,+EAA+E;IACpFC,OAAO,EAAE,EAAE;IACX;IACA;IACAC,KAAK,EAAE;MAAEC,UAAU,EAAEN;IAAe;EACxC,CAAC,CAAC;AACN,CAAC;AAACF,OAAA,CAAAC,sBAAA,GAAAA,sBAAA;AAQK,MAAMQ,kBAAkB,GAAGA,CAAC;EAC/Bd,WAAW;EACXa,UAAU;EACVE;AACuB,CAAC,KAAa;EAAA,IAAAC,mBAAA;EACrC,MAAMC,WAAW,GACb,OAAOC,MAAM,KAAK,WAAW,IAAAF,mBAAA,GAAGE,MAAM,CAACC,WAAW,cAAAH,mBAAA,uBAAlBA,mBAAA,CAAqBhB,WAAW,CAAC,GAAGoB,SAAS;EAEjF,IAAI,CAACH,WAAW,EAAE;IACd,OAAOJ,UAAU,CAACQ,QAAQ;EAC9B;EAEA,MAAMC,KAAK,GAAGL,WAAW,CAACJ,UAAU,CAACU,IAAI,CAAC,IAAIV,UAAU,CAACQ,QAAQ;EAEjE,IAAI,CAACN,YAAY,EAAE;IACf,OAAOO,KAAK;EAChB;EAEA,OAAOE,MAAM,CAACC,IAAI,CAACV,YAAY,CAAC,CAACW,MAAM,CACnC,CAACC,OAAO,EAAEC,GAAG,KAAKD,OAAO,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACF,GAAG,EAAE,GAAG,CAAC,EAAUb,YAAY,CAACa,GAAG,CAAC,IAAI,EAAE,CAAC,EACxFN,KACJ,CAAC;AACL,CAAC;AAACjB,OAAA,CAAAS,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"file":"textstring.js","names":["_chaynsApi","require","loadLibrary","language","libraryName","response","fetch","status","json","exports","selectLanguageToChange","textstringName","dialog","iFrame","url","buttons","input","textstring","initTextstrings","then","result","prevTextstrings","window","Textstrings","getTextstringValue","replacements","_window$Textstrings","textstrings","undefined","fallback","value","name","Object","keys","reduce","current","key","replace","RegExp"],"sources":["../../../src/utils/textstring.ts"],"sourcesContent":["import { dialog } from 'chayns-api';\nimport type { ITextstring, TextstringReplacement } from '../components/textstring/types';\nimport type { TextstringValue } from '../types/textstring';\n\ninterface LoadLibraryOptions {\n libraryName: string;\n language: string;\n}\n\nexport const loadLibrary = async ({ language, libraryName }: LoadLibraryOptions) => {\n const response = await fetch(\n `https://webapi.tobit.com/TextstringService/v1.0/LangStrings/${libraryName}?language=${language}`,\n );\n\n if (response.status !== 200) {\n return null;\n }\n\n return (await response.json()) as TextstringValue;\n};\n\ninterface SelectLanguageToChangeOptions {\n textstringName: string;\n}\n\nexport const selectLanguageToChange = ({ textstringName }: SelectLanguageToChangeOptions) => {\n // Note: the page is in v4\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void dialog.iFrame({\n url: 'https://tapp-staging.chayns-static.space/text-string-tapp/v1/iframe-edit.html',\n buttons: [],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n input: { textstring: textstringName },\n });\n};\n\ninterface InitTextstringsOptions {\n /**\n * The language that should be used.\n */\n language: string;\n /**\n * The name of the library.\n */\n libraryName: string;\n}\n\nexport const initTextstrings = ({ libraryName, language }: InitTextstringsOptions) => {\n void loadLibrary({ libraryName, language }).then((result) => {\n if (result) {\n const prevTextstrings = window.Textstrings;\n\n window.Textstrings = {\n ...prevTextstrings,\n [libraryName]: result,\n };\n }\n });\n};\n\ninterface GetTextstringValueOptions {\n textstring: ITextstring;\n libraryName: string;\n replacements?: TextstringReplacement;\n}\n\nexport const getTextstringValue = ({\n libraryName,\n textstring,\n replacements,\n}: GetTextstringValueOptions): string => {\n const textstrings =\n typeof window !== 'undefined' ? window.Textstrings?.[libraryName] : undefined;\n\n if (!textstrings) {\n return textstring.fallback;\n }\n\n const value = textstrings[textstring.name] ?? textstring.fallback;\n\n if (!replacements) {\n return value;\n }\n\n return Object.keys(replacements).reduce(\n (current, key) => current.replace(new RegExp(key, 'g'), <string>replacements[key] || ''),\n value,\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AASO,MAAMC,WAAW,GAAG,MAAAA,CAAO;EAAEC,QAAQ;EAAEC;AAAgC,CAAC,KAAK;EAChF,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CACxB,+DAA+DF,WAAW,aAAaD,QAAQ,EACnG,CAAC;EAED,IAAIE,QAAQ,CAACE,MAAM,KAAK,GAAG,EAAE;IACzB,OAAO,IAAI;EACf;EAEA,OAAQ,MAAMF,QAAQ,CAACG,IAAI,CAAC,CAAC;AACjC,CAAC;AAACC,OAAA,CAAAP,WAAA,GAAAA,WAAA;AAMK,MAAMQ,sBAAsB,GAAGA,CAAC;EAAEC;AAA8C,CAAC,KAAK;EACzF;EACA;EACA;EACA,KAAKC,iBAAM,CAACC,MAAM,CAAC;IACfC,GAAG,EAAE,+EAA+E;IACpFC,OAAO,EAAE,EAAE;IACX;IACA;IACAC,KAAK,EAAE;MAAEC,UAAU,EAAEN;IAAe;EACxC,CAAC,CAAC;AACN,CAAC;AAACF,OAAA,CAAAC,sBAAA,GAAAA,sBAAA;AAaK,MAAMQ,eAAe,GAAGA,CAAC;EAAEd,WAAW;EAAED;AAAiC,CAAC,KAAK;EAClF,KAAKD,WAAW,CAAC;IAAEE,WAAW;IAAED;EAAS,CAAC,CAAC,CAACgB,IAAI,CAAEC,MAAM,IAAK;IACzD,IAAIA,MAAM,EAAE;MACR,MAAMC,eAAe,GAAGC,MAAM,CAACC,WAAW;MAE1CD,MAAM,CAACC,WAAW,GAAG;QACjB,GAAGF,eAAe;QAClB,CAACjB,WAAW,GAAGgB;MACnB,CAAC;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAACX,OAAA,CAAAS,eAAA,GAAAA,eAAA;AAQK,MAAMM,kBAAkB,GAAGA,CAAC;EAC/BpB,WAAW;EACXa,UAAU;EACVQ;AACuB,CAAC,KAAa;EAAA,IAAAC,mBAAA;EACrC,MAAMC,WAAW,GACb,OAAOL,MAAM,KAAK,WAAW,IAAAI,mBAAA,GAAGJ,MAAM,CAACC,WAAW,cAAAG,mBAAA,uBAAlBA,mBAAA,CAAqBtB,WAAW,CAAC,GAAGwB,SAAS;EAEjF,IAAI,CAACD,WAAW,EAAE;IACd,OAAOV,UAAU,CAACY,QAAQ;EAC9B;EAEA,MAAMC,KAAK,GAAGH,WAAW,CAACV,UAAU,CAACc,IAAI,CAAC,IAAId,UAAU,CAACY,QAAQ;EAEjE,IAAI,CAACJ,YAAY,EAAE;IACf,OAAOK,KAAK;EAChB;EAEA,OAAOE,MAAM,CAACC,IAAI,CAACR,YAAY,CAAC,CAACS,MAAM,CACnC,CAACC,OAAO,EAAEC,GAAG,KAAKD,OAAO,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACF,GAAG,EAAE,GAAG,CAAC,EAAUX,YAAY,CAACW,GAAG,CAAC,IAAI,EAAE,CAAC,EACxFN,KACJ,CAAC;AACL,CAAC;AAACrB,OAAA,CAAAe,kBAAA,GAAAA,kBAAA","ignoreList":[]}
package/lib/esm/index.js CHANGED
@@ -3,5 +3,5 @@
3
3
  export { default as TextstringProvider } from './components/textstring-provider/TextstringProvider';
4
4
  export { default as Textstring } from './components/textstring/Textstring';
5
5
  export { useTextstringValue } from './hooks/useTextstringValue';
6
- export { getTextstringValue } from './utils/textstring';
6
+ export { getTextstringValue, initTextstrings } from './utils/textstring';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","TextstringProvider","Textstring","useTextstringValue","getTextstringValue"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as TextstringProvider } from './components/textstring-provider/TextstringProvider';\nexport { default as Textstring } from './components/textstring/Textstring';\nexport type { ITextstring, TextstringReplacement } from './components/textstring/types';\nexport { useTextstringValue } from './hooks/useTextstringValue';\nexport { getTextstringValue } from './utils/textstring';\n"],"mappings":"AAAA;;AAEA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,qDAAqD;AACnG,SAASD,OAAO,IAAIE,UAAU,QAAQ,oCAAoC;AAE1E,SAASC,kBAAkB,QAAQ,4BAA4B;AAC/D,SAASC,kBAAkB,QAAQ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","TextstringProvider","Textstring","useTextstringValue","getTextstringValue","initTextstrings"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as TextstringProvider } from './components/textstring-provider/TextstringProvider';\nexport { default as Textstring } from './components/textstring/Textstring';\nexport type { ITextstring, TextstringReplacement } from './components/textstring/types';\nexport { useTextstringValue } from './hooks/useTextstringValue';\nexport { getTextstringValue, initTextstrings } from './utils/textstring';\n"],"mappings":"AAAA;;AAEA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,qDAAqD;AACnG,SAASD,OAAO,IAAIE,UAAU,QAAQ,oCAAoC;AAE1E,SAASC,kBAAkB,QAAQ,4BAA4B;AAC/D,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,oBAAoB","ignoreList":[]}
@@ -27,12 +27,30 @@ export const selectLanguageToChange = _ref2 => {
27
27
  }
28
28
  });
29
29
  };
30
- export const getTextstringValue = _ref3 => {
30
+ export const initTextstrings = _ref3 => {
31
+ let {
32
+ libraryName,
33
+ language
34
+ } = _ref3;
35
+ void loadLibrary({
36
+ libraryName,
37
+ language
38
+ }).then(result => {
39
+ if (result) {
40
+ const prevTextstrings = window.Textstrings;
41
+ window.Textstrings = {
42
+ ...prevTextstrings,
43
+ [libraryName]: result
44
+ };
45
+ }
46
+ });
47
+ };
48
+ export const getTextstringValue = _ref4 => {
31
49
  let {
32
50
  libraryName,
33
51
  textstring,
34
52
  replacements
35
- } = _ref3;
53
+ } = _ref4;
36
54
  const textstrings = typeof window !== 'undefined' ? window.Textstrings?.[libraryName] : undefined;
37
55
  if (!textstrings) {
38
56
  return textstring.fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"textstring.js","names":["dialog","loadLibrary","_ref","language","libraryName","response","fetch","status","json","selectLanguageToChange","_ref2","textstringName","iFrame","url","buttons","input","textstring","getTextstringValue","_ref3","replacements","textstrings","window","Textstrings","undefined","fallback","value","name","Object","keys","reduce","current","key","replace","RegExp"],"sources":["../../../src/utils/textstring.ts"],"sourcesContent":["import { dialog } from 'chayns-api';\nimport type { ITextstring, TextstringReplacement } from '../components/textstring/types';\nimport type { TextstringValue } from '../types/textstring';\n\ninterface LoadLibraryOptions {\n libraryName: string;\n language: string;\n}\n\nexport const loadLibrary = async ({ language, libraryName }: LoadLibraryOptions) => {\n const response = await fetch(\n `https://webapi.tobit.com/TextstringService/v1.0/LangStrings/${libraryName}?language=${language}`,\n );\n\n if (response.status !== 200) {\n return null;\n }\n\n return (await response.json()) as TextstringValue;\n};\n\ninterface SelectLanguageToChangeOptions {\n textstringName: string;\n}\n\nexport const selectLanguageToChange = ({ textstringName }: SelectLanguageToChangeOptions) => {\n // Note: the page is in v4\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void dialog.iFrame({\n url: 'https://tapp-staging.chayns-static.space/text-string-tapp/v1/iframe-edit.html',\n buttons: [],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n input: { textstring: textstringName },\n });\n};\n\ninterface GetTextstringValueOptions {\n textstring: ITextstring;\n libraryName: string;\n replacements?: TextstringReplacement;\n}\n\nexport const getTextstringValue = ({\n libraryName,\n textstring,\n replacements,\n}: GetTextstringValueOptions): string => {\n const textstrings =\n typeof window !== 'undefined' ? window.Textstrings?.[libraryName] : undefined;\n\n if (!textstrings) {\n return textstring.fallback;\n }\n\n const value = textstrings[textstring.name] ?? textstring.fallback;\n\n if (!replacements) {\n return value;\n }\n\n return Object.keys(replacements).reduce(\n (current, key) => current.replace(new RegExp(key, 'g'), <string>replacements[key] || ''),\n value,\n );\n};\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,YAAY;AASnC,OAAO,MAAMC,WAAW,GAAG,MAAAC,IAAA,IAAyD;EAAA,IAAlD;IAAEC,QAAQ;IAAEC;EAAgC,CAAC,GAAAF,IAAA;EAC3E,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CACxB,+DAA+DF,WAAW,aAAaD,QAAQ,EACnG,CAAC;EAED,IAAIE,QAAQ,CAACE,MAAM,KAAK,GAAG,EAAE;IACzB,OAAO,IAAI;EACf;EAEA,OAAQ,MAAMF,QAAQ,CAACG,IAAI,CAAC,CAAC;AACjC,CAAC;AAMD,OAAO,MAAMC,sBAAsB,GAAGC,KAAA,IAAuD;EAAA,IAAtD;IAAEC;EAA8C,CAAC,GAAAD,KAAA;EACpF;EACA;EACA;EACA,KAAKV,MAAM,CAACY,MAAM,CAAC;IACfC,GAAG,EAAE,+EAA+E;IACpFC,OAAO,EAAE,EAAE;IACX;IACA;IACAC,KAAK,EAAE;MAAEC,UAAU,EAAEL;IAAe;EACxC,CAAC,CAAC;AACN,CAAC;AAQD,OAAO,MAAMM,kBAAkB,GAAGC,KAAA,IAIO;EAAA,IAJN;IAC/Bd,WAAW;IACXY,UAAU;IACVG;EACuB,CAAC,GAAAD,KAAA;EACxB,MAAME,WAAW,GACb,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACC,WAAW,GAAGlB,WAAW,CAAC,GAAGmB,SAAS;EAEjF,IAAI,CAACH,WAAW,EAAE;IACd,OAAOJ,UAAU,CAACQ,QAAQ;EAC9B;EAEA,MAAMC,KAAK,GAAGL,WAAW,CAACJ,UAAU,CAACU,IAAI,CAAC,IAAIV,UAAU,CAACQ,QAAQ;EAEjE,IAAI,CAACL,YAAY,EAAE;IACf,OAAOM,KAAK;EAChB;EAEA,OAAOE,MAAM,CAACC,IAAI,CAACT,YAAY,CAAC,CAACU,MAAM,CACnC,CAACC,OAAO,EAAEC,GAAG,KAAKD,OAAO,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACF,GAAG,EAAE,GAAG,CAAC,EAAUZ,YAAY,CAACY,GAAG,CAAC,IAAI,EAAE,CAAC,EACxFN,KACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"textstring.js","names":["dialog","loadLibrary","_ref","language","libraryName","response","fetch","status","json","selectLanguageToChange","_ref2","textstringName","iFrame","url","buttons","input","textstring","initTextstrings","_ref3","then","result","prevTextstrings","window","Textstrings","getTextstringValue","_ref4","replacements","textstrings","undefined","fallback","value","name","Object","keys","reduce","current","key","replace","RegExp"],"sources":["../../../src/utils/textstring.ts"],"sourcesContent":["import { dialog } from 'chayns-api';\nimport type { ITextstring, TextstringReplacement } from '../components/textstring/types';\nimport type { TextstringValue } from '../types/textstring';\n\ninterface LoadLibraryOptions {\n libraryName: string;\n language: string;\n}\n\nexport const loadLibrary = async ({ language, libraryName }: LoadLibraryOptions) => {\n const response = await fetch(\n `https://webapi.tobit.com/TextstringService/v1.0/LangStrings/${libraryName}?language=${language}`,\n );\n\n if (response.status !== 200) {\n return null;\n }\n\n return (await response.json()) as TextstringValue;\n};\n\ninterface SelectLanguageToChangeOptions {\n textstringName: string;\n}\n\nexport const selectLanguageToChange = ({ textstringName }: SelectLanguageToChangeOptions) => {\n // Note: the page is in v4\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void dialog.iFrame({\n url: 'https://tapp-staging.chayns-static.space/text-string-tapp/v1/iframe-edit.html',\n buttons: [],\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n input: { textstring: textstringName },\n });\n};\n\ninterface InitTextstringsOptions {\n /**\n * The language that should be used.\n */\n language: string;\n /**\n * The name of the library.\n */\n libraryName: string;\n}\n\nexport const initTextstrings = ({ libraryName, language }: InitTextstringsOptions) => {\n void loadLibrary({ libraryName, language }).then((result) => {\n if (result) {\n const prevTextstrings = window.Textstrings;\n\n window.Textstrings = {\n ...prevTextstrings,\n [libraryName]: result,\n };\n }\n });\n};\n\ninterface GetTextstringValueOptions {\n textstring: ITextstring;\n libraryName: string;\n replacements?: TextstringReplacement;\n}\n\nexport const getTextstringValue = ({\n libraryName,\n textstring,\n replacements,\n}: GetTextstringValueOptions): string => {\n const textstrings =\n typeof window !== 'undefined' ? window.Textstrings?.[libraryName] : undefined;\n\n if (!textstrings) {\n return textstring.fallback;\n }\n\n const value = textstrings[textstring.name] ?? textstring.fallback;\n\n if (!replacements) {\n return value;\n }\n\n return Object.keys(replacements).reduce(\n (current, key) => current.replace(new RegExp(key, 'g'), <string>replacements[key] || ''),\n value,\n );\n};\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,YAAY;AASnC,OAAO,MAAMC,WAAW,GAAG,MAAAC,IAAA,IAAyD;EAAA,IAAlD;IAAEC,QAAQ;IAAEC;EAAgC,CAAC,GAAAF,IAAA;EAC3E,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CACxB,+DAA+DF,WAAW,aAAaD,QAAQ,EACnG,CAAC;EAED,IAAIE,QAAQ,CAACE,MAAM,KAAK,GAAG,EAAE;IACzB,OAAO,IAAI;EACf;EAEA,OAAQ,MAAMF,QAAQ,CAACG,IAAI,CAAC,CAAC;AACjC,CAAC;AAMD,OAAO,MAAMC,sBAAsB,GAAGC,KAAA,IAAuD;EAAA,IAAtD;IAAEC;EAA8C,CAAC,GAAAD,KAAA;EACpF;EACA;EACA;EACA,KAAKV,MAAM,CAACY,MAAM,CAAC;IACfC,GAAG,EAAE,+EAA+E;IACpFC,OAAO,EAAE,EAAE;IACX;IACA;IACAC,KAAK,EAAE;MAAEC,UAAU,EAAEL;IAAe;EACxC,CAAC,CAAC;AACN,CAAC;AAaD,OAAO,MAAMM,eAAe,GAAGC,KAAA,IAAuD;EAAA,IAAtD;IAAEd,WAAW;IAAED;EAAiC,CAAC,GAAAe,KAAA;EAC7E,KAAKjB,WAAW,CAAC;IAAEG,WAAW;IAAED;EAAS,CAAC,CAAC,CAACgB,IAAI,CAAEC,MAAM,IAAK;IACzD,IAAIA,MAAM,EAAE;MACR,MAAMC,eAAe,GAAGC,MAAM,CAACC,WAAW;MAE1CD,MAAM,CAACC,WAAW,GAAG;QACjB,GAAGF,eAAe;QAClB,CAACjB,WAAW,GAAGgB;MACnB,CAAC;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAQD,OAAO,MAAMI,kBAAkB,GAAGC,KAAA,IAIO;EAAA,IAJN;IAC/BrB,WAAW;IACXY,UAAU;IACVU;EACuB,CAAC,GAAAD,KAAA;EACxB,MAAME,WAAW,GACb,OAAOL,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACC,WAAW,GAAGnB,WAAW,CAAC,GAAGwB,SAAS;EAEjF,IAAI,CAACD,WAAW,EAAE;IACd,OAAOX,UAAU,CAACa,QAAQ;EAC9B;EAEA,MAAMC,KAAK,GAAGH,WAAW,CAACX,UAAU,CAACe,IAAI,CAAC,IAAIf,UAAU,CAACa,QAAQ;EAEjE,IAAI,CAACH,YAAY,EAAE;IACf,OAAOI,KAAK;EAChB;EAEA,OAAOE,MAAM,CAACC,IAAI,CAACP,YAAY,CAAC,CAACQ,MAAM,CACnC,CAACC,OAAO,EAAEC,GAAG,KAAKD,OAAO,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACF,GAAG,EAAE,GAAG,CAAC,EAAUV,YAAY,CAACU,GAAG,CAAC,IAAI,EAAE,CAAC,EACxFN,KACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -2,4 +2,4 @@ export { default as TextstringProvider } from './components/textstring-provider/
2
2
  export { default as Textstring } from './components/textstring/Textstring';
3
3
  export type { ITextstring, TextstringReplacement } from './components/textstring/types';
4
4
  export { useTextstringValue } from './hooks/useTextstringValue';
5
- export { getTextstringValue } from './utils/textstring';
5
+ export { getTextstringValue, initTextstrings } from './utils/textstring';
@@ -9,6 +9,17 @@ interface SelectLanguageToChangeOptions {
9
9
  textstringName: string;
10
10
  }
11
11
  export declare const selectLanguageToChange: ({ textstringName }: SelectLanguageToChangeOptions) => void;
12
+ interface InitTextstringsOptions {
13
+ /**
14
+ * The language that should be used.
15
+ */
16
+ language: string;
17
+ /**
18
+ * The name of the library.
19
+ */
20
+ libraryName: string;
21
+ }
22
+ export declare const initTextstrings: ({ libraryName, language }: InitTextstringsOptions) => void;
12
23
  interface GetTextstringValueOptions {
13
24
  textstring: ITextstring;
14
25
  libraryName: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/textstring",
3
- "version": "5.0.0-beta.1128",
3
+ "version": "5.0.0-beta.1129",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -81,5 +81,5 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "gitHead": "2aa059dffc224b6aec109102d7604ca642b97732"
84
+ "gitHead": "7c748119b8f35f269d67866242502a1696b77fc7"
85
85
  }