@micromag/screen-conversation 0.3.148 → 0.3.153

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.
@@ -1 +1 @@
1
- .micromag-screen-conversation-container{position:relative;width:100%;height:100%;overflow:hidden}.micromag-screen-conversation-disabled.micromag-screen-conversation-container{overflow:hidden;pointer-events:none}.micromag-screen-conversation-hidden.micromag-screen-conversation-container{display:none;visibility:hidden}.micromag-screen-conversation-placeholder.micromag-screen-conversation-container .micromag-screen-conversation-content{position:relative;padding:6px}.micromag-screen-conversation-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.micromag-screen-conversation-container .micromag-screen-conversation-conversationHeader{width:100%;padding-bottom:16px;font-style:italic}.micromag-screen-conversation-container .micromag-screen-conversation-empty{height:200px}.micromag-screen-conversation-container .micromag-screen-conversation-title{padding-bottom:16px}.micromag-screen-conversation-container .micromag-screen-conversation-callToAction a{padding:0}.micromag-screen-conversation-messageContainer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;color:#000}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message{max-width:80%;margin:1px 0;padding:10px;-webkit-transition:border-radius .2s ease;-o-transition:border-radius .2s ease;transition:border-radius .2s ease;background-color:#fff;overflow-wrap:break-word}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-normalLeft{border-radius:1px 15px 15px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-inBetweenLeft{border-radius:1px 15px 15px 1px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-normalRight{border-radius:15px 1px 15px 15px;background-color:#58afff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-inBetweenRight{border-radius:15px 1px 1px 15px;background-color:#58afff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-last{margin:1px 0 16px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-speakerDetails{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;width:100%;padding-bottom:10px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-speakerDetails.micromag-screen-conversation-right{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-avatarContainer{width:30px;height:30px;margin-right:10px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-avatarContainer.micromag-screen-conversation-right{margin-right:0;margin-left:10px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-avatar{display:inline-block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-imageContainer{width:100%;height:100%;padding-bottom:10px}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message{-webkit-animation:micromag-screen-conversation-appear .18s ease forwards;animation:micromag-screen-conversation-appear .18s ease forwards}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message.micromag-screen-conversation-normalLeft{-webkit-transform:translate(-300px) scale(.5);-ms-transform:translate(-300px) scale(.5);transform:translate(-300px) scale(.5)}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message.micromag-screen-conversation-inBetweenLeft{border-radius:1px 15px 15px 1px}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message.micromag-screen-conversation-normalRight{-webkit-transform:translate(300px) scale(.5);-ms-transform:translate(300px) scale(.5);transform:translate(300px) scale(.5)}@-webkit-keyframes micromag-screen-conversation-appear{to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}@keyframes micromag-screen-conversation-appear{to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loadingContainer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#fff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:5px 0 10px;padding:7px 10px;border-radius:10px;background:#fff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading .micromag-screen-conversation-dot{width:5px;height:5px;margin-right:4px;-webkit-animation:micromag-screen-conversation-bounce .35s linear infinite alternate;animation:micromag-screen-conversation-bounce .35s linear infinite alternate;border-radius:50%;background:#000}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading .micromag-screen-conversation-dot:nth-child(2){-webkit-animation-delay:.08s;animation-delay:.08s}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading .micromag-screen-conversation-dot:nth-child(3){margin-right:0;-webkit-animation-delay:.16s;animation-delay:.16s}@-webkit-keyframes micromag-screen-conversation-bounce{0%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:.5}to{-webkit-transform:translateY(2px);transform:translateY(2px);opacity:1}}@keyframes micromag-screen-conversation-bounce{0%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:.5}to{-webkit-transform:translateY(2px);transform:translateY(2px);opacity:1}}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loadingSpeakerName{margin:0 5px;opacity:.6;font-size:12px;font-style:italic}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-right{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-right .micromag-screen-conversation-loadingContainer{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}
1
+ .micromag-screen-conversation-container{position:relative;width:100%;height:100%;overflow:hidden}.micromag-screen-conversation-disabled.micromag-screen-conversation-container{overflow:hidden;pointer-events:none}.micromag-screen-conversation-hidden.micromag-screen-conversation-container{display:none;visibility:hidden}.micromag-screen-conversation-placeholder.micromag-screen-conversation-container .micromag-screen-conversation-content{position:relative;padding:6px}.micromag-screen-conversation-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.micromag-screen-conversation-container .micromag-screen-conversation-conversationHeader{width:100%;padding-bottom:16px;font-style:italic}.micromag-screen-conversation-container .micromag-screen-conversation-empty{height:200px}.micromag-screen-conversation-container .micromag-screen-conversation-title{padding-bottom:16px}.micromag-screen-conversation-container .micromag-screen-conversation-callToAction{-webkit-transition:opacity .2s ease-out;-o-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.micromag-screen-conversation-container .micromag-screen-conversation-callToAction a{padding:0}.micromag-screen-conversation-container .micromag-screen-conversation-callToAction.micromag-screen-conversation-disabled{opacity:0;pointer-events:none}.micromag-screen-conversation-layout{-webkit-transition:padding .2s ease-out;-o-transition:padding .2s ease-out;transition:padding .2s ease-out}.micromag-screen-conversation-messageContainer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;color:#000}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message{max-width:80%;margin:1px 0;padding:10px;-webkit-transition:border-radius .2s ease;-o-transition:border-radius .2s ease;transition:border-radius .2s ease;background-color:#fff;overflow-wrap:break-word}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-normalLeft{border-radius:1px 15px 15px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-inBetweenLeft{border-radius:1px 15px 15px 1px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-normalRight{border-radius:15px 1px 15px 15px;background-color:#58afff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-inBetweenRight{border-radius:15px 1px 1px 15px;background-color:#58afff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-message.micromag-screen-conversation-last{margin:1px 0 16px}.micromag-screen-conversation-messageContainer:last-child .micromag-screen-conversation-message.micromag-screen-conversation-last{margin-bottom:0}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-speakerDetails{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;width:100%;padding-bottom:10px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-speakerDetails.micromag-screen-conversation-right{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-avatarContainer{width:30px;height:30px;margin-right:10px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-avatarContainer.micromag-screen-conversation-right{margin-right:0;margin-left:10px}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-avatar{display:inline-block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-imageContainer{width:100%;height:100%;padding-bottom:10px}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message{-webkit-animation:micromag-screen-conversation-appear .18s ease forwards;animation:micromag-screen-conversation-appear .18s ease forwards}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message.micromag-screen-conversation-normalLeft{-webkit-transform:translate(-300px) scale(.5);-ms-transform:translate(-300px) scale(.5);transform:translate(-300px) scale(.5)}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message.micromag-screen-conversation-inBetweenLeft{border-radius:1px 15px 15px 1px}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-withAnimation .micromag-screen-conversation-message.micromag-screen-conversation-normalRight{-webkit-transform:translate(300px) scale(.5);-ms-transform:translate(300px) scale(.5);transform:translate(300px) scale(.5)}@-webkit-keyframes micromag-screen-conversation-appear{to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}@keyframes micromag-screen-conversation-appear{to{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loadingContainer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#fff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:5px 0 10px;padding:7px 10px;border-radius:10px;background:#fff}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading .micromag-screen-conversation-dot{width:5px;height:5px;margin-right:4px;-webkit-animation:micromag-screen-conversation-bounce .35s linear infinite alternate;animation:micromag-screen-conversation-bounce .35s linear infinite alternate;border-radius:50%;background:#000}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading .micromag-screen-conversation-dot:nth-child(2){-webkit-animation-delay:.08s;animation-delay:.08s}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loading .micromag-screen-conversation-dot:nth-child(3){margin-right:0;-webkit-animation-delay:.16s;animation-delay:.16s}@-webkit-keyframes micromag-screen-conversation-bounce{0%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:.5}to{-webkit-transform:translateY(2px);transform:translateY(2px);opacity:1}}@keyframes micromag-screen-conversation-bounce{0%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:.5}to{-webkit-transform:translateY(2px);transform:translateY(2px);opacity:1}}.micromag-screen-conversation-messageContainer .micromag-screen-conversation-loadingSpeakerName{margin:0 5px;opacity:.6;font-size:12px;font-style:italic}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-right{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.micromag-screen-conversation-messageContainer.micromag-screen-conversation-right .micromag-screen-conversation-loadingContainer{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}
package/es/index.js CHANGED
@@ -8,8 +8,8 @@ import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react'
8
8
  import { v1 } from 'uuid';
9
9
  import { PropTypes } from '@micromag/core';
10
10
  import { ScreenElement, Transitions } from '@micromag/core/components';
11
- import { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';
12
- import { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';
11
+ import { useScreenSize, useViewerContext, useViewerWebView, usePlaybackContext, usePlaybackMediaRef, useScreenRenderContext } from '@micromag/core/contexts';
12
+ import { useTrackScreenEvent, useDimensionObserver } from '@micromag/core/hooks';
13
13
  import { getStyleFromColor, isTextFilled } from '@micromag/core/utils';
14
14
  import Background from '@micromag/element-background';
15
15
  import CallToAction from '@micromag/element-call-to-action';
@@ -21,7 +21,7 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
21
21
  import Text from '@micromag/element-text';
22
22
  import Visual from '@micromag/element-visual';
23
23
 
24
- var styles = {"container":"micromag-screen-conversation-container","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","callToAction":"micromag-screen-conversation-callToAction","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"};
24
+ var styles = {"container":"micromag-screen-conversation-container","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","callToAction":"micromag-screen-conversation-callToAction","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"};
25
25
 
26
26
  var propTypes$1 = {
27
27
  message: PropTypes.conversationMessage,
@@ -192,8 +192,6 @@ var propTypes = {
192
192
  type: PropTypes$1.string,
193
193
  conversation: PropTypes.conversation,
194
194
  transitions: PropTypes.transitions,
195
- enableInteraction: PropTypes$1.func,
196
- disableInteraction: PropTypes$1.func,
197
195
  className: PropTypes$1.string
198
196
  };
199
197
  var defaultProps = {
@@ -208,13 +206,11 @@ var defaultProps = {
208
206
  type: null,
209
207
  conversation: null,
210
208
  transitions: null,
211
- enableInteraction: null,
212
- disableInteraction: null,
213
209
  className: null
214
210
  };
215
211
 
216
212
  var ConversationScreen = function ConversationScreen(_ref) {
217
- var _ref8;
213
+ var _ref7;
218
214
 
219
215
  var title = _ref.title,
220
216
  timingMode = _ref.timing,
@@ -226,21 +222,28 @@ var ConversationScreen = function ConversationScreen(_ref) {
226
222
  type = _ref.type,
227
223
  conversation = _ref.conversation,
228
224
  transitions = _ref.transitions,
229
- enableInteraction = _ref.enableInteraction,
230
- disableInteraction = _ref.disableInteraction,
231
225
  className = _ref.className;
232
226
 
233
227
  var _useScreenSize = useScreenSize(),
234
228
  width = _useScreenSize.width,
235
229
  height = _useScreenSize.height,
236
- menuOverScreen = _useScreenSize.menuOverScreen,
237
230
  resolution = _useScreenSize.resolution;
238
231
 
239
- var _useViewer = useViewer(),
240
- menuSize = _useViewer.menuSize;
232
+ var _useViewerContext = useViewerContext(),
233
+ viewerTopHeight = _useViewerContext.topHeight,
234
+ viewerBottomHeight = _useViewerContext.bottomHeight,
235
+ viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
236
+
237
+ var _useViewerWebView = useViewerWebView(),
238
+ openWebView = _useViewerWebView.open;
241
239
 
242
240
  var trackScreenEvent = useTrackScreenEvent(type);
243
241
 
242
+ var _usePlaybackContext = usePlaybackContext(),
243
+ muted = _usePlaybackContext.muted;
244
+
245
+ var mediaRef = usePlaybackMediaRef(current);
246
+
244
247
  var _useScreenRenderConte = useScreenRenderContext(),
245
248
  isView = _useScreenRenderConte.isView,
246
249
  isPreview = _useScreenRenderConte.isPreview,
@@ -269,12 +272,9 @@ var ConversationScreen = function ConversationScreen(_ref) {
269
272
  var chatBottomRef = useRef(null);
270
273
  var hasTitle = isTextFilled(title);
271
274
 
272
- var _useResizeObserver = useResizeObserver(),
273
- contentRef = _useResizeObserver.ref,
274
- scrollContentRect = _useResizeObserver.entry.contentRect;
275
-
276
- var _ref3 = scrollContentRect || {},
277
- scrollHeight = _ref3.height;
275
+ var _useDimensionObserver = useDimensionObserver(),
276
+ contentRef = _useDimensionObserver.ref,
277
+ scrollHeight = _useDimensionObserver.height;
278
278
 
279
279
  var scrollRef = useRef(null);
280
280
  useEffect(function () {
@@ -301,11 +301,11 @@ var ConversationScreen = function ConversationScreen(_ref) {
301
301
  return m !== null;
302
302
  });
303
303
  var timings = filteredMessages.map(function (messageParams, messageI) {
304
- var _ref4 = messageParams || {},
305
- _ref4$timing = _ref4.timing,
306
- timing = _ref4$timing === void 0 ? null : _ref4$timing,
307
- _ref4$message = _ref4.message,
308
- message = _ref4$message === void 0 ? null : _ref4$message;
304
+ var _ref3 = messageParams || {},
305
+ _ref3$timing = _ref3.timing,
306
+ timing = _ref3$timing === void 0 ? null : _ref3$timing,
307
+ _ref3$message = _ref3.message,
308
+ message = _ref3$message === void 0 ? null : _ref3$message;
309
309
 
310
310
  if (timing !== null) {
311
311
  return timing;
@@ -319,9 +319,9 @@ var ConversationScreen = function ConversationScreen(_ref) {
319
319
  return finalTime < 2000 ? finalTime : 2000;
320
320
  });
321
321
  var hesitationTimings = filteredMessages.map(function () {
322
- var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
323
- _ref5$hesitation = _ref5.hesitation,
324
- hesitation = _ref5$hesitation === void 0 ? null : _ref5$hesitation;
322
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
323
+ _ref4$hesitation = _ref4.hesitation,
324
+ hesitation = _ref4$hesitation === void 0 ? null : _ref4$hesitation;
325
325
 
326
326
  return hesitation !== null ? hesitation : defaultHesitationDelay;
327
327
  });
@@ -334,24 +334,18 @@ var ConversationScreen = function ConversationScreen(_ref) {
334
334
  var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
335
335
  var scrollingDisabled = !isEdit && transitionDisabled || !current; // CTA
336
336
 
337
- var hasCallToAction = callToAction !== null && callToAction.active === true;
337
+ var _ref5 = callToAction || {},
338
+ _ref5$active = _ref5.active,
339
+ hasCallToAction = _ref5$active === void 0 ? false : _ref5$active;
338
340
 
339
341
  var _useState3 = useState(false),
340
342
  _useState4 = _slicedToArray(_useState3, 2),
341
343
  scrolledBottom = _useState4[0],
342
344
  setScrolledBottom = _useState4[1];
343
345
 
344
- var _useResizeObserver2 = useResizeObserver(),
345
- callToActionRef = _useResizeObserver2.ref,
346
- callToActionRect = _useResizeObserver2.entry.contentRect;
347
-
348
- var _ref6 = callToActionRect || {},
349
- _ref6$height = _ref6.height,
350
- callToActionHeight = _ref6$height === void 0 ? 0 : _ref6$height;
351
-
352
- var viewCTA = animationFinished && !isPlaceholder && hasCallToAction || !withAnimation;
353
- var onScrolledBottom = useCallback(function (_ref7) {
354
- var initial = _ref7.initial;
346
+ var showCallToAction = animationFinished && !isPlaceholder && hasCallToAction || !withAnimation;
347
+ var onScrolledBottom = useCallback(function (_ref6) {
348
+ var initial = _ref6.initial;
355
349
 
356
350
  if (initial) {
357
351
  trackScreenEvent('scroll', 'Screen');
@@ -363,7 +357,7 @@ var ConversationScreen = function ConversationScreen(_ref) {
363
357
  setScrolledBottom(false);
364
358
  }, [setScrolledBottom]);
365
359
  return /*#__PURE__*/React.createElement("div", {
366
- className: classNames([styles.container, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.isPlaceholder, isPlaceholder), _ref8)]),
360
+ className: classNames([styles.container, (_ref7 = {}, _defineProperty(_ref7, className, className !== null), _defineProperty(_ref7, styles.isPlaceholder, isPlaceholder), _ref7)]),
367
361
  "data-screen-ready": true
368
362
  }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
369
363
  background: background,
@@ -371,7 +365,9 @@ var ConversationScreen = function ConversationScreen(_ref) {
371
365
  height: height,
372
366
  resolution: resolution,
373
367
  playing: backgroundPlaying,
374
- shouldLoad: mediaShouldLoad
368
+ muted: muted,
369
+ shouldLoad: mediaShouldLoad,
370
+ mediaRef: mediaRef
375
371
  }) : null, /*#__PURE__*/React.createElement(Container, {
376
372
  width: width,
377
373
  height: height
@@ -386,7 +382,8 @@ var ConversationScreen = function ConversationScreen(_ref) {
386
382
  className: styles.layout,
387
383
  style: !isPlaceholder ? {
388
384
  padding: spacing,
389
- paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing
385
+ paddingTop: (!isPreview ? viewerTopHeight : 0) + spacing,
386
+ paddingBottom: (!isPreview ? viewerBottomHeight : 0) + spacing
390
387
  } : null
391
388
  }, /*#__PURE__*/React.createElement(ScreenElement, {
392
389
  placeholder: "conversation",
@@ -434,24 +431,18 @@ var ConversationScreen = function ConversationScreen(_ref) {
434
431
  messageStyle: messageStyle,
435
432
  speakerStyle: speakerStyle
436
433
  });
437
- })), viewCTA ? /*#__PURE__*/React.createElement("div", {
434
+ })), showCallToAction ? /*#__PURE__*/React.createElement("div", {
435
+ className: classNames([styles.callToAction, _defineProperty({}, styles.disabled, !scrolledBottom)]),
438
436
  style: {
439
- minHeight: callToActionHeight
437
+ paddingLeft: Math.max(viewerBottomSidesWidth - spacing, 0),
438
+ paddingRight: Math.max(viewerBottomSidesWidth - spacing, 0),
439
+ paddingTop: spacing
440
440
  }
441
- }, /*#__PURE__*/React.createElement(CallToAction, {
442
- ref: callToActionRef,
443
- className: styles.callToAction,
444
- disabled: !scrolledBottom,
441
+ }, /*#__PURE__*/React.createElement(CallToAction, Object.assign({}, callToAction, {
445
442
  animationDisabled: isPreview,
446
- callToAction: callToAction,
447
443
  focusable: current && isView,
448
- screenSize: {
449
- width: width,
450
- height: height
451
- },
452
- enableInteraction: enableInteraction,
453
- disableInteraction: disableInteraction
454
- })) : null, /*#__PURE__*/React.createElement("div", {
444
+ openWebView: openWebView
445
+ }))) : null, /*#__PURE__*/React.createElement("div", {
455
446
  ref: chatBottomRef
456
447
  }))))))));
457
448
  };
package/lib/index.js CHANGED
@@ -43,7 +43,7 @@ var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
43
43
  var Text__default = /*#__PURE__*/_interopDefaultLegacy(Text);
44
44
  var Visual__default = /*#__PURE__*/_interopDefaultLegacy(Visual);
45
45
 
46
- var styles = {"container":"micromag-screen-conversation-container","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","callToAction":"micromag-screen-conversation-callToAction","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"};
46
+ var styles = {"container":"micromag-screen-conversation-container","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","callToAction":"micromag-screen-conversation-callToAction","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"};
47
47
 
48
48
  var propTypes$1 = {
49
49
  message: core.PropTypes.conversationMessage,
@@ -214,8 +214,6 @@ var propTypes = {
214
214
  type: PropTypes__default["default"].string,
215
215
  conversation: core.PropTypes.conversation,
216
216
  transitions: core.PropTypes.transitions,
217
- enableInteraction: PropTypes__default["default"].func,
218
- disableInteraction: PropTypes__default["default"].func,
219
217
  className: PropTypes__default["default"].string
220
218
  };
221
219
  var defaultProps = {
@@ -230,13 +228,11 @@ var defaultProps = {
230
228
  type: null,
231
229
  conversation: null,
232
230
  transitions: null,
233
- enableInteraction: null,
234
- disableInteraction: null,
235
231
  className: null
236
232
  };
237
233
 
238
234
  var ConversationScreen = function ConversationScreen(_ref) {
239
- var _ref8;
235
+ var _ref7;
240
236
 
241
237
  var title = _ref.title,
242
238
  timingMode = _ref.timing,
@@ -248,21 +244,28 @@ var ConversationScreen = function ConversationScreen(_ref) {
248
244
  type = _ref.type,
249
245
  conversation = _ref.conversation,
250
246
  transitions = _ref.transitions,
251
- enableInteraction = _ref.enableInteraction,
252
- disableInteraction = _ref.disableInteraction,
253
247
  className = _ref.className;
254
248
 
255
249
  var _useScreenSize = contexts.useScreenSize(),
256
250
  width = _useScreenSize.width,
257
251
  height = _useScreenSize.height,
258
- menuOverScreen = _useScreenSize.menuOverScreen,
259
252
  resolution = _useScreenSize.resolution;
260
253
 
261
- var _useViewer = contexts.useViewer(),
262
- menuSize = _useViewer.menuSize;
254
+ var _useViewerContext = contexts.useViewerContext(),
255
+ viewerTopHeight = _useViewerContext.topHeight,
256
+ viewerBottomHeight = _useViewerContext.bottomHeight,
257
+ viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
258
+
259
+ var _useViewerWebView = contexts.useViewerWebView(),
260
+ openWebView = _useViewerWebView.open;
263
261
 
264
262
  var trackScreenEvent = hooks.useTrackScreenEvent(type);
265
263
 
264
+ var _usePlaybackContext = contexts.usePlaybackContext(),
265
+ muted = _usePlaybackContext.muted;
266
+
267
+ var mediaRef = contexts.usePlaybackMediaRef(current);
268
+
266
269
  var _useScreenRenderConte = contexts.useScreenRenderContext(),
267
270
  isView = _useScreenRenderConte.isView,
268
271
  isPreview = _useScreenRenderConte.isPreview,
@@ -291,12 +294,9 @@ var ConversationScreen = function ConversationScreen(_ref) {
291
294
  var chatBottomRef = React.useRef(null);
292
295
  var hasTitle = utils.isTextFilled(title);
293
296
 
294
- var _useResizeObserver = hooks.useResizeObserver(),
295
- contentRef = _useResizeObserver.ref,
296
- scrollContentRect = _useResizeObserver.entry.contentRect;
297
-
298
- var _ref3 = scrollContentRect || {},
299
- scrollHeight = _ref3.height;
297
+ var _useDimensionObserver = hooks.useDimensionObserver(),
298
+ contentRef = _useDimensionObserver.ref,
299
+ scrollHeight = _useDimensionObserver.height;
300
300
 
301
301
  var scrollRef = React.useRef(null);
302
302
  React.useEffect(function () {
@@ -323,11 +323,11 @@ var ConversationScreen = function ConversationScreen(_ref) {
323
323
  return m !== null;
324
324
  });
325
325
  var timings = filteredMessages.map(function (messageParams, messageI) {
326
- var _ref4 = messageParams || {},
327
- _ref4$timing = _ref4.timing,
328
- timing = _ref4$timing === void 0 ? null : _ref4$timing,
329
- _ref4$message = _ref4.message,
330
- message = _ref4$message === void 0 ? null : _ref4$message;
326
+ var _ref3 = messageParams || {},
327
+ _ref3$timing = _ref3.timing,
328
+ timing = _ref3$timing === void 0 ? null : _ref3$timing,
329
+ _ref3$message = _ref3.message,
330
+ message = _ref3$message === void 0 ? null : _ref3$message;
331
331
 
332
332
  if (timing !== null) {
333
333
  return timing;
@@ -341,9 +341,9 @@ var ConversationScreen = function ConversationScreen(_ref) {
341
341
  return finalTime < 2000 ? finalTime : 2000;
342
342
  });
343
343
  var hesitationTimings = filteredMessages.map(function () {
344
- var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
345
- _ref5$hesitation = _ref5.hesitation,
346
- hesitation = _ref5$hesitation === void 0 ? null : _ref5$hesitation;
344
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
345
+ _ref4$hesitation = _ref4.hesitation,
346
+ hesitation = _ref4$hesitation === void 0 ? null : _ref4$hesitation;
347
347
 
348
348
  return hesitation !== null ? hesitation : defaultHesitationDelay;
349
349
  });
@@ -356,24 +356,18 @@ var ConversationScreen = function ConversationScreen(_ref) {
356
356
  var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
357
357
  var scrollingDisabled = !isEdit && transitionDisabled || !current; // CTA
358
358
 
359
- var hasCallToAction = callToAction !== null && callToAction.active === true;
359
+ var _ref5 = callToAction || {},
360
+ _ref5$active = _ref5.active,
361
+ hasCallToAction = _ref5$active === void 0 ? false : _ref5$active;
360
362
 
361
363
  var _useState3 = React.useState(false),
362
364
  _useState4 = _slicedToArray__default["default"](_useState3, 2),
363
365
  scrolledBottom = _useState4[0],
364
366
  setScrolledBottom = _useState4[1];
365
367
 
366
- var _useResizeObserver2 = hooks.useResizeObserver(),
367
- callToActionRef = _useResizeObserver2.ref,
368
- callToActionRect = _useResizeObserver2.entry.contentRect;
369
-
370
- var _ref6 = callToActionRect || {},
371
- _ref6$height = _ref6.height,
372
- callToActionHeight = _ref6$height === void 0 ? 0 : _ref6$height;
373
-
374
- var viewCTA = animationFinished && !isPlaceholder && hasCallToAction || !withAnimation;
375
- var onScrolledBottom = React.useCallback(function (_ref7) {
376
- var initial = _ref7.initial;
368
+ var showCallToAction = animationFinished && !isPlaceholder && hasCallToAction || !withAnimation;
369
+ var onScrolledBottom = React.useCallback(function (_ref6) {
370
+ var initial = _ref6.initial;
377
371
 
378
372
  if (initial) {
379
373
  trackScreenEvent('scroll', 'Screen');
@@ -385,7 +379,7 @@ var ConversationScreen = function ConversationScreen(_ref) {
385
379
  setScrolledBottom(false);
386
380
  }, [setScrolledBottom]);
387
381
  return /*#__PURE__*/React__default["default"].createElement("div", {
388
- className: classNames__default["default"]([styles.container, (_ref8 = {}, _defineProperty__default["default"](_ref8, className, className !== null), _defineProperty__default["default"](_ref8, styles.isPlaceholder, isPlaceholder), _ref8)]),
382
+ className: classNames__default["default"]([styles.container, (_ref7 = {}, _defineProperty__default["default"](_ref7, className, className !== null), _defineProperty__default["default"](_ref7, styles.isPlaceholder, isPlaceholder), _ref7)]),
389
383
  "data-screen-ready": true
390
384
  }, !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Background__default["default"], {
391
385
  background: background,
@@ -393,7 +387,9 @@ var ConversationScreen = function ConversationScreen(_ref) {
393
387
  height: height,
394
388
  resolution: resolution,
395
389
  playing: backgroundPlaying,
396
- shouldLoad: mediaShouldLoad
390
+ muted: muted,
391
+ shouldLoad: mediaShouldLoad,
392
+ mediaRef: mediaRef
397
393
  }) : null, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
398
394
  width: width,
399
395
  height: height
@@ -408,7 +404,8 @@ var ConversationScreen = function ConversationScreen(_ref) {
408
404
  className: styles.layout,
409
405
  style: !isPlaceholder ? {
410
406
  padding: spacing,
411
- paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing
407
+ paddingTop: (!isPreview ? viewerTopHeight : 0) + spacing,
408
+ paddingBottom: (!isPreview ? viewerBottomHeight : 0) + spacing
412
409
  } : null
413
410
  }, /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
414
411
  placeholder: "conversation",
@@ -456,24 +453,18 @@ var ConversationScreen = function ConversationScreen(_ref) {
456
453
  messageStyle: messageStyle,
457
454
  speakerStyle: speakerStyle
458
455
  });
459
- })), viewCTA ? /*#__PURE__*/React__default["default"].createElement("div", {
456
+ })), showCallToAction ? /*#__PURE__*/React__default["default"].createElement("div", {
457
+ className: classNames__default["default"]([styles.callToAction, _defineProperty__default["default"]({}, styles.disabled, !scrolledBottom)]),
460
458
  style: {
461
- minHeight: callToActionHeight
459
+ paddingLeft: Math.max(viewerBottomSidesWidth - spacing, 0),
460
+ paddingRight: Math.max(viewerBottomSidesWidth - spacing, 0),
461
+ paddingTop: spacing
462
462
  }
463
- }, /*#__PURE__*/React__default["default"].createElement(CallToAction__default["default"], {
464
- ref: callToActionRef,
465
- className: styles.callToAction,
466
- disabled: !scrolledBottom,
463
+ }, /*#__PURE__*/React__default["default"].createElement(CallToAction__default["default"], Object.assign({}, callToAction, {
467
464
  animationDisabled: isPreview,
468
- callToAction: callToAction,
469
465
  focusable: current && isView,
470
- screenSize: {
471
- width: width,
472
- height: height
473
- },
474
- enableInteraction: enableInteraction,
475
- disableInteraction: disableInteraction
476
- })) : null, /*#__PURE__*/React__default["default"].createElement("div", {
466
+ openWebView: openWebView
467
+ }))) : null, /*#__PURE__*/React__default["default"].createElement("div", {
477
468
  ref: chatBottomRef
478
469
  }))))))));
479
470
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/screen-conversation",
3
- "version": "0.3.148",
3
+ "version": "0.3.153",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -49,16 +49,16 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@babel/runtime": "^7.13.10",
52
- "@micromag/core": "^0.3.148",
53
- "@micromag/element-background": "^0.3.148",
54
- "@micromag/element-call-to-action": "^0.3.148",
55
- "@micromag/element-container": "^0.3.148",
56
- "@micromag/element-heading": "^0.3.148",
57
- "@micromag/element-layout": "^0.3.148",
58
- "@micromag/element-scroll": "^0.3.148",
59
- "@micromag/element-text": "^0.3.148",
60
- "@micromag/element-visual": "^0.3.148",
61
- "@micromag/transforms": "^0.3.148",
52
+ "@micromag/core": "^0.3.153",
53
+ "@micromag/element-background": "^0.3.153",
54
+ "@micromag/element-call-to-action": "^0.3.153",
55
+ "@micromag/element-container": "^0.3.153",
56
+ "@micromag/element-heading": "^0.3.153",
57
+ "@micromag/element-layout": "^0.3.153",
58
+ "@micromag/element-scroll": "^0.3.153",
59
+ "@micromag/element-text": "^0.3.153",
60
+ "@micromag/element-visual": "^0.3.153",
61
+ "@micromag/transforms": "^0.3.153",
62
62
  "classnames": "^2.2.6",
63
63
  "lodash": "^4.17.21",
64
64
  "prop-types": "^15.7.2",
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "b10cd7739e7de8595c26acc0e08d6e84220be17c"
71
+ "gitHead": "3832de24bc306639b162f9778b3250ce1d05b2aa"
72
72
  }