@magmamath/students-features 0.7.0 → 0.8.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +8 -15
- package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +1 -1
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +74 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +144 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +138 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +66 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js +106 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +7 -4
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -2
- package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/commonjs/features/chatbot/constants.js +6 -1
- package/dist/commonjs/features/chatbot/constants.js.map +1 -1
- package/dist/commonjs/features/chatbot/helpers.js +75 -1
- package/dist/commonjs/features/chatbot/helpers.js.map +1 -1
- package/dist/commonjs/features/chatbot/index.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js +49 -11
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js +16 -0
- package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js +11 -19
- package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/{translation.js → ChatbotTranslation.js} +29 -1
- package/dist/commonjs/features/chatbot/model/ChatbotTranslation.js.map +1 -0
- package/dist/commonjs/features/chatbot/types/model.types.js +6 -1
- package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
- package/dist/commonjs/features/chatbot/types/units.types.js +10 -0
- package/dist/commonjs/features/chatbot/types/units.types.js.map +1 -1
- package/dist/commonjs/shared/hooks/useKeyDownListener.js +3 -2
- package/dist/commonjs/shared/hooks/useKeyDownListener.js.map +1 -1
- package/dist/commonjs/shared/translation/localization/ca.json +3 -2
- package/dist/commonjs/shared/translation/localization/en.json +3 -2
- package/dist/commonjs/shared/translation/localization/gb.json +3 -2
- package/dist/commonjs/shared/translation/localization/sct.json +3 -2
- package/dist/commonjs/shared/translation/localization/sw.json +3 -2
- package/dist/module/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +6 -13
- package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +1 -1
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +67 -0
- package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +138 -0
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +131 -0
- package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +60 -0
- package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js +98 -0
- package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +7 -4
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
- package/dist/module/features/chatbot/components/Chatbot.js +2 -2
- package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/module/features/chatbot/constants.js +5 -0
- package/dist/module/features/chatbot/constants.js.map +1 -1
- package/dist/module/features/chatbot/helpers.js +71 -0
- package/dist/module/features/chatbot/helpers.js.map +1 -1
- package/dist/module/features/chatbot/index.js.map +1 -1
- package/dist/module/features/chatbot/model/ChatBotModel.js +49 -11
- package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/module/features/chatbot/model/ChatBotTextInput.js +11 -0
- package/dist/module/features/chatbot/model/ChatBotTextInput.js.map +1 -0
- package/dist/module/features/chatbot/model/ChatBotThreadManager.js +11 -19
- package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
- package/dist/module/features/chatbot/model/{translation.js → ChatbotTranslation.js} +29 -1
- package/dist/module/features/chatbot/model/ChatbotTranslation.js.map +1 -0
- package/dist/module/features/chatbot/types/model.types.js +5 -0
- package/dist/module/features/chatbot/types/model.types.js.map +1 -1
- package/dist/module/features/chatbot/types/units.types.js +6 -0
- package/dist/module/features/chatbot/types/units.types.js.map +1 -1
- package/dist/module/shared/hooks/useKeyDownListener.js +3 -2
- package/dist/module/shared/hooks/useKeyDownListener.js.map +1 -1
- package/dist/module/shared/translation/localization/ca.json +3 -2
- package/dist/module/shared/translation/localization/en.json +3 -2
- package/dist/module/shared/translation/localization/gb.json +3 -2
- package/dist/module/shared/translation/localization/sct.json +3 -2
- package/dist/module/shared/translation/localization/sw.json +3 -2
- package/dist/typescript/{module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts → commonjs/features/chatbot/components/Chat/Chat.d.ts} +3 -3
- package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts +10 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +3 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts +5 -0
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/helpers.d.ts +5 -0
- package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +5 -6
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
- package/dist/typescript/{module/features/chatbot/model/translation.d.ts → commonjs/features/chatbot/model/ChatbotTranslation.d.ts} +3 -2
- package/dist/typescript/commonjs/features/chatbot/model/ChatbotTranslation.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +28 -6
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +28 -3
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +5 -0
- package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +5 -0
- package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts +1 -1
- package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts +1 -1
- package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +5 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/{commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts → module/features/chatbot/components/Chat/Chat.d.ts} +3 -3
- package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts +10 -0
- package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +3 -1
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/constants.d.ts +5 -0
- package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/helpers.d.ts +5 -0
- package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +5 -6
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
- package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
- package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
- package/dist/typescript/{commonjs/features/chatbot/model/translation.d.ts → module/features/chatbot/model/ChatbotTranslation.d.ts} +3 -2
- package/dist/typescript/module/features/chatbot/model/ChatbotTranslation.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts +28 -6
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts +28 -3
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +5 -0
- package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/units.types.d.ts +5 -0
- package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -1
- package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts +1 -1
- package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts.map +1 -1
- package/dist/typescript/module/shared/hooks/useKeyboard.d.ts +1 -1
- package/dist/typescript/module/shared/hooks/useKeyboard.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/constants.d.ts +5 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +2 -0
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chatbot/components/{ChatMessages/ChatbotMessages.tsx → Chat/Chat.tsx} +13 -18
- package/src/features/chatbot/components/ChatControls/ChatControls.tsx +2 -2
- package/src/features/chatbot/components/ChatInput/ChatInput.tsx +88 -0
- package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +156 -0
- package/src/features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx +156 -0
- package/src/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.tsx +71 -0
- package/src/features/chatbot/components/ChatInput/freeText/SendMessageButton.tsx +111 -0
- package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +6 -2
- package/src/features/chatbot/components/Chatbot.tsx +5 -3
- package/src/features/chatbot/constants.ts +7 -0
- package/src/features/chatbot/helpers.ts +70 -1
- package/src/features/chatbot/index.ts +1 -0
- package/src/features/chatbot/model/ChatBotModel.ts +82 -37
- package/src/features/chatbot/model/ChatBotTextInput.ts +10 -0
- package/src/features/chatbot/model/ChatBotThreadManager.ts +17 -19
- package/src/features/chatbot/model/{translation.ts → ChatbotTranslation.ts} +32 -2
- package/src/features/chatbot/types/api.types.ts +31 -6
- package/src/features/chatbot/types/model.types.ts +35 -2
- package/src/features/chatbot/types/translation.types.ts +6 -0
- package/src/features/chatbot/types/units.types.ts +6 -0
- package/src/shared/hooks/useKeyDownListener.ts +3 -1
- package/src/shared/translation/localization/ca.json +3 -2
- package/src/shared/translation/localization/en.json +3 -2
- package/src/shared/translation/localization/gb.json +3 -2
- package/src/shared/translation/localization/sct.json +3 -2
- package/src/shared/translation/localization/sw.json +3 -2
- package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +0 -59
- package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
- package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -99
- package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
- package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
- package/dist/commonjs/features/chatbot/model/translation.js.map +0 -1
- package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +0 -53
- package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
- package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -92
- package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
- package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
- package/dist/module/features/chatbot/model/translation.js.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -10
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
- package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -10
- package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +0 -1
- package/src/features/chatbot/components/Alternatives/Alternatives.tsx +0 -60
- package/src/features/chatbot/components/Alternatives/HelpRequestOption.tsx +0 -91
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useRef, useState } from 'react';
|
|
4
|
+
import Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
5
|
+
import { Platform, StyleSheet, TextInput } from 'react-native';
|
|
6
|
+
import { COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui';
|
|
7
|
+
import { ColorScheme } from '@magmamath/students-features';
|
|
8
|
+
import { useKeyBoard } from "../../../../../shared/hooks/useKeyboard.js";
|
|
9
|
+
import { KeyboardKeys } from "../../../../../lib/constants.js";
|
|
10
|
+
import { SendMessageButton } from "./SendMessageButton.js";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
const MAX_AVAILABLE_MESSAGE_LENGTH = 500;
|
|
13
|
+
const COMPACT_WIDTH = 134;
|
|
14
|
+
const FULL_WIDTH = 305;
|
|
15
|
+
const ANIMATION_DURATION = 200;
|
|
16
|
+
export const ChatTextInput = ({
|
|
17
|
+
value,
|
|
18
|
+
submitDisabled,
|
|
19
|
+
onSubmit,
|
|
20
|
+
onChangeText,
|
|
21
|
+
onBlur,
|
|
22
|
+
onFocus,
|
|
23
|
+
colorScheme = ColorScheme.Blue,
|
|
24
|
+
placeholder
|
|
25
|
+
}) => {
|
|
26
|
+
const inputRef = useRef(null);
|
|
27
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
28
|
+
const widthSv = useSharedValue(value ? FULL_WIDTH : COMPACT_WIDTH);
|
|
29
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
30
|
+
width: widthSv.value
|
|
31
|
+
}), [widthSv]);
|
|
32
|
+
const handleInputChange = text => {
|
|
33
|
+
if (text.length > MAX_AVAILABLE_MESSAGE_LENGTH) return;
|
|
34
|
+
onChangeText?.(text);
|
|
35
|
+
const hasText = text.trim().length > 0;
|
|
36
|
+
const isExpanded = widthSv.value > COMPACT_WIDTH;
|
|
37
|
+
const shouldCollapseInput = !hasText && isExpanded;
|
|
38
|
+
const shouldExpandInput = hasText && !isExpanded;
|
|
39
|
+
if (shouldExpandInput) {
|
|
40
|
+
widthSv.value = withTiming(FULL_WIDTH, {
|
|
41
|
+
duration: ANIMATION_DURATION
|
|
42
|
+
});
|
|
43
|
+
} else if (shouldCollapseInput) {
|
|
44
|
+
widthSv.value = withTiming(COMPACT_WIDTH, {
|
|
45
|
+
duration: ANIMATION_DURATION
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const handleSendMessage = () => {
|
|
50
|
+
if (submitDisabled || value.trim().length < 1 || value.length > MAX_AVAILABLE_MESSAGE_LENGTH) return;
|
|
51
|
+
onSubmit?.();
|
|
52
|
+
handleInputChange('');
|
|
53
|
+
inputRef.current?.focus();
|
|
54
|
+
};
|
|
55
|
+
const handleOnFocus = e => {
|
|
56
|
+
setIsFocused(true);
|
|
57
|
+
onFocus?.(e);
|
|
58
|
+
};
|
|
59
|
+
const handleOnBlur = e => {
|
|
60
|
+
setIsFocused(false);
|
|
61
|
+
onBlur?.(e);
|
|
62
|
+
};
|
|
63
|
+
useKeyBoard(event => {
|
|
64
|
+
if (event.key === KeyboardKeys.ENTER) {
|
|
65
|
+
void handleSendMessage();
|
|
66
|
+
}
|
|
67
|
+
}, isFocused);
|
|
68
|
+
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
69
|
+
style: [styles.inputWrapper, animatedStyle],
|
|
70
|
+
children: [/*#__PURE__*/_jsx(TextInput, {
|
|
71
|
+
ref: inputRef,
|
|
72
|
+
value: value,
|
|
73
|
+
onChangeText: handleInputChange,
|
|
74
|
+
onBlur: handleOnBlur,
|
|
75
|
+
onFocus: handleOnFocus,
|
|
76
|
+
placeholder: placeholder,
|
|
77
|
+
placeholderTextColor: COLORS.NEUTRAL_6,
|
|
78
|
+
style: styles.input
|
|
79
|
+
}), /*#__PURE__*/_jsx(SendMessageButton, {
|
|
80
|
+
onPress: handleSendMessage,
|
|
81
|
+
disabled: !!submitDisabled,
|
|
82
|
+
colorScheme: colorScheme
|
|
83
|
+
})]
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
const styles = StyleSheet.create({
|
|
87
|
+
container: {
|
|
88
|
+
position: 'relative',
|
|
89
|
+
width: '100%',
|
|
90
|
+
alignItems: 'flex-end',
|
|
91
|
+
height: 52,
|
|
92
|
+
justifyContent: 'center'
|
|
93
|
+
},
|
|
94
|
+
inputWrapper: {
|
|
95
|
+
position: 'absolute',
|
|
96
|
+
zIndex: 1,
|
|
97
|
+
left: 0,
|
|
98
|
+
flexDirection: 'row',
|
|
99
|
+
borderWidth: 1,
|
|
100
|
+
borderColor: COLORS.NEUTRAL_5,
|
|
101
|
+
borderRadius: 200,
|
|
102
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
103
|
+
paddingHorizontal: SPACING[100],
|
|
104
|
+
paddingVertical: SPACING[100],
|
|
105
|
+
elevation: 3,
|
|
106
|
+
shadowColor: '#333',
|
|
107
|
+
shadowOffset: {
|
|
108
|
+
width: 0,
|
|
109
|
+
height: 1
|
|
110
|
+
},
|
|
111
|
+
shadowOpacity: 0.25,
|
|
112
|
+
shadowRadius: 3
|
|
113
|
+
},
|
|
114
|
+
input: {
|
|
115
|
+
flex: 1,
|
|
116
|
+
fontSize: 16,
|
|
117
|
+
minWidth: 60,
|
|
118
|
+
minHeight: 22,
|
|
119
|
+
fontWeight: '400',
|
|
120
|
+
fontFamily: FONT_FAMILY.buenosAires,
|
|
121
|
+
paddingHorizontal: SPACING[200],
|
|
122
|
+
paddingVertical: SPACING[200],
|
|
123
|
+
...(Platform.OS === 'web' && {
|
|
124
|
+
outlineStyle: 'none'
|
|
125
|
+
})
|
|
126
|
+
},
|
|
127
|
+
arrowWrapper: {
|
|
128
|
+
marginLeft: SPACING[200]
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
//# sourceMappingURL=ChatTextInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","Animated","useAnimatedStyle","useSharedValue","withTiming","Platform","StyleSheet","TextInput","COLORS","FONT_FAMILY","SPACING","ColorScheme","useKeyBoard","KeyboardKeys","SendMessageButton","jsx","_jsx","jsxs","_jsxs","MAX_AVAILABLE_MESSAGE_LENGTH","COMPACT_WIDTH","FULL_WIDTH","ANIMATION_DURATION","ChatTextInput","value","submitDisabled","onSubmit","onChangeText","onBlur","onFocus","colorScheme","Blue","placeholder","inputRef","isFocused","setIsFocused","widthSv","animatedStyle","width","handleInputChange","text","length","hasText","trim","isExpanded","shouldCollapseInput","shouldExpandInput","duration","handleSendMessage","current","focus","handleOnFocus","e","handleOnBlur","event","key","ENTER","View","style","styles","inputWrapper","children","ref","placeholderTextColor","NEUTRAL_6","input","onPress","disabled","create","container","position","alignItems","height","justifyContent","zIndex","left","flexDirection","borderWidth","borderColor","NEUTRAL_5","borderRadius","backgroundColor","NEUTRAL_1","paddingHorizontal","paddingVertical","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","flex","fontSize","minWidth","minHeight","fontWeight","fontFamily","buenosAires","OS","outlineStyle","arrowWrapper","marginLeft"],"sourceRoot":"../../../../../../../src","sources":["features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { useUnit } from 'effector-react';
|
|
5
|
+
import { StyleSheet, View } from 'react-native';
|
|
6
|
+
import { HintButtonVariant, RequestHintButton } from "../RequestHintButton.js";
|
|
7
|
+
import { useChatModel } from "../../../context/ChatBotModelContext.js";
|
|
8
|
+
import { t } from "../../../../../shared/translation/index.js";
|
|
9
|
+
import { ChatTextInput } from "./ChatTextInput.js";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
export const FreeTextInputBlock = ({
|
|
12
|
+
optionLabel,
|
|
13
|
+
onOptionPress,
|
|
14
|
+
disabled,
|
|
15
|
+
colorScheme
|
|
16
|
+
}) => {
|
|
17
|
+
const model = useChatModel();
|
|
18
|
+
const inputValue = useUnit(model.textInput.$value);
|
|
19
|
+
const handleOnSubmit = async () => {
|
|
20
|
+
const translatedMessage = await model.translation.translateSingleMessageFx(inputValue);
|
|
21
|
+
void model.textInput.setValue('');
|
|
22
|
+
void model.sendHelpRequestFx({
|
|
23
|
+
message: inputValue,
|
|
24
|
+
translatedMessage,
|
|
25
|
+
isFreeText: true
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const handleOnBlur = () => model.textInput.setIsFocused(false);
|
|
29
|
+
const handleOnFocus = () => model.textInput.setIsFocused(true);
|
|
30
|
+
const handleOnChangeText = text => model.textInput.setValue(text);
|
|
31
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
32
|
+
style: styles.container,
|
|
33
|
+
children: [/*#__PURE__*/_jsx(ChatTextInput, {
|
|
34
|
+
value: inputValue,
|
|
35
|
+
onSubmit: handleOnSubmit,
|
|
36
|
+
onChangeText: handleOnChangeText,
|
|
37
|
+
onBlur: handleOnBlur,
|
|
38
|
+
onFocus: handleOnFocus,
|
|
39
|
+
submitDisabled: disabled || inputValue.trim().length < 1,
|
|
40
|
+
colorScheme: colorScheme,
|
|
41
|
+
placeholder: t('chat.inputPlaceholder')
|
|
42
|
+
}), /*#__PURE__*/_jsx(RequestHintButton, {
|
|
43
|
+
onPress: onOptionPress,
|
|
44
|
+
label: optionLabel,
|
|
45
|
+
disabled: disabled,
|
|
46
|
+
colorScheme: colorScheme,
|
|
47
|
+
variant: HintButtonVariant.Short
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
const styles = StyleSheet.create({
|
|
52
|
+
container: {
|
|
53
|
+
position: 'relative',
|
|
54
|
+
width: '100%',
|
|
55
|
+
alignItems: 'flex-end',
|
|
56
|
+
height: 52,
|
|
57
|
+
justifyContent: 'center'
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=FreeTextInputBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useUnit","StyleSheet","View","HintButtonVariant","RequestHintButton","useChatModel","t","ChatTextInput","jsx","_jsx","jsxs","_jsxs","FreeTextInputBlock","optionLabel","onOptionPress","disabled","colorScheme","model","inputValue","textInput","$value","handleOnSubmit","translatedMessage","translation","translateSingleMessageFx","setValue","sendHelpRequestFx","message","isFreeText","handleOnBlur","setIsFocused","handleOnFocus","handleOnChangeText","text","style","styles","container","children","value","onSubmit","onChangeText","onBlur","onFocus","submitDisabled","trim","length","placeholder","onPress","label","variant","Short","create","position","width","alignItems","height","justifyContent"],"sourceRoot":"../../../../../../../src","sources":["features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,yBAAsB;AAC3E,SAASC,YAAY,QAAQ,yCAAsC;AACnE,SAASC,CAAC,QAAQ,4CAAmC;AACrD,SAASC,aAAa,QAAQ,oBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAS/C,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EACjCC,WAAW;EACXC,aAAa;EACbC,QAAQ;EACRC;AACuB,CAAC,KAAK;EAC7B,MAAMC,KAAK,GAAGZ,YAAY,CAAC,CAAC;EAC5B,MAAMa,UAAU,GAAGlB,OAAO,CAACiB,KAAK,CAACE,SAAS,CAACC,MAAM,CAAC;EAElD,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAY;IACjC,MAAMC,iBAAiB,GAAG,MAAML,KAAK,CAACM,WAAW,CAACC,wBAAwB,CAACN,UAAU,CAAC;IAEtF,KAAKD,KAAK,CAACE,SAAS,CAACM,QAAQ,CAAC,EAAE,CAAC;IACjC,KAAKR,KAAK,CAACS,iBAAiB,CAAC;MAC3BC,OAAO,EAAET,UAAU;MACnBI,iBAAiB;MACjBM,UAAU,EAAE;IACd,CAAC,CAAC;EACJ,CAAC;EACD,MAAMC,YAAY,GAAGA,CAAA,KAAMZ,KAAK,CAACE,SAAS,CAACW,YAAY,CAAC,KAAK,CAAC;EAC9D,MAAMC,aAAa,GAAGA,CAAA,KAAMd,KAAK,CAACE,SAAS,CAACW,YAAY,CAAC,IAAI,CAAC;EAC9D,MAAME,kBAAkB,GAAIC,IAAY,IAAKhB,KAAK,CAACE,SAAS,CAACM,QAAQ,CAACQ,IAAI,CAAC;EAE3E,oBACEtB,KAAA,CAACT,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B5B,IAAA,CAACF,aAAa;MACZ+B,KAAK,EAAEpB,UAAW;MAClBqB,QAAQ,EAAElB,cAAe;MACzBmB,YAAY,EAAER,kBAAmB;MACjCS,MAAM,EAAEZ,YAAa;MACrBa,OAAO,EAAEX,aAAc;MACvBY,cAAc,EAAE5B,QAAQ,IAAIG,UAAU,CAAC0B,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAE;MACzD7B,WAAW,EAAEA,WAAY;MACzB8B,WAAW,EAAExC,CAAC,CAAC,uBAAuB;IAAE,CACzC,CAAC,eACFG,IAAA,CAACL,iBAAiB;MAChB2C,OAAO,EAAEjC,aAAc;MACvBkC,KAAK,EAAEnC,WAAY;MACnBE,QAAQ,EAAEA,QAAS;MACnBC,WAAW,EAAEA,WAAY;MACzBiC,OAAO,EAAE9C,iBAAiB,CAAC+C;IAAM,CAClC,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMf,MAAM,GAAGlC,UAAU,CAACkD,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,UAAU;IACtBC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Pressable, StyleSheet } from 'react-native';
|
|
5
|
+
import Animated, { useSharedValue, withTiming, useAnimatedStyle, interpolateColor } from 'react-native-reanimated';
|
|
6
|
+
import { ArrowUpIcon, COLORS, IS_MOBILE } from '@magmamath/react-native-ui';
|
|
7
|
+
import { ColorScheme } from '@magmamath/students-features';
|
|
8
|
+
import { MESSAGE_COLORS_MAP } from "../../../constants.js";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
export const SendMessageButton = ({
|
|
11
|
+
onPress,
|
|
12
|
+
disabled = false,
|
|
13
|
+
colorScheme = ColorScheme.Blue
|
|
14
|
+
}) => {
|
|
15
|
+
const hoverSv = useSharedValue(0);
|
|
16
|
+
const onHoverIn = () => {
|
|
17
|
+
if (!disabled) hoverSv.value = withTiming(1, {
|
|
18
|
+
duration: 200
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
const onHoverOut = () => {
|
|
22
|
+
if (!disabled) hoverSv.value = withTiming(0, {
|
|
23
|
+
duration: 200
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
const animatedIconStyle = useAnimatedStyle(() => {
|
|
27
|
+
const backgroundColor = interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_1, MESSAGE_COLORS_MAP[colorScheme].sent.border]);
|
|
28
|
+
const color = interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1]);
|
|
29
|
+
return {
|
|
30
|
+
backgroundColor: disabled ? COLORS.NEUTRAL_2 : backgroundColor,
|
|
31
|
+
borderColor: disabled ? COLORS.NEUTRAL_5 : MESSAGE_COLORS_MAP[colorScheme].sent.border,
|
|
32
|
+
color: disabled ? COLORS.NEUTRAL_5 : color
|
|
33
|
+
};
|
|
34
|
+
}, [hoverSv, disabled]);
|
|
35
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
36
|
+
onHoverIn: onHoverIn,
|
|
37
|
+
onHoverOut: onHoverOut,
|
|
38
|
+
onPress: onPress,
|
|
39
|
+
style: [styles.button, disabled && {
|
|
40
|
+
cursor: 'auto'
|
|
41
|
+
}],
|
|
42
|
+
disabled: disabled,
|
|
43
|
+
accessibilityState: {
|
|
44
|
+
disabled
|
|
45
|
+
},
|
|
46
|
+
accessibilityRole: "button",
|
|
47
|
+
children: IS_MOBILE ? /*#__PURE__*/_jsx(Animated.View, {
|
|
48
|
+
style: [styles.iconContainer, animatedIconStyle, {
|
|
49
|
+
borderColor: disabled ? COLORS.NEUTRAL_5 : MESSAGE_COLORS_MAP[colorScheme].sent.border
|
|
50
|
+
}],
|
|
51
|
+
children: /*#__PURE__*/_jsx(ArrowUpIcon, {
|
|
52
|
+
color: 'currentColor',
|
|
53
|
+
size: 16
|
|
54
|
+
})
|
|
55
|
+
}) : /*#__PURE__*/_jsx(Animated.Text, {
|
|
56
|
+
style: [styles.webIconContainer, animatedIconStyle],
|
|
57
|
+
children: /*#__PURE__*/_jsx(ArrowUpIcon, {
|
|
58
|
+
color: 'currentColor',
|
|
59
|
+
size: 16
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const styles = StyleSheet.create({
|
|
65
|
+
button: {
|
|
66
|
+
flexDirection: 'row',
|
|
67
|
+
justifyContent: 'flex-end',
|
|
68
|
+
height: 44,
|
|
69
|
+
width: 44
|
|
70
|
+
},
|
|
71
|
+
iconContainer: {
|
|
72
|
+
justifyContent: 'center',
|
|
73
|
+
alignItems: 'center',
|
|
74
|
+
padding: 12,
|
|
75
|
+
borderRadius: 21,
|
|
76
|
+
borderWidth: 1
|
|
77
|
+
},
|
|
78
|
+
webIconContainer: {
|
|
79
|
+
flex: 1,
|
|
80
|
+
flexDirection: 'row',
|
|
81
|
+
alignItems: 'center',
|
|
82
|
+
paddingHorizontal: 13,
|
|
83
|
+
paddingVertical: 12,
|
|
84
|
+
borderWidth: 1,
|
|
85
|
+
borderRadius: 48,
|
|
86
|
+
elevation: 3,
|
|
87
|
+
shadowColor: '#333',
|
|
88
|
+
shadowOffset: {
|
|
89
|
+
width: 0,
|
|
90
|
+
height: 1
|
|
91
|
+
},
|
|
92
|
+
shadowOpacity: 0.25,
|
|
93
|
+
shadowRadius: 3,
|
|
94
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
95
|
+
borderColor: COLORS.PRIMARY_BLUE
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=SendMessageButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Pressable","StyleSheet","Animated","useSharedValue","withTiming","useAnimatedStyle","interpolateColor","ArrowUpIcon","COLORS","IS_MOBILE","ColorScheme","MESSAGE_COLORS_MAP","jsx","_jsx","SendMessageButton","onPress","disabled","colorScheme","Blue","hoverSv","onHoverIn","value","duration","onHoverOut","animatedIconStyle","backgroundColor","NEUTRAL_1","sent","border","color","NEUTRAL_10","NEUTRAL_2","borderColor","NEUTRAL_5","style","styles","button","cursor","accessibilityState","accessibilityRole","children","View","iconContainer","size","Text","webIconContainer","create","flexDirection","justifyContent","height","width","alignItems","padding","borderRadius","borderWidth","flex","paddingHorizontal","paddingVertical","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","PRIMARY_BLUE"],"sourceRoot":"../../../../../../../src","sources":["features/chatbot/components/ChatInput/freeText/SendMessageButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { StyleSheet, View } from 'react-native';
|
|
5
5
|
import { COLORS } from '@magmamath/react-native-ui';
|
|
6
|
-
import { ChatbotIcon } from "../../../../shared/icons/ChatbotIcon.js";
|
|
7
6
|
import { ThreeDotsLoader } from "../ThreeDotsLoader/ThreeDotsLoader.js";
|
|
8
7
|
import { CONTROLS_COLORS_MAP } from "../../constants.js";
|
|
9
8
|
import { ColorScheme } from "../../types/style.types.js";
|
|
9
|
+
import { LavaIconInGlasses } from '@magmamath/students-features';
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
export const MessageLoader = ({
|
|
12
12
|
colorScheme = ColorScheme.Blue
|
|
@@ -14,7 +14,7 @@ export const MessageLoader = ({
|
|
|
14
14
|
style: styles.container,
|
|
15
15
|
children: [/*#__PURE__*/_jsx(View, {
|
|
16
16
|
style: styles.icon,
|
|
17
|
-
children: /*#__PURE__*/_jsx(
|
|
17
|
+
children: /*#__PURE__*/_jsx(LavaIconInGlasses, {
|
|
18
18
|
width: 60,
|
|
19
19
|
height: 80
|
|
20
20
|
})
|
|
@@ -29,11 +29,14 @@ const styles = StyleSheet.create({
|
|
|
29
29
|
container: {
|
|
30
30
|
flexDirection: 'row',
|
|
31
31
|
width: 327,
|
|
32
|
-
alignItems: 'flex-end'
|
|
32
|
+
alignItems: 'flex-end',
|
|
33
|
+
paddingLeft: 70
|
|
33
34
|
},
|
|
34
35
|
icon: {
|
|
36
|
+
position: 'absolute',
|
|
37
|
+
zIndex: 1,
|
|
35
38
|
alignSelf: 'flex-end',
|
|
36
|
-
|
|
39
|
+
left: 0
|
|
37
40
|
},
|
|
38
41
|
loader: {
|
|
39
42
|
flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","COLORS","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","COLORS","ThreeDotsLoader","CONTROLS_COLORS_MAP","ColorScheme","LavaIconInGlasses","jsx","_jsx","jsxs","_jsxs","MessageLoader","colorScheme","Blue","style","styles","container","children","icon","width","height","loader","backgroundColor","background","create","flexDirection","alignItems","paddingLeft","position","zIndex","alignSelf","left","flex","maxWidth","padding","paddingTop","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","borderBottomLeftRadius","NEUTRAL_3"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/MessageLoader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,MAAM,QAAQ,4BAA4B;AAGnD,SAASC,eAAe,QAAQ,uCAAoC;AACpE,SAASC,mBAAmB,QAAQ,oBAAiB;AACrD,SAASC,WAAW,QAAQ,4BAAyB;AACrD,SAASC,iBAAiB,QAAQ,8BAA8B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMhE,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC,WAAW,GAAGP,WAAW,CAACQ;AAAyB,CAAC,kBAClFH,KAAA,CAACT,IAAI;EAACa,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5BT,IAAA,CAACP,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACG,IAAK;IAAAD,QAAA,eACvBT,IAAA,CAACF,iBAAiB;MAACa,KAAK,EAAE,EAAG;MAACC,MAAM,EAAE;IAAG,CAAE;EAAC,CACxC,CAAC,eACPZ,IAAA,CAACP,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACM,MAAO;IAAAJ,QAAA,eACzBT,IAAA,CAACL,eAAe;MAACmB,eAAe,EAAElB,mBAAmB,CAACQ,WAAW,CAAC,CAACW;IAAW,CAAE;EAAC,CAC7E,CAAC;AAAA,CACH,CACP;AAED,MAAMR,MAAM,GAAGf,UAAU,CAACwB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBN,KAAK,EAAE,GAAG;IACVO,UAAU,EAAE,UAAU;IACtBC,WAAW,EAAC;EACd,CAAC;EACDT,IAAI,EAAE;IACJU,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAC,CAAC;IACRC,SAAS,EAAE,UAAU;IACrBC,IAAI,EAAE;EACR,CAAC;EACDV,MAAM,EAAE;IACNW,IAAI,EAAE,CAAC;IACPP,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,YAAY;IACxBO,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE,EAAE;IACdC,WAAW,EAAE,SAAS;IACtBC,YAAY,EAAE;MAAElB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCkB,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,sBAAsB,EAAE,CAAC;IACzBpB,eAAe,EAAEpB,MAAM,CAACyC;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { useStoreMap, useUnit } from 'effector-react';
|
|
5
|
-
import {
|
|
5
|
+
import { Chat } from "./Chat/Chat.js";
|
|
6
6
|
import { ChatControls } from "./ChatControls/ChatControls.js";
|
|
7
7
|
import { ChatBotModelContext } from "../context/ChatBotModelContext.js";
|
|
8
8
|
import { ColorScheme } from "../types/style.types.js";
|
|
@@ -28,7 +28,7 @@ export const Chatbot = ({
|
|
|
28
28
|
}
|
|
29
29
|
return /*#__PURE__*/_jsxs(ChatBotModelContext.Provider, {
|
|
30
30
|
value: model,
|
|
31
|
-
children: [/*#__PURE__*/_jsx(
|
|
31
|
+
children: [/*#__PURE__*/_jsx(Chat, {
|
|
32
32
|
model: model,
|
|
33
33
|
colorScheme: colorScheme,
|
|
34
34
|
isHintFeedback: isHintFeedback,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useStoreMap","useUnit","
|
|
1
|
+
{"version":3,"names":["React","useStoreMap","useUnit","Chat","ChatControls","ChatBotModelContext","ColorScheme","jsx","_jsx","jsxs","_jsxs","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","Blue","alternatives","$alternatives","isAvailable","$currentChatData","t2s","setAudioConfig","openChat","setIsOpen","closeChat","chatAccess","Provider","value","children","onPressChatIcon","onPressClose"],"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;AAiBlD,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGZ,WAAW,CAACa;AACd,CAAC,KAAK;EAClB,MAAMC,YAAY,GAAGlB,OAAO,CAACU,KAAK,CAACS,aAAa,CAAC;EACjD,MAAMC,WAAW,GAAGrB,WAAW,CAACW,KAAK,CAACW,gBAAgB,EAAE,CAAC;IAAED;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFV,KAAK,CAACY,GAAG,CAACC,cAAc,CAACV,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMW,QAAQ,GAAGA,CAAA,KAAMd,KAAK,CAACe,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAMhB,KAAK,CAACe,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACL,WAAW,IAAIF,YAAY,EAAES,UAAU,KAAK,KAAK,EAAE;IACtD,OAAO,IAAI;EACb;EAEA,oBACEnB,KAAA,CAACL,mBAAmB,CAACyB,QAAQ;IAACC,KAAK,EAAEnB,KAAM;IAAAoB,QAAA,gBACzCxB,IAAA,CAACL,IAAI;MACHS,KAAK,EAAEA,KAAM;MACbM,WAAW,EAAEA,WAAY;MACzBL,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA;IAAsB,CAC9C,CAAC,eAEFN,IAAA,CAACJ,YAAY;MACXQ,KAAK,EAAEA,KAAM;MACbqB,eAAe,EAAEP,QAAS;MAC1BQ,YAAY,EAAEN,SAAU;MACxBZ,aAAa,EAAEA,aAAc;MAC7BC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC","ignoreList":[]}
|
|
@@ -40,20 +40,24 @@ export const MESSAGE_COLORS_MAP = {
|
|
|
40
40
|
[ColorScheme.Blue]: {
|
|
41
41
|
[MessageVariant.RECEIVED]: {
|
|
42
42
|
background: COLORS.NEUTRAL_3,
|
|
43
|
+
border: COLORS.NEUTRAL_3,
|
|
43
44
|
icon: ButtonColor.BLUE
|
|
44
45
|
},
|
|
45
46
|
[MessageVariant.SENT]: {
|
|
46
47
|
background: COLORS.PRIMARY_BLUE,
|
|
48
|
+
border: COLORS.PRIMARY_BLUE,
|
|
47
49
|
icon: ButtonColor.BLUE
|
|
48
50
|
}
|
|
49
51
|
},
|
|
50
52
|
[ColorScheme.Yellow]: {
|
|
51
53
|
[MessageVariant.RECEIVED]: {
|
|
52
54
|
background: COLORS.NEUTRAL_3,
|
|
55
|
+
border: COLORS.NEUTRAL_3,
|
|
53
56
|
icon: ButtonColor.YELLOW
|
|
54
57
|
},
|
|
55
58
|
[MessageVariant.SENT]: {
|
|
56
59
|
background: COLORS.PRIMARY_YELLOW,
|
|
60
|
+
border: COLORS.PRIMARY_YELLOW,
|
|
57
61
|
icon: ButtonColor.YELLOW
|
|
58
62
|
}
|
|
59
63
|
}
|
|
@@ -68,4 +72,5 @@ export const CONTROLS_COLORS_MAP = {
|
|
|
68
72
|
background: COLORS.PRIMARY_YELLOW
|
|
69
73
|
}
|
|
70
74
|
};
|
|
75
|
+
export const HOVER_ANIMATION_DURATION = 200;
|
|
71
76
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ButtonColor","COLORS","Platform","MessageVariant","ColorScheme","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__","MESSAGE_COLORS_MAP","Blue","RECEIVED","background","NEUTRAL_3","icon","BLUE","SENT","PRIMARY_BLUE","Yellow","YELLOW","PRIMARY_YELLOW","CONTROLS_COLORS_MAP","hover"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,4BAA4B;AAChE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,QAAQ,wBAAqB;AACpD,SAASC,WAAW,QAAQ,wBAAqB;
|
|
1
|
+
{"version":3,"names":["ButtonColor","COLORS","Platform","MessageVariant","ColorScheme","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__","MESSAGE_COLORS_MAP","Blue","RECEIVED","background","NEUTRAL_3","border","icon","BLUE","SENT","PRIMARY_BLUE","Yellow","YELLOW","PRIMARY_YELLOW","CONTROLS_COLORS_MAP","hover","HOVER_ANIMATION_DURATION"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,4BAA4B;AAChE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,QAAQ,wBAAqB;AACpD,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,OAAO,MAAMC,YAAY,GAAG;EAC1BC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGV,QAAQ,CAACW,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXT,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDQ,KAAK,EAAE;MACLN,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDM,OAAO,EAAE;IACPF,WAAW,EAAEV,YAAY;IACzBW,KAAK,EAAEP;EACT;AACF,CAAC,CAAC;AAEF,OAAO,MAAMS,kBAAkB,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,MAAMC,0BAA0B,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU;AAEV,OAAO,MAAMC,kBAAkB,GAAG;EAChC,CAACjB,WAAW,CAACkB,IAAI,GAAG;IAClB,CAACnB,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,MAAM,EAAEzB,MAAM,CAACwB,SAAS;MACxBE,IAAI,EAAE3B,WAAW,CAAC4B;IACpB,CAAC;IACD,CAACzB,cAAc,CAAC0B,IAAI,GAAG;MACrBL,UAAU,EAAEvB,MAAM,CAAC6B,YAAY;MAC/BJ,MAAM,EAAEzB,MAAM,CAAC6B,YAAY;MAC3BH,IAAI,EAAE3B,WAAW,CAAC4B;IACpB;EACF,CAAC;EACD,CAACxB,WAAW,CAAC2B,MAAM,GAAG;IACpB,CAAC5B,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,MAAM,EAAEzB,MAAM,CAACwB,SAAS;MACxBE,IAAI,EAAE3B,WAAW,CAACgC;IACpB,CAAC;IACD,CAAC7B,cAAc,CAAC0B,IAAI,GAAG;MACrBL,UAAU,EAAEvB,MAAM,CAACgC,cAAc;MACjCP,MAAM,EAAEzB,MAAM,CAACgC,cAAc;MAC7BN,IAAI,EAAE3B,WAAW,CAACgC;IACpB;EACF;AACF,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAG;EACjC,CAAC9B,WAAW,CAACkB,IAAI,GAAG;IAClBa,KAAK,EAAElC,MAAM,CAAC6B,YAAY;IAC1BN,UAAU,EAAEvB,MAAM,CAAC6B;EACrB,CAAC;EACD,CAAC1B,WAAW,CAAC2B,MAAM,GAAG;IACpBI,KAAK,EAAElC,MAAM,CAACgC,cAAc;IAC5BT,UAAU,EAAEvB,MAAM,CAACgC;EACrB;AACF,CAAC;AAED,OAAO,MAAMG,wBAAwB,GAAG,GAAG","ignoreList":[]}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
// https://stackoverflow.com/questions/56575859/google-translate-api-does-not-return-apostrophe-as-apostrophe-in-python
|
|
4
4
|
import { KATEX_REPLACEMENTS, KATEX_REPLACEMENTS_REVERSE } from "./constants.js";
|
|
5
|
+
import { t } from "../../shared/translation/index.js";
|
|
6
|
+
import { ChatRequestType } from "./types/model.types.js";
|
|
5
7
|
export const decodeHTMLEntities = input => {
|
|
6
8
|
return input.replace(/'/g, "'");
|
|
7
9
|
};
|
|
@@ -9,4 +11,73 @@ export const replaceKatexSyntax = (texts, reverse = false) => {
|
|
|
9
11
|
const replacements = reverse ? Object.entries(KATEX_REPLACEMENTS_REVERSE) : Object.entries(KATEX_REPLACEMENTS);
|
|
10
12
|
return texts.map(text => replacements.reduce((newText, [pattern, placeholder]) => newText.replace(new RegExp(pattern, 'g'), placeholder), text));
|
|
11
13
|
};
|
|
14
|
+
export const transformAlternatives = payload => {
|
|
15
|
+
if (!payload) return payload;
|
|
16
|
+
return {
|
|
17
|
+
...payload,
|
|
18
|
+
options: {
|
|
19
|
+
...payload.options,
|
|
20
|
+
hints: [{
|
|
21
|
+
text: payload.isOpenChatEnabled ? t('chat.giveHint') : t('chat.anotherHint'),
|
|
22
|
+
promptKey: payload.options.hints[0].promptKey,
|
|
23
|
+
translatedText: payload.options.hints[0].translatedText
|
|
24
|
+
}]
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export function prepareChatRequestPayload(payload, threadItem) {
|
|
29
|
+
const {
|
|
30
|
+
conversationId,
|
|
31
|
+
freeTextMessage,
|
|
32
|
+
problemDescription,
|
|
33
|
+
problemAnswer,
|
|
34
|
+
language,
|
|
35
|
+
imageCdnId,
|
|
36
|
+
imageAltText,
|
|
37
|
+
answerOptions,
|
|
38
|
+
answer
|
|
39
|
+
} = payload;
|
|
40
|
+
if (freeTextMessage) {
|
|
41
|
+
return conversationId ? {
|
|
42
|
+
type: ChatRequestType.Freetext,
|
|
43
|
+
data: {
|
|
44
|
+
conversationId,
|
|
45
|
+
message: freeTextMessage
|
|
46
|
+
}
|
|
47
|
+
} : {
|
|
48
|
+
type: ChatRequestType.Freetext,
|
|
49
|
+
data: {
|
|
50
|
+
message: freeTextMessage,
|
|
51
|
+
correctAnswer: problemAnswer,
|
|
52
|
+
problemDescription,
|
|
53
|
+
language,
|
|
54
|
+
...(imageCdnId && {
|
|
55
|
+
imageCdnId
|
|
56
|
+
}),
|
|
57
|
+
...(imageAltText && {
|
|
58
|
+
altText: imageAltText
|
|
59
|
+
}),
|
|
60
|
+
...(!!answerOptions?.length && {
|
|
61
|
+
answerOptions
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
type: ChatRequestType.Hint,
|
|
68
|
+
data: {
|
|
69
|
+
...threadItem.getNextHintProps(),
|
|
70
|
+
correctAnswer: problemAnswer,
|
|
71
|
+
problemDescription,
|
|
72
|
+
userAnswer: answer,
|
|
73
|
+
language,
|
|
74
|
+
...(imageCdnId && {
|
|
75
|
+
imageCdnId
|
|
76
|
+
}),
|
|
77
|
+
...(imageAltText && {
|
|
78
|
+
altText: imageAltText
|
|
79
|
+
})
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
12
83
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","decodeHTMLEntities","input","replace","replaceKatexSyntax","texts","reverse","replacements","Object","entries","map","text","reduce","newText","pattern","placeholder","RegExp"],"sourceRoot":"../../../../src","sources":["features/chatbot/helpers.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,EAAEC,0BAA0B,QAAQ,gBAAa;AAE5E,OAAO,MAAMC,kBAAkB,GAAIC,KAAa,IAAK;EACnD,OAAOA,KAAK,CAACC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AACrC,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,KAAe,EAAEC,OAAO,GAAG,KAAK,KAAK;EACtE,MAAMC,YAAY,GAAGD,OAAO,GACxBE,MAAM,CAACC,OAAO,
|
|
1
|
+
{"version":3,"names":["KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","t","ChatRequestType","decodeHTMLEntities","input","replace","replaceKatexSyntax","texts","reverse","replacements","Object","entries","map","text","reduce","newText","pattern","placeholder","RegExp","transformAlternatives","payload","options","hints","isOpenChatEnabled","promptKey","translatedText","prepareChatRequestPayload","threadItem","conversationId","freeTextMessage","problemDescription","problemAnswer","language","imageCdnId","imageAltText","answerOptions","answer","type","Freetext","data","message","correctAnswer","altText","length","Hint","getNextHintProps","userAnswer"],"sourceRoot":"../../../../src","sources":["features/chatbot/helpers.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,EAAEC,0BAA0B,QAAQ,gBAAa;AAE5E,SAASC,CAAC,QAAQ,mCAA0B;AAE5C,SAA6BC,eAAe,QAAQ,wBAAqB;AAEzE,OAAO,MAAMC,kBAAkB,GAAIC,KAAa,IAAK;EACnD,OAAOA,KAAK,CAACC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AACrC,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,KAAe,EAAEC,OAAO,GAAG,KAAK,KAAK;EACtE,MAAMC,YAAY,GAAGD,OAAO,GACxBE,MAAM,CAACC,OAAO,CAACX,0BAA0B,CAAC,GAC1CU,MAAM,CAACC,OAAO,CAACZ,kBAAkB,CAAC;EAEtC,OAAOQ,KAAK,CAACK,GAAG,CAAEC,IAAI,IACpBJ,YAAY,CAACK,MAAM,CACjB,CAACC,OAAO,EAAE,CAACC,OAAO,EAAEC,WAAW,CAAC,KAAKF,OAAO,CAACV,OAAO,CAAC,IAAIa,MAAM,CAACF,OAAO,EAAE,GAAG,CAAC,EAAEC,WAAW,CAAC,EAC3FJ,IACF,CACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMM,qBAAqB,GAAIC,OAAuC,IAAK;EAChF,IAAI,CAACA,OAAO,EAAE,OAAOA,OAAO;EAE5B,OAAO;IACL,GAAGA,OAAO;IACVC,OAAO,EAAE;MACP,GAAGD,OAAO,CAACC,OAAO;MAClBC,KAAK,EAAE,CACL;QACET,IAAI,EAAEO,OAAO,CAACG,iBAAiB,GAAGtB,CAAC,CAAC,eAAe,CAAC,GAAGA,CAAC,CAAC,kBAAkB,CAAC;QAC5EuB,SAAS,EAAEJ,OAAO,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC,CAAC,CAACE,SAAS;QAC7CC,cAAc,EAAEL,OAAO,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC,CAAC,CAACG;MAC3C,CAAC;IAEL;EACF,CAAC;AACH,CAAC;AAED,OAAO,SAASC,yBAAyBA,CACvCN,OAA2B,EAC3BO,UAAsB,EACF;EACpB,MAAM;IACJC,cAAc;IACdC,eAAe;IACfC,kBAAkB;IAClBC,aAAa;IACbC,QAAQ;IACRC,UAAU;IACVC,YAAY;IACZC,aAAa;IACbC;EACF,CAAC,GAAGhB,OAAO;EAEX,IAAIS,eAAe,EAAE;IACnB,OAAOD,cAAc,GACjB;MAAES,IAAI,EAAEnC,eAAe,CAACoC,QAAQ;MAAEC,IAAI,EAAE;QAAEX,cAAc;QAAEY,OAAO,EAAEX;MAAgB;IAAE,CAAC,GACtF;MACEQ,IAAI,EAAEnC,eAAe,CAACoC,QAAQ;MAC9BC,IAAI,EAAE;QACJC,OAAO,EAAEX,eAAe;QACxBY,aAAa,EAAEV,aAAa;QAC5BD,kBAAkB;QAClBE,QAAQ;QACR,IAAIC,UAAU,IAAI;UAAEA;QAAW,CAAC,CAAC;QACjC,IAAIC,YAAY,IAAI;UAAEQ,OAAO,EAAER;QAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,CAACC,aAAa,EAAEQ,MAAM,IAAI;UAAER;QAAc,CAAC;MAClD;IACF,CAAC;EACP;EAEA,OAAO;IACLE,IAAI,EAAEnC,eAAe,CAAC0C,IAAI;IAC1BL,IAAI,EAAE;MACJ,GAAGZ,UAAU,CAACkB,gBAAgB,CAAC,CAAC;MAChCJ,aAAa,EAAEV,aAAa;MAC5BD,kBAAkB;MAClBgB,UAAU,EAAEV,MAAM;MAClBJ,QAAQ;MACR,IAAIC,UAAU,IAAI;QAAEA;MAAW,CAAC,CAAC;MACjC,IAAIC,YAAY,IAAI;QAAEQ,OAAO,EAAER;MAAa,CAAC;IAC/C;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Chatbot","ChatbotModel","AudioStatus","MessageVariant","DefaultMessagesCreator","ColorScheme"],"sourceRoot":"../../../../src","sources":["features/chatbot/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,WAAW,QAA4B,sBAAmB;AACnE,SACEC,cAAc,QAGT,wBAAqB;AAE5B,SAASC,sBAAsB,QAAQ,kCAA+B;
|
|
1
|
+
{"version":3,"names":["Chatbot","ChatbotModel","AudioStatus","MessageVariant","DefaultMessagesCreator","ColorScheme"],"sourceRoot":"../../../../src","sources":["features/chatbot/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,WAAW,QAA4B,sBAAmB;AACnE,SACEC,cAAc,QAGT,wBAAqB;AAE5B,SAASC,sBAAsB,QAAQ,kCAA+B;AAItE,SAASC,WAAW,QAAQ,wBAAqB","ignoreList":[]}
|