etendo-ui-library 1.3.68 → 1.3.69

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.
Files changed (29) hide show
  1. package/dist-native/assets/images/icons/FileIcon.d.ts +7 -0
  2. package/dist-native/assets/images/icons/FileIcon.js +1 -0
  3. package/dist-native/components/text-message/CodeComponent.js +1 -1
  4. package/dist-native/components/text-message/MarkdownUtils.js +1 -1
  5. package/dist-native/components/text-message/MarkdownUtils.styles.d.ts +44 -0
  6. package/dist-native/components/text-message/MarkdownUtils.styles.js +1 -0
  7. package/dist-native/components/text-message/TextMessage.js +1 -1
  8. package/dist-native/components/text-message/TextMessage.styles.d.ts +125 -0
  9. package/dist-native/components/text-message/TextMessage.styles.js +1 -0
  10. package/dist-native/components/text-message/TextMessage.types.d.ts +0 -2
  11. package/dist-native/components/text-message/TextMessage.utils.d.ts +1 -0
  12. package/dist-native/components/text-message/TextMessage.utils.js +1 -0
  13. package/dist-web/assets/images/icons/FileIcon.d.ts +7 -0
  14. package/dist-web/assets/images/icons/FileIcon.js +27 -0
  15. package/dist-web/components/text-message/CodeComponent.js +0 -2
  16. package/dist-web/components/text-message/MarkdownUtils.js +25 -53
  17. package/dist-web/components/text-message/MarkdownUtils.styles.d.ts +44 -0
  18. package/dist-web/components/text-message/MarkdownUtils.styles.js +46 -0
  19. package/dist-web/components/text-message/TextMessage.js +19 -111
  20. package/dist-web/components/text-message/TextMessage.styles.d.ts +125 -0
  21. package/dist-web/components/text-message/TextMessage.styles.js +127 -0
  22. package/dist-web/components/text-message/TextMessage.types.d.ts +0 -2
  23. package/dist-web/components/text-message/TextMessage.utils.d.ts +1 -0
  24. package/dist-web/components/text-message/TextMessage.utils.js +9 -0
  25. package/package.json +1 -1
  26. package/dist-native/components/text-message/ParagraphComponent.d.ts +0 -1
  27. package/dist-native/components/text-message/ParagraphComponent.js +0 -1
  28. package/dist-web/components/text-message/ParagraphComponent.d.ts +0 -1
  29. package/dist-web/components/text-message/ParagraphComponent.js +0 -47
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { ImageStyle } from 'react-native';
3
+ export interface SvgImageProps {
4
+ style?: ImageStyle;
5
+ fill?: string;
6
+ }
7
+ export declare const FileIcon: ({ style, fill }: SvgImageProps) => React.JSX.Element;
@@ -0,0 +1 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.FileIcon=void 0;var _react=_interopRequireDefault(require("react"));var _reactNativeSvg=_interopRequireWildcard(require("react-native-svg"));var _svg_utils=require("../../../helpers/svg_utils");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/assets/images/icons/FileIcon.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var FileIcon=exports.FileIcon=function FileIcon(_ref){var style=_ref.style,_ref$fill=_ref.fill,fill=_ref$fill===void 0?'#121212':_ref$fill;var width=(0,_svg_utils.sizeSvg)((style==null?void 0:style.width)||48);var height=(0,_svg_utils.sizeSvg)((style==null?void 0:style.height)||48);return _react.default.createElement(_reactNativeSvg.default,{width:width,height:height,viewBox:"0 0 48 48",fill:"none",style:style,__self:_this,__source:{fileName:_jsxFileName,lineNumber:16,columnNumber:9}},_react.default.createElement(_reactNativeSvg.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M7.75736 3.75736C8.88258 2.63214 10.4087 2 12 2H26C26.5304 2 27.0391 2.21071 27.4142 2.58579L41.4142 16.5858C41.7893 16.9609 42 17.4696 42 18V40C42 41.5913 41.3679 43.1174 40.2426 44.2426C39.1174 45.3679 37.5913 46 36 46H12C10.4087 46 8.88258 45.3679 7.75736 44.2426C6.63214 43.1174 6 41.5913 6 40V8C6 6.4087 6.63214 4.88258 7.75736 3.75736ZM12 6C11.4696 6 10.9609 6.21071 10.5858 6.58579C10.2107 6.96086 10 7.46957 10 8V40C10 40.5304 10.2107 41.0391 10.5858 41.4142C10.9609 41.7893 11.4696 42 12 42H36C36.5304 42 37.0391 41.7893 37.4142 41.4142C37.7893 41.0391 38 40.5304 38 40V18.8284L25.1716 6H12Z",fill:fill,__self:_this,__source:{fileName:_jsxFileName,lineNumber:23,columnNumber:13}}),_react.default.createElement(_reactNativeSvg.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M26 2C27.1046 2 28 2.89543 28 4V16H40C41.1046 16 42 16.8954 42 18C42 19.1046 41.1046 20 40 20H26C24.8954 20 24 19.1046 24 18V4C24 2.89543 24.8954 2 26 2Z",fill:fill,__self:_this,__source:{fileName:_jsxFileName,lineNumber:29,columnNumber:13}}));};
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.CodeComponent=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactSyntaxHighlighter=require("react-syntax-highlighter");var _CopyIcon=require("../../assets/images/icons/CopyIcon");var _colors=require("../../styles/colors");var _hljs=require("react-syntax-highlighter/dist/esm/styles/hljs");var _excluded=["node","inline","className","children"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/text-message/CodeComponent.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var CodeComponent=exports.CodeComponent=function CodeComponent(_ref){var node=_ref.node,inline=_ref.inline,className=_ref.className,children=_ref.children,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),copiedCode=_useState2[0],setCopiedCode=_useState2[1];var textContent=typeof children==='string'?children:typeof children==='object'&&children.props&&typeof children.props.children==='string'?children.props.children:'';var copyToClipboard=function copyToClipboard(){setCopiedCode(true);_reactNative.Clipboard.setString(textContent);setTimeout(function(){return setCopiedCode(false);},2000);};return _react.default.createElement(_reactNative.View,{style:{marginTop:8,marginBottom:8},__self:_this,__source:{fileName:_jsxFileName,lineNumber:37,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:styles.copyButton,__self:_this,__source:{fileName:_jsxFileName,lineNumber:41,columnNumber:13}},_react.default.createElement(_CopyIcon.CopyIcon,{fill:_colors.NEUTRAL_0,style:{width:12,height:12},__self:_this,__source:{fileName:_jsxFileName,lineNumber:42,columnNumber:17}}),_react.default.createElement(_reactNative.Text,{style:styles.copyButtonText,onPress:copyToClipboard,__self:_this,__source:{fileName:_jsxFileName,lineNumber:43,columnNumber:17}},copiedCode?'Copied text!':'Copy code')),_react.default.createElement(_reactSyntaxHighlighter.Prism,{style:_hljs.nightOwl,customStyle:{borderBottomRightRadius:"0.25rem",borderBottomLeftRadius:"0.25rem",fontSize:"0.75rem",margin:0},children:textContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:45,columnNumber:13}}));};var styles=_reactNative.StyleSheet.create({boldText:{fontWeight:'bold'},italicText:{fontStyle:'italic'},copyButton:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",padding:5,borderTopRightRadius:4,borderTopLeftRadius:4,backgroundColor:_colors.PRIMARY_20,gap:5},copyButtonText:{color:_colors.NEUTRAL_0,fontSize:12}});
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.CodeComponent=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactSyntaxHighlighter=require("react-syntax-highlighter");var _CopyIcon=require("../../assets/images/icons/CopyIcon");var _colors=require("../../styles/colors");var _hljs=require("react-syntax-highlighter/dist/esm/styles/hljs");var _excluded=["node","inline","className","children"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/text-message/CodeComponent.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var CodeComponent=exports.CodeComponent=function CodeComponent(_ref){var node=_ref.node,inline=_ref.inline,className=_ref.className,children=_ref.children,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),copiedCode=_useState2[0],setCopiedCode=_useState2[1];var textContent=typeof children==='string'?children:typeof children==='object'&&children.props&&typeof children.props.children==='string'?children.props.children:'';var copyToClipboard=function copyToClipboard(){setCopiedCode(true);_reactNative.Clipboard.setString(textContent);setTimeout(function(){return setCopiedCode(false);},2000);};return _react.default.createElement(_reactNative.View,{style:{marginTop:8,marginBottom:8},__self:_this,__source:{fileName:_jsxFileName,lineNumber:36,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:styles.copyButton,__self:_this,__source:{fileName:_jsxFileName,lineNumber:40,columnNumber:13}},_react.default.createElement(_CopyIcon.CopyIcon,{fill:_colors.NEUTRAL_0,style:{width:12,height:12},__self:_this,__source:{fileName:_jsxFileName,lineNumber:41,columnNumber:17}}),_react.default.createElement(_reactNative.Text,{style:styles.copyButtonText,onPress:copyToClipboard,__self:_this,__source:{fileName:_jsxFileName,lineNumber:42,columnNumber:17}},copiedCode?'Copied text!':'Copy code')),_react.default.createElement(_reactSyntaxHighlighter.Prism,{style:_hljs.nightOwl,customStyle:{borderBottomRightRadius:"0.25rem",borderBottomLeftRadius:"0.25rem",fontSize:"0.75rem",margin:0},children:textContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:44,columnNumber:13}}));};var styles=_reactNative.StyleSheet.create({boldText:{fontWeight:'bold'},italicText:{fontStyle:'italic'},copyButton:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",padding:5,borderTopRightRadius:4,borderTopLeftRadius:4,backgroundColor:_colors.PRIMARY_20,gap:5},copyButtonText:{color:_colors.NEUTRAL_0,fontSize:12}});
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.RenderMarkdownText=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _colors=require("../../styles/colors");var _reactMarkdown=_interopRequireDefault(require("react-markdown"));var _CodeComponent=require("./CodeComponent");var _AnchorComponent=require("./AnchorComponent");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/text-message/MarkdownUtils.tsx";var InlineCode=function InlineCode(_ref){var children=_ref.children;return _react.default.createElement(_reactNative.Text,{style:styles.inlineCode,__self:_this,__source:{fileName:_jsxFileName,lineNumber:10,columnNumber:5}},children);};var Paragraph=function Paragraph(_ref2){var children=_ref2.children;return _react.default.createElement(_reactNative.Text,{style:styles.paragraph,__self:_this,__source:{fileName:_jsxFileName,lineNumber:14,columnNumber:5}},children);};var RenderMarkdownText=exports.RenderMarkdownText=function RenderMarkdownText(_ref3){var text=_ref3.text,_ref3$type=_ref3.type,type=_ref3$type===void 0?'default':_ref3$type;return _react.default.createElement(_reactNative.ScrollView,{horizontal:false,style:{flex:1},__self:_this,__source:{fileName:_jsxFileName,lineNumber:20,columnNumber:9}},_react.default.createElement(_reactMarkdown.default,{components:{pre:_CodeComponent.CodeComponent,code:InlineCode,a:_AnchorComponent.AnchorComponent,p:Paragraph},__self:_this,__source:{fileName:_jsxFileName,lineNumber:21,columnNumber:13}},text));};var styles=_reactNative.StyleSheet.create({boldText:{fontWeight:'bold'},italicText:{fontStyle:'italic'},copyButton:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",padding:5,borderTopRightRadius:4,borderTopLeftRadius:4,backgroundColor:_colors.PRIMARY_20,gap:5},copyButtonText:{color:_colors.NEUTRAL_0,fontSize:12},linkText:{color:_colors.INITIAL_100,fontWeight:"600",textDecorationLine:'underline'},inlineCode:{backgroundColor:_colors.TERTIARY_70,paddingHorizontal:4,borderRadius:4,color:_colors.PRIMARY_100,fontWeight:"700"},paragraph:{margin:0,padding:0,lineHeight:20},listItem:{fontWeight:"700"}});
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.RenderMarkdownText=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _reactMarkdown=_interopRequireDefault(require("react-markdown"));var _CodeComponent=require("./CodeComponent");var _AnchorComponent=require("./AnchorComponent");var _TextMessage=require("./TextMessage.utils");var _MarkdownUtils=require("./MarkdownUtils.styles");var _excluded=["children","type"],_excluded2=["node"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/text-message/MarkdownUtils.tsx";var InlineCode=function InlineCode(_ref){var children=_ref.children;return _react.default.createElement(_reactNative.Text,{style:_MarkdownUtils.styles.inlineCode,__self:_this,__source:{fileName:_jsxFileName,lineNumber:11,columnNumber:5}},children);};var Paragraph=function Paragraph(_ref2){var children=_ref2.children,type=_ref2.type,props=(0,_objectWithoutProperties2.default)(_ref2,_excluded);return _react.default.createElement(_reactNative.Text,(0,_extends2.default)({style:[_MarkdownUtils.styles.paragraph,{color:(0,_TextMessage.getTextColorByType)(type)},props.style]},props,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:16,columnNumber:9}}),children);};var RenderMarkdownText=exports.RenderMarkdownText=function RenderMarkdownText(_ref3){var text=_ref3.text,_ref3$type=_ref3.type,type=_ref3$type===void 0?"left-user":_ref3$type;return _react.default.createElement(_reactNative.ScrollView,{horizontal:false,style:{flex:1},__self:_this,__source:{fileName:_jsxFileName,lineNumber:25,columnNumber:9}},_react.default.createElement(_reactMarkdown.default,{components:{pre:_CodeComponent.CodeComponent,code:InlineCode,a:_AnchorComponent.AnchorComponent,p:function p(_ref4){var node=_ref4.node,props=(0,_objectWithoutProperties2.default)(_ref4,_excluded2);return _react.default.createElement(Paragraph,(0,_extends2.default)({},props,{type:type,__self:_this,__source:{fileName:_jsxFileName,lineNumber:30,columnNumber:44}}));}},__self:_this,__source:{fileName:_jsxFileName,lineNumber:26,columnNumber:13}},text));};
@@ -0,0 +1,44 @@
1
+ export declare const styles: {
2
+ boldText: {
3
+ fontWeight: "bold";
4
+ };
5
+ italicText: {
6
+ fontStyle: "italic";
7
+ };
8
+ copyButton: {
9
+ flexDirection: "row";
10
+ justifyContent: "flex-end";
11
+ alignItems: "center";
12
+ padding: number;
13
+ borderTopRightRadius: number;
14
+ borderTopLeftRadius: number;
15
+ backgroundColor: string;
16
+ gap: number;
17
+ };
18
+ copyButtonText: {
19
+ color: string;
20
+ fontSize: number;
21
+ };
22
+ linkText: {
23
+ color: string;
24
+ fontWeight: "600";
25
+ textDecorationLine: "underline";
26
+ };
27
+ inlineCode: {
28
+ backgroundColor: string;
29
+ paddingHorizontal: number;
30
+ borderRadius: number;
31
+ color: string;
32
+ fontWeight: "700";
33
+ };
34
+ paragraph: {
35
+ margin: number;
36
+ padding: number;
37
+ lineHeight: number;
38
+ color: string;
39
+ fontWeight: "500";
40
+ };
41
+ listItem: {
42
+ fontWeight: "700";
43
+ };
44
+ };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.styles=void 0;var _reactNative=require("react-native");var _colors=require("../../styles/colors");var styles=exports.styles=_reactNative.StyleSheet.create({boldText:{fontWeight:'bold'},italicText:{fontStyle:'italic'},copyButton:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",padding:5,borderTopRightRadius:4,borderTopLeftRadius:4,backgroundColor:_colors.PRIMARY_20,gap:5},copyButtonText:{color:_colors.NEUTRAL_0,fontSize:12},linkText:{color:_colors.INITIAL_100,fontWeight:"600",textDecorationLine:'underline'},inlineCode:{backgroundColor:_colors.TERTIARY_70,paddingHorizontal:4,borderRadius:4,color:_colors.PRIMARY_100,fontWeight:"700"},paragraph:{margin:0,padding:0,lineHeight:20,color:_colors.NEUTRAL_800,fontWeight:"500"},listItem:{fontWeight:"700"}});
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _colors=require("../../styles/colors");var _ErrorIcon=require("../../assets/images/icons/ErrorIcon");var _MarkdownUtils=require("./MarkdownUtils");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/text-message/TextMessage.tsx";var TextMessage=function TextMessage(_ref){var title=_ref.title,text=_ref.text,file=_ref.file,time=_ref.time,type=_ref.type,titleStyle=_ref.titleStyle,backgroundColor=_ref.backgroundColor;var messageStyle=[styles.messageContainer,{backgroundColor:type==='error'?_colors.DANGER_100:type==='right-user'?_colors.NEUTRAL_200:backgroundColor||_colors.NEUTRAL_0},{alignSelf:type==='right-user'?'flex-end':'flex-start'}];var renderTitle=function renderTitle(title){return _react.default.createElement(_reactNative.Text,{style:[styles.title,titleStyle],__self:_this,__source:{fileName:_jsxFileName,lineNumber:25,columnNumber:16}},title);};return _react.default.createElement(_reactNative.View,{style:messageStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:29,columnNumber:9}},title&&renderTitle(title),file&&_react.default.createElement(_reactNative.Text,{style:styles.file,__self:_this,__source:{fileName:_jsxFileName,lineNumber:34,columnNumber:22}},file),_react.default.createElement(_reactNative.View,{style:styles.textContentWithIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:37,columnNumber:13}},type==='error'&&_react.default.createElement(_reactNative.View,{style:styles.errorIconContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:39,columnNumber:21}},_react.default.createElement(_ErrorIcon.ErrorIcon,{style:{height:8,width:8},__self:_this,__source:{fileName:_jsxFileName,lineNumber:40,columnNumber:25}})),_react.default.createElement(_MarkdownUtils.RenderMarkdownText,{text:text,type:type,__self:_this,__source:{fileName:_jsxFileName,lineNumber:44,columnNumber:17}})),time&&_react.default.createElement(_reactNative.Text,{style:type==="error"?styles.errorTimestamp:styles.timestamp,__self:_this,__source:{fileName:_jsxFileName,lineNumber:49,columnNumber:17}},time));};var styles=_reactNative.StyleSheet.create({scrollViewContent:{width:"100%",borderBottomLeftRadius:8,borderBottomRightRadius:8},messageContainer:{padding:8,borderBottomLeftRadius:8,borderBottomRightRadius:8,flexDirection:'column',marginTop:12,maxWidth:'100%'},textContentWithIcon:{flexDirection:'row',alignItems:'center'},userMessage:{alignSelf:'flex-end'},title:{color:_colors.PRIMARY_100,fontSize:16,fontWeight:"600",marginBottom:2},file:{backgroundColor:_colors.TERTIARY_70},botMessage:{backgroundColor:_colors.NEUTRAL_0,alignSelf:'flex-start',borderTopRightRadius:8},userMessageBubble:{flexDirection:'column',backgroundColor:_colors.TERTIARY_30,borderTopLeftRadius:8},botMessageBubble:{flexDirection:'column'},messageBubble:{padding:8,borderBottomRightRadius:8,borderBottomLeftRadius:8,flexDirection:"column",justifyContent:'space-between'},defaultTimestamp:{color:_colors.TERTIARY_100,fontSize:12,paddingTop:4,alignSelf:'flex-end'},textContentContainer:{alignSelf:"flex-end"},timestampContainer:{alignSelf:'flex-end',marginTop:4},timestamp:{fontSize:12,marginTop:4,alignSelf:'flex-end',color:_colors.TERTIARY_100},messageText:{color:_colors.TERTIARY_100,fontSize:14},userMessageText:{color:_colors.TERTIARY_100},botMessageText:{color:_colors.NEUTRAL_100},errorMessage:{backgroundColor:_colors.DANGER_100,alignSelf:'flex-start',borderTopRightRadius:8},errorMessageText:{color:_colors.DANGER_900},errorIconContainer:{width:16,height:16,borderRadius:12,backgroundColor:_colors.DANGER_700,color:_colors.DANGER_900,justifyContent:'center',alignItems:'center',marginRight:8},errorTimestamp:{color:_colors.DANGER_900,fontSize:12,paddingTop:4,alignSelf:'flex-end'}});var _default=exports.default=TextMessage;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _colors=require("../../styles/colors");var _ErrorIcon=require("../../assets/images/icons/ErrorIcon");var _MarkdownUtils=require("./MarkdownUtils");var _FileIcon=require("../../assets/images/icons/FileIcon");var _TextMessage=require("./TextMessage.styles");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/text-message/TextMessage.tsx";var TextMessage=function TextMessage(_ref){var title=_ref.title,text=_ref.text,file=_ref.file,time=_ref.time,type=_ref.type,backgroundColor=_ref.backgroundColor;var messageStyle=[_TextMessage.styles.messageContainer,{borderTopLeftRadius:type==='left-user'||type==='error'?0:8},{borderTopRightRadius:type==='right-user'?0:8},{backgroundColor:type==='error'?_colors.DANGER_100:type==='right-user'?_colors.NEUTRAL_200:backgroundColor||_colors.NEUTRAL_0},{alignSelf:type==='right-user'?'flex-end':'flex-start'}];var renderTitle=function renderTitle(title,type){return _react.default.createElement(_reactNative.Text,{style:[_TextMessage.styles.title,{color:type=='error'?_colors.DANGER_900:_colors.NEUTRAL_1000}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:28,columnNumber:16}},title);};return _react.default.createElement(_reactNative.View,{style:messageStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:32,columnNumber:9}},title&&renderTitle(title,type),file&&_react.default.createElement(_reactNative.View,{style:[_TextMessage.styles.fileContainer,type==='right-user'?_TextMessage.styles.rightUserFileContainer:_TextMessage.styles.otherUserFileContainer],__self:_this,__source:{fileName:_jsxFileName,lineNumber:38,columnNumber:17}},_react.default.createElement(_FileIcon.FileIcon,{style:_TextMessage.styles.fileIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:42,columnNumber:21}}),_react.default.createElement(_reactNative.Text,{style:_TextMessage.styles.file,__self:_this,__source:{fileName:_jsxFileName,lineNumber:43,columnNumber:21}},file)),_react.default.createElement(_reactNative.View,{style:_TextMessage.styles.textContentWithIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:48,columnNumber:13}},type==='error'&&_react.default.createElement(_reactNative.View,{style:_TextMessage.styles.errorIconContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:50,columnNumber:21}},_react.default.createElement(_ErrorIcon.ErrorIcon,{style:{height:8,width:8},__self:_this,__source:{fileName:_jsxFileName,lineNumber:51,columnNumber:25}})),_react.default.createElement(_MarkdownUtils.RenderMarkdownText,{text:text,type:type,__self:_this,__source:{fileName:_jsxFileName,lineNumber:55,columnNumber:17}})),time&&_react.default.createElement(_reactNative.Text,{style:type==="error"?_TextMessage.styles.errorTimestamp:_TextMessage.styles.timestamp,__self:_this,__source:{fileName:_jsxFileName,lineNumber:60,columnNumber:17}},time));};var _default=exports.default=TextMessage;
@@ -0,0 +1,125 @@
1
+ export declare const styles: {
2
+ scrollViewContent: {
3
+ width: "100%";
4
+ borderBottomLeftRadius: number;
5
+ borderBottomRightRadius: number;
6
+ };
7
+ messageContainer: {
8
+ padding: number;
9
+ borderRadius: number;
10
+ flexDirection: "column";
11
+ marginBottom: number;
12
+ maxWidth: "100%";
13
+ };
14
+ textContentWithIcon: {
15
+ flexDirection: "row";
16
+ alignItems: "center";
17
+ };
18
+ userMessage: {
19
+ alignSelf: "flex-end";
20
+ };
21
+ title: {
22
+ color: string;
23
+ fontSize: number;
24
+ fontWeight: "600";
25
+ marginBottom: number;
26
+ };
27
+ botMessage: {
28
+ backgroundColor: string;
29
+ alignSelf: "flex-start";
30
+ borderTopRightRadius: number;
31
+ };
32
+ userMessageBubble: {
33
+ flexDirection: "column";
34
+ backgroundColor: string;
35
+ borderTopLeftRadius: number;
36
+ };
37
+ botMessageBubble: {
38
+ flexDirection: "column";
39
+ };
40
+ messageBubble: {
41
+ padding: number;
42
+ borderBottomRightRadius: number;
43
+ borderBottomLeftRadius: number;
44
+ flexDirection: "column";
45
+ justifyContent: "space-between";
46
+ };
47
+ fileContainer: {
48
+ marginTop: number;
49
+ marginBottom: number;
50
+ padding: number;
51
+ borderRadius: number;
52
+ borderColor: string;
53
+ borderWidth: number;
54
+ flexDirection: "row";
55
+ alignItems: "center";
56
+ };
57
+ rightUserFileContainer: {
58
+ backgroundColor: string;
59
+ };
60
+ otherUserFileContainer: {
61
+ backgroundColor: string;
62
+ };
63
+ fileIcon: {
64
+ width: number;
65
+ height: number;
66
+ };
67
+ file: {
68
+ paddingHorizontal: number;
69
+ fontWeight: "500";
70
+ fontSize: number;
71
+ };
72
+ defaultTimestamp: {
73
+ color: string;
74
+ fontSize: number;
75
+ paddingTop: number;
76
+ alignSelf: "flex-end";
77
+ };
78
+ textContentContainer: {
79
+ alignSelf: "flex-end";
80
+ };
81
+ timestampContainer: {
82
+ alignSelf: "flex-end";
83
+ marginTop: number;
84
+ };
85
+ timestamp: {
86
+ fontSize: number;
87
+ marginTop: number;
88
+ alignSelf: "flex-end";
89
+ color: string;
90
+ };
91
+ messageText: {
92
+ color: string;
93
+ fontSize: number;
94
+ };
95
+ userMessageText: {
96
+ color: string;
97
+ };
98
+ botMessageText: {
99
+ color: string;
100
+ };
101
+ errorMessage: {
102
+ backgroundColor: string;
103
+ alignSelf: "flex-start";
104
+ borderTopRightRadius: number;
105
+ };
106
+ errorMessageText: {
107
+ color: string;
108
+ };
109
+ errorIconContainer: {
110
+ width: number;
111
+ height: number;
112
+ borderRadius: number;
113
+ backgroundColor: string;
114
+ color: string;
115
+ justifyContent: "center";
116
+ alignItems: "center";
117
+ marginRight: number;
118
+ };
119
+ errorTimestamp: {
120
+ color: string;
121
+ fontSize: number;
122
+ paddingTop: number;
123
+ alignSelf: "flex-end";
124
+ };
125
+ };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.styles=void 0;var _reactNative=require("react-native");var _colors=require("../../styles/colors");var styles=exports.styles=_reactNative.StyleSheet.create({scrollViewContent:{width:"100%",borderBottomLeftRadius:8,borderBottomRightRadius:8},messageContainer:{padding:8,borderRadius:8,flexDirection:'column',marginBottom:12,maxWidth:'100%'},textContentWithIcon:{flexDirection:'row',alignItems:'center'},userMessage:{alignSelf:'flex-end'},title:{color:_colors.NEUTRAL_1000,fontSize:16,fontWeight:"600",marginBottom:2},botMessage:{backgroundColor:_colors.NEUTRAL_0,alignSelf:'flex-start',borderTopRightRadius:8},userMessageBubble:{flexDirection:'column',backgroundColor:_colors.TERTIARY_30,borderTopLeftRadius:8},botMessageBubble:{flexDirection:'column'},messageBubble:{padding:8,borderBottomRightRadius:8,borderBottomLeftRadius:8,flexDirection:"column",justifyContent:'space-between'},fileContainer:{marginTop:2,marginBottom:4,padding:8,borderRadius:8,borderColor:_colors.NEUTRAL_400,borderWidth:1,flexDirection:"row",alignItems:"center"},rightUserFileContainer:{backgroundColor:_colors.NEUTRAL_0},otherUserFileContainer:{backgroundColor:_colors.NEUTRAL_200},fileIcon:{width:36,height:36},file:{paddingHorizontal:8,fontWeight:"500",fontSize:14},defaultTimestamp:{color:_colors.TERTIARY_100,fontSize:12,paddingTop:4,alignSelf:'flex-end'},textContentContainer:{alignSelf:"flex-end"},timestampContainer:{alignSelf:'flex-end',marginTop:4},timestamp:{fontSize:12,marginTop:4,alignSelf:'flex-end',color:_colors.TERTIARY_100},messageText:{color:_colors.TERTIARY_100,fontSize:14},userMessageText:{color:_colors.TERTIARY_100},botMessageText:{color:_colors.NEUTRAL_100},errorMessage:{backgroundColor:_colors.DANGER_100,alignSelf:'flex-start',borderTopRightRadius:8},errorMessageText:{color:_colors.DANGER_900},errorIconContainer:{width:16,height:16,borderRadius:12,backgroundColor:_colors.DANGER_700,color:_colors.DANGER_900,justifyContent:'center',alignItems:'center',marginRight:8},errorTimestamp:{color:_colors.DANGER_900,fontSize:12,paddingTop:4,alignSelf:'flex-end'}});
@@ -1,4 +1,3 @@
1
- import { StyleProp, TextStyle } from 'react-native';
2
1
  export interface TextMessageProps {
3
2
  title?: string;
4
3
  text: string;
@@ -6,5 +5,4 @@ export interface TextMessageProps {
6
5
  time?: string;
7
6
  type?: 'left-user' | 'right-user' | 'error';
8
7
  backgroundColor?: string;
9
- titleStyle?: StyleProp<TextStyle>;
10
8
  }
@@ -0,0 +1 @@
1
+ export declare const getTextColorByType: (type: 'left-user' | "right-user" | "error") => "#424242" | "#74122E";
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.getTextColorByType=void 0;var _colors=require("../../styles/colors");var getTextColorByType=exports.getTextColorByType=function getTextColorByType(type){switch(type){case'error':return _colors.DANGER_900;default:return _colors.NEUTRAL_800;}};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { ImageStyle } from 'react-native';
3
+ export interface SvgImageProps {
4
+ style?: ImageStyle;
5
+ fill?: string;
6
+ }
7
+ export declare const FileIcon: ({ style, fill }: SvgImageProps) => React.JSX.Element;
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import Svg, { Path } from "react-native-svg-web";
3
+ import { sizeSvg } from "../../../helpers/svg_utils";
4
+ export var FileIcon = function FileIcon(_ref) {
5
+ var style = _ref.style,
6
+ _ref$fill = _ref.fill,
7
+ fill = _ref$fill === void 0 ? '#121212' : _ref$fill;
8
+ var width = sizeSvg((style === null || style === void 0 ? void 0 : style.width) || 48);
9
+ var height = sizeSvg((style === null || style === void 0 ? void 0 : style.height) || 48);
10
+ return /*#__PURE__*/React.createElement(Svg, {
11
+ width: width,
12
+ height: height,
13
+ viewBox: "0 0 48 48",
14
+ fill: "none",
15
+ style: style
16
+ }, /*#__PURE__*/React.createElement(Path, {
17
+ fillRule: "evenodd",
18
+ clipRule: "evenodd",
19
+ d: "M7.75736 3.75736C8.88258 2.63214 10.4087 2 12 2H26C26.5304 2 27.0391 2.21071 27.4142 2.58579L41.4142 16.5858C41.7893 16.9609 42 17.4696 42 18V40C42 41.5913 41.3679 43.1174 40.2426 44.2426C39.1174 45.3679 37.5913 46 36 46H12C10.4087 46 8.88258 45.3679 7.75736 44.2426C6.63214 43.1174 6 41.5913 6 40V8C6 6.4087 6.63214 4.88258 7.75736 3.75736ZM12 6C11.4696 6 10.9609 6.21071 10.5858 6.58579C10.2107 6.96086 10 7.46957 10 8V40C10 40.5304 10.2107 41.0391 10.5858 41.4142C10.9609 41.7893 11.4696 42 12 42H36C36.5304 42 37.0391 41.7893 37.4142 41.4142C37.7893 41.0391 38 40.5304 38 40V18.8284L25.1716 6H12Z",
20
+ fill: fill
21
+ }), /*#__PURE__*/React.createElement(Path, {
22
+ fillRule: "evenodd",
23
+ clipRule: "evenodd",
24
+ d: "M26 2C27.1046 2 28 2.89543 28 4V16H40C41.1046 16 42 16.8954 42 18C42 19.1046 41.1046 20 40 20H26C24.8954 20 24 19.1046 24 18V4C24 2.89543 24.8954 2 26 2Z",
25
+ fill: fill
26
+ }));
27
+ };
@@ -27,8 +27,6 @@ export var CodeComponent = function CodeComponent(_ref) {
27
27
  _useState2 = _slicedToArray(_useState, 2),
28
28
  copiedCode = _useState2[0],
29
29
  setCopiedCode = _useState2[1];
30
-
31
- // Obtener el texto de props.children si es un string o un elemento React
32
30
  var textContent = typeof children === 'string' ? children : _typeof(children) === 'object' && children.props && typeof children.props.children === 'string' ? children.props.children : '';
33
31
 
34
32
  // Copies the code to the clipboard
@@ -1,9 +1,15 @@
1
+ var _excluded = ["children", "type"],
2
+ _excluded2 = ["node"];
3
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
5
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
1
6
  import React from 'react';
2
- import { Text, StyleSheet, ScrollView } from "react-native-web";
3
- import { INITIAL_100, NEUTRAL_0, PRIMARY_100, PRIMARY_20, TERTIARY_70 } from "../../styles/colors";
7
+ import { Text, ScrollView } from "react-native-web";
4
8
  import ReactMarkdown from 'react-markdown';
5
9
  import { CodeComponent } from "./CodeComponent";
6
10
  import { AnchorComponent } from "./AnchorComponent";
11
+ import { getTextColorByType } from "./TextMessage.utils";
12
+ import { styles } from "./MarkdownUtils.styles";
7
13
  var InlineCode = function InlineCode(_ref) {
8
14
  var children = _ref.children;
9
15
  return /*#__PURE__*/React.createElement(Text, {
@@ -11,17 +17,21 @@ var InlineCode = function InlineCode(_ref) {
11
17
  }, children);
12
18
  };
13
19
  var Paragraph = function Paragraph(_ref2) {
14
- var children = _ref2.children;
15
- return /*#__PURE__*/React.createElement(Text, {
16
- style: styles.paragraph
17
- }, children);
20
+ var children = _ref2.children,
21
+ type = _ref2.type,
22
+ props = _objectWithoutProperties(_ref2, _excluded);
23
+ return /*#__PURE__*/React.createElement(Text, _extends({
24
+ style: [styles.paragraph, {
25
+ color: getTextColorByType(type)
26
+ }, props.style]
27
+ }, props), children);
18
28
  };
19
29
 
20
30
  // Component to render markdown text
21
31
  export var RenderMarkdownText = function RenderMarkdownText(_ref3) {
22
32
  var text = _ref3.text,
23
33
  _ref3$type = _ref3.type,
24
- type = _ref3$type === void 0 ? 'default' : _ref3$type;
34
+ type = _ref3$type === void 0 ? "left-user" : _ref3$type;
25
35
  return /*#__PURE__*/React.createElement(ScrollView, {
26
36
  horizontal: false,
27
37
  style: {
@@ -32,51 +42,13 @@ export var RenderMarkdownText = function RenderMarkdownText(_ref3) {
32
42
  pre: CodeComponent,
33
43
  code: InlineCode,
34
44
  a: AnchorComponent,
35
- p: Paragraph
45
+ p: function p(_ref4) {
46
+ var node = _ref4.node,
47
+ props = _objectWithoutProperties(_ref4, _excluded2);
48
+ return /*#__PURE__*/React.createElement(Paragraph, _extends({}, props, {
49
+ type: type
50
+ }));
51
+ }
36
52
  }
37
53
  }, text));
38
- };
39
-
40
- // StyleSheet for the components
41
- var styles = StyleSheet.create({
42
- boldText: {
43
- fontWeight: 'bold'
44
- },
45
- italicText: {
46
- fontStyle: 'italic'
47
- },
48
- copyButton: {
49
- flexDirection: "row",
50
- justifyContent: "flex-end",
51
- alignItems: "center",
52
- padding: 5,
53
- borderTopRightRadius: 4,
54
- borderTopLeftRadius: 4,
55
- backgroundColor: PRIMARY_20,
56
- gap: 5
57
- },
58
- copyButtonText: {
59
- color: NEUTRAL_0,
60
- fontSize: 12
61
- },
62
- linkText: {
63
- color: INITIAL_100,
64
- fontWeight: "600",
65
- textDecorationLine: 'underline'
66
- },
67
- inlineCode: {
68
- backgroundColor: TERTIARY_70,
69
- paddingHorizontal: 4,
70
- borderRadius: 4,
71
- color: PRIMARY_100,
72
- fontWeight: "700"
73
- },
74
- paragraph: {
75
- margin: 0,
76
- padding: 0,
77
- lineHeight: 20
78
- },
79
- listItem: {
80
- fontWeight: "700"
81
- }
82
- });
54
+ };
@@ -0,0 +1,44 @@
1
+ export declare const styles: {
2
+ boldText: {
3
+ fontWeight: "bold";
4
+ };
5
+ italicText: {
6
+ fontStyle: "italic";
7
+ };
8
+ copyButton: {
9
+ flexDirection: "row";
10
+ justifyContent: "flex-end";
11
+ alignItems: "center";
12
+ padding: number;
13
+ borderTopRightRadius: number;
14
+ borderTopLeftRadius: number;
15
+ backgroundColor: string;
16
+ gap: number;
17
+ };
18
+ copyButtonText: {
19
+ color: string;
20
+ fontSize: number;
21
+ };
22
+ linkText: {
23
+ color: string;
24
+ fontWeight: "600";
25
+ textDecorationLine: "underline";
26
+ };
27
+ inlineCode: {
28
+ backgroundColor: string;
29
+ paddingHorizontal: number;
30
+ borderRadius: number;
31
+ color: string;
32
+ fontWeight: "700";
33
+ };
34
+ paragraph: {
35
+ margin: number;
36
+ padding: number;
37
+ lineHeight: number;
38
+ color: string;
39
+ fontWeight: "500";
40
+ };
41
+ listItem: {
42
+ fontWeight: "700";
43
+ };
44
+ };
@@ -0,0 +1,46 @@
1
+ import { StyleSheet } from "react-native-web";
2
+ import { INITIAL_100, NEUTRAL_0, NEUTRAL_800, PRIMARY_100, PRIMARY_20, TERTIARY_70 } from "../../styles/colors";
3
+ export var styles = StyleSheet.create({
4
+ boldText: {
5
+ fontWeight: 'bold'
6
+ },
7
+ italicText: {
8
+ fontStyle: 'italic'
9
+ },
10
+ copyButton: {
11
+ flexDirection: "row",
12
+ justifyContent: "flex-end",
13
+ alignItems: "center",
14
+ padding: 5,
15
+ borderTopRightRadius: 4,
16
+ borderTopLeftRadius: 4,
17
+ backgroundColor: PRIMARY_20,
18
+ gap: 5
19
+ },
20
+ copyButtonText: {
21
+ color: NEUTRAL_0,
22
+ fontSize: 12
23
+ },
24
+ linkText: {
25
+ color: INITIAL_100,
26
+ fontWeight: "600",
27
+ textDecorationLine: 'underline'
28
+ },
29
+ inlineCode: {
30
+ backgroundColor: TERTIARY_70,
31
+ paddingHorizontal: 4,
32
+ borderRadius: 4,
33
+ color: PRIMARY_100,
34
+ fontWeight: "700"
35
+ },
36
+ paragraph: {
37
+ margin: 0,
38
+ padding: 0,
39
+ lineHeight: 20,
40
+ color: NEUTRAL_800,
41
+ fontWeight: "500"
42
+ },
43
+ listItem: {
44
+ fontWeight: "700"
45
+ }
46
+ });
@@ -1,8 +1,11 @@
1
1
  import React from 'react';
2
- import { View, Text, StyleSheet } from "react-native-web";
3
- import { DANGER_100, DANGER_700, DANGER_900, NEUTRAL_0, NEUTRAL_100, NEUTRAL_200, PRIMARY_100, TERTIARY_100, TERTIARY_30, TERTIARY_70 } from "../../styles/colors";
2
+ import { View, Text } from "react-native-web";
3
+ import { DANGER_100, DANGER_900, NEUTRAL_0, NEUTRAL_1000, NEUTRAL_200 } from "../../styles/colors";
4
4
  import { ErrorIcon } from "../../assets/images/icons/ErrorIcon";
5
5
  import { RenderMarkdownText } from "./MarkdownUtils";
6
+ import { FileIcon } from "../../assets/images/icons/FileIcon";
7
+ import { styles } from "./TextMessage.styles";
8
+
6
9
  // TextMessage component definition
7
10
  var TextMessage = function TextMessage(_ref) {
8
11
  var title = _ref.title,
@@ -10,23 +13,32 @@ var TextMessage = function TextMessage(_ref) {
10
13
  file = _ref.file,
11
14
  time = _ref.time,
12
15
  type = _ref.type,
13
- titleStyle = _ref.titleStyle,
14
16
  backgroundColor = _ref.backgroundColor;
15
17
  var messageStyle = [styles.messageContainer, {
18
+ borderTopLeftRadius: type === 'left-user' || type === 'error' ? 0 : 8
19
+ }, {
20
+ borderTopRightRadius: type === 'right-user' ? 0 : 8
21
+ }, {
16
22
  backgroundColor: type === 'error' ? DANGER_100 : type === 'right-user' ? NEUTRAL_200 : backgroundColor || NEUTRAL_0
17
23
  }, {
18
24
  alignSelf: type === 'right-user' ? 'flex-end' : 'flex-start'
19
25
  }];
20
- var renderTitle = function renderTitle(title) {
26
+ var renderTitle = function renderTitle(title, type) {
21
27
  return /*#__PURE__*/React.createElement(Text, {
22
- style: [styles.title, titleStyle]
28
+ style: [styles.title, {
29
+ color: type == 'error' ? DANGER_900 : NEUTRAL_1000
30
+ }]
23
31
  }, title);
24
32
  };
25
33
  return /*#__PURE__*/React.createElement(View, {
26
34
  style: messageStyle
27
- }, title && renderTitle(title), file && /*#__PURE__*/React.createElement(Text, {
35
+ }, title && renderTitle(title, type), file && /*#__PURE__*/React.createElement(View, {
36
+ style: [styles.fileContainer, type === 'right-user' ? styles.rightUserFileContainer : styles.otherUserFileContainer]
37
+ }, /*#__PURE__*/React.createElement(FileIcon, {
38
+ style: styles.fileIcon
39
+ }), /*#__PURE__*/React.createElement(Text, {
28
40
  style: styles.file
29
- }, file), /*#__PURE__*/React.createElement(View, {
41
+ }, file)), /*#__PURE__*/React.createElement(View, {
30
42
  style: styles.textContentWithIcon
31
43
  }, type === 'error' && /*#__PURE__*/React.createElement(View, {
32
44
  style: styles.errorIconContainer
@@ -42,108 +54,4 @@ var TextMessage = function TextMessage(_ref) {
42
54
  style: type === "error" ? styles.errorTimestamp : styles.timestamp
43
55
  }, time));
44
56
  };
45
- var styles = StyleSheet.create({
46
- scrollViewContent: {
47
- width: "100%",
48
- borderBottomLeftRadius: 8,
49
- borderBottomRightRadius: 8
50
- },
51
- messageContainer: {
52
- padding: 8,
53
- borderBottomLeftRadius: 8,
54
- borderBottomRightRadius: 8,
55
- flexDirection: 'column',
56
- marginTop: 12,
57
- maxWidth: '100%'
58
- },
59
- textContentWithIcon: {
60
- flexDirection: 'row',
61
- alignItems: 'center'
62
- },
63
- userMessage: {
64
- alignSelf: 'flex-end'
65
- },
66
- title: {
67
- color: PRIMARY_100,
68
- fontSize: 16,
69
- fontWeight: "600",
70
- marginBottom: 2
71
- },
72
- file: {
73
- backgroundColor: TERTIARY_70
74
- },
75
- botMessage: {
76
- backgroundColor: NEUTRAL_0,
77
- alignSelf: 'flex-start',
78
- borderTopRightRadius: 8
79
- },
80
- userMessageBubble: {
81
- flexDirection: 'column',
82
- backgroundColor: TERTIARY_30,
83
- borderTopLeftRadius: 8
84
- },
85
- botMessageBubble: {
86
- flexDirection: 'column'
87
- },
88
- messageBubble: {
89
- padding: 8,
90
- borderBottomRightRadius: 8,
91
- borderBottomLeftRadius: 8,
92
- flexDirection: "column",
93
- justifyContent: 'space-between'
94
- },
95
- defaultTimestamp: {
96
- color: TERTIARY_100,
97
- fontSize: 12,
98
- paddingTop: 4,
99
- alignSelf: 'flex-end'
100
- },
101
- textContentContainer: {
102
- alignSelf: "flex-end"
103
- },
104
- timestampContainer: {
105
- alignSelf: 'flex-end',
106
- marginTop: 4
107
- },
108
- timestamp: {
109
- fontSize: 12,
110
- marginTop: 4,
111
- alignSelf: 'flex-end',
112
- color: TERTIARY_100
113
- },
114
- messageText: {
115
- color: TERTIARY_100,
116
- fontSize: 14
117
- },
118
- userMessageText: {
119
- color: TERTIARY_100
120
- },
121
- botMessageText: {
122
- color: NEUTRAL_100
123
- },
124
- errorMessage: {
125
- backgroundColor: DANGER_100,
126
- alignSelf: 'flex-start',
127
- borderTopRightRadius: 8
128
- },
129
- errorMessageText: {
130
- color: DANGER_900
131
- },
132
- errorIconContainer: {
133
- width: 16,
134
- height: 16,
135
- borderRadius: 12,
136
- backgroundColor: DANGER_700,
137
- color: DANGER_900,
138
- justifyContent: 'center',
139
- alignItems: 'center',
140
- marginRight: 8
141
- },
142
- errorTimestamp: {
143
- color: DANGER_900,
144
- fontSize: 12,
145
- paddingTop: 4,
146
- alignSelf: 'flex-end'
147
- }
148
- });
149
57
  export default TextMessage;
@@ -0,0 +1,125 @@
1
+ export declare const styles: {
2
+ scrollViewContent: {
3
+ width: "100%";
4
+ borderBottomLeftRadius: number;
5
+ borderBottomRightRadius: number;
6
+ };
7
+ messageContainer: {
8
+ padding: number;
9
+ borderRadius: number;
10
+ flexDirection: "column";
11
+ marginBottom: number;
12
+ maxWidth: "100%";
13
+ };
14
+ textContentWithIcon: {
15
+ flexDirection: "row";
16
+ alignItems: "center";
17
+ };
18
+ userMessage: {
19
+ alignSelf: "flex-end";
20
+ };
21
+ title: {
22
+ color: string;
23
+ fontSize: number;
24
+ fontWeight: "600";
25
+ marginBottom: number;
26
+ };
27
+ botMessage: {
28
+ backgroundColor: string;
29
+ alignSelf: "flex-start";
30
+ borderTopRightRadius: number;
31
+ };
32
+ userMessageBubble: {
33
+ flexDirection: "column";
34
+ backgroundColor: string;
35
+ borderTopLeftRadius: number;
36
+ };
37
+ botMessageBubble: {
38
+ flexDirection: "column";
39
+ };
40
+ messageBubble: {
41
+ padding: number;
42
+ borderBottomRightRadius: number;
43
+ borderBottomLeftRadius: number;
44
+ flexDirection: "column";
45
+ justifyContent: "space-between";
46
+ };
47
+ fileContainer: {
48
+ marginTop: number;
49
+ marginBottom: number;
50
+ padding: number;
51
+ borderRadius: number;
52
+ borderColor: string;
53
+ borderWidth: number;
54
+ flexDirection: "row";
55
+ alignItems: "center";
56
+ };
57
+ rightUserFileContainer: {
58
+ backgroundColor: string;
59
+ };
60
+ otherUserFileContainer: {
61
+ backgroundColor: string;
62
+ };
63
+ fileIcon: {
64
+ width: number;
65
+ height: number;
66
+ };
67
+ file: {
68
+ paddingHorizontal: number;
69
+ fontWeight: "500";
70
+ fontSize: number;
71
+ };
72
+ defaultTimestamp: {
73
+ color: string;
74
+ fontSize: number;
75
+ paddingTop: number;
76
+ alignSelf: "flex-end";
77
+ };
78
+ textContentContainer: {
79
+ alignSelf: "flex-end";
80
+ };
81
+ timestampContainer: {
82
+ alignSelf: "flex-end";
83
+ marginTop: number;
84
+ };
85
+ timestamp: {
86
+ fontSize: number;
87
+ marginTop: number;
88
+ alignSelf: "flex-end";
89
+ color: string;
90
+ };
91
+ messageText: {
92
+ color: string;
93
+ fontSize: number;
94
+ };
95
+ userMessageText: {
96
+ color: string;
97
+ };
98
+ botMessageText: {
99
+ color: string;
100
+ };
101
+ errorMessage: {
102
+ backgroundColor: string;
103
+ alignSelf: "flex-start";
104
+ borderTopRightRadius: number;
105
+ };
106
+ errorMessageText: {
107
+ color: string;
108
+ };
109
+ errorIconContainer: {
110
+ width: number;
111
+ height: number;
112
+ borderRadius: number;
113
+ backgroundColor: string;
114
+ color: string;
115
+ justifyContent: "center";
116
+ alignItems: "center";
117
+ marginRight: number;
118
+ };
119
+ errorTimestamp: {
120
+ color: string;
121
+ fontSize: number;
122
+ paddingTop: number;
123
+ alignSelf: "flex-end";
124
+ };
125
+ };
@@ -0,0 +1,127 @@
1
+ import { StyleSheet } from "react-native-web";
2
+ import { DANGER_100, DANGER_700, DANGER_900, NEUTRAL_0, NEUTRAL_100, NEUTRAL_1000, NEUTRAL_200, NEUTRAL_400, TERTIARY_100, TERTIARY_30 } from "../../styles/colors";
3
+ export var styles = StyleSheet.create({
4
+ scrollViewContent: {
5
+ width: "100%",
6
+ borderBottomLeftRadius: 8,
7
+ borderBottomRightRadius: 8
8
+ },
9
+ messageContainer: {
10
+ padding: 8,
11
+ borderRadius: 8,
12
+ flexDirection: 'column',
13
+ marginBottom: 12,
14
+ maxWidth: '100%'
15
+ },
16
+ textContentWithIcon: {
17
+ flexDirection: 'row',
18
+ alignItems: 'center'
19
+ },
20
+ userMessage: {
21
+ alignSelf: 'flex-end'
22
+ },
23
+ title: {
24
+ color: NEUTRAL_1000,
25
+ fontSize: 16,
26
+ fontWeight: "600",
27
+ marginBottom: 2
28
+ },
29
+ botMessage: {
30
+ backgroundColor: NEUTRAL_0,
31
+ alignSelf: 'flex-start',
32
+ borderTopRightRadius: 8
33
+ },
34
+ userMessageBubble: {
35
+ flexDirection: 'column',
36
+ backgroundColor: TERTIARY_30,
37
+ borderTopLeftRadius: 8
38
+ },
39
+ botMessageBubble: {
40
+ flexDirection: 'column'
41
+ },
42
+ messageBubble: {
43
+ padding: 8,
44
+ borderBottomRightRadius: 8,
45
+ borderBottomLeftRadius: 8,
46
+ flexDirection: "column",
47
+ justifyContent: 'space-between'
48
+ },
49
+ fileContainer: {
50
+ marginTop: 2,
51
+ marginBottom: 4,
52
+ padding: 8,
53
+ borderRadius: 8,
54
+ borderColor: NEUTRAL_400,
55
+ borderWidth: 1,
56
+ flexDirection: "row",
57
+ alignItems: "center"
58
+ },
59
+ rightUserFileContainer: {
60
+ backgroundColor: NEUTRAL_0
61
+ },
62
+ otherUserFileContainer: {
63
+ backgroundColor: NEUTRAL_200
64
+ },
65
+ fileIcon: {
66
+ width: 36,
67
+ height: 36
68
+ },
69
+ file: {
70
+ paddingHorizontal: 8,
71
+ fontWeight: "500",
72
+ fontSize: 14
73
+ },
74
+ defaultTimestamp: {
75
+ color: TERTIARY_100,
76
+ fontSize: 12,
77
+ paddingTop: 4,
78
+ alignSelf: 'flex-end'
79
+ },
80
+ textContentContainer: {
81
+ alignSelf: "flex-end"
82
+ },
83
+ timestampContainer: {
84
+ alignSelf: 'flex-end',
85
+ marginTop: 4
86
+ },
87
+ timestamp: {
88
+ fontSize: 12,
89
+ marginTop: 4,
90
+ alignSelf: 'flex-end',
91
+ color: TERTIARY_100
92
+ },
93
+ messageText: {
94
+ color: TERTIARY_100,
95
+ fontSize: 14
96
+ },
97
+ userMessageText: {
98
+ color: TERTIARY_100
99
+ },
100
+ botMessageText: {
101
+ color: NEUTRAL_100
102
+ },
103
+ errorMessage: {
104
+ backgroundColor: DANGER_100,
105
+ alignSelf: 'flex-start',
106
+ borderTopRightRadius: 8
107
+ },
108
+ errorMessageText: {
109
+ color: DANGER_900
110
+ },
111
+ errorIconContainer: {
112
+ width: 16,
113
+ height: 16,
114
+ borderRadius: 12,
115
+ backgroundColor: DANGER_700,
116
+ color: DANGER_900,
117
+ justifyContent: 'center',
118
+ alignItems: 'center',
119
+ marginRight: 8
120
+ },
121
+ errorTimestamp: {
122
+ color: DANGER_900,
123
+ fontSize: 12,
124
+ paddingTop: 4,
125
+ alignSelf: 'flex-end'
126
+ }
127
+ });
@@ -1,4 +1,3 @@
1
- import { StyleProp, TextStyle } from 'react-native';
2
1
  export interface TextMessageProps {
3
2
  title?: string;
4
3
  text: string;
@@ -6,5 +5,4 @@ export interface TextMessageProps {
6
5
  time?: string;
7
6
  type?: 'left-user' | 'right-user' | 'error';
8
7
  backgroundColor?: string;
9
- titleStyle?: StyleProp<TextStyle>;
10
8
  }
@@ -0,0 +1 @@
1
+ export declare const getTextColorByType: (type: 'left-user' | "right-user" | "error") => "#424242" | "#74122E";
@@ -0,0 +1,9 @@
1
+ import { DANGER_900, NEUTRAL_800 } from "../../styles/colors";
2
+ export var getTextColorByType = function getTextColorByType(type) {
3
+ switch (type) {
4
+ case 'error':
5
+ return DANGER_900;
6
+ default:
7
+ return NEUTRAL_800;
8
+ }
9
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "etendo-ui-library",
3
- "version": "1.3.68",
3
+ "version": "1.3.69",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "android": "react-native run-android",
@@ -1 +0,0 @@
1
- export declare const ParagraphComponent: ({ node, className, children, messageId, error, ...props }: any) => any;
@@ -1 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ParagraphComponent=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _excluded=["node","className","children","messageId","error"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/text-message/ParagraphComponent.tsx";var ParagraphComponent=exports.ParagraphComponent=function ParagraphComponent(_ref){var node=_ref.node,className=_ref.className,children=_ref.children,messageId=_ref.messageId,error=_ref.error,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var renderHighlightedText=function renderHighlightedText(text){var regex=/@([^@]+)@/g;var newText=text.replace(regex,"<span class='highlightedText'>$1</span>");return newText;};var renderSplitText=function renderSplitText(text){var splitText=text.split("## ");return{mainText:renderHighlightedText(splitText[0]),secondaryText:splitText[1]};};return _react.default.Children.map(children,function(child){if(typeof child==="string"){var _renderSplitText=renderSplitText(child),mainText=_renderSplitText.mainText,secondaryText=_renderSplitText.secondaryText;return _react.default.createElement("div",{__self:_this,__source:{fileName:_jsxFileName,lineNumber:34,columnNumber:17}},_react.default.createElement("p",(0,_extends2.default)({className:"px-5"},props,{dangerouslySetInnerHTML:{__html:mainText},__self:_this,__source:{fileName:_jsxFileName,lineNumber:35,columnNumber:21}})),!error&&secondaryText&&_react.default.createElement("div",{className:"mt-3 flex items-center gap-3 border-t border-l-[-2rem] border-gray-500 px-5 pt-2 dark:border-black-800",__self:_this,__source:{fileName:_jsxFileName,lineNumber:42,columnNumber:25}},_react.default.createElement("p",{className:"cursor-default text-sm text-gray-600 hover:text-blue-900 dark:hover:text-gray-800",__self:_this,__source:{fileName:_jsxFileName,lineNumber:43,columnNumber:29}},secondaryText)));}else{return _react.default.createElement("p",(0,_extends2.default)({className:"px-5"},props,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:52,columnNumber:17}}),child);}});};
@@ -1 +0,0 @@
1
- export declare const ParagraphComponent: ({ node, className, children, messageId, error, ...props }: any) => any;
@@ -1,47 +0,0 @@
1
- var _excluded = ["node", "className", "children", "messageId", "error"];
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
- import React from "react";
6
- export var ParagraphComponent = function ParagraphComponent(_ref) {
7
- var node = _ref.node,
8
- className = _ref.className,
9
- children = _ref.children,
10
- messageId = _ref.messageId,
11
- error = _ref.error,
12
- props = _objectWithoutProperties(_ref, _excluded);
13
- var renderHighlightedText = function renderHighlightedText(text) {
14
- var regex = /@([^@]+)@/g;
15
- var newText = text.replace(regex, "<span class='highlightedText'>$1</span>");
16
- return newText;
17
- };
18
- var renderSplitText = function renderSplitText(text) {
19
- var splitText = text.split("## ");
20
- return {
21
- mainText: renderHighlightedText(splitText[0]),
22
- secondaryText: splitText[1]
23
- };
24
- };
25
- return React.Children.map(children, function (child) {
26
- if (typeof child === "string") {
27
- var _renderSplitText = renderSplitText(child),
28
- mainText = _renderSplitText.mainText,
29
- secondaryText = _renderSplitText.secondaryText;
30
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", _extends({
31
- className: "px-5"
32
- }, props, {
33
- dangerouslySetInnerHTML: {
34
- __html: mainText
35
- }
36
- })), !error && secondaryText && /*#__PURE__*/React.createElement("div", {
37
- className: "mt-3 flex items-center gap-3 border-t border-l-[-2rem] border-gray-500 px-5 pt-2 dark:border-black-800"
38
- }, /*#__PURE__*/React.createElement("p", {
39
- className: "cursor-default text-sm text-gray-600 hover:text-blue-900 dark:hover:text-gray-800"
40
- }, secondaryText)));
41
- } else {
42
- return /*#__PURE__*/React.createElement("p", _extends({
43
- className: "px-5"
44
- }, props), child);
45
- }
46
- });
47
- };