beem-component 2.1.29 → 2.1.30

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 +404 -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 +805 -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 +553 -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,73 @@ 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) {
249
+ if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
250
+ if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
251
+ }
252
+ return "".concat(_colors.BmPrimaryWhite);
253
+ }, _ref13 => {
254
+ let {
255
+ state
256
+ } = _ref13;
257
+ return state === 'inbound' ? '#A6A29F' : '#cde3ddff';
258
+ });
259
+ const IconContainer = _styledComponents.default.div.withConfig({
260
+ displayName: "chatBody__IconContainer"
261
+ })(["display:flex;align-items:center;justify-content:center;width:max-content;height:max-content;padding:0.8rem;border:", ";border-radius:50%;background-color:", ";"], _ref14 => {
262
+ let {
263
+ state
264
+ } = _ref14;
265
+ if (state) {
266
+ if (state === 'inbound') return "1px solid #F3F4F6";
267
+ if (state === 'outbound') return "1px solid #5CC1C8";
268
+ }
269
+ return "".concat(_colors.BmPrimaryWhite);
270
+ }, _ref15 => {
271
+ let {
272
+ state
273
+ } = _ref15;
274
+ if (state) {
275
+ if (state === 'inbound') return "#F3F4F6";
276
+ if (state === 'outbound') return "#5CC1C8";
277
+ }
278
+ return "".concat(_colors.BmPrimaryWhite);
279
+ });
190
280
  const MessagesSubDetails = _styledComponents.default.div.withConfig({
191
281
  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 => {
282
+ })(["display:flex;flex-direction:row;align-items:center;> *:not(:last-child){margin-right:0.5rem;}margin-left:", ";margin-top:0.5rem;"], _ref16 => {
193
283
  let {
194
284
  state
195
- } = _ref11;
285
+ } = _ref16;
196
286
  if (state) {
197
287
  if (state === 'inbound') return '0px';
198
288
  if (state === 'outbound') return 'auto';
199
289
  }
200
290
  return "".concat(_colors.BmPrimaryWhite);
201
291
  });
202
- const handleState = _ref12 => {
292
+ const handleState = _ref17 => {
203
293
  let {
204
294
  session,
205
295
  agentName
206
- } = _ref12;
296
+ } = _ref17;
207
297
  if (session === 'bot') {
208
298
  return /*#__PURE__*/_react.default.createElement(_avatars.default, {
209
299
  size: "small",
@@ -237,29 +327,29 @@ const FileNameContainer = _styledComponents.default.div.withConfig({
237
327
  // Start of File Attachment
238
328
  const FileAttachmentWrapper = _styledComponents.default.div.withConfig({
239
329
  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 => {
330
+ })(["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
331
  let {
242
332
  state
243
- } = _ref13;
333
+ } = _ref18;
244
334
  if (state) {
245
335
  if (state === 'inbound') return "#F9FAFB";
246
336
  if (state === 'outbound') return "".concat(_colors.BmPrimaryBlue);
247
337
  }
248
338
  return "".concat(_colors.BmPrimaryWhite);
249
- }, _ref14 => {
339
+ }, _ref19 => {
250
340
  let {
251
341
  state
252
- } = _ref14;
342
+ } = _ref19;
253
343
  if (state) {
254
344
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
255
345
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
256
346
  }
257
347
  return "".concat(_colors.BmPrimaryWhite);
258
- }, _ref15 => {
348
+ }, _ref20 => {
259
349
  let {
260
350
  state,
261
351
  src
262
- } = _ref15;
352
+ } = _ref20;
263
353
  if (state) {
264
354
  if (state === 'inbound') {
265
355
  if (src) {
@@ -275,25 +365,25 @@ const FileAttachmentWrapper = _styledComponents.default.div.withConfig({
275
365
  }
276
366
  }
277
367
  return "".concat(_colors.BmPrimaryWhite);
278
- }, _ref16 => {
368
+ }, _ref21 => {
279
369
  let {
280
370
  state
281
- } = _ref16;
371
+ } = _ref21;
282
372
  if (state) {
283
373
  if (state === 'inbound') return "0.071rem solid ".concat(_colors.BmGrey200, ";");
284
374
  }
285
375
  return '';
286
- }, _ref17 => {
376
+ }, _ref22 => {
287
377
  let {
288
378
  state
289
- } = _ref17;
379
+ } = _ref22;
290
380
  if (state) {
291
381
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlue);
292
382
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
293
383
  }
294
384
  return "".concat(_colors.BmPrimaryWhite);
295
385
  }, '' /* max-width: 100%; */, '' /* max-height: 100%; */);
296
- const BmFileAttachment = _ref18 => {
386
+ const BmFileAttachment = _ref23 => {
297
387
  let {
298
388
  state,
299
389
  file,
@@ -302,8 +392,8 @@ const BmFileAttachment = _ref18 => {
302
392
  onDownload,
303
393
  extension,
304
394
  link
305
- } = _ref18,
306
- rest = _objectWithoutProperties(_ref18, _excluded);
395
+ } = _ref23,
396
+ rest = _objectWithoutProperties(_ref23, _excluded);
307
397
  return /*#__PURE__*/_react.default.createElement(FileAttachmentWrapper, _extends({
308
398
  state: state,
309
399
  src: src
@@ -322,10 +412,10 @@ const BmFileAttachment = _ref18 => {
322
412
  // Start of Component for Images
323
413
  const BmImageWrapper = exports.BmImageWrapper = _styledComponents.default.div.withConfig({
324
414
  displayName: "chatBody__BmImageWrapper"
325
- })(["display:flex;flex-direction:column;color:", ";"], _ref19 => {
415
+ })(["display:flex;flex-direction:column;color:", ";"], _ref24 => {
326
416
  let {
327
417
  state
328
- } = _ref19;
418
+ } = _ref24;
329
419
  if (state) {
330
420
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
331
421
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
@@ -334,24 +424,24 @@ const BmImageWrapper = exports.BmImageWrapper = _styledComponents.default.div.wi
334
424
  });
335
425
  const BmImage = exports.BmImage = _styledComponents.default.img.withConfig({
336
426
  displayName: "chatBody__BmImage"
337
- })(["", " width:100%;object-fit:cover;flex-grow:1;border-radius:", ";"], '' /* Fix width */, _ref20 => {
427
+ })(["", " width:100%;object-fit:cover;flex-grow:1;border-radius:", ";"], '' /* Fix width */, _ref25 => {
338
428
  let {
339
429
  state
340
- } = _ref20;
430
+ } = _ref25;
341
431
  if (state) {
342
432
  if (state === 'inbound') return '.5714rem .5714rem 0rem 0rem';
343
433
  if (state === 'outbound') return '.5714rem .5714rem 0rem 0rem';
344
434
  }
345
435
  return "".concat(_colors.BmPrimaryWhite);
346
436
  });
347
- const BmImageChat = _ref21 => {
437
+ const BmImageChat = _ref26 => {
348
438
  let {
349
439
  state,
350
440
  src,
351
441
  extensions,
352
442
  fileName
353
- } = _ref21,
354
- rest = _objectWithoutProperties(_ref21, _excluded2);
443
+ } = _ref26,
444
+ rest = _objectWithoutProperties(_ref26, _excluded2);
355
445
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BmImageWrapper, _extends({
356
446
  state: state
357
447
  }, rest), /*#__PURE__*/_react.default.createElement(BmImage, {
@@ -374,59 +464,174 @@ const MessageState = exports.MessageState = _styledComponents.default.div.withCo
374
464
 
375
465
  const RepliedTextWrapper = exports.RepliedTextWrapper = _styledComponents.default.div.withConfig({
376
466
  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 => {
467
+ })(["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
468
  let {
379
469
  state
380
- } = _ref22;
470
+ } = _ref27;
381
471
  if (state) {
382
472
  if (state === 'inbound') return "".concat(_colors.BmPrimaryWhite);
383
473
  if (state === 'outbound') return "".concat(_colors.BmPrimaryBlue);
384
474
  }
385
475
  return "".concat(_colors.BmPrimaryWhite);
386
- }, _ref23 => {
476
+ }, _ref28 => {
387
477
  let {
388
478
  state
389
- } = _ref23;
479
+ } = _ref28;
390
480
  if (state) {
391
481
  if (state === 'inbound') return "".concat(_colors.BmPrimaryBlack);
392
482
  if (state === 'outbound') return "".concat(_colors.BmPrimaryWhite);
393
483
  }
394
484
  return "".concat(_colors.BmPrimaryWhite);
395
485
  });
396
- const QuickReplyRender = _ref24 => {
397
- var _content$text;
486
+ const QuickReplyRender = _ref29 => {
398
487
  let {
399
488
  content,
400
489
  options,
401
490
  type,
402
491
  state,
403
492
  rest,
404
- isInteractive
405
- } = _ref24;
493
+ isInteractive,
494
+ connector,
495
+ body,
496
+ action,
497
+ header,
498
+ footer
499
+ } = _ref29;
500
+ const MEDIA_TYPES = ['document', 'image', 'video'];
501
+ const renderers = {
502
+ dotgo_v3: () => {
503
+ var _header$header$type, _header$header$type2, _body$text, _action$buttons;
504
+ 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({
505
+ state: state,
506
+ src: (_header$header$type = header[header.type]) === null || _header$header$type === void 0 ? void 0 : _header$header$type.link
507
+ }, 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", {
508
+ key: "body-line-".concat(idx)
509
+ }, 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) => {
510
+ var _button$button$type;
511
+ return /*#__PURE__*/_react.default.createElement(IntButton, {
512
+ state: state,
513
+ key: "action-btn-".concat(idx)
514
+ }, (_button$button$type = button[button.type]) === null || _button$button$type === void 0 ? void 0 : _button$button$type.title);
515
+ }));
516
+ }
517
+ };
518
+ const FallbackRenderer = () => {
519
+ var _content$text;
520
+ 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({
521
+ state: state,
522
+ src: content === null || content === void 0 ? void 0 : content.url
523
+ }, 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", {
524
+ key: "content-line-".concat(idx)
525
+ }, 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, {
526
+ state: state,
527
+ key: "opt-btn-".concat(idx)
528
+ }, button === null || button === void 0 ? void 0 : button.title)));
529
+ };
530
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
406
531
  return /*#__PURE__*/_react.default.createElement(Messages, {
407
532
  type: type,
408
533
  state: state,
409
534
  isInteractive: isInteractive,
410
535
  isImg: true
411
- }, (content === null || content === void 0 ? void 0 : content.url) && /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
536
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null));
537
+ };
538
+ const ImageRender = _ref30 => {
539
+ let {
540
+ type,
541
+ state,
542
+ rest,
543
+ isInteractive,
544
+ connector,
545
+ caption,
546
+ originalUrl
547
+ } = _ref30;
548
+ const renderers = {
549
+ dotgo_v3: () => {
550
+ var _caption$text;
551
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, originalUrl && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
552
+ state: state,
553
+ src: originalUrl
554
+ }, 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", {
555
+ key: "body-line-".concat(idx)
556
+ }, line, /*#__PURE__*/_react.default.createElement("br", null)))));
557
+ }
558
+ };
559
+ const FallbackRenderer = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, originalUrl && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BmImageChat, _extends({
412
560
  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)));
561
+ src: originalUrl
562
+ }, 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", {
563
+ key: "content-line-".concat(idx)
564
+ }, line, /*#__PURE__*/_react.default.createElement("br", null))))));
565
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
566
+ return /*#__PURE__*/_react.default.createElement(Messages, {
567
+ type: type,
568
+ state: state,
569
+ isInteractive: isInteractive,
570
+ isImg: true
571
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null));
420
572
  };
421
- const ProductDetailRender = _ref25 => {
573
+ const CallRender = _ref31 => {
574
+ let {
575
+ type,
576
+ state,
577
+ isInteractive,
578
+ connector,
579
+ message,
580
+ status,
581
+ call_started_at
582
+ } = _ref31;
583
+ const duration = useCallDuration(status === 'in_progress', call_started_at);
584
+ const renderers = {
585
+ yeastar: () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, status === 'in_progress' && /*#__PURE__*/_react.default.createElement(CallContainer, {
586
+ state: state
587
+ }, /*#__PURE__*/_react.default.createElement(IconContainer, {
588
+ state: state
589
+ }, state === 'inbound' ? /*#__PURE__*/_react.default.createElement(_PhoneCallbackOutlined.default, {
590
+ sx: {
591
+ color: '#4A5565'
592
+ }
593
+ }) : /*#__PURE__*/_react.default.createElement(_PhoneOutlined.default, null)), /*#__PURE__*/_react.default.createElement(CallInfoContainer, {
594
+ state: state
595
+ }, /*#__PURE__*/_react.default.createElement("h4", null, /*#__PURE__*/_react.default.createElement("strong", null, "Voice Call")), /*#__PURE__*/_react.default.createElement("p", null, duration))), status === 'answered' && /*#__PURE__*/_react.default.createElement(CallContainer, {
596
+ state: state
597
+ }, /*#__PURE__*/_react.default.createElement(IconContainer, {
598
+ state: state
599
+ }, state === 'inbound' ? /*#__PURE__*/_react.default.createElement(_PhoneCallbackOutlined.default, {
600
+ sx: {
601
+ color: '#4A5565'
602
+ }
603
+ }) : /*#__PURE__*/_react.default.createElement(_PhoneOutlined.default, null)), /*#__PURE__*/_react.default.createElement(CallInfoContainer, {
604
+ state: state
605
+ }, /*#__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, {
606
+ state: state
607
+ }, /*#__PURE__*/_react.default.createElement(IconContainer, {
608
+ state: state
609
+ }, /*#__PURE__*/_react.default.createElement(_PhoneMissed.default, {
610
+ sx: {
611
+ color: '#e64d4dff'
612
+ }
613
+ })), /*#__PURE__*/_react.default.createElement(CallInfoContainer, {
614
+ state: state
615
+ }, /*#__PURE__*/_react.default.createElement("h4", null, /*#__PURE__*/_react.default.createElement("strong", null, "Voice Call")), /*#__PURE__*/_react.default.createElement("p", null, "No answer"))))
616
+ };
617
+ const FallbackRenderer = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, status));
618
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
619
+ return /*#__PURE__*/_react.default.createElement(Messages, {
620
+ type: type,
621
+ state: state,
622
+ isInteractive: isInteractive,
623
+ connector: connector,
624
+ isImg: true
625
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null));
626
+ };
627
+ const ProductDetailRender = _ref32 => {
422
628
  let {
423
629
  type,
424
630
  state,
425
631
  header,
426
632
  body,
427
633
  isInteractive
428
- } = _ref25;
429
- console.log(type, state, header, body);
634
+ } = _ref32;
430
635
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Messages, {
431
636
  type: type,
432
637
  state: state,
@@ -435,69 +640,142 @@ const ProductDetailRender = _ref25 => {
435
640
  state: state
436
641
  }, /*#__PURE__*/_react.default.createElement(_ShoppingCartOutlined.default, null), "Catalog")));
437
642
  };
438
- const ListReplyRender = _ref26 => {
439
- var _globalButtons$;
643
+ const ListReplyRender = _ref33 => {
440
644
  let {
441
645
  title,
442
646
  body,
443
647
  globalButtons,
444
648
  isInteractive,
445
649
  type,
446
- state
447
- } = _ref26;
650
+ state,
651
+ connector,
652
+ header,
653
+ action,
654
+ footer
655
+ } = _ref33;
656
+ const renderers = {
657
+ dotgo_v3: () => {
658
+ var _header$header$type3, _body$text2;
659
+ 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", {
660
+ key: "body-line-".concat(idx)
661
+ }, 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, {
662
+ state: state
663
+ }, /*#__PURE__*/_react.default.createElement(_List.default, null), action.button));
664
+ }
665
+ };
666
+ const FallbackRenderer = () => {
667
+ var _globalButtons$;
668
+ 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, {
669
+ state: state
670
+ }, /*#__PURE__*/_react.default.createElement(_List.default, null), (_globalButtons$ = globalButtons[0]) === null || _globalButtons$ === void 0 ? void 0 : _globalButtons$.title));
671
+ };
672
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
448
673
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Messages, {
449
674
  type: type,
450
675
  state: state,
451
676
  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)));
677
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, null)));
455
678
  };
456
- const OrderRender = _ref27 => {
679
+ const OrderRender = _ref34 => {
457
680
  let {
458
681
  amount,
459
682
  type,
460
683
  state,
461
- items
462
- } = _ref27;
684
+ items,
685
+ product_items,
686
+ connector,
687
+ isInteractive
688
+ } = _ref34;
689
+ const renderers = {
690
+ dotgo_v3: _ref35 => {
691
+ let {
692
+ displayItems,
693
+ sumQuantities,
694
+ setDisplayItems
695
+ } = _ref35;
696
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(OrderBody, {
697
+ state: state
698
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
699
+ state: state
700
+ }, /*#__PURE__*/_react.default.createElement(_ShoppingCartOutlined.default, {
701
+ fontSize: "small"
702
+ }), /*#__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, {
703
+ state: state
704
+ }, product_items.map((data, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(CartContent, {
705
+ state: state
706
+ }, /*#__PURE__*/_react.default.createElement("p", null, index + 1, ". "), /*#__PURE__*/_react.default.createElement(ProductImage, {
707
+ src: data.imgURL,
708
+ alt: "product"
709
+ }), /*#__PURE__*/_react.default.createElement("p", null, data.quantity, " X ", data.description, " @ ", data.currency, ' ', data.amount)), /*#__PURE__*/_react.default.createElement("hr", {
710
+ style: {
711
+ width: '100%'
712
+ }
713
+ })))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(OrderBody, {
714
+ state: state
715
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
716
+ state: state
717
+ }, /*#__PURE__*/_react.default.createElement("p", null, ' ', "Estimated Total: ", /*#__PURE__*/_react.default.createElement("strong", null, amount)))), /*#__PURE__*/_react.default.createElement(IntButton, {
718
+ state: state,
719
+ onClick: () => {
720
+ setDisplayItems(!displayItems);
721
+ }
722
+ }, /*#__PURE__*/_react.default.createElement("p", null, displayItems ? 'HIDE' : 'SHOW', " CART ITEMS")));
723
+ }
724
+ };
725
+ const FallbackRenderer = _ref36 => {
726
+ let {
727
+ sumQuantities,
728
+ displayItems,
729
+ setDisplayItems
730
+ } = _ref36;
731
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(OrderBody, {
732
+ state: state
733
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
734
+ state: state
735
+ }, /*#__PURE__*/_react.default.createElement(_ShoppingCartOutlined.default, {
736
+ fontSize: "small"
737
+ }), /*#__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, {
738
+ state: state
739
+ }, items.map((data, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(CartContent, {
740
+ state: state
741
+ }, /*#__PURE__*/_react.default.createElement("p", null, index + 1, ". "), /*#__PURE__*/_react.default.createElement(ProductImage, {
742
+ src: data.imgURL,
743
+ alt: "product"
744
+ }), /*#__PURE__*/_react.default.createElement("p", null, data.quantity, " X ", data.description, " @ ", data.currency, ' ', data.amount)), /*#__PURE__*/_react.default.createElement("hr", {
745
+ style: {
746
+ width: '100%'
747
+ }
748
+ })))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(OrderBody, {
749
+ state: state
750
+ }, /*#__PURE__*/_react.default.createElement(CartContent, {
751
+ state: state
752
+ }, /*#__PURE__*/_react.default.createElement("p", null, ' ', "Estimated Total: ", /*#__PURE__*/_react.default.createElement("strong", null, amount)))), /*#__PURE__*/_react.default.createElement(IntButton, {
753
+ state: state,
754
+ onClick: () => {
755
+ setDisplayItems(!displayItems);
756
+ }
757
+ }, /*#__PURE__*/_react.default.createElement("p", null, displayItems ? 'HIDE' : 'SHOW', " CART ITEMS")));
758
+ };
759
+ const ConnectorRenderer = renderers[connector] || FallbackRenderer;
463
760
  const [displayItems, setDisplayItems] = (0, _react.useState)(false);
464
- const sumQuantities = () => {
465
- return items === null || items === void 0 ? void 0 : items.reduce((total, item) => {
761
+ const sumQuantities = data => {
762
+ return data === null || data === void 0 ? void 0 : data.reduce((total, item) => {
466
763
  return total + parseInt(item.quantity, 10);
467
764
  }, 0);
468
765
  };
469
766
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Messages, {
470
767
  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
768
  state: state,
495
- onClick: () => {
496
- setDisplayItems(!displayItems);
497
- }
498
- }, /*#__PURE__*/_react.default.createElement("p", null, displayItems ? 'HIDE' : 'SHOW', " CART ITEMS"))));
769
+ isInteractive: isInteractive
770
+ }, /*#__PURE__*/_react.default.createElement(ConnectorRenderer, {
771
+ sumQuantities: sumQuantities,
772
+ setDisplayItems: setDisplayItems,
773
+ displayItems: displayItems,
774
+ items: items
775
+ })));
499
776
  };
500
- BmChat.Details = _ref28 => {
777
+ BmChat.Details = _ref37 => {
778
+ var _children$message, _children$message2;
501
779
  let {
502
780
  children,
503
781
  state,
@@ -515,8 +793,8 @@ BmChat.Details = _ref28 => {
515
793
  isInteractive,
516
794
  type,
517
795
  extension
518
- } = _ref28,
519
- rest = _objectWithoutProperties(_ref28, _excluded3);
796
+ } = _ref37,
797
+ rest = _objectWithoutProperties(_ref37, _excluded3);
520
798
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Details, _extends({
521
799
  state: state
522
800
  }, rest), /*#__PURE__*/_react.default.createElement(MessageState, null, state === 'inbound' && session && handleState({
@@ -531,42 +809,64 @@ BmChat.Details = _ref28 => {
531
809
  fileName: fileName
532
810
  }, rest)), children && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, metadata ? /*#__PURE__*/_react.default.createElement(RepliedTextWrapper, {
533
811
  state: state
534
- }, metadata.type === 'quick_reply' ? /*#__PURE__*/_react.default.createElement(QuickReplyRender, _extends({
812
+ }, metadata.message.type === 'quick_reply' || metadata.message.type === 'button' ? /*#__PURE__*/_react.default.createElement(QuickReplyRender, _extends({
535
813
  isInteractive: true,
536
814
  rest: rest
537
- }, metadata, {
815
+ }, metadata.message, {
538
816
  type: type,
539
- state: state
540
- })) : metadata.type === 'list' ? /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({
817
+ state: state,
818
+ connector: metadata.connector
819
+ })) : metadata.message.type === 'list' ? /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({
541
820
  isInteractive: true
542
- }, metadata, {
821
+ }, metadata.message, {
543
822
  type: type,
544
- state: state
545
- })) : metadata.type === 'product_details' ? /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({
823
+ state: state,
824
+ connector: metadata.connector
825
+ })) : metadata.message.type === 'product_details' ? /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({
546
826
  isInteractive: true
547
- }, metadata, {
827
+ }, metadata.message, {
548
828
  type: type,
549
829
  state: state
550
- })) : metadata.type === 'order' ? /*#__PURE__*/_react.default.createElement(OrderRender, _extends({}, metadata, {
830
+ })) : metadata.message.type === 'order' ? /*#__PURE__*/_react.default.createElement(OrderRender, _extends({
831
+ isInteractive: true
832
+ }, metadata.message, {
551
833
  type: type,
552
- state: state
834
+ state: state,
835
+ connector: metadata.connector
836
+ })) : metadata.message.type === 'image' ? /*#__PURE__*/_react.default.createElement(ImageRender, _extends({
837
+ isInteractive: true
838
+ }, metadata.message, {
839
+ type: type,
840
+ state: state,
841
+ connector: metadata === null || metadata === void 0 ? void 0 : metadata.connector
553
842
  })) : /*#__PURE__*/_react.default.createElement(Messages, {
554
843
  metadata: metadata,
555
844
  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({
845
+ }, 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
846
  rest: rest
558
- }, children, {
847
+ }, children.message, {
559
848
  type: type,
560
- state: state
561
- })), children.type === 'list' && /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({}, children, {
849
+ state: state,
850
+ connector: children === null || children === void 0 ? void 0 : children.connector
851
+ })), children.message.type === 'list' && /*#__PURE__*/_react.default.createElement(ListReplyRender, _extends({}, children.message, {
562
852
  type: type,
563
- state: state
564
- })), children.type === 'product_details' && /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({}, children, {
853
+ state: state,
854
+ connector: children === null || children === void 0 ? void 0 : children.connector
855
+ })), children.message.type === 'product_details' && /*#__PURE__*/_react.default.createElement(ProductDetailRender, _extends({}, children.message, {
565
856
  type: type,
566
857
  state: state
567
- })), children.type === 'order' && /*#__PURE__*/_react.default.createElement(OrderRender, _extends({}, children, {
858
+ })), children.message.type === 'order' && /*#__PURE__*/_react.default.createElement(OrderRender, _extends({}, children.message, {
568
859
  type: type,
569
- state: state
860
+ state: state,
861
+ connector: children === null || children === void 0 ? void 0 : children.connector
862
+ })), children.message.type === 'image' && /*#__PURE__*/_react.default.createElement(ImageRender, _extends({}, children.message, {
863
+ type: type,
864
+ state: state,
865
+ connector: children === null || children === void 0 ? void 0 : children.connector
866
+ })), children.message.type === 'call' && /*#__PURE__*/_react.default.createElement(CallRender, _extends({}, children.message, {
867
+ type: type,
868
+ state: state,
869
+ connector: children === null || children === void 0 ? void 0 : children.connector
570
870
  }))) : type === 'pdf' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactPdf.Document, {
571
871
  file: {
572
872
  url: "".concat(file)