@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.
- package/index.d.ts +1 -1
- package/lib/cjs/assets/arrow-down.svg +3 -0
- package/lib/cjs/assets/arrow-scroll-down.svg +3 -0
- package/lib/cjs/assets/index-types.d.ts +4 -0
- package/lib/cjs/assets/index-types.js +2 -0
- package/lib/cjs/assets/index-types.js.map +1 -0
- package/lib/cjs/components/custom-message.js +2 -2
- package/lib/cjs/components/custom-message.js.map +1 -1
- package/lib/cjs/components/index-types.d.ts +10 -4
- package/lib/cjs/components/index-types.js.map +1 -1
- package/lib/cjs/components/message.js +21 -17
- package/lib/cjs/components/message.js.map +1 -1
- package/lib/cjs/components/timestamps.d.ts +2 -2
- package/lib/cjs/components/timestamps.js +5 -5
- package/lib/cjs/components/timestamps.js.map +1 -1
- package/lib/cjs/constants.d.ts +7 -5
- package/lib/cjs/constants.js +10 -6
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/contexts.js +6 -0
- package/lib/cjs/contexts.js.map +1 -1
- package/lib/cjs/dev-app.js +9 -3
- package/lib/cjs/dev-app.js.map +1 -1
- package/lib/cjs/index-types.d.ts +16 -2
- package/lib/cjs/index-types.js +7 -0
- package/lib/cjs/index-types.js.map +1 -1
- package/lib/cjs/msg-to-botonic.js +5 -2
- package/lib/cjs/msg-to-botonic.js.map +1 -1
- package/lib/cjs/webchat/actions.d.ts +19 -17
- package/lib/cjs/webchat/actions.js +19 -17
- package/lib/cjs/webchat/actions.js.map +1 -1
- package/lib/cjs/webchat/components/styled-scrollbar.js +1 -1
- package/lib/cjs/webchat/devices/device-adapter.js +1 -1
- package/lib/cjs/webchat/devices/device-adapter.js.map +1 -1
- package/lib/cjs/webchat/devices/webchat-resizer.js +1 -1
- package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-typing.d.ts +1 -1
- package/lib/cjs/webchat/hooks/use-typing.js +2 -3
- package/lib/cjs/webchat/hooks/use-typing.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-webchat.d.ts +5 -1
- package/lib/cjs/webchat/hooks/use-webchat.js +15 -1
- package/lib/cjs/webchat/hooks/use-webchat.js.map +1 -1
- package/lib/cjs/webchat/index-types.d.ts +2 -1
- package/lib/cjs/webchat/message-list/index.d.ts +1 -0
- package/lib/cjs/webchat/message-list/index.js +58 -0
- package/lib/cjs/webchat/message-list/index.js.map +1 -0
- package/lib/cjs/webchat/message-list/intro-message.d.ts +1 -0
- package/lib/cjs/webchat/message-list/intro-message.js +23 -0
- package/lib/cjs/webchat/message-list/intro-message.js.map +1 -0
- package/lib/cjs/webchat/message-list/scroll-button.d.ts +5 -0
- package/lib/cjs/webchat/message-list/scroll-button.js +19 -0
- package/lib/cjs/webchat/message-list/scroll-button.js.map +1 -0
- package/lib/cjs/webchat/message-list/styles.d.ts +4 -0
- package/lib/cjs/webchat/message-list/styles.js +48 -0
- package/lib/cjs/webchat/message-list/styles.js.map +1 -0
- package/lib/cjs/webchat/message-list/unread-messages-banner.d.ts +5 -0
- package/lib/cjs/webchat/message-list/unread-messages-banner.js +30 -0
- package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -0
- package/lib/cjs/webchat/messages-reducer.js +31 -9
- package/lib/cjs/webchat/messages-reducer.js.map +1 -1
- package/lib/cjs/webchat/trigger-button/index.js +3 -2
- package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
- package/lib/cjs/webchat/webchat-reducer.js +1 -1
- package/lib/cjs/webchat/webchat-reducer.js.map +1 -1
- package/lib/cjs/webchat/webchat.js +39 -21
- package/lib/cjs/webchat/webchat.js.map +1 -1
- package/lib/cjs/webchat-app.js +24 -9
- package/lib/cjs/webchat-app.js.map +1 -1
- package/lib/esm/assets/arrow-down.svg +3 -0
- package/lib/esm/assets/arrow-scroll-down.svg +3 -0
- package/lib/esm/assets/index-types.d.ts +4 -0
- package/lib/esm/assets/index-types.js +2 -0
- package/lib/esm/assets/index-types.js.map +1 -0
- package/lib/esm/components/custom-message.js +2 -2
- package/lib/esm/components/custom-message.js.map +1 -1
- package/lib/esm/components/index-types.d.ts +10 -4
- package/lib/esm/components/index-types.js.map +1 -1
- package/lib/esm/components/message.js +22 -18
- package/lib/esm/components/message.js.map +1 -1
- package/lib/esm/components/timestamps.d.ts +2 -2
- package/lib/esm/components/timestamps.js +5 -5
- package/lib/esm/components/timestamps.js.map +1 -1
- package/lib/esm/constants.d.ts +7 -5
- package/lib/esm/constants.js +9 -5
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/contexts.js +6 -0
- package/lib/esm/contexts.js.map +1 -1
- package/lib/esm/dev-app.js +9 -3
- package/lib/esm/dev-app.js.map +1 -1
- package/lib/esm/index-types.d.ts +16 -2
- package/lib/esm/index-types.js +6 -1
- package/lib/esm/index-types.js.map +1 -1
- package/lib/esm/msg-to-botonic.js +6 -3
- package/lib/esm/msg-to-botonic.js.map +1 -1
- package/lib/esm/webchat/actions.d.ts +19 -17
- package/lib/esm/webchat/actions.js +19 -17
- package/lib/esm/webchat/actions.js.map +1 -1
- package/lib/esm/webchat/components/styled-scrollbar.js +1 -1
- package/lib/esm/webchat/devices/device-adapter.js +1 -1
- package/lib/esm/webchat/devices/device-adapter.js.map +1 -1
- package/lib/esm/webchat/devices/webchat-resizer.js +1 -1
- package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -1
- package/lib/esm/webchat/hooks/use-typing.d.ts +1 -1
- package/lib/esm/webchat/hooks/use-typing.js +2 -3
- package/lib/esm/webchat/hooks/use-typing.js.map +1 -1
- package/lib/esm/webchat/hooks/use-webchat.d.ts +5 -1
- package/lib/esm/webchat/hooks/use-webchat.js +15 -1
- package/lib/esm/webchat/hooks/use-webchat.js.map +1 -1
- package/lib/esm/webchat/index-types.d.ts +2 -1
- package/lib/esm/webchat/message-list/index.d.ts +1 -0
- package/lib/esm/webchat/message-list/index.js +54 -0
- package/lib/esm/webchat/message-list/index.js.map +1 -0
- package/lib/esm/webchat/message-list/intro-message.d.ts +1 -0
- package/lib/esm/webchat/message-list/intro-message.js +18 -0
- package/lib/esm/webchat/message-list/intro-message.js.map +1 -0
- package/lib/esm/webchat/message-list/scroll-button.d.ts +5 -0
- package/lib/esm/webchat/message-list/scroll-button.js +14 -0
- package/lib/esm/webchat/message-list/scroll-button.js.map +1 -0
- package/lib/esm/webchat/message-list/styles.d.ts +4 -0
- package/lib/esm/webchat/message-list/styles.js +44 -0
- package/lib/esm/webchat/message-list/styles.js.map +1 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +5 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.js +25 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -0
- package/lib/esm/webchat/messages-reducer.js +31 -9
- package/lib/esm/webchat/messages-reducer.js.map +1 -1
- package/lib/esm/webchat/trigger-button/index.js +3 -2
- package/lib/esm/webchat/trigger-button/index.js.map +1 -1
- package/lib/esm/webchat/webchat-reducer.js +1 -1
- package/lib/esm/webchat/webchat-reducer.js.map +1 -1
- package/lib/esm/webchat/webchat.js +40 -22
- package/lib/esm/webchat/webchat.js.map +1 -1
- package/lib/esm/webchat-app.js +25 -10
- package/lib/esm/webchat-app.js.map +1 -1
- package/package.json +7 -5
- package/src/assets/arrow-down.svg +3 -0
- package/src/assets/arrow-scroll-down.svg +3 -0
- package/src/assets/index-types.ts +4 -0
- package/src/components/custom-message.jsx +2 -2
- package/src/components/index-types.ts +8 -4
- package/src/components/message.jsx +29 -21
- package/src/components/timestamps.jsx +5 -5
- package/src/constants.js +9 -6
- package/src/contexts.tsx +6 -0
- package/src/dev-app.jsx +9 -3
- package/src/index-types.ts +18 -3
- package/src/msg-to-botonic.jsx +2 -3
- package/src/webchat/actions.ts +19 -17
- package/src/webchat/components/styled-scrollbar.jsx +1 -1
- package/src/webchat/devices/device-adapter.js +1 -1
- package/src/webchat/devices/webchat-resizer.js +1 -1
- package/src/webchat/hooks/use-typing.ts +3 -3
- package/src/webchat/hooks/use-webchat.ts +18 -2
- package/src/webchat/index-types.ts +2 -1
- package/src/webchat/message-list/index.tsx +103 -0
- package/src/webchat/message-list/intro-message.tsx +38 -0
- package/src/webchat/message-list/scroll-button.tsx +41 -0
- package/src/webchat/message-list/styles.ts +47 -0
- package/src/webchat/message-list/unread-messages-banner.tsx +62 -0
- package/src/webchat/messages-reducer.ts +42 -5
- package/src/webchat/trigger-button/index.tsx +9 -4
- package/src/webchat/webchat-reducer.ts +0 -1
- package/src/webchat/webchat.jsx +71 -49
- package/src/webchat-app.jsx +25 -14
- package/lib/cjs/webchat/message-list.d.ts +0 -1
- package/lib/cjs/webchat/message-list.js +0 -39
- package/lib/cjs/webchat/message-list.js.map +0 -1
- package/lib/esm/webchat/message-list.d.ts +0 -1
- package/lib/esm/webchat/message-list.js +0 -34
- package/lib/esm/webchat/message-list.js.map +0 -1
- 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
|
-
}
|