@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.
- 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 +1 -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 +77 -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 +22 -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 +50 -0
- package/lib/cjs/webchat/message-list/styles.js.map +1 -0
- package/lib/cjs/webchat/message-list/unread-messages-banner.d.ts +6 -0
- package/lib/cjs/webchat/message-list/unread-messages-banner.js +21 -0
- package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -0
- package/lib/cjs/webchat/message-list/use-debounce.d.ts +1 -0
- package/lib/cjs/webchat/message-list/use-debounce.js +18 -0
- package/lib/cjs/webchat/message-list/use-debounce.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 +38 -22
- 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 +1 -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 +73 -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 +17 -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 +46 -0
- package/lib/esm/webchat/message-list/styles.js.map +1 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +6 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.js +16 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -0
- package/lib/esm/webchat/message-list/use-debounce.d.ts +1 -0
- package/lib/esm/webchat/message-list/use-debounce.js +14 -0
- package/lib/esm/webchat/message-list/use-debounce.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 +39 -23
- 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 +0 -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 +125 -0
- package/src/webchat/message-list/intro-message.tsx +38 -0
- package/src/webchat/message-list/scroll-button.tsx +45 -0
- package/src/webchat/message-list/styles.ts +49 -0
- package/src/webchat/message-list/unread-messages-banner.tsx +52 -0
- package/src/webchat/message-list/use-debounce.ts +16 -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 +73 -50
- 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,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
|
-
}
|