@botonic/react 0.31.0-alpha.2 → 0.31.0-alpha.4

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 (161) hide show
  1. package/lib/cjs/components/element.js +6 -6
  2. package/lib/cjs/components/element.js.map +1 -1
  3. package/lib/cjs/components/index-types.d.ts +2 -0
  4. package/lib/cjs/components/multichannel/multichannel-button.js +2 -2
  5. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
  6. package/lib/cjs/components/multichannel/multichannel-carousel.js +4 -4
  7. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
  8. package/lib/cjs/components/multichannel/multichannel-text.js +12 -11
  9. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
  10. package/lib/cjs/components/multichannel/multichannel-utils.d.ts +9 -15
  11. package/lib/cjs/components/multichannel/multichannel-utils.js +48 -27
  12. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
  13. package/lib/cjs/components/multichannel/multichannel.js +7 -7
  14. package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
  15. package/lib/cjs/components/multichannel/whatsapp/constants.d.ts +11 -0
  16. package/lib/cjs/components/multichannel/whatsapp/constants.js +13 -0
  17. package/lib/cjs/components/multichannel/whatsapp/constants.js.map +1 -0
  18. package/lib/cjs/components/whatsapp-button-list.js +2 -2
  19. package/lib/cjs/components/whatsapp-button-list.js.map +1 -1
  20. package/lib/cjs/components/whatsapp-cta-url-button.js +5 -5
  21. package/lib/cjs/components/whatsapp-cta-url-button.js.map +1 -1
  22. package/lib/cjs/constants.d.ts +0 -6
  23. package/lib/cjs/constants.js +1 -7
  24. package/lib/cjs/constants.js.map +1 -1
  25. package/lib/cjs/contexts.js +6 -0
  26. package/lib/cjs/contexts.js.map +1 -1
  27. package/lib/cjs/dev-app.d.ts +7 -0
  28. package/lib/cjs/index-types.d.ts +4 -7
  29. package/lib/cjs/index-types.js.map +1 -1
  30. package/lib/cjs/index.d.ts +1 -1
  31. package/lib/cjs/index.js.map +1 -1
  32. package/lib/cjs/webchat/actions.d.ts +2 -1
  33. package/lib/cjs/webchat/actions.js +1 -0
  34. package/lib/cjs/webchat/actions.js.map +1 -1
  35. package/lib/cjs/webchat/cover-component/index.d.ts +6 -0
  36. package/lib/cjs/webchat/cover-component/index.js +21 -0
  37. package/lib/cjs/webchat/cover-component/index.js.map +1 -0
  38. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.d.ts +6 -4
  39. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  40. package/lib/cjs/webchat/hooks/use-webchat.d.ts +1 -0
  41. package/lib/cjs/webchat/hooks/use-webchat.js +8 -0
  42. package/lib/cjs/webchat/hooks/use-webchat.js.map +1 -1
  43. package/lib/cjs/webchat/index-types.d.ts +1 -0
  44. package/lib/cjs/webchat/input-panel/textarea.js +8 -2
  45. package/lib/cjs/webchat/input-panel/textarea.js.map +1 -1
  46. package/lib/cjs/webchat/message-list/index.js +63 -35
  47. package/lib/cjs/webchat/message-list/index.js.map +1 -1
  48. package/lib/cjs/webchat/message-list/styles.js +3 -3
  49. package/lib/cjs/webchat/typing-indicator/index.d.ts +3 -1
  50. package/lib/cjs/webchat/typing-indicator/index.js +4 -3
  51. package/lib/cjs/webchat/typing-indicator/index.js.map +1 -1
  52. package/lib/cjs/webchat/typing-indicator/styles.d.ts +3 -2
  53. package/lib/cjs/webchat/typing-indicator/styles.js +6 -3
  54. package/lib/cjs/webchat/typing-indicator/styles.js.map +1 -1
  55. package/lib/cjs/webchat/webchat-reducer.js +2 -0
  56. package/lib/cjs/webchat/webchat-reducer.js.map +1 -1
  57. package/lib/cjs/webchat/webchat-typed/styles.d.ts +7 -0
  58. package/lib/cjs/webchat/webchat-typed/styles.js +54 -0
  59. package/lib/cjs/webchat/webchat-typed/styles.js.map +1 -0
  60. package/lib/cjs/webchat/webchat-typed/webchat-typed.d.ts +0 -0
  61. package/lib/cjs/webchat/webchat-typed/webchat-typed.js +663 -0
  62. package/lib/cjs/webchat/webchat-typed/webchat-typed.js.map +1 -0
  63. package/lib/cjs/webchat/webchat.js +16 -18
  64. package/lib/cjs/webchat/webchat.js.map +1 -1
  65. package/lib/cjs/webchat-app.d.ts +117 -76
  66. package/lib/cjs/webchat-app.js +98 -55
  67. package/lib/cjs/webchat-app.js.map +1 -1
  68. package/lib/esm/components/element.js +6 -6
  69. package/lib/esm/components/element.js.map +1 -1
  70. package/lib/esm/components/index-types.d.ts +2 -0
  71. package/lib/esm/components/multichannel/multichannel-button.js +1 -1
  72. package/lib/esm/components/multichannel/multichannel-carousel.js +5 -5
  73. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
  74. package/lib/esm/components/multichannel/multichannel-text.js +2 -1
  75. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
  76. package/lib/esm/components/multichannel/multichannel-utils.d.ts +9 -15
  77. package/lib/esm/components/multichannel/multichannel-utils.js +40 -24
  78. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
  79. package/lib/esm/components/multichannel/multichannel.js +7 -7
  80. package/lib/esm/components/multichannel/multichannel.js.map +1 -1
  81. package/lib/esm/components/multichannel/whatsapp/constants.d.ts +11 -0
  82. package/lib/esm/components/multichannel/whatsapp/constants.js +10 -0
  83. package/lib/esm/components/multichannel/whatsapp/constants.js.map +1 -0
  84. package/lib/esm/components/whatsapp-button-list.js +1 -1
  85. package/lib/esm/components/whatsapp-cta-url-button.js +1 -1
  86. package/lib/esm/constants.d.ts +0 -6
  87. package/lib/esm/constants.js +0 -6
  88. package/lib/esm/constants.js.map +1 -1
  89. package/lib/esm/contexts.js +6 -0
  90. package/lib/esm/contexts.js.map +1 -1
  91. package/lib/esm/dev-app.d.ts +7 -0
  92. package/lib/esm/index-types.d.ts +4 -7
  93. package/lib/esm/index-types.js.map +1 -1
  94. package/lib/esm/index.d.ts +1 -1
  95. package/lib/esm/index.js.map +1 -1
  96. package/lib/esm/webchat/actions.d.ts +2 -1
  97. package/lib/esm/webchat/actions.js +1 -0
  98. package/lib/esm/webchat/actions.js.map +1 -1
  99. package/lib/esm/webchat/cover-component/index.d.ts +6 -0
  100. package/lib/esm/webchat/cover-component/index.js +17 -0
  101. package/lib/esm/webchat/cover-component/index.js.map +1 -0
  102. package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +6 -4
  103. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  104. package/lib/esm/webchat/hooks/use-webchat.d.ts +1 -0
  105. package/lib/esm/webchat/hooks/use-webchat.js +8 -0
  106. package/lib/esm/webchat/hooks/use-webchat.js.map +1 -1
  107. package/lib/esm/webchat/index-types.d.ts +1 -0
  108. package/lib/esm/webchat/input-panel/textarea.js +8 -2
  109. package/lib/esm/webchat/input-panel/textarea.js.map +1 -1
  110. package/lib/esm/webchat/message-list/index.js +62 -35
  111. package/lib/esm/webchat/message-list/index.js.map +1 -1
  112. package/lib/esm/webchat/message-list/styles.js +3 -3
  113. package/lib/esm/webchat/typing-indicator/index.d.ts +3 -1
  114. package/lib/esm/webchat/typing-indicator/index.js +5 -2
  115. package/lib/esm/webchat/typing-indicator/index.js.map +1 -1
  116. package/lib/esm/webchat/typing-indicator/styles.d.ts +3 -2
  117. package/lib/esm/webchat/typing-indicator/styles.js +5 -2
  118. package/lib/esm/webchat/typing-indicator/styles.js.map +1 -1
  119. package/lib/esm/webchat/webchat-reducer.js +2 -0
  120. package/lib/esm/webchat/webchat-reducer.js.map +1 -1
  121. package/lib/esm/webchat/webchat-typed/styles.d.ts +7 -0
  122. package/lib/esm/webchat/webchat-typed/styles.js +50 -0
  123. package/lib/esm/webchat/webchat-typed/styles.js.map +1 -0
  124. package/lib/esm/webchat/webchat-typed/webchat-typed.d.ts +0 -0
  125. package/lib/esm/webchat/webchat-typed/webchat-typed.js +663 -0
  126. package/lib/esm/webchat/webchat-typed/webchat-typed.js.map +1 -0
  127. package/lib/esm/webchat/webchat.js +16 -18
  128. package/lib/esm/webchat/webchat.js.map +1 -1
  129. package/lib/esm/webchat-app.d.ts +117 -76
  130. package/lib/esm/webchat-app.js +99 -56
  131. package/lib/esm/webchat-app.js.map +1 -1
  132. package/package.json +5 -4
  133. package/src/components/element.jsx +4 -11
  134. package/src/components/index-types.ts +4 -0
  135. package/src/components/multichannel/multichannel-button.jsx +1 -1
  136. package/src/components/multichannel/multichannel-carousel.jsx +7 -5
  137. package/src/components/multichannel/multichannel-text.jsx +4 -2
  138. package/src/components/multichannel/multichannel-utils.js +45 -27
  139. package/src/components/multichannel/multichannel.jsx +12 -7
  140. package/src/components/multichannel/whatsapp/constants.ts +10 -0
  141. package/src/components/whatsapp-button-list.tsx +1 -1
  142. package/src/components/whatsapp-cta-url-button.tsx +1 -1
  143. package/src/constants.js +0 -7
  144. package/src/contexts.tsx +6 -0
  145. package/src/index-types.ts +4 -7
  146. package/src/index.ts +1 -1
  147. package/src/webchat/actions.ts +1 -0
  148. package/src/webchat/cover-component/index.tsx +31 -0
  149. package/src/webchat/hooks/use-scroll-to-bottom.ts +8 -2
  150. package/src/webchat/hooks/use-webchat.ts +9 -0
  151. package/src/webchat/index-types.ts +1 -0
  152. package/src/webchat/input-panel/textarea.tsx +12 -1
  153. package/src/webchat/message-list/index.tsx +79 -48
  154. package/src/webchat/message-list/styles.ts +3 -3
  155. package/src/webchat/typing-indicator/index.tsx +20 -12
  156. package/src/webchat/typing-indicator/styles.ts +7 -3
  157. package/src/webchat/webchat-reducer.ts +2 -0
  158. package/src/webchat/webchat-typed/styles.ts +54 -0
  159. package/src/webchat/webchat-typed/webchat-typed.tsx +728 -0
  160. package/src/webchat/webchat.jsx +48 -48
  161. package/src/{webchat-app.jsx → webchat-app.tsx} +246 -77
@@ -2,15 +2,17 @@ import { __awaiter, __rest } from "tslib";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { HubtypeService, INPUT } from '@botonic/core';
4
4
  import merge from 'lodash.merge';
5
- import React, { createRef } from 'react';
5
+ import { createRef } from 'react';
6
6
  import { createRoot } from 'react-dom/client';
7
7
  import { WEBCHAT } from './constants';
8
- import { SENDERS, Typing } from './index-types';
8
+ import { SENDERS, Typing, } from './index-types';
9
9
  import { msgToBotonic } from './msg-to-botonic';
10
10
  import { isShadowDOMSupported, onDOMLoaded } from './util/dom';
11
11
  import { Webchat } from './webchat/webchat';
12
12
  export class WebchatApp {
13
- constructor({ theme = {}, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, hostId, shadowDOM, defaultDelay, defaultTyping, storage, storageKey, onInit, onOpen, onClose, onMessage, onTrackEvent, onConnectionChange, appId, visibility, server, }) {
13
+ constructor({ theme = {}, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, hostId = 'root', shadowDOM = false, defaultDelay, defaultTyping, storage, storageKey, onInit, onOpen, onClose, onMessage, onTrackEvent, onConnectionChange, appId, visibility, server, }) {
14
+ this.reactRoot = null;
15
+ this.host = null;
14
16
  this.theme = theme;
15
17
  this.persistentMenu = persistentMenu;
16
18
  this.coverComponent = coverComponent;
@@ -23,7 +25,7 @@ export class WebchatApp {
23
25
  if (this.shadowDOM && !isShadowDOMSupported()) {
24
26
  console.warn('[botonic] ShadowDOM not supported on this browser');
25
27
  this.shadowDOM = false;
26
- }
28
+ } // Review this
27
29
  this.hostId = hostId || WEBCHAT.DEFAULTS.HOST_ID;
28
30
  this.defaultDelay = defaultDelay;
29
31
  this.defaultTyping = defaultTyping;
@@ -39,6 +41,7 @@ export class WebchatApp {
39
41
  this.server = server;
40
42
  this.webchatRef = createRef();
41
43
  this.appId = appId;
44
+ this.host = null;
42
45
  this.reactRoot = null;
43
46
  }
44
47
  createRootElement(host) {
@@ -51,21 +54,25 @@ export class WebchatApp {
51
54
  this.hostId = host.id;
52
55
  }
53
56
  }
54
- else if (host.id)
57
+ else if (host.id) {
55
58
  this.hostId = host.id;
56
- else if (this.hostId)
59
+ }
60
+ else if (this.hostId) {
57
61
  host.id = this.hostId;
62
+ }
58
63
  }
59
64
  else {
60
- host = document.getElementById(this.hostId);
65
+ host = this.hostId ? document.getElementById(this.hostId) : null;
61
66
  }
62
67
  if (!host) {
63
68
  host = document.createElement('div');
64
69
  host.id = this.hostId;
65
- if (document.body.firstChild)
70
+ if (document.body.firstChild) {
66
71
  document.body.insertBefore(host, document.body.firstChild);
67
- else
72
+ }
73
+ else {
68
74
  document.body.appendChild(host);
75
+ }
69
76
  }
70
77
  this.host = this.shadowDOM ? host.attachShadow({ mode: 'open' }) : host;
71
78
  }
@@ -73,7 +80,14 @@ export class WebchatApp {
73
80
  if (!node) {
74
81
  node = this.host;
75
82
  }
76
- return node.shadowRoot ? node.shadowRoot : node;
83
+ if (node === null) {
84
+ throw new Error('Host element not found');
85
+ }
86
+ // TODO: Review logic of ShadowRoot
87
+ if ('shadowRoot' in node && node.shadowRoot !== null) {
88
+ return node.shadowRoot;
89
+ }
90
+ return node;
77
91
  }
78
92
  onInitWebchat(...args) {
79
93
  this.onInit && this.onInit(this, ...args);
@@ -87,11 +101,7 @@ export class WebchatApp {
87
101
  onUserInput({ user, input }) {
88
102
  return __awaiter(this, void 0, void 0, function* () {
89
103
  this.onMessage &&
90
- this.onMessage(this, {
91
- sentBy: SENDERS.user,
92
- message: input,
93
- isUnread: false,
94
- });
104
+ this.onMessage(this, Object.assign(Object.assign({}, input), { sentBy: SENDERS.user, isUnread: false }));
95
105
  return this.hubtypeService.postMessage(user, input);
96
106
  });
97
107
  }
@@ -108,52 +118,57 @@ export class WebchatApp {
108
118
  this.hubtypeService.lastMessageId = lastMessageId;
109
119
  this.hubtypeService.lastMessageUpdateDate = lastMessageUpdateDate;
110
120
  }
111
- else if (!this.hubtypeService && user) {
121
+ if (!this.hubtypeService && user) {
112
122
  this.hubtypeService = new HubtypeService({
113
123
  appId: this.appId,
114
124
  user,
115
125
  lastMessageId,
116
126
  lastMessageUpdateDate,
117
- onEvent: event => this.onServiceEvent(event),
118
- unsentInputs: () => this.webchatRef.current
119
- .getMessages()
120
- .filter(msg => msg.ack === 0 && msg.unsentInput),
127
+ onEvent: (event) => this.onServiceEvent(event),
128
+ unsentInputs: () => {
129
+ var _a;
130
+ return ((_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.getMessages().filter(msg => msg.ack === 0 && msg.unsentInput)) || [];
131
+ },
121
132
  server: this.server,
122
133
  });
123
134
  }
124
135
  }
125
136
  onServiceEvent(event) {
126
- var _a, _b;
137
+ var _a, _b, _c;
127
138
  if (event.action === 'connectionChange') {
128
139
  this.onConnectionChange && this.onConnectionChange(this, event.online);
129
- this.webchatRef.current.setOnline(event.online);
140
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.setOnline(event.online);
130
141
  }
131
142
  else if (event.action === 'update_message_info') {
132
143
  this.updateMessageInfo(event.message.id, event.message);
133
144
  }
134
- else if (((_a = event.message) === null || _a === void 0 ? void 0 : _a.type) === 'update_webchat_settings') {
145
+ else if (((_b = event.message) === null || _b === void 0 ? void 0 : _b.type) === 'update_webchat_settings') {
135
146
  this.updateWebchatSettings(event.message.data);
136
147
  }
137
- else if (((_b = event.message) === null || _b === void 0 ? void 0 : _b.type) === 'sender_action') {
148
+ else if (((_c = event.message) === null || _c === void 0 ? void 0 : _c.type) === 'sender_action') {
138
149
  this.setTyping(event.message.data === Typing.On);
139
150
  }
140
151
  else {
141
152
  this.onMessage &&
142
- this.onMessage(this, { sentBy: SENDERS.bot, message: event.message });
153
+ this.onMessage(this, Object.assign({ sentBy: SENDERS.bot }, event.message));
143
154
  this.addBotMessage(event.message);
144
155
  }
145
156
  }
146
157
  updateUser(user) {
147
- this.webchatRef.current.updateUser(user);
158
+ var _a;
159
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.updateUser(user);
148
160
  }
149
161
  addBotMessage(message) {
150
- var _a, _b;
162
+ var _a, _b, _c, _d, _e;
151
163
  message.ack = 0;
152
164
  message.isUnread = true;
153
165
  message.sentBy = (_a = message.sent_by) === null || _a === void 0 ? void 0 : _a.split('message_sent_by_')[1];
154
166
  delete message.sent_by;
155
- const response = msgToBotonic(message, ((_b = this.theme.message) === null || _b === void 0 ? void 0 : _b.customTypes) || this.theme.customMessageTypes);
156
- this.webchatRef.current.addBotResponse({
167
+ const response = msgToBotonic(message,
168
+ // TODO: Review if is neded allow declar customTypes inside and ouside theme
169
+ // @ts-ignore
170
+ ((_c = (_b = this.theme) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.customTypes) || ((_d = this.theme) === null || _d === void 0 ? void 0 : _d.customMessageTypes) || []);
171
+ (_e = this.webchatRef.current) === null || _e === void 0 ? void 0 : _e.addBotResponse({
157
172
  response,
158
173
  });
159
174
  }
@@ -161,7 +176,8 @@ export class WebchatApp {
161
176
  this.addBotMessage({ type: INPUT.TEXT, data: text });
162
177
  }
163
178
  addUserMessage(message) {
164
- this.webchatRef.current.addUserMessage(message);
179
+ var _a;
180
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.addUserMessage(message);
165
181
  }
166
182
  addUserText(text) {
167
183
  this.addUserMessage({ type: INPUT.TEXT, data: text });
@@ -170,42 +186,56 @@ export class WebchatApp {
170
186
  this.addUserMessage({ type: INPUT.POSTBACK, payload });
171
187
  }
172
188
  setTyping(typing) {
173
- this.webchatRef.current.setTyping(typing);
189
+ var _a;
190
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.setTyping(typing);
174
191
  }
175
192
  open() {
176
- this.webchatRef.current.openWebchat();
193
+ var _a;
194
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.openWebchat();
177
195
  }
178
196
  close() {
179
- this.webchatRef.current.closeWebchat();
197
+ var _a;
198
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.closeWebchat();
180
199
  }
181
- closeWebview() {
200
+ closeWebview(options) {
201
+ var _a;
182
202
  return __awaiter(this, void 0, void 0, function* () {
183
- yield this.webchatRef.current.closeWebview();
203
+ yield ((_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.closeWebview(options));
184
204
  });
185
205
  }
206
+ // TODO: Remove this function because we have open and close functions
186
207
  toggle() {
187
- this.webchatRef.current.toggleWebchat();
208
+ var _a;
209
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.toggleWebchat();
188
210
  }
189
211
  openCoverComponent() {
190
- this.webchatRef.current.openCoverComponent();
212
+ var _a;
213
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.openCoverComponent();
191
214
  }
192
215
  closeCoverComponent() {
193
- this.webchatRef.current.closeCoverComponent();
216
+ var _a;
217
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.closeCoverComponent();
194
218
  }
195
219
  renderCustomComponent(_customComponent) {
196
- this.webchatRef.current.renderCustomComponent(_customComponent);
220
+ var _a;
221
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.renderCustomComponent(_customComponent);
197
222
  }
198
223
  unmountCustomComponent() {
199
- this.webchatRef.current.unmountCustomComponent();
224
+ var _a;
225
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.unmountCustomComponent();
200
226
  }
227
+ // TODO: Remove this function because we have openCoverComponent and closeCoverComponent functions
201
228
  toggleCoverComponent() {
202
- this.webchatRef.current.toggleCoverComponent();
229
+ var _a;
230
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.toggleCoverComponent();
203
231
  }
204
232
  getMessages() {
205
- return this.webchatRef.current.getMessages();
233
+ var _a;
234
+ return (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.getMessages();
206
235
  }
207
236
  clearMessages() {
208
- this.webchatRef.current.clearMessages();
237
+ var _a;
238
+ (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.clearMessages();
209
239
  }
210
240
  getVisibility() {
211
241
  return __awaiter(this, void 0, void 0, function* () {
@@ -216,13 +246,16 @@ export class WebchatApp {
216
246
  });
217
247
  }
218
248
  getLastMessageUpdate() {
219
- return this.webchatRef.current.getLastMessageUpdate();
249
+ var _a;
250
+ return (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.getLastMessageUpdate();
220
251
  }
221
252
  updateMessageInfo(msgId, messageInfo) {
222
- return this.webchatRef.current.updateMessageInfo(msgId, messageInfo);
253
+ var _a;
254
+ return (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.updateMessageInfo(msgId, messageInfo);
223
255
  }
224
256
  updateWebchatSettings(settings) {
225
- return this.webchatRef.current.updateWebchatSettings(settings);
257
+ var _a;
258
+ return (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.updateWebchatSettings(settings);
226
259
  }
227
260
  // eslint-disable-next-line complexity
228
261
  getComponent(host, optionsAtRuntime = {}) {
@@ -250,14 +283,14 @@ export class WebchatApp {
250
283
  this.appId = appId || this.appId;
251
284
  this.hostId = hostId || this.hostId;
252
285
  this.createRootElement(host);
253
- return (_jsx(Webchat, Object.assign({}, webchatOptions, { ref: this.webchatRef, host: this.host, shadowDOM: this.shadowDOM, theme: theme, persistentMenu: persistentMenu, coverComponent: coverComponent, blockInputs: blockInputs, enableEmojiPicker: enableEmojiPicker, enableAttachments: enableAttachments, enableUserInput: enableUserInput, enableAnimations: enableAnimations, storage: this.storage, storageKey: this.storageKey, defaultDelay: defaultDelay, defaultTyping: defaultTyping, onInit: (...args) => this.onInitWebchat(...args), onOpen: (...args) => this.onOpenWebchat(...args), onClose: (...args) => this.onCloseWebchat(...args), onUserInput: (...args) => this.onUserInput(...args), onStateChange: webchatState => this.onStateChange(webchatState), onTrackEvent: (...args) => this.onTrackEvent(...args), server: server })));
286
+ return (_jsx(Webchat, Object.assign({}, webchatOptions, { ref: this.webchatRef,
287
+ // @ts-ignore
288
+ host: this.host, shadowDOM: this.shadowDOM, theme: theme, persistentMenu: persistentMenu, coverComponent: coverComponent, blockInputs: blockInputs, enableEmojiPicker: enableEmojiPicker, enableAttachments: enableAttachments, enableUserInput: enableUserInput, enableAnimations: enableAnimations, storage: this.storage, storageKey: this.storageKey, defaultDelay: defaultDelay, defaultTyping: defaultTyping, onInit: (...args) => this.onInitWebchat(...args), onOpen: (...args) => this.onOpenWebchat(...args), onClose: (...args) => this.onCloseWebchat(...args), onUserInput: (...args) => this.onUserInput(...args), onStateChange: webchatState => this.onStateChange(webchatState), onTrackEvent: (request, eventName, args) => this.onTrackEvent && this.onTrackEvent(request, eventName, args), server: server })));
254
289
  }
255
- isWebchatVisible({ appId }) {
290
+ isWebchatVisible(appId) {
256
291
  return __awaiter(this, void 0, void 0, function* () {
257
292
  try {
258
- const { status } = yield HubtypeService.getWebchatVisibility({
259
- appId,
260
- });
293
+ const { status } = yield HubtypeService.getWebchatVisibility(appId);
261
294
  return status === 200;
262
295
  }
263
296
  catch (e) {
@@ -266,18 +299,28 @@ export class WebchatApp {
266
299
  });
267
300
  }
268
301
  isOnline() {
269
- return this.webchatRef.current.isOnline();
302
+ var _a;
303
+ return (_a = this.webchatRef.current) === null || _a === void 0 ? void 0 : _a.isOnline();
270
304
  }
271
305
  resolveWebchatVisibility(optionsAtRuntime) {
272
306
  return __awaiter(this, void 0, void 0, function* () {
307
+ if (!optionsAtRuntime) {
308
+ // If optionsAtRuntime is not provided, always render the webchat
309
+ return true;
310
+ }
273
311
  let { appId, visibility } = optionsAtRuntime;
274
312
  visibility = visibility || this.visibility;
275
- if (visibility === undefined || visibility === true)
313
+ if (visibility === undefined || visibility === true) {
276
314
  return true;
277
- if (typeof visibility === 'function' && visibility())
315
+ }
316
+ if (typeof visibility === 'function' && visibility()) {
278
317
  return true;
279
- if (visibility === 'dynamic' && (yield this.isWebchatVisible({ appId })))
318
+ }
319
+ if (appId &&
320
+ visibility === 'dynamic' &&
321
+ (yield this.isWebchatVisible(appId))) {
280
322
  return true;
323
+ }
281
324
  return false;
282
325
  });
283
326
  }
@@ -289,7 +332,7 @@ export class WebchatApp {
289
332
  if (this.storage)
290
333
  this.storage.removeItem(this.storageKey);
291
334
  }
292
- render(dest, optionsAtRuntime = {}) {
335
+ render(dest, optionsAtRuntime) {
293
336
  return __awaiter(this, void 0, void 0, function* () {
294
337
  onDOMLoaded(() => __awaiter(this, void 0, void 0, function* () {
295
338
  const isVisible = yield this.resolveWebchatVisibility(optionsAtRuntime);
@@ -1 +1 @@
1
- {"version":3,"file":"webchat-app.js","sourceRoot":"","sources":["../../src/webchat-app.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webchat-app.js","sourceRoot":"","sources":["../../src/webchat-app.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botonic/react",
3
- "version": "0.31.0-alpha.2",
3
+ "version": "0.31.0-alpha.4",
4
4
  "license": "MIT",
5
5
  "description": "Build Chatbots using React",
6
6
  "main": "./lib/cjs",
@@ -20,13 +20,13 @@
20
20
  "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet '.*.js' '*.js' 'src/**/*.js*' --fix"
21
21
  },
22
22
  "dependencies": {
23
- "@botonic/core": "^0.30.0",
23
+ "@botonic/core": "0.31.0-alpha.1",
24
24
  "axios": "^1.7.2",
25
25
  "emoji-picker-react": "^4.12.0",
26
26
  "lodash.merge": "^4.6.2",
27
27
  "markdown-it": "^12.3.2",
28
- "react": "^18.0.0",
29
- "react-dom": "^18.0.0",
28
+ "react": "^18.3.1",
29
+ "react-dom": "^18.3.1",
30
30
  "react-json-tree": "^0.18.0",
31
31
  "react-router-dom": "^5.3.4",
32
32
  "react-textarea-autosize": "^8.5.5",
@@ -39,6 +39,7 @@
39
39
  "@babel/preset-react": "^7.25.9",
40
40
  "@testing-library/react": "^16.0.1",
41
41
  "@types/jest": "^29.5.14",
42
+ "@types/lodash.merge": "^4.6.9",
42
43
  "@types/parse5": "^7.0.0",
43
44
  "@types/react": "^18.0.0",
44
45
  "@types/react-dom": "^18.0.0",
@@ -3,6 +3,7 @@ import styled from 'styled-components'
3
3
 
4
4
  import { COLORS, WEBCHAT } from '../constants'
5
5
  import { renderComponent } from '../util/react'
6
+ import { Button } from './button'
6
7
 
7
8
  const ElementContainer = styled.div`
8
9
  display: flex;
@@ -38,21 +39,13 @@ Element.serialize = elementProps => {
38
39
  ...elementProps.children
39
40
  .filter(c => {
40
41
  if (c instanceof Array) return true
41
- return c && c.type && c.type.name == 'Button'
42
+ return c?.type?.name === Button.name
42
43
  })
43
44
  .map(b => {
44
45
  if (b instanceof Array) {
45
- return b.map(
46
- bb =>
47
- bb &&
48
- bb.type &&
49
- bb.type.serialize &&
50
- bb.type.serialize(bb.props).button
51
- )
46
+ b.map(bb => bb?.type?.serialize?.(bb.props)?.button)
52
47
  }
53
- return (
54
- b && b.type && b.type.serialize && b.type.serialize(b.props).button
55
- )
48
+ return b?.type?.serialize(b.props).button
56
49
  }),
57
50
  ]
58
51
  // When we have the buttons from backend, we have all buttons inside an array on the first position
@@ -104,6 +104,7 @@ export interface BlobProps {
104
104
  }
105
105
 
106
106
  export interface ThemeProps extends StyleProp {
107
+ coverComponent?: CoverComponentOptions
107
108
  mobileBreakpoint?: number
108
109
  mobileStyle?: any
109
110
  webview?: StyleProp & { header?: StyleProp }
@@ -113,10 +114,13 @@ export interface ThemeProps extends StyleProp {
113
114
  header?: { title?: string; subtitle?: string } & ImageProp &
114
115
  StyleProp &
115
116
  CustomProp
117
+ // TODO: Review if this is needed hear, or only in message.customTypes? use the same type in both places
118
+ customMessageTypes?: React.ComponentType[]
116
119
  message?: {
117
120
  bot?: BlobProps & ImageProp & StyleProp
118
121
  agent?: ImageProp
119
122
  user?: BlobProps & StyleProp
123
+ // TODO: Review type used in cutomTypes should be a component exported by default with customMessage function
120
124
  customTypes?: React.ComponentType[]
121
125
  } & StyleProp & {
122
126
  timestamps?: {
@@ -5,7 +5,7 @@ import { RequestContext } from '../../contexts'
5
5
  import { truncateText } from '../../util'
6
6
  import { Button } from '../button'
7
7
  import { MultichannelContext } from './multichannel-context'
8
- import { WHATSAPP_MAX_BUTTON_CHARS } from './multichannel-utils'
8
+ import { WHATSAPP_MAX_BUTTON_CHARS } from './whatsapp/constants'
9
9
 
10
10
  export const MultichannelButton = props => {
11
11
  const requestContext = useContext(RequestContext)
@@ -7,7 +7,9 @@ import { MultichannelText } from './multichannel-text'
7
7
  import {
8
8
  getFilteredElements,
9
9
  isMultichannelButton,
10
- isNodeKind,
10
+ isNodePic,
11
+ isNodeSubtitle,
12
+ isNodeTitle,
11
13
  } from './multichannel-utils'
12
14
 
13
15
  export const MultichannelCarousel = props => {
@@ -26,17 +28,17 @@ export const MultichannelCarousel = props => {
26
28
  const buttons = []
27
29
 
28
30
  for (const node of element) {
29
- if (isNodeKind(node, 'Pic')) {
31
+ if (isNodePic(node)) {
30
32
  imageProps = node.props
31
33
  }
32
- if (isNodeKind(node, 'Title')) {
34
+ if (isNodeTitle(node)) {
33
35
  title = node.props.children
34
36
  }
35
- if (isNodeKind(node, 'Subtitle')) {
37
+ if (isNodeSubtitle(node)) {
36
38
  subtitle = node.props.children
37
39
  }
38
40
 
39
- if (isNodeKind(node, 'MultichannelButton')) {
41
+ if (isMultichannelButton(node)) {
40
42
  buttons.push(node)
41
43
  }
42
44
  //TODO support fragment containing an array
@@ -9,18 +9,20 @@ import { MultichannelButton } from './multichannel-button'
9
9
  import { MultichannelContext } from './multichannel-context'
10
10
  import {
11
11
  buttonTypes,
12
- DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR,
13
12
  elementHasPostback,
14
13
  elementHasUrl,
15
14
  elementHasWebview,
16
15
  getButtonType,
17
16
  getMultichannelButtons,
18
17
  getMultichannelReplies,
18
+ } from './multichannel-utils'
19
+ import {
20
+ DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR,
19
21
  MENU_BUTTON_WHATSAPP_BUTTON_LIST,
20
22
  MULTICHANNEL_WHATSAPP_PROPS,
21
23
  WHATSAPP_LIST_MAX_BUTTONS,
22
24
  WHATSAPP_MAX_BUTTONS,
23
- } from './multichannel-utils'
25
+ } from './whatsapp/constants'
24
26
  import { convertToMarkdownMeta } from './whatsapp/markdown-meta'
25
27
 
26
28
  export const MultichannelText = props => {
@@ -1,45 +1,63 @@
1
- /**
2
- *
3
- * Whatsapp does not support Markdown
4
- * (its markup syntax is different)
5
- */
6
- export const MULTICHANNEL_WHATSAPP_PROPS = { markdown: false }
7
-
8
- export const WHATSAPP_MAX_BUTTONS = 3
9
- export const WHATSAPP_LIST_MAX_BUTTONS = 10
10
- export const WHATSAPP_MAX_BUTTON_CHARS = 20
11
- export const WHATSAPP_MAX_HEADER_CHARS = 60
12
- export const WHATSAPP_MAX_BODY_CHARS = 1024
13
- export const WHATSAPP_MAX_FOOTER_CHARS = 60
14
- export const DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = 'More options:'
15
- export const MENU_BUTTON_WHATSAPP_BUTTON_LIST = 'Show options'
1
+ import { Button } from '../button'
2
+ import { Carousel } from '../carousel'
3
+ import { Pic } from '../pic'
4
+ import { Reply } from '../reply'
5
+ import { Subtitle } from '../subtitle'
6
+ import { Text } from '../text'
7
+ import { Title } from '../title'
8
+ import { MultichannelButton } from './multichannel-button'
9
+ import { MultichannelReply } from './multichannel-reply'
10
+
11
+ function isNodeKind(node, kind) {
12
+ return node?.type?.name === kind
13
+ }
16
14
 
17
15
  export function isMultichannelButton(node) {
18
- return isNodeKind(node, 'MultichannelButton')
16
+ return isNodeKind(node, MultichannelButton.name)
19
17
  }
20
18
 
21
19
  export function isMultichannelReply(node) {
22
- return isNodeKind(node, 'MultichannelReply')
20
+ return isNodeKind(node, MultichannelReply.name)
21
+ }
22
+
23
+ export function isNodeText(node) {
24
+ return isNodeKind(node, Text.name)
25
+ }
26
+
27
+ export function isNodeButton(node) {
28
+ return isNodeKind(node, Button.name)
29
+ }
30
+
31
+ export function isNodeCarousel(node) {
32
+ return isNodeKind(node, Carousel.name)
23
33
  }
24
34
 
25
- export function isButton(node) {
26
- return isNodeKind(node, 'Button')
35
+ export function isNodeReply(node) {
36
+ return isNodeKind(node, Reply.name)
27
37
  }
28
38
 
29
- export function isNodeKind(node, kind) {
30
- return node.type && node.type.name == kind
39
+ export function isNodePic(node) {
40
+ return isNodeKind(node, Pic.name)
31
41
  }
42
+
43
+ export function isNodeTitle(node) {
44
+ return isNodeKind(node, Title.name)
45
+ }
46
+
47
+ export function isNodeSubtitle(node) {
48
+ return isNodeKind(node, Subtitle.name)
49
+ }
50
+
32
51
  export function elementHasUrl(element) {
33
- return element.props && element.props.url
52
+ return element?.props?.url
34
53
  }
54
+
35
55
  export function elementHasPostback(element) {
36
- return (
37
- (element.props && element.props.payload) ||
38
- (element.props && element.props.path)
39
- )
56
+ return element?.props?.payload || element?.props?.path
40
57
  }
58
+
41
59
  export function elementHasWebview(element) {
42
- return element.props && element.props.webview
60
+ return element?.props?.webview
43
61
  }
44
62
 
45
63
  export const buttonTypes = {