@chayns-components/textstring 5.0.0-beta.251

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2021 Tobit Laboratories AG
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,40 @@
1
+ <div align="center">
2
+ <h1>
3
+ <img src="https://raw.githubusercontent.com/TobitSoftware/chayns-components/master/assets/logo.png" width="600px" alt="chayns-components" />
4
+ </h1>
5
+ <p>A set of beautiful React components for developing your own applications with chayns.</p>
6
+ <div>
7
+ <img src="https://img.shields.io/npm/dm/@chayns-components/typewriter.svg?style=for-the-badge" alt="" />
8
+ <img src="https://img.shields.io/npm/v/@chayns-components/typewriter?style=for-the-badge" alt="" />
9
+ <img src="https://img.shields.io/github/license/TobitSoftware/chayns-components?style=for-the-badge" alt="" />
10
+ <img src="https://img.shields.io/github/contributors/TobitSoftware/chayns-components?style=for-the-badge" alt="" />
11
+ </div>
12
+ </div>
13
+
14
+ ---
15
+
16
+ ## Installation
17
+
18
+ First you need to install the gallery part of the chayns-components.
19
+
20
+ ```bash
21
+ # NPM
22
+ npm install @chayns-components/textstring
23
+
24
+ # Yarn
25
+ yarn add @chayns-components/textstring
26
+ ```
27
+
28
+ > **Information:** Since the components have now been implemented with the styled-components
29
+ > library, the styles are delivered directly with the components. There is no need to load an extra
30
+ > stylesheet anymore.
31
+
32
+ ## Usage
33
+
34
+ You can use the components in your project as in the following example.
35
+
36
+ ```typescript jsx
37
+ import { Textstring } from '@chayns-components/textstring';
38
+
39
+ <Textstring />;
40
+ ```
@@ -0,0 +1,26 @@
1
+ import { CSSProperties, FC, ReactHTML, ReactNode } from 'react';
2
+ import type { ITextstring, TextstringReplacement } from './types';
3
+ export type TextStringProps = {
4
+ /**
5
+ * The element that the text should be displayed in.
6
+ */
7
+ children?: ReactNode;
8
+ /**
9
+ * The styles of the HTML element that the text should be displayed in.
10
+ */
11
+ childrenStyles?: CSSProperties;
12
+ /**
13
+ * The tag of the HTML element that the text should be displayed in.
14
+ */
15
+ childrenTagName?: keyof ReactHTML;
16
+ /**
17
+ * A part of the text that should be replaced.
18
+ */
19
+ replacements?: TextstringReplacement[];
20
+ /**
21
+ * The text that should be displayed.
22
+ */
23
+ textString: ITextstring;
24
+ };
25
+ declare const TextString: FC<TextStringProps>;
26
+ export default TextString;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _TextStringProvider = require("../textstring-provider/TextStringProvider");
9
+ var _TextString = require("./TextString.styles");
10
+ var _core = require("@chayns-components/core");
11
+ var _textstring = require("../../utils/textstring");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ const TextString = _ref => {
15
+ let {
16
+ textString,
17
+ replacements,
18
+ childrenTagName,
19
+ children,
20
+ childrenStyles
21
+ } = _ref;
22
+ const textStrings = (0, _react.useContext)(_TextStringProvider.TextStringContext);
23
+ const text = (0, _react.useMemo)(() => {
24
+ var _textStrings$textStri;
25
+ const value = (_textStrings$textStri = textStrings[textString.name]) !== null && _textStrings$textStri !== void 0 ? _textStrings$textStri : textString.fallback;
26
+ if (!replacements) {
27
+ return value;
28
+ }
29
+ let newValue = value;
30
+ replacements.forEach(_ref2 => {
31
+ let {
32
+ replacement,
33
+ key
34
+ } = _ref2;
35
+ newValue = newValue.replace(key, replacement);
36
+ });
37
+ return newValue;
38
+ }, [replacements, textString, textStrings]);
39
+ const childElement = (0, _react.useMemo)(() => {
40
+ let element = /*#__PURE__*/(0, _react.createElement)('', childrenStyles ? {
41
+ style: childrenStyles
42
+ } : null, children);
43
+ if (!children) {
44
+ element = /*#__PURE__*/(0, _react.createElement)(childrenTagName || 'span', childrenStyles ? {
45
+ style: childrenStyles
46
+ } : null, text);
47
+ }
48
+ return element;
49
+ }, [children, childrenStyles, childrenTagName, text]);
50
+ const handleClick = (0, _react.useCallback)(event => {
51
+ if (event.ctrlKey) {
52
+ void (0, _core.isTobitEmployee)().then(inGroup => {
53
+ if (inGroup) {
54
+ (0, _textstring.selectLanguageToChange)({
55
+ textstringName: textString.name
56
+ });
57
+ }
58
+ });
59
+ }
60
+ }, [textString.name]);
61
+ return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_TextString.StyledTextString, {
62
+ onClick: handleClick
63
+ }, childElement), [childElement, handleClick]);
64
+ };
65
+ TextString.displayName = 'TextString';
66
+ var _default = TextString;
67
+ exports.default = _default;
68
+ //# sourceMappingURL=TextString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextString.js","names":["_react","_interopRequireWildcard","require","_TextStringProvider","_TextString","_core","_textstring","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TextString","_ref","textString","replacements","childrenTagName","children","childrenStyles","textStrings","useContext","TextStringContext","text","useMemo","_textStrings$textStri","value","name","fallback","newValue","forEach","_ref2","replacement","replace","childElement","element","createElement","style","handleClick","useCallback","event","ctrlKey","isTobitEmployee","then","inGroup","selectLanguageToChange","textstringName","StyledTextString","onClick","displayName","_default","exports"],"sources":["../../../src/components/textstring/TextString.tsx"],"sourcesContent":["import React, {\n createElement,\n CSSProperties,\n FC,\n MouseEventHandler,\n ReactHTML,\n ReactNode,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport { TextStringContext } from '../textstring-provider/TextStringProvider';\nimport { StyledTextString } from './TextString.styles';\nimport type { ITextstring, TextstringReplacement } from './types';\nimport { isTobitEmployee } from '@chayns-components/core';\nimport { selectLanguageToChange } from '../../utils/textstring';\n\nexport type TextStringProps = {\n /**\n * The element that the text should be displayed in.\n */\n children?: ReactNode;\n /**\n * The styles of the HTML element that the text should be displayed in.\n */\n childrenStyles?: CSSProperties;\n /**\n * The tag of the HTML element that the text should be displayed in.\n */\n childrenTagName?: keyof ReactHTML;\n /**\n * A part of the text that should be replaced.\n */\n replacements?: TextstringReplacement[];\n /**\n * The text that should be displayed.\n */\n textString: ITextstring;\n};\n\nconst TextString: FC<TextStringProps> = ({\n textString,\n replacements,\n childrenTagName,\n children,\n childrenStyles,\n}) => {\n const textStrings = useContext(TextStringContext);\n\n const text = useMemo(() => {\n const value = textStrings[textString.name] ?? textString.fallback;\n\n if (!replacements) {\n return value;\n }\n\n let newValue = value;\n\n replacements.forEach(({ replacement, key }) => {\n newValue = newValue.replace(key, replacement);\n });\n\n return newValue;\n }, [replacements, textString, textStrings]);\n\n const childElement = useMemo(() => {\n let element = createElement(\n '',\n childrenStyles ? { style: childrenStyles } : null,\n children\n );\n\n if (!children) {\n element = createElement(\n childrenTagName || 'span',\n childrenStyles ? { style: childrenStyles } : null,\n text\n );\n }\n\n return element;\n }, [children, childrenStyles, childrenTagName, text]);\n\n const handleClick: MouseEventHandler<HTMLDivElement> = useCallback(\n (event) => {\n if (event.ctrlKey) {\n void isTobitEmployee().then((inGroup) => {\n if (inGroup) {\n selectLanguageToChange({\n textstringName: textString.name,\n });\n }\n });\n }\n },\n [textString.name]\n );\n\n return useMemo(\n () => <StyledTextString onClick={handleClick}>{childElement}</StyledTextString>,\n [childElement, handleClick]\n );\n};\n\nTextString.displayName = 'TextString';\n\nexport default TextString;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAWA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAgE,SAAAK,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAP,wBAAAW,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAyBhE,MAAMW,UAA+B,GAAGC,IAAA,IAMlC;EAAA,IANmC;IACrCC,UAAU;IACVC,YAAY;IACZC,eAAe;IACfC,QAAQ;IACRC;EACJ,CAAC,GAAAL,IAAA;EACG,MAAMM,WAAW,GAAG,IAAAC,iBAAU,EAACC,qCAAiB,CAAC;EAEjD,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAAC,MAAM;IAAA,IAAAC,qBAAA;IACvB,MAAMC,KAAK,IAAAD,qBAAA,GAAGL,WAAW,CAACL,UAAU,CAACY,IAAI,CAAC,cAAAF,qBAAA,cAAAA,qBAAA,GAAIV,UAAU,CAACa,QAAQ;IAEjE,IAAI,CAACZ,YAAY,EAAE;MACf,OAAOU,KAAK;IAChB;IAEA,IAAIG,QAAQ,GAAGH,KAAK;IAEpBV,YAAY,CAACc,OAAO,CAACC,KAAA,IAA0B;MAAA,IAAzB;QAAEC,WAAW;QAAEzB;MAAI,CAAC,GAAAwB,KAAA;MACtCF,QAAQ,GAAGA,QAAQ,CAACI,OAAO,CAAC1B,GAAG,EAAEyB,WAAW,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOH,QAAQ;EACnB,CAAC,EAAE,CAACb,YAAY,EAAED,UAAU,EAAEK,WAAW,CAAC,CAAC;EAE3C,MAAMc,YAAY,GAAG,IAAAV,cAAO,EAAC,MAAM;IAC/B,IAAIW,OAAO,gBAAG,IAAAC,oBAAa,EACvB,EAAE,EACFjB,cAAc,GAAG;MAAEkB,KAAK,EAAElB;IAAe,CAAC,GAAG,IAAI,EACjDD,QACJ,CAAC;IAED,IAAI,CAACA,QAAQ,EAAE;MACXiB,OAAO,gBAAG,IAAAC,oBAAa,EACnBnB,eAAe,IAAI,MAAM,EACzBE,cAAc,GAAG;QAAEkB,KAAK,EAAElB;MAAe,CAAC,GAAG,IAAI,EACjDI,IACJ,CAAC;IACL;IAEA,OAAOY,OAAO;EAClB,CAAC,EAAE,CAACjB,QAAQ,EAAEC,cAAc,EAAEF,eAAe,EAAEM,IAAI,CAAC,CAAC;EAErD,MAAMe,WAA8C,GAAG,IAAAC,kBAAW,EAC7DC,KAAK,IAAK;IACP,IAAIA,KAAK,CAACC,OAAO,EAAE;MACf,KAAK,IAAAC,qBAAe,EAAC,CAAC,CAACC,IAAI,CAAEC,OAAO,IAAK;QACrC,IAAIA,OAAO,EAAE;UACT,IAAAC,kCAAsB,EAAC;YACnBC,cAAc,EAAE/B,UAAU,CAACY;UAC/B,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,EACD,CAACZ,UAAU,CAACY,IAAI,CACpB,CAAC;EAED,OAAO,IAAAH,cAAO,EACV,mBAAMxC,MAAA,CAAAc,OAAA,CAAAsC,aAAA,CAAChD,WAAA,CAAA2D,gBAAgB;IAACC,OAAO,EAAEV;EAAY,GAAEJ,YAA+B,CAAC,EAC/E,CAACA,YAAY,EAAEI,WAAW,CAC9B,CAAC;AACL,CAAC;AAEDzB,UAAU,CAACoC,WAAW,GAAG,YAAY;AAAC,IAAAC,QAAA,GAEvBrC,UAAU;AAAAsC,OAAA,CAAArD,OAAA,GAAAoD,QAAA"}
@@ -0,0 +1 @@
1
+ export declare const StyledTextString: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledTextString = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const StyledTextString = _styledComponents.default.div``;
10
+ exports.StyledTextString = StyledTextString;
11
+ //# sourceMappingURL=TextString.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextString.styles.js","names":["_styledComponents","_interopRequireDefault","require","obj","__esModule","default","StyledTextString","styled","div","exports"],"sources":["../../../src/components/textstring/TextString.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledTextString = styled.div``;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,MAAMG,gBAAgB,GAAGC,yBAAM,CAACC,GAAI,EAAC;AAACC,OAAA,CAAAH,gBAAA,GAAAA,gBAAA"}
@@ -0,0 +1,8 @@
1
+ export interface TextstringReplacement {
2
+ key: string;
3
+ replacement: string;
4
+ }
5
+ export interface ITextstring {
6
+ fallback: string;
7
+ name: string;
8
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/textstring/types.ts"],"sourcesContent":["export interface TextstringReplacement {\n key: string;\n replacement: string;\n}\n\nexport interface ITextstring {\n fallback: string;\n name: string;\n}\n"],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import React, { FC, ReactNode } from 'react';
2
+ export type TextStringValue = {
3
+ [key: string]: string;
4
+ };
5
+ export declare const TextStringContext: React.Context<TextStringValue>;
6
+ export type TextStringProviderProps = {
7
+ /**
8
+ * The element that should use the library.
9
+ */
10
+ children?: ReactNode;
11
+ /**
12
+ * The language that should be used.
13
+ */
14
+ language: string;
15
+ /**
16
+ * The name of the library.
17
+ */
18
+ libraryName: string;
19
+ };
20
+ declare const TextStringProvider: FC<TextStringProviderProps>;
21
+ export default TextStringProvider;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.TextStringContext = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _textstring = require("../../utils/textstring");
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ const TextStringContext = /*#__PURE__*/(0, _react.createContext)({});
12
+ exports.TextStringContext = TextStringContext;
13
+ const TextStringProvider = _ref => {
14
+ let {
15
+ children,
16
+ libraryName,
17
+ language
18
+ } = _ref;
19
+ const [textStrings, setTextStrings] = (0, _react.useState)({});
20
+ (0, _react.useEffect)(() => {
21
+ const loadData = async () => {
22
+ const textStringResult = await (0, _textstring.loadLibrary)({
23
+ libraryName,
24
+ language
25
+ });
26
+ if (textStringResult) {
27
+ setTextStrings(textStringResult);
28
+ }
29
+ };
30
+ void loadData();
31
+ }, [language, libraryName]);
32
+ return /*#__PURE__*/_react.default.createElement(TextStringContext.Provider, {
33
+ value: textStrings
34
+ }, children);
35
+ };
36
+ TextStringProvider.displayName = 'TextStringProvider';
37
+ var _default = TextStringProvider;
38
+ exports.default = _default;
39
+ //# sourceMappingURL=TextStringProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextStringProvider.js","names":["_react","_interopRequireWildcard","require","_textstring","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TextStringContext","createContext","exports","TextStringProvider","_ref","children","libraryName","language","textStrings","setTextStrings","useState","useEffect","loadData","textStringResult","loadLibrary","createElement","Provider","value","displayName","_default"],"sources":["../../../src/components/textstring-provider/TextStringProvider.tsx"],"sourcesContent":["import React, { createContext, FC, ReactNode, useEffect, useState } from 'react';\nimport { loadLibrary } from '../../utils/textstring';\n\nexport type TextStringValue = {\n [key: string]: string;\n};\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 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,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAAqD,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAM9C,MAAMW,iBAAiB,gBAAG,IAAAC,oBAAa,EAAkB,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAF,iBAAA,GAAAA,iBAAA;AAiBpE,MAAMG,kBAA+C,GAAGC,IAAA,IAAyC;EAAA,IAAxC;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAAH,IAAA;EACxF,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAkB,CAAC,CAAC,CAAC;EAEnE,IAAAC,gBAAS,EAAC,MAAM;IACZ,MAAMC,QAAQ,GAAG,MAAAA,CAAA,KAAY;MACzB,MAAMC,gBAAgB,GAAG,MAAM,IAAAC,uBAAW,EAAC;QAAER,WAAW;QAAEC;MAAS,CAAC,CAAC;MAErE,IAAIM,gBAAgB,EAAE;QAClBJ,cAAc,CAACI,gBAAgB,CAAC;MACpC;IACJ,CAAC;IAED,KAAKD,QAAQ,CAAC,CAAC;EACnB,CAAC,EAAE,CAACL,QAAQ,EAAED,WAAW,CAAC,CAAC;EAE3B,oBAAOhC,MAAA,CAAAW,OAAA,CAAA8B,aAAA,CAACf,iBAAiB,CAACgB,QAAQ;IAACC,KAAK,EAAET;EAAY,GAAEH,QAAqC,CAAC;AAClG,CAAC;AAEDF,kBAAkB,CAACe,WAAW,GAAG,oBAAoB;AAAC,IAAAC,QAAA,GAEvChB,kBAAkB;AAAAD,OAAA,CAAAjB,OAAA,GAAAkC,QAAA"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export { default as TextStringProvider } from './components/textstring-provider/TextStringProvider';
2
+ export { default as TextString } from './components/textstring/TextString';
3
+ export type { ITextstring as Textstring, TextstringReplacement, } from './components/textstring/types';
4
+ export { getTextstringValue } from './utils/getTextstringValue';
package/lib/index.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "TextString", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _TextString.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "TextStringProvider", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _TextStringProvider.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "getTextstringValue", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _getTextstringValue.getTextstringValue;
22
+ }
23
+ });
24
+ var _TextStringProvider = _interopRequireDefault(require("./components/textstring-provider/TextStringProvider"));
25
+ var _TextString = _interopRequireDefault(require("./components/textstring/TextString"));
26
+ var _getTextstringValue = require("./utils/getTextstringValue");
27
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_TextStringProvider","_interopRequireDefault","require","_TextString","_getTextstringValue","obj","__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 {\n ITextstring as Textstring,\n TextstringReplacement,\n} from './components/textstring/types';\nexport { getTextstringValue } from './utils/getTextstringValue';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAKA,IAAAE,mBAAA,GAAAF,OAAA;AAAgE,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -0,0 +1,98 @@
1
+ declare global {
2
+ let chayns: Chayns;
3
+ }
4
+ export interface Chayns {
5
+ dialog: Dialog;
6
+ env: Env;
7
+ openImage(urls: string | string[], start?: number): Promise<undefined>;
8
+ openVideo(url: string): Promise<void>;
9
+ register(config: object): any;
10
+ }
11
+ export interface Dialog {
12
+ select(config: {
13
+ title?: string;
14
+ message?: string;
15
+ list: Array<SelectDialogItem>;
16
+ multiselect?: boolean;
17
+ type?: SelectType;
18
+ preventCloseOnClick?: boolean;
19
+ buttons?: DialogButton[];
20
+ selectAllButton?: string;
21
+ }): Promise<SelectDialogResult>;
22
+ alert(headline: string, text: string): Promise<ButtonType>;
23
+ iFrame(config: {
24
+ url: string;
25
+ input?: object;
26
+ title?: string;
27
+ message?: string;
28
+ buttons?: DialogButton[];
29
+ seamless?: boolean;
30
+ transparent?: boolean;
31
+ waitCursor?: boolean;
32
+ maxHeight?: string;
33
+ width?: number;
34
+ customTransitionTimeout?: number;
35
+ }): Promise<any>;
36
+ }
37
+ declare enum ButtonText {
38
+ Cancel = "Abbrechen",
39
+ No = "Nein",
40
+ Ok = "OK",
41
+ Yes = "Ja"
42
+ }
43
+ export declare enum ButtonType {
44
+ Cancel = -1,
45
+ Negative = 0,
46
+ Positive = 1
47
+ }
48
+ export interface DialogButton {
49
+ text: ButtonText | string;
50
+ buttonType: ButtonType | number;
51
+ collapseTime?: number;
52
+ textColor?: string;
53
+ backgroundColor?: string;
54
+ }
55
+ export interface SelectDialogItem {
56
+ name: string;
57
+ value: string | number;
58
+ isSelected?: boolean;
59
+ }
60
+ export interface SelectDialogResult {
61
+ buttonType: ButtonType | number;
62
+ selection: Array<SelectDialogItem>;
63
+ }
64
+ declare enum SelectType {
65
+ Default = 0,
66
+ Icon = 1,
67
+ IconAndText
68
+ }
69
+ export interface Group {
70
+ id: number;
71
+ isActive: boolean;
72
+ }
73
+ export interface User {
74
+ name: string;
75
+ firstName: string;
76
+ gender: number;
77
+ lastName: string;
78
+ id: number;
79
+ personId: string;
80
+ tobitAccessToken: string;
81
+ groups: Group[];
82
+ isAuthenticated: boolean;
83
+ adminMode: boolean;
84
+ isAdmin: boolean;
85
+ }
86
+ export interface Site {
87
+ id: string;
88
+ }
89
+ export interface Env {
90
+ site: Site;
91
+ user: User;
92
+ language: any;
93
+ parameters: any;
94
+ isApp: boolean;
95
+ isMobile: boolean;
96
+ isTablet: boolean;
97
+ }
98
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ButtonType = void 0;
7
+ let ButtonType = /*#__PURE__*/function (ButtonType) {
8
+ ButtonType[ButtonType["Cancel"] = -1] = "Cancel";
9
+ ButtonType[ButtonType["Negative"] = 0] = "Negative";
10
+ ButtonType[ButtonType["Positive"] = 1] = "Positive";
11
+ return ButtonType;
12
+ }({});
13
+ exports.ButtonType = ButtonType;
14
+ //# sourceMappingURL=chayns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chayns.js","names":["ButtonType","exports"],"sources":["../../src/types/chayns.ts"],"sourcesContent":["declare global {\n let chayns: Chayns;\n}\n\nexport interface Chayns {\n dialog: Dialog;\n env: Env;\n openImage(urls: string | string[], start?: number): Promise<undefined>;\n openVideo(url: string): Promise<void>;\n register(config: object): any;\n}\n\nexport interface Dialog {\n select(config: {\n title?: string;\n message?: string;\n list: Array<SelectDialogItem>;\n multiselect?: boolean;\n type?: SelectType;\n preventCloseOnClick?: boolean;\n buttons?: DialogButton[];\n selectAllButton?: string;\n }): Promise<SelectDialogResult>;\n alert(headline: string, text: string): Promise<ButtonType>;\n iFrame(config: {\n url: string;\n input?: object;\n title?: string;\n message?: string;\n buttons?: DialogButton[];\n seamless?: boolean;\n transparent?: boolean;\n waitCursor?: boolean;\n maxHeight?: string;\n width?: number;\n customTransitionTimeout?: number;\n }): Promise<any>;\n}\n\ndeclare enum ButtonText {\n Cancel = 'Abbrechen',\n No = 'Nein',\n Ok = 'OK',\n Yes = 'Ja',\n}\n\nexport enum ButtonType {\n Cancel = -1,\n Negative = 0,\n Positive = 1,\n}\n\nexport interface DialogButton {\n text: ButtonText | string;\n buttonType: ButtonType | number;\n collapseTime?: number;\n textColor?: string;\n backgroundColor?: string;\n}\n\nexport interface SelectDialogItem {\n name: string;\n value: string | number;\n isSelected?: boolean;\n}\n\nexport interface SelectDialogResult {\n buttonType: ButtonType | number;\n selection: Array<SelectDialogItem>;\n}\n\ndeclare enum SelectType {\n Default = 0,\n Icon = 1,\n IconAndText,\n}\n\nexport interface Group {\n id: number;\n isActive: boolean;\n}\n\nexport interface User {\n name: string;\n firstName: string;\n gender: number;\n lastName: string;\n id: number;\n personId: string;\n tobitAccessToken: string;\n groups: Group[];\n isAuthenticated: boolean;\n adminMode: boolean;\n isAdmin: boolean;\n}\n\nexport interface Site {\n id: string;\n}\n\nexport interface Env {\n site: Site;\n user: User;\n language: any;\n parameters: any;\n isApp: boolean;\n isMobile: boolean;\n isTablet: boolean;\n}\n"],"mappings":";;;;;;IA8CYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAAC,OAAA,CAAAD,UAAA,GAAAA,UAAA"}
@@ -0,0 +1,6 @@
1
+ import type { ITextstring, TextstringReplacement } from '../components/textstring/types';
2
+ export interface GetTextstringValue {
3
+ textString: ITextstring;
4
+ replacements?: TextstringReplacement[];
5
+ }
6
+ export declare const getTextstringValue: ({ replacements, textString }: GetTextstringValue) => string;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTextstringValue = void 0;
7
+ var _react = require("react");
8
+ var _TextStringProvider = require("../components/textstring-provider/TextStringProvider");
9
+ const getTextstringValue = _ref => {
10
+ var _textStrings$textStri;
11
+ let {
12
+ replacements,
13
+ textString
14
+ } = _ref;
15
+ // Ignore rule to get the textstrings from the library
16
+ // eslint-disable-next-line react-hooks/rules-of-hooks
17
+ const textStrings = (0, _react.useContext)(_TextStringProvider.TextStringContext);
18
+ const value = (_textStrings$textStri = textStrings[textString.name]) !== null && _textStrings$textStri !== void 0 ? _textStrings$textStri : textString.fallback;
19
+ if (!replacements) {
20
+ return value;
21
+ }
22
+ let newValue = value;
23
+ replacements.forEach(_ref2 => {
24
+ let {
25
+ replacement,
26
+ key
27
+ } = _ref2;
28
+ newValue = newValue.replace(key, replacement);
29
+ });
30
+ return newValue;
31
+ };
32
+ exports.getTextstringValue = getTextstringValue;
33
+ //# sourceMappingURL=getTextstringValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTextstringValue.js","names":["_react","require","_TextStringProvider","getTextstringValue","_ref","_textStrings$textStri","replacements","textString","textStrings","useContext","TextStringContext","value","name","fallback","newValue","forEach","_ref2","replacement","key","replace","exports"],"sources":["../../src/utils/getTextstringValue.ts"],"sourcesContent":["import { useContext } from 'react';\nimport type { ITextstring, TextstringReplacement } from '../components/textstring/types';\nimport { TextStringContext } from '../components/textstring-provider/TextStringProvider';\n\nexport interface GetTextstringValue {\n textString: ITextstring;\n replacements?: TextstringReplacement[];\n}\n\nexport const getTextstringValue = ({ replacements, textString }: GetTextstringValue) => {\n // Ignore rule to get the textstrings from the library\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const textStrings = useContext(TextStringContext);\n\n const value = textStrings[textString.name] ?? textString.fallback;\n\n if (!replacements) {\n return value;\n }\n\n let newValue = value;\n\n replacements.forEach(({ replacement, key }) => {\n newValue = newValue.replace(key, replacement);\n });\n\n return newValue;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AAOO,MAAME,kBAAkB,GAAGC,IAAA,IAAsD;EAAA,IAAAC,qBAAA;EAAA,IAArD;IAAEC,YAAY;IAAEC;EAA+B,CAAC,GAAAH,IAAA;EAC/E;EACA;EACA,MAAMI,WAAW,GAAG,IAAAC,iBAAU,EAACC,qCAAiB,CAAC;EAEjD,MAAMC,KAAK,IAAAN,qBAAA,GAAGG,WAAW,CAACD,UAAU,CAACK,IAAI,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAIE,UAAU,CAACM,QAAQ;EAEjE,IAAI,CAACP,YAAY,EAAE;IACf,OAAOK,KAAK;EAChB;EAEA,IAAIG,QAAQ,GAAGH,KAAK;EAEpBL,YAAY,CAACS,OAAO,CAACC,KAAA,IAA0B;IAAA,IAAzB;MAAEC,WAAW;MAAEC;IAAI,CAAC,GAAAF,KAAA;IACtCF,QAAQ,GAAGA,QAAQ,CAACK,OAAO,CAACD,GAAG,EAAED,WAAW,CAAC;EACjD,CAAC,CAAC;EAEF,OAAOH,QAAQ;AACnB,CAAC;AAACM,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA"}
@@ -0,0 +1,11 @@
1
+ import type { TextStringValue } from '../components/textstring-provider/TextStringProvider';
2
+ interface LoadLibraryOptions {
3
+ libraryName: string;
4
+ language: string;
5
+ }
6
+ export declare const loadLibrary: ({ language, libraryName }: LoadLibraryOptions) => Promise<TextStringValue | null>;
7
+ interface SelectLanguageToChangeOptions {
8
+ textstringName: string;
9
+ }
10
+ export declare const selectLanguageToChange: ({ textstringName }: SelectLanguageToChangeOptions) => void;
11
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectLanguageToChange = exports.loadLibrary = void 0;
7
+ const loadLibrary = async _ref => {
8
+ let {
9
+ language,
10
+ libraryName
11
+ } = _ref;
12
+ const response = await fetch(`https://webapi.tobit.com/TextStringService/v1.0/LangStrings/${libraryName}?language=${language}`);
13
+ if (response.status !== 200) {
14
+ return null;
15
+ }
16
+ return await response.json();
17
+ };
18
+ exports.loadLibrary = loadLibrary;
19
+ const selectLanguageToChange = _ref2 => {
20
+ let {
21
+ textstringName
22
+ } = _ref2;
23
+ void chayns.dialog.iFrame({
24
+ url: 'https://tapp-staging.chayns-static.space/text-string-tapp/v1/iframe-edit.html',
25
+ buttons: [],
26
+ input: {
27
+ textstring: textstringName
28
+ }
29
+ });
30
+ };
31
+ exports.selectLanguageToChange = selectLanguageToChange;
32
+ //# sourceMappingURL=textstring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textstring.js","names":["loadLibrary","_ref","language","libraryName","response","fetch","status","json","exports","selectLanguageToChange","_ref2","textstringName","chayns","dialog","iFrame","url","buttons","input","textstring"],"sources":["../../src/utils/textstring.ts"],"sourcesContent":["import type { TextStringValue } from '../components/textstring-provider/TextStringProvider';\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"],"mappings":";;;;;;AAOO,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;AAACC,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAMK,MAAMS,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;AAACH,OAAA,CAAAC,sBAAA,GAAAA,sBAAA"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@chayns-components/textstring",
3
+ "version": "5.0.0-beta.251",
4
+ "description": "A set of beautiful React components for developing your own applications with chayns.",
5
+ "keywords": [
6
+ "chayns",
7
+ "react",
8
+ "components"
9
+ ],
10
+ "author": "Tobit.Software",
11
+ "homepage": "https://github.com/TobitSoftware/chayns-components/tree/main/packages/textstring#readme",
12
+ "license": "MIT",
13
+ "main": "lib/index.js",
14
+ "types": "lib/index.d.ts",
15
+ "directories": {
16
+ "lib": "lib",
17
+ "test": "__tests__"
18
+ },
19
+ "files": [
20
+ "lib"
21
+ ],
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/TobitSoftware/chayns-components.git"
25
+ },
26
+ "scripts": {
27
+ "build": "npm run build:js && npm run build:types",
28
+ "build:js": "babel src --out-dir lib --extensions=.ts,.tsx --source-maps --ignore=src/stories",
29
+ "build:types": "tsc",
30
+ "prepublishOnly": "npm run build"
31
+ },
32
+ "bugs": {
33
+ "url": "https://github.com/TobitSoftware/chayns-components/issues"
34
+ },
35
+ "devDependencies": {
36
+ "@babel/cli": "^7.22.10",
37
+ "@babel/core": "^7.22.11",
38
+ "@babel/preset-env": "^7.22.14",
39
+ "@babel/preset-react": "^7.22.5",
40
+ "@babel/preset-typescript": "^7.22.11",
41
+ "@types/react": "^17.0.65",
42
+ "@types/react-dom": "^17.0.20",
43
+ "@types/styled-components": "^5.1.26",
44
+ "@types/uuid": "^9.0.3",
45
+ "babel-loader": "^8.3.0",
46
+ "lerna": "^7.2.0",
47
+ "react": "^17.0.2",
48
+ "react-dom": "^17.0.2",
49
+ "styled-components": "^5.3.11",
50
+ "typescript": "^4.9.5"
51
+ },
52
+ "dependencies": {
53
+ "@chayns-components/core": "^5.0.0-beta.249",
54
+ "@chayns/colors": "^2.0.0",
55
+ "chayns-api": "^1.0.38",
56
+ "clsx": "^1.2.1",
57
+ "framer-motion": "^6.5.1",
58
+ "uuid": "^9.0.0"
59
+ },
60
+ "peerDependencies": {
61
+ "react": ">=16.14.0",
62
+ "react-dom": ">=16.14.0",
63
+ "styled-components": "^5.3.11"
64
+ },
65
+ "publishConfig": {
66
+ "access": "public"
67
+ },
68
+ "gitHead": "b4a1c3c2662c060c621b91260f2fe3f053259504"
69
+ }