react-native-srschat 0.1.18 → 0.1.20
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/README.md +2 -0
- package/lib/commonjs/components/email.js +6 -5
- package/lib/commonjs/components/email.js.map +1 -1
- package/lib/commonjs/components/header.js +12 -20
- package/lib/commonjs/components/header.js.map +1 -1
- package/lib/commonjs/components/input.js +4 -2
- package/lib/commonjs/components/input.js.map +1 -1
- package/lib/commonjs/components/productCard.js +5 -1
- package/lib/commonjs/components/productCard.js.map +1 -1
- package/lib/commonjs/components/progressCircle.js +99 -0
- package/lib/commonjs/components/progressCircle.js.map +1 -0
- package/lib/commonjs/components/voice.js +96 -0
- package/lib/commonjs/components/voice.js.map +1 -0
- package/lib/commonjs/components/welcomeInput.js +3 -1
- package/lib/commonjs/components/welcomeInput.js.map +1 -1
- package/lib/commonjs/contexts/AppContext.js +6 -1
- package/lib/commonjs/contexts/AppContext.js.map +1 -1
- package/lib/commonjs/hooks/stream.js +9 -9
- package/lib/commonjs/hooks/stream.js.map +1 -1
- package/lib/commonjs/layout/disclaimer.js +1 -1
- package/lib/commonjs/layout/disclaimer.js.map +1 -1
- package/lib/commonjs/layout/layout.js +11 -26
- package/lib/commonjs/layout/layout.js.map +1 -1
- package/lib/commonjs/layout/welcome.js +4 -3
- package/lib/commonjs/layout/welcome.js.map +1 -1
- package/lib/commonjs/layout/window.js +85 -7
- package/lib/commonjs/layout/window.js.map +1 -1
- package/lib/commonjs/utils/audioRecorder.js +287 -0
- package/lib/commonjs/utils/audioRecorder.js.map +1 -0
- package/lib/commonjs/utils/textToSpeech.js +45 -0
- package/lib/commonjs/utils/textToSpeech.js.map +1 -0
- package/lib/module/components/email.js +6 -5
- package/lib/module/components/email.js.map +1 -1
- package/lib/module/components/header.js +12 -20
- package/lib/module/components/header.js.map +1 -1
- package/lib/module/components/input.js +4 -2
- package/lib/module/components/input.js.map +1 -1
- package/lib/module/components/productCard.js +4 -1
- package/lib/module/components/productCard.js.map +1 -1
- package/lib/module/components/progressCircle.js +90 -0
- package/lib/module/components/progressCircle.js.map +1 -0
- package/lib/module/components/voice.js +86 -0
- package/lib/module/components/voice.js.map +1 -0
- package/lib/module/components/welcomeInput.js +3 -1
- package/lib/module/components/welcomeInput.js.map +1 -1
- package/lib/module/contexts/AppContext.js +6 -1
- package/lib/module/contexts/AppContext.js.map +1 -1
- package/lib/module/hooks/stream.js +9 -9
- package/lib/module/hooks/stream.js.map +1 -1
- package/lib/module/layout/disclaimer.js +1 -1
- package/lib/module/layout/disclaimer.js.map +1 -1
- package/lib/module/layout/layout.js +11 -26
- package/lib/module/layout/layout.js.map +1 -1
- package/lib/module/layout/welcome.js +2 -3
- package/lib/module/layout/welcome.js.map +1 -1
- package/lib/module/layout/window.js +85 -7
- package/lib/module/layout/window.js.map +1 -1
- package/lib/module/utils/audioRecorder.js +275 -0
- package/lib/module/utils/audioRecorder.js.map +1 -0
- package/lib/module/utils/textToSpeech.js +34 -0
- package/lib/module/utils/textToSpeech.js.map +1 -0
- package/lib/typescript/components/input.d.ts.map +1 -1
- package/lib/typescript/components/productCard.d.ts.map +1 -1
- package/lib/typescript/components/progressCircle.d.ts +3 -0
- package/lib/typescript/components/progressCircle.d.ts.map +1 -0
- package/lib/typescript/components/voice.d.ts +3 -0
- package/lib/typescript/components/voice.d.ts.map +1 -0
- package/lib/typescript/components/welcomeInput.d.ts.map +1 -1
- package/lib/typescript/contexts/AppContext.d.ts.map +1 -1
- package/lib/typescript/layout/layout.d.ts.map +1 -1
- package/lib/typescript/layout/window.d.ts.map +1 -1
- package/lib/typescript/utils/audioRecorder.d.ts +7 -0
- package/lib/typescript/utils/audioRecorder.d.ts.map +1 -0
- package/lib/typescript/utils/textToSpeech.d.ts +2 -0
- package/lib/typescript/utils/textToSpeech.d.ts.map +1 -0
- package/package.json +8 -3
- package/src/components/email.js +7 -7
- package/src/components/header.js +12 -10
- package/src/components/input.js +5 -4
- package/src/components/productCard.js +3 -0
- package/src/components/progressCircle.js +86 -0
- package/src/components/voice.js +111 -0
- package/src/components/welcomeInput.js +8 -4
- package/src/contexts/AppContext.js +6 -1
- package/src/hooks/stream.js +2 -2
- package/src/layout/disclaimer.js +1 -1
- package/src/layout/layout.js +11 -15
- package/src/layout/welcome.js +1 -1
- package/src/layout/window.js +65 -7
- package/src/utils/audioRecorder.js +320 -0
- package/src/utils/textToSpeech.js +38 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","useContext","useEffect","View","Animated","PanResponder","Pressable","StyleSheet","AppContext","ChatWindow","ChatIcon","Welcome","Disclaimer","EmailForm","Layout","showModal","setShowModal","uiConfig","disclaimer","maintenance","messages","panY","Value","current","isDragging","handleClick","showIcon","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","evt","gestureState","dy","setValue","onPanResponderRelease","timing","toValue","duration","useNativeDriver","start","spring","friction","tension","length","toggleChat","createElement","style","styles","layout","pointerEvents","Fragment","
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","useContext","useEffect","View","Animated","PanResponder","Pressable","StyleSheet","AppContext","ChatWindow","ChatIcon","Welcome","Disclaimer","EmailForm","Layout","showModal","setShowModal","uiConfig","disclaimer","maintenance","messages","panY","Value","current","isDragging","handleClick","showIcon","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","evt","gestureState","dy","setValue","onPanResponderRelease","timing","toValue","duration","useNativeDriver","start","spring","friction","tension","length","toggleChat","createElement","style","styles","layout","pointerEvents","Fragment","container","transform","translateY","panHandlers","flex","position","top","left","right","bottom","backgroundColor","justifyContent","zIndex","overflow","outsideTouchable"],"sourceRoot":"../../../src","sources":["layout/layout.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
1
|
// Welcome.js
|
|
3
2
|
import React, { useContext } from 'react';
|
|
4
3
|
import { View, Text, Image, TouchableOpacity, ScrollView, StyleSheet } from 'react-native';
|
|
@@ -29,9 +28,9 @@ export const Welcome = ({
|
|
|
29
28
|
style: styles.parentContainer
|
|
30
29
|
}, /*#__PURE__*/React.createElement(View, {
|
|
31
30
|
style: styles.topContainer
|
|
32
|
-
}, /*#__PURE__*/React.createElement(View,
|
|
31
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
33
32
|
style: styles.topHeader
|
|
34
|
-
},
|
|
33
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
35
34
|
source: require('../assets/heritage.png'),
|
|
36
35
|
style: [styles.logo, {
|
|
37
36
|
tintColor: "white"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","View","Text","Image","TouchableOpacity","ScrollView","StyleSheet","Ionicons","AppContext","WelcomeInput","ButtonComponent","Testing","Welcome","panHandlers","setShowModal","uiConfig","onProductCardClick","onAddToCartClick","handleClick","showIcon","createElement","contentContainerStyle","styles","container","style","parentContainer","topContainer","
|
|
1
|
+
{"version":3,"names":["React","useContext","View","Text","Image","TouchableOpacity","ScrollView","StyleSheet","Ionicons","AppContext","WelcomeInput","ButtonComponent","Testing","Welcome","panHandlers","setShowModal","uiConfig","onProductCardClick","onAddToCartClick","handleClick","showIcon","createElement","contentContainerStyle","styles","container","style","parentContainer","topContainer","topHeader","source","require","logo","tintColor","resizeMode","onPress","collapseButton","name","size","color","blueContainer","welcomeHeader","welcomeBody2","textBeta","bottomContainer","welcomeBody","create","flex","flexGrow","backgroundColor","paddingBottom","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingTop","width","height","padding","margin","borderRadius","fontSize","marginBottom","fontWeight","lineHeight","textAlign","marginTop"],"sourceRoot":"../../../src","sources":["layout/welcome.js"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,gBAAgB,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAC1F,OAAOC,QAAQ,MAAM,oCAAoC;AACzD,SAASC,UAAU,QAAQ,wBAAwB;AACnD,SAASC,YAAY,QAAQ,4BAA4B;AACzD,OAAOC,eAAe,MAAM,6BAA6B;AACzD,SAASC,OAAO,QAAQ,uBAAuB;AAE/C,OAAO,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAY,CAAC,KAAK;EAC1C,MAAM;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,kBAAkB;IAAEC;EAAiB,CAAC,GAAGjB,UAAU,CAACQ,UAAU,CAAC;EAE/F,MAAMU,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAI,CAACH,QAAQ,CAACI,QAAQ,IAAI,IAAI,MAAM,IAAI,EAAE;MACxCL,YAAY,CAAC,KAAK,CAAC;IACrB,CAAC,MAAM;MACLA,YAAY,CAAC,MAAM,CAAC;IACtB;EACF,CAAC;EAED,oBACEf,KAAA,CAAAqB,aAAA,CAACnB,IAAI;IAACoB,qBAAqB,EAAEC,MAAM,CAACC;EAAU,gBAC5CxB,KAAA,CAAAqB,aAAA,CAACnB,IAAI;IAACuB,KAAK,EAAEF,MAAM,CAACG;EAAgB,gBAGlC1B,KAAA,CAAAqB,aAAA,CAACnB,IAAI;IAACuB,KAAK,EAAEF,MAAM,CAACI;EAAa,gBAC/B3B,KAAA,CAAAqB,aAAA,CAACnB,IAAI;IAACuB,KAAK,EAAEF,MAAM,CAACK;EAAU,gBAC5B5B,KAAA,CAAAqB,aAAA,CAACjB,KAAK;IACJyB,MAAM,EAAEC,OAAO,CAAC,wBAAwB,CAAE;IAC1CL,KAAK,EAAE,CAACF,MAAM,CAACQ,IAAI,EAAE;MAAEC,SAAS,EAAE;IAAQ,CAAC,CAAE;IAC7CC,UAAU,EAAC;EAAS,CACrB,CAAC,eACFjC,KAAA,CAAAqB,aAAA,CAAChB,gBAAgB;IAAC6B,OAAO,EAAEA,CAAA,KAAMf,WAAW,CAAC,CAAE;IAACM,KAAK,EAAEF,MAAM,CAACY;EAAe,gBAC3EnC,KAAA,CAAAqB,aAAA,CAACb,QAAQ;IAAC4B,IAAI,EAAC,cAAc;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAO,CAAE,CACvC,CACd,CAAC,eAEPtC,KAAA,CAAAqB,aAAA,CAACnB,IAAI;IAACuB,KAAK,EAAEF,MAAM,CAACgB;EAAc,gBAChCvC,KAAA,CAAAqB,aAAA,CAAClB,IAAI;IAACsB,KAAK,EAAEF,MAAM,CAACiB;EAAc,GAAC,iBAAW,CAAC,eAC/CxC,KAAA,CAAAqB,aAAA,CAAClB,IAAI;IAACsB,KAAK,EAAEF,MAAM,CAACkB;EAAa,GAAC,2HAG5B,CAAC,eACPzC,KAAA,CAAAqB,aAAA,CAACX,YAAY,MAAE,CAAC,eAChBV,KAAA,CAAAqB,aAAA,CAAClB,IAAI;IAACsB,KAAK,EAAEF,MAAM,CAACmB;EAAS,GAAC,qCAAyC,CACnE,CACF,CAAC,eAGP1C,KAAA,CAAAqB,aAAA,CAACf,UAAU;IAACmB,KAAK,EAAEF,MAAM,CAACoB;EAAgB,gBACxC3C,KAAA,CAAAqB,aAAA,CAAClB,IAAI;IAACsB,KAAK,EAAEF,MAAM,CAACqB;EAAY,GAAC,2BAA+B,CAAC,eACjE5C,KAAA,CAAAqB,aAAA,CAACV,eAAe,MAAE,CACR,CACR,CACF,CAAC;AAEX,CAAC;AAED,MAAMY,MAAM,GAAGhB,UAAU,CAACsC,MAAM,CAAC;EAC/BrB,SAAS,EAAE;IACTsB,IAAI,EAAE;EACR,CAAC;EACDpB,eAAe,EAAE;IACfqB,QAAQ,EAAE;EACZ,CAAC;EACDpB,YAAY,EAAE;IACZqB,eAAe,EAAE,SAAS;IAC1BC,aAAa,EAAE;EACjB,CAAC;EACDrB,SAAS,EAAE;IACTsB,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,UAAU;IAC1BC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE;EACd,CAAC;EACDvB,IAAI,EAAE;IACJwB,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE;EACV,CAAC;EACDrB,cAAc,EAAE;IACdkB,iBAAiB,EAAE,EAAE;IACrBF,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDb,aAAa,EAAE;IACbS,eAAe,EAAE,SAAS;IAC1BS,OAAO,EAAE,EAAE;IACXC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE;EAChB,CAAC;EACDnB,aAAa,EAAE;IACboB,QAAQ,EAAE,EAAE;IACZC,YAAY,EAAE,EAAE;IAChBvB,KAAK,EAAE,SAAS;IAChBwB,UAAU,EAAE;EACd,CAAC;EACDrB,YAAY,EAAE;IACZmB,QAAQ,EAAE,EAAE;IACZG,UAAU,EAAE,EAAE;IACdzB,KAAK,EAAE,SAAS;IAChBwB,UAAU,EAAE,KAAK;IACjBD,YAAY,EAAE;EAChB,CAAC;EACDnB,QAAQ,EAAE;IACRsB,SAAS,EAAE,QAAQ;IACnBJ,QAAQ,EAAE,EAAE;IACZtB,KAAK,EAAE,SAAS;IAChBwB,UAAU,EAAE,KAAK;IACjBG,SAAS,EAAE;EACb,CAAC;EACDtB,eAAe,EAAE;IACfU,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE;EACd,CAAC;EACDV,WAAW,EAAE;IACXgB,QAAQ,EAAE,EAAE;IACZC,YAAY,EAAE,EAAE;IAChBvB,KAAK,EAAE,SAAS;IAChBwB,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ import { useWebSocketMessage } from '../hooks/stream';
|
|
|
10
10
|
import { ProductCard } from '../components/productCard';
|
|
11
11
|
import Markdown from 'react-native-markdown-display';
|
|
12
12
|
import { Feedback } from '../components/feedback';
|
|
13
|
+
import { ProgressCircle } from '../components/progressCircle';
|
|
13
14
|
export const ChatWindow = ({
|
|
14
15
|
panHandlers
|
|
15
16
|
}) => {
|
|
@@ -22,7 +23,9 @@ export const ChatWindow = ({
|
|
|
22
23
|
handleButtonClick,
|
|
23
24
|
onProductCardClick,
|
|
24
25
|
onAddToCartClick,
|
|
25
|
-
uiConfig
|
|
26
|
+
uiConfig,
|
|
27
|
+
ghostCard,
|
|
28
|
+
typingIndicator
|
|
26
29
|
} = useContext(AppContext);
|
|
27
30
|
const scrollViewRef = useRef(null);
|
|
28
31
|
const fadeAnim = useRef(new Animated.Value(0.6)).current;
|
|
@@ -54,7 +57,7 @@ export const ChatWindow = ({
|
|
|
54
57
|
};
|
|
55
58
|
return /*#__PURE__*/React.createElement(View, {
|
|
56
59
|
style: styles.container
|
|
57
|
-
}, /*#__PURE__*/React.createElement(View,
|
|
60
|
+
}, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Header, null)), /*#__PURE__*/React.createElement(KeyboardAwareScrollView, {
|
|
58
61
|
ref: scrollViewRef,
|
|
59
62
|
contentContainerStyle: styles.messagesContent,
|
|
60
63
|
enableOnAndroid: true,
|
|
@@ -85,10 +88,26 @@ export const ChatWindow = ({
|
|
|
85
88
|
lineHeight: 22
|
|
86
89
|
}
|
|
87
90
|
}
|
|
88
|
-
}, msg.text), msg.type == 'ai' && i != 0 && msg.message_id && /*#__PURE__*/React.createElement(Feedback, {
|
|
91
|
+
}, typeof msg.text === 'string' ? msg.text : String(msg.text || '')), msg.type == 'ai' && i != 0 && msg.message_id && /*#__PURE__*/React.createElement(Feedback, {
|
|
89
92
|
message: msg,
|
|
90
93
|
messageId: msg.message_id
|
|
91
|
-
})), msg.
|
|
94
|
+
})), msg.type == "middle" && /*#__PURE__*/React.createElement(View, {
|
|
95
|
+
style: [styles.middleMessageBubble, styles.middleMessage]
|
|
96
|
+
}, /*#__PURE__*/React.createElement(Ionicons, {
|
|
97
|
+
name: "sparkles-outline",
|
|
98
|
+
size: 20,
|
|
99
|
+
style: {
|
|
100
|
+
marginRight: 10
|
|
101
|
+
}
|
|
102
|
+
}), /*#__PURE__*/React.createElement(Markdown, {
|
|
103
|
+
style: {
|
|
104
|
+
body: {
|
|
105
|
+
color: msg.type === "user" ? "#ffffff" : "#161616",
|
|
106
|
+
fontSize: 16,
|
|
107
|
+
lineHeight: 22
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, typeof msg.text === 'string' ? msg.text : String(msg.text || ''))), msg.products && msg.products.length > 0 && msg.products.map((prod, index) => /*#__PURE__*/React.createElement(View, {
|
|
92
111
|
key: index,
|
|
93
112
|
style: styles.productCardWrapper
|
|
94
113
|
}, /*#__PURE__*/React.createElement(ProductCard, {
|
|
@@ -103,7 +122,7 @@ export const ChatWindow = ({
|
|
|
103
122
|
size: 20,
|
|
104
123
|
color: "white",
|
|
105
124
|
style: styles.icon
|
|
106
|
-
})), msg.suggested_questions && Array.isArray(msg.
|
|
125
|
+
})), msg.suggested_questions && Array.isArray(msg.suggested_questions) && msg.suggested_questions.length > 0 && msg.suggested_questions.map((question, index) => /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
107
126
|
key: index,
|
|
108
127
|
style: styles.suggestedQuestionButton,
|
|
109
128
|
onPress: () => handleButtonClick(question)
|
|
@@ -123,13 +142,31 @@ export const ChatWindow = ({
|
|
|
123
142
|
style: [styles.ghostBar, styles.ghostBarMedium, {
|
|
124
143
|
opacity: fadeAnim
|
|
125
144
|
}]
|
|
126
|
-
}))
|
|
145
|
+
})), ghostCard && i === messages.length - 1 && /*#__PURE__*/React.createElement(View, {
|
|
146
|
+
style: styles.ghostCardContainer
|
|
147
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
148
|
+
style: styles.ghostSquare
|
|
149
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
150
|
+
style: styles.ghostBarsContainer
|
|
151
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
152
|
+
style: [styles.ghostBar, styles.ghostBarShort, {
|
|
153
|
+
opacity: fadeAnim
|
|
154
|
+
}]
|
|
155
|
+
}), /*#__PURE__*/React.createElement(Animated.View, {
|
|
156
|
+
style: [styles.ghostBar, styles.ghostBarLong, {
|
|
157
|
+
opacity: fadeAnim
|
|
158
|
+
}]
|
|
159
|
+
}), /*#__PURE__*/React.createElement(Animated.View, {
|
|
160
|
+
style: [styles.ghostBar, styles.ghostBarMedium, {
|
|
161
|
+
opacity: fadeAnim
|
|
162
|
+
}]
|
|
163
|
+
})))))), /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
127
164
|
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
|
128
165
|
keyboardVerticalOffset: Platform.OS === 'ios' ? 120 : 60
|
|
129
166
|
}, uiConfig.testButtons && /*#__PURE__*/React.createElement(Testing, {
|
|
130
167
|
onProductCardClick: onProductCardClick,
|
|
131
168
|
onAddToCartClick: onAddToCartClick
|
|
132
|
-
}), /*#__PURE__*/React.createElement(ChatInput, null)));
|
|
169
|
+
}), !typingIndicator ? /*#__PURE__*/React.createElement(ChatInput, null) : /*#__PURE__*/React.createElement(ProgressCircle, null)));
|
|
133
170
|
};
|
|
134
171
|
const styles = StyleSheet.create({
|
|
135
172
|
container: {
|
|
@@ -200,6 +237,32 @@ const styles = StyleSheet.create({
|
|
|
200
237
|
ghostBarLong: {
|
|
201
238
|
width: "100%"
|
|
202
239
|
},
|
|
240
|
+
ghostCardContainer: {
|
|
241
|
+
flexDirection: "row",
|
|
242
|
+
// Arrange elements in a row
|
|
243
|
+
alignItems: "center",
|
|
244
|
+
// Vertically align items
|
|
245
|
+
width: "100%",
|
|
246
|
+
backgroundColor: "#FFFFFF",
|
|
247
|
+
borderRadius: 10,
|
|
248
|
+
borderTopLeftRadius: 0,
|
|
249
|
+
padding: 14,
|
|
250
|
+
marginVertical: 5
|
|
251
|
+
},
|
|
252
|
+
ghostSquare: {
|
|
253
|
+
width: "25%",
|
|
254
|
+
// Takes up 25% of the container
|
|
255
|
+
aspectRatio: 1,
|
|
256
|
+
// Makes it a square
|
|
257
|
+
backgroundColor: "#ebebeb",
|
|
258
|
+
// Adjust color if needed
|
|
259
|
+
borderRadius: 8
|
|
260
|
+
},
|
|
261
|
+
ghostBarsContainer: {
|
|
262
|
+
width: "75%",
|
|
263
|
+
// Takes up 75% of the container
|
|
264
|
+
paddingLeft: 10 // Adds some spacing from the square
|
|
265
|
+
},
|
|
203
266
|
resourceButton: {
|
|
204
267
|
flexDirection: 'row',
|
|
205
268
|
alignItems: 'center',
|
|
@@ -214,6 +277,21 @@ const styles = StyleSheet.create({
|
|
|
214
277
|
color: 'white',
|
|
215
278
|
fontSize: 16,
|
|
216
279
|
marginRight: 8
|
|
280
|
+
},
|
|
281
|
+
middleMessageBubble: {
|
|
282
|
+
padding: 6,
|
|
283
|
+
paddingHorizontal: 16,
|
|
284
|
+
borderRadius: 12,
|
|
285
|
+
marginBottom: 5,
|
|
286
|
+
flexDirection: 'row',
|
|
287
|
+
alignItems: 'center'
|
|
288
|
+
},
|
|
289
|
+
middleMessage: {
|
|
290
|
+
color: '#161616',
|
|
291
|
+
alignSelf: 'flex-start',
|
|
292
|
+
backgroundColor: '#e0f4fc',
|
|
293
|
+
//'#e0f4fc',
|
|
294
|
+
width: '100%'
|
|
217
295
|
}
|
|
218
296
|
});
|
|
219
297
|
{/* <Testing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useContext","useRef","Text","StyleSheet","View","TextInput","TouchableOpacity","Platform","KeyboardAvoidingView","Keyboard","Animated","Linking","Button","Header","AppContext","Ionicons","KeyboardAwareScrollView","Testing","ChatInput","useWebSocketMessage","ProductCard","Markdown","Feedback","ChatWindow","panHandlers","handleSend","messages","input","setInput","ghostMessage","handleButtonClick","onProductCardClick","onAddToCartClick","uiConfig","scrollViewRef","fadeAnim","Value","current","setTimeout","scrollToEnd","animated","loop","sequence","timing","toValue","duration","useNativeDriver","start","openLink","url","openURL","createElement","style","styles","container","ref","contentContainerStyle","messagesContent","enableOnAndroid","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","contentInset","bottom","keyboardShouldPersistTaps","showsVerticalScrollIndicator","extraScrollHeight","onContentSizeChange","_scrollViewRef$curren","map","msg","i","key","messageWrapper","type","messageBubble","userMessage","aiMessage","body","color","fontSize","lineHeight","text","message_id","message","messageId","products","length","prod","index","productCardWrapper","resource","resource_type","resourceButton","onPress","resourceText","name","size","icon","suggested_questions","Array","isArray","questions","question","suggestedQuestionButton","suggestedQuestionText","ghostMessageContainer","ghostBar","ghostBarShort","opacity","ghostBarLong","ghostBarMedium","behavior","OS","undefined","keyboardVerticalOffset","testButtons","create","flex","padding","justifyContent","marginBottom","paddingHorizontal","borderRadius","alignSelf","backgroundColor","width","marginTop","borderWidth","borderColor","paddingVertical","textAlign","borderTopLeftRadius","marginVertical","height","flexDirection","alignItems","marginRight"],"sourceRoot":"../../../src","sources":["layout/window.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useContext","useRef","Text","StyleSheet","View","TextInput","TouchableOpacity","Platform","KeyboardAvoidingView","Keyboard","Animated","Linking","Button","Header","AppContext","Ionicons","KeyboardAwareScrollView","Testing","ChatInput","useWebSocketMessage","ProductCard","Markdown","Feedback","ProgressCircle","ChatWindow","panHandlers","handleSend","messages","input","setInput","ghostMessage","handleButtonClick","onProductCardClick","onAddToCartClick","uiConfig","ghostCard","typingIndicator","scrollViewRef","fadeAnim","Value","current","setTimeout","scrollToEnd","animated","loop","sequence","timing","toValue","duration","useNativeDriver","start","openLink","url","openURL","createElement","style","styles","container","ref","contentContainerStyle","messagesContent","enableOnAndroid","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","contentInset","bottom","keyboardShouldPersistTaps","showsVerticalScrollIndicator","extraScrollHeight","onContentSizeChange","_scrollViewRef$curren","map","msg","i","key","messageWrapper","type","messageBubble","userMessage","aiMessage","body","color","fontSize","lineHeight","text","String","message_id","message","messageId","middleMessageBubble","middleMessage","name","size","marginRight","products","length","prod","index","productCardWrapper","resource","resource_type","resourceButton","onPress","resourceText","icon","suggested_questions","Array","isArray","question","suggestedQuestionButton","suggestedQuestionText","ghostMessageContainer","ghostBar","ghostBarShort","opacity","ghostBarLong","ghostBarMedium","ghostCardContainer","ghostSquare","ghostBarsContainer","behavior","OS","undefined","keyboardVerticalOffset","testButtons","create","flex","padding","justifyContent","marginBottom","paddingHorizontal","borderRadius","alignSelf","backgroundColor","width","marginTop","borderWidth","borderColor","paddingVertical","textAlign","borderTopLeftRadius","marginVertical","height","flexDirection","alignItems","aspectRatio","paddingLeft"],"sourceRoot":"../../../src","sources":["layout/window.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
// audioRecorder.js
|
|
2
|
+
|
|
3
|
+
import { Platform, PermissionsAndroid } from 'react-native';
|
|
4
|
+
import Voice from '@react-native-community/voice';
|
|
5
|
+
import { check, PERMISSIONS, request, RESULTS } from 'react-native-permissions';
|
|
6
|
+
let resultCallback = null;
|
|
7
|
+
let silenceTimer = null;
|
|
8
|
+
let isCurrentlyRecording = false;
|
|
9
|
+
let finalResult = '';
|
|
10
|
+
const SILENCE_DURATION = 1500; // 1.5 seconds of silence before stopping
|
|
11
|
+
|
|
12
|
+
// Initialize Voice handlers
|
|
13
|
+
export async function initVoice(onResult) {
|
|
14
|
+
try {
|
|
15
|
+
resultCallback = onResult;
|
|
16
|
+
finalResult = '';
|
|
17
|
+
|
|
18
|
+
// First check if speech recognition is available
|
|
19
|
+
const isAvailable = await Voice.isAvailable();
|
|
20
|
+
if (!isAvailable) {
|
|
21
|
+
console.error('Speech recognition is not available on this device');
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Set up all event listeners
|
|
26
|
+
Voice.onSpeechStart = e => {
|
|
27
|
+
console.log('onSpeechStart: ', e);
|
|
28
|
+
isCurrentlyRecording = true;
|
|
29
|
+
finalResult = '';
|
|
30
|
+
if (silenceTimer) {
|
|
31
|
+
clearTimeout(silenceTimer);
|
|
32
|
+
silenceTimer = null;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
Voice.onSpeechRecognized = e => {
|
|
36
|
+
console.log('onSpeechRecognized: ', e);
|
|
37
|
+
if (e.isFinal) {
|
|
38
|
+
console.log('Speech recognition final');
|
|
39
|
+
handleFinalResult();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
Voice.onSpeechEnd = async e => {
|
|
43
|
+
console.log('onSpeechEnd: ', e);
|
|
44
|
+
if (silenceTimer) {
|
|
45
|
+
clearTimeout(silenceTimer);
|
|
46
|
+
silenceTimer = null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Only handle final result if we're still recording
|
|
50
|
+
if (isCurrentlyRecording) {
|
|
51
|
+
await handleFinalResult();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
Voice.onSpeechError = async e => {
|
|
55
|
+
var _e$error;
|
|
56
|
+
console.error('onSpeechError: ', e);
|
|
57
|
+
if (silenceTimer) {
|
|
58
|
+
clearTimeout(silenceTimer);
|
|
59
|
+
silenceTimer = null;
|
|
60
|
+
}
|
|
61
|
+
await cleanupVoiceSession();
|
|
62
|
+
resultCallback(null, ((_e$error = e.error) === null || _e$error === void 0 ? void 0 : _e$error.message) || 'Speech recognition error');
|
|
63
|
+
};
|
|
64
|
+
Voice.onSpeechResults = e => {
|
|
65
|
+
console.log('onSpeechResults: ', e);
|
|
66
|
+
if (e.value && e.value.length > 0) {
|
|
67
|
+
finalResult = e.value[0];
|
|
68
|
+
handleSilenceDetection();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
Voice.onSpeechPartialResults = e => {
|
|
72
|
+
console.log('onSpeechPartialResults: ', e);
|
|
73
|
+
if (silenceTimer) {
|
|
74
|
+
clearTimeout(silenceTimer);
|
|
75
|
+
}
|
|
76
|
+
if (e.value && e.value.length > 0) {
|
|
77
|
+
finalResult = e.value[0];
|
|
78
|
+
handleSilenceDetection();
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
if (Platform.OS === 'android') {
|
|
82
|
+
Voice.onSpeechVolumeChanged = e => {
|
|
83
|
+
console.log('onSpeechVolumeChanged: ', e);
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.error('Error initializing Voice:', error);
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const handleSilenceDetection = () => {
|
|
93
|
+
if (silenceTimer) {
|
|
94
|
+
clearTimeout(silenceTimer);
|
|
95
|
+
}
|
|
96
|
+
silenceTimer = setTimeout(async () => {
|
|
97
|
+
if (isCurrentlyRecording) {
|
|
98
|
+
await handleFinalResult();
|
|
99
|
+
}
|
|
100
|
+
}, SILENCE_DURATION);
|
|
101
|
+
};
|
|
102
|
+
const handleFinalResult = async () => {
|
|
103
|
+
if (!isCurrentlyRecording) return;
|
|
104
|
+
if (finalResult) {
|
|
105
|
+
resultCallback(finalResult);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Stop recording first
|
|
109
|
+
await stopRecording();
|
|
110
|
+
|
|
111
|
+
// Then clean up the session
|
|
112
|
+
await cleanupVoiceSession();
|
|
113
|
+
};
|
|
114
|
+
const cleanupVoiceSession = async () => {
|
|
115
|
+
isCurrentlyRecording = false;
|
|
116
|
+
if (silenceTimer) {
|
|
117
|
+
clearTimeout(silenceTimer);
|
|
118
|
+
silenceTimer = null;
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
// First try to stop if still recognizing
|
|
122
|
+
const isRecognizing = await Voice.isRecognizing();
|
|
123
|
+
if (isRecognizing) {
|
|
124
|
+
try {
|
|
125
|
+
await Voice.stop();
|
|
126
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
127
|
+
} catch (e) {
|
|
128
|
+
console.error('Error stopping in cleanup:', e);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Then force destroy
|
|
133
|
+
await Voice.destroy();
|
|
134
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
135
|
+
|
|
136
|
+
// Double check and force destroy again if needed
|
|
137
|
+
const stillRecognizing = await Voice.isRecognizing();
|
|
138
|
+
if (stillRecognizing) {
|
|
139
|
+
await Voice.destroy();
|
|
140
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
141
|
+
}
|
|
142
|
+
} catch (error) {
|
|
143
|
+
console.error('Error in cleanupVoiceSession:', error);
|
|
144
|
+
// Final attempt to destroy on error
|
|
145
|
+
try {
|
|
146
|
+
await Voice.destroy();
|
|
147
|
+
} catch (e) {
|
|
148
|
+
console.error('Final destroy attempt failed:', e);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
finalResult = '';
|
|
152
|
+
};
|
|
153
|
+
export async function startRecording() {
|
|
154
|
+
try {
|
|
155
|
+
// Ensure cleanup of any existing session
|
|
156
|
+
await cleanupVoiceSession();
|
|
157
|
+
const hasPermission = await requestAudioPermission();
|
|
158
|
+
if (!hasPermission) {
|
|
159
|
+
console.error('No permission to record audio');
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
await Voice.start('en-US');
|
|
163
|
+
isCurrentlyRecording = true;
|
|
164
|
+
return true;
|
|
165
|
+
} catch (error) {
|
|
166
|
+
console.error('Error starting voice recognition:', error);
|
|
167
|
+
await cleanupVoiceSession();
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
export async function stopRecording() {
|
|
172
|
+
try {
|
|
173
|
+
if (!isCurrentlyRecording) return;
|
|
174
|
+
|
|
175
|
+
// Set this first to prevent race conditions
|
|
176
|
+
isCurrentlyRecording = false;
|
|
177
|
+
if (silenceTimer) {
|
|
178
|
+
clearTimeout(silenceTimer);
|
|
179
|
+
silenceTimer = null;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// First try to stop
|
|
183
|
+
try {
|
|
184
|
+
await Voice.stop();
|
|
185
|
+
// Wait a bit for stop to complete
|
|
186
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
187
|
+
} catch (error) {
|
|
188
|
+
console.error('Error stopping Voice:', error);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// Then force destroy
|
|
192
|
+
try {
|
|
193
|
+
await Voice.destroy();
|
|
194
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
195
|
+
} catch (error) {
|
|
196
|
+
console.error('Error destroying Voice:', error);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Final cleanup
|
|
200
|
+
await cleanupVoiceSession();
|
|
201
|
+
} catch (error) {
|
|
202
|
+
console.error('Error in stopRecording:', error);
|
|
203
|
+
// Force cleanup on error
|
|
204
|
+
await cleanupVoiceSession();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
export async function cancelRecording() {
|
|
208
|
+
try {
|
|
209
|
+
await Voice.cancel();
|
|
210
|
+
await cleanupVoiceSession();
|
|
211
|
+
} catch (error) {
|
|
212
|
+
console.error('Error canceling voice recognition:', error);
|
|
213
|
+
await cleanupVoiceSession();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
export async function requestAudioPermission() {
|
|
217
|
+
if (Platform.OS === 'android') {
|
|
218
|
+
return await requestAndroidPermission();
|
|
219
|
+
} else if (Platform.OS === 'ios') {
|
|
220
|
+
return await requestIOSPermission();
|
|
221
|
+
}
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
async function requestAndroidPermission() {
|
|
225
|
+
try {
|
|
226
|
+
// Check available speech recognition services on Android
|
|
227
|
+
const services = await Voice.getSpeechRecognitionServices();
|
|
228
|
+
if (!services || services.length === 0) {
|
|
229
|
+
console.error('No speech recognition services available');
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, {
|
|
233
|
+
title: 'Microphone Permission',
|
|
234
|
+
message: 'This app needs access to your microphone for voice recognition.',
|
|
235
|
+
buttonPositive: 'OK',
|
|
236
|
+
buttonNegative: 'Cancel'
|
|
237
|
+
});
|
|
238
|
+
return granted === PermissionsAndroid.RESULTS.GRANTED;
|
|
239
|
+
} catch (error) {
|
|
240
|
+
console.error('Error requesting Android permission:', error);
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
async function requestIOSPermission() {
|
|
245
|
+
try {
|
|
246
|
+
// Request microphone permission
|
|
247
|
+
const micPermission = await request(PERMISSIONS.IOS.MICROPHONE);
|
|
248
|
+
if (micPermission !== RESULTS.GRANTED) {
|
|
249
|
+
console.log('Microphone permission denied');
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// Request speech recognition permission
|
|
254
|
+
const speechPermission = await request(PERMISSIONS.IOS.SPEECH_RECOGNITION);
|
|
255
|
+
if (speechPermission !== RESULTS.GRANTED) {
|
|
256
|
+
console.log('Speech recognition permission denied');
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
return true;
|
|
260
|
+
} catch (error) {
|
|
261
|
+
console.error('Error requesting iOS permissions:', error);
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
export function cleanup() {
|
|
266
|
+
Voice.destroy().then(() => {
|
|
267
|
+
Voice.removeAllListeners();
|
|
268
|
+
cleanupVoiceSession();
|
|
269
|
+
}).catch(error => {
|
|
270
|
+
console.error('Error in cleanup:', error);
|
|
271
|
+
// Try one more time
|
|
272
|
+
Voice.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=audioRecorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","PermissionsAndroid","Voice","check","PERMISSIONS","request","RESULTS","resultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","initVoice","onResult","isAvailable","console","error","onSpeechStart","e","log","clearTimeout","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","onSpeechError","_e$error","cleanupVoiceSession","message","onSpeechResults","value","length","handleSilenceDetection","onSpeechPartialResults","OS","onSpeechVolumeChanged","setTimeout","stopRecording","isRecognizing","stop","Promise","resolve","destroy","stillRecognizing","startRecording","hasPermission","requestAudioPermission","start","cancelRecording","cancel","requestAndroidPermission","requestIOSPermission","services","getSpeechRecognitionServices","granted","RECORD_AUDIO","title","buttonPositive","buttonNegative","GRANTED","micPermission","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","cleanup","then","removeAllListeners","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// textToSpeech.js
|
|
2
|
+
import React, { useState, useContext } from 'react';
|
|
3
|
+
import axios from 'axios';
|
|
4
|
+
import Sound from 'react-native-sound';
|
|
5
|
+
import { AppContext } from '../contexts/AppContext';
|
|
6
|
+
export const TextToSpeech = async inputText => {
|
|
7
|
+
const {
|
|
8
|
+
data
|
|
9
|
+
} = useContext(AppContext);
|
|
10
|
+
try {
|
|
11
|
+
const response = await axios.post('https://api.openai.com/v1/audio/speech', {
|
|
12
|
+
model: 'tts-1',
|
|
13
|
+
voice: 'alloy',
|
|
14
|
+
input: inputText
|
|
15
|
+
}, {
|
|
16
|
+
headers: {
|
|
17
|
+
Authorization: `Bearer ${data.openai_key}`,
|
|
18
|
+
'Content-Type': 'application/json'
|
|
19
|
+
},
|
|
20
|
+
responseType: 'arraybuffer'
|
|
21
|
+
});
|
|
22
|
+
const audioFile = `data:audio/mp3;base64,${Buffer.from(response.data).toString('base64')}`;
|
|
23
|
+
const sound = new Sound(audioFile, null, error => {
|
|
24
|
+
if (error) {
|
|
25
|
+
console.error('Error playing sound:', error);
|
|
26
|
+
} else {
|
|
27
|
+
sound.play();
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
} catch (error) {
|
|
31
|
+
console.error('Error generating TTS:', error);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=textToSpeech.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useContext","axios","Sound","AppContext","TextToSpeech","inputText","data","response","post","model","voice","input","headers","Authorization","openai_key","responseType","audioFile","Buffer","from","toString","sound","error","console","play"],"sourceRoot":"../../../src","sources":["utils/textToSpeech.js"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAGC,QAAQ,EAAEC,UAAU,QAAO,OAAO;AACjD,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,OAAO,MAAMC,YAAY,GAAG,MAAOC,SAAS,IAAK;EAC/C,MAAM;IAAEC;EAAK,CAAC,GAAGN,UAAU,CAACG,UAAU,CAAC;EACvC,IAAI;IACF,MAAMI,QAAQ,GAAG,MAAMN,KAAK,CAACO,IAAI,CAC/B,wCAAwC,EACxC;MACEC,KAAK,EAAE,OAAO;MACdC,KAAK,EAAE,OAAO;MACdC,KAAK,EAAEN;IACT,CAAC,EACD;MACEO,OAAO,EAAE;QACPC,aAAa,EAAE,UAAUP,IAAI,CAACQ,UAAU,EAAE;QAC1C,cAAc,EAAE;MAClB,CAAC;MACDC,YAAY,EAAE;IAChB,CACF,CAAC;IAED,MAAMC,SAAS,GAAG,yBAAyBC,MAAM,CAACC,IAAI,CAACX,QAAQ,CAACD,IAAI,CAAC,CAACa,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAE1F,MAAMC,KAAK,GAAG,IAAIlB,KAAK,CAACc,SAAS,EAAE,IAAI,EAAGK,KAAK,IAAK;MAClD,IAAIA,KAAK,EAAE;QACTC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;MAC9C,CAAC,MAAM;QACLD,KAAK,CAACG,IAAI,CAAC,CAAC;MACd;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOF,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;EAC/C;AACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/input.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/input.js"],"names":[],"mappings":"AAgBO;;;sBA0BN;kBA1C8D,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productCard.d.ts","sourceRoot":"","sources":["../../../src/components/productCard.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"productCard.d.ts","sourceRoot":"","sources":["../../../src/components/productCard.js"],"names":[],"mappings":"AAKO;;sBA+GN;kBApH2C,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progressCircle.d.ts","sourceRoot":"","sources":["../../../src/components/progressCircle.js"],"names":[],"mappings":"AAIO,oDAiCN;kBArCoD,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../../src/components/voice.js"],"names":[],"mappings":"AAgBO,iDAsFN;kBApGsD,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcomeInput.d.ts","sourceRoot":"","sources":["../../../src/components/welcomeInput.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"welcomeInput.d.ts","sourceRoot":"","sources":["../../../src/components/welcomeInput.js"],"names":[],"mappings":"AAgBO;;;sBAgCN;kBAhD8D,OAAO"}
|