@botonic/react 0.23.1-alpha.0 → 0.23.2-alpha.0

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 (261) hide show
  1. package/lib/cjs/botonic-tester.js +2 -2
  2. package/lib/cjs/botonic-tester.js.map +1 -1
  3. package/lib/cjs/components/audio.js +2 -2
  4. package/lib/cjs/components/audio.js.map +1 -1
  5. package/lib/cjs/components/button.js +2 -2
  6. package/lib/cjs/components/button.js.map +1 -1
  7. package/lib/cjs/components/carousel.js +3 -3
  8. package/lib/cjs/components/carousel.js.map +1 -1
  9. package/lib/cjs/components/custom-message.js +1 -1
  10. package/lib/cjs/components/custom-message.js.map +1 -1
  11. package/lib/cjs/components/document.js +2 -2
  12. package/lib/cjs/components/document.js.map +1 -1
  13. package/lib/cjs/components/handoff.js +2 -2
  14. package/lib/cjs/components/handoff.js.map +1 -1
  15. package/lib/cjs/components/image.js +1 -1
  16. package/lib/cjs/components/image.js.map +1 -1
  17. package/lib/cjs/components/index-types.d.ts +1 -1
  18. package/lib/cjs/components/location.js +2 -2
  19. package/lib/cjs/components/location.js.map +1 -1
  20. package/lib/cjs/components/message-template.js +1 -1
  21. package/lib/cjs/components/message-template.js.map +1 -1
  22. package/lib/cjs/components/message.js +3 -3
  23. package/lib/cjs/components/message.js.map +1 -1
  24. package/lib/cjs/components/multichannel/multichannel-carousel.js +1 -1
  25. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
  26. package/lib/cjs/components/multichannel/multichannel-text.js +6 -17
  27. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
  28. package/lib/cjs/components/multichannel/multichannel-utils.d.ts +5 -5
  29. package/lib/cjs/components/multichannel/multichannel-utils.js +2 -2
  30. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
  31. package/lib/cjs/components/multichannel/multichannel.js +2 -2
  32. package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
  33. package/lib/cjs/components/raw.js +2 -2
  34. package/lib/cjs/components/raw.js.map +1 -1
  35. package/lib/cjs/components/reply.js +4 -4
  36. package/lib/cjs/components/reply.js.map +1 -1
  37. package/lib/cjs/components/share-button.js +1 -1
  38. package/lib/cjs/components/share-button.js.map +1 -1
  39. package/lib/cjs/components/subtitle.js +1 -1
  40. package/lib/cjs/components/subtitle.js.map +1 -1
  41. package/lib/cjs/components/text.js +2 -2
  42. package/lib/cjs/components/text.js.map +1 -1
  43. package/lib/cjs/components/timestamps.js +1 -1
  44. package/lib/cjs/components/timestamps.js.map +1 -1
  45. package/lib/cjs/components/title.js +1 -1
  46. package/lib/cjs/components/title.js.map +1 -1
  47. package/lib/cjs/components/video.js +2 -2
  48. package/lib/cjs/components/video.js.map +1 -1
  49. package/lib/cjs/components/whatsapp-button-list.js +1 -1
  50. package/lib/cjs/components/whatsapp-button-list.js.map +1 -1
  51. package/lib/cjs/components/whatsapp-template.js +1 -1
  52. package/lib/cjs/components/whatsapp-template.js.map +1 -1
  53. package/lib/cjs/constants.d.ts +148 -148
  54. package/lib/cjs/contexts.d.ts +4 -62
  55. package/lib/cjs/contexts.js +45 -19
  56. package/lib/cjs/contexts.js.map +1 -1
  57. package/lib/cjs/index-types.d.ts +12 -12
  58. package/lib/cjs/msg-to-botonic.js +2 -2
  59. package/lib/cjs/msg-to-botonic.js.map +1 -1
  60. package/lib/cjs/react-bot.js +1 -1
  61. package/lib/cjs/react-bot.js.map +1 -1
  62. package/lib/cjs/webchat/actions.d.ts +25 -23
  63. package/lib/cjs/webchat/actions.js +27 -24
  64. package/lib/cjs/webchat/actions.js.map +1 -1
  65. package/lib/cjs/webchat/components/attachment.js +1 -1
  66. package/lib/cjs/webchat/components/attachment.js.map +1 -1
  67. package/lib/cjs/webchat/components/conditional-animation.js +1 -1
  68. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -1
  69. package/lib/cjs/webchat/components/emoji-picker.js +2 -2
  70. package/lib/cjs/webchat/components/emoji-picker.js.map +1 -1
  71. package/lib/cjs/webchat/components/persistent-menu.js +4 -4
  72. package/lib/cjs/webchat/components/persistent-menu.js.map +1 -1
  73. package/lib/cjs/webchat/components/send-button.js +1 -1
  74. package/lib/cjs/webchat/components/send-button.js.map +1 -1
  75. package/lib/cjs/webchat/components/typing-indicator.js +1 -1
  76. package/lib/cjs/webchat/components/typing-indicator.js.map +1 -1
  77. package/lib/cjs/webchat/header.js +1 -1
  78. package/lib/cjs/webchat/header.js.map +1 -1
  79. package/lib/cjs/webchat/hooks/index.d.ts +5 -0
  80. package/lib/cjs/webchat/hooks/index.js +15 -0
  81. package/lib/cjs/webchat/hooks/index.js.map +1 -0
  82. package/lib/cjs/webchat/hooks/use-component-visible.d.ts +8 -0
  83. package/lib/cjs/webchat/hooks/use-component-visible.js +24 -0
  84. package/lib/cjs/webchat/hooks/use-component-visible.js.map +1 -0
  85. package/lib/cjs/webchat/hooks/use-component-will-mount.d.ts +1 -0
  86. package/lib/cjs/webchat/hooks/use-component-will-mount.js +9 -0
  87. package/lib/cjs/webchat/hooks/use-component-will-mount.js.map +1 -0
  88. package/lib/cjs/webchat/hooks/use-previous.d.ts +1 -0
  89. package/lib/cjs/webchat/hooks/use-previous.js +13 -0
  90. package/lib/cjs/webchat/hooks/use-previous.js.map +1 -0
  91. package/lib/cjs/webchat/hooks/use-typing.d.ts +10 -0
  92. package/lib/cjs/webchat/hooks/use-typing.js +32 -0
  93. package/lib/cjs/webchat/hooks/use-typing.js.map +1 -0
  94. package/lib/cjs/webchat/hooks/use-webchat.d.ts +37 -0
  95. package/lib/cjs/webchat/hooks/use-webchat.js +167 -0
  96. package/lib/cjs/webchat/hooks/use-webchat.js.map +1 -0
  97. package/lib/cjs/webchat/index-types.d.ts +16 -10
  98. package/lib/cjs/webchat/message-list.js +2 -2
  99. package/lib/cjs/webchat/message-list.js.map +1 -1
  100. package/lib/cjs/webchat/messages-reducer.d.ts +6 -1
  101. package/lib/cjs/webchat/messages-reducer.js +8 -8
  102. package/lib/cjs/webchat/messages-reducer.js.map +1 -1
  103. package/lib/cjs/webchat/replies.js +1 -1
  104. package/lib/cjs/webchat/replies.js.map +1 -1
  105. package/lib/cjs/webchat/session-view.js +2 -2
  106. package/lib/cjs/webchat/session-view.js.map +1 -1
  107. package/lib/cjs/webchat/trigger-button/index.js +1 -3
  108. package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
  109. package/lib/cjs/webchat/webchat-reducer.d.ts +6 -1
  110. package/lib/cjs/webchat/webchat-reducer.js +17 -17
  111. package/lib/cjs/webchat/webchat-reducer.js.map +1 -1
  112. package/lib/cjs/webchat/webchat.js +21 -21
  113. package/lib/cjs/webchat/webchat.js.map +1 -1
  114. package/lib/cjs/webchat/webview.js +4 -4
  115. package/lib/cjs/webchat/webview.js.map +1 -1
  116. package/lib/cjs/webview-app.js +1 -1
  117. package/lib/cjs/webview-app.js.map +1 -1
  118. package/lib/esm/botonic-tester.js +2 -2
  119. package/lib/esm/botonic-tester.js.map +1 -1
  120. package/lib/esm/components/audio.js +2 -2
  121. package/lib/esm/components/audio.js.map +1 -1
  122. package/lib/esm/components/button.js +2 -2
  123. package/lib/esm/components/button.js.map +1 -1
  124. package/lib/esm/components/carousel.js +3 -3
  125. package/lib/esm/components/carousel.js.map +1 -1
  126. package/lib/esm/components/custom-message.js +1 -1
  127. package/lib/esm/components/custom-message.js.map +1 -1
  128. package/lib/esm/components/document.js +2 -2
  129. package/lib/esm/components/document.js.map +1 -1
  130. package/lib/esm/components/handoff.js +2 -2
  131. package/lib/esm/components/handoff.js.map +1 -1
  132. package/lib/esm/components/image.js +1 -1
  133. package/lib/esm/components/image.js.map +1 -1
  134. package/lib/esm/components/index-types.d.ts +1 -1
  135. package/lib/esm/components/location.js +2 -2
  136. package/lib/esm/components/location.js.map +1 -1
  137. package/lib/esm/components/message-template.js +1 -1
  138. package/lib/esm/components/message-template.js.map +1 -1
  139. package/lib/esm/components/message.js +3 -3
  140. package/lib/esm/components/message.js.map +1 -1
  141. package/lib/esm/components/multichannel/multichannel-carousel.js +1 -1
  142. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
  143. package/lib/esm/components/multichannel/multichannel-text.js +7 -18
  144. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
  145. package/lib/esm/components/multichannel/multichannel-utils.d.ts +5 -5
  146. package/lib/esm/components/multichannel/multichannel-utils.js +1 -1
  147. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
  148. package/lib/esm/components/multichannel/multichannel.js +2 -2
  149. package/lib/esm/components/multichannel/multichannel.js.map +1 -1
  150. package/lib/esm/components/raw.js +2 -2
  151. package/lib/esm/components/raw.js.map +1 -1
  152. package/lib/esm/components/reply.js +4 -4
  153. package/lib/esm/components/reply.js.map +1 -1
  154. package/lib/esm/components/share-button.js +1 -1
  155. package/lib/esm/components/share-button.js.map +1 -1
  156. package/lib/esm/components/subtitle.js +1 -1
  157. package/lib/esm/components/subtitle.js.map +1 -1
  158. package/lib/esm/components/text.js +2 -2
  159. package/lib/esm/components/text.js.map +1 -1
  160. package/lib/esm/components/timestamps.js +1 -1
  161. package/lib/esm/components/timestamps.js.map +1 -1
  162. package/lib/esm/components/title.js +1 -1
  163. package/lib/esm/components/title.js.map +1 -1
  164. package/lib/esm/components/video.js +2 -2
  165. package/lib/esm/components/video.js.map +1 -1
  166. package/lib/esm/components/whatsapp-button-list.js +1 -1
  167. package/lib/esm/components/whatsapp-button-list.js.map +1 -1
  168. package/lib/esm/components/whatsapp-template.js +1 -1
  169. package/lib/esm/components/whatsapp-template.js.map +1 -1
  170. package/lib/esm/constants.d.ts +148 -148
  171. package/lib/esm/contexts.d.ts +4 -62
  172. package/lib/esm/contexts.js +45 -19
  173. package/lib/esm/contexts.js.map +1 -1
  174. package/lib/esm/index-types.d.ts +12 -12
  175. package/lib/esm/msg-to-botonic.js +2 -2
  176. package/lib/esm/msg-to-botonic.js.map +1 -1
  177. package/lib/esm/react-bot.js +1 -1
  178. package/lib/esm/react-bot.js.map +1 -1
  179. package/lib/esm/webchat/actions.d.ts +25 -23
  180. package/lib/esm/webchat/actions.js +26 -23
  181. package/lib/esm/webchat/actions.js.map +1 -1
  182. package/lib/esm/webchat/components/attachment.js +1 -1
  183. package/lib/esm/webchat/components/attachment.js.map +1 -1
  184. package/lib/esm/webchat/components/conditional-animation.js +1 -1
  185. package/lib/esm/webchat/components/conditional-animation.js.map +1 -1
  186. package/lib/esm/webchat/components/emoji-picker.js +2 -2
  187. package/lib/esm/webchat/components/emoji-picker.js.map +1 -1
  188. package/lib/esm/webchat/components/persistent-menu.js +4 -4
  189. package/lib/esm/webchat/components/persistent-menu.js.map +1 -1
  190. package/lib/esm/webchat/components/send-button.js +1 -1
  191. package/lib/esm/webchat/components/send-button.js.map +1 -1
  192. package/lib/esm/webchat/components/typing-indicator.js +1 -1
  193. package/lib/esm/webchat/components/typing-indicator.js.map +1 -1
  194. package/lib/esm/webchat/header.js +1 -1
  195. package/lib/esm/webchat/header.js.map +1 -1
  196. package/lib/esm/webchat/hooks/index.d.ts +5 -0
  197. package/lib/esm/webchat/hooks/index.js +6 -0
  198. package/lib/esm/webchat/hooks/index.js.map +1 -0
  199. package/lib/esm/webchat/hooks/use-component-visible.d.ts +8 -0
  200. package/lib/esm/webchat/hooks/use-component-visible.js +20 -0
  201. package/lib/esm/webchat/hooks/use-component-visible.js.map +1 -0
  202. package/lib/esm/webchat/hooks/use-component-will-mount.d.ts +1 -0
  203. package/lib/esm/webchat/hooks/use-component-will-mount.js +5 -0
  204. package/lib/esm/webchat/hooks/use-component-will-mount.js.map +1 -0
  205. package/lib/esm/webchat/hooks/use-previous.d.ts +1 -0
  206. package/lib/esm/webchat/hooks/use-previous.js +9 -0
  207. package/lib/esm/webchat/hooks/use-previous.js.map +1 -0
  208. package/lib/esm/webchat/hooks/use-typing.d.ts +10 -0
  209. package/lib/esm/webchat/hooks/use-typing.js +28 -0
  210. package/lib/esm/webchat/hooks/use-typing.js.map +1 -0
  211. package/lib/esm/webchat/hooks/use-webchat.d.ts +37 -0
  212. package/lib/esm/webchat/hooks/use-webchat.js +163 -0
  213. package/lib/esm/webchat/hooks/use-webchat.js.map +1 -0
  214. package/lib/esm/webchat/index-types.d.ts +16 -10
  215. package/lib/esm/webchat/message-list.js +2 -2
  216. package/lib/esm/webchat/message-list.js.map +1 -1
  217. package/lib/esm/webchat/messages-reducer.d.ts +6 -1
  218. package/lib/esm/webchat/messages-reducer.js +9 -9
  219. package/lib/esm/webchat/messages-reducer.js.map +1 -1
  220. package/lib/esm/webchat/replies.js +1 -1
  221. package/lib/esm/webchat/replies.js.map +1 -1
  222. package/lib/esm/webchat/session-view.js +2 -2
  223. package/lib/esm/webchat/session-view.js.map +1 -1
  224. package/lib/esm/webchat/trigger-button/index.js +1 -3
  225. package/lib/esm/webchat/trigger-button/index.js.map +1 -1
  226. package/lib/esm/webchat/webchat-reducer.d.ts +6 -1
  227. package/lib/esm/webchat/webchat-reducer.js +18 -18
  228. package/lib/esm/webchat/webchat-reducer.js.map +1 -1
  229. package/lib/esm/webchat/webchat.js +21 -21
  230. package/lib/esm/webchat/webchat.js.map +1 -1
  231. package/lib/esm/webchat/webview.js +4 -4
  232. package/lib/esm/webchat/webview.js.map +1 -1
  233. package/lib/esm/webview-app.js +1 -1
  234. package/lib/esm/webview-app.js.map +1 -1
  235. package/package.json +4 -4
  236. package/src/components/index-types.ts +1 -1
  237. package/src/components/multichannel/multichannel-text.jsx +11 -21
  238. package/src/components/multichannel/multichannel-utils.js +1 -1
  239. package/src/contexts.tsx +64 -0
  240. package/src/index-types.ts +12 -12
  241. package/src/webchat/actions.ts +25 -0
  242. package/src/webchat/hooks/index.ts +5 -0
  243. package/src/webchat/hooks/use-component-visible.ts +29 -0
  244. package/src/webchat/hooks/use-component-will-mount.ts +5 -0
  245. package/src/webchat/hooks/use-previous.ts +9 -0
  246. package/src/webchat/hooks/use-typing.ts +43 -0
  247. package/src/webchat/hooks/use-webchat.ts +213 -0
  248. package/src/webchat/index-types.ts +17 -8
  249. package/src/webchat/{messages-reducer.js → messages-reducer.ts} +25 -19
  250. package/src/webchat/trigger-button/index.tsx +0 -1
  251. package/src/webchat/{webchat-reducer.js → webchat-reducer.ts} +23 -37
  252. package/src/webchat/webchat.jsx +8 -9
  253. package/lib/cjs/webchat/hooks.d.ts +0 -81
  254. package/lib/cjs/webchat/hooks.js +0 -222
  255. package/lib/cjs/webchat/hooks.js.map +0 -1
  256. package/lib/esm/webchat/hooks.d.ts +0 -81
  257. package/lib/esm/webchat/hooks.js +0 -214
  258. package/lib/esm/webchat/hooks.js.map +0 -1
  259. package/src/contexts.jsx +0 -37
  260. package/src/webchat/actions.jsx +0 -23
  261. package/src/webchat/hooks.js +0 -270
@@ -1,29 +1,26 @@
1
- import {
2
- ADD_MESSAGE,
3
- ADD_MESSAGE_COMPONENT,
4
- CLEAR_MESSAGES,
5
- UPDATE_LAST_MESSAGE_DATE,
6
- UPDATE_MESSAGE,
7
- UPDATE_REPLIES,
8
- } from './actions'
1
+ import { WebchatAction } from './actions'
2
+ import { WebchatState } from './index-types'
9
3
 
10
- export const messagesReducer = (state, action) => {
4
+ export const messagesReducer = (
5
+ state: WebchatState,
6
+ action: { type: WebchatAction; payload?: any }
7
+ ): WebchatState => {
11
8
  switch (action.type) {
12
- case ADD_MESSAGE:
9
+ case WebchatAction.ADD_MESSAGE:
13
10
  return addMessageReducer(state, action)
14
- case ADD_MESSAGE_COMPONENT:
15
- return addMessageComponent(action, state)
16
- case UPDATE_MESSAGE:
11
+ case WebchatAction.ADD_MESSAGE_COMPONENT:
12
+ return addMessageComponent(state, action)
13
+ case WebchatAction.UPDATE_MESSAGE:
17
14
  return updateMessageReducer(state, action)
18
- case UPDATE_REPLIES:
15
+ case WebchatAction.UPDATE_REPLIES:
19
16
  return { ...state, replies: action.payload }
20
- case CLEAR_MESSAGES:
17
+ case WebchatAction.CLEAR_MESSAGES:
21
18
  return {
22
19
  ...state,
23
20
  messagesJSON: [],
24
21
  messagesComponents: [],
25
22
  }
26
- case UPDATE_LAST_MESSAGE_DATE:
23
+ case WebchatAction.UPDATE_LAST_MESSAGE_DATE:
27
24
  return {
28
25
  ...state,
29
26
  lastMessageUpdate: action.payload,
@@ -33,7 +30,10 @@ export const messagesReducer = (state, action) => {
33
30
  }
34
31
  }
35
32
 
36
- function addMessageComponent(action, state) {
33
+ function addMessageComponent(
34
+ state: WebchatState,
35
+ action: { type: WebchatAction; payload?: any }
36
+ ) {
37
37
  const messageComponent = action.payload
38
38
  const isUnreadMessage =
39
39
  !state.isWebchatOpen && messageComponent.props?.ack !== 1
@@ -48,7 +48,10 @@ function addMessageComponent(action, state) {
48
48
  }
49
49
  }
50
50
 
51
- function updateMessageReducer(state, action) {
51
+ function updateMessageReducer(
52
+ state: WebchatState,
53
+ action: { type: WebchatAction; payload?: any }
54
+ ) {
52
55
  const msgIndex = state.messagesJSON.map(m => m.id).indexOf(action.payload.id)
53
56
  if (msgIndex > -1) {
54
57
  const msgComponent = state.messagesComponents[msgIndex]
@@ -82,7 +85,10 @@ function updateMessageReducer(state, action) {
82
85
  return state
83
86
  }
84
87
 
85
- function addMessageReducer(state, action) {
88
+ function addMessageReducer(
89
+ state: WebchatState,
90
+ action: { type: WebchatAction; payload?: any }
91
+ ) {
86
92
  if (
87
93
  state.messagesJSON &&
88
94
  state.messagesJSON.find(m => m.id === action.payload.id)
@@ -55,7 +55,6 @@ export const TriggerButton = (): JSX.Element => {
55
55
  </UnreadMessagesCounter>
56
56
  )}
57
57
  {CustomTriggerButton ? (
58
- //@ts-ignore
59
58
  <CustomTriggerButton />
60
59
  ) : (
61
60
  <StyledTriggerButton
@@ -1,41 +1,27 @@
1
- import {
2
- DO_RENDER_CUSTOM_COMPONENT,
3
- SET_CURRENT_ATTACHMENT,
4
- SET_ERROR,
5
- SET_ONLINE,
6
- TOGGLE_COVER_COMPONENT,
7
- TOGGLE_EMOJI_PICKER,
8
- TOGGLE_PERSISTENT_MENU,
9
- TOGGLE_WEBCHAT,
10
- UPDATE_DEV_SETTINGS,
11
- UPDATE_HANDOFF,
12
- UPDATE_JWT,
13
- UPDATE_LAST_ROUTE_PATH,
14
- UPDATE_LATEST_INPUT,
15
- UPDATE_SESSION,
16
- UPDATE_THEME,
17
- UPDATE_TYPING,
18
- UPDATE_WEBVIEW,
19
- } from './actions'
1
+ import { WebchatAction } from './actions'
2
+ import { WebchatState } from './index-types'
20
3
  import { messagesReducer } from './messages-reducer'
21
4
 
22
5
  // eslint-disable-next-line complexity
23
- export function webchatReducer(state, action) {
6
+ export function webchatReducer(
7
+ state: WebchatState,
8
+ action: { type: WebchatAction; payload?: any }
9
+ ): WebchatState {
24
10
  switch (action.type) {
25
- case UPDATE_WEBVIEW:
11
+ case WebchatAction.UPDATE_WEBVIEW:
26
12
  return { ...state, ...action.payload }
27
- case UPDATE_SESSION:
13
+ case WebchatAction.UPDATE_SESSION:
28
14
  return { ...state, session: { ...action.payload } }
29
- case UPDATE_TYPING:
15
+ case WebchatAction.UPDATE_TYPING:
30
16
  return { ...state, typing: action.payload }
31
- case UPDATE_THEME:
17
+ case WebchatAction.UPDATE_THEME:
32
18
  return {
33
19
  ...state,
34
20
  ...action.payload,
35
21
  }
36
- case UPDATE_HANDOFF:
22
+ case WebchatAction.UPDATE_HANDOFF:
37
23
  return { ...state, handoff: action.payload }
38
- case TOGGLE_WEBCHAT: {
24
+ case WebchatAction.TOGGLE_WEBCHAT: {
39
25
  const isWebchatOpen = action.payload
40
26
  return {
41
27
  ...state,
@@ -43,27 +29,27 @@ export function webchatReducer(state, action) {
43
29
  unreadMessages: isWebchatOpen ? 0 : state.unreadMessages,
44
30
  }
45
31
  }
46
- case TOGGLE_EMOJI_PICKER:
32
+ case WebchatAction.TOGGLE_EMOJI_PICKER:
47
33
  return { ...state, isEmojiPickerOpen: action.payload }
48
- case TOGGLE_PERSISTENT_MENU:
34
+ case WebchatAction.TOGGLE_PERSISTENT_MENU:
49
35
  return { ...state, isPersistentMenuOpen: action.payload }
50
- case TOGGLE_COVER_COMPONENT:
36
+ case WebchatAction.TOGGLE_COVER_COMPONENT:
51
37
  return { ...state, isCoverComponentOpen: action.payload }
52
- case DO_RENDER_CUSTOM_COMPONENT:
38
+ case WebchatAction.DO_RENDER_CUSTOM_COMPONENT:
53
39
  return { ...state, isCustomComponentRendered: action.payload }
54
- case SET_ERROR:
40
+ case WebchatAction.SET_ERROR:
55
41
  return { ...state, error: action.payload || {} }
56
- case SET_ONLINE:
42
+ case WebchatAction.SET_ONLINE:
57
43
  return { ...state, online: action.payload }
58
- case UPDATE_DEV_SETTINGS:
44
+ case WebchatAction.UPDATE_DEV_SETTINGS:
59
45
  return { ...state, devSettings: { ...action.payload } }
60
- case UPDATE_LATEST_INPUT:
46
+ case WebchatAction.UPDATE_LATEST_INPUT:
61
47
  return { ...state, latestInput: action.payload }
62
- case UPDATE_LAST_ROUTE_PATH:
48
+ case WebchatAction.UPDATE_LAST_ROUTE_PATH:
63
49
  return { ...state, lastRoutePath: action.payload }
64
- case SET_CURRENT_ATTACHMENT:
50
+ case WebchatAction.SET_CURRENT_ATTACHMENT:
65
51
  return { ...state, currentAttachment: action.payload }
66
- case UPDATE_JWT:
52
+ case WebchatAction.UPDATE_JWT:
67
53
  return { ...state, jwt: action.payload }
68
54
  default:
69
55
  return messagesReducer(state, action)
@@ -165,7 +165,6 @@ export const Webchat = forwardRef((props, ref) => {
165
165
  setOnline,
166
166
  clearMessages,
167
167
  openWebviewT,
168
- closeWebviewT,
169
168
  updateLastMessageDate,
170
169
  setCurrentAttachment,
171
170
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -846,21 +845,21 @@ export const Webchat = forwardRef((props, ref) => {
846
845
  const WebchatComponent = (
847
846
  <WebchatContext.Provider
848
847
  value={{
849
- sendText,
850
- sendAttachment,
851
- sendPayload,
852
- sendInput,
848
+ addMessage,
849
+ getThemeProperty,
853
850
  openWebview,
854
851
  resolveCase,
855
- webchatState,
856
- getThemeProperty,
857
- addMessage,
852
+ sendAttachment,
853
+ sendInput,
854
+ sendPayload,
855
+ sendText,
858
856
  toggleWebchat,
857
+ updateLatestInput,
859
858
  updateMessage,
860
859
  updateReplies,
861
- updateLatestInput,
862
860
  updateUser: updateSessionWithUser,
863
861
  updateWebchatDevSettings: updateWebchatDevSettings,
862
+ webchatState,
864
863
  }}
865
864
  >
866
865
  {!webchatState.isWebchatOpen && <TriggerButton />}
@@ -1,81 +0,0 @@
1
- export function useWebchat(): {
2
- webchatState: any;
3
- webchatDispatch: import("react").DispatchWithoutAction;
4
- addMessage: (message: any) => void;
5
- addMessageComponent: (message: any) => void;
6
- updateMessage: (message: any) => void;
7
- updateReplies: (replies: any) => void;
8
- updateLatestInput: (input: any) => void;
9
- updateTyping: (typing: any) => void;
10
- updateWebview: (webview: any, params: any) => void;
11
- updateSession: (session: any) => void;
12
- updateLastRoutePath: (path: any) => void;
13
- updateHandoff: (handoff: any) => void;
14
- updateTheme: (theme: any, themeUpdates?: undefined) => void;
15
- updateDevSettings: (settings: any) => void;
16
- toggleWebchat: (toggle: any) => void;
17
- toggleEmojiPicker: (toggle: any) => void;
18
- togglePersistentMenu: (toggle: any) => void;
19
- toggleCoverComponent: (toggle: any) => void;
20
- doRenderCustomComponent: (toggle: any) => void;
21
- setError: (error: any) => void;
22
- setOnline: (online: any) => void;
23
- clearMessages: () => void;
24
- updateLastMessageDate: (date: any) => void;
25
- setCurrentAttachment: (attachment: any) => void;
26
- updateJwt: (jwt: any) => void;
27
- };
28
- export function useTyping({ webchatState, updateTyping, updateMessage, host }: {
29
- webchatState: any;
30
- updateTyping: any;
31
- updateMessage: any;
32
- host: any;
33
- }): void;
34
- export function usePrevious(value: any): undefined;
35
- export function useComponentVisible(initialIsVisible: any, onClickOutside: any): {
36
- ref: import("react").MutableRefObject<null>;
37
- isComponentVisible: any;
38
- setIsComponentVisible: import("react").Dispatch<any>;
39
- };
40
- export namespace webchatInitialState {
41
- let width: number;
42
- let height: number;
43
- let messagesJSON: never[];
44
- let messagesComponents: never[];
45
- let replies: never[];
46
- let latestInput: {};
47
- let typing: boolean;
48
- let webview: null;
49
- let webviewParams: null;
50
- namespace session {
51
- let user: null;
52
- }
53
- let lastRoutePath: null;
54
- let handoff: boolean;
55
- namespace theme {
56
- let headerTitle: string;
57
- let brandColor: string;
58
- let brandImage: any;
59
- let triggerButtonImage: undefined;
60
- let textPlaceholder: string;
61
- namespace style {
62
- let fontFamily: string;
63
- }
64
- }
65
- let themeUpdates: {};
66
- let error: {};
67
- let online: boolean;
68
- namespace devSettings {
69
- let keepSessionOnReload: boolean;
70
- }
71
- let isWebchatOpen: boolean;
72
- let isEmojiPickerOpen: boolean;
73
- let isPersistentMenuOpen: boolean;
74
- let isCoverComponentOpen: boolean;
75
- let isCustomComponentRendered: boolean;
76
- let lastMessageUpdate: undefined;
77
- let currentAttachment: undefined;
78
- let jwt: null;
79
- let unreadMessages: number;
80
- }
81
- export function useComponentWillMount(func: any): void;
@@ -1,222 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useComponentWillMount = exports.useComponentVisible = exports.usePrevious = exports.useTyping = exports.useWebchat = exports.webchatInitialState = void 0;
4
- const react_1 = require("react");
5
- const constants_1 = require("../constants");
6
- const dom_1 = require("../util/dom");
7
- const actions_1 = require("./actions");
8
- const webchat_reducer_1 = require("./webchat-reducer");
9
- exports.webchatInitialState = {
10
- width: constants_1.WEBCHAT.DEFAULTS.WIDTH,
11
- height: constants_1.WEBCHAT.DEFAULTS.HEIGHT,
12
- messagesJSON: [],
13
- messagesComponents: [],
14
- replies: [],
15
- latestInput: {},
16
- typing: false,
17
- webview: null,
18
- webviewParams: null,
19
- session: { user: null },
20
- lastRoutePath: null,
21
- handoff: false,
22
- theme: {
23
- headerTitle: constants_1.WEBCHAT.DEFAULTS.TITLE,
24
- brandColor: constants_1.COLORS.BOTONIC_BLUE,
25
- brandImage: constants_1.WEBCHAT.DEFAULTS.LOGO,
26
- triggerButtonImage: undefined,
27
- textPlaceholder: constants_1.WEBCHAT.DEFAULTS.PLACEHOLDER,
28
- style: {
29
- fontFamily: constants_1.WEBCHAT.DEFAULTS.FONT_FAMILY,
30
- },
31
- },
32
- themeUpdates: {},
33
- error: {},
34
- online: true,
35
- devSettings: { keepSessionOnReload: false },
36
- isWebchatOpen: false,
37
- isEmojiPickerOpen: false,
38
- isPersistentMenuOpen: false,
39
- isCoverComponentOpen: false,
40
- isCustomComponentRendered: false,
41
- lastMessageUpdate: undefined,
42
- currentAttachment: undefined,
43
- jwt: null,
44
- unreadMessages: 0,
45
- };
46
- function useWebchat() {
47
- const [webchatState, webchatDispatch] = (0, react_1.useReducer)(webchat_reducer_1.webchatReducer, exports.webchatInitialState);
48
- const addMessage = message => webchatDispatch({ type: actions_1.ADD_MESSAGE, payload: message });
49
- const addMessageComponent = message => webchatDispatch({ type: actions_1.ADD_MESSAGE_COMPONENT, payload: message });
50
- const updateMessage = message => webchatDispatch({ type: actions_1.UPDATE_MESSAGE, payload: message });
51
- const updateReplies = replies => webchatDispatch({ type: actions_1.UPDATE_REPLIES, payload: replies });
52
- const updateLatestInput = input => webchatDispatch({ type: actions_1.UPDATE_LATEST_INPUT, payload: input });
53
- const updateTyping = typing => webchatDispatch({ type: actions_1.UPDATE_TYPING, payload: typing });
54
- const updateWebview = (webview, params) => webchatDispatch({
55
- type: actions_1.UPDATE_WEBVIEW,
56
- payload: { webview, webviewParams: params },
57
- });
58
- const updateSession = session => {
59
- webchatDispatch({
60
- type: actions_1.UPDATE_SESSION,
61
- payload: session,
62
- });
63
- };
64
- const updateLastRoutePath = path => webchatDispatch({
65
- type: actions_1.UPDATE_LAST_ROUTE_PATH,
66
- payload: path,
67
- });
68
- const updateHandoff = handoff => webchatDispatch({
69
- type: actions_1.UPDATE_HANDOFF,
70
- payload: handoff,
71
- });
72
- const updateTheme = (theme, themeUpdates = undefined) => {
73
- const payload = themeUpdates !== undefined ? { theme, themeUpdates } : { theme };
74
- webchatDispatch({
75
- type: actions_1.UPDATE_THEME,
76
- payload,
77
- });
78
- };
79
- const updateDevSettings = settings => webchatDispatch({
80
- type: actions_1.UPDATE_DEV_SETTINGS,
81
- payload: settings,
82
- });
83
- const toggleWebchat = toggle => {
84
- webchatDispatch({
85
- type: actions_1.TOGGLE_WEBCHAT,
86
- payload: toggle,
87
- });
88
- };
89
- const toggleEmojiPicker = toggle => webchatDispatch({
90
- type: actions_1.TOGGLE_EMOJI_PICKER,
91
- payload: toggle,
92
- });
93
- const togglePersistentMenu = toggle => webchatDispatch({
94
- type: actions_1.TOGGLE_PERSISTENT_MENU,
95
- payload: toggle,
96
- });
97
- const toggleCoverComponent = toggle => webchatDispatch({
98
- type: actions_1.TOGGLE_COVER_COMPONENT,
99
- payload: toggle,
100
- });
101
- const doRenderCustomComponent = toggle => webchatDispatch({
102
- type: actions_1.DO_RENDER_CUSTOM_COMPONENT,
103
- payload: toggle,
104
- });
105
- const setError = error => webchatDispatch({
106
- type: actions_1.SET_ERROR,
107
- payload: error,
108
- });
109
- const setOnline = online => webchatDispatch({
110
- type: actions_1.SET_ONLINE,
111
- payload: online,
112
- });
113
- const clearMessages = () => {
114
- webchatDispatch({
115
- type: actions_1.CLEAR_MESSAGES,
116
- });
117
- };
118
- const updateLastMessageDate = date => {
119
- webchatDispatch({
120
- type: actions_1.UPDATE_LAST_MESSAGE_DATE,
121
- payload: date,
122
- });
123
- };
124
- const setCurrentAttachment = attachment => {
125
- webchatDispatch({
126
- type: actions_1.SET_CURRENT_ATTACHMENT,
127
- payload: attachment,
128
- });
129
- };
130
- const updateJwt = jwt => {
131
- webchatDispatch({
132
- type: actions_1.UPDATE_JWT,
133
- payload: jwt,
134
- });
135
- };
136
- return {
137
- webchatState,
138
- webchatDispatch,
139
- addMessage,
140
- addMessageComponent,
141
- updateMessage,
142
- updateReplies,
143
- updateLatestInput,
144
- updateTyping,
145
- updateWebview,
146
- updateSession,
147
- updateLastRoutePath,
148
- updateHandoff,
149
- updateTheme,
150
- updateDevSettings,
151
- toggleWebchat,
152
- toggleEmojiPicker,
153
- togglePersistentMenu,
154
- toggleCoverComponent,
155
- doRenderCustomComponent,
156
- setError,
157
- setOnline,
158
- clearMessages,
159
- updateLastMessageDate,
160
- setCurrentAttachment,
161
- updateJwt,
162
- };
163
- }
164
- exports.useWebchat = useWebchat;
165
- function useTyping({ webchatState, updateTyping, updateMessage, host }) {
166
- (0, react_1.useEffect)(() => {
167
- let delayTimeout, typingTimeout;
168
- (0, dom_1.scrollToBottom)({ host });
169
- try {
170
- const nextMsg = webchatState.messagesJSON.filter(m => !m.display)[0];
171
- if (nextMsg.delay && nextMsg.typing) {
172
- delayTimeout = setTimeout(() => updateTyping(true), nextMsg.delay * 1000);
173
- }
174
- else if (nextMsg.typing)
175
- updateTyping(true);
176
- const totalDelay = nextMsg.delay + nextMsg.typing;
177
- if (totalDelay)
178
- typingTimeout = setTimeout(() => {
179
- updateMessage(Object.assign(Object.assign({}, nextMsg), { display: true }));
180
- updateTyping(false);
181
- }, totalDelay * 1000);
182
- }
183
- catch (e) { }
184
- return () => {
185
- clearTimeout(delayTimeout);
186
- clearTimeout(typingTimeout);
187
- };
188
- }, [webchatState.messagesJSON, webchatState.typing]);
189
- }
190
- exports.useTyping = useTyping;
191
- function usePrevious(value) {
192
- const ref = (0, react_1.useRef)();
193
- (0, react_1.useEffect)(() => {
194
- ref.current = value;
195
- });
196
- return ref.current;
197
- }
198
- exports.usePrevious = usePrevious;
199
- function useComponentVisible(initialIsVisible, onClickOutside) {
200
- const [isComponentVisible, setIsComponentVisible] = (0, react_1.useState)(initialIsVisible);
201
- const ref = (0, react_1.useRef)(null);
202
- const handleClickOutside = event => {
203
- const target = event.path ? event.path[0] : event.target;
204
- if (ref.current && !ref.current.contains(target)) {
205
- setIsComponentVisible(false);
206
- onClickOutside();
207
- }
208
- };
209
- (0, react_1.useEffect)(() => {
210
- document.addEventListener('click', handleClickOutside, false);
211
- return () => {
212
- document.removeEventListener('click', handleClickOutside, false);
213
- };
214
- });
215
- return { ref, isComponentVisible, setIsComponentVisible };
216
- }
217
- exports.useComponentVisible = useComponentVisible;
218
- const useComponentWillMount = func => {
219
- (0, react_1.useMemo)(func, []);
220
- };
221
- exports.useComponentWillMount = useComponentWillMount;
222
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"src/","sources":["webchat/hooks.js"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- export function useWebchat(): {
2
- webchatState: any;
3
- webchatDispatch: import("react").DispatchWithoutAction;
4
- addMessage: (message: any) => void;
5
- addMessageComponent: (message: any) => void;
6
- updateMessage: (message: any) => void;
7
- updateReplies: (replies: any) => void;
8
- updateLatestInput: (input: any) => void;
9
- updateTyping: (typing: any) => void;
10
- updateWebview: (webview: any, params: any) => void;
11
- updateSession: (session: any) => void;
12
- updateLastRoutePath: (path: any) => void;
13
- updateHandoff: (handoff: any) => void;
14
- updateTheme: (theme: any, themeUpdates?: undefined) => void;
15
- updateDevSettings: (settings: any) => void;
16
- toggleWebchat: (toggle: any) => void;
17
- toggleEmojiPicker: (toggle: any) => void;
18
- togglePersistentMenu: (toggle: any) => void;
19
- toggleCoverComponent: (toggle: any) => void;
20
- doRenderCustomComponent: (toggle: any) => void;
21
- setError: (error: any) => void;
22
- setOnline: (online: any) => void;
23
- clearMessages: () => void;
24
- updateLastMessageDate: (date: any) => void;
25
- setCurrentAttachment: (attachment: any) => void;
26
- updateJwt: (jwt: any) => void;
27
- };
28
- export function useTyping({ webchatState, updateTyping, updateMessage, host }: {
29
- webchatState: any;
30
- updateTyping: any;
31
- updateMessage: any;
32
- host: any;
33
- }): void;
34
- export function usePrevious(value: any): undefined;
35
- export function useComponentVisible(initialIsVisible: any, onClickOutside: any): {
36
- ref: import("react").MutableRefObject<null>;
37
- isComponentVisible: any;
38
- setIsComponentVisible: import("react").Dispatch<any>;
39
- };
40
- export namespace webchatInitialState {
41
- let width: number;
42
- let height: number;
43
- let messagesJSON: never[];
44
- let messagesComponents: never[];
45
- let replies: never[];
46
- let latestInput: {};
47
- let typing: boolean;
48
- let webview: null;
49
- let webviewParams: null;
50
- namespace session {
51
- let user: null;
52
- }
53
- let lastRoutePath: null;
54
- let handoff: boolean;
55
- namespace theme {
56
- let headerTitle: string;
57
- let brandColor: string;
58
- let brandImage: any;
59
- let triggerButtonImage: undefined;
60
- let textPlaceholder: string;
61
- namespace style {
62
- let fontFamily: string;
63
- }
64
- }
65
- let themeUpdates: {};
66
- let error: {};
67
- let online: boolean;
68
- namespace devSettings {
69
- let keepSessionOnReload: boolean;
70
- }
71
- let isWebchatOpen: boolean;
72
- let isEmojiPickerOpen: boolean;
73
- let isPersistentMenuOpen: boolean;
74
- let isCoverComponentOpen: boolean;
75
- let isCustomComponentRendered: boolean;
76
- let lastMessageUpdate: undefined;
77
- let currentAttachment: undefined;
78
- let jwt: null;
79
- let unreadMessages: number;
80
- }
81
- export function useComponentWillMount(func: any): void;