@magmamath/students-features 0.6.14-rc.18 → 0.6.14-rc.19
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/ChatInput/ChatInput.js +9 -6
- package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +21 -17
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +7 -5
- package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +21 -15
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts +2 -4
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts +2 -4
- package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chatbot/components/ChatInput/ChatInput.tsx +4 -3
- package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +82 -85
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ChatInput = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
10
|
var _effectorReact = require("effector-react");
|
|
@@ -13,7 +13,8 @@ var _styleTypes = require("../../types/style.types.js");
|
|
|
13
13
|
var _RequestHintButton = require("./RequestHintButton.js");
|
|
14
14
|
var _FreeTextInputBlock = require("./freeText/FreeTextInputBlock.js");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
+
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; }
|
|
17
18
|
const ChatInput = ({
|
|
18
19
|
isHintFeedback,
|
|
19
20
|
hasMessages,
|
|
@@ -37,10 +38,12 @@ const ChatInput = ({
|
|
|
37
38
|
})();
|
|
38
39
|
const optionLabel = (isTranslated && !isTranslationPending ? option?.translatedText : option?.text) ?? '';
|
|
39
40
|
if (!option) return null;
|
|
40
|
-
const sendMessage = () =>
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const sendMessage = (0, _react.useCallback)(() => {
|
|
42
|
+
void model.sendHelpRequestFx({
|
|
43
|
+
message: option.text,
|
|
44
|
+
translatedMessage: option.translatedText
|
|
45
|
+
});
|
|
46
|
+
}, []);
|
|
44
47
|
const shouldDisableInput = isHelpRequestPending || hasMessages && lastMessageOptions.length === 0;
|
|
45
48
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
46
49
|
style: styles.container,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_reactNative","_effectorReact","_ChatBotModelContext","_styleTypes","_RequestHintButton","_FreeTextInputBlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChatInput","isHintFeedback","hasMessages","colorScheme","ColorScheme","Blue","model","useChatModel","alternatives","useUnit","$alternatives","isTranslated","translation","$isTranslated","isTranslationPending","translateAllMessagesFx","pending","isHelpRequestPending","sendHelpRequestFx","lastMessageOptions","useStoreMap","$currentChatData","messages","lastMessage","at","options","option","length","hints","optionLabel","translatedText","text","sendMessage","useCallback","message","translatedMessage","shouldDisableInput","jsx","View","style","styles","container","children","IS_WEB","isOpenChatEnabled","FreeTextInputBlock","onOptionPress","disabled","RequestHintButton","onPress","label","variant","HintButtonVariant","Default","exports","StyleSheet","create","flex","width","alignItems","justifyContent","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/ChatInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.RequestHintButton = exports.HintButtonVariant = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
10
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
11
11
|
var _studentsFeatures = require("@magmamath/students-features");
|
|
@@ -13,23 +13,23 @@ var _constants = require("../../constants.js");
|
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
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
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
16
|
let HintButtonVariant = exports.HintButtonVariant = /*#__PURE__*/function (HintButtonVariant) {
|
|
18
17
|
HintButtonVariant["Default"] = "default";
|
|
19
18
|
HintButtonVariant["Short"] = "short";
|
|
20
19
|
return HintButtonVariant;
|
|
21
20
|
}({});
|
|
21
|
+
const HOVER_ANIMATION_DURATION = 200;
|
|
22
22
|
const REQUEST_HINT_BUTTON = {
|
|
23
23
|
[HintButtonVariant.Default]: {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
width: 305,
|
|
25
|
+
fontSize: 20
|
|
26
26
|
},
|
|
27
27
|
[HintButtonVariant.Short]: {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
width: 163,
|
|
29
|
+
fontSize: 18
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
const RequestHintButton = ({
|
|
32
|
+
const RequestHintButton = exports.RequestHintButton = /*#__PURE__*/(0, _react.memo)(({
|
|
33
33
|
onPress,
|
|
34
34
|
label,
|
|
35
35
|
disabled = false,
|
|
@@ -39,12 +39,12 @@ const RequestHintButton = ({
|
|
|
39
39
|
const hoverSv = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
40
40
|
const onHoverIn = () => {
|
|
41
41
|
if (!disabled) hoverSv.value = (0, _reactNativeReanimated.withTiming)(1, {
|
|
42
|
-
duration:
|
|
42
|
+
duration: HOVER_ANIMATION_DURATION
|
|
43
43
|
});
|
|
44
44
|
};
|
|
45
45
|
const onHoverOut = () => {
|
|
46
46
|
if (!disabled) hoverSv.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
47
|
-
duration:
|
|
47
|
+
duration: HOVER_ANIMATION_DURATION
|
|
48
48
|
});
|
|
49
49
|
};
|
|
50
50
|
const animatedTextContainerStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
@@ -68,13 +68,18 @@ const RequestHintButton = ({
|
|
|
68
68
|
color: (0, _reactNativeReanimated.interpolateColor)(hoverSv.value, [0, 1], [_reactNativeUi.COLORS.NEUTRAL_10, _reactNativeUi.COLORS.NEUTRAL_1])
|
|
69
69
|
};
|
|
70
70
|
}, [hoverSv, disabled]);
|
|
71
|
+
const iconColor = disabled ? _reactNativeUi.COLORS.NEUTRAL_5 : 'currentColor';
|
|
72
|
+
const {
|
|
73
|
+
width,
|
|
74
|
+
fontSize
|
|
75
|
+
} = REQUEST_HINT_BUTTON[variant];
|
|
71
76
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
72
77
|
onHoverIn: onHoverIn,
|
|
73
78
|
onHoverOut: onHoverOut,
|
|
74
79
|
onPress: onPress,
|
|
75
80
|
style: [styles.button, {
|
|
76
81
|
cursor: disabled ? 'auto' : 'pointer',
|
|
77
|
-
width
|
|
82
|
+
width
|
|
78
83
|
}],
|
|
79
84
|
disabled: disabled,
|
|
80
85
|
accessibilityState: {
|
|
@@ -86,23 +91,22 @@ const RequestHintButton = ({
|
|
|
86
91
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
|
|
87
92
|
numberOfLines: 1,
|
|
88
93
|
style: [styles.text, animatedTextStyle, {
|
|
89
|
-
fontSize
|
|
94
|
+
fontSize
|
|
90
95
|
}],
|
|
91
96
|
children: label
|
|
92
97
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
|
|
93
|
-
style: [styles.
|
|
98
|
+
style: [styles.iconWrapper, animatedTextStyle],
|
|
94
99
|
children: variant === HintButtonVariant.Default ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ArrowRightIcon, {
|
|
95
|
-
color:
|
|
100
|
+
color: iconColor,
|
|
96
101
|
size: 16
|
|
97
102
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ArrowUpIcon, {
|
|
98
|
-
color:
|
|
103
|
+
color: iconColor,
|
|
99
104
|
size: 16
|
|
100
105
|
})
|
|
101
106
|
})]
|
|
102
107
|
})
|
|
103
108
|
});
|
|
104
|
-
};
|
|
105
|
-
exports.RequestHintButton = RequestHintButton;
|
|
109
|
+
});
|
|
106
110
|
const styles = _reactNative.StyleSheet.create({
|
|
107
111
|
button: {
|
|
108
112
|
flexDirection: 'row',
|
|
@@ -133,7 +137,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
133
137
|
backgroundColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
|
|
134
138
|
borderColor: _reactNativeUi.COLORS.PRIMARY_BLUE
|
|
135
139
|
},
|
|
136
|
-
|
|
140
|
+
iconWrapper: {
|
|
137
141
|
top: _reactNativeUi.IS_MOBILE ? 3 : 0
|
|
138
142
|
}
|
|
139
143
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_react","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_reactNativeReanimated","_reactNativeUi","_studentsFeatures","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HintButtonVariant","exports","HOVER_ANIMATION_DURATION","REQUEST_HINT_BUTTON","Default","width","fontSize","Short","RequestHintButton","memo","onPress","label","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","iconColor","jsx","Pressable","style","styles","button","cursor","accessibilityState","accessibilityRole","children","jsxs","View","content","Text","numberOfLines","text","iconWrapper","ArrowRightIcon","size","ArrowUpIcon","StyleSheet","create","flexDirection","justifyContent","fontWeight","fontFamily","FONT_FAMILY","buenosAires","height","flex","alignItems","paddingHorizontal","SPACING","borderWidth","borderRadius","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","PRIMARY_BLUE","top","IS_MOBILE"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/RequestHintButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useCallback } from 'react';
|
|
4
4
|
import { IS_WEB } from '@magmamath/react-native-ui';
|
|
5
5
|
import { StyleSheet, View } from 'react-native';
|
|
6
6
|
import { useStoreMap, useUnit } from 'effector-react';
|
|
@@ -32,10 +32,12 @@ export const ChatInput = ({
|
|
|
32
32
|
})();
|
|
33
33
|
const optionLabel = (isTranslated && !isTranslationPending ? option?.translatedText : option?.text) ?? '';
|
|
34
34
|
if (!option) return null;
|
|
35
|
-
const sendMessage = () =>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const sendMessage = useCallback(() => {
|
|
36
|
+
void model.sendHelpRequestFx({
|
|
37
|
+
message: option.text,
|
|
38
|
+
translatedMessage: option.translatedText
|
|
39
|
+
});
|
|
40
|
+
}, []);
|
|
39
41
|
const shouldDisableInput = isHelpRequestPending || hasMessages && lastMessageOptions.length === 0;
|
|
40
42
|
return /*#__PURE__*/_jsx(View, {
|
|
41
43
|
style: styles.container,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","IS_WEB","StyleSheet","View","useStoreMap","useUnit","useChatModel","ColorScheme","HintButtonVariant","RequestHintButton","FreeTextInputBlock","jsx","_jsx","ChatInput","isHintFeedback","hasMessages","colorScheme","Blue","model","alternatives","$alternatives","isTranslated","translation","$isTranslated","isTranslationPending","translateAllMessagesFx","pending","isHelpRequestPending","sendHelpRequestFx","lastMessageOptions","$currentChatData","messages","lastMessage","at","options","option","length","hints","default","optionLabel","translatedText","text","sendMessage","message","translatedMessage","shouldDisableInput","style","styles","container","children","isOpenChatEnabled","onOptionPress","disabled","onPress","label","variant","Default","create","flex","width","alignItems","justifyContent","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/ChatInput.tsx"],"mappings":";;AAAA,OAAOA,KAAK,
|
|
1
|
+
{"version":3,"names":["React","useCallback","IS_WEB","StyleSheet","View","useStoreMap","useUnit","useChatModel","ColorScheme","HintButtonVariant","RequestHintButton","FreeTextInputBlock","jsx","_jsx","ChatInput","isHintFeedback","hasMessages","colorScheme","Blue","model","alternatives","$alternatives","isTranslated","translation","$isTranslated","isTranslationPending","translateAllMessagesFx","pending","isHelpRequestPending","sendHelpRequestFx","lastMessageOptions","$currentChatData","messages","lastMessage","at","options","option","length","hints","default","optionLabel","translatedText","text","sendMessage","message","translatedMessage","shouldDisableInput","style","styles","container","children","isOpenChatEnabled","onOptionPress","disabled","onPress","label","variant","Default","create","flex","width","alignItems","justifyContent","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/ChatInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Pressable, StyleSheet } from 'react-native';
|
|
4
|
-
import React from 'react';
|
|
4
|
+
import React, { memo } from 'react';
|
|
5
5
|
import Animated, { useSharedValue, withTiming, useAnimatedStyle, interpolateColor } from 'react-native-reanimated';
|
|
6
6
|
import { ArrowRightIcon, ArrowUpIcon, COLORS, FONT_FAMILY, IS_MOBILE, SPACING } from '@magmamath/react-native-ui';
|
|
7
7
|
import { ColorScheme } from '@magmamath/students-features';
|
|
@@ -12,17 +12,18 @@ export let HintButtonVariant = /*#__PURE__*/function (HintButtonVariant) {
|
|
|
12
12
|
HintButtonVariant["Short"] = "short";
|
|
13
13
|
return HintButtonVariant;
|
|
14
14
|
}({});
|
|
15
|
+
const HOVER_ANIMATION_DURATION = 200;
|
|
15
16
|
const REQUEST_HINT_BUTTON = {
|
|
16
17
|
[HintButtonVariant.Default]: {
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
width: 305,
|
|
19
|
+
fontSize: 20
|
|
19
20
|
},
|
|
20
21
|
[HintButtonVariant.Short]: {
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
width: 163,
|
|
23
|
+
fontSize: 18
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
|
-
export const RequestHintButton = ({
|
|
26
|
+
export const RequestHintButton = /*#__PURE__*/memo(({
|
|
26
27
|
onPress,
|
|
27
28
|
label,
|
|
28
29
|
disabled = false,
|
|
@@ -32,12 +33,12 @@ export const RequestHintButton = ({
|
|
|
32
33
|
const hoverSv = useSharedValue(0);
|
|
33
34
|
const onHoverIn = () => {
|
|
34
35
|
if (!disabled) hoverSv.value = withTiming(1, {
|
|
35
|
-
duration:
|
|
36
|
+
duration: HOVER_ANIMATION_DURATION
|
|
36
37
|
});
|
|
37
38
|
};
|
|
38
39
|
const onHoverOut = () => {
|
|
39
40
|
if (!disabled) hoverSv.value = withTiming(0, {
|
|
40
|
-
duration:
|
|
41
|
+
duration: HOVER_ANIMATION_DURATION
|
|
41
42
|
});
|
|
42
43
|
};
|
|
43
44
|
const animatedTextContainerStyle = useAnimatedStyle(() => {
|
|
@@ -61,13 +62,18 @@ export const RequestHintButton = ({
|
|
|
61
62
|
color: interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1])
|
|
62
63
|
};
|
|
63
64
|
}, [hoverSv, disabled]);
|
|
65
|
+
const iconColor = disabled ? COLORS.NEUTRAL_5 : 'currentColor';
|
|
66
|
+
const {
|
|
67
|
+
width,
|
|
68
|
+
fontSize
|
|
69
|
+
} = REQUEST_HINT_BUTTON[variant];
|
|
64
70
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
65
71
|
onHoverIn: onHoverIn,
|
|
66
72
|
onHoverOut: onHoverOut,
|
|
67
73
|
onPress: onPress,
|
|
68
74
|
style: [styles.button, {
|
|
69
75
|
cursor: disabled ? 'auto' : 'pointer',
|
|
70
|
-
width
|
|
76
|
+
width
|
|
71
77
|
}],
|
|
72
78
|
disabled: disabled,
|
|
73
79
|
accessibilityState: {
|
|
@@ -79,22 +85,22 @@ export const RequestHintButton = ({
|
|
|
79
85
|
children: [/*#__PURE__*/_jsx(Animated.Text, {
|
|
80
86
|
numberOfLines: 1,
|
|
81
87
|
style: [styles.text, animatedTextStyle, {
|
|
82
|
-
fontSize
|
|
88
|
+
fontSize
|
|
83
89
|
}],
|
|
84
90
|
children: label
|
|
85
91
|
}), /*#__PURE__*/_jsx(Animated.Text, {
|
|
86
|
-
style: [styles.
|
|
92
|
+
style: [styles.iconWrapper, animatedTextStyle],
|
|
87
93
|
children: variant === HintButtonVariant.Default ? /*#__PURE__*/_jsx(ArrowRightIcon, {
|
|
88
|
-
color:
|
|
94
|
+
color: iconColor,
|
|
89
95
|
size: 16
|
|
90
96
|
}) : /*#__PURE__*/_jsx(ArrowUpIcon, {
|
|
91
|
-
color:
|
|
97
|
+
color: iconColor,
|
|
92
98
|
size: 16
|
|
93
99
|
})
|
|
94
100
|
})]
|
|
95
101
|
})
|
|
96
102
|
});
|
|
97
|
-
};
|
|
103
|
+
});
|
|
98
104
|
const styles = StyleSheet.create({
|
|
99
105
|
button: {
|
|
100
106
|
flexDirection: 'row',
|
|
@@ -125,7 +131,7 @@ const styles = StyleSheet.create({
|
|
|
125
131
|
backgroundColor: COLORS.PRIMARY_BLUE,
|
|
126
132
|
borderColor: COLORS.PRIMARY_BLUE
|
|
127
133
|
},
|
|
128
|
-
|
|
134
|
+
iconWrapper: {
|
|
129
135
|
top: IS_MOBILE ? 3 : 0
|
|
130
136
|
}
|
|
131
137
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Pressable","StyleSheet","React","Animated","useSharedValue","withTiming","useAnimatedStyle","interpolateColor","ArrowRightIcon","ArrowUpIcon","COLORS","FONT_FAMILY","IS_MOBILE","SPACING","ColorScheme","MESSAGE_COLORS_MAP","jsx","_jsx","jsxs","_jsxs","HintButtonVariant","REQUEST_HINT_BUTTON","Default","
|
|
1
|
+
{"version":3,"names":["Pressable","StyleSheet","React","memo","Animated","useSharedValue","withTiming","useAnimatedStyle","interpolateColor","ArrowRightIcon","ArrowUpIcon","COLORS","FONT_FAMILY","IS_MOBILE","SPACING","ColorScheme","MESSAGE_COLORS_MAP","jsx","_jsx","jsxs","_jsxs","HintButtonVariant","HOVER_ANIMATION_DURATION","REQUEST_HINT_BUTTON","Default","width","fontSize","Short","RequestHintButton","onPress","label","disabled","colorScheme","Blue","variant","hoverSv","onHoverIn","value","duration","onHoverOut","animatedTextContainerStyle","backgroundColor","NEUTRAL_2","borderColor","NEUTRAL_5","defaultBorderColor","NEUTRAL_1","sent","border","background","animatedTextStyle","color","NEUTRAL_10","iconColor","style","styles","button","cursor","accessibilityState","accessibilityRole","children","View","content","Text","numberOfLines","text","iconWrapper","size","create","flexDirection","justifyContent","fontWeight","fontFamily","buenosAires","height","flex","alignItems","paddingHorizontal","borderWidth","borderRadius","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","PRIMARY_BLUE","top"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/RequestHintButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAK1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAIrD,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,SAAS,kDAInB,cAAc,6BAqDhB,CAAA"}
|
package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SharedValue } from 'react-native-reanimated';
|
|
3
2
|
import { ColorScheme } from '@magmamath/students-features';
|
|
4
3
|
export declare enum HintButtonVariant {
|
|
5
4
|
Default = "default",
|
|
@@ -9,10 +8,9 @@ type RequestHintButtonProps = {
|
|
|
9
8
|
onPress: () => void;
|
|
10
9
|
label: string;
|
|
11
10
|
disabled: boolean;
|
|
12
|
-
variant: HintButtonVariant;
|
|
13
11
|
colorScheme?: ColorScheme;
|
|
14
|
-
|
|
12
|
+
variant: HintButtonVariant;
|
|
15
13
|
};
|
|
16
|
-
export declare const RequestHintButton: ({ onPress, label, disabled, colorScheme, variant, }: RequestHintButtonProps) => React.JSX.Element
|
|
14
|
+
export declare const RequestHintButton: React.MemoExoticComponent<({ onPress, label, disabled, colorScheme, variant, }: RequestHintButtonProps) => React.JSX.Element>;
|
|
17
15
|
export {};
|
|
18
16
|
//# sourceMappingURL=RequestHintButton.d.ts.map
|
package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestHintButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/RequestHintButton.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"RequestHintButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/RequestHintButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAe,MAAM,OAAO,CAAA;AAenC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAYD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,kFAOzB,sBAAsB,uBA0E1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAK1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAIrD,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,SAAS,kDAInB,cAAc,6BAqDhB,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SharedValue } from 'react-native-reanimated';
|
|
3
2
|
import { ColorScheme } from '@magmamath/students-features';
|
|
4
3
|
export declare enum HintButtonVariant {
|
|
5
4
|
Default = "default",
|
|
@@ -9,10 +8,9 @@ type RequestHintButtonProps = {
|
|
|
9
8
|
onPress: () => void;
|
|
10
9
|
label: string;
|
|
11
10
|
disabled: boolean;
|
|
12
|
-
variant: HintButtonVariant;
|
|
13
11
|
colorScheme?: ColorScheme;
|
|
14
|
-
|
|
12
|
+
variant: HintButtonVariant;
|
|
15
13
|
};
|
|
16
|
-
export declare const RequestHintButton: ({ onPress, label, disabled, colorScheme, variant, }: RequestHintButtonProps) => React.JSX.Element
|
|
14
|
+
export declare const RequestHintButton: React.MemoExoticComponent<({ onPress, label, disabled, colorScheme, variant, }: RequestHintButtonProps) => React.JSX.Element>;
|
|
17
15
|
export {};
|
|
18
16
|
//# sourceMappingURL=RequestHintButton.d.ts.map
|
package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestHintButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/RequestHintButton.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"RequestHintButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatInput/RequestHintButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAe,MAAM,OAAO,CAAA;AAenC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAYD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,kFAOzB,sBAAsB,uBA0E1B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react'
|
|
1
|
+
import React, { useCallback } from 'react'
|
|
2
2
|
import { IS_WEB } from '@magmamath/react-native-ui'
|
|
3
3
|
import { StyleSheet, View } from 'react-native'
|
|
4
4
|
import { useStoreMap, useUnit } from 'effector-react'
|
|
@@ -40,11 +40,12 @@ export const ChatInput = ({
|
|
|
40
40
|
|
|
41
41
|
if (!option) return null
|
|
42
42
|
|
|
43
|
-
const sendMessage = () =>
|
|
44
|
-
model.sendHelpRequestFx({
|
|
43
|
+
const sendMessage = useCallback(() => {
|
|
44
|
+
void model.sendHelpRequestFx({
|
|
45
45
|
message: option.text,
|
|
46
46
|
translatedMessage: option.translatedText,
|
|
47
47
|
})
|
|
48
|
+
}, [])
|
|
48
49
|
|
|
49
50
|
const shouldDisableInput =
|
|
50
51
|
isHelpRequestPending || (hasMessages && lastMessageOptions.length === 0)
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Pressable, StyleSheet } from 'react-native'
|
|
2
|
-
import React from 'react'
|
|
2
|
+
import React, { memo } from 'react'
|
|
3
3
|
import Animated, {
|
|
4
4
|
useSharedValue,
|
|
5
5
|
withTiming,
|
|
6
6
|
useAnimatedStyle,
|
|
7
7
|
interpolateColor,
|
|
8
|
-
SharedValue,
|
|
9
8
|
} from 'react-native-reanimated'
|
|
10
9
|
import {
|
|
11
10
|
ArrowRightIcon,
|
|
@@ -23,108 +22,106 @@ export enum HintButtonVariant {
|
|
|
23
22
|
Short = 'short',
|
|
24
23
|
}
|
|
25
24
|
|
|
25
|
+
const HOVER_ANIMATION_DURATION = 200
|
|
26
|
+
|
|
26
27
|
const REQUEST_HINT_BUTTON = {
|
|
27
28
|
[HintButtonVariant.Default]: {
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
width: 305,
|
|
30
|
+
fontSize: 20,
|
|
30
31
|
},
|
|
31
|
-
[HintButtonVariant.Short]: {
|
|
32
|
+
[HintButtonVariant.Short]: { width: 163, fontSize: 18 },
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
type RequestHintButtonProps = {
|
|
35
36
|
onPress: () => void
|
|
36
37
|
label: string
|
|
37
38
|
disabled: boolean
|
|
38
|
-
variant: HintButtonVariant
|
|
39
39
|
colorScheme?: ColorScheme
|
|
40
|
-
|
|
40
|
+
variant: HintButtonVariant
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export const RequestHintButton = (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
export const RequestHintButton = memo(
|
|
44
|
+
({
|
|
45
|
+
onPress,
|
|
46
|
+
label,
|
|
47
|
+
disabled = false,
|
|
48
|
+
colorScheme = ColorScheme.Blue,
|
|
49
|
+
variant = HintButtonVariant.Default,
|
|
50
|
+
}: RequestHintButtonProps) => {
|
|
51
|
+
const hoverSv = useSharedValue(0)
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
const onHoverIn = () => {
|
|
54
|
+
if (!disabled) hoverSv.value = withTiming(1, { duration: HOVER_ANIMATION_DURATION })
|
|
55
|
+
}
|
|
56
|
+
const onHoverOut = () => {
|
|
57
|
+
if (!disabled) hoverSv.value = withTiming(0, { duration: HOVER_ANIMATION_DURATION })
|
|
58
|
+
}
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
const animatedTextContainerStyle = useAnimatedStyle(() => {
|
|
61
|
+
if (disabled) {
|
|
62
|
+
return {
|
|
63
|
+
backgroundColor: COLORS.NEUTRAL_2,
|
|
64
|
+
borderColor: COLORS.NEUTRAL_5,
|
|
65
|
+
}
|
|
64
66
|
}
|
|
65
|
-
}
|
|
66
67
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
const defaultBorderColor =
|
|
69
|
+
variant === HintButtonVariant.Default
|
|
70
|
+
? COLORS.NEUTRAL_1
|
|
71
|
+
: MESSAGE_COLORS_MAP[colorScheme].sent.border
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
73
|
+
return {
|
|
74
|
+
backgroundColor: interpolateColor(
|
|
75
|
+
hoverSv.value,
|
|
76
|
+
[0, 1],
|
|
77
|
+
[COLORS.NEUTRAL_1, MESSAGE_COLORS_MAP[colorScheme].sent.background],
|
|
78
|
+
),
|
|
79
|
+
borderColor: interpolateColor(
|
|
80
|
+
hoverSv.value,
|
|
81
|
+
[0, 1],
|
|
82
|
+
[defaultBorderColor, MESSAGE_COLORS_MAP[colorScheme].sent.border],
|
|
83
|
+
),
|
|
84
|
+
}
|
|
85
|
+
}, [hoverSv, disabled, colorScheme])
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
const animatedTextStyle = useAnimatedStyle(() => {
|
|
88
|
+
if (disabled) return { color: COLORS.NEUTRAL_5 }
|
|
88
89
|
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
return {
|
|
91
|
+
color: interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1]),
|
|
92
|
+
}
|
|
93
|
+
}, [hoverSv, disabled])
|
|
91
94
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
onHoverIn={onHoverIn}
|
|
95
|
-
onHoverOut={onHoverOut}
|
|
96
|
-
onPress={onPress}
|
|
97
|
-
style={[
|
|
98
|
-
styles.button,
|
|
99
|
-
{ cursor: disabled ? 'auto' : 'pointer', width: REQUEST_HINT_BUTTON[variant].WIDTH },
|
|
100
|
-
]}
|
|
101
|
-
disabled={disabled}
|
|
102
|
-
accessibilityState={{ disabled }}
|
|
103
|
-
accessibilityRole="button"
|
|
104
|
-
>
|
|
105
|
-
<Animated.View style={[styles.content, animatedTextContainerStyle]}>
|
|
106
|
-
<Animated.Text
|
|
107
|
-
numberOfLines={1}
|
|
108
|
-
style={[
|
|
109
|
-
styles.text,
|
|
110
|
-
animatedTextStyle,
|
|
111
|
-
{ fontSize: REQUEST_HINT_BUTTON[variant].FONT_SIZE },
|
|
112
|
-
]}
|
|
113
|
-
>
|
|
114
|
-
{label}
|
|
115
|
-
</Animated.Text>
|
|
95
|
+
const iconColor = disabled ? COLORS.NEUTRAL_5 : 'currentColor'
|
|
96
|
+
const { width, fontSize } = REQUEST_HINT_BUTTON[variant]
|
|
116
97
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
98
|
+
return (
|
|
99
|
+
<Pressable
|
|
100
|
+
onHoverIn={onHoverIn}
|
|
101
|
+
onHoverOut={onHoverOut}
|
|
102
|
+
onPress={onPress}
|
|
103
|
+
style={[styles.button, { cursor: disabled ? 'auto' : 'pointer', width }]}
|
|
104
|
+
disabled={disabled}
|
|
105
|
+
accessibilityState={{ disabled }}
|
|
106
|
+
accessibilityRole="button"
|
|
107
|
+
>
|
|
108
|
+
<Animated.View style={[styles.content, animatedTextContainerStyle]}>
|
|
109
|
+
<Animated.Text numberOfLines={1} style={[styles.text, animatedTextStyle, { fontSize }]}>
|
|
110
|
+
{label}
|
|
111
|
+
</Animated.Text>
|
|
112
|
+
|
|
113
|
+
<Animated.Text style={[styles.iconWrapper, animatedTextStyle]}>
|
|
114
|
+
{variant === HintButtonVariant.Default ? (
|
|
115
|
+
<ArrowRightIcon color={iconColor} size={16} />
|
|
116
|
+
) : (
|
|
117
|
+
<ArrowUpIcon color={iconColor} size={16} />
|
|
118
|
+
)}
|
|
119
|
+
</Animated.Text>
|
|
120
|
+
</Animated.View>
|
|
121
|
+
</Pressable>
|
|
122
|
+
)
|
|
123
|
+
},
|
|
124
|
+
)
|
|
128
125
|
|
|
129
126
|
const styles = StyleSheet.create({
|
|
130
127
|
button: {
|
|
@@ -137,7 +134,7 @@ const styles = StyleSheet.create({
|
|
|
137
134
|
color: COLORS.NEUTRAL_10,
|
|
138
135
|
},
|
|
139
136
|
content: {
|
|
140
|
-
height:44,
|
|
137
|
+
height: 44,
|
|
141
138
|
flex: 1,
|
|
142
139
|
flexDirection: 'row',
|
|
143
140
|
alignItems: 'center',
|
|
@@ -153,7 +150,7 @@ const styles = StyleSheet.create({
|
|
|
153
150
|
backgroundColor: COLORS.PRIMARY_BLUE,
|
|
154
151
|
borderColor: COLORS.PRIMARY_BLUE,
|
|
155
152
|
},
|
|
156
|
-
|
|
153
|
+
iconWrapper: {
|
|
157
154
|
top: IS_MOBILE ? 3 : 0,
|
|
158
155
|
},
|
|
159
156
|
})
|