vdb-ai-chat 1.0.6 → 1.0.8
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/chat-widget.js +1 -1
- package/lib/commonjs/api.js +51 -12
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/BetaNotice.js +13 -12
- package/lib/commonjs/components/BetaNotice.js.map +1 -1
- package/lib/commonjs/components/ChatInput.js +59 -49
- package/lib/commonjs/components/ChatInput.js.map +1 -1
- package/lib/commonjs/components/ChatWidget.js +74 -61
- package/lib/commonjs/components/ChatWidget.js.map +1 -1
- package/lib/commonjs/components/MessageBubble.js +67 -52
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/components/MessageMetaRow.js +50 -31
- package/lib/commonjs/components/MessageMetaRow.js.map +1 -1
- package/lib/commonjs/components/ProductsListView.js +232 -153
- package/lib/commonjs/components/ProductsListView.js.map +1 -1
- package/lib/commonjs/components/SuggestionsRow.js +27 -24
- package/lib/commonjs/components/SuggestionsRow.js.map +1 -1
- package/lib/commonjs/components/utils.js +15 -4
- package/lib/commonjs/components/utils.js.map +1 -1
- package/lib/commonjs/contexts/ThemeProvider.js +80 -0
- package/lib/commonjs/contexts/ThemeProvider.js.map +1 -0
- package/lib/commonjs/contexts/utils.js +142 -0
- package/lib/commonjs/contexts/utils.js.map +1 -0
- package/lib/module/api.js +51 -12
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/BetaNotice.js +14 -13
- package/lib/module/components/BetaNotice.js.map +1 -1
- package/lib/module/components/ChatInput.js +61 -50
- package/lib/module/components/ChatInput.js.map +1 -1
- package/lib/module/components/ChatWidget.js +78 -63
- package/lib/module/components/ChatWidget.js.map +1 -1
- package/lib/module/components/MessageBubble.js +69 -52
- package/lib/module/components/MessageBubble.js.map +1 -1
- package/lib/module/components/MessageMetaRow.js +52 -32
- package/lib/module/components/MessageMetaRow.js.map +1 -1
- package/lib/module/components/ProductsListView.js +234 -154
- package/lib/module/components/ProductsListView.js.map +1 -1
- package/lib/module/components/SuggestionsRow.js +29 -25
- package/lib/module/components/SuggestionsRow.js.map +1 -1
- package/lib/module/components/utils.js +17 -3
- package/lib/module/components/utils.js.map +1 -1
- package/lib/module/contexts/ThemeProvider.js +75 -0
- package/lib/module/contexts/ThemeProvider.js.map +1 -0
- package/lib/module/contexts/utils.js +136 -0
- package/lib/module/contexts/utils.js.map +1 -0
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/BetaNotice.d.ts.map +1 -1
- package/lib/typescript/components/ChatInput.d.ts.map +1 -1
- package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble.d.ts +1 -1
- package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/components/MessageMetaRow.d.ts.map +1 -1
- package/lib/typescript/components/ProductsListView.d.ts.map +1 -1
- package/lib/typescript/components/SuggestionsRow.d.ts.map +1 -1
- package/lib/typescript/components/utils.d.ts.map +1 -1
- package/lib/typescript/contexts/ThemeProvider.d.ts +7 -0
- package/lib/typescript/contexts/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/contexts/utils.d.ts +136 -0
- package/lib/typescript/contexts/utils.d.ts.map +1 -0
- package/package.json +6 -2
- package/src/api.ts +58 -21
- package/src/components/BetaNotice.tsx +15 -13
- package/src/components/ChatInput.tsx +63 -62
- package/src/components/ChatWidget.tsx +238 -206
- package/src/components/MessageBubble.tsx +113 -74
- package/src/components/MessageMetaRow.tsx +80 -50
- package/src/components/ProductsListView.tsx +243 -184
- package/src/components/SuggestionsRow.tsx +40 -25
- package/src/components/utils.ts +24 -8
- package/src/contexts/ThemeProvider.tsx +87 -0
- package/src/contexts/utils.ts +135 -0
package/lib/commonjs/api.js
CHANGED
|
@@ -12,10 +12,13 @@ exports.sendUserMessage = sendUserMessage;
|
|
|
12
12
|
var _storage = require("./storage");
|
|
13
13
|
// Generic params type reused for downstream APIs (e.g. product search payload)
|
|
14
14
|
|
|
15
|
-
async function
|
|
15
|
+
async function getUserToken() {
|
|
16
16
|
const userInfo = await _storage.Storage.getJSON("persist:userInfo", {});
|
|
17
17
|
const userData = JSON.parse(userInfo?.user || "{}");
|
|
18
|
-
|
|
18
|
+
return userData?.token || "";
|
|
19
|
+
}
|
|
20
|
+
async function buildHeaders() {
|
|
21
|
+
const token = await getUserToken();
|
|
19
22
|
const iid = (await _storage.Storage.getItem("persist:appState")) || "{}";
|
|
20
23
|
let installationId = "";
|
|
21
24
|
try {
|
|
@@ -32,6 +35,33 @@ async function buildHeaders() {
|
|
|
32
35
|
Cookie: `vdb-server_session=${session}`
|
|
33
36
|
};
|
|
34
37
|
}
|
|
38
|
+
|
|
39
|
+
// Structure for storing conversations with session token
|
|
40
|
+
|
|
41
|
+
// Validates that stored conversations belong to current session
|
|
42
|
+
// If token changed (user re-logged), clears old data and returns empty
|
|
43
|
+
async function getValidConversations() {
|
|
44
|
+
const currentToken = await getUserToken();
|
|
45
|
+
const stored = await _storage.Storage.getJSON("vdbchat_conversations", null);
|
|
46
|
+
|
|
47
|
+
// If no stored data or token doesn't match, clear and return empty
|
|
48
|
+
if (!stored || stored.token !== currentToken) {
|
|
49
|
+
// Clear old conversation data since session changed
|
|
50
|
+
await _storage.Storage.removeItem("vdbchat_conversations");
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
return stored.conversations || {};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Saves conversations with current session token
|
|
57
|
+
async function saveConversations(conversations) {
|
|
58
|
+
const currentToken = await getUserToken();
|
|
59
|
+
const data = {
|
|
60
|
+
token: currentToken,
|
|
61
|
+
conversations
|
|
62
|
+
};
|
|
63
|
+
await _storage.Storage.setJSON("vdbchat_conversations", data);
|
|
64
|
+
}
|
|
35
65
|
function normaliseMessages(raw) {
|
|
36
66
|
const messages = Array.isArray(raw) ? raw : raw?.messages;
|
|
37
67
|
if (!Array.isArray(messages)) return [];
|
|
@@ -46,7 +76,8 @@ function normaliseMessages(raw) {
|
|
|
46
76
|
}));
|
|
47
77
|
}
|
|
48
78
|
async function fetchInitialMessages(apiUrl, _params, priceMode) {
|
|
49
|
-
|
|
79
|
+
// Get conversations valid for current session (auto-clears if token changed)
|
|
80
|
+
const conversations = await getValidConversations();
|
|
50
81
|
const storedId = conversations?.[priceMode ?? ""]?.conversation_id ?? null;
|
|
51
82
|
if (priceMode === undefined) return;
|
|
52
83
|
const body = {};
|
|
@@ -65,16 +96,19 @@ async function fetchInitialMessages(apiUrl, _params, priceMode) {
|
|
|
65
96
|
|
|
66
97
|
// Persist conversation_id returned by the server for future calls
|
|
67
98
|
if (data && data.conversation_id != null && priceMode) {
|
|
68
|
-
const updatedConversations =
|
|
99
|
+
const updatedConversations = {
|
|
100
|
+
...conversations
|
|
101
|
+
};
|
|
69
102
|
updatedConversations[priceMode] = {
|
|
70
103
|
conversation_id: data.conversation_id
|
|
71
104
|
};
|
|
72
|
-
await
|
|
105
|
+
await saveConversations(updatedConversations);
|
|
73
106
|
}
|
|
74
107
|
return data;
|
|
75
108
|
}
|
|
76
109
|
async function sendUserMessage(apiUrl, userMessage, _params, _history, priceMode) {
|
|
77
|
-
|
|
110
|
+
// Get conversations valid for current session
|
|
111
|
+
const conversations = await getValidConversations();
|
|
78
112
|
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
79
113
|
if (priceMode === undefined) {
|
|
80
114
|
return null;
|
|
@@ -95,20 +129,23 @@ async function sendUserMessage(apiUrl, userMessage, _params, _history, priceMode
|
|
|
95
129
|
}
|
|
96
130
|
const data = await res.json();
|
|
97
131
|
if (data && data.conversation_id != null && priceMode) {
|
|
98
|
-
const updatedConversations =
|
|
132
|
+
const updatedConversations = {
|
|
133
|
+
...conversations
|
|
134
|
+
};
|
|
99
135
|
updatedConversations[priceMode] = {
|
|
100
136
|
conversation_id: data.conversation_id
|
|
101
137
|
};
|
|
102
|
-
await
|
|
138
|
+
await saveConversations(updatedConversations);
|
|
103
139
|
}
|
|
104
140
|
return data;
|
|
105
141
|
}
|
|
106
142
|
async function clearChatHistory(apiUrl, priceMode) {
|
|
107
|
-
|
|
143
|
+
// Get conversations valid for current session
|
|
144
|
+
const conversations = await getValidConversations();
|
|
108
145
|
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
109
146
|
if (!storedId || priceMode === undefined) return;
|
|
110
147
|
const url = new URL(apiUrl);
|
|
111
|
-
url.searchParams.set("conversation_id", storedId);
|
|
148
|
+
url.searchParams.set("conversation_id", String(storedId));
|
|
112
149
|
const res = await fetch(url.toString(), {
|
|
113
150
|
method: "DELETE",
|
|
114
151
|
headers: await buildHeaders()
|
|
@@ -118,9 +155,11 @@ async function clearChatHistory(apiUrl, priceMode) {
|
|
|
118
155
|
}
|
|
119
156
|
|
|
120
157
|
// Clear from storage as well
|
|
121
|
-
const updatedConversations =
|
|
158
|
+
const updatedConversations = {
|
|
159
|
+
...conversations
|
|
160
|
+
};
|
|
122
161
|
delete updatedConversations[priceMode];
|
|
123
|
-
await
|
|
162
|
+
await saveConversations(updatedConversations);
|
|
124
163
|
}
|
|
125
164
|
async function getProducts(params, priceMode) {
|
|
126
165
|
const userInfo = await _storage.Storage.getJSON("persist:userInfo", {});
|
package/lib/commonjs/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_storage","require","
|
|
1
|
+
{"version":3,"names":["_storage","require","getUserToken","userInfo","Storage","getJSON","userData","JSON","parse","user","token","buildHeaders","iid","getItem","installationId","parsed","installationIdentifier","session","Accept","Authorization","Cookie","getValidConversations","currentToken","stored","removeItem","conversations","saveConversations","data","setJSON","normaliseMessages","raw","messages","Array","isArray","map","m","index","id","String","role","created_at","Date","now","text","content","createdAt","search_payload","reaction","suggestions","undefined","fetchInitialMessages","apiUrl","_params","priceMode","storedId","conversation_id","body","Number","isNaN","res","fetch","method","headers","Object","keys","length","stringify","ok","Error","status","json","updatedConversations","sendUserMessage","userMessage","_history","query","clearChatHistory","url","URL","searchParams","set","toString","getProducts","params","activeProduct","searchResultViewTypeMap","searchResultViewType","rawState","sectionName","rootState","selectedGroups","mGroupIds","vdbSetting","includes","filter","groupId","queryParamList","assign","group_ids","vdb","page_size","price_mode","vdb_setting","results_view_type","featured","pair","with_available_items","page_number","handleFeedbackActionApi","action","message_id","feedbackUrl","payload","response","exports"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = exports.BetaNotice = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _native = _interopRequireDefault(require("styled-components/native"));
|
|
9
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
11
|
const BetaNotice = ({
|
|
11
12
|
active
|
|
@@ -13,11 +14,20 @@ const BetaNotice = ({
|
|
|
13
14
|
if (!active) return null;
|
|
14
15
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
15
16
|
style: styles.container
|
|
16
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
17
|
-
style: styles.text
|
|
18
|
-
}, "This AI feature is in beta and may make mistakes."));
|
|
17
|
+
}, /*#__PURE__*/_react.default.createElement(TextView, null, "This AI feature is in beta and may make mistakes."));
|
|
19
18
|
};
|
|
20
19
|
exports.BetaNotice = BetaNotice;
|
|
20
|
+
const TextView = _native.default.Text`
|
|
21
|
+
color: ${({
|
|
22
|
+
theme
|
|
23
|
+
}) => theme["core-06"] || "#4F4E57"};
|
|
24
|
+
font-family: "Roboto";
|
|
25
|
+
font-size: 13px;
|
|
26
|
+
font-style: normal;
|
|
27
|
+
font-weight: 400;
|
|
28
|
+
line-height: 18px;
|
|
29
|
+
text-align: center;
|
|
30
|
+
`;
|
|
21
31
|
const styles = _reactNative.StyleSheet.create({
|
|
22
32
|
container: {
|
|
23
33
|
alignSelf: "stretch",
|
|
@@ -26,15 +36,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
26
36
|
backgroundColor: "transparent",
|
|
27
37
|
alignItems: "center",
|
|
28
38
|
justifyContent: "center"
|
|
29
|
-
},
|
|
30
|
-
text: {
|
|
31
|
-
color: "#4F4E57",
|
|
32
|
-
fontFamily: "Roboto",
|
|
33
|
-
fontSize: 13,
|
|
34
|
-
fontStyle: "normal",
|
|
35
|
-
fontWeight: "400",
|
|
36
|
-
lineHeight: 18,
|
|
37
|
-
textAlign: "center"
|
|
38
39
|
}
|
|
39
40
|
});
|
|
40
41
|
var _default = exports.default = BetaNotice;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","BetaNotice","active","createElement","View","style","styles","container","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_native","e","__esModule","default","BetaNotice","active","createElement","View","style","styles","container","TextView","exports","styled","Text","theme","StyleSheet","create","alignSelf","paddingVertical","paddingHorizontal","backgroundColor","alignItems","justifyContent","_default"],"sourceRoot":"../../../src","sources":["components/BetaNotice.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGvC,MAAMG,UAAU,GAAGA,CAAC;EAAEC;AAA6B,CAAC,KAAK;EAC9D,IAAI,CAACA,MAAM,EAAE,OAAO,IAAI;EACxB,oBACET,MAAA,CAAAO,OAAA,CAAAG,aAAA,CAACP,YAAA,CAAAQ,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5Bd,MAAA,CAAAO,OAAA,CAAAG,aAAA,CAACK,QAAQ,QAAC,mDAA2D,CACjE,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAR,UAAA,GAAAA,UAAA;AAEF,MAAMO,QAAQ,GAAGE,eAAM,CAACC,IAA6B;AACrD,WAAW,CAAC;EAAEC;AAA+B,CAAC,KAC1CA,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMN,MAAM,GAAGO,uBAAU,CAACC,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,SAAS,EAAE,SAAS;IACpBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,aAAa;IAC9BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAZ,OAAA,CAAAT,OAAA,GAEYC,UAAU","ignoreList":[]}
|
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.ChatInput = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _native = _interopRequireWildcard(require("styled-components/native"));
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
9
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
12
|
// Use expo-image on native if available, fallback to RN Image
|
|
11
13
|
let ImageComponent = _reactNative.Image;
|
|
@@ -14,7 +16,7 @@ if (_reactNative.Platform.OS !== "web") {
|
|
|
14
16
|
const ExpoImage = require("expo-image").Image;
|
|
15
17
|
if (ExpoImage) ImageComponent = ExpoImage;
|
|
16
18
|
} catch {
|
|
17
|
-
|
|
19
|
+
ImageComponent = _reactNative.Image;
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
const SendIcon = ({
|
|
@@ -22,6 +24,7 @@ const SendIcon = ({
|
|
|
22
24
|
isEmpty
|
|
23
25
|
}) => {
|
|
24
26
|
const isInactive = disabled || isEmpty;
|
|
27
|
+
const theme = (0, _native.useTheme)();
|
|
25
28
|
return /*#__PURE__*/_react.default.createElement(ImageComponent, {
|
|
26
29
|
source: {
|
|
27
30
|
uri: "https://cdn.vdbapp.com/ai/chat-widget/assets/img/send.svg"
|
|
@@ -29,7 +32,7 @@ const SendIcon = ({
|
|
|
29
32
|
resizeMode: "contain",
|
|
30
33
|
style: {
|
|
31
34
|
...styles.buttonIcon,
|
|
32
|
-
tintColor: isInactive ? "#ACACB3" : "#020001",
|
|
35
|
+
tintColor: isInactive ? theme["core-04"] || "#ACACB3" : theme["core-05"] || "#020001",
|
|
33
36
|
cursor: isInactive ? "auto" : "pointer"
|
|
34
37
|
}
|
|
35
38
|
});
|
|
@@ -40,27 +43,26 @@ const ChatInput = ({
|
|
|
40
43
|
onSend,
|
|
41
44
|
disabled,
|
|
42
45
|
placeholder,
|
|
43
|
-
theme,
|
|
44
46
|
inputRef
|
|
45
47
|
}) => {
|
|
46
|
-
const
|
|
47
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
const theme = (0, _native.useTheme)();
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(InputContainer, {
|
|
50
|
+
theme: theme,
|
|
51
|
+
style: [_reactNative.Platform.OS === "web" ? styles.webShadow : styles.nativeShadow]
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement(Input, {
|
|
50
53
|
ref: inputRef
|
|
51
54
|
// @ts-ignore - supported on web via react-native-web
|
|
52
55
|
,
|
|
53
56
|
id: "chat-input",
|
|
54
|
-
style: [styles.
|
|
57
|
+
style: [styles.inputWeb],
|
|
55
58
|
placeholder: placeholder || "What are you looking for?",
|
|
56
|
-
placeholderTextColor: "#999",
|
|
59
|
+
placeholderTextColor: theme["core-06"] || "#999",
|
|
57
60
|
value: value,
|
|
58
61
|
onChangeText: onChangeText,
|
|
59
62
|
onSubmitEditing: onSend,
|
|
60
63
|
editable: !disabled,
|
|
61
64
|
autoFocus: true
|
|
62
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
63
|
-
style: styles.button,
|
|
65
|
+
}), /*#__PURE__*/_react.default.createElement(SendButton, {
|
|
64
66
|
onPress: onSend,
|
|
65
67
|
disabled: disabled
|
|
66
68
|
}, /*#__PURE__*/_react.default.createElement(SendIcon, {
|
|
@@ -69,20 +71,53 @@ const ChatInput = ({
|
|
|
69
71
|
})));
|
|
70
72
|
};
|
|
71
73
|
exports.ChatInput = ChatInput;
|
|
74
|
+
const InputContainer = _native.default.View`
|
|
75
|
+
flex-direction: row;
|
|
76
|
+
padding-horizontal: 12px;
|
|
77
|
+
padding-vertical: 16px;
|
|
78
|
+
justify-content: space-between;
|
|
79
|
+
align-items: center;
|
|
80
|
+
align-self: stretch;
|
|
81
|
+
border-radius: 8px;
|
|
82
|
+
background-color: ${({
|
|
83
|
+
theme
|
|
84
|
+
}) => theme["core-01"] || "#FFFFFF"};
|
|
85
|
+
border-color: ${({
|
|
86
|
+
theme
|
|
87
|
+
}) => theme["core-04"] || "#ACACB3"};
|
|
88
|
+
border-width: 1;
|
|
89
|
+
height: 56px;
|
|
90
|
+
`;
|
|
91
|
+
const Input = _native.default.TextInput`
|
|
92
|
+
flex: 1;
|
|
93
|
+
color: ${({
|
|
94
|
+
theme
|
|
95
|
+
}) => theme["core-06"] || "#4F4E57"};
|
|
96
|
+
font-family: "Roboto";
|
|
97
|
+
font-size: 14px;
|
|
98
|
+
font-style: normal;
|
|
99
|
+
font-weight: 400;
|
|
100
|
+
line-height: 20px;
|
|
101
|
+
min-height: 20px;
|
|
102
|
+
max-height: 120px;
|
|
103
|
+
padding-horizontal: 0;
|
|
104
|
+
padding-vertical: 0;
|
|
105
|
+
background-color: transparent;
|
|
106
|
+
border-width: 0;
|
|
107
|
+
`;
|
|
108
|
+
const SendButton = _native.default.TouchableOpacity`
|
|
109
|
+
margin-left: 0;
|
|
110
|
+
padding: 0;
|
|
111
|
+
justify-content: center;
|
|
112
|
+
align-items: center;
|
|
113
|
+
height: 24;
|
|
114
|
+
aspect-ratio: 1;
|
|
115
|
+
border-radius: 0px;
|
|
116
|
+
background-color: ${({
|
|
117
|
+
theme
|
|
118
|
+
}) => theme["core-01"] || "#FFFFFF"};
|
|
119
|
+
`;
|
|
72
120
|
const styles = _reactNative.StyleSheet.create({
|
|
73
|
-
inputContainer: {
|
|
74
|
-
flexDirection: "row",
|
|
75
|
-
paddingHorizontal: 12,
|
|
76
|
-
paddingVertical: 16,
|
|
77
|
-
justifyContent: "space-between",
|
|
78
|
-
alignItems: "center",
|
|
79
|
-
alignSelf: "stretch",
|
|
80
|
-
borderRadius: 8,
|
|
81
|
-
backgroundColor: "#FFF",
|
|
82
|
-
borderColor: "#ACACB3",
|
|
83
|
-
borderWidth: 1,
|
|
84
|
-
height: 56
|
|
85
|
-
},
|
|
86
121
|
webShadow: {
|
|
87
122
|
...(_reactNative.Platform.OS === "web" ? {
|
|
88
123
|
boxShadow: "2px 8px 24px -6px rgba(55, 54, 64, 0.26)"
|
|
@@ -98,21 +133,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
98
133
|
shadowRadius: 12,
|
|
99
134
|
elevation: 3
|
|
100
135
|
},
|
|
101
|
-
input: {
|
|
102
|
-
flex: 1,
|
|
103
|
-
color: "#4F4E57",
|
|
104
|
-
fontFamily: "Roboto",
|
|
105
|
-
fontSize: 14,
|
|
106
|
-
fontStyle: "normal",
|
|
107
|
-
fontWeight: "400",
|
|
108
|
-
lineHeight: 20,
|
|
109
|
-
minHeight: 20,
|
|
110
|
-
maxHeight: 120,
|
|
111
|
-
paddingHorizontal: 0,
|
|
112
|
-
paddingVertical: 0,
|
|
113
|
-
backgroundColor: "transparent",
|
|
114
|
-
borderWidth: 0
|
|
115
|
-
},
|
|
116
136
|
inputWeb: {
|
|
117
137
|
...(_reactNative.Platform.OS === "web" ? {
|
|
118
138
|
outlineStyle: "none",
|
|
@@ -120,16 +140,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
120
140
|
boxShadow: "none"
|
|
121
141
|
} : {})
|
|
122
142
|
},
|
|
123
|
-
button: {
|
|
124
|
-
marginLeft: 0,
|
|
125
|
-
padding: 0,
|
|
126
|
-
justifyContent: "center",
|
|
127
|
-
alignItems: "center",
|
|
128
|
-
height: 24,
|
|
129
|
-
aspectRatio: 1,
|
|
130
|
-
borderRadius: 0,
|
|
131
|
-
backgroundColor: "#FFFFFF"
|
|
132
|
-
},
|
|
133
143
|
buttonIcon: {
|
|
134
144
|
height: 24,
|
|
135
145
|
width: 24
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_native","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ImageComponent","Image","Platform","OS","ExpoImage","SendIcon","disabled","isEmpty","isInactive","theme","useTheme","createElement","source","uri","resizeMode","style","styles","buttonIcon","tintColor","cursor","ChatInput","value","onChangeText","onSend","placeholder","inputRef","InputContainer","webShadow","nativeShadow","Input","ref","id","inputWeb","placeholderTextColor","onSubmitEditing","editable","autoFocus","SendButton","onPress","trim","exports","styled","View","TextInput","TouchableOpacity","StyleSheet","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","outlineStyle","outlineWidth","sendIconText","fontSize","fontWeight","textAlign"],"sourceRoot":"../../../src","sources":["components/ChatInput.tsx"],"mappings":"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","ignoreList":[]}
|