@chayns-components/textstring 5.0.0-beta.930 → 5.0.0-beta.932

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.
@@ -23,10 +23,11 @@ const Textstring = ({
23
23
  textstring,
24
24
  replacements
25
25
  });
26
- const handleClick = (0, _react.useCallback)(({
27
- ctrlKey
28
- }) => {
29
- if (ctrlKey) {
26
+
27
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
28
+ const childrenOnClickFunction = children === null || children === void 0 ? void 0 : children.props.onClick;
29
+ const handleClick = (0, _react.useCallback)(event => {
30
+ if (event.ctrlKey) {
30
31
  void (0, _core.isTobitEmployee)().then(inGroup => {
31
32
  if (inGroup) {
32
33
  (0, _textstring.selectLanguageToChange)({
@@ -34,8 +35,10 @@ const Textstring = ({
34
35
  });
35
36
  }
36
37
  });
38
+ } else if (typeof childrenOnClickFunction === 'function') {
39
+ childrenOnClickFunction(event);
37
40
  }
38
- }, [textstring.name]);
41
+ }, [childrenOnClickFunction, textstring.name]);
39
42
  if (children) {
40
43
  return /*#__PURE__*/_react.default.cloneElement(children, {
41
44
  dangerouslySetInnerHTML: isTextstringHTML ? {
@@ -1 +1 @@
1
- {"version":3,"file":"Textstring.js","names":["_core","require","_react","_interopRequireWildcard","_useTextstringValue","_textstring","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Textstring","children","childrenClassName","childrenStyles","childrenTagName","isTextstringHTML","replacements","textstring","text","useTextstringValue","handleClick","useCallback","ctrlKey","isTobitEmployee","then","inGroup","selectLanguageToChange","textstringName","name","React","cloneElement","dangerouslySetInnerHTML","__html","undefined","onClick","createElement","className","trim","style","displayName","_default","exports"],"sources":["../../../../src/components/textstring/Textstring.tsx"],"sourcesContent":["import { isTobitEmployee } from '@chayns-components/core';\nimport React, {\n CSSProperties,\n FC,\n MouseEvent,\n ReactHTML,\n useCallback,\n type ReactElement,\n} from 'react';\nimport { useTextstringValue } from '../../hooks/useTextstringValue';\nimport { selectLanguageToChange } from '../../utils/textstring';\nimport type { ITextstring, TextstringReplacement } from './types';\n\nexport type TextstringProps = {\n /**\n * The element that the text should be displayed in.\n */\n children?: ReactElement;\n /**\n * The class name of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenClassName?: string;\n /**\n * The styles of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenStyles?: CSSProperties;\n /**\n * The tag of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenTagName?: keyof ReactHTML;\n /**\n * Whether the textstring contains HTML elements and should be displayed as HTML.\n */\n isTextstringHTML?: boolean;\n /**\n * Replacement values for the textstring.\n */\n replacements?: TextstringReplacement;\n /**\n * The text that should be displayed.\n */\n textstring: ITextstring;\n};\n\nconst Textstring: FC<TextstringProps> = ({\n children,\n childrenClassName,\n childrenStyles,\n childrenTagName,\n isTextstringHTML,\n replacements,\n textstring,\n}) => {\n const text = useTextstringValue({ textstring, replacements });\n\n const handleClick = useCallback(\n ({ ctrlKey }: MouseEvent<HTMLElement>) => {\n if (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 if (children) {\n return React.cloneElement(\n children,\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n onClick: handleClick,\n },\n isTextstringHTML ? undefined : text,\n );\n }\n\n // eslint-disable-next-line react/no-danger-with-children\n return React.createElement(\n childrenTagName || 'span',\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n className: `${childrenClassName || ''} notranslate`.trim(),\n onClick: handleClick,\n style: childrenStyles,\n },\n isTextstringHTML ? undefined : text,\n );\n};\n\nTextstring.displayName = 'Textstring';\n\nexport default Textstring;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Textstring.js","names":["_core","require","_react","_interopRequireWildcard","_useTextstringValue","_textstring","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Textstring","children","childrenClassName","childrenStyles","childrenTagName","isTextstringHTML","replacements","textstring","text","useTextstringValue","childrenOnClickFunction","props","onClick","handleClick","useCallback","event","ctrlKey","isTobitEmployee","then","inGroup","selectLanguageToChange","textstringName","name","React","cloneElement","dangerouslySetInnerHTML","__html","undefined","createElement","className","trim","style","displayName","_default","exports"],"sources":["../../../../src/components/textstring/Textstring.tsx"],"sourcesContent":["import { isTobitEmployee } from '@chayns-components/core';\nimport React, {\n CSSProperties,\n FC,\n MouseEvent,\n ReactHTML,\n useCallback,\n type ReactElement,\n} from 'react';\nimport { useTextstringValue } from '../../hooks/useTextstringValue';\nimport { selectLanguageToChange } from '../../utils/textstring';\nimport type { ITextstring, TextstringReplacement } from './types';\n\nexport type TextstringProps = {\n /**\n * The element that the text should be displayed in.\n */\n children?: ReactElement;\n /**\n * The class name of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenClassName?: string;\n /**\n * The styles of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenStyles?: CSSProperties;\n /**\n * The tag of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenTagName?: keyof ReactHTML;\n /**\n * Whether the textstring contains HTML elements and should be displayed as HTML.\n */\n isTextstringHTML?: boolean;\n /**\n * Replacement values for the textstring.\n */\n replacements?: TextstringReplacement;\n /**\n * The text that should be displayed.\n */\n textstring: ITextstring;\n};\n\nconst Textstring: FC<TextstringProps> = ({\n children,\n childrenClassName,\n childrenStyles,\n childrenTagName,\n isTextstringHTML,\n replacements,\n textstring,\n}) => {\n const text = useTextstringValue({ textstring, replacements });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const childrenOnClickFunction = children?.props.onClick as\n | ((event: MouseEvent<HTMLElement>) => void)\n | undefined;\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n if (event.ctrlKey) {\n void isTobitEmployee().then((inGroup) => {\n if (inGroup) {\n selectLanguageToChange({\n textstringName: textstring.name,\n });\n }\n });\n } else if (typeof childrenOnClickFunction === 'function') {\n childrenOnClickFunction(event);\n }\n },\n [childrenOnClickFunction, textstring.name],\n );\n\n if (children) {\n return React.cloneElement(\n children,\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n onClick: handleClick,\n },\n isTextstringHTML ? undefined : text,\n );\n }\n\n // eslint-disable-next-line react/no-danger-with-children\n return React.createElement(\n childrenTagName || 'span',\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n className: `${childrenClassName || ''} notranslate`.trim(),\n onClick: handleClick,\n style: childrenStyles,\n },\n isTextstringHTML ? undefined : text,\n );\n};\n\nTextstring.displayName = 'Textstring';\n\nexport default Textstring;\n"],"mappings":"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","ignoreList":[]}
@@ -16,11 +16,11 @@ const Textstring = _ref => {
16
16
  textstring,
17
17
  replacements
18
18
  });
19
- const handleClick = useCallback(_ref2 => {
20
- let {
21
- ctrlKey
22
- } = _ref2;
23
- if (ctrlKey) {
19
+
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
21
+ const childrenOnClickFunction = children?.props.onClick;
22
+ const handleClick = useCallback(event => {
23
+ if (event.ctrlKey) {
24
24
  void isTobitEmployee().then(inGroup => {
25
25
  if (inGroup) {
26
26
  selectLanguageToChange({
@@ -28,8 +28,10 @@ const Textstring = _ref => {
28
28
  });
29
29
  }
30
30
  });
31
+ } else if (typeof childrenOnClickFunction === 'function') {
32
+ childrenOnClickFunction(event);
31
33
  }
32
- }, [textstring.name]);
34
+ }, [childrenOnClickFunction, textstring.name]);
33
35
  if (children) {
34
36
  return /*#__PURE__*/React.cloneElement(children, {
35
37
  dangerouslySetInnerHTML: isTextstringHTML ? {
@@ -1 +1 @@
1
- {"version":3,"file":"Textstring.js","names":["isTobitEmployee","React","useCallback","useTextstringValue","selectLanguageToChange","Textstring","_ref","children","childrenClassName","childrenStyles","childrenTagName","isTextstringHTML","replacements","textstring","text","handleClick","_ref2","ctrlKey","then","inGroup","textstringName","name","cloneElement","dangerouslySetInnerHTML","__html","undefined","onClick","createElement","className","trim","style","displayName"],"sources":["../../../../src/components/textstring/Textstring.tsx"],"sourcesContent":["import { isTobitEmployee } from '@chayns-components/core';\nimport React, {\n CSSProperties,\n FC,\n MouseEvent,\n ReactHTML,\n useCallback,\n type ReactElement,\n} from 'react';\nimport { useTextstringValue } from '../../hooks/useTextstringValue';\nimport { selectLanguageToChange } from '../../utils/textstring';\nimport type { ITextstring, TextstringReplacement } from './types';\n\nexport type TextstringProps = {\n /**\n * The element that the text should be displayed in.\n */\n children?: ReactElement;\n /**\n * The class name of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenClassName?: string;\n /**\n * The styles of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenStyles?: CSSProperties;\n /**\n * The tag of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenTagName?: keyof ReactHTML;\n /**\n * Whether the textstring contains HTML elements and should be displayed as HTML.\n */\n isTextstringHTML?: boolean;\n /**\n * Replacement values for the textstring.\n */\n replacements?: TextstringReplacement;\n /**\n * The text that should be displayed.\n */\n textstring: ITextstring;\n};\n\nconst Textstring: FC<TextstringProps> = ({\n children,\n childrenClassName,\n childrenStyles,\n childrenTagName,\n isTextstringHTML,\n replacements,\n textstring,\n}) => {\n const text = useTextstringValue({ textstring, replacements });\n\n const handleClick = useCallback(\n ({ ctrlKey }: MouseEvent<HTMLElement>) => {\n if (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 if (children) {\n return React.cloneElement(\n children,\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n onClick: handleClick,\n },\n isTextstringHTML ? undefined : text,\n );\n }\n\n // eslint-disable-next-line react/no-danger-with-children\n return React.createElement(\n childrenTagName || 'span',\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n className: `${childrenClassName || ''} notranslate`.trim(),\n onClick: handleClick,\n style: childrenStyles,\n },\n isTextstringHTML ? undefined : text,\n );\n};\n\nTextstring.displayName = 'Textstring';\n\nexport default Textstring;\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,yBAAyB;AACzD,OAAOC,KAAK,IAKRC,WAAW,QAER,OAAO;AACd,SAASC,kBAAkB,QAAQ,gCAAgC;AACnE,SAASC,sBAAsB,QAAQ,wBAAwB;AAkC/D,MAAMC,UAA+B,GAAGC,IAAA,IAQlC;EAAA,IARmC;IACrCC,QAAQ;IACRC,iBAAiB;IACjBC,cAAc;IACdC,eAAe;IACfC,gBAAgB;IAChBC,YAAY;IACZC;EACJ,CAAC,GAAAP,IAAA;EACG,MAAMQ,IAAI,GAAGX,kBAAkB,CAAC;IAAEU,UAAU;IAAED;EAAa,CAAC,CAAC;EAE7D,MAAMG,WAAW,GAAGb,WAAW,CAC3Bc,KAAA,IAA0C;IAAA,IAAzC;MAAEC;IAAiC,CAAC,GAAAD,KAAA;IACjC,IAAIC,OAAO,EAAE;MACT,KAAKjB,eAAe,CAAC,CAAC,CAACkB,IAAI,CAAEC,OAAO,IAAK;QACrC,IAAIA,OAAO,EAAE;UACTf,sBAAsB,CAAC;YACnBgB,cAAc,EAAEP,UAAU,CAACQ;UAC/B,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,EACD,CAACR,UAAU,CAACQ,IAAI,CACpB,CAAC;EAED,IAAId,QAAQ,EAAE;IACV,oBAAON,KAAK,CAACqB,YAAY,CACrBf,QAAQ,EACR;MACIgB,uBAAuB,EAAEZ,gBAAgB,GAAG;QAAEa,MAAM,EAAEV;MAAK,CAAC,GAAGW,SAAS;MACxEC,OAAO,EAAEX;IACb,CAAC,EACDJ,gBAAgB,GAAGc,SAAS,GAAGX,IACnC,CAAC;EACL;;EAEA;EACA,oBAAOb,KAAK,CAAC0B,aAAa,CACtBjB,eAAe,IAAI,MAAM,EACzB;IACIa,uBAAuB,EAAEZ,gBAAgB,GAAG;MAAEa,MAAM,EAAEV;IAAK,CAAC,GAAGW,SAAS;IACxEG,SAAS,EAAE,GAAGpB,iBAAiB,IAAI,EAAE,cAAc,CAACqB,IAAI,CAAC,CAAC;IAC1DH,OAAO,EAAEX,WAAW;IACpBe,KAAK,EAAErB;EACX,CAAC,EACDE,gBAAgB,GAAGc,SAAS,GAAGX,IACnC,CAAC;AACL,CAAC;AAEDT,UAAU,CAAC0B,WAAW,GAAG,YAAY;AAErC,eAAe1B,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"Textstring.js","names":["isTobitEmployee","React","useCallback","useTextstringValue","selectLanguageToChange","Textstring","_ref","children","childrenClassName","childrenStyles","childrenTagName","isTextstringHTML","replacements","textstring","text","childrenOnClickFunction","props","onClick","handleClick","event","ctrlKey","then","inGroup","textstringName","name","cloneElement","dangerouslySetInnerHTML","__html","undefined","createElement","className","trim","style","displayName"],"sources":["../../../../src/components/textstring/Textstring.tsx"],"sourcesContent":["import { isTobitEmployee } from '@chayns-components/core';\nimport React, {\n CSSProperties,\n FC,\n MouseEvent,\n ReactHTML,\n useCallback,\n type ReactElement,\n} from 'react';\nimport { useTextstringValue } from '../../hooks/useTextstringValue';\nimport { selectLanguageToChange } from '../../utils/textstring';\nimport type { ITextstring, TextstringReplacement } from './types';\n\nexport type TextstringProps = {\n /**\n * The element that the text should be displayed in.\n */\n children?: ReactElement;\n /**\n * The class name of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenClassName?: string;\n /**\n * The styles of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenStyles?: CSSProperties;\n /**\n * The tag of the HTML element that the text should be displayed in. Only used if `children` is not set.\n */\n childrenTagName?: keyof ReactHTML;\n /**\n * Whether the textstring contains HTML elements and should be displayed as HTML.\n */\n isTextstringHTML?: boolean;\n /**\n * Replacement values for the textstring.\n */\n replacements?: TextstringReplacement;\n /**\n * The text that should be displayed.\n */\n textstring: ITextstring;\n};\n\nconst Textstring: FC<TextstringProps> = ({\n children,\n childrenClassName,\n childrenStyles,\n childrenTagName,\n isTextstringHTML,\n replacements,\n textstring,\n}) => {\n const text = useTextstringValue({ textstring, replacements });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const childrenOnClickFunction = children?.props.onClick as\n | ((event: MouseEvent<HTMLElement>) => void)\n | undefined;\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n if (event.ctrlKey) {\n void isTobitEmployee().then((inGroup) => {\n if (inGroup) {\n selectLanguageToChange({\n textstringName: textstring.name,\n });\n }\n });\n } else if (typeof childrenOnClickFunction === 'function') {\n childrenOnClickFunction(event);\n }\n },\n [childrenOnClickFunction, textstring.name],\n );\n\n if (children) {\n return React.cloneElement(\n children,\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n onClick: handleClick,\n },\n isTextstringHTML ? undefined : text,\n );\n }\n\n // eslint-disable-next-line react/no-danger-with-children\n return React.createElement(\n childrenTagName || 'span',\n {\n dangerouslySetInnerHTML: isTextstringHTML ? { __html: text } : undefined,\n className: `${childrenClassName || ''} notranslate`.trim(),\n onClick: handleClick,\n style: childrenStyles,\n },\n isTextstringHTML ? undefined : text,\n );\n};\n\nTextstring.displayName = 'Textstring';\n\nexport default Textstring;\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,yBAAyB;AACzD,OAAOC,KAAK,IAKRC,WAAW,QAER,OAAO;AACd,SAASC,kBAAkB,QAAQ,gCAAgC;AACnE,SAASC,sBAAsB,QAAQ,wBAAwB;AAkC/D,MAAMC,UAA+B,GAAGC,IAAA,IAQlC;EAAA,IARmC;IACrCC,QAAQ;IACRC,iBAAiB;IACjBC,cAAc;IACdC,eAAe;IACfC,gBAAgB;IAChBC,YAAY;IACZC;EACJ,CAAC,GAAAP,IAAA;EACG,MAAMQ,IAAI,GAAGX,kBAAkB,CAAC;IAAEU,UAAU;IAAED;EAAa,CAAC,CAAC;;EAE7D;EACA,MAAMG,uBAAuB,GAAGR,QAAQ,EAAES,KAAK,CAACC,OAEjC;EAEf,MAAMC,WAAW,GAAGhB,WAAW,CAC1BiB,KAA8B,IAAK;IAChC,IAAIA,KAAK,CAACC,OAAO,EAAE;MACf,KAAKpB,eAAe,CAAC,CAAC,CAACqB,IAAI,CAAEC,OAAO,IAAK;QACrC,IAAIA,OAAO,EAAE;UACTlB,sBAAsB,CAAC;YACnBmB,cAAc,EAAEV,UAAU,CAACW;UAC/B,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;IACN,CAAC,MAAM,IAAI,OAAOT,uBAAuB,KAAK,UAAU,EAAE;MACtDA,uBAAuB,CAACI,KAAK,CAAC;IAClC;EACJ,CAAC,EACD,CAACJ,uBAAuB,EAAEF,UAAU,CAACW,IAAI,CAC7C,CAAC;EAED,IAAIjB,QAAQ,EAAE;IACV,oBAAON,KAAK,CAACwB,YAAY,CACrBlB,QAAQ,EACR;MACImB,uBAAuB,EAAEf,gBAAgB,GAAG;QAAEgB,MAAM,EAAEb;MAAK,CAAC,GAAGc,SAAS;MACxEX,OAAO,EAAEC;IACb,CAAC,EACDP,gBAAgB,GAAGiB,SAAS,GAAGd,IACnC,CAAC;EACL;;EAEA;EACA,oBAAOb,KAAK,CAAC4B,aAAa,CACtBnB,eAAe,IAAI,MAAM,EACzB;IACIgB,uBAAuB,EAAEf,gBAAgB,GAAG;MAAEgB,MAAM,EAAEb;IAAK,CAAC,GAAGc,SAAS;IACxEE,SAAS,EAAE,GAAGtB,iBAAiB,IAAI,EAAE,cAAc,CAACuB,IAAI,CAAC,CAAC;IAC1Dd,OAAO,EAAEC,WAAW;IACpBc,KAAK,EAAEvB;EACX,CAAC,EACDE,gBAAgB,GAAGiB,SAAS,GAAGd,IACnC,CAAC;AACL,CAAC;AAEDT,UAAU,CAAC4B,WAAW,GAAG,YAAY;AAErC,eAAe5B,UAAU","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/textstring",
3
- "version": "5.0.0-beta.930",
3
+ "version": "5.0.0-beta.932",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -69,7 +69,7 @@
69
69
  "typescript": "^5.7.2"
70
70
  },
71
71
  "dependencies": {
72
- "@chayns-components/core": "^5.0.0-beta.930"
72
+ "@chayns-components/core": "^5.0.0-beta.932"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "chayns-api": ">=1.0.73",
@@ -81,5 +81,5 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "gitHead": "840189fdaed3a8765f82867ffde6b344769b7db3"
84
+ "gitHead": "8aceef4077c0fa44dad040511d148109af8a96e4"
85
85
  }