@botonic/react 1.0.0-dev.1 → 1.0.0-dev.2

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 (116) hide show
  1. package/lib/components/button.js +2 -0
  2. package/lib/components/button.js.map +1 -1
  3. package/lib/components/components.js +1 -1
  4. package/lib/components/image.js +47 -5
  5. package/lib/components/image.js.map +1 -1
  6. package/lib/components/index.js +6 -6
  7. package/lib/components/markdown.js +1 -1
  8. package/lib/components/multichannel/multichannel-utils.js +8 -6
  9. package/lib/components/multichannel/multichannel-utils.js.map +1 -1
  10. package/lib/components/timestamps.js +1 -1
  11. package/lib/constants.js +2 -1
  12. package/lib/constants.js.map +1 -1
  13. package/lib/dev-app.js +7 -6
  14. package/lib/dev-app.js.map +1 -1
  15. package/lib/index.d.ts +3 -0
  16. package/lib/index.js +20 -20
  17. package/lib/message-utils.js +1 -1
  18. package/lib/util/dom.js +8 -2
  19. package/lib/util/dom.js.map +1 -1
  20. package/lib/util/environment.js +1 -1
  21. package/lib/util/objects.js +1 -1
  22. package/lib/util/react.js +1 -1
  23. package/lib/util/webchat.js +1 -1
  24. package/lib/webchat/actions.js +3 -1
  25. package/lib/webchat/actions.js.map +1 -1
  26. package/lib/webchat/devices/device-adapter.js +14 -4
  27. package/lib/webchat/devices/device-adapter.js.map +1 -1
  28. package/lib/webchat/devices/scrollbar-controller.js +5 -3
  29. package/lib/webchat/devices/scrollbar-controller.js.map +1 -1
  30. package/lib/webchat/header.js +1 -1
  31. package/lib/webchat/hooks.js +14 -4
  32. package/lib/webchat/hooks.js.map +1 -1
  33. package/lib/webchat/index.js +1 -1
  34. package/lib/webchat/webchat-reducer.js +6 -0
  35. package/lib/webchat/webchat-reducer.js.map +1 -1
  36. package/lib/webchat/webchat.js +21 -4
  37. package/lib/webchat/webchat.js.map +1 -1
  38. package/lib/webchat/webview.js +1 -1
  39. package/lib/webchat-app.js +20 -9
  40. package/lib/webchat-app.js.map +1 -1
  41. package/package.json +6 -6
  42. package/src/components/button.jsx +2 -0
  43. package/src/dev-app.jsx +8 -3
  44. package/src/experimental/components/custom-message.jsx +2 -1
  45. package/src/experimental/components/message.jsx +14 -7
  46. package/src/experimental/constants.js +189 -0
  47. package/src/experimental/contexts.jsx +36 -0
  48. package/src/experimental/dev-app.jsx +14 -7
  49. package/src/experimental/index.js +32 -20
  50. package/src/experimental/msg-to-botonic.jsx +9 -9
  51. package/src/experimental/react-bot.jsx +1 -1
  52. package/src/experimental/util/dom.js +55 -0
  53. package/src/experimental/util/objects.js +39 -0
  54. package/src/experimental/util/webchat.js +61 -0
  55. package/src/experimental/webchat/actions.jsx +24 -0
  56. package/src/experimental/webchat/hooks.js +296 -0
  57. package/src/experimental/webchat/messages-reducer.js +86 -0
  58. package/src/experimental/webchat/session-view.jsx +166 -0
  59. package/src/experimental/webchat/webchat-dev.jsx +23 -19
  60. package/src/experimental/webchat/webchat-reducer.js +68 -0
  61. package/src/experimental/webchat/webchat.jsx +107 -75
  62. package/src/experimental/webchat-app.jsx +34 -15
  63. package/src/index.d.ts +1 -0
  64. package/src/util/dom.js +5 -3
  65. package/src/webchat/devices/device-adapter.js +16 -4
  66. package/src/webchat/devices/scrollbar-controller.js +9 -4
  67. package/src/webchat/webchat.jsx +2 -1
  68. package/src/webchat-app.jsx +6 -4
  69. package/lib/experimental/components/audio.js +0 -46
  70. package/lib/experimental/components/audio.js.map +0 -1
  71. package/lib/experimental/components/carousel.js +0 -194
  72. package/lib/experimental/components/carousel.js.map +0 -1
  73. package/lib/experimental/components/custom-message.js +0 -132
  74. package/lib/experimental/components/custom-message.js.map +0 -1
  75. package/lib/experimental/components/document.js +0 -69
  76. package/lib/experimental/components/document.js.map +0 -1
  77. package/lib/experimental/components/image.js +0 -47
  78. package/lib/experimental/components/image.js.map +0 -1
  79. package/lib/experimental/components/index.js +0 -184
  80. package/lib/experimental/components/index.js.map +0 -1
  81. package/lib/experimental/components/location.js +0 -54
  82. package/lib/experimental/components/location.js.map +0 -1
  83. package/lib/experimental/components/markdown.js +0 -103
  84. package/lib/experimental/components/markdown.js.map +0 -1
  85. package/lib/experimental/components/message.js +0 -353
  86. package/lib/experimental/components/message.js.map +0 -1
  87. package/lib/experimental/components/text.js +0 -80
  88. package/lib/experimental/components/text.js.map +0 -1
  89. package/lib/experimental/components/video.js +0 -49
  90. package/lib/experimental/components/video.js.map +0 -1
  91. package/lib/experimental/components/whatsapp-template.js +0 -53
  92. package/lib/experimental/components/whatsapp-template.js.map +0 -1
  93. package/lib/experimental/dev-app.js +0 -240
  94. package/lib/experimental/dev-app.js.map +0 -1
  95. package/lib/experimental/index.js +0 -1022
  96. package/lib/experimental/index.js.map +0 -1
  97. package/lib/experimental/msg-to-botonic.js +0 -162
  98. package/lib/experimental/msg-to-botonic.js.map +0 -1
  99. package/lib/experimental/node-app.js +0 -97
  100. package/lib/experimental/node-app.js.map +0 -1
  101. package/lib/experimental/react-bot.js +0 -167
  102. package/lib/experimental/react-bot.js.map +0 -1
  103. package/lib/experimental/webchat/assets/Inter-VariableFont_slnt,wght.ttf +0 -0
  104. package/lib/experimental/webchat/assets/botonic-logo-white.svg +0 -16
  105. package/lib/experimental/webchat/assets/messenger.svg +0 -10
  106. package/lib/experimental/webchat/assets/open-new-window.svg +0 -3
  107. package/lib/experimental/webchat/assets/open.svg +0 -3
  108. package/lib/experimental/webchat/assets/telegram.svg +0 -10
  109. package/lib/experimental/webchat/assets/webchat.svg +0 -21
  110. package/lib/experimental/webchat/assets/whatsapp.svg +0 -4
  111. package/lib/experimental/webchat/webchat-dev.js +0 -300
  112. package/lib/experimental/webchat/webchat-dev.js.map +0 -1
  113. package/lib/experimental/webchat/webchat.js +0 -1051
  114. package/lib/experimental/webchat/webchat.js.map +0 -1
  115. package/lib/experimental/webchat-app.js +0 -642
  116. package/lib/experimental/webchat-app.js.map +0 -1
@@ -1,1022 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- var _exportNames = {
9
- FullstackProdApp: true,
10
- FullstackDevApp: true,
11
- BrowserDevApp: true,
12
- BrowserProdApp: true,
13
- DevApp: true,
14
- WebchatApp: true,
15
- BotonicInputTester: true,
16
- BotonicOutputTester: true,
17
- Button: true,
18
- Element: true,
19
- MessageTemplate: true,
20
- Pic: true,
21
- Reply: true,
22
- ShareButton: true,
23
- Subtitle: true,
24
- Title: true,
25
- WebchatSettings: true,
26
- RequestContext: true,
27
- WebchatContext: true,
28
- staticAsset: true,
29
- getBotonicApp: true,
30
- WebviewApp: true,
31
- Audio: true,
32
- Carousel: true,
33
- customMessage: true,
34
- Document: true,
35
- Image: true,
36
- Location: true,
37
- Text: true,
38
- Video: true,
39
- WhatsappTemplate: true,
40
- msgsToBotonic: true,
41
- msgToBotonic: true,
42
- NodeApp: true,
43
- Webchat: true
44
- };
45
- Object.defineProperty(exports, "DevApp", {
46
- enumerable: true,
47
- get: function get() {
48
- return _devApp.DevApp;
49
- }
50
- });
51
- Object.defineProperty(exports, "WebchatApp", {
52
- enumerable: true,
53
- get: function get() {
54
- return _webchatApp.WebchatApp;
55
- }
56
- });
57
- Object.defineProperty(exports, "BotonicInputTester", {
58
- enumerable: true,
59
- get: function get() {
60
- return _botonicTester.BotonicInputTester;
61
- }
62
- });
63
- Object.defineProperty(exports, "BotonicOutputTester", {
64
- enumerable: true,
65
- get: function get() {
66
- return _botonicTester.BotonicOutputTester;
67
- }
68
- });
69
- Object.defineProperty(exports, "Button", {
70
- enumerable: true,
71
- get: function get() {
72
- return _button.Button;
73
- }
74
- });
75
- Object.defineProperty(exports, "Element", {
76
- enumerable: true,
77
- get: function get() {
78
- return _element.Element;
79
- }
80
- });
81
- Object.defineProperty(exports, "MessageTemplate", {
82
- enumerable: true,
83
- get: function get() {
84
- return _messageTemplate.MessageTemplate;
85
- }
86
- });
87
- Object.defineProperty(exports, "Pic", {
88
- enumerable: true,
89
- get: function get() {
90
- return _pic.Pic;
91
- }
92
- });
93
- Object.defineProperty(exports, "Reply", {
94
- enumerable: true,
95
- get: function get() {
96
- return _reply.Reply;
97
- }
98
- });
99
- Object.defineProperty(exports, "ShareButton", {
100
- enumerable: true,
101
- get: function get() {
102
- return _shareButton.ShareButton;
103
- }
104
- });
105
- Object.defineProperty(exports, "Subtitle", {
106
- enumerable: true,
107
- get: function get() {
108
- return _subtitle.Subtitle;
109
- }
110
- });
111
- Object.defineProperty(exports, "Title", {
112
- enumerable: true,
113
- get: function get() {
114
- return _title.Title;
115
- }
116
- });
117
- Object.defineProperty(exports, "WebchatSettings", {
118
- enumerable: true,
119
- get: function get() {
120
- return _webchatSettings.WebchatSettings;
121
- }
122
- });
123
- Object.defineProperty(exports, "RequestContext", {
124
- enumerable: true,
125
- get: function get() {
126
- return _contexts.RequestContext;
127
- }
128
- });
129
- Object.defineProperty(exports, "WebchatContext", {
130
- enumerable: true,
131
- get: function get() {
132
- return _contexts.WebchatContext;
133
- }
134
- });
135
- Object.defineProperty(exports, "staticAsset", {
136
- enumerable: true,
137
- get: function get() {
138
- return _environment.staticAsset;
139
- }
140
- });
141
- Object.defineProperty(exports, "getBotonicApp", {
142
- enumerable: true,
143
- get: function get() {
144
- return _webchat.getBotonicApp;
145
- }
146
- });
147
- Object.defineProperty(exports, "WebviewApp", {
148
- enumerable: true,
149
- get: function get() {
150
- return _webview.WebviewApp;
151
- }
152
- });
153
- Object.defineProperty(exports, "Audio", {
154
- enumerable: true,
155
- get: function get() {
156
- return _audio.Audio;
157
- }
158
- });
159
- Object.defineProperty(exports, "Carousel", {
160
- enumerable: true,
161
- get: function get() {
162
- return _carousel.Carousel;
163
- }
164
- });
165
- Object.defineProperty(exports, "customMessage", {
166
- enumerable: true,
167
- get: function get() {
168
- return _customMessage.customMessage;
169
- }
170
- });
171
- Object.defineProperty(exports, "Document", {
172
- enumerable: true,
173
- get: function get() {
174
- return _document.Document;
175
- }
176
- });
177
- Object.defineProperty(exports, "Image", {
178
- enumerable: true,
179
- get: function get() {
180
- return _image.Image;
181
- }
182
- });
183
- Object.defineProperty(exports, "Location", {
184
- enumerable: true,
185
- get: function get() {
186
- return _location.Location;
187
- }
188
- });
189
- Object.defineProperty(exports, "Text", {
190
- enumerable: true,
191
- get: function get() {
192
- return _text.Text;
193
- }
194
- });
195
- Object.defineProperty(exports, "Video", {
196
- enumerable: true,
197
- get: function get() {
198
- return _video.Video;
199
- }
200
- });
201
- Object.defineProperty(exports, "WhatsappTemplate", {
202
- enumerable: true,
203
- get: function get() {
204
- return _whatsappTemplate.WhatsappTemplate;
205
- }
206
- });
207
- Object.defineProperty(exports, "msgsToBotonic", {
208
- enumerable: true,
209
- get: function get() {
210
- return _msgToBotonic.msgsToBotonic;
211
- }
212
- });
213
- Object.defineProperty(exports, "msgToBotonic", {
214
- enumerable: true,
215
- get: function get() {
216
- return _msgToBotonic.msgToBotonic;
217
- }
218
- });
219
- Object.defineProperty(exports, "NodeApp", {
220
- enumerable: true,
221
- get: function get() {
222
- return _nodeApp.NodeApp;
223
- }
224
- });
225
- Object.defineProperty(exports, "Webchat", {
226
- enumerable: true,
227
- get: function get() {
228
- return _webchat2.Webchat;
229
- }
230
- });
231
- exports.BrowserProdApp = exports.BrowserDevApp = exports.FullstackDevApp = exports.FullstackProdApp = void 0;
232
-
233
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
234
-
235
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
236
-
237
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
238
-
239
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
240
-
241
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
242
-
243
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
244
-
245
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
246
-
247
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
248
-
249
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
250
-
251
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
252
-
253
- var _axios = _interopRequireDefault(require("axios"));
254
-
255
- var _he = require("he");
256
-
257
- var _lodash = _interopRequireDefault(require("lodash.merge"));
258
-
259
- var _react = _interopRequireDefault(require("react"));
260
-
261
- var _reconnectingWebsocket = _interopRequireDefault(require("reconnecting-websocket"));
262
-
263
- var _devApp = require("./dev-app");
264
-
265
- var _reactBot = require("./react-bot");
266
-
267
- var _webchatDev = require("./webchat/webchat-dev");
268
-
269
- var _webchatApp = require("./webchat-app");
270
-
271
- var _botonicTester = require("../botonic-tester");
272
-
273
- var _button = require("../components/button");
274
-
275
- var _element = require("../components/element");
276
-
277
- var _messageTemplate = require("../components/message-template");
278
-
279
- var _multichannel = require("../components/multichannel");
280
-
281
- Object.keys(_multichannel).forEach(function (key) {
282
- if (key === "default" || key === "__esModule") return;
283
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
284
- if (key in exports && exports[key] === _multichannel[key]) return;
285
- Object.defineProperty(exports, key, {
286
- enumerable: true,
287
- get: function get() {
288
- return _multichannel[key];
289
- }
290
- });
291
- });
292
-
293
- var _pic = require("../components/pic");
294
-
295
- var _reply = require("../components/reply");
296
-
297
- var _shareButton = require("../components/share-button");
298
-
299
- var _subtitle = require("../components/subtitle");
300
-
301
- var _title = require("../components/title");
302
-
303
- var _webchatSettings = require("../components/webchat-settings");
304
-
305
- var _contexts = require("../contexts");
306
-
307
- var _environment = require("../util/environment");
308
-
309
- var _webchat = require("../webchat");
310
-
311
- var _webview = require("../webview");
312
-
313
- var _audio = require("./components/audio");
314
-
315
- var _carousel = require("./components/carousel");
316
-
317
- var _customMessage = require("./components/custom-message");
318
-
319
- var _document = require("./components/document");
320
-
321
- var _image = require("./components/image");
322
-
323
- var _location = require("./components/location");
324
-
325
- var _text = require("./components/text");
326
-
327
- var _video = require("./components/video");
328
-
329
- var _whatsappTemplate = require("./components/whatsapp-template");
330
-
331
- var _msgToBotonic = require("./msg-to-botonic");
332
-
333
- var _nodeApp = require("./node-app");
334
-
335
- var _webchat2 = require("./webchat/webchat");
336
-
337
- var _excluded = ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage"],
338
- _excluded2 = ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "hostId", "shadowDOM", "defaultDelay", "defaultTyping", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage", "appId", "visibility"];
339
-
340
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
341
-
342
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
343
-
344
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
345
-
346
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
347
-
348
- var WebsocketBackendService = /*#__PURE__*/function () {
349
- function WebsocketBackendService(_ref) {
350
- var user = _ref.user,
351
- lastMessageId = _ref.lastMessageId,
352
- onEvent = _ref.onEvent,
353
- updateJwt = _ref.updateJwt,
354
- jwt = _ref.jwt;
355
- (0, _classCallCheck2["default"])(this, WebsocketBackendService);
356
- this.user = user || {};
357
- this.lastMessageId = lastMessageId;
358
- this.onEvent = onEvent;
359
- this.jwt = jwt;
360
- this.updateJwt = updateJwt;
361
- this.init();
362
- }
363
-
364
- (0, _createClass2["default"])(WebsocketBackendService, [{
365
- key: "init",
366
- value: function () {
367
- var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(user, lastMessageId) {
368
- return _regenerator["default"].wrap(function _callee$(_context) {
369
- while (1) {
370
- switch (_context.prev = _context.next) {
371
- case 0:
372
- if (user) this.user = user;
373
- if (lastMessageId) this.lastMessageId = lastMessageId;
374
-
375
- if (!(this.wsClient || !this.user.id)) {
376
- _context.next = 4;
377
- break;
378
- }
379
-
380
- return _context.abrupt("return");
381
-
382
- case 4:
383
- if (this.jwt) {
384
- _context.next = 7;
385
- break;
386
- }
387
-
388
- _context.next = 7;
389
- return this.doAuthAndUpdateJwt();
390
-
391
- case 7:
392
- this.initWebsocket();
393
-
394
- case 8:
395
- case "end":
396
- return _context.stop();
397
- }
398
- }
399
- }, _callee, this);
400
- }));
401
-
402
- function init(_x, _x2) {
403
- return _init.apply(this, arguments);
404
- }
405
-
406
- return init;
407
- }()
408
- }, {
409
- key: "initWebsocket",
410
- value: function initWebsocket() {
411
- var _this = this;
412
-
413
- // Establish WebSocket Connection
414
- // eslint-disable-next-line no-undef
415
- this.wsClient = new _reconnectingWebsocket["default"](WEBSOCKET_URL); // On Connection Established...
416
-
417
- this.wsClient.addEventListener('open', function () {
418
- // Send JWT token to onAuth and update user with new connection ID
419
- _this.wsClient.send(JSON.stringify({
420
- token: _this.jwt
421
- }));
422
- }); // On Event Received...
423
-
424
- this.wsClient.addEventListener('message', function (event) {
425
- console.log(event, _this.onEvent);
426
- var message = JSON.parse((0, _he.decode)(event.data));
427
- if (_this.onEvent && typeof _this.onEvent === 'function') _this.onEvent({
428
- message: message
429
- });
430
- });
431
- }
432
- }, {
433
- key: "doAuthAndUpdateJwt",
434
- value: function () {
435
- var _doAuthAndUpdateJwt = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
436
- return _regenerator["default"].wrap(function _callee2$(_context2) {
437
- while (1) {
438
- switch (_context2.prev = _context2.next) {
439
- case 0:
440
- _context2.next = 2;
441
- return this.doAuth({
442
- userId: this.user.id
443
- });
444
-
445
- case 2:
446
- this.jwt = _context2.sent;
447
- this.updateJwt(this.jwt);
448
-
449
- case 4:
450
- case "end":
451
- return _context2.stop();
452
- }
453
- }
454
- }, _callee2, this);
455
- }));
456
-
457
- function doAuthAndUpdateJwt() {
458
- return _doAuthAndUpdateJwt.apply(this, arguments);
459
- }
460
-
461
- return doAuthAndUpdateJwt;
462
- }()
463
- }, {
464
- key: "doAuth",
465
- value: function () {
466
- var _doAuth = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref2) {
467
- var userId, _yield$axios$post, token;
468
-
469
- return _regenerator["default"].wrap(function _callee3$(_context3) {
470
- while (1) {
471
- switch (_context3.prev = _context3.next) {
472
- case 0:
473
- userId = _ref2.userId;
474
- _context3.prev = 1;
475
- _context3.next = 4;
476
- return _axios["default"].post("".concat(REST_API_URL, "auth/"), {
477
- userId: userId
478
- });
479
-
480
- case 4:
481
- _yield$axios$post = _context3.sent;
482
- token = _yield$axios$post.data.token;
483
- return _context3.abrupt("return", token);
484
-
485
- case 9:
486
- _context3.prev = 9;
487
- _context3.t0 = _context3["catch"](1);
488
- console.error(_context3.t0);
489
- return _context3.abrupt("return", null);
490
-
491
- case 13:
492
- case "end":
493
- return _context3.stop();
494
- }
495
- }
496
- }, _callee3, null, [[1, 9]]);
497
- }));
498
-
499
- function doAuth(_x3) {
500
- return _doAuth.apply(this, arguments);
501
- }
502
-
503
- return doAuth;
504
- }()
505
- }, {
506
- key: "postMessage",
507
- value: function () {
508
- var _postMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(user, message) {
509
- var hasErrors;
510
- return _regenerator["default"].wrap(function _callee4$(_context4) {
511
- while (1) {
512
- switch (_context4.prev = _context4.next) {
513
- case 0:
514
- hasErrors = false;
515
- _context4.prev = 1;
516
- _context4.next = 4;
517
- return _axios["default"].post( // eslint-disable-next-line no-undef
518
- "".concat(REST_API_URL, "events/"), {
519
- message: message,
520
- sender: user
521
- }, {
522
- headers: {
523
- Authorization: 'Bearer ' + this.jwt
524
- }
525
- } // Note: Do not use string template as it will convert the token with commas, which will be invalid
526
- )["catch"](function (error) {
527
- if (error.response.status === 401) hasErrors = true;
528
- });
529
-
530
- case 4:
531
- _context4.next = 9;
532
- break;
533
-
534
- case 6:
535
- _context4.prev = 6;
536
- _context4.t0 = _context4["catch"](1);
537
- if (_context4.t0 && _context4.t0.response.status === 401) hasErrors = true;
538
-
539
- case 9:
540
- if (!hasErrors) {
541
- _context4.next = 14;
542
- break;
543
- }
544
-
545
- _context4.next = 12;
546
- return this.doAuthAndUpdateJwt();
547
-
548
- case 12:
549
- _context4.next = 14;
550
- return this.postMessage(user, message);
551
-
552
- case 14:
553
- case "end":
554
- return _context4.stop();
555
- }
556
- }
557
- }, _callee4, this, [[1, 6]]);
558
- }));
559
-
560
- function postMessage(_x4, _x5) {
561
- return _postMessage.apply(this, arguments);
562
- }
563
-
564
- return postMessage;
565
- }()
566
- }]);
567
- return WebsocketBackendService;
568
- }();
569
-
570
- var FullstackProdApp = /*#__PURE__*/function (_WebchatApp) {
571
- (0, _inherits2["default"])(FullstackProdApp, _WebchatApp);
572
-
573
- var _super = _createSuper(FullstackProdApp);
574
-
575
- function FullstackProdApp() {
576
- (0, _classCallCheck2["default"])(this, FullstackProdApp);
577
- return _super.apply(this, arguments);
578
- }
579
-
580
- (0, _createClass2["default"])(FullstackProdApp, [{
581
- key: "onUserInput",
582
- value: function () {
583
- var _onUserInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref3) {
584
- var user, input;
585
- return _regenerator["default"].wrap(function _callee5$(_context5) {
586
- while (1) {
587
- switch (_context5.prev = _context5.next) {
588
- case 0:
589
- user = _ref3.user, input = _ref3.input;
590
- this.onMessage && this.onMessage(this, {
591
- from: 'user',
592
- message: input
593
- });
594
- this.backendService.postMessage(user, input);
595
-
596
- case 3:
597
- case "end":
598
- return _context5.stop();
599
- }
600
- }
601
- }, _callee5, this);
602
- }));
603
-
604
- function onUserInput(_x6) {
605
- return _onUserInput.apply(this, arguments);
606
- }
607
-
608
- return onUserInput;
609
- }()
610
- }, {
611
- key: "doAuth",
612
- value: function () {
613
- var _doAuth2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref4) {
614
- var userId;
615
- return _regenerator["default"].wrap(function _callee6$(_context6) {
616
- while (1) {
617
- switch (_context6.prev = _context6.next) {
618
- case 0:
619
- userId = _ref4.userId;
620
- _context6.next = 3;
621
- return this.backendService.doAuth({
622
- userId: userId
623
- });
624
-
625
- case 3:
626
- return _context6.abrupt("return", _context6.sent);
627
-
628
- case 4:
629
- case "end":
630
- return _context6.stop();
631
- }
632
- }
633
- }, _callee6, this);
634
- }));
635
-
636
- function doAuth(_x7) {
637
- return _doAuth2.apply(this, arguments);
638
- }
639
-
640
- return doAuth;
641
- }()
642
- }, {
643
- key: "onStateChange",
644
- value: function onStateChange(_ref5) {
645
- var _this2 = this;
646
-
647
- var user = _ref5.session.user,
648
- messagesJSON = _ref5.messagesJSON,
649
- jwt = _ref5.jwt,
650
- _updateJwt = _ref5.updateJwt;
651
-
652
- if (!this.backendService && user) {
653
- var lastMessage = messagesJSON[messagesJSON.length - 1];
654
- this.backendService = new WebsocketBackendService({
655
- user: user,
656
- lastMessageId: lastMessage && lastMessage.id,
657
- onEvent: function onEvent(event) {
658
- return _this2.onServiceEvent(event);
659
- },
660
- jwt: jwt,
661
- updateJwt: function () {
662
- var _updateJwt2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(token) {
663
- return _regenerator["default"].wrap(function _callee7$(_context7) {
664
- while (1) {
665
- switch (_context7.prev = _context7.next) {
666
- case 0:
667
- return _context7.abrupt("return", _updateJwt(token));
668
-
669
- case 1:
670
- case "end":
671
- return _context7.stop();
672
- }
673
- }
674
- }, _callee7);
675
- }));
676
-
677
- function updateJwt(_x8) {
678
- return _updateJwt2.apply(this, arguments);
679
- }
680
-
681
- return updateJwt;
682
- }()
683
- });
684
- }
685
- }
686
- }]);
687
- return FullstackProdApp;
688
- }(_webchatApp.WebchatApp);
689
-
690
- exports.FullstackProdApp = FullstackProdApp;
691
-
692
- var FullstackDevApp = /*#__PURE__*/function (_DevApp) {
693
- (0, _inherits2["default"])(FullstackDevApp, _DevApp);
694
-
695
- var _super2 = _createSuper(FullstackDevApp);
696
-
697
- function FullstackDevApp(args) {
698
- var _this3;
699
-
700
- (0, _classCallCheck2["default"])(this, FullstackDevApp);
701
- _this3 = _super2.call(this, _objectSpread(_objectSpread({}, args), {}, {
702
- routes: []
703
- }));
704
- _this3.playgroundCode = args.playgroundCode;
705
- console.log('FullstackDevApp ', args.playgroundCode);
706
- return _this3;
707
- }
708
-
709
- (0, _createClass2["default"])(FullstackDevApp, [{
710
- key: "onUserInput",
711
- value: function () {
712
- var _onUserInput2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(_ref6) {
713
- var user, input;
714
- return _regenerator["default"].wrap(function _callee8$(_context8) {
715
- while (1) {
716
- switch (_context8.prev = _context8.next) {
717
- case 0:
718
- user = _ref6.user, input = _ref6.input;
719
- this.onMessage && this.onMessage(this, {
720
- from: 'user',
721
- message: input
722
- });
723
- this.backendService && this.backendService.postMessage(user, input);
724
-
725
- case 3:
726
- case "end":
727
- return _context8.stop();
728
- }
729
- }
730
- }, _callee8, this);
731
- }));
732
-
733
- function onUserInput(_x9) {
734
- return _onUserInput2.apply(this, arguments);
735
- }
736
-
737
- return onUserInput;
738
- }()
739
- }, {
740
- key: "getComponent",
741
- value: function getComponent() {
742
- var _this4 = this;
743
-
744
- var optionsAtRuntime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
745
- var _optionsAtRuntime$the = optionsAtRuntime.theme,
746
- theme = _optionsAtRuntime$the === void 0 ? {} : _optionsAtRuntime$the,
747
- persistentMenu = optionsAtRuntime.persistentMenu,
748
- coverComponent = optionsAtRuntime.coverComponent,
749
- blockInputs = optionsAtRuntime.blockInputs,
750
- enableEmojiPicker = optionsAtRuntime.enableEmojiPicker,
751
- enableAttachments = optionsAtRuntime.enableAttachments,
752
- enableUserInput = optionsAtRuntime.enableUserInput,
753
- enableAnimations = optionsAtRuntime.enableAnimations,
754
- storage = optionsAtRuntime.storage,
755
- storageKey = optionsAtRuntime.storageKey,
756
- onInit = optionsAtRuntime.onInit,
757
- onOpen = optionsAtRuntime.onOpen,
758
- onClose = optionsAtRuntime.onClose,
759
- onMessage = optionsAtRuntime.onMessage,
760
- webchatOptions = (0, _objectWithoutProperties2["default"])(optionsAtRuntime, _excluded);
761
- theme = (0, _lodash["default"])(this.theme, theme);
762
- persistentMenu = persistentMenu || this.persistentMenu;
763
- coverComponent = coverComponent || this.coverComponent;
764
- blockInputs = blockInputs || this.blockInputs;
765
- enableEmojiPicker = enableEmojiPicker || this.enableEmojiPicker;
766
- enableAttachments = enableAttachments || this.enableAttachments;
767
- enableUserInput = enableUserInput || this.enableUserInput;
768
- enableAnimations = enableAnimations || this.enableAnimations;
769
- storage = storage || this.storage;
770
- storageKey = storageKey || this.storageKey;
771
- this.onInit = onInit || this.onInit;
772
- this.onOpen = onOpen || this.onOpen;
773
- this.onClose = onClose || this.onClose;
774
- this.onMessage = onMessage || this.onMessage;
775
- return /*#__PURE__*/_react["default"].createElement(_webchatDev.WebchatDev, (0, _extends2["default"])({}, webchatOptions, {
776
- ref: this.webchatRef,
777
- host: this.host,
778
- shadowDOM: this.shadowDOM,
779
- theme: theme,
780
- persistentMenu: persistentMenu,
781
- coverComponent: coverComponent,
782
- blockInputs: blockInputs,
783
- enableEmojiPicker: enableEmojiPicker,
784
- enableAttachments: enableAttachments,
785
- enableUserInput: enableUserInput,
786
- enableAnimations: enableAnimations,
787
- storage: storage,
788
- storageKey: storageKey,
789
- playgroundCode: this.playgroundCode,
790
- onStateChange: function onStateChange(webchatState) {
791
- return _this4.onStateChange(webchatState);
792
- },
793
- getString: function getString(stringId, session) {
794
- return _this4.bot.getString(stringId, session);
795
- },
796
- setLocale: function setLocale(locale, session) {
797
- return _this4.bot.setLocale(locale, session);
798
- },
799
- onInit: function onInit() {
800
- return _this4.onInitWebchat.apply(_this4, arguments);
801
- },
802
- onOpen: function onOpen() {
803
- return _this4.onOpenWebchat.apply(_this4, arguments);
804
- },
805
- onClose: function onClose() {
806
- return _this4.onCloseWebchat.apply(_this4, arguments);
807
- },
808
- onUserInput: function onUserInput() {
809
- return _this4.onUserInput.apply(_this4, arguments);
810
- },
811
- doAuth: function doAuth() {
812
- return _this4.doAuth.apply(_this4, arguments);
813
- }
814
- }));
815
- }
816
- }, {
817
- key: "doAuth",
818
- value: function () {
819
- var _doAuth3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(_ref7) {
820
- var userId;
821
- return _regenerator["default"].wrap(function _callee9$(_context9) {
822
- while (1) {
823
- switch (_context9.prev = _context9.next) {
824
- case 0:
825
- userId = _ref7.userId;
826
- _context9.next = 3;
827
- return this.backendService.doAuth({
828
- userId: userId
829
- });
830
-
831
- case 3:
832
- return _context9.abrupt("return", _context9.sent);
833
-
834
- case 4:
835
- case "end":
836
- return _context9.stop();
837
- }
838
- }
839
- }, _callee9, this);
840
- }));
841
-
842
- function doAuth(_x10) {
843
- return _doAuth3.apply(this, arguments);
844
- }
845
-
846
- return doAuth;
847
- }()
848
- }, {
849
- key: "onStateChange",
850
- value: function onStateChange(_ref8) {
851
- var _this5 = this;
852
-
853
- var user = _ref8.session.user,
854
- messagesJSON = _ref8.messagesJSON,
855
- jwt = _ref8.jwt,
856
- _updateJwt3 = _ref8.updateJwt;
857
-
858
- if (!this.backendService && user) {
859
- var lastMessage = messagesJSON[messagesJSON.length - 1];
860
- this.backendService = new WebsocketBackendService({
861
- user: user,
862
- lastMessageId: lastMessage && lastMessage.id,
863
- onEvent: function onEvent(event) {
864
- return _this5.onServiceEvent(event);
865
- },
866
- updateJwt: function () {
867
- var _updateJwt4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(token) {
868
- return _regenerator["default"].wrap(function _callee10$(_context10) {
869
- while (1) {
870
- switch (_context10.prev = _context10.next) {
871
- case 0:
872
- return _context10.abrupt("return", _updateJwt3(token));
873
-
874
- case 1:
875
- case "end":
876
- return _context10.stop();
877
- }
878
- }
879
- }, _callee10);
880
- }));
881
-
882
- function updateJwt(_x11) {
883
- return _updateJwt4.apply(this, arguments);
884
- }
885
-
886
- return updateJwt;
887
- }(),
888
- jwt: jwt
889
- });
890
- }
891
- }
892
- }]);
893
- return FullstackDevApp;
894
- }(_devApp.DevApp);
895
-
896
- exports.FullstackDevApp = FullstackDevApp;
897
-
898
- var BrowserDevApp = /*#__PURE__*/function (_DevApp2) {
899
- (0, _inherits2["default"])(BrowserDevApp, _DevApp2);
900
-
901
- var _super3 = _createSuper(BrowserDevApp);
902
-
903
- function BrowserDevApp() {
904
- (0, _classCallCheck2["default"])(this, BrowserDevApp);
905
- return _super3.apply(this, arguments);
906
- }
907
-
908
- return BrowserDevApp;
909
- }(_devApp.DevApp);
910
-
911
- exports.BrowserDevApp = BrowserDevApp;
912
-
913
- var BrowserProdApp = /*#__PURE__*/function (_WebchatApp2) {
914
- (0, _inherits2["default"])(BrowserProdApp, _WebchatApp2);
915
-
916
- var _super4 = _createSuper(BrowserProdApp);
917
-
918
- function BrowserProdApp(_ref9) {
919
- var _this6;
920
-
921
- var _ref9$theme = _ref9.theme,
922
- theme = _ref9$theme === void 0 ? {} : _ref9$theme,
923
- persistentMenu = _ref9.persistentMenu,
924
- coverComponent = _ref9.coverComponent,
925
- blockInputs = _ref9.blockInputs,
926
- enableEmojiPicker = _ref9.enableEmojiPicker,
927
- enableAttachments = _ref9.enableAttachments,
928
- enableUserInput = _ref9.enableUserInput,
929
- enableAnimations = _ref9.enableAnimations,
930
- hostId = _ref9.hostId,
931
- shadowDOM = _ref9.shadowDOM,
932
- defaultDelay = _ref9.defaultDelay,
933
- defaultTyping = _ref9.defaultTyping,
934
- storage = _ref9.storage,
935
- storageKey = _ref9.storageKey,
936
- onInit = _ref9.onInit,
937
- onOpen = _ref9.onOpen,
938
- onClose = _ref9.onClose,
939
- onMessage = _ref9.onMessage,
940
- appId = _ref9.appId,
941
- visibility = _ref9.visibility,
942
- botOptions = (0, _objectWithoutProperties2["default"])(_ref9, _excluded2);
943
- (0, _classCallCheck2["default"])(this, BrowserProdApp);
944
- _this6 = _super4.call(this, {
945
- theme: theme,
946
- persistentMenu: persistentMenu,
947
- coverComponent: coverComponent,
948
- blockInputs: blockInputs,
949
- enableEmojiPicker: enableEmojiPicker,
950
- enableAttachments: enableAttachments,
951
- enableUserInput: enableUserInput,
952
- enableAnimations: enableAnimations,
953
- hostId: hostId,
954
- shadowDOM: shadowDOM,
955
- defaultDelay: defaultDelay,
956
- defaultTyping: defaultTyping,
957
- storage: storage,
958
- storageKey: storageKey,
959
- onInit: onInit,
960
- onOpen: onOpen,
961
- onClose: onClose,
962
- onMessage: onMessage,
963
- appId: appId,
964
- visibility: visibility
965
- });
966
- _this6.bot = new _reactBot.ReactBot(_objectSpread({}, botOptions));
967
- return _this6;
968
- }
969
-
970
- (0, _createClass2["default"])(BrowserProdApp, [{
971
- key: "onUserInput",
972
- value: function () {
973
- var _onUserInput3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11(_ref10) {
974
- var _this7 = this;
975
-
976
- var input, session, lastRoutePath, resp;
977
- return _regenerator["default"].wrap(function _callee11$(_context11) {
978
- while (1) {
979
- switch (_context11.prev = _context11.next) {
980
- case 0:
981
- input = _ref10.input, session = _ref10.session, lastRoutePath = _ref10.lastRoutePath;
982
- this.onMessage && this.onMessage(this, {
983
- from: 'user',
984
- message: input
985
- });
986
- _context11.next = 4;
987
- return this.bot.input({
988
- input: input,
989
- session: session,
990
- lastRoutePath: lastRoutePath
991
- });
992
-
993
- case 4:
994
- resp = _context11.sent;
995
- this.onMessage && resp.response.map(function (r) {
996
- return _this7.onMessage(_this7, {
997
- from: 'bot',
998
- message: r
999
- });
1000
- });
1001
- this.webchatRef.current.addBotResponse(resp);
1002
-
1003
- case 7:
1004
- case "end":
1005
- return _context11.stop();
1006
- }
1007
- }
1008
- }, _callee11, this);
1009
- }));
1010
-
1011
- function onUserInput(_x12) {
1012
- return _onUserInput3.apply(this, arguments);
1013
- }
1014
-
1015
- return onUserInput;
1016
- }()
1017
- }]);
1018
- return BrowserProdApp;
1019
- }(_webchatApp.WebchatApp);
1020
-
1021
- exports.BrowserProdApp = BrowserProdApp;
1022
- //# sourceMappingURL=index.js.map