@botonic/react 0.23.3 → 0.24.0-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 (170) hide show
  1. package/index.d.ts +1 -1
  2. package/lib/cjs/assets/arrow-down.svg +3 -0
  3. package/lib/cjs/assets/arrow-scroll-down.svg +3 -0
  4. package/lib/cjs/assets/index-types.d.ts +4 -0
  5. package/lib/cjs/assets/index-types.js +2 -0
  6. package/lib/cjs/assets/index-types.js.map +1 -0
  7. package/lib/cjs/components/custom-message.js +2 -2
  8. package/lib/cjs/components/custom-message.js.map +1 -1
  9. package/lib/cjs/components/index-types.d.ts +10 -4
  10. package/lib/cjs/components/index-types.js.map +1 -1
  11. package/lib/cjs/components/message.js +21 -17
  12. package/lib/cjs/components/message.js.map +1 -1
  13. package/lib/cjs/components/timestamps.d.ts +2 -2
  14. package/lib/cjs/components/timestamps.js +5 -5
  15. package/lib/cjs/components/timestamps.js.map +1 -1
  16. package/lib/cjs/constants.d.ts +7 -5
  17. package/lib/cjs/constants.js +10 -6
  18. package/lib/cjs/constants.js.map +1 -1
  19. package/lib/cjs/contexts.js +6 -0
  20. package/lib/cjs/contexts.js.map +1 -1
  21. package/lib/cjs/dev-app.js +9 -3
  22. package/lib/cjs/dev-app.js.map +1 -1
  23. package/lib/cjs/index-types.d.ts +16 -2
  24. package/lib/cjs/index-types.js +7 -0
  25. package/lib/cjs/index-types.js.map +1 -1
  26. package/lib/cjs/msg-to-botonic.js +5 -2
  27. package/lib/cjs/msg-to-botonic.js.map +1 -1
  28. package/lib/cjs/webchat/actions.d.ts +19 -17
  29. package/lib/cjs/webchat/actions.js +19 -17
  30. package/lib/cjs/webchat/actions.js.map +1 -1
  31. package/lib/cjs/webchat/components/styled-scrollbar.js +1 -1
  32. package/lib/cjs/webchat/devices/device-adapter.js +1 -1
  33. package/lib/cjs/webchat/devices/device-adapter.js.map +1 -1
  34. package/lib/cjs/webchat/devices/webchat-resizer.js +1 -1
  35. package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -1
  36. package/lib/cjs/webchat/hooks/use-typing.d.ts +1 -1
  37. package/lib/cjs/webchat/hooks/use-typing.js +2 -3
  38. package/lib/cjs/webchat/hooks/use-typing.js.map +1 -1
  39. package/lib/cjs/webchat/hooks/use-webchat.d.ts +5 -1
  40. package/lib/cjs/webchat/hooks/use-webchat.js +15 -1
  41. package/lib/cjs/webchat/hooks/use-webchat.js.map +1 -1
  42. package/lib/cjs/webchat/index-types.d.ts +2 -1
  43. package/lib/cjs/webchat/message-list/index.d.ts +1 -0
  44. package/lib/cjs/webchat/message-list/index.js +58 -0
  45. package/lib/cjs/webchat/message-list/index.js.map +1 -0
  46. package/lib/cjs/webchat/message-list/intro-message.d.ts +1 -0
  47. package/lib/cjs/webchat/message-list/intro-message.js +23 -0
  48. package/lib/cjs/webchat/message-list/intro-message.js.map +1 -0
  49. package/lib/cjs/webchat/message-list/scroll-button.d.ts +5 -0
  50. package/lib/cjs/webchat/message-list/scroll-button.js +19 -0
  51. package/lib/cjs/webchat/message-list/scroll-button.js.map +1 -0
  52. package/lib/cjs/webchat/message-list/styles.d.ts +4 -0
  53. package/lib/cjs/webchat/message-list/styles.js +48 -0
  54. package/lib/cjs/webchat/message-list/styles.js.map +1 -0
  55. package/lib/cjs/webchat/message-list/unread-messages-banner.d.ts +5 -0
  56. package/lib/cjs/webchat/message-list/unread-messages-banner.js +30 -0
  57. package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -0
  58. package/lib/cjs/webchat/messages-reducer.js +31 -9
  59. package/lib/cjs/webchat/messages-reducer.js.map +1 -1
  60. package/lib/cjs/webchat/trigger-button/index.js +3 -2
  61. package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
  62. package/lib/cjs/webchat/webchat-reducer.js +1 -1
  63. package/lib/cjs/webchat/webchat-reducer.js.map +1 -1
  64. package/lib/cjs/webchat/webchat.js +39 -21
  65. package/lib/cjs/webchat/webchat.js.map +1 -1
  66. package/lib/cjs/webchat-app.js +24 -9
  67. package/lib/cjs/webchat-app.js.map +1 -1
  68. package/lib/esm/assets/arrow-down.svg +3 -0
  69. package/lib/esm/assets/arrow-scroll-down.svg +3 -0
  70. package/lib/esm/assets/index-types.d.ts +4 -0
  71. package/lib/esm/assets/index-types.js +2 -0
  72. package/lib/esm/assets/index-types.js.map +1 -0
  73. package/lib/esm/components/custom-message.js +2 -2
  74. package/lib/esm/components/custom-message.js.map +1 -1
  75. package/lib/esm/components/index-types.d.ts +10 -4
  76. package/lib/esm/components/index-types.js.map +1 -1
  77. package/lib/esm/components/message.js +22 -18
  78. package/lib/esm/components/message.js.map +1 -1
  79. package/lib/esm/components/timestamps.d.ts +2 -2
  80. package/lib/esm/components/timestamps.js +5 -5
  81. package/lib/esm/components/timestamps.js.map +1 -1
  82. package/lib/esm/constants.d.ts +7 -5
  83. package/lib/esm/constants.js +9 -5
  84. package/lib/esm/constants.js.map +1 -1
  85. package/lib/esm/contexts.js +6 -0
  86. package/lib/esm/contexts.js.map +1 -1
  87. package/lib/esm/dev-app.js +9 -3
  88. package/lib/esm/dev-app.js.map +1 -1
  89. package/lib/esm/index-types.d.ts +16 -2
  90. package/lib/esm/index-types.js +6 -1
  91. package/lib/esm/index-types.js.map +1 -1
  92. package/lib/esm/msg-to-botonic.js +6 -3
  93. package/lib/esm/msg-to-botonic.js.map +1 -1
  94. package/lib/esm/webchat/actions.d.ts +19 -17
  95. package/lib/esm/webchat/actions.js +19 -17
  96. package/lib/esm/webchat/actions.js.map +1 -1
  97. package/lib/esm/webchat/components/styled-scrollbar.js +1 -1
  98. package/lib/esm/webchat/devices/device-adapter.js +1 -1
  99. package/lib/esm/webchat/devices/device-adapter.js.map +1 -1
  100. package/lib/esm/webchat/devices/webchat-resizer.js +1 -1
  101. package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -1
  102. package/lib/esm/webchat/hooks/use-typing.d.ts +1 -1
  103. package/lib/esm/webchat/hooks/use-typing.js +2 -3
  104. package/lib/esm/webchat/hooks/use-typing.js.map +1 -1
  105. package/lib/esm/webchat/hooks/use-webchat.d.ts +5 -1
  106. package/lib/esm/webchat/hooks/use-webchat.js +15 -1
  107. package/lib/esm/webchat/hooks/use-webchat.js.map +1 -1
  108. package/lib/esm/webchat/index-types.d.ts +2 -1
  109. package/lib/esm/webchat/message-list/index.d.ts +1 -0
  110. package/lib/esm/webchat/message-list/index.js +54 -0
  111. package/lib/esm/webchat/message-list/index.js.map +1 -0
  112. package/lib/esm/webchat/message-list/intro-message.d.ts +1 -0
  113. package/lib/esm/webchat/message-list/intro-message.js +18 -0
  114. package/lib/esm/webchat/message-list/intro-message.js.map +1 -0
  115. package/lib/esm/webchat/message-list/scroll-button.d.ts +5 -0
  116. package/lib/esm/webchat/message-list/scroll-button.js +14 -0
  117. package/lib/esm/webchat/message-list/scroll-button.js.map +1 -0
  118. package/lib/esm/webchat/message-list/styles.d.ts +4 -0
  119. package/lib/esm/webchat/message-list/styles.js +44 -0
  120. package/lib/esm/webchat/message-list/styles.js.map +1 -0
  121. package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +5 -0
  122. package/lib/esm/webchat/message-list/unread-messages-banner.js +25 -0
  123. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -0
  124. package/lib/esm/webchat/messages-reducer.js +31 -9
  125. package/lib/esm/webchat/messages-reducer.js.map +1 -1
  126. package/lib/esm/webchat/trigger-button/index.js +3 -2
  127. package/lib/esm/webchat/trigger-button/index.js.map +1 -1
  128. package/lib/esm/webchat/webchat-reducer.js +1 -1
  129. package/lib/esm/webchat/webchat-reducer.js.map +1 -1
  130. package/lib/esm/webchat/webchat.js +40 -22
  131. package/lib/esm/webchat/webchat.js.map +1 -1
  132. package/lib/esm/webchat-app.js +25 -10
  133. package/lib/esm/webchat-app.js.map +1 -1
  134. package/package.json +7 -5
  135. package/src/assets/arrow-down.svg +3 -0
  136. package/src/assets/arrow-scroll-down.svg +3 -0
  137. package/src/assets/index-types.ts +4 -0
  138. package/src/components/custom-message.jsx +2 -2
  139. package/src/components/index-types.ts +8 -4
  140. package/src/components/message.jsx +29 -21
  141. package/src/components/timestamps.jsx +5 -5
  142. package/src/constants.js +9 -6
  143. package/src/contexts.tsx +6 -0
  144. package/src/dev-app.jsx +9 -3
  145. package/src/index-types.ts +18 -3
  146. package/src/msg-to-botonic.jsx +2 -3
  147. package/src/webchat/actions.ts +19 -17
  148. package/src/webchat/components/styled-scrollbar.jsx +1 -1
  149. package/src/webchat/devices/device-adapter.js +1 -1
  150. package/src/webchat/devices/webchat-resizer.js +1 -1
  151. package/src/webchat/hooks/use-typing.ts +3 -3
  152. package/src/webchat/hooks/use-webchat.ts +18 -2
  153. package/src/webchat/index-types.ts +2 -1
  154. package/src/webchat/message-list/index.tsx +103 -0
  155. package/src/webchat/message-list/intro-message.tsx +38 -0
  156. package/src/webchat/message-list/scroll-button.tsx +41 -0
  157. package/src/webchat/message-list/styles.ts +47 -0
  158. package/src/webchat/message-list/unread-messages-banner.tsx +62 -0
  159. package/src/webchat/messages-reducer.ts +42 -5
  160. package/src/webchat/trigger-button/index.tsx +9 -4
  161. package/src/webchat/webchat-reducer.ts +0 -1
  162. package/src/webchat/webchat.jsx +71 -49
  163. package/src/webchat-app.jsx +25 -14
  164. package/lib/cjs/webchat/message-list.d.ts +0 -1
  165. package/lib/cjs/webchat/message-list.js +0 -39
  166. package/lib/cjs/webchat/message-list.js.map +0 -1
  167. package/lib/esm/webchat/message-list.d.ts +0 -1
  168. package/lib/esm/webchat/message-list.js +0 -34
  169. package/lib/esm/webchat/message-list.js.map +0 -1
  170. package/src/webchat/message-list.jsx +0 -77
@@ -1,77 +0,0 @@
1
- import React, { useContext } from 'react'
2
- import Fade from 'react-reveal/Fade'
3
- import styled from 'styled-components'
4
-
5
- import { ROLES, WEBCHAT } from '../constants'
6
- import { WebchatContext } from '../contexts'
7
- import { resolveImage } from '../util/environment'
8
- import { ConditionalWrapper } from '../util/react'
9
- import { StyledScrollbar } from './components/styled-scrollbar'
10
-
11
- const StyledMessages = styled.div`
12
- display: flex;
13
- overflow-x: hidden;
14
- flex-direction: column;
15
- flex: none;
16
- white-space: pre;
17
- word-wrap: break-word;
18
- `
19
-
20
- const DefaultIntroImage = styled.img`
21
- max-height: 50%;
22
- width: 100%;
23
- `
24
-
25
- export const WebchatMessageList = props => {
26
- const { webchatState, getThemeProperty } = useContext(WebchatContext)
27
- const animationsEnabled = getThemeProperty(
28
- WEBCHAT.CUSTOM_PROPERTIES.enableAnimations,
29
- true
30
- )
31
- const CustomIntro = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.customIntro)
32
- const introImage = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.introImage)
33
- const introStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.introStyle)
34
-
35
- const scrollbarOptions = {
36
- ...{ enable: true, autoHide: true },
37
- ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.scrollbar),
38
- }
39
-
40
- const DefaultIntro = introImage && (
41
- <DefaultIntroImage
42
- style={{
43
- ...introStyle,
44
- }}
45
- src={resolveImage(introImage)}
46
- />
47
- )
48
-
49
- return (
50
- <StyledScrollbar
51
- role={ROLES.MESSAGE_LIST}
52
- // TODO: Distinguis between multiple instances of webchat, e.g. `${uniqueId}-botonic-scrollable`
53
- id='botonic-scrollable-content'
54
- scrollbar={scrollbarOptions}
55
- autoHide={scrollbarOptions.autoHide}
56
- ismessagescontainer='true'
57
- style={{
58
- ...props.style,
59
- }}
60
- >
61
- {(CustomIntro || DefaultIntro) && (
62
- <ConditionalWrapper
63
- condition={animationsEnabled}
64
- wrapper={children => <Fade>{children}</Fade>}
65
- >
66
- {CustomIntro ? <CustomIntro /> : DefaultIntro}
67
- </ConditionalWrapper>
68
- )}
69
- {webchatState.messagesComponents.map((e, i) => (
70
- <StyledMessages role={ROLES.MESSAGE} key={i}>
71
- {e}
72
- </StyledMessages>
73
- ))}
74
- {props.children}
75
- </StyledScrollbar>
76
- )
77
- }