beem-component 2.1.29 → 2.1.31

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.
Files changed (76) hide show
  1. package/Dockerfile +1 -1
  2. package/Jenkinsfile +20 -5
  3. package/dist/assets/voiceCallIcon.svg +5 -0
  4. package/dist/components/Alert/Alert.js +83 -0
  5. package/dist/components/Alert/Alert.stories.js +66 -0
  6. package/dist/components/BmCustomCardTitle/CustomCardTitle.js +181 -0
  7. package/dist/components/BmCustomCardTitle/CustomCardTitle.stories.js +92 -0
  8. package/dist/components/BmSelector/BmSelector.js +15 -2
  9. package/dist/components/BmSelector/BmSelector.stories.js +14 -1
  10. package/dist/components/BmTabv2/BmTabv2.js +51 -0
  11. package/dist/components/BmTabv2/BmTabv2.stories.js +73 -0
  12. package/dist/components/Card_v2/Card.js +38 -12
  13. package/dist/components/ChatComponents/ChatBody/chatBody.js +402 -104
  14. package/dist/components/DepartmentCard/DepartmentCard.js +99 -0
  15. package/dist/components/DepartmentCard/DepartmentCard.stories.js +53 -0
  16. package/dist/components/HorizontalCard/HorizontalCard.js +142 -0
  17. package/dist/components/HorizontalCard/HorizontalCard.stories.js +40 -0
  18. package/dist/components/InfoPanel/InfoPanel.js +54 -17
  19. package/dist/components/InfoPanel/InfoPanel.stories.js +56 -4
  20. package/dist/components/Modals/modal.js +26 -10
  21. package/dist/components/Modals/modals.stories.js +13 -6
  22. package/dist/components/ProfileIcon/ProfileIcon.js +5 -0
  23. package/dist/components/ResourceCard/ResourceCard.js +132 -0
  24. package/dist/components/ResourceCard/ResourceCard.stories.js +94 -0
  25. package/dist/components/globalStyles.js +1 -1
  26. package/dist/components/index.js +42 -0
  27. package/dist/components/text.js +11 -10
  28. package/dist/components/typography.js +3 -2
  29. package/package.json +2 -1
  30. package/public/index.html +1 -0
  31. package/src/App.js +804 -1412
  32. package/src/fonts/Inter-Black.woff2 +0 -0
  33. package/src/fonts/Inter-Bold.woff2 +0 -0
  34. package/src/fonts/Inter-ExtraBold.woff2 +0 -0
  35. package/src/fonts/Inter-ExtraLight.woff2 +0 -0
  36. package/src/fonts/Inter-Light.woff2 +0 -0
  37. package/src/fonts/Inter-Medium.woff2 +0 -0
  38. package/src/fonts/Inter-Regular.woff2 +0 -0
  39. package/src/fonts/Inter-SemiBold.woff2 +0 -0
  40. package/src/fonts/Inter-Thin.woff2 +0 -0
  41. package/src/fonts/Inter-VariableFont_opsz,wght.ttf +0 -0
  42. package/src/fonts/InterDisplay-Black.woff2 +0 -0
  43. package/src/fonts/InterDisplay-Bold.woff2 +0 -0
  44. package/src/fonts/InterDisplay-ExtraBold.woff2 +0 -0
  45. package/src/fonts/InterDisplay-ExtraLight.woff2 +0 -0
  46. package/src/fonts/InterDisplay-Light.woff2 +0 -0
  47. package/src/fonts/InterDisplay-Medium.woff2 +0 -0
  48. package/src/fonts/InterDisplay-SemiBold.woff2 +0 -0
  49. package/src/fonts/InterDisplay-Thin.woff2 +0 -0
  50. package/src/fonts.scss +4 -1
  51. package/src/lib/assets/voiceCallIcon.svg +5 -0
  52. package/src/lib/components/Alert/Alert.js +111 -0
  53. package/src/lib/components/Alert/Alert.stories.jsx +66 -0
  54. package/src/lib/components/BmCustomCardTitle/CustomCardTitle.js +162 -0
  55. package/src/lib/components/BmCustomCardTitle/CustomCardTitle.stories.jsx +92 -0
  56. package/src/lib/components/BmSelector/BmSelector.js +14 -1
  57. package/src/lib/components/BmSelector/BmSelector.stories.jsx +10 -0
  58. package/src/lib/components/BmTabv2/BmTabv2.js +109 -0
  59. package/src/lib/components/BmTabv2/BmTabv2.stories.jsx +51 -0
  60. package/src/lib/components/Card_v2/Card.js +46 -13
  61. package/src/lib/components/ChatComponents/ChatBody/chatBody.js +551 -57
  62. package/src/lib/components/DepartmentCard/DepartmentCard.js +130 -0
  63. package/src/lib/components/DepartmentCard/DepartmentCard.stories.jsx +38 -0
  64. package/src/lib/components/HorizontalCard/HorizontalCard.js +276 -0
  65. package/src/lib/components/HorizontalCard/HorizontalCard.stories.jsx +33 -0
  66. package/src/lib/components/InfoPanel/InfoPanel.js +35 -11
  67. package/src/lib/components/InfoPanel/InfoPanel.stories.jsx +42 -2
  68. package/src/lib/components/Modals/modal.js +17 -4
  69. package/src/lib/components/Modals/modals.stories.js +10 -6
  70. package/src/lib/components/ProfileIcon/ProfileIcon.js +4 -0
  71. package/src/lib/components/ResourceCard/ResourceCard.js +213 -0
  72. package/src/lib/components/ResourceCard/ResourceCard.stories.jsx +68 -0
  73. package/src/lib/components/globalStyles.js +2 -1
  74. package/src/lib/components/index.js +13 -0
  75. package/src/lib/components/text.js +17 -11
  76. package/src/lib/components/typography.js +1 -0
@@ -7,6 +7,9 @@ exports.default = exports.RepliedTextWrapper = exports.MessageState = exports.Bm
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _icons = require("@material-ui/icons");
9
9
  var _FilePresent = _interopRequireDefault(require("@mui/icons-material/FilePresent"));
10
+ var _PhoneCallbackOutlined = _interopRequireDefault(require("@mui/icons-material/PhoneCallbackOutlined"));
11
+ var _PhoneOutlined = _interopRequireDefault(require("@mui/icons-material/PhoneOutlined"));
12
+ var _PhoneMissed = _interopRequireDefault(require("@mui/icons-material/PhoneMissed"));
10
13
  var _Download = _interopRequireDefault(require("@mui/icons-material/Download"));
11
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
12
15
  var _reactAvatar = _interopRequireDefault(require("react-avatar"));
@@ -23,6 +26,7 @@ var _FeedPostComments = require("./FeedPostComments");
23
26
  const _excluded = ["state", "file", "src", "fileName", "onDownload", "extension", "link"],
24
27
  _excluded2 = ["state", "src", "extensions", "fileName"],
25
28
  _excluded3 = ["children", "state", "displayTime", "status", "session", "src", "file", "fileName", "sessionDetails", "sessionTimeline", "feedPostComments", "agentName", "metadata", "isInteractive", "type", "extension"];
29
+ /* eslint-disable react/no-array-index-key */
26
30
  /* eslint-disable no-nested-ternary */
27
31
  /* eslint-disable react/display-name */
28
32
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -31,6 +35,42 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
31
35
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
32
36
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
33
37
  _reactPdf.pdfjs.GlobalWorkerOptions.workerSrc = "//cdnjs.cloudflare.com/ajax/libs/pdf.js/".concat(_reactPdf.pdfjs.version, "/pdf.worker.js");
38
+ const formatDuration = totalSeconds => {
39
+ const hours = Math.floor(totalSeconds / 3600);
40
+ const minutes = Math.floor(totalSeconds % 3600 / 60);
41
+ const seconds = totalSeconds % 60;
42
+ if (hours > 0) {
43
+ return "".concat(String(hours).padStart(2, '0'), ":") + "".concat(String(minutes).padStart(2, '0'), ":") + "".concat(String(seconds).padStart(2, '0'));
44
+ }
45
+ return "".concat(String(minutes).padStart(2, '0'), ":") + "".concat(String(seconds).padStart(2, '0'));
46
+ };
47
+ const formatCallDuration = totalSeconds => {
48
+ // eslint-disable-next-line no-param-reassign
49
+ if (!totalSeconds || totalSeconds < 0) totalSeconds = 0;
50
+ const hours = Math.floor(totalSeconds / 3600);
51
+ const minutes = Math.floor(totalSeconds % 3600 / 60);
52
+ const seconds = totalSeconds % 60;
53
+ let result = '';
54
+ if (hours > 0) result += "".concat(hours, " hr ");
55
+ result += "".concat(minutes, " min ").concat(seconds, " sec");
56
+ return result.trim();
57
+ };
58
+ const useCallDuration = (running, callStartedAt) => {
59
+ const [seconds, setSeconds] = (0, _react.useState)(0);
60
+ (0, _react.useEffect)(() => {
61
+ if (!running || !callStartedAt) return;
62
+ const startTime = new Date(callStartedAt).getTime();
63
+ const updateSeconds = () => {
64
+ const now = Date.now();
65
+ const elapsed = Math.max(Math.floor((now - startTime) / 1000), 0);
66
+ setSeconds(elapsed);
67
+ };
68
+ updateSeconds();
69
+ const intervalId = setInterval(updateSeconds, 1000);
70
+ return () => clearInterval(intervalId);
71
+ }, [running, callStartedAt]);
72
+ return formatDuration(seconds);
73
+ };
34
74
  const BmChat = _styledComponents.default.div.withConfig({
35
75
  displayName: "chatBody__BmChat"
36
76
  })(["display:flex;flex-direction:column;height:100%;", ""], '' /* border: 0.071rem solid ${BmGrey400}; */);
@@ -39,7 +79,7 @@ BmChat.Body = _styledComponents.default.div.withConfig({
39
79
  })(["display:flex;flex-direction:column-reverse;padding:0rem 1rem;flex-grow:1;overflow:auto;height:100%;"]);
40
80
  const Details = _styledComponents.default.div.withConfig({
41
81
  displayName: "chatBody__Details"
42
- })(["display:flex;justify-content:", ";> *:not(:last-child){margin-right:1rem;margin-bottom:0.5rem;}overflow-wrap:break-word !important;word-wrap:break-word !important;margin:0rem;import{extension}from 'mime-types';flex-grow:1;", ""], _ref => {
82
+ })(["display:flex;justify-content:", ";> *:not(:last-child){margin-right:1rem;margin-bottom:0.5rem;}overflow-wrap:break-word !important;word-wrap:break-word !important;margin:0rem;flex-grow:1;", ""], _ref => {
43
83
  let {
44
84
  state
45
85
  } = _ref;
@@ -187,23 +227,71 @@ const CartContent = _styledComponents.default.div.withConfig({
187
227
  }
188
228
  return "".concat(_colors.BmPrimaryWhite);
189
229
  });
230
+ const CallContainer = _styledComponents.default.div.withConfig({
231
+ displayName: "chatBody__CallContainer"
232
+ })(["display:flex;flex-direction:row;gap:0.6rem;align-items:center;justify-content:center;color:", ";"], _ref11 => {
233
+ let {
234
+ state
235
+ } = _ref11;
236
+ if (state) {
237
+ if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
238
+ if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
239
+ }
240
+ return "".concat(_colors.BmPrimaryWhite);
241
+ });
242
+ const CallInfoContainer = _styledComponents.default.div.withConfig({
243
+ displayName: "chatBody__CallInfoContainer"
244
+ })(["display:flex;padding-right:1.5rem;flex-direction:column;gap:0.3rem;align-items:center;justify-content:center;color:", ";& >:last-child{color:", ";}"], _ref12 => {
245
+ let {
246
+ state
247
+ } = _ref12;
248
+ if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack, " !important");
249
+ if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite, " !important");
250
+ return "".concat(_colors.BmPrimaryWhite, " !important");
251
+ }, _ref13 => {
252
+ let {
253
+ state
254
+ } = _ref13;
255
+ return state === 'inbound' ? '#A6A29F' : '#cde3ddff';
256
+ });
257
+ const IconContainer = _styledComponents.default.div.withConfig({
258
+ displayName: "chatBody__IconContainer"
259
+ })(["display:flex;align-items:center;justify-content:center;width:max-content;height:max-content;padding:0.8rem;border:", ";border-radius:50%;background-color:", ";"], _ref14 => {
260
+ let {
261
+ state
262
+ } = _ref14;
263
+ if (state) {
264
+ if (state === 'inbound') return "1px solid #F3F4F6";
265
+ if (state === 'outbound') return "1px solid #5CC1C8";
266
+ }
267
+ return "".concat(_colors.BmPrimaryWhite);
268
+ }, _ref15 => {
269
+ let {
270
+ state
271
+ } = _ref15;
272
+ if (state) {
273
+ if (state === 'inbound') return "#F3F4F6";
274
+ if (state === 'outbound') return "#5CC1C8";
275
+ }
276
+ return "".concat(_colors.BmPrimaryWhite);
277
+ });
190
278
  const MessagesSubDetails = _styledComponents.default.div.withConfig({
191
279
  displayName: "chatBody__MessagesSubDetails"
192
- })(["display:flex;flex-direction:row;align-items:center;> *:not(:last-child){margin-right:0.5rem;}margin-left:", ";margin-top:0.5rem;"], _ref11 => {
280
+ })(["display:flex;flex-direction:row;align-items:center;> *:not(:last-child){margin-right:0.5rem;}margin-left:", ";margin-top:0.5rem;"], _ref16 => {
193
281
  let {
194
282
  state
195
- } = _ref11;
283
+ } = _ref16;
196
284
  if (state) {
197
285
  if (state === 'inbound') return '0px';
198
286
  if (state === 'outbound') return 'auto';
199
287
  }
200
288
  return "".concat(_colors.BmPrimaryWhite);
201
289
  });
202
- const handleState = _ref12 => {
290
+ const handleState = _ref17 => {
203
291
  let {
204
292
  session,
205
293
  agentName
206
- } = _ref12;
294
+ } = _ref17;
207
295
  if (session === 'bot') {
208
296
  return /*#__PURE__*/_react.default.createElement(_avatars.default, {
209
297
  size: "small",
@@ -237,29 +325,29 @@ const FileNameContainer = _styledComponents.default.div.withConfig({
237
325
  // Start of File Attachment
238
326
  const FileAttachmentWrapper = _styledComponents.default.div.withConfig({
239
327
  displayName: "chatBody__FileAttachmentWrapper"
240
- })(["display:flex;cursor:pointer;flex-direction:row;align-items:center;padding:1rem;background:", ";color:", ";border-radius:", ";border:", ";> *{&:last-child{margin-left:auto;}:not(:last-child){margin-right:0.5rem;}}&&& > *{align-items:center;color:", ";}", " ", ""], _ref13 => {
328
+ })(["display:flex;cursor:pointer;flex-direction:row;align-items:center;padding:1rem;background:", ";color:", ";border-radius:", ";border:", ";> *{&:last-child{margin-left:auto;}:not(:last-child){margin-right:0.5rem;}}&&& > *{align-items:center;color:", ";}", " ", ""], _ref18 => {
241
329
  let {
242
330
  state
243
- } = _ref13;
331
+ } = _ref18;
244
332
  if (state) {
245
333
  if (state === 'inbound') return "#F9FAFB";
246
334
  if (state === 'outbound') return "".concat(_colors.BmPrimaryBlue);
247
335
  }
248
336
  return "".concat(_colors.BmPrimaryWhite);
249
- }, _ref14 => {
337
+ }, _ref19 => {
250
338
  let {
251
339
  state
252
- } = _ref14;
340
+ } = _ref19;
253
341
  if (state) {
254
342
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
255
343
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
256
344
  }
257
345
  return "".concat(_colors.BmPrimaryWhite);
258
- }, _ref15 => {
346
+ }, _ref20 => {
259
347
  let {
260
348
  state,
261
349
  src
262
- } = _ref15;
350
+ } = _ref20;
263
351
  if (state) {
264
352
  if (state === 'inbound') {
265
353
  if (src) {
@@ -275,25 +363,25 @@ const FileAttachmentWrapper = _styledComponents.default.div.withConfig({
275
363
  }
276
364
  }
277
365
  return "".concat(_colors.BmPrimaryWhite);
278
- }, _ref16 => {
366
+ }, _ref21 => {
279
367
  let {
280
368
  state
281
- } = _ref16;
369
+ } = _ref21;
282
370
  if (state) {
283
371
  if (state === 'inbound') return "0.071rem solid ".concat(_colors.BmGrey200, ";");
284
372
  }
285
373
  return '';
286
- }, _ref17 => {
374
+ }, _ref22 => {
287
375
  let {
288
376
  state
289
- } = _ref17;
377
+ } = _ref22;
290
378
  if (state) {
291
379
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlue);
292
380
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
293
381
  }
294
382
  return "".concat(_colors.BmPrimaryWhite);
295
383
  }, '' /* max-width: 100%; */, '' /* max-height: 100%; */);
296
- const BmFileAttachment = _ref18 => {
384
+ const BmFileAttachment = _ref23 => {
297
385
  let {
298
386
  state,
299
387
  file,
@@ -302,8 +390,8 @@ const BmFileAttachment = _ref18 => {
302
390
  onDownload,
303
391
  extension,
304
392
  link
305
- } = _ref18,
306
- rest = _objectWithoutProperties(_ref18, _excluded);
393
+ } = _ref23,
394
+ rest = _objectWithoutProperties(_ref23, _excluded);
307
395
  return /*#__PURE__*/_react.default.createElement(FileAttachmentWrapper, _extends({
308
396
  state: state,
309
397
  src: src
@@ -322,10 +410,10 @@ const BmFileAttachment = _ref18 => {
322
410
  // Start of Component for Images
323
411
  const BmImageWrapper = exports.BmImageWrapper = _styledComponents.default.div.withConfig({
324
412
  displayName: "chatBody__BmImageWrapper"
325
- })(["display:flex;flex-direction:column;color:", ";"], _ref19 => {
413
+ })(["display:flex;flex-direction:column;color:", ";"], _ref24 => {
326
414
  let {
327
415
  state
328
- } = _ref19;
416
+ } = _ref24;
329
417
  if (state) {
330
418
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
331
419
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
@@ -334,24 +422,24 @@ const BmImageWrapper = exports.BmImageWrapper = _styledComponents.default.div.wi
334
422
  });
335
423
  const BmImage = exports.BmImage = _styledComponents.default.img.withConfig({
336
424
  displayName: "chatBody__BmImage"
337
- })(["", " width:100%;object-fit:cover;flex-grow:1;border-radius:", ";"], '' /* Fix width */, _ref20 => {
425
+ })(["", " width:100%;object-fit:cover;flex-grow:1;border-radius:", ";"], '' /* Fix width */, _ref25 => {
338
426
  let {
339
427
  state
340
- } = _ref20;
428
+ } = _ref25;
341
429
  if (state) {
342
430
  if (state === 'inbound') return '.5714rem .5714rem 0rem 0rem';
343
431
  if (state === 'outbound') return '.5714rem .5714rem 0rem 0rem';
344
432
  }
345
433
  return "".concat(_colors.BmPrimaryWhite);
346
434
  });
347
- const BmImageChat = _ref21 => {
435
+ const BmImageChat = _ref26 => {
348
436
  let {
349
437
  state,
350
438
  src,
351
439
  extensions,
352
440
  fileName
353
- } = _ref21,
354
- rest = _objectWithoutProperties(_ref21, _excluded2);
441
+ } = _ref26,
442
+ rest = _objectWithoutProperties(_ref26, _excluded2);
355
443
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BmImageWrapper, _extends({
356
444
  state: state
357
445
  }, rest), /*#__PURE__*/_react.default.createElement(BmImage, {
@@ -374,59 +462,174 @@ const MessageState = exports.MessageState = _styledComponents.default.div.withCo
374
462
 
375
463
  const RepliedTextWrapper = exports.RepliedTextWrapper = _styledComponents.default.div.withConfig({
376
464
  displayName: "chatBody__RepliedTextWrapper"
377
- })(["display:flex;flex-direction:column;justify-content:center;padding:1.14286rem 1.14286rem 1.14286rem 0.35714rem;gap:1rem;border-radius:0.25rem 0.25rem 0.25rem 0.25rem;border:1px solid ", ";background:", ";color:", ";"], _colors.BmGrey200, _ref22 => {
465
+ })(["display:flex;flex-direction:column;justify-content:center;padding:1.14286rem 1.14286rem 1.14286rem 0.35714rem;gap:1rem;border-radius:0.25rem 0.25rem 0.25rem 0.25rem;border:1px solid ", ";background:", ";color:", ";"], _colors.BmGrey200, _ref27 => {
378
466
  let {
379
467
  state
380
- } = _ref22;
468
+ } = _ref27;
381
469
  if (state) {
382
470
  if (state === 'inbound') return "".concat(_colors.BmPrimaryWhite);
383
471
  if (state === 'outbound') return "".concat(_colors.BmPrimaryBlue);
384
472
  }
385
473
  return "".concat(_colors.BmPrimaryWhite);
386
- }, _ref23 => {
474
+ }, _ref28 => {
387
475
  let {
388
476
  state
389
- } = _ref23;
477
+ } = _ref28;
390
478
  if (state) {
391
479
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
392
480
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
393
481
  }
394
482
  return "".concat(_colors.BmPrimaryWhite);
395
483
  });
396
- const QuickReplyRender = _ref24 => {
397
- var _content$text;
484
+ const QuickReplyRender = _ref29 => {
398
485
  let {
399
486
  content,
400
487
  options,
401
488
  type,
402
489
  state,
403
490
  rest,
404
- isInteractive
405
- } = _ref24;
491
+ isInteractive,
492
+ connector,
493
+ body,
494
+ action,
495
+ header,
496
+ footer
497
+ } = _ref29;
498
+ const MEDIA_TYPES = ['document', 'image', 'video'];
499
+ const renderers = {
500
+ dotgo_v3: () => {
501
+ var _header$header$type, _header$header$type2, _body$text, _action$buttons;
502
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, header && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, MEDIA_TYPES.includes(header === null || header === void 0 ? void 0 : header.type) ? /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
503
+ state: state,
504
+ src: (_header$header$type = header[header.type]) === null || _header$header$type === void 0 ? void 0 : _header$header$type.link
505
+ }, rest)) : /*#__PURE__*/_react.default.createElement("h5", null, (_header$header$type2 = header[header.type]) === null || _header$header$type2 === void 0 ? void 0 : _header$header$type2.text)), body && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, body === null || body === void 0 || (_body$text = body.text) === null || _body$text === void 0 ? void 0 : _body$text.split('\n').map((line, idx) => /*#__PURE__*/_react.default.createElement("p", {
506
+ key: "body-line-".concat(idx)
507
+ }, line, /*#__PURE__*/_react.default.createElement("br", null)))), footer && /*#__PURE__*/_react.default.createElement("small", null, footer === null || footer === void 0 ? void 0 : footer.text), (action === null || action === void 0 || (_action$buttons = action.buttons) === null || _action$buttons === void 0 ? void 0 : _action$buttons.length) > 0 && action.buttons.map((button, idx) => {
508
+ var _button$button$type;
509
+ return /*#__PURE__*/_react.default.createElement(IntButton, {
510
+ state: state,
511
+ key: "action-btn-".concat(idx)
512
+ }, (_button$button$type = button[button.type]) === null || _button$button$type === void 0 ? void 0 : _button$button$type.title);
513
+ }));
514
+ }
515
+ };
516
+ const FallbackRenderer = () => {
517
+ var _content$text;
518
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (content === null || content === void 0 ? void 0 : content.url) && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
519
+ state: state,
520
+ src: content === null || content === void 0 ? void 0 : content.url
521
+ }, rest))), (content === null || content === void 0 ? void 0 : content.header) && /*#__PURE__*/_react.default.createElement("strong", null, content.header), content === null || content === void 0 || (_content$text = content.text) === null || _content$text === void 0 ? void 0 : _content$text.split('\n').map((line, idx) => /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", {
522
+ key: "content-line-".concat(idx)
523
+ }, line, /*#__PURE__*/_react.default.createElement("br", null)))), (content === null || content === void 0 ? void 0 : content.caption) && /*#__PURE__*/_react.default.createElement("small", null, content.caption), options === null || options === void 0 ? void 0 : options.map((button, idx) => /*#__PURE__*/_react.default.createElement(IntButton, {
524
+ state: state,
525
+ key: "opt-btn-".concat(idx)
526
+ }, button === null || button === void 0 ? void 0 : button.title)));
527
+ };
528
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
529
+ return /*#__PURE__*/_react.default.createElement(Messages, {
530
+ type: type,
531
+ state: state,
532
+ isInteractive: isInteractive,
533
+ isImg: true
534
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null));
535
+ };
536
+ const ImageRender = _ref30 => {
537
+ let {
538
+ type,
539
+ state,
540
+ rest,
541
+ isInteractive,
542
+ connector,
543
+ caption,
544
+ originalUrl
545
+ } = _ref30;
546
+ const renderers = {
547
+ dotgo_v3: () => {
548
+ var _caption$text;
549
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, originalUrl && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
550
+ state: state,
551
+ src: originalUrl
552
+ }, rest))), caption && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, caption === null || caption === void 0 || (_caption$text = caption.text) === null || _caption$text === void 0 ? void 0 : _caption$text.split('\n').map((line, idx) => /*#__PURE__*/_react.default.createElement("p", {
553
+ key: "body-line-".concat(idx)
554
+ }, line, /*#__PURE__*/_react.default.createElement("br", null)))));
555
+ }
556
+ };
557
+ const FallbackRenderer = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, originalUrl && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
558
+ state: state,
559
+ src: originalUrl
560
+ }, rest))), caption && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, caption === null || caption === void 0 ? void 0 : caption.split('\n').map((line, idx) => /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", {
561
+ key: "content-line-".concat(idx)
562
+ }, line, /*#__PURE__*/_react.default.createElement("br", null))))));
563
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
406
564
  return /*#__PURE__*/_react.default.createElement(Messages, {
407
565
  type: type,
408
566
  state: state,
409
567
  isInteractive: isInteractive,
410
568
  isImg: true
411
- }, (content === null || content === void 0 ? void 0 : content.url) && /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
569
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null));
570
+ };
571
+ const CallRender = _ref31 => {
572
+ let {
573
+ type,
574
+ state,
575
+ isInteractive,
576
+ connector,
577
+ message,
578
+ status,
579
+ call_started_at
580
+ } = _ref31;
581
+ const duration = useCallDuration(status === 'in_progress', call_started_at);
582
+ const renderers = {
583
+ yeastar: () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, status === 'in_progress' && /*#__PURE__*/_react.default.createElement(CallContainer, {
584
+ state: state
585
+ }, /*#__PURE__*/_react.default.createElement(IconContainer, {
586
+ state: state
587
+ }, state === 'inbound' ? /*#__PURE__*/_react.default.createElement(_PhoneCallbackOutlined.default, {
588
+ sx: {
589
+ color: '#4A5565'
590
+ }
591
+ }) : /*#__PURE__*/_react.default.createElement(_PhoneOutlined.default, null)), /*#__PURE__*/_react.default.createElement(CallInfoContainer, {
592
+ state: state
593
+ }, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("strong", null, "Voice Call")), /*#__PURE__*/_react.default.createElement("p", null, duration))), status === 'answered' && /*#__PURE__*/_react.default.createElement(CallContainer, {
594
+ state: state
595
+ }, /*#__PURE__*/_react.default.createElement(IconContainer, {
596
+ state: state
597
+ }, state === 'inbound' ? /*#__PURE__*/_react.default.createElement(_PhoneCallbackOutlined.default, {
598
+ sx: {
599
+ color: '#4A5565'
600
+ }
601
+ }) : /*#__PURE__*/_react.default.createElement(_PhoneOutlined.default, null)), /*#__PURE__*/_react.default.createElement(CallInfoContainer, {
602
+ state: state
603
+ }, /*#__PURE__*/_react.default.createElement("h4", null, /*#__PURE__*/_react.default.createElement("strong", null, "Voice Call")), /*#__PURE__*/_react.default.createElement("p", null, formatCallDuration(message.talk_duration)))), status === 'no answer' && /*#__PURE__*/_react.default.createElement(CallContainer, {
604
+ state: state
605
+ }, /*#__PURE__*/_react.default.createElement(IconContainer, {
606
+ state: state
607
+ }, /*#__PURE__*/_react.default.createElement(_PhoneMissed.default, {
608
+ sx: {
609
+ color: '#e64d4dff'
610
+ }
611
+ })), /*#__PURE__*/_react.default.createElement(CallInfoContainer, {
612
+ state: state
613
+ }, /*#__PURE__*/_react.default.createElement("h4", null, /*#__PURE__*/_react.default.createElement("strong", null, "Voice Call")), /*#__PURE__*/_react.default.createElement("p", null, "No answer"))))
614
+ };
615
+ const FallbackRenderer = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, status));
616
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
617
+ return /*#__PURE__*/_react.default.createElement(Messages, {
618
+ type: type,
412
619
  state: state,
413
- src: content === null || content === void 0 ? void 0 : content.url
414
- }, rest)), /*#__PURE__*/_react.default.createElement("strong", null, content === null || content === void 0 ? void 0 : content.header), content === null || content === void 0 || (_content$text = content.text) === null || _content$text === void 0 ? void 0 : _content$text.split('\n').map(line => /*#__PURE__*/_react.default.createElement("p", null, line, /*#__PURE__*/_react.default.createElement("br", null))), /*#__PURE__*/_react.default.createElement("small", null, content === null || content === void 0 ? void 0 : content.caption), options === null || options === void 0 ? void 0 : options.map(button =>
415
- /*#__PURE__*/
416
- // eslint-disable-next-line react/jsx-key
417
- _react.default.createElement(IntButton, {
418
- state: state
419
- }, button === null || button === void 0 ? void 0 : button.title)));
620
+ isInteractive: isInteractive,
621
+ connector: connector,
622
+ isImg: true
623
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null));
420
624
  };
421
- const ProductDetailRender = _ref25 => {
625
+ const ProductDetailRender = _ref32 => {
422
626
  let {
423
627
  type,
424
628
  state,
425
629
  header,
426
630
  body,
427
631
  isInteractive
428
- } = _ref25;
429
- console.log(type, state, header, body);
632
+ } = _ref32;
430
633
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Messages, {
431
634
  type: type,
432
635
  state: state,
@@ -435,69 +638,142 @@ const ProductDetailRender = _ref25 => {
435
638
  state: state
436
639
  }, /*#__PURE__*/_react.default.createElement(_ShoppingCartOutlined.default, null), "Catalog")));
437
640
  };
438
- const ListReplyRender = _ref26 => {
439
- var _globalButtons$;
641
+ const ListReplyRender = _ref33 => {
440
642
  let {
441
643
  title,
442
644
  body,
443
645
  globalButtons,
444
646
  isInteractive,
445
647
  type,
446
- state
447
- } = _ref26;
648
+ state,
649
+ connector,
650
+ header,
651
+ action,
652
+ footer
653
+ } = _ref33;
654
+ const renderers = {
655
+ dotgo_v3: () => {
656
+ var _header$header$type3, _body$text2;
657
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, header && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h6", null, (_header$header$type3 = header[header.type]) === null || _header$header$type3 === void 0 ? void 0 : _header$header$type3.text)), body && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, body === null || body === void 0 || (_body$text2 = body.text) === null || _body$text2 === void 0 ? void 0 : _body$text2.split('\n').map((line, idx) => /*#__PURE__*/_react.default.createElement("p", {
658
+ key: "body-line-".concat(idx)
659
+ }, line, /*#__PURE__*/_react.default.createElement("br", null)))), footer && /*#__PURE__*/_react.default.createElement("small", null, footer === null || footer === void 0 ? void 0 : footer.text), action.button && /*#__PURE__*/_react.default.createElement(IntButton, {
660
+ state: state
661
+ }, /*#__PURE__*/_react.default.createElement(_List.default, null), action.button));
662
+ }
663
+ };
664
+ const FallbackRenderer = () => {
665
+ var _globalButtons$;
666
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("strong", null, title), body.split('\n').map(line => /*#__PURE__*/_react.default.createElement("p", null, line, /*#__PURE__*/_react.default.createElement("br", null))), /*#__PURE__*/_react.default.createElement(IntButton, {
667
+ state: state
668
+ }, /*#__PURE__*/_react.default.createElement(_List.default, null), (_globalButtons$ = globalButtons[0]) === null || _globalButtons$ === void 0 ? void 0 : _globalButtons$.title));
669
+ };
670
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
448
671
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Messages, {
449
672
  type: type,
450
673
  state: state,
451
674
  isInteractive: isInteractive
452
- }, /*#__PURE__*/_react.default.createElement("strong", null, title), body.split('\n').map(line => /*#__PURE__*/_react.default.createElement("p", null, line, /*#__PURE__*/_react.default.createElement("br", null))), /*#__PURE__*/_react.default.createElement(IntButton, {
453
- state: state
454
- }, /*#__PURE__*/_react.default.createElement(_List.default, null), (_globalButtons$ = globalButtons[0]) === null || _globalButtons$ === void 0 ? void 0 : _globalButtons$.title)));
675
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null)));
455
676
  };
456
- const OrderRender = _ref27 => {
677
+ const OrderRender = _ref34 => {
457
678
  let {
458
679
  amount,
459
680
  type,
460
681
  state,
461
- items
462
- } = _ref27;
682
+ items,
683
+ product_items,
684
+ connector,
685
+ isInteractive
686
+ } = _ref34;
687
+ const renderers = {
688
+ dotgo_v3: _ref35 => {
689
+ let {
690
+ displayItems,
691
+ sumQuantities,
692
+ setDisplayItems
693
+ } = _ref35;
694
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(OrderBody, {
695
+ state: state
696
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
697
+ state: state
698
+ }, /*#__PURE__*/_react.default.createElement(_ShoppingCartOutlined.default, {
699
+ fontSize: "small"
700
+ }), /*#__PURE__*/_react.default.createElement("h5", null, /*#__PURE__*/_react.default.createElement("strong", null, sumQuantities(product_items), ' ', sumQuantities(product_items) > 1 ? 'items' : 'item')))), displayItems ? /*#__PURE__*/_react.default.createElement(OrderBody, {
701
+ state: state
702
+ }, product_items.map((data, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(CartContent, {
703
+ state: state
704
+ }, /*#__PURE__*/_react.default.createElement("p", null, index + 1, ". "), /*#__PURE__*/_react.default.createElement(ProductImage, {
705
+ src: data.imgURL,
706
+ alt: "product"
707
+ }), /*#__PURE__*/_react.default.createElement("p", null, data.quantity, " X ", data.description, " @ ", data.currency, ' ', data.amount)), /*#__PURE__*/_react.default.createElement("hr", {
708
+ style: {
709
+ width: '100%'
710
+ }
711
+ })))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(OrderBody, {
712
+ state: state
713
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
714
+ state: state
715
+ }, /*#__PURE__*/_react.default.createElement("p", null, ' ', "Estimated Total: ", /*#__PURE__*/_react.default.createElement("strong", null, amount)))), /*#__PURE__*/_react.default.createElement(IntButton, {
716
+ state: state,
717
+ onClick: () => {
718
+ setDisplayItems(!displayItems);
719
+ }
720
+ }, /*#__PURE__*/_react.default.createElement("p", null, displayItems ? 'HIDE' : 'SHOW', " CART ITEMS")));
721
+ }
722
+ };
723
+ const FallbackRenderer = _ref36 => {
724
+ let {
725
+ sumQuantities,
726
+ displayItems,
727
+ setDisplayItems
728
+ } = _ref36;
729
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(OrderBody, {
730
+ state: state
731
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
732
+ state: state
733
+ }, /*#__PURE__*/_react.default.createElement(_ShoppingCartOutlined.default, {
734
+ fontSize: "small"
735
+ }), /*#__PURE__*/_react.default.createElement("h5", null, /*#__PURE__*/_react.default.createElement("strong", null, sumQuantities(items), ' ', sumQuantities(items) > 1 ? 'items' : 'item')))), displayItems ? /*#__PURE__*/_react.default.createElement(OrderBody, {
736
+ state: state
737
+ }, items.map((data, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(CartContent, {
738
+ state: state
739
+ }, /*#__PURE__*/_react.default.createElement("p", null, index + 1, ". "), /*#__PURE__*/_react.default.createElement(ProductImage, {
740
+ src: data.imgURL,
741
+ alt: "product"
742
+ }), /*#__PURE__*/_react.default.createElement("p", null, data.quantity, " X ", data.description, " @ ", data.currency, ' ', data.amount)), /*#__PURE__*/_react.default.createElement("hr", {
743
+ style: {
744
+ width: '100%'
745
+ }
746
+ })))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(OrderBody, {
747
+ state: state
748
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
749
+ state: state
750
+ }, /*#__PURE__*/_react.default.createElement("p", null, ' ', "Estimated Total: ", /*#__PURE__*/_react.default.createElement("strong", null, amount)))), /*#__PURE__*/_react.default.createElement(IntButton, {
751
+ state: state,
752
+ onClick: () => {
753
+ setDisplayItems(!displayItems);
754
+ }
755
+ }, /*#__PURE__*/_react.default.createElement("p", null, displayItems ? 'HIDE' : 'SHOW', " CART ITEMS")));
756
+ };
757
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
463
758
  const [displayItems, setDisplayItems] = (0, _react.useState)(false);
464
- const sumQuantities = () => {
465
- return items === null || items === void 0 ? void 0 : items.reduce((total, item) => {
759
+ const sumQuantities = data => {
760
+ return data === null || data === void 0 ? void 0 : data.reduce((total, item) => {
466
761
  return total + parseInt(item.quantity, 10);
467
762
  }, 0);
468
763
  };
469
764
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Messages, {
470
765
  type: type,
471
- state: state
472
- }, /*#__PURE__*/_react.default.createElement(OrderBody, {
473
- state: state
474
- }, /*#__PURE__*/_react.default.createElement(CartContent, {
475
- state: state
476
- }, /*#__PURE__*/_react.default.createElement(_ShoppingCartOutlined.default, {
477
- fontSize: "small"
478
- }), /*#__PURE__*/_react.default.createElement("h5", null, /*#__PURE__*/_react.default.createElement("strong", null, sumQuantities(), " ", sumQuantities() > 1 ? 'items' : 'item')))), displayItems ? /*#__PURE__*/_react.default.createElement(OrderBody, {
479
- state: state
480
- }, items.map((data, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(CartContent, {
481
- state: state
482
- }, /*#__PURE__*/_react.default.createElement("p", null, index + 1, ". "), /*#__PURE__*/_react.default.createElement(ProductImage, {
483
- src: data.imgURL,
484
- alt: "product"
485
- }), /*#__PURE__*/_react.default.createElement("p", null, data.quantity, " X ", data.description, " @ ", data.currency, ' ', data.amount)), /*#__PURE__*/_react.default.createElement("hr", {
486
- style: {
487
- width: '100%'
488
- }
489
- })))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(OrderBody, {
490
- state: state
491
- }, /*#__PURE__*/_react.default.createElement(CartContent, {
492
- state: state
493
- }, /*#__PURE__*/_react.default.createElement("p", null, ' ', "Estimated Total: ", /*#__PURE__*/_react.default.createElement("strong", null, amount)))), /*#__PURE__*/_react.default.createElement(IntButton, {
494
766
  state: state,
495
- onClick: () => {
496
- setDisplayItems(!displayItems);
497
- }
498
- }, /*#__PURE__*/_react.default.createElement("p", null, displayItems ? 'HIDE' : 'SHOW', " CART ITEMS"))));
767
+ isInteractive: isInteractive
768
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, {
769
+ sumQuantities: sumQuantities,
770
+ setDisplayItems: setDisplayItems,
771
+ displayItems: displayItems,
772
+ items: items
773
+ })));
499
774
  };
500
- BmChat.Details = _ref28 => {
775
+ BmChat.Details = _ref37 => {
776
+ var _children$message, _children$message2;
501
777
  let {
502
778
  children,
503
779
  state,
@@ -515,8 +791,8 @@ BmChat.Details = _ref28 => {
515
791
  isInteractive,
516
792
  type,
517
793
  extension
518
- } = _ref28,
519
- rest = _objectWithoutProperties(_ref28, _excluded3);
794
+ } = _ref37,
795
+ rest = _objectWithoutProperties(_ref37, _excluded3);
520
796
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Details, _extends({
521
797
  state: state
522
798
  }, rest), /*#__PURE__*/_react.default.createElement(MessageState, null, state === 'inbound' && session && handleState({
@@ -531,42 +807,64 @@ BmChat.Details = _ref28 => {
531
807
  fileName: fileName
532
808
  }, rest)), children && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, metadata ? /*#__PURE__*/_react.default.createElement(RepliedTextWrapper, {
533
809
  state: state
534
- }, metadata.type === 'quick_reply' ? /*#__PURE__*/_react.default.createElement(QuickReplyRender, _extends({
810
+ }, metadata.message.type === 'quick_reply' || metadata.message.type === 'button' ? /*#__PURE__*/_react.default.createElement(QuickReplyRender, _extends({
535
811
  isInteractive: true,
536
812
  rest: rest
537
- }, metadata, {
813
+ }, metadata.message, {
538
814
  type: type,
539
- state: state
540
- })) : metadata.type === 'list' ? /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({
815
+ state: state,
816
+ connector: metadata.connector
817
+ })) : metadata.message.type === 'list' ? /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({
541
818
  isInteractive: true
542
- }, metadata, {
819
+ }, metadata.message, {
543
820
  type: type,
544
- state: state
545
- })) : metadata.type === 'product_details' ? /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({
821
+ state: state,
822
+ connector: metadata.connector
823
+ })) : metadata.message.type === 'product_details' ? /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({
546
824
  isInteractive: true
547
- }, metadata, {
825
+ }, metadata.message, {
548
826
  type: type,
549
827
  state: state
550
- })) : metadata.type === 'order' ? /*#__PURE__*/_react.default.createElement(OrderRender, _extends({}, metadata, {
828
+ })) : metadata.message.type === 'order' ? /*#__PURE__*/_react.default.createElement(OrderRender, _extends({
829
+ isInteractive: true
830
+ }, metadata.message, {
551
831
  type: type,
552
- state: state
832
+ state: state,
833
+ connector: metadata.connector
834
+ })) : metadata.message.type === 'image' ? /*#__PURE__*/_react.default.createElement(ImageRender, _extends({
835
+ isInteractive: true
836
+ }, metadata.message, {
837
+ type: type,
838
+ state: state,
839
+ connector: metadata === null || metadata === void 0 ? void 0 : metadata.connector
553
840
  })) : /*#__PURE__*/_react.default.createElement(Messages, {
554
841
  metadata: metadata,
555
842
  state: state
556
- }, metadata), children) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, type && (type === 'interactive' || type === 'order') ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children.type === 'quick_reply' && /*#__PURE__*/_react.default.createElement(QuickReplyRender, _extends({
843
+ }, metadata.message.text), children) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, type && (type === 'interactive' || type === 'order') ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ((children === null || children === void 0 || (_children$message = children.message) === null || _children$message === void 0 ? void 0 : _children$message.type) === 'quick_reply' || (children === null || children === void 0 || (_children$message2 = children.message) === null || _children$message2 === void 0 ? void 0 : _children$message2.type) === 'button') && /*#__PURE__*/_react.default.createElement(QuickReplyRender, _extends({
557
844
  rest: rest
558
- }, children, {
845
+ }, children.message, {
559
846
  type: type,
560
- state: state
561
- })), children.type === 'list' && /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({}, children, {
847
+ state: state,
848
+ connector: children === null || children === void 0 ? void 0 : children.connector
849
+ })), children.message.type === 'list' && /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({}, children.message, {
562
850
  type: type,
563
- state: state
564
- })), children.type === 'product_details' && /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({}, children, {
851
+ state: state,
852
+ connector: children === null || children === void 0 ? void 0 : children.connector
853
+ })), children.message.type === 'product_details' && /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({}, children.message, {
565
854
  type: type,
566
855
  state: state
567
- })), children.type === 'order' && /*#__PURE__*/_react.default.createElement(OrderRender, _extends({}, children, {
856
+ })), children.message.type === 'order' && /*#__PURE__*/_react.default.createElement(OrderRender, _extends({}, children.message, {
568
857
  type: type,
569
- state: state
858
+ state: state,
859
+ connector: children === null || children === void 0 ? void 0 : children.connector
860
+ })), children.message.type === 'image' && /*#__PURE__*/_react.default.createElement(ImageRender, _extends({}, children.message, {
861
+ type: type,
862
+ state: state,
863
+ connector: children === null || children === void 0 ? void 0 : children.connector
864
+ })), children.message.type === 'call' && /*#__PURE__*/_react.default.createElement(CallRender, _extends({}, children.message, {
865
+ type: type,
866
+ state: state,
867
+ connector: children === null || children === void 0 ? void 0 : children.connector
570
868
  }))) : type === 'pdf' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactPdf.Document, {
571
869
  file: {
572
870
  url: "".concat(file)