@seamly/web-ui 19.0.0-beta.1 → 19.1.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/package.json +1 -1
- package/src/javascripts/api/errors/seamly-base-error.js +10 -0
- package/src/javascripts/api/errors/seamly-configuration-error.js +4 -6
- package/src/javascripts/api/errors/seamly-general-error.js +4 -6
- package/src/javascripts/api/errors/seamly-offline-error.js +4 -6
- package/src/javascripts/api/errors/seamly-session-expired-error.js +4 -6
- package/src/javascripts/api/errors/seamly-unauthorized-error.js +4 -6
- package/src/javascripts/api/errors/seamly-unavailable-error.js +17 -0
- package/src/javascripts/api/index.js +10 -11
- package/src/javascripts/domains/app/actions.js +33 -24
- package/src/javascripts/domains/app/index.js +2 -1
- package/src/javascripts/domains/config/reducer.js +1 -0
- package/src/javascripts/domains/config/selectors.js +1 -1
- package/src/javascripts/domains/errors/index.js +32 -0
- package/src/javascripts/domains/i18n/actions.js +9 -24
- package/src/javascripts/domains/i18n/reducer.js +15 -3
- package/src/javascripts/domains/i18n/utils.js +2 -7
- package/src/javascripts/domains/interrupt/middleware.js +12 -9
- package/src/javascripts/domains/interrupt/reducer.js +10 -9
- package/src/javascripts/domains/store/index.js +7 -2
- package/src/javascripts/domains/store/state-reducer.js +10 -6
- package/src/javascripts/domains/visibility/actions.js +73 -0
- package/src/javascripts/domains/visibility/constants.js +8 -0
- package/src/javascripts/domains/visibility/hooks.js +24 -0
- package/src/javascripts/domains/visibility/index.js +8 -0
- package/src/javascripts/domains/visibility/reducer.js +19 -0
- package/src/javascripts/domains/visibility/selectors.js +9 -0
- package/src/javascripts/domains/visibility/utils.js +42 -0
- package/src/javascripts/index.js +3 -12
- package/src/javascripts/lib/engine/index.js +1 -0
- package/src/javascripts/lib/redux-helpers/index.js +45 -13
- package/src/javascripts/lib/store/providers/session-storage.js +6 -1
- package/src/javascripts/style-guide/components/app.js +1 -1
- package/src/javascripts/style-guide/components/static-core.js +6 -1
- package/src/javascripts/style-guide/states.js +48 -21
- package/src/javascripts/style-guide/style-guide-engine.js +4 -2
- package/src/javascripts/ui/components/conversation/conversation.js +2 -2
- package/src/javascripts/ui/components/conversation/event/hooks/use-text-rendering.js +1 -8
- package/src/javascripts/ui/components/conversation/event/text.js +19 -13
- package/src/javascripts/ui/components/core/seamly-core.js +3 -0
- package/src/javascripts/ui/components/core/seamly-event-subscriber.js +3 -3
- package/src/javascripts/ui/components/core/seamly-initializer.js +2 -6
- package/src/javascripts/ui/components/core/seamly-instance-functions-loader.js +2 -3
- package/src/javascripts/ui/components/core/seamly-new-notifications.js +2 -2
- package/src/javascripts/ui/components/core/seamly-read-state.js +2 -2
- package/src/javascripts/ui/components/entry/toggle-button.js +2 -2
- package/src/javascripts/ui/components/layout/agent-info.js +2 -2
- package/src/javascripts/ui/components/layout/app-frame.js +2 -3
- package/src/javascripts/ui/components/layout/chat-frame.js +2 -2
- package/src/javascripts/ui/components/layout/modal-wrapper.js +3 -6
- package/src/javascripts/ui/components/layout/view.js +3 -6
- package/src/javascripts/ui/hooks/seamly-hooks.js +0 -2
- package/src/javascripts/ui/hooks/use-seamly-chat.js +3 -5
- package/src/javascripts/ui/hooks/use-seamly-commands.js +7 -29
- package/src/javascripts/ui/hooks/use-seamly-idle-detach-countdown.js +2 -2
- package/src/javascripts/ui/utils/general-utils.js +0 -9
- package/src/javascripts/ui/utils/seamly-utils.js +0 -66
- package/build/dist/lib/components.js +0 -62
- package/build/dist/lib/components.min.js +0 -1
- package/build/dist/lib/config.js +0 -51
- package/build/dist/lib/config.min.js +0 -1
- package/build/dist/lib/contexts.js +0 -53
- package/build/dist/lib/contexts.min.js +0 -1
- package/build/dist/lib/hooks.js +0 -64
- package/build/dist/lib/hooks.min.js +0 -1
- package/build/dist/lib/index.debug.js +0 -3113
- package/build/dist/lib/index.debug.min.js +0 -2
- package/build/dist/lib/index.debug.min.js.LICENSE.txt +0 -1099
- package/build/dist/lib/index.js +0 -25840
- package/build/dist/lib/index.min.js +0 -2
- package/build/dist/lib/index.min.js.LICENSE.txt +0 -14
- package/build/dist/lib/standalone.js +0 -34715
- package/build/dist/lib/standalone.min.js +0 -2
- package/build/dist/lib/standalone.min.js.LICENSE.txt +0 -9
- package/build/dist/lib/storage.js +0 -268
- package/build/dist/lib/storage.min.js +0 -2
- package/build/dist/lib/storage.min.js.LICENSE.txt +0 -1
- package/build/dist/lib/style-guide.js +0 -8039
- package/build/dist/lib/style-guide.min.js +0 -1
- package/build/dist/lib/styles.css +0 -1
- package/build/dist/lib/styles.js +0 -1
- package/build/dist/lib/utils.js +0 -59
- package/build/dist/lib/utils.min.js +0 -1
- package/src/javascripts/ui/hooks/use-seamly-stored-visibility.js +0 -31
- package/src/javascripts/ui/hooks/use-seamly-visibility.js +0 -98
|
@@ -3,11 +3,11 @@ import { useI18n } from '../../../domains/i18n'
|
|
|
3
3
|
import {
|
|
4
4
|
useEvents,
|
|
5
5
|
useLiveRegion,
|
|
6
|
-
useSeamlyVisibility,
|
|
7
6
|
useSeamlyIsHistoryLoaded,
|
|
8
7
|
} from '../../hooks/seamly-hooks'
|
|
9
8
|
import { newMessageScreenReaderWait } from '../../../config'
|
|
10
9
|
import { debounce } from '../../utils/general-utils'
|
|
10
|
+
import { useVisibility } from '../../../domains/visibility'
|
|
11
11
|
|
|
12
12
|
const SeamlyNewNotifications = () => {
|
|
13
13
|
const { t } = useI18n()
|
|
@@ -16,7 +16,7 @@ const SeamlyNewNotifications = () => {
|
|
|
16
16
|
const previousServerEventCount = useRef(0)
|
|
17
17
|
const isHistoryLoaded = useSeamlyIsHistoryLoaded()
|
|
18
18
|
const { sendPolite } = useLiveRegion()
|
|
19
|
-
const { isOpen } =
|
|
19
|
+
const { isOpen } = useVisibility()
|
|
20
20
|
const prevIsOpen = useRef(null)
|
|
21
21
|
const debounceFunc = useRef(null)
|
|
22
22
|
|
|
@@ -2,7 +2,6 @@ import { useEffect, useRef, useMemo } from 'preact/hooks'
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
useEvents,
|
|
5
|
-
useSeamlyVisibility,
|
|
6
5
|
useSeamlyCommands,
|
|
7
6
|
useLiveRegion,
|
|
8
7
|
useSeamlyUnreadCount,
|
|
@@ -17,6 +16,7 @@ import {
|
|
|
17
16
|
} from '../../utils/seamly-utils'
|
|
18
17
|
import { debounce } from '../../utils/general-utils'
|
|
19
18
|
import { unreadScreenReaderWait } from '../../../config'
|
|
19
|
+
import { useVisibility } from '../../../domains/visibility'
|
|
20
20
|
|
|
21
21
|
const { SET_EVENTS_READ } = seamlyActions
|
|
22
22
|
|
|
@@ -24,7 +24,7 @@ const SeamlyReadState = () => {
|
|
|
24
24
|
const { t } = useI18n()
|
|
25
25
|
const events = useEvents()
|
|
26
26
|
const dispatch = useSeamlyDispatchContext()
|
|
27
|
-
const { isOpen, isVisible } =
|
|
27
|
+
const { isOpen, isVisible } = useVisibility()
|
|
28
28
|
const { sendAction } = useSeamlyCommands()
|
|
29
29
|
const unreadCount = useSeamlyUnreadCount()
|
|
30
30
|
const { sendPolite } = useLiveRegion()
|
|
@@ -2,7 +2,6 @@ import { useLayoutEffect, useRef } from 'preact/hooks'
|
|
|
2
2
|
import { useI18n } from '../../../domains/i18n'
|
|
3
3
|
import { className } from '../../../lib/css'
|
|
4
4
|
import {
|
|
5
|
-
useSeamlyVisibility,
|
|
6
5
|
useSkiplinkTargetFocusing,
|
|
7
6
|
useFocusIfSeamlyContainedFocus,
|
|
8
7
|
useSeamlyCurrentAgent,
|
|
@@ -11,11 +10,12 @@ import {
|
|
|
11
10
|
useSeamlyStateContext,
|
|
12
11
|
} from '../../hooks/seamly-hooks'
|
|
13
12
|
import { useInterrupt } from '../../../domains/interrupt'
|
|
13
|
+
import { useVisibility } from '../../../domains/visibility'
|
|
14
14
|
|
|
15
15
|
const ToggleButton = ({ onOpenChat }) => {
|
|
16
16
|
const { t } = useI18n()
|
|
17
17
|
const titleId = useGeneratedId()
|
|
18
|
-
const { isOpen } =
|
|
18
|
+
const { isOpen } = useVisibility()
|
|
19
19
|
const prevIsOpen = useRef(null)
|
|
20
20
|
const buttonRef = useRef(null)
|
|
21
21
|
const lastEventRef = useRef()
|
|
@@ -2,19 +2,19 @@ import Icon from './icon'
|
|
|
2
2
|
import {
|
|
3
3
|
useSeamlyHeaderData,
|
|
4
4
|
useSeamlyUnreadCount,
|
|
5
|
-
useSeamlyVisibility,
|
|
6
5
|
useSeamlyCurrentAgent,
|
|
7
6
|
} from '../../hooks/seamly-hooks'
|
|
8
7
|
import { className } from '../../../lib/css'
|
|
9
8
|
import { useI18n } from '../../../domains/i18n'
|
|
10
9
|
import { useInterrupt } from '../../../domains/interrupt'
|
|
11
10
|
import { useConfig } from '../../../domains/config'
|
|
11
|
+
import { useVisibility } from '../../../domains/visibility'
|
|
12
12
|
|
|
13
13
|
const AgentInfo = () => {
|
|
14
14
|
const { t } = useI18n()
|
|
15
15
|
const { title, subTitle } = useSeamlyHeaderData()
|
|
16
16
|
const unreadMessageCount = useSeamlyUnreadCount()
|
|
17
|
-
const { isOpen } =
|
|
17
|
+
const { isOpen } = useVisibility()
|
|
18
18
|
const currentAgent = useSeamlyCurrentAgent()
|
|
19
19
|
const { hasInterrupt } = useInterrupt()
|
|
20
20
|
const { defaults } = useConfig()
|
|
@@ -2,19 +2,18 @@ import { useCallback, useMemo } from 'preact/hooks'
|
|
|
2
2
|
import { className } from '../../../lib/css'
|
|
3
3
|
import {
|
|
4
4
|
useSeamlyAppContainerClassNames,
|
|
5
|
-
useSeamlyVisibility,
|
|
6
5
|
useSeamlyLayoutMode,
|
|
7
6
|
useSeamlyContainerElement,
|
|
8
7
|
} from '../../hooks/seamly-hooks'
|
|
9
8
|
import Faq from '../faq/faq'
|
|
10
|
-
import { visibilityStates } from '../../utils/seamly-utils'
|
|
11
9
|
import { useConfig } from '../../../domains/config'
|
|
12
10
|
import { useUserHasResponded } from '../../../domains/app'
|
|
13
11
|
import { useI18n } from '../../../domains/i18n'
|
|
12
|
+
import { useVisibility, visibilityStates } from '../../../domains/visibility'
|
|
14
13
|
|
|
15
14
|
const AppFrame = ({ children }) => {
|
|
16
15
|
const [, setSeamlyContainerElement] = useSeamlyContainerElement()
|
|
17
|
-
const { isOpen, isVisible, setVisibility } =
|
|
16
|
+
const { isOpen, isVisible, setVisibility } = useVisibility()
|
|
18
17
|
const { zIndex, showFaq } = useConfig()
|
|
19
18
|
const { isModal, isInline } = useSeamlyLayoutMode()
|
|
20
19
|
const appContainerClassNames = useSeamlyAppContainerClassNames()
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { className } from '../../../lib/css'
|
|
2
|
-
import { useSeamlyVisibility } from '../../hooks/seamly-hooks'
|
|
3
2
|
import CobrowsingActiveFrame from '../warnings/cobrowsing-active-frame'
|
|
4
3
|
import AppOptions from '../app-options'
|
|
5
4
|
import { ChatStatus as TranslationsChatStatus } from '../../../domains/translations'
|
|
6
5
|
import { useInterrupt } from '../../../domains/interrupt'
|
|
6
|
+
import { useVisibility } from '../../../domains/visibility'
|
|
7
7
|
|
|
8
8
|
function ChatFrame({ children, interruptComponent: InterruptComponent }) {
|
|
9
9
|
const { hasInterrupt, meta } = useInterrupt()
|
|
10
|
-
const { isOpen } =
|
|
10
|
+
const { isOpen } = useVisibility()
|
|
11
11
|
|
|
12
12
|
const getContent = () => {
|
|
13
13
|
if (hasInterrupt) {
|
|
@@ -3,19 +3,16 @@ import { createFocusTrap } from 'focus-trap'
|
|
|
3
3
|
import InOutTransition, {
|
|
4
4
|
transitionStartStates,
|
|
5
5
|
} from '../widgets/in-out-transition'
|
|
6
|
-
import {
|
|
7
|
-
useSeamlyLayoutMode,
|
|
8
|
-
useSeamlyVisibility,
|
|
9
|
-
} from '../../hooks/seamly-hooks'
|
|
6
|
+
import { useSeamlyLayoutMode } from '../../hooks/seamly-hooks'
|
|
10
7
|
import { useI18n } from '../../../domains/i18n'
|
|
11
8
|
import { className } from '../../../lib/css'
|
|
12
9
|
import { createAriaHider } from '../../utils/general-utils'
|
|
13
|
-
import { visibilityStates } from '
|
|
10
|
+
import { useVisibility, visibilityStates } from '../../../domains/visibility'
|
|
14
11
|
|
|
15
12
|
const ModalWrapper = ({ children }) => {
|
|
16
13
|
const { t } = useI18n()
|
|
17
14
|
const { isModal } = useSeamlyLayoutMode()
|
|
18
|
-
const { isOpen, setVisibility } =
|
|
15
|
+
const { isOpen, setVisibility } = useVisibility()
|
|
19
16
|
const container = useRef(null)
|
|
20
17
|
const focusTrap = useRef(null)
|
|
21
18
|
|
|
@@ -7,14 +7,11 @@ import Header from './header'
|
|
|
7
7
|
import Conversation from '../conversation/conversation'
|
|
8
8
|
import EntryContainer from '../entry/entry-container'
|
|
9
9
|
import Interrupt from './interrupt'
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
useSeamlyVisibility,
|
|
13
|
-
useSeamlyLayoutMode,
|
|
14
|
-
} from '../../hooks/seamly-hooks'
|
|
10
|
+
import { useSeamlyChat, useSeamlyLayoutMode } from '../../hooks/seamly-hooks'
|
|
11
|
+
import { useVisibility } from '../../../domains/visibility'
|
|
15
12
|
|
|
16
13
|
const View = () => {
|
|
17
|
-
const { isVisible } =
|
|
14
|
+
const { isVisible } = useVisibility()
|
|
18
15
|
const { openChat, closeChat } = useSeamlyChat()
|
|
19
16
|
const { isModal } = useSeamlyLayoutMode()
|
|
20
17
|
|
|
@@ -49,8 +49,6 @@ export {
|
|
|
49
49
|
useSeamlyContainerElement,
|
|
50
50
|
} from './focus-helper-hooks'
|
|
51
51
|
export { default as useSeamlyChat } from './use-seamly-chat'
|
|
52
|
-
export { default as useSeamlyStoredVisibility } from './use-seamly-stored-visibility'
|
|
53
|
-
export { default as useSeamlyVisibility } from './use-seamly-visibility'
|
|
54
52
|
export { default as useSeamlyIdleDetachCountdown } from './use-seamly-idle-detach-countdown'
|
|
55
53
|
export { default as useSeamlyResumeConversationPrompt } from './use-seamly-resume-conversation-prompt'
|
|
56
54
|
|
|
@@ -5,14 +5,14 @@ import { useEvents } from './seamly-state-hooks'
|
|
|
5
5
|
import useSeamlyCommands from './use-seamly-commands'
|
|
6
6
|
import { useSeamlyHasConversation } from './seamly-api-hooks'
|
|
7
7
|
import { useLiveRegion } from './live-region-hooks'
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
8
|
+
import { seamlyActions } from '../utils/seamly-utils'
|
|
9
|
+
import { useVisibility, visibilityStates } from '../../domains/visibility'
|
|
10
10
|
|
|
11
11
|
const { SET_IS_LOADING } = seamlyActions
|
|
12
12
|
|
|
13
13
|
const useSeamlyChat = () => {
|
|
14
14
|
const { t } = useI18n()
|
|
15
|
-
const { isOpen, isVisible,
|
|
15
|
+
const { isOpen, isVisible, setVisibility } = useVisibility()
|
|
16
16
|
const dispatch = useSeamlyDispatchContext()
|
|
17
17
|
const events = useEvents()
|
|
18
18
|
const spinnerTimeout = useRef(null)
|
|
@@ -52,8 +52,6 @@ const useSeamlyChat = () => {
|
|
|
52
52
|
prevIsVisible.current = isVisible
|
|
53
53
|
}, [isOpen, isVisible, sendAssertive, t])
|
|
54
54
|
|
|
55
|
-
useEffect(() => {}, [visible, sendAssertive])
|
|
56
|
-
|
|
57
55
|
useEffect(() => {
|
|
58
56
|
// This delays the start of the loading inidicator we set when we initialise
|
|
59
57
|
// the application. This is done to only avoid BSOD on initial load if DCX is slow.
|
|
@@ -3,32 +3,24 @@ import {
|
|
|
3
3
|
useSeamlyApiContext,
|
|
4
4
|
useSeamlyHasConversation,
|
|
5
5
|
} from './seamly-api-hooks'
|
|
6
|
-
import {
|
|
7
|
-
useSeamlyStateContext,
|
|
8
|
-
useSeamlyUnreadCount,
|
|
9
|
-
} from './seamly-state-hooks'
|
|
6
|
+
import { useSeamlyUnreadCount } from './seamly-state-hooks'
|
|
10
7
|
import useSeamlyDispatchContext from './use-seamly-dispatch'
|
|
11
8
|
import { SeamlyEventBusContext } from '../components/core/seamly-api-context'
|
|
12
9
|
import { randomId } from '../../lib/id'
|
|
13
10
|
import { userParticipantId } from '../../config'
|
|
14
|
-
import { sanitizeText } from '../utils/general-utils'
|
|
15
11
|
import { actionTypes, seamlyActions } from '../utils/seamly-utils'
|
|
16
12
|
import { useStableCallback } from './utility-hooks'
|
|
17
13
|
import { Actions as InterruptActions } from '../../domains/interrupt'
|
|
18
14
|
import { useConfig } from '../../domains/config'
|
|
19
|
-
import { useUserHasResponded } from '../../domains/app'
|
|
15
|
+
import { useUserHasResponded, Actions as AppActions } from '../../domains/app'
|
|
16
|
+
import { useVisibility } from '../../domains/visibility'
|
|
20
17
|
|
|
21
18
|
const {
|
|
22
19
|
ADD_EVENT,
|
|
23
|
-
CLEAR_EVENTS,
|
|
24
20
|
SET_IS_LOADING,
|
|
25
|
-
CLEAR_PARTICIPANTS,
|
|
26
21
|
SET_HEADER_SUB_TITLE,
|
|
27
22
|
SET_INITIAL_STATE,
|
|
28
|
-
CLEAR_FEATURES,
|
|
29
23
|
SET_FEATURES,
|
|
30
|
-
RESET_UPLOAD_STATE,
|
|
31
|
-
RESET_ENTRY_STATE,
|
|
32
24
|
} = seamlyActions
|
|
33
25
|
|
|
34
26
|
const useSeamlyCommands = () => {
|
|
@@ -39,7 +31,7 @@ const useSeamlyCommands = () => {
|
|
|
39
31
|
|
|
40
32
|
const hasResponded = useUserHasResponded()
|
|
41
33
|
const hasConversation = useSeamlyHasConversation()
|
|
42
|
-
const { visible: visibility } =
|
|
34
|
+
const { visible: visibility } = useVisibility()
|
|
43
35
|
const unreadMessageCount = useSeamlyUnreadCount()
|
|
44
36
|
|
|
45
37
|
const emitEvent = useCallback(
|
|
@@ -75,18 +67,13 @@ const useSeamlyCommands = () => {
|
|
|
75
67
|
])
|
|
76
68
|
|
|
77
69
|
const reset = useCallback(async () => {
|
|
70
|
+
dispatch(AppActions.reset())
|
|
78
71
|
dispatch(InterruptActions.clear())
|
|
79
|
-
|
|
72
|
+
|
|
80
73
|
dispatch({
|
|
81
74
|
type: SET_IS_LOADING,
|
|
82
75
|
isLoading: true,
|
|
83
76
|
})
|
|
84
|
-
dispatch({
|
|
85
|
-
type: CLEAR_PARTICIPANTS,
|
|
86
|
-
})
|
|
87
|
-
dispatch({ type: RESET_UPLOAD_STATE })
|
|
88
|
-
dispatch({ type: RESET_ENTRY_STATE })
|
|
89
|
-
dispatch({ type: CLEAR_FEATURES })
|
|
90
77
|
|
|
91
78
|
const { agentName } = appConfig.defaults || {}
|
|
92
79
|
|
|
@@ -143,20 +130,11 @@ const useSeamlyCommands = () => {
|
|
|
143
130
|
...config,
|
|
144
131
|
}
|
|
145
132
|
|
|
146
|
-
const sanitizedText = sanitizeText(body)
|
|
147
|
-
|
|
148
|
-
const sanitizedMessage = {
|
|
149
|
-
...message,
|
|
150
|
-
body: {
|
|
151
|
-
text: sanitizedText,
|
|
152
|
-
},
|
|
153
|
-
}
|
|
154
|
-
|
|
155
133
|
api.send('message', message)
|
|
156
134
|
emitEvent('message', message)
|
|
157
135
|
dispatch({
|
|
158
136
|
type: ADD_EVENT,
|
|
159
|
-
event: { type: 'message', payload:
|
|
137
|
+
event: { type: 'message', payload: message },
|
|
160
138
|
})
|
|
161
139
|
},
|
|
162
140
|
[api, dispatch, emitEvent, getTextMessageBase],
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from '../utils/general-utils'
|
|
11
11
|
import { actionTypes, seamlyActions } from '../utils/seamly-utils'
|
|
12
12
|
import { screenReaderDebounceDelaySeconds } from '../../config'
|
|
13
|
-
import
|
|
13
|
+
import { useVisibility } from '../../domains/visibility'
|
|
14
14
|
|
|
15
15
|
const {
|
|
16
16
|
CLEAR_IDLE_DETACH_COUNTDOWN,
|
|
@@ -24,7 +24,7 @@ const useSeamlyIdleDetachCountdown = () => {
|
|
|
24
24
|
|
|
25
25
|
const { idleDetachCountdown } = useSeamlyStateContext()
|
|
26
26
|
|
|
27
|
-
const { isOpen: isSeamlyOpen } =
|
|
27
|
+
const { isOpen: isSeamlyOpen } = useVisibility()
|
|
28
28
|
|
|
29
29
|
const stableState = useRef({})
|
|
30
30
|
|
|
@@ -87,15 +87,6 @@ export const microsecondsToMilliseconds = (microseconds) => {
|
|
|
87
87
|
return Math.ceil(microseconds / 1000)
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
export const sanitizeText = (text) =>
|
|
91
|
-
text
|
|
92
|
-
.replace(/&/g, '&')
|
|
93
|
-
.replace(/</g, '<')
|
|
94
|
-
.replace(/>/g, '>')
|
|
95
|
-
.replace(/"/g, '"')
|
|
96
|
-
.replace(/'/g, ''')
|
|
97
|
-
.replace(/\//g, '/')
|
|
98
|
-
|
|
99
90
|
export const getTimeFromSeconds = (seconds) => {
|
|
100
91
|
const minutes = Math.floor(seconds / 60)
|
|
101
92
|
const secondsPartial = seconds - minutes * 60
|
|
@@ -26,13 +26,6 @@ export const entryTypes = {
|
|
|
26
26
|
upload: 'upload',
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export const visibilityStates = {
|
|
30
|
-
hidden: 'hidden',
|
|
31
|
-
minimized: 'minimized',
|
|
32
|
-
open: 'open',
|
|
33
|
-
initialize: null,
|
|
34
|
-
}
|
|
35
|
-
|
|
36
29
|
export const readStates = {
|
|
37
30
|
received: 'received',
|
|
38
31
|
read: 'read',
|
|
@@ -85,7 +78,6 @@ export const seamlyActions = {
|
|
|
85
78
|
SET_PARTICIPANT: 'SET_PARTICIPANT',
|
|
86
79
|
SET_HEADER_TITLE: 'SET_HEADER_TITLE',
|
|
87
80
|
SET_HEADER_SUB_TITLE: 'SET_HEADER_SUB_TITLE',
|
|
88
|
-
SET_VISIBILITY: 'SET_VISIBILITY',
|
|
89
81
|
RESET_HISTORY_LOADED_FLAG: 'RESET_HISTORY_LOADED_FLAG',
|
|
90
82
|
SET_ACTIVE_SERVICE: 'SET_ACTIVE_SERVICE',
|
|
91
83
|
INIT_IDLE_DETACH_COUNTDOWN: 'INIT_IDLE_DETACH_COUNTDOWN',
|
|
@@ -114,8 +106,6 @@ export const seamlyActions = {
|
|
|
114
106
|
SET_UPLOAD_ERROR: 'SET_UPLOAD_ERROR',
|
|
115
107
|
CLEAR_UPLOAD: 'CLEAR_UPLOAD',
|
|
116
108
|
CLEAR_ALL_UPLOADS: 'CLEAR_ALL_UPLOADS',
|
|
117
|
-
RESET_UPLOAD_STATE: 'RESET_UPLOAD_STATE',
|
|
118
|
-
RESET_ENTRY_STATE: 'RESET_ENTRY_STATE',
|
|
119
109
|
SET_SEAMLY_CONTAINER_ELEMENT: 'SET_SEAMLY_CONTAINER_ELEMENT',
|
|
120
110
|
}
|
|
121
111
|
|
|
@@ -136,7 +126,6 @@ const {
|
|
|
136
126
|
SET_PARTICIPANT,
|
|
137
127
|
SET_HEADER_TITLE,
|
|
138
128
|
SET_HEADER_SUB_TITLE,
|
|
139
|
-
SET_VISIBILITY,
|
|
140
129
|
RESET_HISTORY_LOADED_FLAG,
|
|
141
130
|
SET_ACTIVE_SERVICE,
|
|
142
131
|
INIT_IDLE_DETACH_COUNTDOWN,
|
|
@@ -164,8 +153,6 @@ const {
|
|
|
164
153
|
SET_UPLOAD_ERROR,
|
|
165
154
|
CLEAR_UPLOAD,
|
|
166
155
|
CLEAR_ALL_UPLOADS,
|
|
167
|
-
RESET_UPLOAD_STATE,
|
|
168
|
-
RESET_ENTRY_STATE,
|
|
169
156
|
SET_SEAMLY_CONTAINER_ELEMENT,
|
|
170
157
|
} = seamlyActions
|
|
171
158
|
|
|
@@ -594,8 +581,6 @@ export const seamlyStateReducer = (state, action) => {
|
|
|
594
581
|
...state,
|
|
595
582
|
resumeConversationPrompt: false,
|
|
596
583
|
}
|
|
597
|
-
case SET_VISIBILITY:
|
|
598
|
-
return { ...state, visible: action.visible }
|
|
599
584
|
case SET_PARTICIPANT:
|
|
600
585
|
case CLEAR_PARTICIPANTS:
|
|
601
586
|
return {
|
|
@@ -820,25 +805,6 @@ export const seamlyStateReducer = (state, action) => {
|
|
|
820
805
|
...state,
|
|
821
806
|
currentUploads: [],
|
|
822
807
|
}
|
|
823
|
-
case RESET_UPLOAD_STATE:
|
|
824
|
-
return {
|
|
825
|
-
...state,
|
|
826
|
-
showFileUpload: false,
|
|
827
|
-
currentUploads: [],
|
|
828
|
-
}
|
|
829
|
-
case RESET_ENTRY_STATE: {
|
|
830
|
-
return {
|
|
831
|
-
...state,
|
|
832
|
-
entryMeta: {
|
|
833
|
-
default: payloadTypes.text,
|
|
834
|
-
active: payloadTypes.text,
|
|
835
|
-
userSelected: null,
|
|
836
|
-
blockAutoEntrySwitch: false,
|
|
837
|
-
options: {},
|
|
838
|
-
optionsOverride: {},
|
|
839
|
-
},
|
|
840
|
-
}
|
|
841
|
-
}
|
|
842
808
|
case SET_SEAMLY_CONTAINER_ELEMENT: {
|
|
843
809
|
return {
|
|
844
810
|
...state,
|
|
@@ -849,35 +815,3 @@ export const seamlyStateReducer = (state, action) => {
|
|
|
849
815
|
return state
|
|
850
816
|
}
|
|
851
817
|
}
|
|
852
|
-
|
|
853
|
-
export const calculateVisibility = ({
|
|
854
|
-
hasResponded,
|
|
855
|
-
previousVisibility,
|
|
856
|
-
requestedVisibility,
|
|
857
|
-
config,
|
|
858
|
-
}) => {
|
|
859
|
-
const { defaults, layoutMode, hideOnNoUserResponse } = config
|
|
860
|
-
|
|
861
|
-
const { visible: defaultVisibility } = defaults || {}
|
|
862
|
-
|
|
863
|
-
// Requesting open should override the responded check.
|
|
864
|
-
if (
|
|
865
|
-
layoutMode === 'window' &&
|
|
866
|
-
hideOnNoUserResponse &&
|
|
867
|
-
requestedVisibility !== visibilityStates.open
|
|
868
|
-
) {
|
|
869
|
-
return hasResponded
|
|
870
|
-
? requestedVisibility || previousVisibility || visibilityStates.open
|
|
871
|
-
: visibilityStates.hidden
|
|
872
|
-
}
|
|
873
|
-
|
|
874
|
-
const baseVisibility =
|
|
875
|
-
layoutMode === 'inline' ? visibilityStates.open : visibilityStates.minimized
|
|
876
|
-
|
|
877
|
-
return (
|
|
878
|
-
requestedVisibility ||
|
|
879
|
-
previousVisibility ||
|
|
880
|
-
defaultVisibility ||
|
|
881
|
-
baseVisibility
|
|
882
|
-
)
|
|
883
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/******/ (() => { // webpackBootstrap
|
|
2
|
-
/******/ "use strict";
|
|
3
|
-
/******/ // The require scope
|
|
4
|
-
/******/ var __webpack_require__ = {};
|
|
5
|
-
/******/
|
|
6
|
-
/************************************************************************/
|
|
7
|
-
/******/ /* webpack/runtime/define property getters */
|
|
8
|
-
/******/ (() => {
|
|
9
|
-
/******/ // define getter functions for harmony exports
|
|
10
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
|
11
|
-
/******/ for(var key in definition) {
|
|
12
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
13
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
14
|
-
/******/ }
|
|
15
|
-
/******/ }
|
|
16
|
-
/******/ };
|
|
17
|
-
/******/ })();
|
|
18
|
-
/******/
|
|
19
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
20
|
-
/******/ (() => {
|
|
21
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
22
|
-
/******/ })();
|
|
23
|
-
/******/
|
|
24
|
-
/******/ /* webpack/runtime/make namespace object */
|
|
25
|
-
/******/ (() => {
|
|
26
|
-
/******/ // define __esModule on exports
|
|
27
|
-
/******/ __webpack_require__.r = (exports) => {
|
|
28
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
29
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
30
|
-
/******/ }
|
|
31
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
32
|
-
/******/ };
|
|
33
|
-
/******/ })();
|
|
34
|
-
/******/
|
|
35
|
-
/************************************************************************/
|
|
36
|
-
var __webpack_exports__ = {};
|
|
37
|
-
// ESM COMPAT FLAG
|
|
38
|
-
__webpack_require__.r(__webpack_exports__);
|
|
39
|
-
|
|
40
|
-
// EXPORTS
|
|
41
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
42
|
-
"AgentInfo": () => (/* reexport */ web_ui_namespaceObject.AgentInfo),
|
|
43
|
-
"AppFrame": () => (/* reexport */ web_ui_namespaceObject.AppFrame),
|
|
44
|
-
"ChatFrame": () => (/* reexport */ web_ui_namespaceObject.ChatFrame),
|
|
45
|
-
"Conversation": () => (/* reexport */ web_ui_namespaceObject.Conversation),
|
|
46
|
-
"EntryContainer": () => (/* reexport */ web_ui_namespaceObject.EntryContainer),
|
|
47
|
-
"EventParticipant": () => (/* reexport */ web_ui_namespaceObject.EventParticipant),
|
|
48
|
-
"Header": () => (/* reexport */ web_ui_namespaceObject.Header),
|
|
49
|
-
"Icon": () => (/* reexport */ web_ui_namespaceObject.Icon),
|
|
50
|
-
"MessageContainer": () => (/* reexport */ web_ui_namespaceObject.MessageContainer),
|
|
51
|
-
"Text": () => (/* reexport */ web_ui_namespaceObject.Text),
|
|
52
|
-
"ToggleButton": () => (/* reexport */ web_ui_namespaceObject.ToggleButton),
|
|
53
|
-
"View": () => (/* reexport */ web_ui_namespaceObject.View)
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
;// CONCATENATED MODULE: external "@seamly/web-ui"
|
|
57
|
-
const web_ui_namespaceObject = require("@seamly/web-ui");
|
|
58
|
-
;// CONCATENATED MODULE: ./src/javascripts/package/components.js
|
|
59
|
-
|
|
60
|
-
module.exports = __webpack_exports__;
|
|
61
|
-
/******/ })()
|
|
62
|
-
;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{AgentInfo:()=>n.AgentInfo,AppFrame:()=>n.AppFrame,ChatFrame:()=>n.ChatFrame,Conversation:()=>n.Conversation,EntryContainer:()=>n.EntryContainer,EventParticipant:()=>n.EventParticipant,Header:()=>n.Header,Icon:()=>n.Icon,MessageContainer:()=>n.MessageContainer,Text:()=>n.Text,ToggleButton:()=>n.ToggleButton,View:()=>n.View});const n=require("@seamly/web-ui");module.exports=t})();
|
package/build/dist/lib/config.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/******/ (() => { // webpackBootstrap
|
|
2
|
-
/******/ "use strict";
|
|
3
|
-
/******/ // The require scope
|
|
4
|
-
/******/ var __webpack_require__ = {};
|
|
5
|
-
/******/
|
|
6
|
-
/************************************************************************/
|
|
7
|
-
/******/ /* webpack/runtime/define property getters */
|
|
8
|
-
/******/ (() => {
|
|
9
|
-
/******/ // define getter functions for harmony exports
|
|
10
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
|
11
|
-
/******/ for(var key in definition) {
|
|
12
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
13
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
14
|
-
/******/ }
|
|
15
|
-
/******/ }
|
|
16
|
-
/******/ };
|
|
17
|
-
/******/ })();
|
|
18
|
-
/******/
|
|
19
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
20
|
-
/******/ (() => {
|
|
21
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
22
|
-
/******/ })();
|
|
23
|
-
/******/
|
|
24
|
-
/******/ /* webpack/runtime/make namespace object */
|
|
25
|
-
/******/ (() => {
|
|
26
|
-
/******/ // define __esModule on exports
|
|
27
|
-
/******/ __webpack_require__.r = (exports) => {
|
|
28
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
29
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
30
|
-
/******/ }
|
|
31
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
32
|
-
/******/ };
|
|
33
|
-
/******/ })();
|
|
34
|
-
/******/
|
|
35
|
-
/************************************************************************/
|
|
36
|
-
var __webpack_exports__ = {};
|
|
37
|
-
// ESM COMPAT FLAG
|
|
38
|
-
__webpack_require__.r(__webpack_exports__);
|
|
39
|
-
|
|
40
|
-
// EXPORTS
|
|
41
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
42
|
-
"visibilityStates": () => (/* reexport */ web_ui_namespaceObject.visibilityStates)
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
;// CONCATENATED MODULE: external "@seamly/web-ui"
|
|
46
|
-
const web_ui_namespaceObject = require("@seamly/web-ui");
|
|
47
|
-
;// CONCATENATED MODULE: ./src/javascripts/package/config.js
|
|
48
|
-
|
|
49
|
-
module.exports = __webpack_exports__;
|
|
50
|
-
/******/ })()
|
|
51
|
-
;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,o)=>{for(var r in o)e.o(o,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:o[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{visibilityStates:()=>o.visibilityStates});const o=require("@seamly/web-ui");module.exports=t})();
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/******/ (() => { // webpackBootstrap
|
|
2
|
-
/******/ "use strict";
|
|
3
|
-
/******/ // The require scope
|
|
4
|
-
/******/ var __webpack_require__ = {};
|
|
5
|
-
/******/
|
|
6
|
-
/************************************************************************/
|
|
7
|
-
/******/ /* webpack/runtime/define property getters */
|
|
8
|
-
/******/ (() => {
|
|
9
|
-
/******/ // define getter functions for harmony exports
|
|
10
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
|
11
|
-
/******/ for(var key in definition) {
|
|
12
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
13
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
14
|
-
/******/ }
|
|
15
|
-
/******/ }
|
|
16
|
-
/******/ };
|
|
17
|
-
/******/ })();
|
|
18
|
-
/******/
|
|
19
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
20
|
-
/******/ (() => {
|
|
21
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
22
|
-
/******/ })();
|
|
23
|
-
/******/
|
|
24
|
-
/******/ /* webpack/runtime/make namespace object */
|
|
25
|
-
/******/ (() => {
|
|
26
|
-
/******/ // define __esModule on exports
|
|
27
|
-
/******/ __webpack_require__.r = (exports) => {
|
|
28
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
29
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
30
|
-
/******/ }
|
|
31
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
32
|
-
/******/ };
|
|
33
|
-
/******/ })();
|
|
34
|
-
/******/
|
|
35
|
-
/************************************************************************/
|
|
36
|
-
var __webpack_exports__ = {};
|
|
37
|
-
// ESM COMPAT FLAG
|
|
38
|
-
__webpack_require__.r(__webpack_exports__);
|
|
39
|
-
|
|
40
|
-
// EXPORTS
|
|
41
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
42
|
-
"SeamlyApiContext": () => (/* reexport */ web_ui_namespaceObject.SeamlyApiContext),
|
|
43
|
-
"SeamlyEventBusContext": () => (/* reexport */ web_ui_namespaceObject.SeamlyEventBusContext),
|
|
44
|
-
"SeamlyLiveRegionContext": () => (/* reexport */ web_ui_namespaceObject.SeamlyLiveRegionContext)
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
;// CONCATENATED MODULE: external "@seamly/web-ui"
|
|
48
|
-
const web_ui_namespaceObject = require("@seamly/web-ui");
|
|
49
|
-
;// CONCATENATED MODULE: ./src/javascripts/package/contexts.js
|
|
50
|
-
|
|
51
|
-
module.exports = __webpack_exports__;
|
|
52
|
-
/******/ })()
|
|
53
|
-
;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{SeamlyApiContext:()=>o.SeamlyApiContext,SeamlyEventBusContext:()=>o.SeamlyEventBusContext,SeamlyLiveRegionContext:()=>o.SeamlyLiveRegionContext});const o=require("@seamly/web-ui");module.exports=t})();
|