@botonic/react 0.22.0-alpha.1 → 0.22.0-alpha.2
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/lib/cjs/botonic-tester.js +4 -6
- package/lib/cjs/botonic-tester.js.map +1 -1
- package/lib/cjs/components/audio.js +3 -7
- package/lib/cjs/components/audio.js.map +1 -1
- package/lib/cjs/components/button.js +7 -18
- package/lib/cjs/components/button.js.map +1 -1
- package/lib/cjs/components/carousel.d.ts +1 -1
- package/lib/cjs/components/carousel.js +6 -19
- package/lib/cjs/components/carousel.js.map +1 -1
- package/lib/cjs/components/custom-message.d.ts +3 -34
- package/lib/cjs/components/custom-message.js +4 -10
- package/lib/cjs/components/custom-message.js.map +1 -1
- package/lib/cjs/components/document.js +3 -6
- package/lib/cjs/components/document.js.map +1 -1
- package/lib/cjs/components/element.js +3 -2
- package/lib/cjs/components/element.js.map +1 -1
- package/lib/cjs/components/handoff.js +3 -7
- package/lib/cjs/components/handoff.js.map +1 -1
- package/lib/cjs/components/image.js +3 -7
- package/lib/cjs/components/image.js.map +1 -1
- package/lib/cjs/components/location.js +3 -9
- package/lib/cjs/components/location.js.map +1 -1
- package/lib/cjs/components/message-template.js +2 -3
- package/lib/cjs/components/message-template.js.map +1 -1
- package/lib/cjs/components/message.js +9 -27
- package/lib/cjs/components/message.js.map +1 -1
- package/lib/cjs/components/multichannel/index.d.ts +5 -5
- package/lib/cjs/components/multichannel/multichannel-button.js +4 -5
- package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-carousel.js +3 -20
- package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-context.d.ts +1 -1
- package/lib/cjs/components/multichannel/multichannel-reply.js +2 -1
- package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-text.d.ts +1 -1
- package/lib/cjs/components/multichannel/multichannel-text.js +10 -25
- package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel.js +16 -28
- package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
- package/lib/cjs/components/pic.js +3 -2
- package/lib/cjs/components/pic.js.map +1 -1
- package/lib/cjs/components/raw.js +3 -12
- package/lib/cjs/components/raw.js.map +1 -1
- package/lib/cjs/components/reply.js +5 -8
- package/lib/cjs/components/reply.js.map +1 -1
- package/lib/cjs/components/share-button.js +2 -3
- package/lib/cjs/components/share-button.js.map +1 -1
- package/lib/cjs/components/subtitle.js +3 -4
- package/lib/cjs/components/subtitle.js.map +1 -1
- package/lib/cjs/components/text.js +3 -6
- package/lib/cjs/components/text.js.map +1 -1
- package/lib/cjs/components/timestamps.js +2 -5
- package/lib/cjs/components/timestamps.js.map +1 -1
- package/lib/cjs/components/title.js +3 -2
- package/lib/cjs/components/title.js.map +1 -1
- package/lib/cjs/components/video.js +3 -6
- package/lib/cjs/components/video.js.map +1 -1
- package/lib/cjs/components/webchat-settings.js +2 -1
- package/lib/cjs/components/webchat-settings.js.map +1 -1
- package/lib/cjs/components/whatsapp-template.js +3 -4
- package/lib/cjs/components/whatsapp-template.js.map +1 -1
- package/lib/cjs/contexts.d.ts +1 -1
- package/lib/cjs/dev-app.d.ts +2 -2
- package/lib/cjs/dev-app.js +2 -1
- package/lib/cjs/dev-app.js.map +1 -1
- package/lib/cjs/message-utils.d.ts +1 -1
- package/lib/cjs/msg-to-botonic.d.ts +1 -1
- package/lib/cjs/msg-to-botonic.js +24 -46
- package/lib/cjs/msg-to-botonic.js.map +1 -1
- package/lib/cjs/node-app.d.ts +1 -1
- package/lib/cjs/react-bot.d.ts +1 -1
- package/lib/cjs/react-bot.js +3 -4
- package/lib/cjs/react-bot.js.map +1 -1
- package/lib/cjs/util/error-boundary.d.ts +6 -39
- package/lib/cjs/util/error-boundary.js +17 -30
- package/lib/cjs/util/error-boundary.js.map +1 -1
- package/lib/cjs/util/webchat.js.map +1 -1
- package/lib/cjs/webchat/components/attachment.js +7 -10
- package/lib/cjs/webchat/components/attachment.js.map +1 -1
- package/lib/cjs/webchat/components/common.js +2 -1
- package/lib/cjs/webchat/components/common.js.map +1 -1
- package/lib/cjs/webchat/components/conditional-animation.js +2 -3
- package/lib/cjs/webchat/components/conditional-animation.js.map +1 -1
- package/lib/cjs/webchat/components/emoji-picker.js +3 -12
- package/lib/cjs/webchat/components/emoji-picker.js.map +1 -1
- package/lib/cjs/webchat/components/persistent-menu.js +5 -19
- package/lib/cjs/webchat/components/persistent-menu.js.map +1 -1
- package/lib/cjs/webchat/components/send-button.js +2 -7
- package/lib/cjs/webchat/components/send-button.js.map +1 -1
- package/lib/cjs/webchat/components/typing-indicator.js +2 -5
- package/lib/cjs/webchat/components/typing-indicator.js.map +1 -1
- package/lib/cjs/webchat/devices/device-adapter.d.ts +2 -2
- package/lib/cjs/webchat/header.js +4 -14
- package/lib/cjs/webchat/header.js.map +1 -1
- package/lib/cjs/webchat/hooks.js +2 -1
- package/lib/cjs/webchat/hooks.js.map +1 -1
- package/lib/cjs/webchat/message-list.js +5 -12
- package/lib/cjs/webchat/message-list.js.map +1 -1
- package/lib/cjs/webchat/replies.js +2 -5
- package/lib/cjs/webchat/replies.js.map +1 -1
- package/lib/cjs/webchat/session-view.js +7 -30
- package/lib/cjs/webchat/session-view.js.map +1 -1
- package/lib/cjs/webchat/use-storage-state-hook.js +12 -2
- package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -1
- package/lib/cjs/webchat/webchat-dev.d.ts +1 -1
- package/lib/cjs/webchat/webchat-dev.js +6 -10
- package/lib/cjs/webchat/webchat-dev.js.map +1 -1
- package/lib/cjs/webchat/webchat.d.ts +1 -1
- package/lib/cjs/webchat/webchat.js +43 -86
- package/lib/cjs/webchat/webchat.js.map +1 -1
- package/lib/cjs/webchat/webview.js +5 -13
- package/lib/cjs/webchat/webview.js.map +1 -1
- package/lib/cjs/webchat-app.d.ts +2 -2
- package/lib/cjs/webchat-app.js +2 -1
- package/lib/cjs/webchat-app.js.map +1 -1
- package/lib/cjs/webview-app.js +12 -13
- package/lib/cjs/webview-app.js.map +1 -1
- package/lib/esm/botonic-tester.js +4 -6
- package/lib/esm/botonic-tester.js.map +1 -1
- package/lib/esm/components/audio.js +3 -7
- package/lib/esm/components/audio.js.map +1 -1
- package/lib/esm/components/button.js +7 -18
- package/lib/esm/components/button.js.map +1 -1
- package/lib/esm/components/carousel.js +6 -19
- package/lib/esm/components/carousel.js.map +1 -1
- package/lib/esm/components/custom-message.d.ts +3 -34
- package/lib/esm/components/custom-message.js +4 -10
- package/lib/esm/components/custom-message.js.map +1 -1
- package/lib/esm/components/document.js +3 -6
- package/lib/esm/components/document.js.map +1 -1
- package/lib/esm/components/element.js +3 -2
- package/lib/esm/components/element.js.map +1 -1
- package/lib/esm/components/handoff.js +3 -7
- package/lib/esm/components/handoff.js.map +1 -1
- package/lib/esm/components/image.js +3 -7
- package/lib/esm/components/image.js.map +1 -1
- package/lib/esm/components/location.js +3 -9
- package/lib/esm/components/location.js.map +1 -1
- package/lib/esm/components/message-template.js +2 -3
- package/lib/esm/components/message-template.js.map +1 -1
- package/lib/esm/components/message.js +9 -27
- package/lib/esm/components/message.js.map +1 -1
- package/lib/esm/components/multichannel/index.d.ts +5 -5
- package/lib/esm/components/multichannel/multichannel-button.js +4 -5
- package/lib/esm/components/multichannel/multichannel-button.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-carousel.js +3 -20
- package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-context.d.ts +1 -1
- package/lib/esm/components/multichannel/multichannel-reply.js +2 -1
- package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -1
- package/lib/esm/components/multichannel/multichannel-text.js +10 -25
- package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel.js +11 -23
- package/lib/esm/components/multichannel/multichannel.js.map +1 -1
- package/lib/esm/components/pic.js +3 -2
- package/lib/esm/components/pic.js.map +1 -1
- package/lib/esm/components/raw.js +3 -12
- package/lib/esm/components/raw.js.map +1 -1
- package/lib/esm/components/reply.js +5 -8
- package/lib/esm/components/reply.js.map +1 -1
- package/lib/esm/components/share-button.js +2 -3
- package/lib/esm/components/share-button.js.map +1 -1
- package/lib/esm/components/subtitle.js +3 -4
- package/lib/esm/components/subtitle.js.map +1 -1
- package/lib/esm/components/text.js +3 -6
- package/lib/esm/components/text.js.map +1 -1
- package/lib/esm/components/timestamps.js +2 -5
- package/lib/esm/components/timestamps.js.map +1 -1
- package/lib/esm/components/title.js +3 -2
- package/lib/esm/components/title.js.map +1 -1
- package/lib/esm/components/video.js +3 -6
- package/lib/esm/components/video.js.map +1 -1
- package/lib/esm/components/webchat-settings.js +2 -1
- package/lib/esm/components/webchat-settings.js.map +1 -1
- package/lib/esm/components/whatsapp-template.js +3 -4
- package/lib/esm/components/whatsapp-template.js.map +1 -1
- package/lib/esm/contexts.d.ts +1 -1
- package/lib/esm/dev-app.d.ts +2 -2
- package/lib/esm/dev-app.js +2 -1
- package/lib/esm/dev-app.js.map +1 -1
- package/lib/esm/msg-to-botonic.d.ts +1 -1
- package/lib/esm/msg-to-botonic.js +23 -45
- package/lib/esm/msg-to-botonic.js.map +1 -1
- package/lib/esm/node-app.d.ts +1 -1
- package/lib/esm/react-bot.js +3 -4
- package/lib/esm/react-bot.js.map +1 -1
- package/lib/esm/util/error-boundary.d.ts +6 -39
- package/lib/esm/util/error-boundary.js +17 -30
- package/lib/esm/util/error-boundary.js.map +1 -1
- package/lib/esm/util/webchat.js.map +1 -1
- package/lib/esm/webchat/components/attachment.js +8 -11
- package/lib/esm/webchat/components/attachment.js.map +1 -1
- package/lib/esm/webchat/components/common.js +2 -1
- package/lib/esm/webchat/components/common.js.map +1 -1
- package/lib/esm/webchat/components/conditional-animation.js +2 -3
- package/lib/esm/webchat/components/conditional-animation.js.map +1 -1
- package/lib/esm/webchat/components/emoji-picker.js +3 -12
- package/lib/esm/webchat/components/emoji-picker.js.map +1 -1
- package/lib/esm/webchat/components/persistent-menu.js +5 -19
- package/lib/esm/webchat/components/persistent-menu.js.map +1 -1
- package/lib/esm/webchat/components/send-button.js +2 -7
- package/lib/esm/webchat/components/send-button.js.map +1 -1
- package/lib/esm/webchat/components/typing-indicator.js +2 -5
- package/lib/esm/webchat/components/typing-indicator.js.map +1 -1
- package/lib/esm/webchat/devices/device-adapter.d.ts +2 -2
- package/lib/esm/webchat/header.js +4 -14
- package/lib/esm/webchat/header.js.map +1 -1
- package/lib/esm/webchat/hooks.js +2 -1
- package/lib/esm/webchat/hooks.js.map +1 -1
- package/lib/esm/webchat/message-list.js +5 -12
- package/lib/esm/webchat/message-list.js.map +1 -1
- package/lib/esm/webchat/replies.js +2 -5
- package/lib/esm/webchat/replies.js.map +1 -1
- package/lib/esm/webchat/session-view.js +7 -30
- package/lib/esm/webchat/session-view.js.map +1 -1
- package/lib/esm/webchat/use-storage-state-hook.js +12 -2
- package/lib/esm/webchat/use-storage-state-hook.js.map +1 -1
- package/lib/esm/webchat/webchat-dev.d.ts +1 -1
- package/lib/esm/webchat/webchat-dev.js +6 -10
- package/lib/esm/webchat/webchat-dev.js.map +1 -1
- package/lib/esm/webchat/webchat.d.ts +1 -1
- package/lib/esm/webchat/webchat.js +43 -86
- package/lib/esm/webchat/webchat.js.map +1 -1
- package/lib/esm/webchat/webview.js +5 -13
- package/lib/esm/webchat/webview.js.map +1 -1
- package/lib/esm/webchat-app.d.ts +1 -1
- package/lib/esm/webchat-app.js +2 -1
- package/lib/esm/webchat-app.js.map +1 -1
- package/lib/esm/webview-app.js +5 -6
- package/lib/esm/webview-app.js.map +1 -1
- package/package.json +21 -15
- package/src/components/message.jsx +4 -11
- package/src/components/multichannel/multichannel-text.jsx +2 -5
- package/src/msg-to-botonic.jsx +11 -11
- package/src/util/error-boundary.jsx +15 -30
- package/src/util/webchat.js +12 -13
- package/src/webchat/components/attachment.jsx +10 -2
- package/src/webchat/components/emoji-picker.jsx +7 -1
- package/src/webchat/hooks.js +2 -1
- package/src/webchat/use-storage-state-hook.js +13 -2
- package/src/webchat/webchat.jsx +5 -7
- package/src/webview-app.tsx +1 -1
package/src/webchat/hooks.js
CHANGED
|
@@ -247,7 +247,8 @@ export function useComponentVisible(initialIsVisible, onClickOutside) {
|
|
|
247
247
|
const [isComponentVisible, setIsComponentVisible] = useState(initialIsVisible)
|
|
248
248
|
const ref = useRef(null)
|
|
249
249
|
const handleClickOutside = event => {
|
|
250
|
-
|
|
250
|
+
const target = event.path ? event.path[0] : event.target
|
|
251
|
+
if (ref.current && !ref.current.contains(target)) {
|
|
251
252
|
setIsComponentVisible(false)
|
|
252
253
|
onClickOutside()
|
|
253
254
|
}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from 'react'
|
|
2
2
|
|
|
3
|
-
//Code taken from https://github.com/leny/react-use-storage
|
|
4
|
-
const
|
|
3
|
+
// Code taken from https://github.com/leny/react-use-storage/blob/master/src/index.js
|
|
4
|
+
const IS_BROWSER =
|
|
5
|
+
typeof window !== 'undefined' &&
|
|
6
|
+
typeof navigator !== 'undefined' &&
|
|
7
|
+
typeof document !== 'undefined'
|
|
5
8
|
|
|
6
9
|
export function useStorageState(storage, key, defaultValue) {
|
|
10
|
+
let evtTarget
|
|
11
|
+
|
|
12
|
+
try {
|
|
13
|
+
evtTarget = new EventTarget()
|
|
14
|
+
} catch {
|
|
15
|
+
evtTarget = (IS_BROWSER ? document : {})?.createElement?.('phony')
|
|
16
|
+
}
|
|
17
|
+
|
|
7
18
|
const raw = storage?.getItem(key)
|
|
8
19
|
|
|
9
20
|
const [value, setValue] = useState(raw ? JSON.parse(raw) : defaultValue)
|
package/src/webchat/webchat.jsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT, isMobile, params2queryString } from '@botonic/core'
|
|
2
|
-
import { motion } from 'framer-motion'
|
|
3
2
|
import merge from 'lodash.merge'
|
|
4
3
|
import React, {
|
|
5
4
|
forwardRef,
|
|
@@ -161,7 +160,7 @@ const DarkBackgroundMenu = styled.div`
|
|
|
161
160
|
height: 100%;
|
|
162
161
|
`
|
|
163
162
|
|
|
164
|
-
// eslint-disable-next-line complexity
|
|
163
|
+
// eslint-disable-next-line complexity, react/display-name
|
|
165
164
|
export const Webchat = forwardRef((props, ref) => {
|
|
166
165
|
const {
|
|
167
166
|
webchatState,
|
|
@@ -372,8 +371,8 @@ export const Webchat = forwardRef((props, ref) => {
|
|
|
372
371
|
const openWebview = (webviewComponent, params) =>
|
|
373
372
|
updateWebview(webviewComponent, params)
|
|
374
373
|
|
|
375
|
-
const handleSelectedEmoji =
|
|
376
|
-
textArea.current.value +=
|
|
374
|
+
const handleSelectedEmoji = event => {
|
|
375
|
+
textArea.current.value += event.emoji
|
|
377
376
|
textArea.current.focus()
|
|
378
377
|
}
|
|
379
378
|
|
|
@@ -712,8 +711,6 @@ export const Webchat = forwardRef((props, ref) => {
|
|
|
712
711
|
}
|
|
713
712
|
}, [webchatState.isWebchatOpen])
|
|
714
713
|
|
|
715
|
-
const textArea = useRef()
|
|
716
|
-
|
|
717
714
|
const getTriggerImage = () => {
|
|
718
715
|
const triggerImage = getThemeProperty(
|
|
719
716
|
WEBCHAT.CUSTOM_PROPERTIES.triggerButtonImage,
|
|
@@ -768,6 +765,7 @@ export const Webchat = forwardRef((props, ref) => {
|
|
|
768
765
|
|
|
769
766
|
const userInputEnabled = isUserInputEnabled()
|
|
770
767
|
|
|
768
|
+
const textArea = useRef(null)
|
|
771
769
|
const userInputArea = () => {
|
|
772
770
|
return (
|
|
773
771
|
userInputEnabled && (
|
|
@@ -792,6 +790,7 @@ export const Webchat = forwardRef((props, ref) => {
|
|
|
792
790
|
|
|
793
791
|
<TextAreaContainer>
|
|
794
792
|
<Textarea
|
|
793
|
+
inputRef={textArea}
|
|
795
794
|
name='text'
|
|
796
795
|
onFocus={() => deviceAdapter.onFocus(host)}
|
|
797
796
|
onBlur={() => deviceAdapter.onBlur()}
|
|
@@ -803,7 +802,6 @@ export const Webchat = forwardRef((props, ref) => {
|
|
|
803
802
|
WEBCHAT.DEFAULTS.PLACEHOLDER
|
|
804
803
|
)}
|
|
805
804
|
autoFocus={true}
|
|
806
|
-
inputRef={textArea}
|
|
807
805
|
onKeyDown={e => onKeyDown(e)}
|
|
808
806
|
onKeyUp={onKeyUp}
|
|
809
807
|
style={{
|
package/src/webview-app.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import type { PROVIDER } from '@botonic/core'
|
|
3
2
|
import { getString } from '@botonic/core/lib/esm/i18n'
|
|
3
|
+
import { PROVIDER } from '@botonic/core/lib/esm/models/legacy-types'
|
|
4
4
|
import { params2queryString } from '@botonic/core/lib/esm/utils'
|
|
5
5
|
import axios from 'axios'
|
|
6
6
|
import React from 'react'
|