beem-component 2.0.18 → 2.0.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.
|
@@ -12,6 +12,8 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
12
12
|
var _reactAvatar = _interopRequireDefault(require("react-avatar"));
|
|
13
13
|
var _List = _interopRequireDefault(require("@mui/icons-material/List"));
|
|
14
14
|
var _ShoppingCartOutlined = _interopRequireDefault(require("@mui/icons-material/ShoppingCartOutlined"));
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _reactPdf = require("react-pdf");
|
|
15
17
|
var _avatars = _interopRequireDefault(require("../../Avatars/avatars"));
|
|
16
18
|
var _iconStyles = require("../../iconStyles");
|
|
17
19
|
var _sessionDetails = require("./sessionDetails");
|
|
@@ -25,6 +27,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
25
27
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
26
28
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
27
29
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
30
|
+
_reactPdf.pdfjs.GlobalWorkerOptions.workerSrc = "//cdnjs.cloudflare.com/ajax/libs/pdf.js/".concat(_reactPdf.pdfjs.version, "/pdf.worker.js");
|
|
28
31
|
var BmChat = _styledComponents.default.div.withConfig({
|
|
29
32
|
displayName: "chatBody__BmChat"
|
|
30
33
|
})(["display:flex;flex-direction:column;height:100%;", ""], '' /* border: 0.071rem solid ${BmGrey400}; */);
|
|
@@ -380,11 +383,13 @@ var ListReplyRender = function ListReplyRender(_ref28) {
|
|
|
380
383
|
var title = _ref28.title,
|
|
381
384
|
body = _ref28.body,
|
|
382
385
|
globalButtons = _ref28.globalButtons,
|
|
386
|
+
isInteractive = _ref28.isInteractive,
|
|
383
387
|
type = _ref28.type,
|
|
384
388
|
state = _ref28.state;
|
|
385
389
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Messages, {
|
|
386
390
|
type: type,
|
|
387
|
-
state: state
|
|
391
|
+
state: state,
|
|
392
|
+
isInteractive: isInteractive
|
|
388
393
|
}, /*#__PURE__*/_react.default.createElement("strong", null, title), /*#__PURE__*/_react.default.createElement("p", null, body), /*#__PURE__*/_react.default.createElement(IntButton, {
|
|
389
394
|
state: state
|
|
390
395
|
}, /*#__PURE__*/_react.default.createElement(_List.default, null), (_globalButtons$ = globalButtons[0]) === null || _globalButtons$ === void 0 ? void 0 : _globalButtons$.title)));
|
|
@@ -424,6 +429,7 @@ BmChat.Details = function (_ref30) {
|
|
|
424
429
|
isInteractive = _ref30.isInteractive,
|
|
425
430
|
type = _ref30.type,
|
|
426
431
|
rest = _objectWithoutProperties(_ref30, _excluded3);
|
|
432
|
+
console.log(src);
|
|
427
433
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Details, _extends({
|
|
428
434
|
state: state
|
|
429
435
|
}, rest), /*#__PURE__*/_react.default.createElement(MessageState, null, state === 'inbound' && session && handleState({
|
|
@@ -432,7 +438,7 @@ BmChat.Details = function (_ref30) {
|
|
|
432
438
|
agentName: agentName
|
|
433
439
|
})), /*#__PURE__*/_react.default.createElement(MessageDetails, {
|
|
434
440
|
feedPostComments: feedPostComments
|
|
435
|
-
}, src && /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
|
|
441
|
+
}, src && !(0, _lodash.isUndefined)(src) && /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
|
|
436
442
|
state: state,
|
|
437
443
|
src: src,
|
|
438
444
|
fileName: fileName
|
|
@@ -444,7 +450,9 @@ BmChat.Details = function (_ref30) {
|
|
|
444
450
|
}, metadata, {
|
|
445
451
|
type: type,
|
|
446
452
|
state: state
|
|
447
|
-
})) : metadata.type === 'list' ? /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({
|
|
453
|
+
})) : metadata.type === 'list' ? /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({
|
|
454
|
+
isInteractive: true
|
|
455
|
+
}, metadata, {
|
|
448
456
|
type: type,
|
|
449
457
|
state: state
|
|
450
458
|
})) : metadata.type === 'product_details' ? /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({
|
|
@@ -472,6 +480,14 @@ BmChat.Details = function (_ref30) {
|
|
|
472
480
|
})), children.type === 'order' && /*#__PURE__*/_react.default.createElement(OrderRender, _extends({}, children, {
|
|
473
481
|
type: type,
|
|
474
482
|
state: state
|
|
483
|
+
}))) : type === 'pdf' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactPdf.Document, {
|
|
484
|
+
file: {
|
|
485
|
+
url: "".concat(file)
|
|
486
|
+
}
|
|
487
|
+
}, /*#__PURE__*/_react.default.createElement(_reactPdf.Page, {
|
|
488
|
+
pageNumber: 1,
|
|
489
|
+
height: "250",
|
|
490
|
+
width: "200"
|
|
475
491
|
}))) : /*#__PURE__*/_react.default.createElement(Messages, {
|
|
476
492
|
state: state
|
|
477
493
|
}, children))), file && /*#__PURE__*/_react.default.createElement(BmFileAttachment, _extends({
|
package/package.json
CHANGED
package/src/App.js
CHANGED
|
@@ -5,6 +5,7 @@ import React from 'react';
|
|
|
5
5
|
// import LocalOfferOutlinedIcon from '@mui/icons-material/LocalOfferOutlined';
|
|
6
6
|
|
|
7
7
|
// import { Tooltip } from '@mui/material';
|
|
8
|
+
|
|
8
9
|
import {
|
|
9
10
|
BmChat,
|
|
10
11
|
GlobalStyle,
|
|
@@ -109,6 +110,48 @@ const Chat = () => {
|
|
|
109
110
|
// '{"dotgoV2":{"type":"quick_reply","content":{"type":"text","header":"HELOOOOOOOOOO", "url": "https://i.imgur.com/BZylAb1.jpeg","text":"We value your opinion! Would you be willing to take a short survey to help us improve?","caption":""},"options":[{"type":"text","title":"Give Feedback","postbackText":"bm-feedback|0|181661e8-9209-4665-ad19-680981136ae8"},{"type":"text","title":"No Thank you","postbackText":"dev-defined-postback2"}]}}',
|
|
110
111
|
},
|
|
111
112
|
};
|
|
113
|
+
|
|
114
|
+
const messages = [
|
|
115
|
+
{
|
|
116
|
+
id: 78741,
|
|
117
|
+
message:
|
|
118
|
+
'https://bm-chatbot-images.s3.eu-west-1.amazonaws.com/1b5a7bd9-a989-4963-8949-88aa748a2469.doc',
|
|
119
|
+
time: '2025-04-03T05:55:39.000Z',
|
|
120
|
+
direction: 'inbound',
|
|
121
|
+
message_type: 'application/msword',
|
|
122
|
+
messageId: null,
|
|
123
|
+
is_live_agent: 0,
|
|
124
|
+
is_deleted: 0,
|
|
125
|
+
is_comment: 0,
|
|
126
|
+
channel: 'whatsapp',
|
|
127
|
+
sent_to_vendor: 1,
|
|
128
|
+
replyMessageId: null,
|
|
129
|
+
agent_name: null,
|
|
130
|
+
df_agent_name: null,
|
|
131
|
+
resolve_time: null,
|
|
132
|
+
metadata: null,
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
{
|
|
136
|
+
id: 78739,
|
|
137
|
+
message:
|
|
138
|
+
'https://bm-chatbot-images.s3.eu-west-1.amazonaws.com/5f0c7de7-c42b-4a94-b1cd-9fe3554da93d.pdf',
|
|
139
|
+
time: '2025-04-03T05:50:02.000Z',
|
|
140
|
+
direction: 'inbound',
|
|
141
|
+
message_type: 'application/pdf',
|
|
142
|
+
messageId: null,
|
|
143
|
+
is_live_agent: 0,
|
|
144
|
+
is_deleted: 0,
|
|
145
|
+
is_comment: 0,
|
|
146
|
+
channel: 'whatsapp',
|
|
147
|
+
sent_to_vendor: 1,
|
|
148
|
+
replyMessageId: null,
|
|
149
|
+
agent_name: null,
|
|
150
|
+
df_agent_name: null,
|
|
151
|
+
resolve_time: null,
|
|
152
|
+
metadata: null,
|
|
153
|
+
},
|
|
154
|
+
];
|
|
112
155
|
// const msg = [
|
|
113
156
|
// {
|
|
114
157
|
// message: 'Me as user replying to the beem message',
|
|
@@ -1106,6 +1149,71 @@ const Chat = () => {
|
|
|
1106
1149
|
))}
|
|
1107
1150
|
</BmChat.Body>
|
|
1108
1151
|
</BmChat> */}
|
|
1152
|
+
|
|
1153
|
+
<BmChat>
|
|
1154
|
+
<BmChat.Body>
|
|
1155
|
+
{messages.map((ms) => {
|
|
1156
|
+
console.log(ms);
|
|
1157
|
+
return (
|
|
1158
|
+
<BmChat.Details
|
|
1159
|
+
key={ms.id}
|
|
1160
|
+
state={ms.direction}
|
|
1161
|
+
session="bot"
|
|
1162
|
+
sessionTimeline={{ message: <p>12:00pm</p> }}
|
|
1163
|
+
displayTime={<p>12:00pm</p>}
|
|
1164
|
+
status="sent"
|
|
1165
|
+
file={ms.message}
|
|
1166
|
+
link={ms.message}
|
|
1167
|
+
fileName={<p>File</p>}
|
|
1168
|
+
type="pdf"
|
|
1169
|
+
style={{ margin: '-0.6% 0 0 0' }}
|
|
1170
|
+
>
|
|
1171
|
+
<p>
|
|
1172
|
+
<a href={ms.message}> </a>
|
|
1173
|
+
</p>
|
|
1174
|
+
</BmChat.Details>
|
|
1175
|
+
);
|
|
1176
|
+
})}
|
|
1177
|
+
</BmChat.Body>
|
|
1178
|
+
</BmChat>
|
|
1179
|
+
<BmChat>
|
|
1180
|
+
<BmChat.Body>
|
|
1181
|
+
{messages.map((ms) => {
|
|
1182
|
+
console.log(ms);
|
|
1183
|
+
return (
|
|
1184
|
+
<BmChat.Details
|
|
1185
|
+
key={ms.id}
|
|
1186
|
+
state={ms.direction}
|
|
1187
|
+
session="bot"
|
|
1188
|
+
sessionTimeline={{ message: <p>12:00pm</p> }}
|
|
1189
|
+
displayTime={<p>12:00pm</p>}
|
|
1190
|
+
status="sent"
|
|
1191
|
+
file={ms.message}
|
|
1192
|
+
link={ms.message}
|
|
1193
|
+
fileName={<p>File</p>}
|
|
1194
|
+
style={{ margin: '-0.6% 0 0 0' }}
|
|
1195
|
+
// state="inbound"
|
|
1196
|
+
// session="live"
|
|
1197
|
+
// displayTime={<p>10:00am</p>}
|
|
1198
|
+
// status="failed"
|
|
1199
|
+
// fileName={<p>file.csv</p>}
|
|
1200
|
+
// file={image}
|
|
1201
|
+
>
|
|
1202
|
+
{' '}
|
|
1203
|
+
<div>
|
|
1204
|
+
{/* <FileViewer
|
|
1205
|
+
fileType="docx"
|
|
1206
|
+
filePath={ms.message}
|
|
1207
|
+
onError={onError}
|
|
1208
|
+
// errorComponent={CustomErrorComponent}
|
|
1209
|
+
// onError={this.onError}
|
|
1210
|
+
/> */}
|
|
1211
|
+
</div>
|
|
1212
|
+
</BmChat.Details>
|
|
1213
|
+
);
|
|
1214
|
+
})}
|
|
1215
|
+
</BmChat.Body>
|
|
1216
|
+
</BmChat>
|
|
1109
1217
|
</>
|
|
1110
1218
|
);
|
|
1111
1219
|
};
|
|
@@ -8,6 +8,8 @@ import styled from 'styled-components';
|
|
|
8
8
|
import Avatar from 'react-avatar';
|
|
9
9
|
import ListIcon from '@mui/icons-material/List';
|
|
10
10
|
import ShoppingCartOutlinedIcon from '@mui/icons-material/ShoppingCartOutlined';
|
|
11
|
+
import { isUndefined } from 'lodash';
|
|
12
|
+
import { Document, pdfjs, Page } from 'react-pdf';
|
|
11
13
|
import BmAvatar from '../../Avatars/avatars';
|
|
12
14
|
import { BmIcons } from '../../iconStyles';
|
|
13
15
|
import { SessionDetails } from './sessionDetails';
|
|
@@ -24,6 +26,8 @@ import {
|
|
|
24
26
|
} from '../../colors';
|
|
25
27
|
import { BmFeedPostComments } from './FeedPostComments';
|
|
26
28
|
|
|
29
|
+
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;
|
|
30
|
+
|
|
27
31
|
const BmChat = styled.div`
|
|
28
32
|
display: flex;
|
|
29
33
|
flex-direction: column;
|
|
@@ -445,10 +449,17 @@ const ProductDetailRender = ({ type, state, header, body, isInteractive }) => {
|
|
|
445
449
|
</>
|
|
446
450
|
);
|
|
447
451
|
};
|
|
448
|
-
const ListReplyRender = ({
|
|
452
|
+
const ListReplyRender = ({
|
|
453
|
+
title,
|
|
454
|
+
body,
|
|
455
|
+
globalButtons,
|
|
456
|
+
isInteractive,
|
|
457
|
+
type,
|
|
458
|
+
state,
|
|
459
|
+
}) => {
|
|
449
460
|
return (
|
|
450
461
|
<>
|
|
451
|
-
<Messages type={type} state={state}>
|
|
462
|
+
<Messages type={type} state={state} isInteractive={isInteractive}>
|
|
452
463
|
<strong>{title}</strong>
|
|
453
464
|
<p>{body}</p>
|
|
454
465
|
<IntButton state={state}>
|
|
@@ -498,6 +509,7 @@ BmChat.Details = ({
|
|
|
498
509
|
type,
|
|
499
510
|
...rest
|
|
500
511
|
}) => {
|
|
512
|
+
console.log(src);
|
|
501
513
|
return (
|
|
502
514
|
<>
|
|
503
515
|
<Details state={state} {...rest}>
|
|
@@ -509,7 +521,7 @@ BmChat.Details = ({
|
|
|
509
521
|
</MessageState>
|
|
510
522
|
<MessageDetails feedPostComments={feedPostComments}>
|
|
511
523
|
{/* For Images */}
|
|
512
|
-
{src && (
|
|
524
|
+
{src && !isUndefined(src) && (
|
|
513
525
|
<BmImageChat
|
|
514
526
|
state={state}
|
|
515
527
|
src={src}
|
|
@@ -531,7 +543,12 @@ BmChat.Details = ({
|
|
|
531
543
|
state={state}
|
|
532
544
|
/>
|
|
533
545
|
) : metadata.type === 'list' ? (
|
|
534
|
-
<ListReplyRender
|
|
546
|
+
<ListReplyRender
|
|
547
|
+
isInteractive
|
|
548
|
+
{...metadata}
|
|
549
|
+
type={type}
|
|
550
|
+
state={state}
|
|
551
|
+
/>
|
|
535
552
|
) : metadata.type === 'product_details' ? (
|
|
536
553
|
<ProductDetailRender
|
|
537
554
|
isInteractive
|
|
@@ -577,6 +594,16 @@ BmChat.Details = ({
|
|
|
577
594
|
<OrderRender {...children} type={type} state={state} />
|
|
578
595
|
)}
|
|
579
596
|
</>
|
|
597
|
+
) : type === 'pdf' ? (
|
|
598
|
+
<>
|
|
599
|
+
<Document
|
|
600
|
+
file={{
|
|
601
|
+
url: `${file}`,
|
|
602
|
+
}}
|
|
603
|
+
>
|
|
604
|
+
<Page pageNumber={1} height="250" width="200" />
|
|
605
|
+
</Document>
|
|
606
|
+
</>
|
|
580
607
|
) : (
|
|
581
608
|
<Messages state={state}>{children}</Messages>
|
|
582
609
|
)}
|