@chayns-components/textstring 5.0.0-beta.574 → 5.0.0-beta.576
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/components/textstring-provider/TextstringProvider.d.ts +1 -3
- package/lib/components/textstring-provider/TextstringProvider.js +5 -0
- package/lib/components/textstring-provider/TextstringProvider.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/types/textstring.d.ts +12 -0
- package/lib/types/textstring.js +2 -0
- package/lib/types/textstring.js.map +1 -0
- package/lib/utils/textstring.d.ts +8 -1
- package/lib/utils/textstring.js +16 -0
- package/lib/utils/textstring.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import React, { FC, ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
[key: string]: string;
|
|
4
|
-
};
|
|
2
|
+
import type { TextstringValue } from '../../types/textstring';
|
|
5
3
|
export declare const TextstringContext: React.Context<TextstringValue>;
|
|
6
4
|
export type TextstringProviderProps = {
|
|
7
5
|
/**
|
|
@@ -15,6 +15,11 @@ const TextstringProvider = _ref => {
|
|
|
15
15
|
language
|
|
16
16
|
});
|
|
17
17
|
if (textstringResult) {
|
|
18
|
+
const prevTextstrings = window.Textstrings;
|
|
19
|
+
window.Textstrings = {
|
|
20
|
+
...prevTextstrings,
|
|
21
|
+
[libraryName]: textstringResult
|
|
22
|
+
};
|
|
18
23
|
setTextstrings(textstringResult);
|
|
19
24
|
}
|
|
20
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextstringProvider.js","names":["React","createContext","useEffect","useState","loadLibrary","TextstringContext","TextstringProvider","_ref","children","libraryName","language","textstrings","setTextstrings","loadData","textstringResult","createElement","Provider","value","displayName"],"sources":["../../../src/components/textstring-provider/TextstringProvider.tsx"],"sourcesContent":["import React, { createContext, FC, ReactNode, useEffect, useState } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"TextstringProvider.js","names":["React","createContext","useEffect","useState","loadLibrary","TextstringContext","TextstringProvider","_ref","children","libraryName","language","textstrings","setTextstrings","loadData","textstringResult","prevTextstrings","window","Textstrings","createElement","Provider","value","displayName"],"sources":["../../../src/components/textstring-provider/TextstringProvider.tsx"],"sourcesContent":["import React, { createContext, FC, ReactNode, useEffect, useState } from 'react';\nimport type { TextstringValue } from '../../types/textstring';\nimport { loadLibrary } from '../../utils/textstring';\n\nexport const TextstringContext = createContext<TextstringValue>({});\n\nexport type TextstringProviderProps = {\n /**\n * The element that should use the library.\n */\n children?: ReactNode;\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\nconst TextstringProvider: FC<TextstringProviderProps> = ({ children, libraryName, language }) => {\n const [textstrings, setTextstrings] = useState<TextstringValue>({});\n\n useEffect(() => {\n const loadData = async () => {\n const textstringResult = await loadLibrary({ libraryName, language });\n\n if (textstringResult) {\n const prevTextstrings = window.Textstrings;\n\n window.Textstrings = {\n ...prevTextstrings,\n [libraryName]: textstringResult,\n };\n\n setTextstrings(textstringResult);\n }\n };\n\n void loadData();\n }, [language, libraryName]);\n\n return <TextstringContext.Provider value={textstrings}>{children}</TextstringContext.Provider>;\n};\n\nTextstringProvider.displayName = 'TextstringProvider';\n\nexport default TextstringProvider;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAiBC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAEhF,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,OAAO,MAAMC,iBAAiB,gBAAGJ,aAAa,CAAkB,CAAC,CAAC,CAAC;AAiBnE,MAAMK,kBAA+C,GAAGC,IAAA,IAAyC;EAAA,IAAxC;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAAH,IAAA;EACxF,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAAkB,CAAC,CAAC,CAAC;EAEnED,SAAS,CAAC,MAAM;IACZ,MAAMW,QAAQ,GAAG,MAAAA,CAAA,KAAY;MACzB,MAAMC,gBAAgB,GAAG,MAAMV,WAAW,CAAC;QAAEK,WAAW;QAAEC;MAAS,CAAC,CAAC;MAErE,IAAII,gBAAgB,EAAE;QAClB,MAAMC,eAAe,GAAGC,MAAM,CAACC,WAAW;QAE1CD,MAAM,CAACC,WAAW,GAAG;UACjB,GAAGF,eAAe;UAClB,CAACN,WAAW,GAAGK;QACnB,CAAC;QAEDF,cAAc,CAACE,gBAAgB,CAAC;MACpC;IACJ,CAAC;IAED,KAAKD,QAAQ,CAAC,CAAC;EACnB,CAAC,EAAE,CAACH,QAAQ,EAAED,WAAW,CAAC,CAAC;EAE3B,oBAAOT,KAAA,CAAAkB,aAAA,CAACb,iBAAiB,CAACc,QAAQ;IAACC,KAAK,EAAET;EAAY,GAAEH,QAAqC,CAAC;AAClG,CAAC;AAEDF,kBAAkB,CAACe,WAAW,GAAG,oBAAoB;AAErD,eAAef,kBAAkB","ignoreList":[]}
|
package/lib/index.d.ts
CHANGED
|
@@ -2,3 +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';
|
package/lib/index.js
CHANGED
|
@@ -3,4 +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
7
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","TextstringProvider","Textstring","useTextstringValue"],"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';\n"],"mappings":"AAAA;;AAEA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,qDAAqD;AACnG,SAASD,OAAO,IAAIE,UAAU,QAAQ,oCAAoC;AAE1E,SAASC,kBAAkB,QAAQ,4BAA4B","ignoreList":[]}
|
|
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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textstring.js","names":[],"sources":["../../src/types/textstring.ts"],"sourcesContent":["declare global {\n interface Window {\n Textstrings: TextstringValues;\n }\n}\n\ntype TextstringValues = {\n [key: string]: TextstringValue;\n};\n\nexport type TextstringValue = {\n [key: string]: string;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ITextstring, TextstringReplacement } from '../components/textstring/types';
|
|
2
|
+
import type { TextstringValue } from '../types/textstring';
|
|
2
3
|
interface LoadLibraryOptions {
|
|
3
4
|
libraryName: string;
|
|
4
5
|
language: string;
|
|
@@ -8,4 +9,10 @@ interface SelectLanguageToChangeOptions {
|
|
|
8
9
|
textstringName: string;
|
|
9
10
|
}
|
|
10
11
|
export declare const selectLanguageToChange: ({ textstringName }: SelectLanguageToChangeOptions) => void;
|
|
12
|
+
interface GetTextstringValueOptions {
|
|
13
|
+
textstring: ITextstring;
|
|
14
|
+
libraryName: string;
|
|
15
|
+
replacements?: TextstringReplacement;
|
|
16
|
+
}
|
|
17
|
+
export declare const getTextstringValue: ({ libraryName, textstring, replacements, }: GetTextstringValueOptions) => string | undefined;
|
|
11
18
|
export {};
|
package/lib/utils/textstring.js
CHANGED
|
@@ -21,4 +21,20 @@ export const selectLanguageToChange = _ref2 => {
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
|
+
export const getTextstringValue = _ref3 => {
|
|
25
|
+
let {
|
|
26
|
+
libraryName,
|
|
27
|
+
textstring,
|
|
28
|
+
replacements
|
|
29
|
+
} = _ref3;
|
|
30
|
+
const textstrings = window.Textstrings[libraryName];
|
|
31
|
+
if (!textstrings) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
const value = textstrings[textstring.name] ?? textstring.fallback;
|
|
35
|
+
if (!replacements) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
return Object.keys(replacements).reduce((current, key) => current.replace(new RegExp(key, 'g'), replacements[key] || ''), value);
|
|
39
|
+
};
|
|
24
40
|
//# sourceMappingURL=textstring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textstring.js","names":["loadLibrary","_ref","language","libraryName","response","fetch","status","json","selectLanguageToChange","_ref2","textstringName","chayns","dialog","iFrame","url","buttons","input","textstring"],"sources":["../../src/utils/textstring.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"textstring.js","names":["loadLibrary","_ref","language","libraryName","response","fetch","status","json","selectLanguageToChange","_ref2","textstringName","chayns","dialog","iFrame","url","buttons","input","textstring","getTextstringValue","_ref3","replacements","textstrings","window","Textstrings","undefined","value","name","fallback","Object","keys","reduce","current","key","replace","RegExp"],"sources":["../../src/utils/textstring.ts"],"sourcesContent":["import 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 void chayns.dialog.iFrame({\n url: 'https://tapp-staging.chayns-static.space/text-string-tapp/v1/iframe-edit.html',\n buttons: [],\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) => {\n const textstrings = window.Textstrings[libraryName];\n\n if (!textstrings) {\n return undefined;\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":"AAQA,OAAO,MAAMA,WAAW,GAAG,MAAAC,IAAA,IAAyD;EAAA,IAAlD;IAAEC,QAAQ;IAAEC;EAAgC,CAAC,GAAAF,IAAA;EAC3E,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CACvB,+DAA8DF,WAAY,aAAYD,QAAS,EACpG,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,KAAKE,MAAM,CAACC,MAAM,CAACC,MAAM,CAAC;IACtBC,GAAG,EAAE,+EAA+E;IACpFC,OAAO,EAAE,EAAE;IACXC,KAAK,EAAE;MAAEC,UAAU,EAAEP;IAAe;EACxC,CAAC,CAAC;AACN,CAAC;AAQD,OAAO,MAAMQ,kBAAkB,GAAGC,KAAA,IAID;EAAA,IAJE;IAC/BhB,WAAW;IACXc,UAAU;IACVG;EACuB,CAAC,GAAAD,KAAA;EACxB,MAAME,WAAW,GAAGC,MAAM,CAACC,WAAW,CAACpB,WAAW,CAAC;EAEnD,IAAI,CAACkB,WAAW,EAAE;IACd,OAAOG,SAAS;EACpB;EAEA,MAAMC,KAAK,GAAGJ,WAAW,CAACJ,UAAU,CAACS,IAAI,CAAC,IAAIT,UAAU,CAACU,QAAQ;EAEjE,IAAI,CAACP,YAAY,EAAE;IACf,OAAOK,KAAK;EAChB;EAEA,OAAOG,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,EACxFP,KACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chayns-components/textstring",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.576",
|
|
4
4
|
"description": "A set of beautiful React components for developing your own applications with chayns.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"browserslist": [
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"typescript": "^5.4.5"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@chayns-components/core": "^5.0.0-beta.
|
|
60
|
+
"@chayns-components/core": "^5.0.0-beta.576"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"chayns-api": ">=1.0.50",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "5fe12cdde4f5d793599bc158b4757b8e4acf9789"
|
|
73
73
|
}
|