@magmamath/students-features 0.9.107-rc.chatbot-7 → 0.9.107

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 (35) hide show
  1. package/dist/commonjs/features/chatbot/components/Chat/Chat.js +22 -21
  2. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +4 -4
  4. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  5. package/dist/commonjs/features/chatbot/components/Chatbot.js +10 -2
  6. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  7. package/dist/commonjs/lib/components/ConditionalWrapper.js +23 -0
  8. package/dist/commonjs/lib/components/ConditionalWrapper.js.map +1 -0
  9. package/dist/module/features/chatbot/components/Chat/Chat.js +22 -21
  10. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
  11. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +5 -5
  12. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  13. package/dist/module/features/chatbot/components/Chatbot.js +10 -2
  14. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  15. package/dist/module/lib/components/ConditionalWrapper.js +17 -0
  16. package/dist/module/lib/components/ConditionalWrapper.js.map +1 -0
  17. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts +2 -2
  18. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  19. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +2 -1
  20. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  21. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  22. package/dist/typescript/commonjs/lib/components/ConditionalWrapper.d.ts +9 -0
  23. package/dist/typescript/commonjs/lib/components/ConditionalWrapper.d.ts.map +1 -0
  24. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts +2 -2
  25. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  26. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +2 -1
  27. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  28. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  29. package/dist/typescript/module/lib/components/ConditionalWrapper.d.ts +9 -0
  30. package/dist/typescript/module/lib/components/ConditionalWrapper.d.ts.map +1 -0
  31. package/package.json +1 -1
  32. package/src/features/chatbot/components/Chat/Chat.tsx +24 -27
  33. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +5 -7
  34. package/src/features/chatbot/components/Chatbot.tsx +12 -3
  35. package/src/lib/components/ConditionalWrapper.tsx +15 -0
@@ -12,6 +12,7 @@ var _MessageLoader = require("../ChatMessage/MessageLoader.js");
12
12
  var _ChatInput = require("../ChatInput/ChatInput.js");
13
13
  var _modelTypes = require("../../types/model.types.js");
14
14
  var _styleTypes = require("../../types/style.types.js");
15
+ var _ConditionalWrapper = require("../../../../lib/components/ConditionalWrapper.js");
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
18
  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 && {}.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; }
@@ -26,7 +27,7 @@ const Chat = ({
26
27
  isTextToSpeechEnabled,
27
28
  isInputDisabled,
28
29
  colorScheme = _styleTypes.ColorScheme.Blue,
29
- ButtonWrapper
30
+ MessageWrapper
30
31
  }) => {
31
32
  const dimensions = (0, _reactNative.useWindowDimensions)();
32
33
  const ref = (0, _react.useRef)(null);
@@ -42,6 +43,7 @@ const Chat = ({
42
43
  }) => messages);
43
44
  const lastMessageId = messages.at(-1)?.id;
44
45
  const MAX_HEIGHT = dimensions.height - TOOLBAR_HEIGHT - BOTTOM_OFFSET;
46
+ const shouldWrapMessage = MessageWrapper && isInputDisabled && messages.length === 1;
45
47
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
46
48
  style: [styles.container, {
47
49
  maxHeight: MAX_HEIGHT
@@ -58,26 +60,25 @@ const Chat = ({
58
60
  },
59
61
  children: [isOpen && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
60
62
  style: [styles.gap, isInputDisabled && styles.messagesWithoutInput],
61
- children: [messages.map(message => {
62
- const Wrapper = ButtonWrapper && messages.length === 1 ? ButtonWrapper : _react.default.Fragment;
63
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
64
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatMessage.ChatMessage, {
65
- isTranslated: isTranslated,
66
- withIcon: !message.isOwnMessage && message.id === lastMessageId,
67
- message: message,
68
- variant: message.isOwnMessage ? _modelTypes.MessageVariant.SENT : _modelTypes.MessageVariant.RECEIVED,
69
- colorScheme: colorScheme,
70
- withErrorSpotting: errorSpottingEnabled && !message.isOwnMessage,
71
- t2sState: {
72
- isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
73
- isActive: message.id === currentPlayingId,
74
- isLoading: isTextToSpeechPending,
75
- status: audioStatus,
76
- disabled: isTextToSpeechPending
77
- }
78
- }, message.id)
79
- });
80
- }), isHelpRequestPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageLoader.MessageLoader, {
63
+ children: [messages.map(message => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConditionalWrapper.ConditionalWrapper, {
64
+ withWrapper: shouldWrapMessage,
65
+ Wrapper: MessageWrapper,
66
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatMessage.ChatMessage, {
67
+ isTranslated: isTranslated,
68
+ withIcon: !message.isOwnMessage && message.id === lastMessageId,
69
+ message: message,
70
+ variant: message.isOwnMessage ? _modelTypes.MessageVariant.SENT : _modelTypes.MessageVariant.RECEIVED,
71
+ colorScheme: colorScheme,
72
+ withErrorSpotting: errorSpottingEnabled && !message.isOwnMessage,
73
+ t2sState: {
74
+ isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
75
+ isActive: message.id === currentPlayingId,
76
+ isLoading: isTextToSpeechPending,
77
+ status: audioStatus,
78
+ disabled: isTextToSpeechPending
79
+ }
80
+ }, message.id)
81
+ })), isHelpRequestPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageLoader.MessageLoader, {
81
82
  colorScheme: colorScheme
82
83
  })]
83
84
  }), isOpen && !isInputDisabled && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatInput.ChatInput, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_effectorReact","_ChatMessage","_MessageLoader","_ChatInput","_modelTypes","_styleTypes","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TOOLBAR_HEIGHT","BOTTOM_OFFSET","Platform","select","web","Chat","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","colorScheme","ColorScheme","Blue","ButtonWrapper","dimensions","useWindowDimensions","ref","useRef","isOpen","useUnit","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","currentPlayingId","t2s","$currentPlayingId","isTranslated","translation","$isTranslated","audioStatus","$status","errorSpottingEnabled","errorSpotting","$isEnabled","messages","useStoreMap","$currentChatData","lastMessageId","at","id","MAX_HEIGHT","height","jsx","View","style","styles","container","maxHeight","children","jsxs","ScrollView","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","messagesWithoutInput","map","message","Wrapper","length","React","Fragment","ChatMessage","withIcon","isOwnMessage","variant","MessageVariant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","MessageLoader","ChatInput","hasMessages","exports","StyleSheet","create","flex","alignItems","width","paddingVertical","paddingRight","marginBottom"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_effectorReact","_ChatMessage","_MessageLoader","_ChatInput","_modelTypes","_styleTypes","_ConditionalWrapper","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TOOLBAR_HEIGHT","BOTTOM_OFFSET","Platform","select","web","Chat","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","colorScheme","ColorScheme","Blue","MessageWrapper","dimensions","useWindowDimensions","ref","useRef","isOpen","useUnit","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","currentPlayingId","t2s","$currentPlayingId","isTranslated","translation","$isTranslated","audioStatus","$status","errorSpottingEnabled","errorSpotting","$isEnabled","messages","useStoreMap","$currentChatData","lastMessageId","at","id","MAX_HEIGHT","height","shouldWrapMessage","length","jsx","View","style","styles","container","maxHeight","children","jsxs","ScrollView","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","messagesWithoutInput","map","message","ConditionalWrapper","withWrapper","Wrapper","ChatMessage","withIcon","isOwnMessage","variant","MessageVariant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","MessageLoader","ChatInput","hasMessages","exports","StyleSheet","create","flex","alignItems","width","paddingVertical","paddingRight","marginBottom"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,10 +7,10 @@ exports.ChatControls = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
11
  var _effectorReact = require("effector-react");
11
12
  var _ChatbotIcon = require("../../../../shared/icons/ChatbotIcon.js");
12
13
  var _CloseIcon = require("../../../../shared/icons/CloseIcon.js");
13
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
16
  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 && {}.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; }
@@ -23,14 +23,14 @@ const ChatControls = ({
23
23
  iconSize = {
24
24
  width: 80,
25
25
  height: 100
26
- }
26
+ },
27
+ shouldAnimateCloseButton
27
28
  }) => {
28
29
  const isOpen = (0, _effectorReact.useUnit)(model.$isOpen);
29
- const shouldAnimateCrossButton = (0, _effectorReact.useStoreMap)(model.$currentChatData, data => data.messages.length === 1);
30
30
  if (isOpen) {
31
31
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
32
32
  style: styles.container,
33
- entering: shouldAnimateCrossButton ? _reactNativeReanimated.FadeIn.duration(900) : undefined,
33
+ entering: shouldAnimateCloseButton ? _reactNativeReanimated.FadeIn.duration(900) : undefined,
34
34
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
35
35
  onPress: onPressClose,
36
36
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_ChatbotIcon","_CloseIcon","_reactNativeReanimated","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChatControls","model","onPressChatIcon","onPressClose","ButtonWrapper","React","Fragment","iconSize","width","height","isOpen","useUnit","$isOpen","shouldAnimateCrossButton","useStoreMap","$currentChatData","data","messages","length","jsx","View","style","styles","container","entering","FadeIn","duration","undefined","children","Button","onPress","button","buttonClose","variant","ButtonVariant","PRIMARY","size","ButtonSize","LARGE","colorScheme","ButtonColor","WHITE","raiseLevel","customColorScheme","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_1","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_10","PRESSED","NEUTRAL_4","HOVER","NEUTRAL_3","CloseIcon","Pressable","ChatbotIcon","exports","StyleSheet","create","alignItems","justifyContent","flexDirection","maxHeight","gap","paddingBottom","borderRadius","paddingHorizontal","borderWidth"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatControls/ChatControls.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_reactNativeReanimated","_interopRequireWildcard","_effectorReact","_ChatbotIcon","_CloseIcon","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChatControls","model","onPressChatIcon","onPressClose","ButtonWrapper","React","Fragment","iconSize","width","height","shouldAnimateCloseButton","isOpen","useUnit","$isOpen","jsx","View","style","styles","container","entering","FadeIn","duration","undefined","children","Button","onPress","button","buttonClose","variant","ButtonVariant","PRIMARY","size","ButtonSize","LARGE","colorScheme","ButtonColor","WHITE","raiseLevel","customColorScheme","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_1","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_10","PRESSED","NEUTRAL_4","HOVER","NEUTRAL_3","CloseIcon","Pressable","ChatbotIcon","exports","StyleSheet","create","alignItems","justifyContent","flexDirection","maxHeight","gap","paddingBottom","borderRadius","paddingHorizontal","borderWidth"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatControls/ChatControls.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAQA,IAAAG,sBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAEA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAA8D,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAS,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAnB,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAWvD,MAAMmB,YAAY,GAAGA,CAAC;EAC3BC,KAAK;EACLC,eAAe;EACfC,YAAY;EACZC,aAAa,GAAGC,cAAK,CAACC,QAAQ;EAC9BC,QAAQ,GAAG;IAAEC,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAI,CAAC;EACrCC;AACiB,CAAC,KAAK;EACvB,MAAMC,MAAM,GAAG,IAAAC,sBAAO,EAACX,KAAK,CAACY,OAAO,CAAC;EAErC,IAAIF,MAAM,EAAE;IACV,oBACE,IAAAhC,WAAA,CAAAmC,GAAA,EAACxC,sBAAA,CAAAY,OAAQ,CAAC6B,IAAI;MACZC,KAAK,EAAEC,MAAM,CAACC,SAAU;MACxBC,QAAQ,EAAET,wBAAwB,GAAGU,6BAAM,CAACC,QAAQ,CAAC,GAAG,CAAC,GAAGC,SAAU;MAAAC,QAAA,eAEtE,IAAA5C,WAAA,CAAAmC,GAAA,EAACzC,cAAA,CAAAmD,MAAM;QACLC,OAAO,EAAEtB,YAAa;QACtBa,KAAK,EAAE;UACLU,MAAM,EAAET,MAAM,CAACU;QACjB,CAAE;QACFC,OAAO,EAAEC,4BAAa,CAACC,OAAQ;QAC/BC,IAAI,EAAEC,yBAAU,CAACC,KAAM;QACvBC,WAAW,EAAEC,0BAAW,CAACC,KAAM;QAC/BC,UAAU,EAAE,CAAE;QACdC,iBAAiB,EAAE;UACjB,CAACC,2BAAY,CAACC,OAAO,GAAG;YACtBC,eAAe,EAAEC,qBAAM,CAACC,SAAS;YACjCC,WAAW,EAAEF,qBAAM,CAACG,SAAS;YAC7BC,UAAU,EAAEJ,qBAAM,CAACG,SAAS;YAC5BE,KAAK,EAAEL,qBAAM,CAACM;UAChB,CAAC;UACD,CAACT,2BAAY,CAACU,OAAO,GAAG;YACtBR,eAAe,EAAEC,qBAAM,CAACQ,SAAS;YACjCN,WAAW,EAAEF,qBAAM,CAACG,SAAS;YAC7BC,UAAU,EAAEJ,qBAAM,CAACG,SAAS;YAC5BE,KAAK,EAAEL,qBAAM,CAACC;UAChB,CAAC;UACD,CAACJ,2BAAY,CAACY,KAAK,GAAG;YACpBV,eAAe,EAAEC,qBAAM,CAACU,SAAS;YACjCR,WAAW,EAAEF,qBAAM,CAACG,SAAS;YAC7BC,UAAU,EAAEJ,qBAAM,CAACG,SAAS;YAC5BE,KAAK,EAAEL,qBAAM,CAACM;UAChB;QACF,CAAE;QAAAzB,QAAA,eAEF,IAAA5C,WAAA,CAAAmC,GAAA,EAACpC,UAAA,CAAA2E,SAAS,IAAE;MAAC,CACP;IAAC,CACI,CAAC;EAEpB;EAEA,oBACE,IAAA1E,WAAA,CAAAmC,GAAA,EAAC1C,YAAA,CAAA2C,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAK,QAAA,eAC5B,IAAA5C,WAAA,CAAAmC,GAAA,EAACV,aAAa;MAAAmB,QAAA,eACZ,IAAA5C,WAAA,CAAAmC,GAAA,EAAC1C,YAAA,CAAAkF,SAAS;QAAC7B,OAAO,EAAEvB,eAAgB;QAAAqB,QAAA,eAClC,IAAA5C,WAAA,CAAAmC,GAAA,EAACrC,YAAA,CAAA8E,WAAW;UAAC/C,KAAK,EAAED,QAAQ,EAAEC,KAAM;UAACC,MAAM,EAAEF,QAAQ,EAAEE;QAAO,CAAE;MAAC,CACxD;IAAC,CACC;EAAC,CACZ,CAAC;AAEX,CAAC;AAAA+C,OAAA,CAAAxD,YAAA,GAAAA,YAAA;AAED,MAAMiB,MAAM,GAAGwC,uBAAU,CAACC,MAAM,CAAC;EAC/BxC,SAAS,EAAE;IACTyC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,UAAU;IAC1BC,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAE,GAAG;IACdC,GAAG,EAAE,CAAC;IACNC,aAAa,EAAE;EACjB,CAAC;EACDrC,WAAW,EAAE;IACXnB,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVwD,YAAY,EAAE,EAAE;IAChBC,iBAAiB,EAAE,CAAC;IACpBC,WAAW,EAAE,GAAG;IAChBvB,WAAW,EAAEF,qBAAM,CAACG;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -27,6 +27,13 @@ const Chatbot = ({
27
27
  isAvailable
28
28
  }) => isAvailable);
29
29
  model.t2s.setAudioConfig(textToSpeechConfig ?? null);
30
+ const shouldAnimateCloseButton = (0, _effectorReact.useStoreMap)({
31
+ store: model.$currentChatData,
32
+ fn: (chat, [isInputDisabled]) => {
33
+ return isInputDisabled && chat.messages.length === 1;
34
+ },
35
+ keys: [isInputDisabled]
36
+ });
30
37
  const openChat = () => model.setIsOpen(true);
31
38
  const closeChat = () => model.setIsOpen(false);
32
39
  if (!isAvailable || !isChatAllowed) {
@@ -40,13 +47,14 @@ const Chatbot = ({
40
47
  isHintFeedback: isHintFeedback,
41
48
  isTextToSpeechEnabled: isTextToSpeechEnabled,
42
49
  isInputDisabled: isInputDisabled,
43
- ButtonWrapper: ButtonWrapper
50
+ MessageWrapper: ButtonWrapper
44
51
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatControls.ChatControls, {
45
52
  model: model,
46
53
  onPressChatIcon: openChat,
47
54
  onPressClose: closeChat,
55
+ iconSize: iconSize,
48
56
  ButtonWrapper: isInputDisabled ? undefined : ButtonWrapper,
49
- iconSize: iconSize
57
+ shouldAnimateCloseButton: shouldAnimateCloseButton
50
58
  })]
51
59
  });
52
60
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_Chat","_ChatControls","_ChatBotModelContext","_styleTypes","_jsxRuntime","e","__esModule","default","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","ColorScheme","Blue","isChatAllowed","useUnit","$chatAccess","isAvailable","useStoreMap","$currentChatData","t2s","setAudioConfig","openChat","setIsOpen","closeChat","jsxs","ChatBotModelContext","Provider","value","children","jsx","Chat","ChatControls","onPressChatIcon","onPressClose","undefined","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAkD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAgB3C,MAAMG,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGC,uBAAW,CAACC;AACd,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAG,IAAAC,sBAAO,EAACX,KAAK,CAACY,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAG,IAAAC,0BAAW,EAACd,KAAK,CAACe,gBAAgB,EAAE,CAAC;IAAEF;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFb,KAAK,CAACgB,GAAG,CAACC,cAAc,CAACb,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMc,QAAQ,GAAGA,CAAA,KAAMlB,KAAK,CAACmB,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAMpB,KAAK,CAACmB,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACN,WAAW,IAAI,CAACH,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACE,IAAAf,WAAA,CAAA0B,IAAA,EAAC5B,oBAAA,CAAA6B,mBAAmB,CAACC,QAAQ;IAACC,KAAK,EAAExB,KAAM;IAAAyB,QAAA,gBACzC,IAAA9B,WAAA,CAAA+B,GAAA,EAACnC,KAAA,CAAAoC,IAAI;MACH3B,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjCE,aAAa,EAAEA;IAAc,CAC9B,CAAC,eAEF,IAAAV,WAAA,CAAA+B,GAAA,EAAClC,aAAA,CAAAoC,YAAY;MACX5B,KAAK,EAAEA,KAAM;MACb6B,eAAe,EAAEX,QAAS;MAC1BY,YAAY,EAAEV,SAAU;MACxBf,aAAa,EAAEF,eAAe,GAAG4B,SAAS,GAAG1B,aAAc;MAC3DC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC;AAAA0B,OAAA,CAAAjC,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_Chat","_ChatControls","_ChatBotModelContext","_styleTypes","_jsxRuntime","e","__esModule","default","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","ColorScheme","Blue","isChatAllowed","useUnit","$chatAccess","isAvailable","useStoreMap","$currentChatData","t2s","setAudioConfig","shouldAnimateCloseButton","store","fn","chat","messages","length","keys","openChat","setIsOpen","closeChat","jsxs","ChatBotModelContext","Provider","value","children","jsx","Chat","MessageWrapper","ChatControls","onPressChatIcon","onPressClose","undefined","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAkD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAgB3C,MAAMG,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGC,uBAAW,CAACC;AACd,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAG,IAAAC,sBAAO,EAACX,KAAK,CAACY,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAG,IAAAC,0BAAW,EAACd,KAAK,CAACe,gBAAgB,EAAE,CAAC;IAAEF;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFb,KAAK,CAACgB,GAAG,CAACC,cAAc,CAACb,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMc,wBAAwB,GAAG,IAAAJ,0BAAW,EAAC;IAC3CK,KAAK,EAAEnB,KAAK,CAACe,gBAAgB;IAC7BK,EAAE,EAAEA,CAACC,IAAI,EAAE,CAAClB,eAAe,CAAC,KAAK;MAC/B,OAAOA,eAAe,IAAIkB,IAAI,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;IACtD,CAAC;IACDC,IAAI,EAAE,CAACrB,eAAe;EACxB,CAAC,CAAC;EAEF,MAAMsB,QAAQ,GAAGA,CAAA,KAAMzB,KAAK,CAAC0B,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAM3B,KAAK,CAAC0B,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACb,WAAW,IAAI,CAACH,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACE,IAAAf,WAAA,CAAAiC,IAAA,EAACnC,oBAAA,CAAAoC,mBAAmB,CAACC,QAAQ;IAACC,KAAK,EAAE/B,KAAM;IAAAgC,QAAA,gBACzC,IAAArC,WAAA,CAAAsC,GAAA,EAAC1C,KAAA,CAAA2C,IAAI;MACHlC,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjCgC,cAAc,EAAE9B;IAAc,CAC/B,CAAC,eAEF,IAAAV,WAAA,CAAAsC,GAAA,EAACzC,aAAA,CAAA4C,YAAY;MACXpC,KAAK,EAAEA,KAAM;MACbqC,eAAe,EAAEZ,QAAS;MAC1Ba,YAAY,EAAEX,SAAU;MACxBrB,QAAQ,EAAEA,QAAS;MACnBD,aAAa,EAAEF,eAAe,GAAGoC,SAAS,GAAGlC,aAAc;MAC3Da,wBAAwB,EAAEA;IAAyB,CACpD,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC;AAAAsB,OAAA,CAAAzC,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ConditionalWrapper = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const ConditionalWrapper = ({
11
+ withWrapper,
12
+ Wrapper,
13
+ children
14
+ }) => {
15
+ if (withWrapper && Wrapper) {
16
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
17
+ children: children
18
+ });
19
+ }
20
+ return children;
21
+ };
22
+ exports.ConditionalWrapper = ConditionalWrapper;
23
+ //# sourceMappingURL=ConditionalWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_jsxRuntime","e","__esModule","default","ConditionalWrapper","withWrapper","Wrapper","children","jsx","exports"],"sourceRoot":"../../../../src","sources":["lib/components/ConditionalWrapper.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0E,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQnE,MAAMG,kBAAkB,GAAGA,CAAC;EAAEC,WAAW;EAAEC,OAAO;EAAEC;AAAkC,CAAC,KAAK;EACjG,IAAIF,WAAW,IAAIC,OAAO,EAAE;IAC1B,oBAAO,IAAAN,WAAA,CAAAQ,GAAA,EAACF,OAAO;MAAAC,QAAA,EAAEA;IAAQ,CAAU,CAAC;EACtC;EAEA,OAAOA,QAAQ;AACjB,CAAC;AAAAE,OAAA,CAAAL,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -8,6 +8,7 @@ import { MessageLoader } from "../ChatMessage/MessageLoader.js";
8
8
  import { ChatInput } from "../ChatInput/ChatInput.js";
9
9
  import { MessageVariant } from "../../types/model.types.js";
10
10
  import { ColorScheme } from "../../types/style.types.js";
11
+ import { ConditionalWrapper } from "../../../../lib/components/ConditionalWrapper.js";
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
13
  const TOOLBAR_HEIGHT = 140;
13
14
  const BOTTOM_OFFSET = Platform.select({
@@ -20,7 +21,7 @@ export const Chat = ({
20
21
  isTextToSpeechEnabled,
21
22
  isInputDisabled,
22
23
  colorScheme = ColorScheme.Blue,
23
- ButtonWrapper
24
+ MessageWrapper
24
25
  }) => {
25
26
  const dimensions = useWindowDimensions();
26
27
  const ref = useRef(null);
@@ -36,6 +37,7 @@ export const Chat = ({
36
37
  }) => messages);
37
38
  const lastMessageId = messages.at(-1)?.id;
38
39
  const MAX_HEIGHT = dimensions.height - TOOLBAR_HEIGHT - BOTTOM_OFFSET;
40
+ const shouldWrapMessage = MessageWrapper && isInputDisabled && messages.length === 1;
39
41
  return /*#__PURE__*/_jsx(View, {
40
42
  style: [styles.container, {
41
43
  maxHeight: MAX_HEIGHT
@@ -52,26 +54,25 @@ export const Chat = ({
52
54
  },
53
55
  children: [isOpen && /*#__PURE__*/_jsxs(View, {
54
56
  style: [styles.gap, isInputDisabled && styles.messagesWithoutInput],
55
- children: [messages.map(message => {
56
- const Wrapper = ButtonWrapper && messages.length === 1 ? ButtonWrapper : React.Fragment;
57
- return /*#__PURE__*/_jsx(Wrapper, {
58
- children: /*#__PURE__*/_jsx(ChatMessage, {
59
- isTranslated: isTranslated,
60
- withIcon: !message.isOwnMessage && message.id === lastMessageId,
61
- message: message,
62
- variant: message.isOwnMessage ? MessageVariant.SENT : MessageVariant.RECEIVED,
63
- colorScheme: colorScheme,
64
- withErrorSpotting: errorSpottingEnabled && !message.isOwnMessage,
65
- t2sState: {
66
- isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
67
- isActive: message.id === currentPlayingId,
68
- isLoading: isTextToSpeechPending,
69
- status: audioStatus,
70
- disabled: isTextToSpeechPending
71
- }
72
- }, message.id)
73
- });
74
- }), isHelpRequestPending && /*#__PURE__*/_jsx(MessageLoader, {
57
+ children: [messages.map(message => /*#__PURE__*/_jsx(ConditionalWrapper, {
58
+ withWrapper: shouldWrapMessage,
59
+ Wrapper: MessageWrapper,
60
+ children: /*#__PURE__*/_jsx(ChatMessage, {
61
+ isTranslated: isTranslated,
62
+ withIcon: !message.isOwnMessage && message.id === lastMessageId,
63
+ message: message,
64
+ variant: message.isOwnMessage ? MessageVariant.SENT : MessageVariant.RECEIVED,
65
+ colorScheme: colorScheme,
66
+ withErrorSpotting: errorSpottingEnabled && !message.isOwnMessage,
67
+ t2sState: {
68
+ isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
69
+ isActive: message.id === currentPlayingId,
70
+ isLoading: isTextToSpeechPending,
71
+ status: audioStatus,
72
+ disabled: isTextToSpeechPending
73
+ }
74
+ }, message.id)
75
+ })), isHelpRequestPending && /*#__PURE__*/_jsx(MessageLoader, {
75
76
  colorScheme: colorScheme
76
77
  })]
77
78
  }), isOpen && !isInputDisabled && /*#__PURE__*/_jsx(ChatInput, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","Platform","ScrollView","StyleSheet","useWindowDimensions","View","useStoreMap","useUnit","ChatMessage","MessageLoader","ChatInput","MessageVariant","ColorScheme","jsx","_jsx","jsxs","_jsxs","TOOLBAR_HEIGHT","BOTTOM_OFFSET","select","web","default","Chat","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","colorScheme","Blue","ButtonWrapper","dimensions","ref","isOpen","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","currentPlayingId","t2s","$currentPlayingId","isTranslated","translation","$isTranslated","audioStatus","$status","errorSpottingEnabled","errorSpotting","$isEnabled","messages","$currentChatData","lastMessageId","at","id","MAX_HEIGHT","height","style","styles","container","maxHeight","children","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","messagesWithoutInput","map","message","Wrapper","length","Fragment","withIcon","isOwnMessage","variant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","hasMessages","create","flex","alignItems","width","paddingVertical","paddingRight","marginBottom"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","Platform","ScrollView","StyleSheet","useWindowDimensions","View","useStoreMap","useUnit","ChatMessage","MessageLoader","ChatInput","MessageVariant","ColorScheme","ConditionalWrapper","jsx","_jsx","jsxs","_jsxs","TOOLBAR_HEIGHT","BOTTOM_OFFSET","select","web","default","Chat","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","colorScheme","Blue","MessageWrapper","dimensions","ref","isOpen","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","currentPlayingId","t2s","$currentPlayingId","isTranslated","translation","$isTranslated","audioStatus","$status","errorSpottingEnabled","errorSpotting","$isEnabled","messages","$currentChatData","lastMessageId","at","id","MAX_HEIGHT","height","shouldWrapMessage","length","style","styles","container","maxHeight","children","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","messagesWithoutInput","map","message","withWrapper","Wrapper","withIcon","isOwnMessage","variant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","hasMessages","create","flex","alignItems","width","paddingVertical","paddingRight","marginBottom"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,10 @@
3
3
  import React from 'react';
4
4
  import { Pressable, StyleSheet, View } from 'react-native';
5
5
  import { Button, ButtonColor, ButtonSize, ButtonStates, ButtonVariant, COLORS } from '@magmamath/react-native-ui';
6
- import { useStoreMap, useUnit } from 'effector-react';
6
+ import Animated, { FadeIn } from 'react-native-reanimated';
7
+ import { useUnit } from 'effector-react';
7
8
  import { ChatbotIcon } from "../../../../shared/icons/ChatbotIcon.js";
8
9
  import { CloseIcon } from "../../../../shared/icons/CloseIcon.js";
9
- import Animated, { FadeIn } from 'react-native-reanimated';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  export const ChatControls = ({
12
12
  model,
@@ -16,14 +16,14 @@ export const ChatControls = ({
16
16
  iconSize = {
17
17
  width: 80,
18
18
  height: 100
19
- }
19
+ },
20
+ shouldAnimateCloseButton
20
21
  }) => {
21
22
  const isOpen = useUnit(model.$isOpen);
22
- const shouldAnimateCrossButton = useStoreMap(model.$currentChatData, data => data.messages.length === 1);
23
23
  if (isOpen) {
24
24
  return /*#__PURE__*/_jsx(Animated.View, {
25
25
  style: styles.container,
26
- entering: shouldAnimateCrossButton ? FadeIn.duration(900) : undefined,
26
+ entering: shouldAnimateCloseButton ? FadeIn.duration(900) : undefined,
27
27
  children: /*#__PURE__*/_jsx(Button, {
28
28
  onPress: onPressClose,
29
29
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","View","Button","ButtonColor","ButtonSize","ButtonStates","ButtonVariant","COLORS","useStoreMap","useUnit","ChatbotIcon","CloseIcon","Animated","FadeIn","jsx","_jsx","ChatControls","model","onPressChatIcon","onPressClose","ButtonWrapper","Fragment","iconSize","width","height","isOpen","$isOpen","shouldAnimateCrossButton","$currentChatData","data","messages","length","style","styles","container","entering","duration","undefined","children","onPress","button","buttonClose","variant","PRIMARY","size","LARGE","colorScheme","WHITE","raiseLevel","customColorScheme","DEFAULT","backgroundColor","NEUTRAL_1","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_10","PRESSED","NEUTRAL_4","HOVER","NEUTRAL_3","create","alignItems","justifyContent","flexDirection","maxHeight","gap","paddingBottom","borderRadius","paddingHorizontal","borderWidth"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatControls/ChatControls.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Pressable","StyleSheet","View","Button","ButtonColor","ButtonSize","ButtonStates","ButtonVariant","COLORS","Animated","FadeIn","useUnit","ChatbotIcon","CloseIcon","jsx","_jsx","ChatControls","model","onPressChatIcon","onPressClose","ButtonWrapper","Fragment","iconSize","width","height","shouldAnimateCloseButton","isOpen","$isOpen","style","styles","container","entering","duration","undefined","children","onPress","button","buttonClose","variant","PRIMARY","size","LARGE","colorScheme","WHITE","raiseLevel","customColorScheme","DEFAULT","backgroundColor","NEUTRAL_1","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_10","PRESSED","NEUTRAL_4","HOVER","NEUTRAL_3","create","alignItems","justifyContent","flexDirection","maxHeight","gap","paddingBottom","borderRadius","paddingHorizontal","borderWidth"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatControls/ChatControls.tsx"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,13 @@ export const Chatbot = ({
22
22
  isAvailable
23
23
  }) => isAvailable);
24
24
  model.t2s.setAudioConfig(textToSpeechConfig ?? null);
25
+ const shouldAnimateCloseButton = useStoreMap({
26
+ store: model.$currentChatData,
27
+ fn: (chat, [isInputDisabled]) => {
28
+ return isInputDisabled && chat.messages.length === 1;
29
+ },
30
+ keys: [isInputDisabled]
31
+ });
25
32
  const openChat = () => model.setIsOpen(true);
26
33
  const closeChat = () => model.setIsOpen(false);
27
34
  if (!isAvailable || !isChatAllowed) {
@@ -35,13 +42,14 @@ export const Chatbot = ({
35
42
  isHintFeedback: isHintFeedback,
36
43
  isTextToSpeechEnabled: isTextToSpeechEnabled,
37
44
  isInputDisabled: isInputDisabled,
38
- ButtonWrapper: ButtonWrapper
45
+ MessageWrapper: ButtonWrapper
39
46
  }), /*#__PURE__*/_jsx(ChatControls, {
40
47
  model: model,
41
48
  onPressChatIcon: openChat,
42
49
  onPressClose: closeChat,
50
+ iconSize: iconSize,
43
51
  ButtonWrapper: isInputDisabled ? undefined : ButtonWrapper,
44
- iconSize: iconSize
52
+ shouldAnimateCloseButton: shouldAnimateCloseButton
45
53
  })]
46
54
  });
47
55
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useStoreMap","useUnit","Chat","ChatControls","ChatBotModelContext","ColorScheme","jsx","_jsx","jsxs","_jsxs","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","Blue","isChatAllowed","$chatAccess","isAvailable","$currentChatData","t2s","setAudioConfig","openChat","setIsOpen","closeChat","Provider","value","children","onPressChatIcon","onPressClose","undefined"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAA4C,OAAO;AAC/D,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAGrD,SAASC,IAAI,QAAQ,gBAAa;AAClC,SAASC,YAAY,QAAQ,gCAA6B;AAE1D,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,WAAW,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAgBlD,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGb,WAAW,CAACc;AACd,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGnB,OAAO,CAACU,KAAK,CAACU,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAGtB,WAAW,CAACW,KAAK,CAACY,gBAAgB,EAAE,CAAC;IAAED;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFX,KAAK,CAACa,GAAG,CAACC,cAAc,CAACV,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMW,QAAQ,GAAGA,CAAA,KAAMf,KAAK,CAACgB,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAMjB,KAAK,CAACgB,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACL,WAAW,IAAI,CAACF,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACEX,KAAA,CAACL,mBAAmB,CAACyB,QAAQ;IAACC,KAAK,EAAEnB,KAAM;IAAAoB,QAAA,gBACzCxB,IAAA,CAACL,IAAI;MACHS,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjCE,aAAa,EAAEA;IAAc,CAC9B,CAAC,eAEFT,IAAA,CAACJ,YAAY;MACXQ,KAAK,EAAEA,KAAM;MACbqB,eAAe,EAAEN,QAAS;MAC1BO,YAAY,EAAEL,SAAU;MACxBZ,aAAa,EAAEF,eAAe,GAAGoB,SAAS,GAAGlB,aAAc;MAC3DC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useStoreMap","useUnit","Chat","ChatControls","ChatBotModelContext","ColorScheme","jsx","_jsx","jsxs","_jsxs","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","Blue","isChatAllowed","$chatAccess","isAvailable","$currentChatData","t2s","setAudioConfig","shouldAnimateCloseButton","store","fn","chat","messages","length","keys","openChat","setIsOpen","closeChat","Provider","value","children","MessageWrapper","onPressChatIcon","onPressClose","undefined"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAqD,OAAO;AACxE,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAGrD,SAASC,IAAI,QAAQ,gBAAa;AAClC,SAASC,YAAY,QAAQ,gCAA6B;AAE1D,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,WAAW,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAgBlD,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGb,WAAW,CAACc;AACd,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGnB,OAAO,CAACU,KAAK,CAACU,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAGtB,WAAW,CAACW,KAAK,CAACY,gBAAgB,EAAE,CAAC;IAAED;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFX,KAAK,CAACa,GAAG,CAACC,cAAc,CAACV,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMW,wBAAwB,GAAG1B,WAAW,CAAC;IAC3C2B,KAAK,EAAEhB,KAAK,CAACY,gBAAgB;IAC7BK,EAAE,EAAEA,CAACC,IAAI,EAAE,CAACf,eAAe,CAAC,KAAK;MAC/B,OAAOA,eAAe,IAAIe,IAAI,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;IACtD,CAAC;IACDC,IAAI,EAAE,CAAClB,eAAe;EACxB,CAAC,CAAC;EAEF,MAAMmB,QAAQ,GAAGA,CAAA,KAAMtB,KAAK,CAACuB,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAMxB,KAAK,CAACuB,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACZ,WAAW,IAAI,CAACF,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACEX,KAAA,CAACL,mBAAmB,CAACgC,QAAQ;IAACC,KAAK,EAAE1B,KAAM;IAAA2B,QAAA,gBACzC/B,IAAA,CAACL,IAAI;MACHS,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjCyB,cAAc,EAAEvB;IAAc,CAC/B,CAAC,eAEFT,IAAA,CAACJ,YAAY;MACXQ,KAAK,EAAEA,KAAM;MACb6B,eAAe,EAAEP,QAAS;MAC1BQ,YAAY,EAAEN,SAAU;MACxBlB,QAAQ,EAAEA,QAAS;MACnBD,aAAa,EAAEF,eAAe,GAAG4B,SAAS,GAAG1B,aAAc;MAC3DU,wBAAwB,EAAEA;IAAyB,CACpD,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const ConditionalWrapper = ({
6
+ withWrapper,
7
+ Wrapper,
8
+ children
9
+ }) => {
10
+ if (withWrapper && Wrapper) {
11
+ return /*#__PURE__*/_jsx(Wrapper, {
12
+ children: children
13
+ });
14
+ }
15
+ return children;
16
+ };
17
+ //# sourceMappingURL=ConditionalWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","jsx","_jsx","ConditionalWrapper","withWrapper","Wrapper","children"],"sourceRoot":"../../../../src","sources":["lib/components/ConditionalWrapper.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAuD,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQ1E,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAAEC,WAAW;EAAEC,OAAO;EAAEC;AAAkC,CAAC,KAAK;EACjG,IAAIF,WAAW,IAAIC,OAAO,EAAE;IAC1B,oBAAOH,IAAA,CAACG,OAAO;MAAAC,QAAA,EAAEA;IAAQ,CAAU,CAAC;EACtC;EAEA,OAAOA,QAAQ;AACjB,CAAC","ignoreList":[]}
@@ -7,8 +7,8 @@ type ChatProps = {
7
7
  isTextToSpeechEnabled: boolean;
8
8
  isInputDisabled?: boolean;
9
9
  colorScheme?: ColorScheme;
10
- ButtonWrapper?: ComponentType<PropsWithChildren>;
10
+ MessageWrapper?: ComponentType<PropsWithChildren>;
11
11
  };
12
- export declare const Chat: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, colorScheme, ButtonWrapper, }: ChatProps) => React.JSX.Element;
12
+ export declare const Chat: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, colorScheme, MessageWrapper, }: ChatProps) => React.JSX.Element;
13
13
  export {};
14
14
  //# sourceMappingURL=Chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAU,MAAM,OAAO,CAAA;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAQrD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,IAAI,mGAOd,SAAS,sBA0EX,CAAA"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAU,MAAM,OAAO,CAAA;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AASrD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,IAAI,oGAOd,SAAS,sBAsEX,CAAA"}
@@ -10,7 +10,8 @@ type ChatControlsProps = {
10
10
  width: number;
11
11
  height: number;
12
12
  };
13
+ shouldAnimateCloseButton?: boolean;
13
14
  };
14
- export declare const ChatControls: ({ model, onPressChatIcon, onPressClose, ButtonWrapper, iconSize, }: ChatControlsProps) => React.JSX.Element;
15
+ export declare const ChatControls: ({ model, onPressChatIcon, onPressClose, ButtonWrapper, iconSize, shouldAnimateCloseButton, }: ChatControlsProps) => React.JSX.Element;
15
16
  export {};
16
17
  //# sourceMappingURL=ChatControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatControls.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatControls/ChatControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAWxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,YAAY,uEAMtB,iBAAiB,sBA0DnB,CAAA"}
1
+ {"version":3,"file":"ChatControls.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatControls/ChatControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAYxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,YAAY,iGAOtB,iBAAiB,sBAsDnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chatbot.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/components/Chatbot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,OAAO,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,YAAY,CAAA;KACjC,CAAA;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,OAAO,iIASjB,YAAY,6BAgCd,CAAA"}
1
+ {"version":3,"file":"Chatbot.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/components/Chatbot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,OAAO,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,YAAY,CAAA;KACjC,CAAA;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,OAAO,iIASjB,YAAY,6BAyCd,CAAA"}
@@ -0,0 +1,9 @@
1
+ import React, { ComponentType, PropsWithChildren, ReactNode } from 'react';
2
+ type ConditionalWrapperProps = {
3
+ children: ReactNode;
4
+ withWrapper?: boolean;
5
+ Wrapper?: ComponentType<PropsWithChildren>;
6
+ };
7
+ export declare const ConditionalWrapper: ({ withWrapper, Wrapper, children }: ConditionalWrapperProps) => string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
8
+ export {};
9
+ //# sourceMappingURL=ConditionalWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionalWrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/ConditionalWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1E,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,kBAAkB,uCAAwC,uBAAuB,iGAM7F,CAAA"}
@@ -7,8 +7,8 @@ type ChatProps = {
7
7
  isTextToSpeechEnabled: boolean;
8
8
  isInputDisabled?: boolean;
9
9
  colorScheme?: ColorScheme;
10
- ButtonWrapper?: ComponentType<PropsWithChildren>;
10
+ MessageWrapper?: ComponentType<PropsWithChildren>;
11
11
  };
12
- export declare const Chat: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, colorScheme, ButtonWrapper, }: ChatProps) => React.JSX.Element;
12
+ export declare const Chat: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, colorScheme, MessageWrapper, }: ChatProps) => React.JSX.Element;
13
13
  export {};
14
14
  //# sourceMappingURL=Chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAU,MAAM,OAAO,CAAA;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAQrD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,IAAI,mGAOd,SAAS,sBA0EX,CAAA"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAU,MAAM,OAAO,CAAA;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AASrD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,IAAI,oGAOd,SAAS,sBAsEX,CAAA"}
@@ -10,7 +10,8 @@ type ChatControlsProps = {
10
10
  width: number;
11
11
  height: number;
12
12
  };
13
+ shouldAnimateCloseButton?: boolean;
13
14
  };
14
- export declare const ChatControls: ({ model, onPressChatIcon, onPressClose, ButtonWrapper, iconSize, }: ChatControlsProps) => React.JSX.Element;
15
+ export declare const ChatControls: ({ model, onPressChatIcon, onPressClose, ButtonWrapper, iconSize, shouldAnimateCloseButton, }: ChatControlsProps) => React.JSX.Element;
15
16
  export {};
16
17
  //# sourceMappingURL=ChatControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatControls.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatControls/ChatControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAWxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,YAAY,uEAMtB,iBAAiB,sBA0DnB,CAAA"}
1
+ {"version":3,"file":"ChatControls.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatControls/ChatControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAYxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,YAAY,iGAOtB,iBAAiB,sBAsDnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chatbot.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/components/Chatbot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,OAAO,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,YAAY,CAAA;KACjC,CAAA;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,OAAO,iIASjB,YAAY,6BAgCd,CAAA"}
1
+ {"version":3,"file":"Chatbot.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/components/Chatbot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,OAAO,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,YAAY,CAAA;KACjC,CAAA;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,OAAO,iIASjB,YAAY,6BAyCd,CAAA"}
@@ -0,0 +1,9 @@
1
+ import React, { ComponentType, PropsWithChildren, ReactNode } from 'react';
2
+ type ConditionalWrapperProps = {
3
+ children: ReactNode;
4
+ withWrapper?: boolean;
5
+ Wrapper?: ComponentType<PropsWithChildren>;
6
+ };
7
+ export declare const ConditionalWrapper: ({ withWrapper, Wrapper, children }: ConditionalWrapperProps) => string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
8
+ export {};
9
+ //# sourceMappingURL=ConditionalWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionalWrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/ConditionalWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1E,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,kBAAkB,uCAAwC,uBAAuB,iGAM7F,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.9.107-rc.chatbot-7",
3
+ "version": "0.9.107",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -8,6 +8,7 @@ import { MessageLoader } from '../ChatMessage/MessageLoader'
8
8
  import { ChatInput } from '../ChatInput/ChatInput'
9
9
  import { MessageVariant } from '../../types/model.types'
10
10
  import { ColorScheme } from '../../types/style.types'
11
+ import { ConditionalWrapper } from '../../../../lib/components/ConditionalWrapper'
11
12
 
12
13
  const TOOLBAR_HEIGHT = 140
13
14
  const BOTTOM_OFFSET = Platform.select({
@@ -21,7 +22,7 @@ type ChatProps = {
21
22
  isTextToSpeechEnabled: boolean
22
23
  isInputDisabled?: boolean
23
24
  colorScheme?: ColorScheme
24
- ButtonWrapper?: ComponentType<PropsWithChildren>
25
+ MessageWrapper?: ComponentType<PropsWithChildren>
25
26
  }
26
27
 
27
28
  export const Chat = ({
@@ -30,7 +31,7 @@ export const Chat = ({
30
31
  isTextToSpeechEnabled,
31
32
  isInputDisabled,
32
33
  colorScheme = ColorScheme.Blue,
33
- ButtonWrapper,
34
+ MessageWrapper,
34
35
  }: ChatProps) => {
35
36
  const dimensions = useWindowDimensions()
36
37
  const ref = useRef<ScrollView>(null)
@@ -48,6 +49,7 @@ export const Chat = ({
48
49
  const lastMessageId = messages.at(-1)?.id
49
50
 
50
51
  const MAX_HEIGHT = dimensions.height - TOOLBAR_HEIGHT - BOTTOM_OFFSET
52
+ const shouldWrapMessage = MessageWrapper && isInputDisabled && messages.length === 1
51
53
 
52
54
  return (
53
55
  <View style={[styles.container, { maxHeight: MAX_HEIGHT }]}>
@@ -65,31 +67,26 @@ export const Chat = ({
65
67
  >
66
68
  {isOpen && (
67
69
  <View style={[styles.gap, isInputDisabled && styles.messagesWithoutInput]}>
68
- {messages.map((message) => {
69
- const Wrapper =
70
- ButtonWrapper && messages.length === 1 ? ButtonWrapper : React.Fragment
71
-
72
- return (
73
- <Wrapper>
74
- <ChatMessage
75
- key={message.id}
76
- isTranslated={isTranslated}
77
- withIcon={!message.isOwnMessage && message.id === lastMessageId}
78
- message={message}
79
- variant={message.isOwnMessage ? MessageVariant.SENT : MessageVariant.RECEIVED}
80
- colorScheme={colorScheme}
81
- withErrorSpotting={errorSpottingEnabled && !message.isOwnMessage}
82
- t2sState={{
83
- isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
84
- isActive: message.id === currentPlayingId,
85
- isLoading: isTextToSpeechPending,
86
- status: audioStatus,
87
- disabled: isTextToSpeechPending,
88
- }}
89
- />
90
- </Wrapper>
91
- )
92
- })}
70
+ {messages.map((message) => (
71
+ <ConditionalWrapper withWrapper={shouldWrapMessage} Wrapper={MessageWrapper}>
72
+ <ChatMessage
73
+ key={message.id}
74
+ isTranslated={isTranslated}
75
+ withIcon={!message.isOwnMessage && message.id === lastMessageId}
76
+ message={message}
77
+ variant={message.isOwnMessage ? MessageVariant.SENT : MessageVariant.RECEIVED}
78
+ colorScheme={colorScheme}
79
+ withErrorSpotting={errorSpottingEnabled && !message.isOwnMessage}
80
+ t2sState={{
81
+ isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
82
+ isActive: message.id === currentPlayingId,
83
+ isLoading: isTextToSpeechPending,
84
+ status: audioStatus,
85
+ disabled: isTextToSpeechPending,
86
+ }}
87
+ />
88
+ </ConditionalWrapper>
89
+ ))}
93
90
 
94
91
  {isHelpRequestPending && <MessageLoader colorScheme={colorScheme} />}
95
92
  </View>
@@ -9,11 +9,11 @@ import {
9
9
  ButtonVariant,
10
10
  COLORS,
11
11
  } from '@magmamath/react-native-ui'
12
- import { useStoreMap, useUnit } from 'effector-react'
12
+ import Animated, { FadeIn } from 'react-native-reanimated'
13
+ import { useUnit } from 'effector-react'
13
14
  import { ChatbotModel } from '../../model/ChatBotModel'
14
15
  import { ChatbotIcon } from '../../../../shared/icons/ChatbotIcon'
15
16
  import { CloseIcon } from '../../../../shared/icons/CloseIcon'
16
- import Animated, { FadeIn } from 'react-native-reanimated'
17
17
 
18
18
  type ChatControlsProps = {
19
19
  model: ChatbotModel
@@ -21,6 +21,7 @@ type ChatControlsProps = {
21
21
  onPressClose: () => void
22
22
  ButtonWrapper?: ComponentType<PropsWithChildren>
23
23
  iconSize?: { width: number; height: number }
24
+ shouldAnimateCloseButton?: boolean
24
25
  }
25
26
 
26
27
  export const ChatControls = ({
@@ -29,18 +30,15 @@ export const ChatControls = ({
29
30
  onPressClose,
30
31
  ButtonWrapper = React.Fragment,
31
32
  iconSize = { width: 80, height: 100 },
33
+ shouldAnimateCloseButton,
32
34
  }: ChatControlsProps) => {
33
35
  const isOpen = useUnit(model.$isOpen)
34
- const shouldAnimateCrossButton = useStoreMap(
35
- model.$currentChatData,
36
- (data) => data.messages.length === 1,
37
- )
38
36
 
39
37
  if (isOpen) {
40
38
  return (
41
39
  <Animated.View
42
40
  style={styles.container}
43
- entering={shouldAnimateCrossButton ? FadeIn.duration(900) : undefined}
41
+ entering={shouldAnimateCloseButton ? FadeIn.duration(900) : undefined}
44
42
  >
45
43
  <Button
46
44
  onPress={onPressClose}
@@ -1,4 +1,4 @@
1
- import React, { ComponentType, PropsWithChildren } from 'react'
1
+ import React, { ComponentType, PropsWithChildren, useMemo } from 'react'
2
2
  import { useStoreMap, useUnit } from 'effector-react'
3
3
 
4
4
  import { ChatbotModel } from '../model/ChatBotModel'
@@ -36,6 +36,14 @@ export const Chatbot = ({
36
36
  const isAvailable = useStoreMap(model.$currentChatData, ({ isAvailable }) => isAvailable)
37
37
  model.t2s.setAudioConfig(textToSpeechConfig ?? null)
38
38
 
39
+ const shouldAnimateCloseButton = useStoreMap({
40
+ store: model.$currentChatData,
41
+ fn: (chat, [isInputDisabled]) => {
42
+ return isInputDisabled && chat.messages.length === 1
43
+ },
44
+ keys: [isInputDisabled],
45
+ })
46
+
39
47
  const openChat = () => model.setIsOpen(true)
40
48
  const closeChat = () => model.setIsOpen(false)
41
49
 
@@ -51,15 +59,16 @@ export const Chatbot = ({
51
59
  isHintFeedback={isHintFeedback}
52
60
  isTextToSpeechEnabled={isTextToSpeechEnabled}
53
61
  isInputDisabled={isInputDisabled}
54
- ButtonWrapper={ButtonWrapper}
62
+ MessageWrapper={ButtonWrapper}
55
63
  />
56
64
 
57
65
  <ChatControls
58
66
  model={model}
59
67
  onPressChatIcon={openChat}
60
68
  onPressClose={closeChat}
61
- ButtonWrapper={isInputDisabled ? undefined : ButtonWrapper}
62
69
  iconSize={iconSize}
70
+ ButtonWrapper={isInputDisabled ? undefined : ButtonWrapper}
71
+ shouldAnimateCloseButton={shouldAnimateCloseButton}
63
72
  />
64
73
  </ChatBotModelContext.Provider>
65
74
  )
@@ -0,0 +1,15 @@
1
+ import React, { ComponentType, PropsWithChildren, ReactNode } from 'react'
2
+
3
+ type ConditionalWrapperProps = {
4
+ children: ReactNode
5
+ withWrapper?: boolean
6
+ Wrapper?: ComponentType<PropsWithChildren>
7
+ }
8
+
9
+ export const ConditionalWrapper = ({ withWrapper, Wrapper, children }: ConditionalWrapperProps) => {
10
+ if (withWrapper && Wrapper) {
11
+ return <Wrapper>{children}</Wrapper>
12
+ }
13
+
14
+ return children
15
+ }