@magmamath/students-features 0.6.14-rc.1 → 0.6.14-rc.10

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 (181) hide show
  1. package/dist/commonjs/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +12 -9
  2. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -0
  3. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +53 -0
  4. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  5. package/dist/commonjs/features/chatbot/components/ChatInput/InputOption.js +39 -0
  6. package/dist/commonjs/features/chatbot/components/ChatInput/InputOption.js.map +1 -0
  7. package/dist/commonjs/features/chatbot/components/ChatInput/InputOptionWithTextArea.js +38 -0
  8. package/dist/commonjs/features/chatbot/components/ChatInput/InputOptionWithTextArea.js.map +1 -0
  9. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +140 -0
  10. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  11. package/dist/commonjs/features/chatbot/components/{Alternatives/InputWithHintRow.js → ChatInput/freeText/ChatTextInput.js} +63 -77
  12. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  13. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +44 -0
  14. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  15. package/dist/commonjs/features/chatbot/components/{Alternatives/InputButton.js → ChatInput/freeText/SendMessageButton.js} +23 -15
  16. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  17. package/dist/commonjs/features/chatbot/components/Chatbot.js +5 -3
  18. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  19. package/dist/commonjs/features/chatbot/constants.js +2 -1
  20. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  21. package/dist/commonjs/features/chatbot/index.js +7 -0
  22. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  23. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +22 -3
  24. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  25. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js +31 -10
  26. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  27. package/dist/commonjs/features/chatbot/model/ChatbotApi.js +3 -0
  28. package/dist/commonjs/features/chatbot/model/ChatbotApi.js.map +1 -1
  29. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  30. package/dist/commonjs/features/chatbot/types/units.types.js +10 -0
  31. package/dist/commonjs/features/chatbot/types/units.types.js.map +1 -1
  32. package/dist/commonjs/shared/translation/localization/en.json +1 -1
  33. package/dist/module/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +10 -7
  34. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -0
  35. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +47 -0
  36. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  37. package/dist/module/features/chatbot/components/ChatInput/InputOption.js +34 -0
  38. package/dist/module/features/chatbot/components/ChatInput/InputOption.js.map +1 -0
  39. package/dist/module/features/chatbot/components/ChatInput/InputOptionWithTextArea.js +32 -0
  40. package/dist/module/features/chatbot/components/ChatInput/InputOptionWithTextArea.js.map +1 -0
  41. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +132 -0
  42. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  43. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +134 -0
  44. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  45. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +38 -0
  46. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  47. package/dist/module/features/chatbot/components/{Alternatives/InputButton.js → ChatInput/freeText/SendMessageButton.js} +22 -14
  48. package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  49. package/dist/module/features/chatbot/components/Chatbot.js +5 -3
  50. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  51. package/dist/module/features/chatbot/constants.js +1 -0
  52. package/dist/module/features/chatbot/constants.js.map +1 -1
  53. package/dist/module/features/chatbot/index.js +1 -0
  54. package/dist/module/features/chatbot/index.js.map +1 -1
  55. package/dist/module/features/chatbot/model/ChatBotModel.js +22 -3
  56. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  57. package/dist/module/features/chatbot/model/ChatBotThreadManager.js +31 -10
  58. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  59. package/dist/module/features/chatbot/model/ChatbotApi.js +3 -0
  60. package/dist/module/features/chatbot/model/ChatbotApi.js.map +1 -1
  61. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  62. package/dist/module/features/chatbot/types/units.types.js +6 -0
  63. package/dist/module/features/chatbot/types/units.types.js.map +1 -1
  64. package/dist/module/shared/translation/localization/en.json +1 -1
  65. package/dist/typescript/commonjs/features/chatbot/components/{ChatMessages/ChatbotMessages.d.ts → Chat/Chat.d.ts} +4 -2
  66. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  67. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts +4 -0
  68. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  69. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/InputOption.d.ts +4 -0
  70. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/InputOption.d.ts.map +1 -0
  71. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/InputOptionWithTextArea.d.ts +4 -0
  72. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/InputOptionWithTextArea.d.ts.map +1 -0
  73. package/dist/typescript/{module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts → commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts} +7 -2
  74. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  75. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +10 -0
  76. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  77. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  78. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  79. package/dist/typescript/{module/features/chatbot/components/Alternatives/InputButton.d.ts → commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts} +2 -2
  80. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  81. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +2 -0
  82. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  83. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +1 -0
  84. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  85. package/dist/typescript/commonjs/features/chatbot/index.d.ts +1 -0
  86. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  87. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +5 -1
  88. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  89. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +5 -2
  90. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  91. package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
  92. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +16 -0
  93. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  94. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +10 -1
  95. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  96. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +18 -0
  97. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -1
  98. package/dist/typescript/module/features/chatbot/components/{ChatMessages/ChatbotMessages.d.ts → Chat/Chat.d.ts} +4 -2
  99. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  100. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts +4 -0
  101. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  102. package/dist/typescript/module/features/chatbot/components/ChatInput/InputOption.d.ts +4 -0
  103. package/dist/typescript/module/features/chatbot/components/ChatInput/InputOption.d.ts.map +1 -0
  104. package/dist/typescript/module/features/chatbot/components/ChatInput/InputOptionWithTextArea.d.ts +4 -0
  105. package/dist/typescript/module/features/chatbot/components/ChatInput/InputOptionWithTextArea.d.ts.map +1 -0
  106. package/dist/typescript/{commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts → module/features/chatbot/components/ChatInput/RequestHintButton.d.ts} +7 -2
  107. package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  108. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +10 -0
  109. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  110. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  111. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  112. package/dist/typescript/{commonjs/features/chatbot/components/Alternatives/InputButton.d.ts → module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts} +2 -2
  113. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  114. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +2 -0
  115. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  116. package/dist/typescript/module/features/chatbot/constants.d.ts +1 -0
  117. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  118. package/dist/typescript/module/features/chatbot/index.d.ts +1 -0
  119. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  120. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +5 -1
  121. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  122. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +5 -2
  123. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  124. package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
  125. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +16 -0
  126. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  127. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +10 -1
  128. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  129. package/dist/typescript/module/features/chatbot/types/units.types.d.ts +18 -0
  130. package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -1
  131. package/package.json +1 -1
  132. package/src/features/chatbot/components/{ChatMessages/ChatbotMessages.tsx → Chat/Chat.tsx} +9 -5
  133. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +56 -0
  134. package/src/features/chatbot/components/ChatInput/InputOption.tsx +29 -0
  135. package/src/features/chatbot/components/ChatInput/InputOptionWithTextArea.tsx +27 -0
  136. package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +160 -0
  137. package/src/features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx +133 -0
  138. package/src/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.tsx +42 -0
  139. package/src/features/chatbot/components/{Alternatives/InputButton.tsx → ChatInput/freeText/SendMessageButton.tsx} +35 -15
  140. package/src/features/chatbot/components/Chatbot.tsx +6 -2
  141. package/src/features/chatbot/constants.ts +3 -0
  142. package/src/features/chatbot/index.ts +2 -0
  143. package/src/features/chatbot/model/ChatBotModel.ts +57 -27
  144. package/src/features/chatbot/model/ChatBotThreadManager.ts +38 -9
  145. package/src/features/chatbot/model/ChatbotApi.ts +2 -0
  146. package/src/features/chatbot/types/api.types.ts +18 -0
  147. package/src/features/chatbot/types/model.types.ts +15 -0
  148. package/src/features/chatbot/types/units.types.ts +22 -0
  149. package/src/shared/translation/localization/en.json +1 -1
  150. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +0 -111
  151. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  152. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -208
  153. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  154. package/dist/commonjs/features/chatbot/components/Alternatives/InputButton.js.map +0 -1
  155. package/dist/commonjs/features/chatbot/components/Alternatives/InputWithHintRow.js.map +0 -1
  156. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  157. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +0 -105
  158. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  159. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -200
  160. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  161. package/dist/module/features/chatbot/components/Alternatives/InputButton.js.map +0 -1
  162. package/dist/module/features/chatbot/components/Alternatives/InputWithHintRow.js +0 -149
  163. package/dist/module/features/chatbot/components/Alternatives/InputWithHintRow.js.map +0 -1
  164. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  165. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  166. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  167. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  168. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/InputButton.d.ts.map +0 -1
  169. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/InputWithHintRow.d.ts +0 -11
  170. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/InputWithHintRow.d.ts.map +0 -1
  171. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  172. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  173. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  174. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  175. package/dist/typescript/module/features/chatbot/components/Alternatives/InputButton.d.ts.map +0 -1
  176. package/dist/typescript/module/features/chatbot/components/Alternatives/InputWithHintRow.d.ts +0 -11
  177. package/dist/typescript/module/features/chatbot/components/Alternatives/InputWithHintRow.d.ts.map +0 -1
  178. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  179. package/src/features/chatbot/components/Alternatives/Alternatives.tsx +0 -135
  180. package/src/features/chatbot/components/Alternatives/HelpRequestOption.tsx +0 -214
  181. package/src/features/chatbot/components/Alternatives/InputWithHintRow.tsx +0 -158
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ChatbotMessages = void 0;
6
+ exports.Chat = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _effectorReact = require("effector-react");
10
10
  var _ChatMessage = require("../ChatMessage/ChatMessage.js");
11
11
  var _MessageLoader = require("../ChatMessage/MessageLoader.js");
12
- var _Alternatives = require("../Alternatives/Alternatives.js");
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
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -20,10 +20,11 @@ const BOTTOM_OFFSET = _reactNative.Platform.select({
20
20
  web: 265,
21
21
  default: 294
22
22
  });
23
- const ChatbotMessages = ({
23
+ const Chat = ({
24
24
  model,
25
25
  isHintFeedback,
26
26
  isTextToSpeechEnabled,
27
+ inputMode,
27
28
  colorScheme = _styleTypes.ColorScheme.Blue
28
29
  }) => {
29
30
  const dimensions = (0, _reactNative.useWindowDimensions)();
@@ -40,10 +41,11 @@ const ChatbotMessages = ({
40
41
  }) => messages);
41
42
  const lastMessageId = messages.at(-1)?.id;
42
43
  const MAX_HEIGHT = dimensions.height - TOOLBAR_HEIGHT - BOTTOM_OFFSET;
43
- const askChatForHelp = (message, translatedMessage) => {
44
+ const askChatForHelp = (message, translatedMessage, isFreeText) => {
44
45
  void model.sendHelpRequestFx({
45
46
  message,
46
- translatedMessage
47
+ translatedMessage,
48
+ isFreeText
47
49
  });
48
50
  };
49
51
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -79,16 +81,17 @@ const ChatbotMessages = ({
79
81
  }, message.id)), isHelpRequestPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageLoader.MessageLoader, {
80
82
  colorScheme: colorScheme
81
83
  })]
82
- }), isOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alternatives.Alternatives, {
84
+ }), isOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatInput.ChatInput, {
83
85
  onPressAlternative: askChatForHelp,
84
86
  hasMessages: messages.length > 1,
85
87
  isHintFeedback: isHintFeedback,
86
- colorScheme: colorScheme
88
+ colorScheme: colorScheme,
89
+ inputMode: inputMode
87
90
  })]
88
91
  })
89
92
  });
90
93
  };
91
- exports.ChatbotMessages = ChatbotMessages;
94
+ exports.Chat = Chat;
92
95
  const styles = _reactNative.StyleSheet.create({
93
96
  container: {
94
97
  flex: 1,
@@ -106,4 +109,4 @@ const styles = _reactNative.StyleSheet.create({
106
109
  gap: 8
107
110
  }
108
111
  });
109
- //# sourceMappingURL=ChatbotMessages.js.map
112
+ //# sourceMappingURL=Chat.js.map
@@ -0,0 +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","inputMode","colorScheme","ColorScheme","Blue","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","askChatForHelp","message","translatedMessage","isFreeText","jsx","View","style","styles","container","maxHeight","children","jsxs","ScrollView","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","map","ChatMessage","withIcon","isOwnMessage","variant","MessageVariant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","MessageLoader","ChatInput","onPressAlternative","hasMessages","length","exports","StyleSheet","create","flex","alignItems","width","paddingVertical","paddingRight"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatInput = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _effectorReact = require("effector-react");
9
+ var _ChatBotModelContext = require("../../context/ChatBotModelContext.js");
10
+ var _styleTypes = require("../../types/style.types.js");
11
+ var _unitsTypes = require("../../types/units.types.js");
12
+ var _InputOption = require("./InputOption.js");
13
+ var _InputOptionWithTextArea = require("./InputOptionWithTextArea.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const chatInputVariant = {
17
+ [_unitsTypes.ChatInputMode.Option]: _InputOption.InputOption,
18
+ [_unitsTypes.ChatInputMode.FreeText]: _InputOptionWithTextArea.InputOptionWithTextArea
19
+ };
20
+ const ChatInput = ({
21
+ onPressAlternative,
22
+ hasMessages,
23
+ isHintFeedback,
24
+ inputMode,
25
+ colorScheme = _styleTypes.ColorScheme.Blue
26
+ }) => {
27
+ const model = (0, _ChatBotModelContext.useChatModel)();
28
+ const isTranslated = (0, _effectorReact.useUnit)(model.translation.$isTranslated);
29
+ const alternatives = (0, _effectorReact.useUnit)(model.$alternatives);
30
+ const isTranslationPending = (0, _effectorReact.useUnit)(model.translation.translateAllMessagesFx.pending);
31
+ const isHelpRequestPending = (0, _effectorReact.useUnit)(model.sendHelpRequestFx.pending);
32
+ const lastMessageOptions = (0, _effectorReact.useStoreMap)(model.$currentChatData, ({
33
+ messages
34
+ }) => {
35
+ const lastMessage = messages.at(-1);
36
+ return lastMessage?.options ?? [];
37
+ });
38
+ const availableOption = (() => {
39
+ if (hasMessages && lastMessageOptions.length) return lastMessageOptions[0];
40
+ if (isHintFeedback && alternatives?.options.hints) return alternatives?.options.hints[0];
41
+ return alternatives?.options.default[0] ?? null;
42
+ })();
43
+ const buttonLabel = (isTranslated && !isTranslationPending ? availableOption?.translatedText : availableOption?.text) ?? '';
44
+ const Component = chatInputVariant[inputMode];
45
+ return availableOption?.text && /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
46
+ message: buttonLabel,
47
+ onPress: () => onPressAlternative(availableOption.text, availableOption.translatedText),
48
+ disabled: isHelpRequestPending || hasMessages && lastMessageOptions.length === 0,
49
+ colorScheme: colorScheme
50
+ });
51
+ };
52
+ exports.ChatInput = ChatInput;
53
+ //# sourceMappingURL=ChatInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_ChatBotModelContext","_styleTypes","_unitsTypes","_InputOption","_InputOptionWithTextArea","_jsxRuntime","e","__esModule","default","chatInputVariant","ChatInputMode","Option","InputOption","FreeText","InputOptionWithTextArea","ChatInput","onPressAlternative","hasMessages","isHintFeedback","inputMode","colorScheme","ColorScheme","Blue","model","useChatModel","isTranslated","useUnit","translation","$isTranslated","alternatives","$alternatives","isTranslationPending","translateAllMessagesFx","pending","isHelpRequestPending","sendHelpRequestFx","lastMessageOptions","useStoreMap","$currentChatData","messages","lastMessage","at","options","availableOption","length","hints","buttonLabel","translatedText","text","Component","jsx","message","onPress","disabled","exports"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/ChatInput.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,wBAAA,GAAAN,OAAA;AAAmE,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnE,MAAMG,gBAAsE,GAAG;EAC7E,CAACC,yBAAa,CAACC,MAAM,GAAGC,wBAAW;EACnC,CAACF,yBAAa,CAACG,QAAQ,GAAGC;AAC5B,CAAC;AAEM,MAAMC,SAAS,GAAGA,CAAC;EACxBC,kBAAkB;EAClBC,WAAW;EACXC,cAAc;EACdC,SAAS;EACTC,WAAW,GAAGC,uBAAW,CAACC;AACR,CAAC,KAAK;EACxB,MAAMC,KAAK,GAAG,IAAAC,iCAAY,EAAC,CAAC;EAC5B,MAAMC,YAAY,GAAG,IAAAC,sBAAO,EAACH,KAAK,CAACI,WAAW,CAACC,aAAa,CAAC;EAC7D,MAAMC,YAAY,GAAG,IAAAH,sBAAO,EAACH,KAAK,CAACO,aAAa,CAAC;EACjD,MAAMC,oBAAoB,GAAG,IAAAL,sBAAO,EAACH,KAAK,CAACI,WAAW,CAACK,sBAAsB,CAACC,OAAO,CAAC;EACtF,MAAMC,oBAAoB,GAAG,IAAAR,sBAAO,EAACH,KAAK,CAACY,iBAAiB,CAACF,OAAO,CAAC;EAErE,MAAMG,kBAAkB,GAAG,IAAAC,0BAAW,EAACd,KAAK,CAACe,gBAAgB,EAAE,CAAC;IAAEC;EAAS,CAAC,KAAK;IAC/E,MAAMC,WAAW,GAAGD,QAAQ,CAACE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,OAAOD,WAAW,EAAEE,OAAO,IAAI,EAAE;EACnC,CAAC,CAAC;EAEF,MAAMC,eAAe,GAAG,CAAC,MAAM;IAC7B,IAAI1B,WAAW,IAAImB,kBAAkB,CAACQ,MAAM,EAAE,OAAOR,kBAAkB,CAAC,CAAC,CAAC;IAC1E,IAAIlB,cAAc,IAAIW,YAAY,EAAEa,OAAO,CAACG,KAAK,EAAE,OAAOhB,YAAY,EAAEa,OAAO,CAACG,KAAK,CAAC,CAAC,CAAC;IACxF,OAAOhB,YAAY,EAAEa,OAAO,CAAClC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;EACjD,CAAC,EAAE,CAAC;EAEJ,MAAMsC,WAAW,GACf,CAACrB,YAAY,IAAI,CAACM,oBAAoB,GAClCY,eAAe,EAAEI,cAAc,GAC/BJ,eAAe,EAAEK,IAAI,KAAK,EAAE;EAElC,MAAMC,SAAS,GAAGxC,gBAAgB,CAACU,SAAS,CAAC;EAE7C,OACEwB,eAAe,EAAEK,IAAI,iBACnB,IAAA3C,WAAA,CAAA6C,GAAA,EAACD,SAAS;IACRE,OAAO,EAAEL,WAAY;IACrBM,OAAO,EAAEA,CAAA,KAAMpC,kBAAkB,CAAC2B,eAAe,CAACK,IAAI,EAAEL,eAAe,CAACI,cAAc,CAAE;IACxFM,QAAQ,EAAEnB,oBAAoB,IAAKjB,WAAW,IAAImB,kBAAkB,CAACQ,MAAM,KAAK,CAAG;IACnFxB,WAAW,EAAEA;EAAY,CAC1B,CACF;AAEL,CAAC;AAAAkC,OAAA,CAAAvC,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InputOption = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _RequestHintButton = require("./RequestHintButton.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const InputOption = ({
13
+ message,
14
+ onPress,
15
+ colorScheme,
16
+ disabled
17
+ }) => {
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
19
+ style: styles.container,
20
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RequestHintButton.RequestHintButton, {
21
+ onPress: onPress,
22
+ message: message,
23
+ disabled: disabled,
24
+ colorScheme: colorScheme,
25
+ variant: _RequestHintButton.OptionButtonVariant.Default
26
+ })
27
+ });
28
+ };
29
+ exports.InputOption = InputOption;
30
+ const styles = _reactNative.StyleSheet.create({
31
+ container: {
32
+ flex: 1,
33
+ width: 305,
34
+ alignItems: 'center',
35
+ justifyContent: 'center',
36
+ marginVertical: 8
37
+ }
38
+ });
39
+ //# sourceMappingURL=InputOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","_RequestHintButton","_jsxRuntime","e","__esModule","default","InputOption","message","onPress","colorScheme","disabled","jsx","View","style","styles","container","children","RequestHintButton","variant","OptionButtonVariant","Default","exports","StyleSheet","create","flex","width","alignItems","justifyContent","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/InputOption.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,kBAAA,GAAAH,OAAA;AAAyD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGlD,MAAMG,WAAW,GAAGA,CAAC;EAAEC,OAAO;EAAEC,OAAO;EAAEC,WAAW;EAAEC;AAAyB,CAAC,KAAK;EAC1F,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACd,YAAA,CAAAe,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5B,IAAAd,WAAA,CAAAS,GAAA,EAACV,kBAAA,CAAAgB,iBAAiB;MAChBT,OAAO,EAAEA,OAAQ;MACjBD,OAAO,EAAEA,OAAQ;MACjBG,QAAQ,EAAEA,QAAS;MACnBD,WAAW,EAAEA,WAAY;MACzBS,OAAO,EAAEC,sCAAmB,CAACC;IAAQ,CACtC;EAAC,CACE,CAAC;AAEX,CAAC;AAAAC,OAAA,CAAAf,WAAA,GAAAA,WAAA;AAED,MAAMQ,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,GAAG;IACVC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InputOptionWithTextArea = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _FreeTextInputBlock = require("./freeText/FreeTextInputBlock.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const InputOptionWithTextArea = ({
13
+ message,
14
+ disabled,
15
+ onPress,
16
+ colorScheme
17
+ }) => {
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
19
+ style: styles.container,
20
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FreeTextInputBlock.FreeTextInputBlock, {
21
+ message: message,
22
+ onPress: onPress,
23
+ disabled: disabled,
24
+ colorScheme: colorScheme
25
+ })
26
+ });
27
+ };
28
+ exports.InputOptionWithTextArea = InputOptionWithTextArea;
29
+ const styles = _reactNative.StyleSheet.create({
30
+ container: {
31
+ flex: 1,
32
+ width: 305,
33
+ alignItems: 'center',
34
+ justifyContent: 'center',
35
+ marginVertical: 8
36
+ }
37
+ });
38
+ //# sourceMappingURL=InputOptionWithTextArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","_FreeTextInputBlock","_jsxRuntime","e","__esModule","default","InputOptionWithTextArea","message","disabled","onPress","colorScheme","jsx","View","style","styles","container","children","FreeTextInputBlock","exports","StyleSheet","create","flex","width","alignItems","justifyContent","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/InputOptionWithTextArea.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,mBAAA,GAAAH,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3D,MAAMG,uBAAuB,GAAGA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,OAAO;EAAEC;AAA4B,CAAC,KAAK;EACtG,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACd,YAAA,CAAAe,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5B,IAAAd,WAAA,CAAAS,GAAA,EAACV,mBAAA,CAAAgB,kBAAkB;MACjBV,OAAO,EAAEA,OAAQ;MACjBE,OAAO,EAAEA,OAAQ;MACjBD,QAAQ,EAAEA,QAAS;MACnBE,WAAW,EAAEA;IAAY,CAC1B;EAAC,CACE,CAAC;AAEX,CAAC;AAAAQ,OAAA,CAAAZ,uBAAA,GAAAA,uBAAA;AAED,MAAMQ,MAAM,GAAGK,uBAAU,CAACC,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,GAAG;IACVC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RequestHintButton = exports.OptionButtonVariant = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _reactNativeUi = require("@magmamath/react-native-ui");
11
+ var _studentsFeatures = require("@magmamath/students-features");
12
+ var _constants = require("../../constants.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ 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); }
15
+ 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; }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ let OptionButtonVariant = exports.OptionButtonVariant = /*#__PURE__*/function (OptionButtonVariant) {
18
+ OptionButtonVariant["Default"] = "default";
19
+ OptionButtonVariant["Short"] = "short";
20
+ return OptionButtonVariant;
21
+ }({});
22
+ const REQUEST_HINT_BUTTON = {
23
+ [OptionButtonVariant.Default]: {
24
+ WIDTH: 305,
25
+ FONT_SIZE: 20
26
+ },
27
+ [OptionButtonVariant.Short]: {
28
+ WIDTH: 163,
29
+ FONT_SIZE: 18
30
+ }
31
+ };
32
+ const RequestHintButton = ({
33
+ onPress,
34
+ message,
35
+ disabled = false,
36
+ colorScheme = _studentsFeatures.ColorScheme.Blue,
37
+ variant = OptionButtonVariant.Default
38
+ }) => {
39
+ const hoverSv = (0, _reactNativeReanimated.useSharedValue)(0);
40
+ const onHoverIn = () => {
41
+ if (!disabled) hoverSv.value = (0, _reactNativeReanimated.withTiming)(1, {
42
+ duration: 200
43
+ });
44
+ };
45
+ const onHoverOut = () => {
46
+ if (!disabled) hoverSv.value = (0, _reactNativeReanimated.withTiming)(0, {
47
+ duration: 200
48
+ });
49
+ };
50
+ const animatedTextContainerStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
51
+ if (disabled) {
52
+ return {
53
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_2,
54
+ borderColor: _reactNativeUi.COLORS.NEUTRAL_5
55
+ };
56
+ }
57
+ const defaultBorderColor = variant === OptionButtonVariant.Default ? _reactNativeUi.COLORS.NEUTRAL_1 : _constants.MESSAGE_COLORS_MAP[colorScheme].sent.border;
58
+ return {
59
+ backgroundColor: (0, _reactNativeReanimated.interpolateColor)(hoverSv.value, [0, 1], [_reactNativeUi.COLORS.NEUTRAL_1, _constants.MESSAGE_COLORS_MAP[colorScheme].sent.background]),
60
+ borderColor: (0, _reactNativeReanimated.interpolateColor)(hoverSv.value, [0, 1], [defaultBorderColor, _constants.MESSAGE_COLORS_MAP[colorScheme].sent.border])
61
+ };
62
+ }, [hoverSv, disabled, colorScheme]);
63
+ const animatedTextStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
64
+ if (disabled) return {
65
+ color: _reactNativeUi.COLORS.NEUTRAL_5
66
+ };
67
+ return {
68
+ color: (0, _reactNativeReanimated.interpolateColor)(hoverSv.value, [0, 1], [_reactNativeUi.COLORS.NEUTRAL_10, _reactNativeUi.COLORS.NEUTRAL_1])
69
+ };
70
+ }, [hoverSv, disabled]);
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
72
+ onHoverIn: onHoverIn,
73
+ onHoverOut: onHoverOut,
74
+ onPress: onPress,
75
+ style: [styles.button, {
76
+ cursor: disabled ? 'auto' : 'pointer',
77
+ width: REQUEST_HINT_BUTTON[variant].WIDTH
78
+ }],
79
+ disabled: disabled,
80
+ accessibilityState: {
81
+ disabled
82
+ },
83
+ accessibilityRole: "button",
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
85
+ style: [styles.content, animatedTextContainerStyle],
86
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
87
+ numberOfLines: 1,
88
+ style: [styles.text, animatedTextStyle, {
89
+ fontSize: REQUEST_HINT_BUTTON[variant].FONT_SIZE
90
+ }],
91
+ children: message
92
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
93
+ style: [styles.icon, animatedTextStyle],
94
+ children: variant === OptionButtonVariant.Default ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ArrowRightIcon, {
95
+ color: disabled ? _reactNativeUi.COLORS.NEUTRAL_5 : 'currentColor',
96
+ size: 16
97
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ArrowUpIcon, {
98
+ color: disabled ? _reactNativeUi.COLORS.NEUTRAL_5 : 'currentColor',
99
+ size: 16
100
+ })
101
+ })]
102
+ })
103
+ });
104
+ };
105
+ exports.RequestHintButton = RequestHintButton;
106
+ const styles = _reactNative.StyleSheet.create({
107
+ button: {
108
+ flexDirection: 'row',
109
+ justifyContent: 'flex-end'
110
+ },
111
+ text: {
112
+ fontWeight: '400',
113
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires,
114
+ color: _reactNativeUi.COLORS.NEUTRAL_10
115
+ },
116
+ content: {
117
+ flex: 1,
118
+ flexDirection: 'row',
119
+ alignItems: 'center',
120
+ justifyContent: 'space-between',
121
+ paddingHorizontal: _reactNativeUi.SPACING[400],
122
+ paddingVertical: _reactNativeUi.SPACING[200],
123
+ borderWidth: 1,
124
+ borderRadius: 48,
125
+ elevation: 3,
126
+ shadowColor: '#333',
127
+ shadowOffset: {
128
+ width: 0,
129
+ height: 1
130
+ },
131
+ shadowOpacity: 0.25,
132
+ shadowRadius: 3,
133
+ backgroundColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
134
+ borderColor: _reactNativeUi.COLORS.PRIMARY_BLUE
135
+ },
136
+ icon: {
137
+ top: _reactNativeUi.IS_MOBILE ? 3 : 0
138
+ }
139
+ });
140
+ //# sourceMappingURL=RequestHintButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","_reactNativeReanimated","_interopRequireWildcard","_reactNativeUi","_studentsFeatures","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OptionButtonVariant","exports","REQUEST_HINT_BUTTON","Default","WIDTH","FONT_SIZE","Short","RequestHintButton","onPress","message","disabled","colorScheme","ColorScheme","Blue","variant","hoverSv","useSharedValue","onHoverIn","value","withTiming","duration","onHoverOut","animatedTextContainerStyle","useAnimatedStyle","backgroundColor","COLORS","NEUTRAL_2","borderColor","NEUTRAL_5","defaultBorderColor","NEUTRAL_1","MESSAGE_COLORS_MAP","sent","border","interpolateColor","background","animatedTextStyle","color","NEUTRAL_10","jsx","Pressable","style","styles","button","cursor","width","accessibilityState","accessibilityRole","children","jsxs","View","content","Text","numberOfLines","text","fontSize","icon","ArrowRightIcon","size","ArrowUpIcon","StyleSheet","create","flexDirection","justifyContent","fontWeight","fontFamily","FONT_FAMILY","buenosAires","flex","alignItems","paddingHorizontal","SPACING","paddingVertical","borderWidth","borderRadius","elevation","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","PRIMARY_BLUE","top","IS_MOBILE"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/RequestHintButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,108 +3,97 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.InputWithHintRow = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
6
+ exports.ChatTextInput = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _effectorReact = require("effector-react");
9
9
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _reactNative = require("react-native");
10
11
  var _reactNativeUi = require("@magmamath/react-native-ui");
11
- var _HelpRequestOption = require("./HelpRequestOption.js");
12
- var _InputButton = require("./InputButton.js");
12
+ var _SendMessageButton = require("./SendMessageButton.js");
13
+ var _ChatBotModelContext = require("../../../context/ChatBotModelContext.js");
14
+ var _useKeyboard = require("../../../../../shared/hooks/useKeyboard.js");
15
+ var _constants = require("../../../../../lib/constants.js");
13
16
  var _jsxRuntime = require("react/jsx-runtime");
14
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); }
15
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; }
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
20
  const COMPACT_WIDTH = 134;
17
- const InputWithHintRow = ({
18
- onPress,
19
- message,
21
+ const FULL_WIDTH = 305;
22
+ const ANIMATION_DURATION = 200;
23
+ const ChatTextInput = ({
20
24
  disabled,
21
25
  colorScheme
22
26
  }) => {
23
- const [value, setValue] = (0, _react.useState)('');
27
+ const model = (0, _ChatBotModelContext.useChatModel)();
28
+ const inputValue = (0, _effectorReact.useUnit)(model.$textInputValue);
29
+ const {
30
+ language
31
+ } = (0, _effectorReact.useUnit)(model.$context) ?? {};
24
32
  const widthSv = (0, _reactNativeReanimated.useSharedValue)(COMPACT_WIDTH);
25
33
  const arrowOpacitySv = (0, _reactNativeReanimated.useSharedValue)(1);
26
34
  const hintVisibleSv = (0, _reactNativeReanimated.useSharedValue)(1);
27
- const valueLengthSv = (0, _reactNativeReanimated.useSharedValue)(0);
28
- const shouldDisable = value.trim().length > 0;
29
35
  const animatedInputStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
30
36
  width: widthSv.value
31
37
  }), [widthSv]);
32
38
  const handleChangeText = text => {
33
- setValue(text);
34
- valueLengthSv.value = text.trim().length;
35
- };
36
- (0, _reactNativeReanimated.useAnimatedReaction)(() => valueLengthSv.value, currentLength => {
37
- if (currentLength > 0) {
38
- widthSv.value = (0, _reactNativeReanimated.withTiming)(305, {
39
- duration: 200
39
+ if (text.trim().length > 500) return;
40
+ model.setTextInputValue(text);
41
+ const hasText = text.trim().length > 0;
42
+ const isExpanded = widthSv.value > COMPACT_WIDTH;
43
+ if (hasText && !isExpanded) {
44
+ widthSv.value = (0, _reactNativeReanimated.withTiming)(FULL_WIDTH, {
45
+ duration: ANIMATION_DURATION
40
46
  });
41
47
  arrowOpacitySv.value = (0, _reactNativeReanimated.withTiming)(0, {
42
- duration: 200
48
+ duration: ANIMATION_DURATION
43
49
  });
44
50
  hintVisibleSv.value = (0, _reactNativeReanimated.withTiming)(0, {
45
- duration: 200
51
+ duration: ANIMATION_DURATION
46
52
  });
47
- } else {
53
+ } else if (!hasText && isExpanded) {
48
54
  widthSv.value = (0, _reactNativeReanimated.withTiming)(COMPACT_WIDTH, {
49
- duration: 200
55
+ duration: ANIMATION_DURATION
50
56
  });
51
57
  arrowOpacitySv.value = (0, _reactNativeReanimated.withTiming)(1, {
52
- duration: 200
58
+ duration: ANIMATION_DURATION
53
59
  });
54
60
  hintVisibleSv.value = (0, _reactNativeReanimated.withTiming)(1, {
55
- duration: 200
61
+ duration: ANIMATION_DURATION
56
62
  });
57
63
  }
58
- }, [valueLengthSv]);
59
-
60
- // const handleFocus = () => {
61
- // widthSv.value = withTiming(305, { duration: 200 }) // expand full width (container limits it)
62
- // arrowOpacitySv.value = withTiming(0, { duration: 200 })
63
- // hintVisibleSv.value = withTiming(0, { duration: 200 })
64
- //
65
- // // setIsFocused(true)
66
- // }
67
- //
68
- // const handleBlur = () => {
69
- // if (value.trim().length > 0) return
70
- // widthSv.value = withTiming(COMPACT_WIDTH, { duration: 200 })
71
- // arrowOpacitySv.value = withTiming(1, { duration: 200 })
72
- // hintVisibleSv.value = withTiming(1, { duration: 200 })
73
- // // setIsFocused(false)
74
- // }
75
-
76
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
77
- style: styles.container,
78
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
79
- style: [styles.inputWrapper, animatedInputStyle],
80
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
81
- style: styles.input,
82
- placeholder: "Type...",
83
- placeholderTextColor: _reactNativeUi.COLORS.NEUTRAL_6,
84
- value: value,
85
- onChangeText: handleChangeText
86
- // onFocus={handleFocus}
87
- // onBlur={handleBlur}
88
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
89
- style: [styles.arrowWrapper],
90
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputButton.InputButton, {
91
- onPress: () => {
92
- console.log('Pressed');
93
- },
94
- disabled: value.trim().length < 1 || disabled,
95
- colorScheme: colorScheme
96
- })
97
- })]
98
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_HelpRequestOption.HelpRequestOption, {
99
- visibleSv: hintVisibleSv,
100
- disabled: disabled || shouldDisable,
101
- onPress: onPress,
102
- message: message,
64
+ };
65
+ const handleOnPress = () => {
66
+ if (disabled || inputValue.trim().length < 1 || inputValue.length > 500) return;
67
+ handleChangeText('');
68
+ void model.sendHelpRequestFx({
69
+ message: inputValue,
70
+ translatedMessage: inputValue,
71
+ isFreeText: true
72
+ });
73
+ };
74
+ (0, _useKeyboard.useKeyBoard)(event => {
75
+ if (event.key === _constants.KeyboardKeys.ENTER) {
76
+ handleOnPress();
77
+ }
78
+ });
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
80
+ style: [styles.inputWrapper, animatedInputStyle],
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
82
+ style: styles.input,
83
+ placeholder: language === 'Swedish' ? 'Skriv...' : 'Type...',
84
+ placeholderTextColor: _reactNativeUi.COLORS.NEUTRAL_6,
85
+ value: inputValue,
86
+ onChangeText: handleChangeText,
87
+ onBlur: () => model.setIsTextInputFocused(false),
88
+ onFocus: () => model.setIsTextInputFocused(true)
89
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SendMessageButton.SendMessageButton, {
90
+ onPress: handleOnPress,
91
+ disabled: inputValue.trim().length < 1 || disabled,
103
92
  colorScheme: colorScheme
104
93
  })]
105
94
  });
106
95
  };
107
- exports.InputWithHintRow = InputWithHintRow;
96
+ exports.ChatTextInput = ChatTextInput;
108
97
  const styles = _reactNative.StyleSheet.create({
109
98
  container: {
110
99
  position: 'relative',
@@ -116,17 +105,14 @@ const styles = _reactNative.StyleSheet.create({
116
105
  inputWrapper: {
117
106
  position: 'absolute',
118
107
  zIndex: 1,
119
- right: _reactNativeUi.SPACING[200],
120
108
  left: 0,
121
109
  flexDirection: 'row',
122
- alignItems: 'center',
123
110
  borderWidth: 1,
124
111
  borderColor: _reactNativeUi.COLORS.NEUTRAL_5,
125
112
  borderRadius: 200,
126
113
  backgroundColor: _reactNativeUi.COLORS.NEUTRAL_1,
127
114
  paddingHorizontal: _reactNativeUi.SPACING[100],
128
115
  paddingVertical: _reactNativeUi.SPACING[100],
129
- overflow: 'hidden',
130
116
  elevation: 3,
131
117
  shadowColor: '#333',
132
118
  shadowOffset: {
@@ -143,14 +129,14 @@ const styles = _reactNative.StyleSheet.create({
143
129
  minHeight: 22,
144
130
  fontWeight: '400',
145
131
  fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires,
132
+ paddingHorizontal: _reactNativeUi.SPACING[200],
133
+ paddingVertical: _reactNativeUi.SPACING[200],
146
134
  ...(_reactNative.Platform.OS === 'web' && {
147
135
  outlineStyle: 'none'
148
- }),
149
- paddingHorizontal: _reactNativeUi.SPACING[100],
150
- paddingVertical: _reactNativeUi.SPACING[200]
136
+ })
151
137
  },
152
138
  arrowWrapper: {
153
139
  marginLeft: _reactNativeUi.SPACING[200]
154
140
  }
155
141
  });
156
- //# sourceMappingURL=InputWithHintRow.js.map
142
+ //# sourceMappingURL=ChatTextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_reactNativeReanimated","_interopRequireWildcard","_reactNative","_reactNativeUi","_SendMessageButton","_ChatBotModelContext","_useKeyboard","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","COMPACT_WIDTH","FULL_WIDTH","ANIMATION_DURATION","ChatTextInput","disabled","colorScheme","model","useChatModel","inputValue","useUnit","$textInputValue","language","$context","widthSv","useSharedValue","arrowOpacitySv","hintVisibleSv","animatedInputStyle","useAnimatedStyle","width","value","handleChangeText","text","trim","length","setTextInputValue","hasText","isExpanded","withTiming","duration","handleOnPress","sendHelpRequestFx","message","translatedMessage","isFreeText","useKeyBoard","event","key","KeyboardKeys","ENTER","jsxs","View","style","styles","inputWrapper","children","jsx","TextInput","input","placeholder","placeholderTextColor","COLORS","NEUTRAL_6","onChangeText","onBlur","setIsTextInputFocused","onFocus","SendMessageButton","onPress","exports","StyleSheet","create","container","position","alignItems","height","justifyContent","zIndex","left","flexDirection","borderWidth","borderColor","NEUTRAL_5","borderRadius","backgroundColor","NEUTRAL_1","paddingHorizontal","SPACING","paddingVertical","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","flex","fontSize","minWidth","minHeight","fontWeight","fontFamily","FONT_FAMILY","buenosAires","Platform","OS","outlineStyle","arrowWrapper","marginLeft"],"sourceRoot":"../../../../../../../src","sources":["features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx"],"mappings":"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","ignoreList":[]}