@micromag/screen-conversation 0.3.541 → 0.3.547
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/es/index.js +4 -7
- package/package.json +14 -15
- package/lib/index.js +0 -716
package/es/index.js
CHANGED
|
@@ -105,7 +105,6 @@ var ConversationAudioAttachment = function ConversationAudioAttachment(_ref) {
|
|
|
105
105
|
};
|
|
106
106
|
ConversationAudioAttachment.propTypes = propTypes$2;
|
|
107
107
|
ConversationAudioAttachment.defaultProps = defaultProps$2;
|
|
108
|
-
var ConversationAudioAttachment$1 = ConversationAudioAttachment;
|
|
109
108
|
|
|
110
109
|
var propTypes$1 = {
|
|
111
110
|
message: PropTypes.conversationMessage,
|
|
@@ -218,7 +217,7 @@ var ConversationMessage = function ConversationMessage(_ref) {
|
|
|
218
217
|
}, [messageState]);
|
|
219
218
|
var betweenStyle = isNextSpeakerTheSame && nextMessageState;
|
|
220
219
|
var buildAudioAttachment = function buildAudioAttachment() {
|
|
221
|
-
return /*#__PURE__*/React.createElement(ConversationAudioAttachment
|
|
220
|
+
return /*#__PURE__*/React.createElement(ConversationAudioAttachment, {
|
|
222
221
|
audio: audio,
|
|
223
222
|
messageId: messageId,
|
|
224
223
|
nextAudioMessageId: nextAudioMessageId,
|
|
@@ -275,7 +274,6 @@ var ConversationMessage = function ConversationMessage(_ref) {
|
|
|
275
274
|
};
|
|
276
275
|
ConversationMessage.propTypes = propTypes$1;
|
|
277
276
|
ConversationMessage.defaultProps = defaultProps$1;
|
|
278
|
-
var ConversationMessage$1 = ConversationMessage;
|
|
279
277
|
|
|
280
278
|
var propTypes = {
|
|
281
279
|
// id: PropTypes.string,
|
|
@@ -525,7 +523,7 @@ var ConversationScreen = function ConversationScreen(_ref) {
|
|
|
525
523
|
return c.audio != null;
|
|
526
524
|
});
|
|
527
525
|
var nextAudioMessageId = nextAudioMessage ? "".concat(m.message, "-").concat(messagesUniqueId[filteredMessages.indexOf(nextAudioMessage)]) : null;
|
|
528
|
-
return /*#__PURE__*/React.createElement(ConversationMessage
|
|
526
|
+
return /*#__PURE__*/React.createElement(ConversationMessage, {
|
|
529
527
|
key: messageId,
|
|
530
528
|
message: m,
|
|
531
529
|
messageId: messageId,
|
|
@@ -569,7 +567,6 @@ var ConversationScreen = function ConversationScreen(_ref) {
|
|
|
569
567
|
};
|
|
570
568
|
ConversationScreen.propTypes = propTypes;
|
|
571
569
|
ConversationScreen.defaultProps = defaultProps;
|
|
572
|
-
var ConversationScreen$1 = ConversationScreen;
|
|
573
570
|
|
|
574
571
|
var definition = {
|
|
575
572
|
id: 'conversation',
|
|
@@ -591,7 +588,7 @@ var definition = {
|
|
|
591
588
|
"value": "Conversation"
|
|
592
589
|
}]
|
|
593
590
|
}),
|
|
594
|
-
component: ConversationScreen
|
|
591
|
+
component: ConversationScreen,
|
|
595
592
|
layouts: ['normal'],
|
|
596
593
|
fields: [
|
|
597
594
|
// {
|
|
@@ -708,4 +705,4 @@ var definition = {
|
|
|
708
705
|
}]
|
|
709
706
|
};
|
|
710
707
|
|
|
711
|
-
export { ConversationScreen
|
|
708
|
+
export { ConversationScreen, definition as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/screen-conversation",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.547",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -30,12 +30,11 @@
|
|
|
30
30
|
}
|
|
31
31
|
],
|
|
32
32
|
"license": "ISC",
|
|
33
|
-
"
|
|
33
|
+
"type": "module",
|
|
34
34
|
"module": "es/index.js",
|
|
35
35
|
"style": "assets/css/styles.css",
|
|
36
36
|
"exports": {
|
|
37
37
|
".": {
|
|
38
|
-
"require": "./lib/index.js",
|
|
39
38
|
"import": "./es/index.js"
|
|
40
39
|
},
|
|
41
40
|
"./assets/css/styles": "./assets/css/styles.css",
|
|
@@ -61,17 +60,17 @@
|
|
|
61
60
|
},
|
|
62
61
|
"dependencies": {
|
|
63
62
|
"@babel/runtime": "^7.13.10",
|
|
64
|
-
"@micromag/core": "^0.3.
|
|
65
|
-
"@micromag/element-background": "^0.3.
|
|
66
|
-
"@micromag/element-container": "^0.3.
|
|
67
|
-
"@micromag/element-footer": "^0.3.
|
|
68
|
-
"@micromag/element-header": "^0.3.
|
|
69
|
-
"@micromag/element-heading": "^0.3.
|
|
70
|
-
"@micromag/element-layout": "^0.3.
|
|
71
|
-
"@micromag/element-scroll": "^0.3.
|
|
72
|
-
"@micromag/element-text": "^0.3.
|
|
73
|
-
"@micromag/element-visual": "^0.3.
|
|
74
|
-
"@micromag/transforms": "^0.3.
|
|
63
|
+
"@micromag/core": "^0.3.547",
|
|
64
|
+
"@micromag/element-background": "^0.3.547",
|
|
65
|
+
"@micromag/element-container": "^0.3.547",
|
|
66
|
+
"@micromag/element-footer": "^0.3.547",
|
|
67
|
+
"@micromag/element-header": "^0.3.547",
|
|
68
|
+
"@micromag/element-heading": "^0.3.547",
|
|
69
|
+
"@micromag/element-layout": "^0.3.547",
|
|
70
|
+
"@micromag/element-scroll": "^0.3.547",
|
|
71
|
+
"@micromag/element-text": "^0.3.547",
|
|
72
|
+
"@micromag/element-visual": "^0.3.547",
|
|
73
|
+
"@micromag/transforms": "^0.3.547",
|
|
75
74
|
"classnames": "^2.2.6",
|
|
76
75
|
"lodash": "^4.17.21",
|
|
77
76
|
"prop-types": "^15.7.2",
|
|
@@ -82,5 +81,5 @@
|
|
|
82
81
|
"access": "public",
|
|
83
82
|
"registry": "https://registry.npmjs.org/"
|
|
84
83
|
},
|
|
85
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "3c2f5904ce61fcfa61f673c38c2a5ec56e9e2b07"
|
|
86
85
|
}
|
package/lib/index.js
DELETED
|
@@ -1,716 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var reactIntl = require('react-intl');
|
|
6
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
8
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
9
|
-
var classNames = require('classnames');
|
|
10
|
-
var PropTypes = require('prop-types');
|
|
11
|
-
var React = require('react');
|
|
12
|
-
var uuid = require('uuid');
|
|
13
|
-
var core = require('@micromag/core');
|
|
14
|
-
var components = require('@micromag/core/components');
|
|
15
|
-
var contexts = require('@micromag/core/contexts');
|
|
16
|
-
var hooks = require('@micromag/core/hooks');
|
|
17
|
-
var utils = require('@micromag/core/utils');
|
|
18
|
-
var Background = require('@micromag/element-background');
|
|
19
|
-
var Container = require('@micromag/element-container');
|
|
20
|
-
var Footer = require('@micromag/element-footer');
|
|
21
|
-
var Header = require('@micromag/element-header');
|
|
22
|
-
var Heading = require('@micromag/element-heading');
|
|
23
|
-
var Layout = require('@micromag/element-layout');
|
|
24
|
-
var Scroll = require('@micromag/element-scroll');
|
|
25
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
26
|
-
var Text = require('@micromag/element-text');
|
|
27
|
-
var Visual = require('@micromag/element-visual');
|
|
28
|
-
var Audio = require('@micromag/element-audio');
|
|
29
|
-
|
|
30
|
-
var styles = {"container":"micromag-screen-conversation-container","background":"micromag-screen-conversation-background","disabled":"micromag-screen-conversation-disabled","hidden":"micromag-screen-conversation-hidden","placeholder":"micromag-screen-conversation-placeholder","content":"micromag-screen-conversation-content","conversationHeader":"micromag-screen-conversation-conversationHeader","empty":"micromag-screen-conversation-empty","title":"micromag-screen-conversation-title","footer":"micromag-screen-conversation-footer","layout":"micromag-screen-conversation-layout","messageContainer":"micromag-screen-conversation-messageContainer","message":"micromag-screen-conversation-message","normalLeft":"micromag-screen-conversation-normalLeft","inBetweenLeft":"micromag-screen-conversation-inBetweenLeft","normalRight":"micromag-screen-conversation-normalRight","inBetweenRight":"micromag-screen-conversation-inBetweenRight","last":"micromag-screen-conversation-last","speakerDetails":"micromag-screen-conversation-speakerDetails","right":"micromag-screen-conversation-right","avatarContainer":"micromag-screen-conversation-avatarContainer","avatar":"micromag-screen-conversation-avatar","imageContainer":"micromag-screen-conversation-imageContainer","withAnimation":"micromag-screen-conversation-withAnimation","appear":"micromag-screen-conversation-appear","loadingContainer":"micromag-screen-conversation-loadingContainer","loading":"micromag-screen-conversation-loading","dot":"micromag-screen-conversation-dot","bounce":"micromag-screen-conversation-bounce","loadingSpeakerName":"micromag-screen-conversation-loadingSpeakerName","audioMessageContainer":"micromag-screen-conversation-audioMessageContainer","playButtonContainer":"micromag-screen-conversation-playButtonContainer","audioMessage":"micromag-screen-conversation-audioMessage","audioAttachment":"micromag-screen-conversation-audioAttachment","beforeText":"micromag-screen-conversation-beforeText","afterText":"micromag-screen-conversation-afterText"};
|
|
31
|
-
|
|
32
|
-
var propTypes$2 = {
|
|
33
|
-
audio: core.PropTypes.audioMedia,
|
|
34
|
-
audioEventsChannelName: PropTypes.string,
|
|
35
|
-
messageId: PropTypes.string,
|
|
36
|
-
nextAudioMessageId: PropTypes.string
|
|
37
|
-
};
|
|
38
|
-
var defaultProps$2 = {
|
|
39
|
-
audio: null,
|
|
40
|
-
audioEventsChannelName: null,
|
|
41
|
-
messageId: null,
|
|
42
|
-
nextAudioMessageId: null
|
|
43
|
-
};
|
|
44
|
-
var ConversationAudioAttachment = function ConversationAudioAttachment(_ref) {
|
|
45
|
-
var audio = _ref.audio,
|
|
46
|
-
audioEventsChannelName = _ref.audioEventsChannelName,
|
|
47
|
-
messageId = _ref.messageId,
|
|
48
|
-
nextAudioMessageId = _ref.nextAudioMessageId;
|
|
49
|
-
var _useState = React.useState(true),
|
|
50
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
-
paused = _useState2[0],
|
|
52
|
-
setPaused = _useState2[1];
|
|
53
|
-
var audioEventsChannel = React.useMemo(function () {
|
|
54
|
-
return new BroadcastChannel(audioEventsChannelName);
|
|
55
|
-
}, [audioEventsChannelName]);
|
|
56
|
-
React.useEffect(function () {
|
|
57
|
-
var onMessage = function onMessage(message) {
|
|
58
|
-
var _message$data = message.data,
|
|
59
|
-
type = _message$data.type,
|
|
60
|
-
id = _message$data.id;
|
|
61
|
-
switch (type) {
|
|
62
|
-
case 'play':
|
|
63
|
-
{
|
|
64
|
-
setPaused(id !== messageId);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
audioEventsChannel.addEventListener("message", onMessage);
|
|
69
|
-
return function () {
|
|
70
|
-
return audioEventsChannel.removeEventListener("message", onMessage);
|
|
71
|
-
};
|
|
72
|
-
}, [audioEventsChannel]);
|
|
73
|
-
var togglePaused = function togglePaused() {
|
|
74
|
-
if (paused) {
|
|
75
|
-
setPaused(false);
|
|
76
|
-
audioEventsChannel.postMessage({
|
|
77
|
-
type: 'play',
|
|
78
|
-
id: messageId
|
|
79
|
-
});
|
|
80
|
-
} else {
|
|
81
|
-
setPaused(true);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
var onAudioEnded = function onAudioEnded() {
|
|
85
|
-
if (nextAudioMessageId) {
|
|
86
|
-
audioEventsChannel.postMessage({
|
|
87
|
-
type: 'play',
|
|
88
|
-
id: nextAudioMessageId
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
setPaused(true);
|
|
92
|
-
};
|
|
93
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
94
|
-
className: classNames([styles.audioMessageContainer])
|
|
95
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
96
|
-
className: styles.playButtonContainer
|
|
97
|
-
}, /*#__PURE__*/React.createElement(components.Button, {
|
|
98
|
-
onClick: togglePaused,
|
|
99
|
-
icon: paused ? /*#__PURE__*/React.createElement(components.PlayIcon, null) : /*#__PURE__*/React.createElement(components.PauseIcon, null)
|
|
100
|
-
})), /*#__PURE__*/React.createElement(Audio, {
|
|
101
|
-
withWave: true,
|
|
102
|
-
autoWaveHeight: true,
|
|
103
|
-
className: styles.audioMessage,
|
|
104
|
-
media: audio,
|
|
105
|
-
paused: paused,
|
|
106
|
-
updateInterval: 100,
|
|
107
|
-
onEnded: onAudioEnded
|
|
108
|
-
}));
|
|
109
|
-
};
|
|
110
|
-
ConversationAudioAttachment.propTypes = propTypes$2;
|
|
111
|
-
ConversationAudioAttachment.defaultProps = defaultProps$2;
|
|
112
|
-
var ConversationAudioAttachment$1 = ConversationAudioAttachment;
|
|
113
|
-
|
|
114
|
-
var propTypes$1 = {
|
|
115
|
-
message: core.PropTypes.conversationMessage,
|
|
116
|
-
messageId: PropTypes.string,
|
|
117
|
-
previousMessage: core.PropTypes.conversationMessage,
|
|
118
|
-
nextMessage: core.PropTypes.conversationMessage,
|
|
119
|
-
nextAudioMessageId: PropTypes.string,
|
|
120
|
-
nextMessageState: PropTypes.bool,
|
|
121
|
-
currentSpeaker: core.PropTypes.speaker,
|
|
122
|
-
// state: PropTypes.oneOf(['pause', 'typing', 'send']),
|
|
123
|
-
conversationTiming: PropTypes.number,
|
|
124
|
-
typingTiming: PropTypes.number,
|
|
125
|
-
onChange: PropTypes.func,
|
|
126
|
-
withAnimation: PropTypes.bool,
|
|
127
|
-
active: PropTypes.bool,
|
|
128
|
-
isPlaying: PropTypes.bool,
|
|
129
|
-
speakerStyle: core.PropTypes.textStyle,
|
|
130
|
-
messageStyle: core.PropTypes.textStyle,
|
|
131
|
-
className: PropTypes.string,
|
|
132
|
-
audioEventsChannelName: PropTypes.string
|
|
133
|
-
};
|
|
134
|
-
var defaultProps$1 = {
|
|
135
|
-
message: null,
|
|
136
|
-
messageId: null,
|
|
137
|
-
previousMessage: null,
|
|
138
|
-
nextMessage: null,
|
|
139
|
-
nextAudioMessageId: null,
|
|
140
|
-
nextMessageState: null,
|
|
141
|
-
currentSpeaker: null,
|
|
142
|
-
conversationTiming: null,
|
|
143
|
-
typingTiming: null,
|
|
144
|
-
onChange: null,
|
|
145
|
-
withAnimation: false,
|
|
146
|
-
active: false,
|
|
147
|
-
isPlaying: false,
|
|
148
|
-
messageStyle: null,
|
|
149
|
-
speakerStyle: null,
|
|
150
|
-
className: null,
|
|
151
|
-
audioEventsChannelName: null
|
|
152
|
-
};
|
|
153
|
-
var ConversationMessage = function ConversationMessage(_ref) {
|
|
154
|
-
var message = _ref.message,
|
|
155
|
-
messageId = _ref.messageId,
|
|
156
|
-
previousMessage = _ref.previousMessage,
|
|
157
|
-
nextMessage = _ref.nextMessage,
|
|
158
|
-
nextAudioMessageId = _ref.nextAudioMessageId,
|
|
159
|
-
nextMessageState = _ref.nextMessageState,
|
|
160
|
-
currentSpeaker = _ref.currentSpeaker,
|
|
161
|
-
conversationTiming = _ref.conversationTiming,
|
|
162
|
-
typingTiming = _ref.typingTiming,
|
|
163
|
-
onChange = _ref.onChange,
|
|
164
|
-
withAnimation = _ref.withAnimation,
|
|
165
|
-
active = _ref.active,
|
|
166
|
-
isPlaying = _ref.isPlaying,
|
|
167
|
-
messageStyle = _ref.messageStyle,
|
|
168
|
-
speakerStyle = _ref.speakerStyle,
|
|
169
|
-
className = _ref.className,
|
|
170
|
-
audioEventsChannelName = _ref.audioEventsChannelName;
|
|
171
|
-
var _ref2 = message || {},
|
|
172
|
-
messageBody = _ref2.message,
|
|
173
|
-
_ref2$image = _ref2.image,
|
|
174
|
-
image = _ref2$image === void 0 ? null : _ref2$image,
|
|
175
|
-
audio = _ref2.audio,
|
|
176
|
-
putAudioBeforeText = _ref2.putAudioBeforeText;
|
|
177
|
-
var _ref3 = currentSpeaker || {},
|
|
178
|
-
_ref3$avatar = _ref3.avatar,
|
|
179
|
-
_ref3$avatar2 = _ref3$avatar === void 0 ? {} : _ref3$avatar,
|
|
180
|
-
_ref3$avatar2$url = _ref3$avatar2.url,
|
|
181
|
-
avatarUrl = _ref3$avatar2$url === void 0 ? null : _ref3$avatar2$url,
|
|
182
|
-
speakerName = _ref3.name,
|
|
183
|
-
_ref3$side = _ref3.side,
|
|
184
|
-
side = _ref3$side === void 0 ? 'left' : _ref3$side,
|
|
185
|
-
currentSpeakerId = _ref3.id,
|
|
186
|
-
color = _ref3.color;
|
|
187
|
-
var right = side === 'right';
|
|
188
|
-
var isPrevSpeakerTheSame = previousMessage !== null && previousMessage.speaker === currentSpeakerId;
|
|
189
|
-
var isNextSpeakerTheSame = nextMessage !== null && nextMessage.speaker === currentSpeakerId;
|
|
190
|
-
|
|
191
|
-
// Timing
|
|
192
|
-
var _useState = React.useState(withAnimation ? 'pause' : 'send'),
|
|
193
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
194
|
-
messageState = _useState2[0],
|
|
195
|
-
setMessageState = _useState2[1];
|
|
196
|
-
var pauseBeforeTyping = conversationTiming;
|
|
197
|
-
var typingDuration = typingTiming;
|
|
198
|
-
React.useEffect(function () {
|
|
199
|
-
if (!withAnimation || !isPlaying) {
|
|
200
|
-
return function () {};
|
|
201
|
-
}
|
|
202
|
-
var timeout = null;
|
|
203
|
-
if (messageState === 'pause') {
|
|
204
|
-
timeout = setTimeout(function () {
|
|
205
|
-
return setMessageState('typing');
|
|
206
|
-
}, pauseBeforeTyping);
|
|
207
|
-
} else if (messageState === 'typing') {
|
|
208
|
-
timeout = setTimeout(function () {
|
|
209
|
-
return setMessageState('send');
|
|
210
|
-
}, typingDuration);
|
|
211
|
-
}
|
|
212
|
-
return function () {
|
|
213
|
-
if (timeout !== null) {
|
|
214
|
-
clearTimeout(timeout);
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
}, [withAnimation, isPlaying, messageState, setMessageState, pauseBeforeTyping, typingDuration]);
|
|
218
|
-
React.useEffect(function () {
|
|
219
|
-
if (messageState !== 'pause' && onChange !== null) {
|
|
220
|
-
onChange(messageState);
|
|
221
|
-
}
|
|
222
|
-
}, [messageState]);
|
|
223
|
-
var betweenStyle = isNextSpeakerTheSame && nextMessageState;
|
|
224
|
-
var buildAudioAttachment = function buildAudioAttachment() {
|
|
225
|
-
return /*#__PURE__*/React.createElement(ConversationAudioAttachment$1, {
|
|
226
|
-
audio: audio,
|
|
227
|
-
messageId: messageId,
|
|
228
|
-
nextAudioMessageId: nextAudioMessageId,
|
|
229
|
-
audioEventsChannelName: audioEventsChannelName
|
|
230
|
-
});
|
|
231
|
-
};
|
|
232
|
-
return messageState !== 'pause' ? /*#__PURE__*/React.createElement("div", {
|
|
233
|
-
className: classNames([styles.messageContainer, _defineProperty(_defineProperty(_defineProperty({}, className, className !== null), styles.withAnimation, withAnimation === true), styles.right, right)])
|
|
234
|
-
}, messageState === 'typing' ? /*#__PURE__*/React.createElement("div", {
|
|
235
|
-
className: styles.loadingContainer
|
|
236
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
237
|
-
className: styles.loading
|
|
238
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
239
|
-
className: styles.dot
|
|
240
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
241
|
-
className: styles.dot
|
|
242
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
243
|
-
className: styles.dot
|
|
244
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
245
|
-
className: styles.loadingSpeakerName
|
|
246
|
-
}, speakerName)) : /*#__PURE__*/React.createElement("div", {
|
|
247
|
-
className: classNames([styles.message, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, styles.normalRight, right), styles.nextTheSame, isNextSpeakerTheSame === true && isPrevSpeakerTheSame), styles.inBetweenRight, betweenStyle && right), styles.normalLeft, !right), styles.inBetweenLeft, betweenStyle && !right), styles.last, isNextSpeakerTheSame === false)]),
|
|
248
|
-
style: _objectSpread({}, utils.getStyleFromColor(color))
|
|
249
|
-
}, !isPrevSpeakerTheSame ? /*#__PURE__*/React.createElement("div", {
|
|
250
|
-
className: classNames([styles.speakerDetails, _defineProperty({}, styles.right, side === 'right')])
|
|
251
|
-
}, avatarUrl !== null ? /*#__PURE__*/React.createElement("div", {
|
|
252
|
-
className: classNames([styles.avatarContainer, _defineProperty({}, styles.right, side === 'right')])
|
|
253
|
-
}, /*#__PURE__*/React.createElement("img", {
|
|
254
|
-
className: styles.avatar,
|
|
255
|
-
src: avatarUrl,
|
|
256
|
-
alt: speakerName,
|
|
257
|
-
loading: "lazy"
|
|
258
|
-
})) : null, /*#__PURE__*/React.createElement(Text, {
|
|
259
|
-
body: speakerName,
|
|
260
|
-
textStyle: speakerStyle
|
|
261
|
-
})) : null, /*#__PURE__*/React.createElement("div", null), /*#__PURE__*/React.createElement("div", {
|
|
262
|
-
className: styles.messageBody
|
|
263
|
-
}, image !== null ? /*#__PURE__*/React.createElement("div", {
|
|
264
|
-
className: styles.imageContainer
|
|
265
|
-
}, /*#__PURE__*/React.createElement(Visual, {
|
|
266
|
-
media: image,
|
|
267
|
-
width: "100%",
|
|
268
|
-
playing: isPlaying,
|
|
269
|
-
active: active
|
|
270
|
-
})) : null, audio && putAudioBeforeText ? /*#__PURE__*/React.createElement("div", {
|
|
271
|
-
className: classNames(styles.audioAttachment, styles.beforeText)
|
|
272
|
-
}, buildAudioAttachment()) : null, /*#__PURE__*/React.createElement(Text, {
|
|
273
|
-
className: styles.messageBody,
|
|
274
|
-
body: messageBody,
|
|
275
|
-
textStyle: messageStyle
|
|
276
|
-
}), audio && !putAudioBeforeText ? /*#__PURE__*/React.createElement("div", {
|
|
277
|
-
className: classNames(styles.audioAttachment, styles.afterText)
|
|
278
|
-
}, buildAudioAttachment()) : null))) : null;
|
|
279
|
-
};
|
|
280
|
-
ConversationMessage.propTypes = propTypes$1;
|
|
281
|
-
ConversationMessage.defaultProps = defaultProps$1;
|
|
282
|
-
var ConversationMessage$1 = ConversationMessage;
|
|
283
|
-
|
|
284
|
-
var propTypes = {
|
|
285
|
-
// id: PropTypes.string,
|
|
286
|
-
// layout: PropTypes.oneOf(['normal']),
|
|
287
|
-
title: core.PropTypes.headingElement,
|
|
288
|
-
timing: PropTypes.oneOf(['instant', 'sequence']),
|
|
289
|
-
readingSpeed: PropTypes.number,
|
|
290
|
-
spacing: PropTypes.number,
|
|
291
|
-
background: core.PropTypes.backgroundElement,
|
|
292
|
-
header: core.PropTypes.header,
|
|
293
|
-
footer: core.PropTypes.footer,
|
|
294
|
-
current: PropTypes.bool,
|
|
295
|
-
active: PropTypes.bool,
|
|
296
|
-
type: PropTypes.string,
|
|
297
|
-
conversation: core.PropTypes.conversation,
|
|
298
|
-
transitions: core.PropTypes.transitions,
|
|
299
|
-
className: PropTypes.string
|
|
300
|
-
};
|
|
301
|
-
var defaultProps = {
|
|
302
|
-
// layout: 'normal',
|
|
303
|
-
title: null,
|
|
304
|
-
timing: 'sequence',
|
|
305
|
-
readingSpeed: 255,
|
|
306
|
-
spacing: 20,
|
|
307
|
-
background: null,
|
|
308
|
-
header: null,
|
|
309
|
-
footer: null,
|
|
310
|
-
current: true,
|
|
311
|
-
active: true,
|
|
312
|
-
type: null,
|
|
313
|
-
conversation: null,
|
|
314
|
-
transitions: null,
|
|
315
|
-
className: null
|
|
316
|
-
};
|
|
317
|
-
var ConversationScreen = function ConversationScreen(_ref) {
|
|
318
|
-
var title = _ref.title,
|
|
319
|
-
timingMode = _ref.timing,
|
|
320
|
-
readingSpeed = _ref.readingSpeed,
|
|
321
|
-
spacing = _ref.spacing,
|
|
322
|
-
background = _ref.background,
|
|
323
|
-
header = _ref.header,
|
|
324
|
-
footer = _ref.footer,
|
|
325
|
-
current = _ref.current,
|
|
326
|
-
active = _ref.active,
|
|
327
|
-
type = _ref.type,
|
|
328
|
-
conversation = _ref.conversation,
|
|
329
|
-
transitions = _ref.transitions,
|
|
330
|
-
className = _ref.className;
|
|
331
|
-
var _useScreenSize = contexts.useScreenSize(),
|
|
332
|
-
width = _useScreenSize.width,
|
|
333
|
-
height = _useScreenSize.height,
|
|
334
|
-
resolution = _useScreenSize.resolution;
|
|
335
|
-
var _useViewerContext = contexts.useViewerContext(),
|
|
336
|
-
viewerTopHeight = _useViewerContext.topHeight,
|
|
337
|
-
viewerBottomHeight = _useViewerContext.bottomHeight,
|
|
338
|
-
viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
|
|
339
|
-
var _useViewerWebView = contexts.useViewerWebView(),
|
|
340
|
-
openWebView = _useViewerWebView.open;
|
|
341
|
-
var trackScreenEvent = hooks.useTrackScreenEvent(type);
|
|
342
|
-
var _usePlaybackContext = contexts.usePlaybackContext(),
|
|
343
|
-
muted = _usePlaybackContext.muted;
|
|
344
|
-
var mediaRef = contexts.usePlaybackMediaRef(current);
|
|
345
|
-
var audioEventsChannel = new BroadcastChannel("conversation_".concat(uuid.v1(), "_audioEvents"));
|
|
346
|
-
var _useScreenRenderConte = contexts.useScreenRenderContext(),
|
|
347
|
-
isView = _useScreenRenderConte.isView,
|
|
348
|
-
isPreview = _useScreenRenderConte.isPreview,
|
|
349
|
-
isPlaceholder = _useScreenRenderConte.isPlaceholder,
|
|
350
|
-
isEdit = _useScreenRenderConte.isEdit,
|
|
351
|
-
isStatic = _useScreenRenderConte.isStatic,
|
|
352
|
-
isCapture = _useScreenRenderConte.isCapture;
|
|
353
|
-
var backgroundPlaying = current && (isView || isEdit);
|
|
354
|
-
var mediaShouldLoad = current || active;
|
|
355
|
-
var withAnimation = isView && !isStatic && timingMode === 'sequence';
|
|
356
|
-
var _ref2 = conversation || {},
|
|
357
|
-
_ref2$speakers = _ref2.speakers,
|
|
358
|
-
speakers = _ref2$speakers === void 0 ? null : _ref2$speakers,
|
|
359
|
-
_ref2$messages = _ref2.messages,
|
|
360
|
-
messages = _ref2$messages === void 0 ? [] : _ref2$messages,
|
|
361
|
-
messageStyle = _ref2.messageStyle,
|
|
362
|
-
speakerStyle = _ref2.speakerStyle;
|
|
363
|
-
var _useState = React.useState([]),
|
|
364
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
365
|
-
conversationState = _useState2[0],
|
|
366
|
-
setConversationState = _useState2[1];
|
|
367
|
-
var chatBottomRef = React.useRef(null);
|
|
368
|
-
var hasHeader = utils.isHeaderFilled(header);
|
|
369
|
-
var hasFooter = utils.isFooterFilled(footer);
|
|
370
|
-
var footerProps = utils.getFooterProps(footer, {
|
|
371
|
-
isView: isView,
|
|
372
|
-
current: current,
|
|
373
|
-
openWebView: openWebView,
|
|
374
|
-
isPreview: isPreview
|
|
375
|
-
});
|
|
376
|
-
var hasTitle = utils.isTextFilled(title);
|
|
377
|
-
var _useDimensionObserver = hooks.useDimensionObserver(),
|
|
378
|
-
contentRef = _useDimensionObserver.ref,
|
|
379
|
-
scrollHeight = _useDimensionObserver.height;
|
|
380
|
-
var scrollRef = React.useRef(null);
|
|
381
|
-
React.useEffect(function () {
|
|
382
|
-
if (withAnimation && scrollRef.current !== null) {
|
|
383
|
-
scrollRef.current.scrollTo({
|
|
384
|
-
top: scrollHeight,
|
|
385
|
-
behavior: 'smooth'
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
}, [scrollHeight, withAnimation]);
|
|
389
|
-
var animationFinished = messages.length === conversationState.length;
|
|
390
|
-
var conversationStateChange = React.useCallback(function (state) {
|
|
391
|
-
var newConversationState = _toConsumableArray(conversationState);
|
|
392
|
-
if (state === 'send') {
|
|
393
|
-
newConversationState.push(true);
|
|
394
|
-
setConversationState(newConversationState);
|
|
395
|
-
}
|
|
396
|
-
}, [conversationState, setConversationState]);
|
|
397
|
-
|
|
398
|
-
// sequence timings
|
|
399
|
-
var defaultHesitationDelay = 1500;
|
|
400
|
-
var imageReadDelay = 5000; // 5 seconds
|
|
401
|
-
var millisecondsPerWord = 60 * 1000 / readingSpeed;
|
|
402
|
-
var filteredMessages = (messages || []).filter(function (m) {
|
|
403
|
-
return m !== null;
|
|
404
|
-
});
|
|
405
|
-
var timings = filteredMessages.map(function (messageParams, messageIndex) {
|
|
406
|
-
if (messageIndex === 0) {
|
|
407
|
-
return 0;
|
|
408
|
-
}
|
|
409
|
-
var _ref3 = messageParams || {},
|
|
410
|
-
_ref3$timing = _ref3.timing,
|
|
411
|
-
timing = _ref3$timing === void 0 ? null : _ref3$timing,
|
|
412
|
-
_ref3$message = _ref3.message,
|
|
413
|
-
message = _ref3$message === void 0 ? null : _ref3$message,
|
|
414
|
-
image = _ref3.image,
|
|
415
|
-
audio = _ref3.audio,
|
|
416
|
-
timingOverrides = _ref3.timingOverrides;
|
|
417
|
-
if (timing !== null) {
|
|
418
|
-
return timing;
|
|
419
|
-
}
|
|
420
|
-
if (timingOverrides !== null && timingOverrides !== void 0 && timingOverrides.enabled && Number.isFinite(timingOverrides === null || timingOverrides === void 0 ? void 0 : timingOverrides.writingDuration)) {
|
|
421
|
-
return timingOverrides.writingDuration * 1000; // seconds to milliseconds
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
// if the current message has an audio attachment, use the time it takes to record that message
|
|
425
|
-
if (audio) {
|
|
426
|
-
return audio.metadata.duration;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
// counting words: only keep whitespaces and alphanumeric characters, then split of whitespaces
|
|
430
|
-
var wordCount = message ? message.replace(/[^\w\d\s]/g, '').trim().split(/\s/g).length : 0;
|
|
431
|
-
var finalTimeMs = wordCount * millisecondsPerWord;
|
|
432
|
-
|
|
433
|
-
// if the message includes an image, add some more time to "read" it
|
|
434
|
-
if (image) {
|
|
435
|
-
finalTimeMs += imageReadDelay;
|
|
436
|
-
}
|
|
437
|
-
return finalTimeMs;
|
|
438
|
-
});
|
|
439
|
-
var hesitationTimings = filteredMessages.map(function (messageParams, messageIndex) {
|
|
440
|
-
var timingOverrides = messageParams.timingOverrides;
|
|
441
|
-
if (messageIndex !== 0 && timingOverrides !== null && timingOverrides !== void 0 && timingOverrides.enabled && Number.isFinite(timingOverrides === null || timingOverrides === void 0 ? void 0 : timingOverrides.appearDelay)) {
|
|
442
|
-
return timingOverrides.appearDelay * 1000; // seconds to milliseconds
|
|
443
|
-
}
|
|
444
|
-
return defaultHesitationDelay;
|
|
445
|
-
});
|
|
446
|
-
var messagesUniqueId = React.useMemo(function () {
|
|
447
|
-
return (messages || []).map(function () {
|
|
448
|
-
return uuid.v1();
|
|
449
|
-
});
|
|
450
|
-
}, [messages]);
|
|
451
|
-
|
|
452
|
-
// scroll
|
|
453
|
-
var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
|
|
454
|
-
var scrollingDisabled = !isEdit && transitionDisabled || !current;
|
|
455
|
-
var _useState3 = React.useState(false),
|
|
456
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
457
|
-
scrolledBottom = _useState4[0],
|
|
458
|
-
setScrolledBottom = _useState4[1];
|
|
459
|
-
var showFooter = animationFinished && !isPlaceholder && hasFooter || !withAnimation;
|
|
460
|
-
var onScrolledBottom = React.useCallback(function (_ref4) {
|
|
461
|
-
var initial = _ref4.initial;
|
|
462
|
-
if (initial) {
|
|
463
|
-
trackScreenEvent('scroll', 'Screen');
|
|
464
|
-
}
|
|
465
|
-
setScrolledBottom(true);
|
|
466
|
-
}, [trackScreenEvent]);
|
|
467
|
-
var onScrolledNotBottom = React.useCallback(function () {
|
|
468
|
-
setScrolledBottom(false);
|
|
469
|
-
}, [setScrolledBottom]);
|
|
470
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
471
|
-
className: classNames([styles.container, _defineProperty(_defineProperty({}, className, className !== null), styles.isPlaceholder, isPlaceholder)]),
|
|
472
|
-
"data-screen-ready": true
|
|
473
|
-
}, /*#__PURE__*/React.createElement(Container, {
|
|
474
|
-
width: width,
|
|
475
|
-
height: height,
|
|
476
|
-
className: styles.content
|
|
477
|
-
}, /*#__PURE__*/React.createElement(Scroll, {
|
|
478
|
-
ref: scrollRef,
|
|
479
|
-
disabled: scrollingDisabled,
|
|
480
|
-
onScrolledBottom: onScrolledBottom,
|
|
481
|
-
onScrolledNotBottom: onScrolledNotBottom,
|
|
482
|
-
withShadow: true
|
|
483
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
484
|
-
ref: contentRef
|
|
485
|
-
}, /*#__PURE__*/React.createElement(Layout, {
|
|
486
|
-
className: styles.layout,
|
|
487
|
-
style: !isPlaceholder ? {
|
|
488
|
-
padding: spacing,
|
|
489
|
-
paddingTop: (!isPreview ? viewerTopHeight : 0) + spacing / 2,
|
|
490
|
-
paddingBottom: (current && !isPreview ? viewerBottomHeight : 0) + spacing / 2
|
|
491
|
-
} : null
|
|
492
|
-
}, !isPlaceholder && hasHeader ? /*#__PURE__*/React.createElement("div", {
|
|
493
|
-
key: "header",
|
|
494
|
-
style: {
|
|
495
|
-
paddingBottom: spacing
|
|
496
|
-
}
|
|
497
|
-
}, /*#__PURE__*/React.createElement(Header, header)) : null, /*#__PURE__*/React.createElement(components.ScreenElement, {
|
|
498
|
-
placeholder: "conversation",
|
|
499
|
-
emptyLabel: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
|
500
|
-
id: "NmCfTO",
|
|
501
|
-
defaultMessage: [{
|
|
502
|
-
"type": 0,
|
|
503
|
-
"value": "Conversation"
|
|
504
|
-
}]
|
|
505
|
-
}),
|
|
506
|
-
emptyClassName: styles.empty,
|
|
507
|
-
isEmpty: messages.length === 0 && title === null
|
|
508
|
-
}, /*#__PURE__*/React.createElement(components.Transitions, {
|
|
509
|
-
transitions: transitions,
|
|
510
|
-
playing: current,
|
|
511
|
-
disabled: transitionDisabled
|
|
512
|
-
}, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({}, title, {
|
|
513
|
-
className: styles.title,
|
|
514
|
-
isEmpty: title === null
|
|
515
|
-
})) : null, /*#__PURE__*/React.createElement("div", {
|
|
516
|
-
className: styles.conversation
|
|
517
|
-
}, filteredMessages.map(function (m, messageI) {
|
|
518
|
-
var previousMessage = messageI !== 0 ? messages[messageI - 1] : null;
|
|
519
|
-
var nextMessage = messageI + 1 < messages.length ? messages[messageI + 1] : null;
|
|
520
|
-
var speaker = m.speaker;
|
|
521
|
-
var currentSpeaker = (speakers || []).find(function (s) {
|
|
522
|
-
return s.id === speaker;
|
|
523
|
-
}) || null;
|
|
524
|
-
var shouldPlay = messageI === 0 || conversationState[messageI - 1] === true;
|
|
525
|
-
var pauseTiming = hesitationTimings[messageI];
|
|
526
|
-
var typingTiming = timings[messageI];
|
|
527
|
-
var messageId = "".concat(m.message, "-").concat(messagesUniqueId[messageI]);
|
|
528
|
-
var nextAudioMessage = filteredMessages.slice(messageI + 1).find(function (c) {
|
|
529
|
-
return c.audio != null;
|
|
530
|
-
});
|
|
531
|
-
var nextAudioMessageId = nextAudioMessage ? "".concat(m.message, "-").concat(messagesUniqueId[filteredMessages.indexOf(nextAudioMessage)]) : null;
|
|
532
|
-
return /*#__PURE__*/React.createElement(ConversationMessage$1, {
|
|
533
|
-
key: messageId,
|
|
534
|
-
message: m,
|
|
535
|
-
messageId: messageId,
|
|
536
|
-
previousMessage: previousMessage,
|
|
537
|
-
nextMessage: nextMessage,
|
|
538
|
-
nextAudioMessageId: nextAudioMessageId,
|
|
539
|
-
nextMessageState: conversationState[messageI + 1] || !withAnimation,
|
|
540
|
-
currentSpeaker: currentSpeaker,
|
|
541
|
-
conversationTiming: pauseTiming,
|
|
542
|
-
typingTiming: typingTiming,
|
|
543
|
-
onChange: conversationStateChange,
|
|
544
|
-
withAnimation: withAnimation,
|
|
545
|
-
isPlaying: current && shouldPlay,
|
|
546
|
-
shouldLoad: mediaShouldLoad,
|
|
547
|
-
withoutVideo: isPreview,
|
|
548
|
-
messageStyle: messageStyle,
|
|
549
|
-
speakerStyle: speakerStyle,
|
|
550
|
-
audioEventsChannelName: audioEventsChannel.name
|
|
551
|
-
});
|
|
552
|
-
})), showFooter ? /*#__PURE__*/React.createElement("div", {
|
|
553
|
-
className: classNames([styles.footer, _defineProperty({}, styles.disabled, !scrolledBottom)]),
|
|
554
|
-
style: {
|
|
555
|
-
paddingLeft: Math.max(viewerBottomSidesWidth - spacing, 0),
|
|
556
|
-
paddingRight: Math.max(viewerBottomSidesWidth - spacing, 0),
|
|
557
|
-
paddingTop: spacing
|
|
558
|
-
}
|
|
559
|
-
}, /*#__PURE__*/React.createElement(Footer, footerProps)) : null, /*#__PURE__*/React.createElement("div", {
|
|
560
|
-
ref: chatBottomRef
|
|
561
|
-
}))))))), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
|
|
562
|
-
background: background,
|
|
563
|
-
width: width,
|
|
564
|
-
height: height,
|
|
565
|
-
resolution: resolution,
|
|
566
|
-
playing: backgroundPlaying,
|
|
567
|
-
muted: muted,
|
|
568
|
-
shouldLoad: mediaShouldLoad,
|
|
569
|
-
mediaRef: mediaRef,
|
|
570
|
-
withoutVideo: isPreview,
|
|
571
|
-
className: styles.background
|
|
572
|
-
}) : null);
|
|
573
|
-
};
|
|
574
|
-
ConversationScreen.propTypes = propTypes;
|
|
575
|
-
ConversationScreen.defaultProps = defaultProps;
|
|
576
|
-
var ConversationScreen$1 = ConversationScreen;
|
|
577
|
-
|
|
578
|
-
var definition = {
|
|
579
|
-
id: 'conversation',
|
|
580
|
-
type: 'screen',
|
|
581
|
-
group: {
|
|
582
|
-
label: reactIntl.defineMessage({
|
|
583
|
-
id: "fIawTr",
|
|
584
|
-
defaultMessage: [{
|
|
585
|
-
"type": 0,
|
|
586
|
-
"value": "Text"
|
|
587
|
-
}]
|
|
588
|
-
}),
|
|
589
|
-
order: 3
|
|
590
|
-
},
|
|
591
|
-
title: reactIntl.defineMessage({
|
|
592
|
-
id: "rBPIgw",
|
|
593
|
-
defaultMessage: [{
|
|
594
|
-
"type": 0,
|
|
595
|
-
"value": "Conversation"
|
|
596
|
-
}]
|
|
597
|
-
}),
|
|
598
|
-
component: ConversationScreen$1,
|
|
599
|
-
layouts: ['normal'],
|
|
600
|
-
fields: [
|
|
601
|
-
// {
|
|
602
|
-
// name: 'theme',
|
|
603
|
-
// type: 'select',
|
|
604
|
-
// options: [
|
|
605
|
-
// {
|
|
606
|
-
// value: 'ios',
|
|
607
|
-
// label: 'iOS',
|
|
608
|
-
// },
|
|
609
|
-
// ],
|
|
610
|
-
// label: defineMessage({
|
|
611
|
-
// defaultMessage: 'Theme',
|
|
612
|
-
// description: 'Theme field label',
|
|
613
|
-
// }),
|
|
614
|
-
// },
|
|
615
|
-
{
|
|
616
|
-
name: 'timing',
|
|
617
|
-
type: 'select',
|
|
618
|
-
options: [{
|
|
619
|
-
value: 'instant',
|
|
620
|
-
label: 'Instant'
|
|
621
|
-
}, {
|
|
622
|
-
value: 'sequence',
|
|
623
|
-
label: 'Sequence'
|
|
624
|
-
}],
|
|
625
|
-
label: reactIntl.defineMessage({
|
|
626
|
-
id: "6DV50M",
|
|
627
|
-
defaultMessage: [{
|
|
628
|
-
"type": 0,
|
|
629
|
-
"value": "Timing"
|
|
630
|
-
}]
|
|
631
|
-
})
|
|
632
|
-
}, {
|
|
633
|
-
name: 'title',
|
|
634
|
-
type: 'heading-element',
|
|
635
|
-
theme: {
|
|
636
|
-
textStyle: 'heading1'
|
|
637
|
-
},
|
|
638
|
-
label: reactIntl.defineMessage({
|
|
639
|
-
id: "N25iDO",
|
|
640
|
-
defaultMessage: [{
|
|
641
|
-
"type": 0,
|
|
642
|
-
"value": "Title"
|
|
643
|
-
}]
|
|
644
|
-
})
|
|
645
|
-
}, {
|
|
646
|
-
name: 'conversation',
|
|
647
|
-
type: 'conversation',
|
|
648
|
-
label: reactIntl.defineMessage({
|
|
649
|
-
id: "8tANs8",
|
|
650
|
-
defaultMessage: [{
|
|
651
|
-
"type": 0,
|
|
652
|
-
"value": "Conversation"
|
|
653
|
-
}]
|
|
654
|
-
})
|
|
655
|
-
}, {
|
|
656
|
-
name: 'readingSpeed',
|
|
657
|
-
type: 'number',
|
|
658
|
-
defaultValue: 255,
|
|
659
|
-
label: reactIntl.defineMessage({
|
|
660
|
-
id: "QjbLZ9",
|
|
661
|
-
defaultMessage: [{
|
|
662
|
-
"type": 0,
|
|
663
|
-
"value": "Reading speed (in Words Per Minute)"
|
|
664
|
-
}]
|
|
665
|
-
})
|
|
666
|
-
}, {
|
|
667
|
-
name: 'background',
|
|
668
|
-
type: 'background',
|
|
669
|
-
label: reactIntl.defineMessage({
|
|
670
|
-
id: "+MPZRu",
|
|
671
|
-
defaultMessage: [{
|
|
672
|
-
"type": 0,
|
|
673
|
-
"value": "Background"
|
|
674
|
-
}]
|
|
675
|
-
})
|
|
676
|
-
}, {
|
|
677
|
-
name: 'header',
|
|
678
|
-
type: 'header',
|
|
679
|
-
label: reactIntl.defineMessage({
|
|
680
|
-
id: "rhuDxI",
|
|
681
|
-
defaultMessage: [{
|
|
682
|
-
"type": 0,
|
|
683
|
-
"value": "Header"
|
|
684
|
-
}]
|
|
685
|
-
}),
|
|
686
|
-
theme: {
|
|
687
|
-
badge: {
|
|
688
|
-
label: {
|
|
689
|
-
textStyle: 'badge'
|
|
690
|
-
},
|
|
691
|
-
boxStyle: 'badge'
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
}, {
|
|
695
|
-
name: 'footer',
|
|
696
|
-
type: 'footer',
|
|
697
|
-
label: reactIntl.defineMessage({
|
|
698
|
-
id: "g4nybp",
|
|
699
|
-
defaultMessage: [{
|
|
700
|
-
"type": 0,
|
|
701
|
-
"value": "Footer"
|
|
702
|
-
}]
|
|
703
|
-
}),
|
|
704
|
-
theme: {
|
|
705
|
-
callToAction: {
|
|
706
|
-
label: {
|
|
707
|
-
textStyle: 'cta'
|
|
708
|
-
},
|
|
709
|
-
boxStyle: 'cta'
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
}]
|
|
713
|
-
};
|
|
714
|
-
|
|
715
|
-
exports.ConversationScreen = ConversationScreen$1;
|
|
716
|
-
exports.default = definition;
|