@botonic/react 0.29.0-alpha.peerDeps → 0.29.1-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 (100) hide show
  1. package/lib/cjs/contexts.js +14 -8
  2. package/lib/cjs/contexts.js.map +1 -1
  3. package/lib/cjs/index-types.d.ts +12 -6
  4. package/lib/cjs/index-types.js +6 -1
  5. package/lib/cjs/index-types.js.map +1 -1
  6. package/lib/cjs/webchat/components/{persistent-menu.d.ts → opened-persistent-menu.d.ts} +0 -4
  7. package/lib/cjs/webchat/components/{persistent-menu.js → opened-persistent-menu.js} +2 -12
  8. package/lib/cjs/webchat/components/opened-persistent-menu.js.map +1 -0
  9. package/lib/cjs/webchat/webchat-input-panel/attachment.d.ts +7 -0
  10. package/lib/cjs/webchat/{components → webchat-input-panel}/attachment.js +6 -4
  11. package/lib/cjs/webchat/webchat-input-panel/attachment.js.map +1 -0
  12. package/lib/cjs/webchat/webchat-input-panel/emoji-picker.d.ts +6 -0
  13. package/lib/cjs/webchat/{components → webchat-input-panel}/emoji-picker.js +5 -20
  14. package/lib/cjs/webchat/webchat-input-panel/emoji-picker.js.map +1 -0
  15. package/lib/cjs/webchat/webchat-input-panel/index.d.ts +13 -0
  16. package/lib/cjs/webchat/webchat-input-panel/index.js +57 -0
  17. package/lib/cjs/webchat/webchat-input-panel/index.js.map +1 -0
  18. package/lib/cjs/webchat/webchat-input-panel/opened-emoji-picker.d.ts +6 -0
  19. package/lib/cjs/webchat/webchat-input-panel/opened-emoji-picker.js +15 -0
  20. package/lib/cjs/webchat/webchat-input-panel/opened-emoji-picker.js.map +1 -0
  21. package/lib/cjs/webchat/webchat-input-panel/persistent-menu.d.ts +6 -0
  22. package/lib/cjs/webchat/webchat-input-panel/persistent-menu.js +19 -0
  23. package/lib/cjs/webchat/webchat-input-panel/persistent-menu.js.map +1 -0
  24. package/lib/cjs/webchat/webchat-input-panel/send-button.d.ts +5 -0
  25. package/lib/cjs/webchat/{components → webchat-input-panel}/send-button.js +2 -2
  26. package/lib/cjs/webchat/webchat-input-panel/send-button.js.map +1 -0
  27. package/lib/cjs/webchat/webchat-input-panel/styles.d.ts +3 -0
  28. package/lib/cjs/webchat/webchat-input-panel/styles.js +30 -0
  29. package/lib/cjs/webchat/webchat-input-panel/styles.js.map +1 -0
  30. package/lib/cjs/webchat/webchat-input-panel/textarea.d.ts +12 -0
  31. package/lib/cjs/webchat/webchat-input-panel/textarea.js +57 -0
  32. package/lib/cjs/webchat/webchat-input-panel/textarea.js.map +1 -0
  33. package/lib/cjs/webchat/webchat.js +10 -95
  34. package/lib/cjs/webchat/webchat.js.map +1 -1
  35. package/lib/cjs/webchat-app.js +1 -1
  36. package/lib/cjs/webchat-app.js.map +1 -1
  37. package/lib/esm/contexts.js +14 -8
  38. package/lib/esm/contexts.js.map +1 -1
  39. package/lib/esm/index-types.d.ts +12 -6
  40. package/lib/esm/index-types.js +5 -0
  41. package/lib/esm/index-types.js.map +1 -1
  42. package/lib/esm/webchat/components/{persistent-menu.d.ts → opened-persistent-menu.d.ts} +0 -4
  43. package/lib/esm/webchat/components/{persistent-menu.js → opened-persistent-menu.js} +2 -11
  44. package/lib/esm/webchat/components/opened-persistent-menu.js.map +1 -0
  45. package/lib/esm/webchat/webchat-input-panel/attachment.d.ts +7 -0
  46. package/lib/esm/webchat/{components → webchat-input-panel}/attachment.js +6 -4
  47. package/lib/esm/webchat/webchat-input-panel/attachment.js.map +1 -0
  48. package/lib/esm/webchat/webchat-input-panel/emoji-picker.d.ts +6 -0
  49. package/lib/esm/webchat/{components → webchat-input-panel}/emoji-picker.js +4 -18
  50. package/lib/esm/webchat/webchat-input-panel/emoji-picker.js.map +1 -0
  51. package/lib/esm/webchat/webchat-input-panel/index.d.ts +13 -0
  52. package/lib/esm/webchat/webchat-input-panel/index.js +53 -0
  53. package/lib/esm/webchat/webchat-input-panel/index.js.map +1 -0
  54. package/lib/esm/webchat/webchat-input-panel/opened-emoji-picker.d.ts +6 -0
  55. package/lib/esm/webchat/webchat-input-panel/opened-emoji-picker.js +10 -0
  56. package/lib/esm/webchat/webchat-input-panel/opened-emoji-picker.js.map +1 -0
  57. package/lib/esm/webchat/webchat-input-panel/persistent-menu.d.ts +6 -0
  58. package/lib/esm/webchat/webchat-input-panel/persistent-menu.js +14 -0
  59. package/lib/esm/webchat/webchat-input-panel/persistent-menu.js.map +1 -0
  60. package/lib/esm/webchat/webchat-input-panel/send-button.d.ts +5 -0
  61. package/lib/esm/webchat/{components → webchat-input-panel}/send-button.js +2 -2
  62. package/lib/esm/webchat/webchat-input-panel/send-button.js.map +1 -0
  63. package/lib/esm/webchat/webchat-input-panel/styles.d.ts +3 -0
  64. package/lib/esm/webchat/webchat-input-panel/styles.js +26 -0
  65. package/lib/esm/webchat/webchat-input-panel/styles.js.map +1 -0
  66. package/lib/esm/webchat/webchat-input-panel/textarea.d.ts +12 -0
  67. package/lib/esm/webchat/webchat-input-panel/textarea.js +52 -0
  68. package/lib/esm/webchat/webchat-input-panel/textarea.js.map +1 -0
  69. package/lib/esm/webchat/webchat.js +10 -95
  70. package/lib/esm/webchat/webchat.js.map +1 -1
  71. package/lib/esm/webchat-app.js +2 -2
  72. package/lib/esm/webchat-app.js.map +1 -1
  73. package/package.json +3 -5
  74. package/src/contexts.tsx +10 -4
  75. package/src/index-types.ts +13 -6
  76. package/src/webchat/components/{persistent-menu.jsx → opened-persistent-menu.jsx} +0 -29
  77. package/src/webchat/{components/attachment.jsx → webchat-input-panel/attachment.tsx} +16 -4
  78. package/src/webchat/{components/emoji-picker.jsx → webchat-input-panel/emoji-picker.tsx} +13 -32
  79. package/src/webchat/webchat-input-panel/index.tsx +117 -0
  80. package/src/webchat/webchat-input-panel/opened-emoji-picker.tsx +33 -0
  81. package/src/webchat/webchat-input-panel/persistent-menu.tsx +41 -0
  82. package/src/webchat/{components/send-button.jsx → webchat-input-panel/send-button.tsx} +6 -2
  83. package/src/webchat/webchat-input-panel/styles.ts +29 -0
  84. package/src/webchat/webchat-input-panel/textarea.tsx +110 -0
  85. package/src/webchat/webchat.jsx +19 -180
  86. package/src/webchat-app.jsx +2 -2
  87. package/lib/cjs/webchat/components/attachment.d.ts +0 -5
  88. package/lib/cjs/webchat/components/attachment.js.map +0 -1
  89. package/lib/cjs/webchat/components/emoji-picker.d.ts +0 -5
  90. package/lib/cjs/webchat/components/emoji-picker.js.map +0 -1
  91. package/lib/cjs/webchat/components/persistent-menu.js.map +0 -1
  92. package/lib/cjs/webchat/components/send-button.d.ts +0 -3
  93. package/lib/cjs/webchat/components/send-button.js.map +0 -1
  94. package/lib/esm/webchat/components/attachment.d.ts +0 -5
  95. package/lib/esm/webchat/components/attachment.js.map +0 -1
  96. package/lib/esm/webchat/components/emoji-picker.d.ts +0 -5
  97. package/lib/esm/webchat/components/emoji-picker.js.map +0 -1
  98. package/lib/esm/webchat/components/persistent-menu.js.map +0 -1
  99. package/lib/esm/webchat/components/send-button.d.ts +0 -3
  100. package/lib/esm/webchat/components/send-button.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"webchat-app.js","sourceRoot":"","sources":["../../src/webchat-app.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webchat-app.js","sourceRoot":"","sources":["../../src/webchat-app.jsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botonic/react",
3
- "version": "0.29.0-alpha.peerDeps",
3
+ "version": "0.29.1-alpha.0",
4
4
  "license": "MIT",
5
5
  "description": "Build Chatbots using React",
6
6
  "main": "./lib/cjs",
@@ -20,6 +20,7 @@
20
20
  "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet '.*.js' '*.js' 'src/**/*.js*' --fix"
21
21
  },
22
22
  "dependencies": {
23
+ "@botonic/core": "^0.29.0",
23
24
  "axios": "^1.7.2",
24
25
  "emoji-picker-react": "^4.4.9",
25
26
  "lodash.merge": "^4.6.2",
@@ -29,7 +30,7 @@
29
30
  "react-frame-component": "^4.1.3",
30
31
  "react-json-tree": "^0.15.0",
31
32
  "react-router-dom": "^5.3.4",
32
- "react-textarea-autosize": "^7.1.2",
33
+ "react-textarea-autosize": "^8.5.3",
33
34
  "reconnecting-websocket": "^4.4.0",
34
35
  "simplebar-react": "^2.4.3",
35
36
  "styled-components": "^5.3.0",
@@ -37,9 +38,6 @@
37
38
  "use-async-effect": "^2.2.7",
38
39
  "uuid": "^8.3.2"
39
40
  },
40
- "peerDependencies": {
41
- "@botonic/core": "^0.28.0"
42
- },
43
41
  "devDependencies": {
44
42
  "@babel/plugin-transform-runtime": "^7.23.9",
45
43
  "@babel/preset-react": "^7.18.6",
package/src/contexts.tsx CHANGED
@@ -59,22 +59,28 @@ export const WebchatContext = createContext<WebchatContextProps>({
59
59
  setLastMessageVisible: () => {
60
60
  return
61
61
  },
62
- sendAttachment: () => {
62
+ sendAttachment: async () => {
63
63
  return
64
64
  },
65
- sendInput: () => {
65
+ sendInput: async () => {
66
66
  return
67
67
  },
68
- sendPayload: () => {
68
+ sendPayload: async () => {
69
69
  return
70
70
  },
71
- sendText: () => {
71
+ sendText: async () => {
72
72
  return
73
73
  },
74
74
  theme: {},
75
75
  toggleWebchat: () => {
76
76
  return
77
77
  },
78
+ toggleEmojiPicker: () => {
79
+ return
80
+ },
81
+ togglePersistentMenu: () => {
82
+ return
83
+ },
78
84
  updateLatestInput: () => {
79
85
  return
80
86
  },
@@ -142,6 +142,11 @@ export enum SENDERS {
142
142
  agent = 'agent',
143
143
  }
144
144
 
145
+ export enum Typing {
146
+ On = 'typing_on',
147
+ Off = 'typing_off',
148
+ }
149
+
145
150
  export interface WebchatMessage {
146
151
  ack: 0 | 1
147
152
  blob: boolean
@@ -177,7 +182,7 @@ export interface OnStateChangeArgs {
177
182
  }
178
183
 
179
184
  export interface MessageInfo {
180
- data: any | 'typing_on'
185
+ data: any | Typing.On
181
186
  id: string
182
187
  type: 'update_webchat_settings' | 'sender_action'
183
188
  }
@@ -191,17 +196,19 @@ export interface Event {
191
196
  export interface WebchatContextProps {
192
197
  addMessage: (message: WebchatMessage) => void
193
198
  closeWebview: () => void
194
- getThemeProperty: (property: string, defaultValue?: string | boolean) => any
199
+ getThemeProperty: (property: string, defaultValue?: any) => any
195
200
  openWebview: (webviewComponent: Webview) => void
196
201
  resetUnreadMessages: () => void
197
202
  resolveCase: () => void
198
- sendAttachment: (attachment: File) => void
199
- sendInput: (input: CoreInput) => void
200
- sendPayload: (payload: string) => void
201
- sendText: (text: string, payload?: string) => void
203
+ sendAttachment: (attachment: File) => Promise<void>
204
+ sendInput: (input: CoreInput) => Promise<void>
205
+ sendPayload: (payload: string) => Promise<void>
206
+ sendText: (text: string, payload?: string) => Promise<void>
202
207
  setLastMessageVisible: (isLastMessageVisible: boolean) => void
203
208
  theme: ThemeProps
204
209
  toggleWebchat: (toggle: boolean) => void
210
+ toggleEmojiPicker: (toggle: boolean) => void
211
+ togglePersistentMenu: (toggle: boolean) => void
205
212
  updateLatestInput: (input: CoreInput) => void
206
213
  updateMessage: (message: WebchatMessage) => void
207
214
  updateReplies: (replies: boolean) => void
@@ -1,13 +1,10 @@
1
1
  import React, { useContext } from 'react'
2
2
  import styled from 'styled-components'
3
3
 
4
- import LogoMenu from '../../assets/menuButton.svg'
5
4
  import { Button } from '../../components/button'
6
5
  import { ROLES, WEBCHAT } from '../../constants'
7
6
  import { WebchatContext } from '../../contexts'
8
- import { ConditionalAnimation } from '../components/conditional-animation'
9
7
  import { useComponentVisible } from '../hooks'
10
- import { Icon } from './common'
11
8
 
12
9
  const ButtonsContainer = styled.div`
13
10
  position: absolute;
@@ -60,30 +57,4 @@ export const OpenedPersistentMenu = ({ onClick, options, borderRadius }) => {
60
57
  )
61
58
  }
62
59
 
63
- export const PersistentMenu = ({ onClick, persistentMenu }) => {
64
- const { getThemeProperty } = useContext(WebchatContext)
65
-
66
- const persistentMenuOptions = getThemeProperty(
67
- WEBCHAT.CUSTOM_PROPERTIES.persistentMenu,
68
- persistentMenu
69
- )
70
-
71
- const CustomMenuButton = getThemeProperty(
72
- WEBCHAT.CUSTOM_PROPERTIES.customMenuButton,
73
- undefined
74
- )
75
-
76
- return (
77
- <>
78
- {persistentMenuOptions ? (
79
- <ConditionalAnimation>
80
- <div role={ROLES.PERSISTENT_MENU_ICON} onClick={onClick}>
81
- {CustomMenuButton ? <CustomMenuButton /> : <Icon src={LogoMenu} />}
82
- </div>
83
- </ConditionalAnimation>
84
- ) : null}
85
- </>
86
- )
87
- }
88
-
89
60
  export default OpenedPersistentMenu
@@ -3,13 +3,23 @@ import React, { useContext, useRef } from 'react'
3
3
  import AttachmentIcon from '../../assets/attachment-icon.svg'
4
4
  import { ROLES, WEBCHAT } from '../../constants'
5
5
  import { WebchatContext } from '../../contexts'
6
+ import { Icon } from '../components/common'
6
7
  import { ConditionalAnimation } from '../components/conditional-animation'
7
- import { Icon } from './common'
8
8
 
9
- export const Attachment = ({ onChange, accept, enableAttachments }) => {
9
+ interface AttachmentProps {
10
+ accept: string
11
+ enableAttachments: boolean
12
+ onChange: (event: any) => void
13
+ }
14
+
15
+ export const Attachment = ({
16
+ accept,
17
+ enableAttachments,
18
+ onChange,
19
+ }: AttachmentProps) => {
10
20
  const { getThemeProperty } = useContext(WebchatContext)
11
21
 
12
- const fileInputRef = useRef(null)
22
+ const fileInputRef = useRef<HTMLInputElement | null>(null)
13
23
 
14
24
  const CustomAttachments = getThemeProperty(
15
25
  WEBCHAT.CUSTOM_PROPERTIES.customAttachments,
@@ -29,7 +39,9 @@ export const Attachment = ({ onChange, accept, enableAttachments }) => {
29
39
 
30
40
  const handleOnChange = event => {
31
41
  onChange(event)
32
- fileInputRef.current.value = null
42
+ if (fileInputRef.current) {
43
+ fileInputRef.current.value = ''
44
+ }
33
45
  }
34
46
 
35
47
  return (
@@ -1,15 +1,23 @@
1
1
  import Picker from 'emoji-picker-react'
2
- import React, { useContext } from 'react'
3
- import styled from 'styled-components'
2
+ import React, { LegacyRef, useContext } from 'react'
4
3
 
5
4
  import LogoEmoji from '../../assets/emojiButton.svg'
6
5
  import { ROLES, WEBCHAT } from '../../constants'
7
6
  import { WebchatContext } from '../../contexts'
7
+ import { Icon } from '../components/common'
8
8
  import { ConditionalAnimation } from '../components/conditional-animation'
9
9
  import { useComponentVisible } from '../hooks'
10
- import { Icon } from './common'
10
+ import { OpenedEmojiPickerContainer } from './styles'
11
11
 
12
- export const EmojiPicker = ({ enableEmojiPicker, onClick }) => {
12
+ interface EmojiPickerProps {
13
+ enableEmojiPicker: boolean
14
+ onClick: () => void
15
+ }
16
+
17
+ export const EmojiPicker = ({
18
+ enableEmojiPicker,
19
+ onClick,
20
+ }: EmojiPickerProps) => {
13
21
  const { getThemeProperty } = useContext(WebchatContext)
14
22
 
15
23
  const CustomEmojiPicker = getThemeProperty(
@@ -28,7 +36,7 @@ export const EmojiPicker = ({ enableEmojiPicker, onClick }) => {
28
36
  }
29
37
  const emojiPickerEnabled = isEmojiPickerEnabled()
30
38
 
31
- const handleClick = event => {
39
+ const handleClick = (event: any) => {
32
40
  onClick()
33
41
  event.stopPropagation()
34
42
  }
@@ -49,30 +57,3 @@ export const EmojiPicker = ({ enableEmojiPicker, onClick }) => {
49
57
  </>
50
58
  )
51
59
  }
52
-
53
- const Container = styled.div`
54
- display: flex;
55
- justify-content: flex-end;
56
- position: absolute;
57
- right: 3px;
58
- top: -324px;
59
- `
60
-
61
- export const OpenedEmojiPicker = props => {
62
- const { ref, isComponentVisible } = useComponentVisible(true, props.onClick)
63
- return (
64
- <div ref={ref}>
65
- {isComponentVisible && (
66
- <Container role={ROLES.EMOJI_PICKER}>
67
- <Picker
68
- width='100%'
69
- height='19rem'
70
- previewConfig={{ showPreview: false }}
71
- onEmojiClick={props.onEmojiClick}
72
- disableAutoFocus={true}
73
- />
74
- </Container>
75
- )}
76
- </div>
77
- )
78
- }
@@ -0,0 +1,117 @@
1
+ import { INPUT } from '@botonic/core'
2
+ import React, { useContext } from 'react'
3
+ import { v4 as uuidv4 } from 'uuid'
4
+
5
+ import { WEBCHAT } from '../../constants'
6
+ import { WebchatContext } from '../../contexts'
7
+ import { getFullMimeWhitelist } from '../../message-utils'
8
+ import { DeviceAdapter } from '../devices/device-adapter'
9
+ import { Attachment } from './attachment'
10
+ import { EmojiPicker } from './emoji-picker'
11
+ import { OpenedEmojiPicker } from './opened-emoji-picker'
12
+ import { PersistentMenu } from './persistent-menu'
13
+ import { SendButton } from './send-button'
14
+ import { UserInputContainer } from './styles'
15
+ import { Textarea } from './textarea'
16
+
17
+ interface WebchatInputPanelProps {
18
+ persistentMenu: any
19
+ enableEmojiPicker: boolean
20
+ enableAttachments: boolean
21
+ handleAttachment: (event: any) => void
22
+ textareaRef: React.MutableRefObject<HTMLTextAreaElement>
23
+ deviceAdapter: DeviceAdapter
24
+ onUserInput?: (event: any) => Promise<void>
25
+ }
26
+
27
+ export const WebchatInputPanel = ({
28
+ persistentMenu,
29
+ enableEmojiPicker,
30
+ enableAttachments,
31
+ handleAttachment,
32
+ textareaRef,
33
+ deviceAdapter,
34
+ onUserInput,
35
+ }: WebchatInputPanelProps) => {
36
+ const {
37
+ getThemeProperty,
38
+ sendText,
39
+ togglePersistentMenu,
40
+ toggleEmojiPicker,
41
+ webchatState,
42
+ } = useContext(WebchatContext)
43
+
44
+ const handleSelectedEmoji = event => {
45
+ textareaRef.current.value += event.emoji
46
+ textareaRef.current.focus()
47
+ }
48
+
49
+ const handleEmojiClick = () => {
50
+ toggleEmojiPicker(!webchatState.isEmojiPickerOpen)
51
+ }
52
+
53
+ const handleMenu = () => {
54
+ togglePersistentMenu(!webchatState.isPersistentMenuOpen)
55
+ }
56
+
57
+ const sendTextAreaText = async () => {
58
+ await sendText(textareaRef.current.value)
59
+ textareaRef.current.value = ''
60
+ }
61
+
62
+ const sendChatEvent = async chatEvent => {
63
+ const chatEventInput = {
64
+ id: uuidv4(),
65
+ type: INPUT.CHAT_EVENT,
66
+ data: chatEvent,
67
+ }
68
+ if (onUserInput) {
69
+ onUserInput({
70
+ user: webchatState.session.user,
71
+ input: chatEventInput,
72
+ session: webchatState.session,
73
+ lastRoutePath: webchatState.lastRoutePath,
74
+ })
75
+ }
76
+ }
77
+
78
+ return (
79
+ <UserInputContainer
80
+ style={{
81
+ ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.userInputStyle),
82
+ }}
83
+ className='user-input-container'
84
+ >
85
+ {webchatState.isEmojiPickerOpen && (
86
+ <OpenedEmojiPicker
87
+ // height={webchatState.theme.style.height} // Revisar si es necessari, en el WebchatStateTheme no hi ha style.height, pero en el Theme props style es any.
88
+ onEmojiClick={handleSelectedEmoji}
89
+ onClick={handleEmojiClick}
90
+ />
91
+ )}
92
+
93
+ <PersistentMenu onClick={handleMenu} persistentMenu={persistentMenu} />
94
+
95
+ <Textarea
96
+ deviceAdapter={deviceAdapter}
97
+ persistentMenu={persistentMenu}
98
+ textareaRef={textareaRef}
99
+ sendChatEvent={sendChatEvent}
100
+ sendTextAreaText={sendTextAreaText}
101
+ />
102
+
103
+ <EmojiPicker
104
+ enableEmojiPicker={enableEmojiPicker}
105
+ onClick={handleEmojiClick}
106
+ />
107
+
108
+ <Attachment
109
+ enableAttachments={enableAttachments}
110
+ onChange={handleAttachment}
111
+ accept={getFullMimeWhitelist().join(',')}
112
+ />
113
+
114
+ <SendButton onClick={sendTextAreaText} />
115
+ </UserInputContainer>
116
+ )
117
+ }
@@ -0,0 +1,33 @@
1
+ import Picker from 'emoji-picker-react'
2
+ import React, { LegacyRef } from 'react'
3
+
4
+ import { ROLES } from '../../constants'
5
+ import { useComponentVisible } from '../hooks'
6
+ import { OpenedEmojiPickerContainer } from './styles'
7
+
8
+ interface OpenedEmojiPickerProps {
9
+ onClick: () => void
10
+ onEmojiClick: (event: any) => void
11
+ }
12
+
13
+ export const OpenedEmojiPicker = ({
14
+ onClick,
15
+ onEmojiClick,
16
+ }: OpenedEmojiPickerProps) => {
17
+ const { ref, isComponentVisible } = useComponentVisible(true, onClick)
18
+ return (
19
+ <div ref={ref as LegacyRef<HTMLDivElement>}>
20
+ {isComponentVisible && (
21
+ <OpenedEmojiPickerContainer role={ROLES.EMOJI_PICKER}>
22
+ <Picker
23
+ width='100%'
24
+ height='19rem'
25
+ previewConfig={{ showPreview: false }}
26
+ onEmojiClick={onEmojiClick}
27
+ autoFocusSearch={false}
28
+ />
29
+ </OpenedEmojiPickerContainer>
30
+ )}
31
+ </div>
32
+ )
33
+ }
@@ -0,0 +1,41 @@
1
+ import React, { useContext } from 'react'
2
+
3
+ import LogoMenu from '../../assets/menuButton.svg'
4
+ import { ROLES, WEBCHAT } from '../../constants'
5
+ import { WebchatContext } from '../../contexts'
6
+ import { Icon } from '../components/common'
7
+ import { ConditionalAnimation } from '../components/conditional-animation'
8
+
9
+ interface PersistentMenuProps {
10
+ persistentMenu: any
11
+ onClick: () => void
12
+ }
13
+
14
+ export const PersistentMenu = ({
15
+ onClick,
16
+ persistentMenu,
17
+ }: PersistentMenuProps) => {
18
+ const { getThemeProperty } = useContext(WebchatContext)
19
+
20
+ const persistentMenuOptions = getThemeProperty(
21
+ WEBCHAT.CUSTOM_PROPERTIES.persistentMenu,
22
+ persistentMenu
23
+ )
24
+
25
+ const CustomMenuButton = getThemeProperty(
26
+ WEBCHAT.CUSTOM_PROPERTIES.customMenuButton,
27
+ undefined
28
+ )
29
+
30
+ return (
31
+ <>
32
+ {persistentMenuOptions ? (
33
+ <ConditionalAnimation>
34
+ <div role={ROLES.PERSISTENT_MENU_ICON} onClick={onClick}>
35
+ {CustomMenuButton ? <CustomMenuButton /> : <Icon src={LogoMenu} />}
36
+ </div>
37
+ </ConditionalAnimation>
38
+ ) : null}
39
+ </>
40
+ )
41
+ }
@@ -3,10 +3,14 @@ import React, { useContext } from 'react'
3
3
  import SendButtonIcon from '../../assets/send-button.svg'
4
4
  import { ROLES, WEBCHAT } from '../../constants'
5
5
  import { WebchatContext } from '../../contexts'
6
+ import { Icon } from '../components/common'
6
7
  import { ConditionalAnimation } from '../components/conditional-animation'
7
- import { Icon } from './common'
8
8
 
9
- export const SendButton = ({ onClick }) => {
9
+ interface SendButtonProps {
10
+ onClick: () => Promise<void>
11
+ }
12
+
13
+ export const SendButton = ({ onClick }: SendButtonProps) => {
10
14
  const { getThemeProperty } = useContext(WebchatContext)
11
15
 
12
16
  const sendButtonEnabled = getThemeProperty(
@@ -0,0 +1,29 @@
1
+ import styled from 'styled-components'
2
+
3
+ import { COLORS } from '../../constants'
4
+
5
+ export const UserInputContainer = styled.div`
6
+ min-height: 52px;
7
+ position: relative;
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: flex-start;
11
+ gap: 16px;
12
+ padding: 0px 16px;
13
+ z-index: 1;
14
+ border-top: 1px solid ${COLORS.SOLID_BLACK_ALPHA_0_5};
15
+ `
16
+
17
+ export const TextAreaContainer = styled.div`
18
+ display: flex;
19
+ flex: 1 1 auto;
20
+ align-items: center;
21
+ `
22
+
23
+ export const OpenedEmojiPickerContainer = styled.div`
24
+ display: flex;
25
+ justify-content: flex-end;
26
+ position: absolute;
27
+ right: 3px;
28
+ top: -324px;
29
+ `
@@ -0,0 +1,110 @@
1
+ import React, { useContext } from 'react'
2
+ import TextareaAutosize from 'react-textarea-autosize'
3
+
4
+ import { PersistentMenuTheme } from '../../components/index-types'
5
+ import { WEBCHAT } from '../../constants'
6
+ import { WebchatContext } from '../../contexts'
7
+ import { Typing } from '../../index-types'
8
+ import { DeviceAdapter } from '../devices/device-adapter'
9
+ import { TextAreaContainer } from './styles'
10
+
11
+ interface TextareaProps {
12
+ deviceAdapter: DeviceAdapter
13
+ persistentMenu: PersistentMenuTheme
14
+ textareaRef: React.MutableRefObject<HTMLTextAreaElement>
15
+ sendChatEvent: (event: string) => Promise<void>
16
+ sendTextAreaText: () => Promise<void>
17
+ }
18
+
19
+ export const Textarea = ({
20
+ deviceAdapter,
21
+ persistentMenu,
22
+ textareaRef,
23
+ sendChatEvent,
24
+ sendTextAreaText,
25
+ }: TextareaProps) => {
26
+ const { getThemeProperty } = useContext(WebchatContext)
27
+
28
+ let isTyping = false
29
+ let typingTimeout
30
+
31
+ const persistentMenuOptions = getThemeProperty(
32
+ WEBCHAT.CUSTOM_PROPERTIES.persistentMenu,
33
+ persistentMenu
34
+ )
35
+
36
+ const onKeyDown = event => {
37
+ if (event.keyCode === 13 && event.shiftKey === false) {
38
+ event.preventDefault()
39
+ sendTextAreaText()
40
+ stopTyping()
41
+ }
42
+ }
43
+
44
+ const onKeyUp = () => {
45
+ if (textareaRef.current.value === '') {
46
+ stopTyping()
47
+ return
48
+ }
49
+ if (!isTyping) {
50
+ startTyping()
51
+ }
52
+ clearTimeoutWithReset(true)
53
+ }
54
+
55
+ const clearTimeoutWithReset = (reset: boolean) => {
56
+ const waitTime = 20 * 1000
57
+ if (typingTimeout) clearTimeout(typingTimeout)
58
+ if (reset) typingTimeout = setTimeout(stopTyping, waitTime)
59
+ }
60
+
61
+ const startTyping = () => {
62
+ isTyping = true
63
+ sendChatEvent(Typing.On)
64
+ }
65
+
66
+ const stopTyping = () => {
67
+ clearTimeoutWithReset(false)
68
+ isTyping = false
69
+ sendChatEvent(Typing.Off)
70
+ }
71
+
72
+ return (
73
+ <TextAreaContainer>
74
+ <TextareaAutosize
75
+ ref={(ref: HTMLTextAreaElement) => (textareaRef.current = ref)}
76
+ name='text'
77
+ onFocus={() => {
78
+ deviceAdapter.onFocus()
79
+ }}
80
+ onBlur={() => {
81
+ deviceAdapter.onBlur()
82
+ }}
83
+ maxRows={4}
84
+ wrap='soft'
85
+ maxLength={1000}
86
+ placeholder={getThemeProperty(
87
+ WEBCHAT.CUSTOM_PROPERTIES.textPlaceholder,
88
+ WEBCHAT.DEFAULTS.PLACEHOLDER
89
+ )}
90
+ autoFocus={false}
91
+ onKeyDown={e => onKeyDown(e)}
92
+ onKeyUp={onKeyUp}
93
+ style={{
94
+ display: 'flex',
95
+ fontSize: deviceAdapter.fontSize(14),
96
+ width: '100%',
97
+ border: 'none',
98
+ resize: 'none',
99
+ overflow: 'auto',
100
+ outline: 'none',
101
+ flex: '1 1 auto',
102
+ padding: 10,
103
+ paddingLeft: persistentMenuOptions ? 0 : 10,
104
+ fontFamily: 'inherit',
105
+ ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.userInputBoxStyle),
106
+ }}
107
+ />
108
+ </TextAreaContainer>
109
+ )
110
+ }