@botonic/react 0.23.3 → 0.24.0-alpha.1

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 (177) 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 +1 -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 +77 -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 +22 -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 +50 -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 +6 -0
  56. package/lib/cjs/webchat/message-list/unread-messages-banner.js +21 -0
  57. package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -0
  58. package/lib/cjs/webchat/message-list/use-debounce.d.ts +1 -0
  59. package/lib/cjs/webchat/message-list/use-debounce.js +18 -0
  60. package/lib/cjs/webchat/message-list/use-debounce.js.map +1 -0
  61. package/lib/cjs/webchat/messages-reducer.js +31 -9
  62. package/lib/cjs/webchat/messages-reducer.js.map +1 -1
  63. package/lib/cjs/webchat/trigger-button/index.js +3 -2
  64. package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
  65. package/lib/cjs/webchat/webchat-reducer.js +1 -1
  66. package/lib/cjs/webchat/webchat-reducer.js.map +1 -1
  67. package/lib/cjs/webchat/webchat.js +38 -22
  68. package/lib/cjs/webchat/webchat.js.map +1 -1
  69. package/lib/cjs/webchat-app.js +24 -9
  70. package/lib/cjs/webchat-app.js.map +1 -1
  71. package/lib/esm/assets/arrow-down.svg +3 -0
  72. package/lib/esm/assets/arrow-scroll-down.svg +3 -0
  73. package/lib/esm/assets/index-types.d.ts +4 -0
  74. package/lib/esm/assets/index-types.js +2 -0
  75. package/lib/esm/assets/index-types.js.map +1 -0
  76. package/lib/esm/components/custom-message.js +2 -2
  77. package/lib/esm/components/custom-message.js.map +1 -1
  78. package/lib/esm/components/index-types.d.ts +10 -4
  79. package/lib/esm/components/index-types.js.map +1 -1
  80. package/lib/esm/components/message.js +22 -18
  81. package/lib/esm/components/message.js.map +1 -1
  82. package/lib/esm/components/timestamps.d.ts +2 -2
  83. package/lib/esm/components/timestamps.js +5 -5
  84. package/lib/esm/components/timestamps.js.map +1 -1
  85. package/lib/esm/constants.d.ts +7 -5
  86. package/lib/esm/constants.js +9 -5
  87. package/lib/esm/constants.js.map +1 -1
  88. package/lib/esm/contexts.js +6 -0
  89. package/lib/esm/contexts.js.map +1 -1
  90. package/lib/esm/dev-app.js +9 -3
  91. package/lib/esm/dev-app.js.map +1 -1
  92. package/lib/esm/index-types.d.ts +16 -2
  93. package/lib/esm/index-types.js +6 -1
  94. package/lib/esm/index-types.js.map +1 -1
  95. package/lib/esm/msg-to-botonic.js +6 -3
  96. package/lib/esm/msg-to-botonic.js.map +1 -1
  97. package/lib/esm/webchat/actions.d.ts +19 -17
  98. package/lib/esm/webchat/actions.js +19 -17
  99. package/lib/esm/webchat/actions.js.map +1 -1
  100. package/lib/esm/webchat/components/styled-scrollbar.js +1 -1
  101. package/lib/esm/webchat/devices/device-adapter.js +1 -1
  102. package/lib/esm/webchat/devices/device-adapter.js.map +1 -1
  103. package/lib/esm/webchat/devices/webchat-resizer.js +1 -1
  104. package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -1
  105. package/lib/esm/webchat/hooks/use-typing.d.ts +1 -1
  106. package/lib/esm/webchat/hooks/use-typing.js +1 -3
  107. package/lib/esm/webchat/hooks/use-typing.js.map +1 -1
  108. package/lib/esm/webchat/hooks/use-webchat.d.ts +5 -1
  109. package/lib/esm/webchat/hooks/use-webchat.js +15 -1
  110. package/lib/esm/webchat/hooks/use-webchat.js.map +1 -1
  111. package/lib/esm/webchat/index-types.d.ts +2 -1
  112. package/lib/esm/webchat/message-list/index.d.ts +1 -0
  113. package/lib/esm/webchat/message-list/index.js +73 -0
  114. package/lib/esm/webchat/message-list/index.js.map +1 -0
  115. package/lib/esm/webchat/message-list/intro-message.d.ts +1 -0
  116. package/lib/esm/webchat/message-list/intro-message.js +18 -0
  117. package/lib/esm/webchat/message-list/intro-message.js.map +1 -0
  118. package/lib/esm/webchat/message-list/scroll-button.d.ts +5 -0
  119. package/lib/esm/webchat/message-list/scroll-button.js +17 -0
  120. package/lib/esm/webchat/message-list/scroll-button.js.map +1 -0
  121. package/lib/esm/webchat/message-list/styles.d.ts +4 -0
  122. package/lib/esm/webchat/message-list/styles.js +46 -0
  123. package/lib/esm/webchat/message-list/styles.js.map +1 -0
  124. package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +6 -0
  125. package/lib/esm/webchat/message-list/unread-messages-banner.js +16 -0
  126. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -0
  127. package/lib/esm/webchat/message-list/use-debounce.d.ts +1 -0
  128. package/lib/esm/webchat/message-list/use-debounce.js +14 -0
  129. package/lib/esm/webchat/message-list/use-debounce.js.map +1 -0
  130. package/lib/esm/webchat/messages-reducer.js +31 -9
  131. package/lib/esm/webchat/messages-reducer.js.map +1 -1
  132. package/lib/esm/webchat/trigger-button/index.js +3 -2
  133. package/lib/esm/webchat/trigger-button/index.js.map +1 -1
  134. package/lib/esm/webchat/webchat-reducer.js +1 -1
  135. package/lib/esm/webchat/webchat-reducer.js.map +1 -1
  136. package/lib/esm/webchat/webchat.js +39 -23
  137. package/lib/esm/webchat/webchat.js.map +1 -1
  138. package/lib/esm/webchat-app.js +25 -10
  139. package/lib/esm/webchat-app.js.map +1 -1
  140. package/package.json +7 -5
  141. package/src/assets/arrow-down.svg +3 -0
  142. package/src/assets/arrow-scroll-down.svg +3 -0
  143. package/src/assets/index-types.ts +4 -0
  144. package/src/components/custom-message.jsx +2 -2
  145. package/src/components/index-types.ts +8 -4
  146. package/src/components/message.jsx +29 -21
  147. package/src/components/timestamps.jsx +5 -5
  148. package/src/constants.js +9 -6
  149. package/src/contexts.tsx +6 -0
  150. package/src/dev-app.jsx +9 -3
  151. package/src/index-types.ts +18 -3
  152. package/src/msg-to-botonic.jsx +2 -3
  153. package/src/webchat/actions.ts +19 -17
  154. package/src/webchat/components/styled-scrollbar.jsx +1 -1
  155. package/src/webchat/devices/device-adapter.js +1 -1
  156. package/src/webchat/devices/webchat-resizer.js +1 -1
  157. package/src/webchat/hooks/use-typing.ts +0 -3
  158. package/src/webchat/hooks/use-webchat.ts +18 -2
  159. package/src/webchat/index-types.ts +2 -1
  160. package/src/webchat/message-list/index.tsx +125 -0
  161. package/src/webchat/message-list/intro-message.tsx +38 -0
  162. package/src/webchat/message-list/scroll-button.tsx +45 -0
  163. package/src/webchat/message-list/styles.ts +49 -0
  164. package/src/webchat/message-list/unread-messages-banner.tsx +52 -0
  165. package/src/webchat/message-list/use-debounce.ts +16 -0
  166. package/src/webchat/messages-reducer.ts +42 -5
  167. package/src/webchat/trigger-button/index.tsx +9 -4
  168. package/src/webchat/webchat-reducer.ts +0 -1
  169. package/src/webchat/webchat.jsx +73 -50
  170. package/src/webchat-app.jsx +25 -14
  171. package/lib/cjs/webchat/message-list.d.ts +0 -1
  172. package/lib/cjs/webchat/message-list.js +0 -39
  173. package/lib/cjs/webchat/message-list.js.map +0 -1
  174. package/lib/esm/webchat/message-list.d.ts +0 -1
  175. package/lib/esm/webchat/message-list.js +0 -34
  176. package/lib/esm/webchat/message-list.js.map +0 -1
  177. package/src/webchat/message-list.jsx +0 -77
@@ -1,34 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useContext } from 'react';
3
- import Fade from 'react-reveal/Fade';
4
- import styled from 'styled-components';
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
- const StyledMessages = styled.div `
11
- display: flex;
12
- overflow-x: hidden;
13
- flex-direction: column;
14
- flex: none;
15
- white-space: pre;
16
- word-wrap: break-word;
17
- `;
18
- const DefaultIntroImage = styled.img `
19
- max-height: 50%;
20
- width: 100%;
21
- `;
22
- export const WebchatMessageList = props => {
23
- const { webchatState, getThemeProperty } = useContext(WebchatContext);
24
- const animationsEnabled = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.enableAnimations, true);
25
- const CustomIntro = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.customIntro);
26
- const introImage = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.introImage);
27
- const introStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.introStyle);
28
- const scrollbarOptions = Object.assign({ enable: true, autoHide: true }, getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.scrollbar));
29
- const DefaultIntro = introImage && (_jsx(DefaultIntroImage, { style: Object.assign({}, introStyle), src: resolveImage(introImage) }));
30
- return (_jsxs(StyledScrollbar, Object.assign({ role: ROLES.MESSAGE_LIST,
31
- // TODO: Distinguis between multiple instances of webchat, e.g. `${uniqueId}-botonic-scrollable`
32
- id: 'botonic-scrollable-content', scrollbar: scrollbarOptions, autoHide: scrollbarOptions.autoHide, ismessagescontainer: 'true', style: Object.assign({}, props.style) }, { children: [(CustomIntro || DefaultIntro) && (_jsx(ConditionalWrapper, Object.assign({ condition: animationsEnabled, wrapper: children => _jsx(Fade, { children: children }) }, { children: CustomIntro ? _jsx(CustomIntro, {}) : DefaultIntro }))), webchatState.messagesComponents.map((e, i) => (_jsx(StyledMessages, Object.assign({ role: ROLES.MESSAGE }, { children: e }), i))), props.children] })));
33
- };
34
- //# sourceMappingURL=message-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-list.js","sourceRoot":"src/","sources":["webchat/message-list.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,IAAI,MAAM,mBAAmB,CAAA;AACpC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOhC,CAAA;AAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGnC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE;IACxC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACrE,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAC1C,IAAI,CACL,CAAA;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC3E,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAEzE,MAAM,gBAAgB,iBACjB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAChC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CACzD,CAAA;IAED,MAAM,YAAY,GAAG,UAAU,IAAI,CACjC,KAAC,iBAAiB,IAChB,KAAK,oBACA,UAAU,GAEf,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,GAC7B,CACH,CAAA;IAED,OAAO,CACL,MAAC,eAAe,kBACd,IAAI,EAAE,KAAK,CAAC,YAAY;QACxB,gGAAgG;QAChG,EAAE,EAAC,4BAA4B,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EACnC,mBAAmB,EAAC,MAAM,EAC1B,KAAK,oBACA,KAAK,CAAC,KAAK,kBAGf,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAChC,KAAC,kBAAkB,kBACjB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAC,IAAI,cAAE,QAAQ,GAAQ,gBAE3C,WAAW,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,CAAC,CAAC,CAAC,YAAY,IAC1B,CACtB,EACA,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7C,KAAC,cAAc,kBAAC,IAAI,EAAE,KAAK,CAAC,OAAO,gBAChC,CAAC,KADsC,CAAC,CAE1B,CAClB,CAAC,EACD,KAAK,CAAC,QAAQ,KACC,CACnB,CAAA;AACH,CAAC,CAAA"}
@@ -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
- }