@micromag/viewer 0.3.164 → 0.3.167

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 CHANGED
@@ -12,9 +12,6 @@ import { ScreensProvider } from '@micromag/screens';
12
12
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
13
13
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
14
14
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
15
- import { faArrowLeft } from '@fortawesome/free-solid-svg-icons/faArrowLeft';
16
- import { faArrowRight } from '@fortawesome/free-solid-svg-icons/faArrowRight';
17
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
18
15
  import { useDrag, useGesture } from '@use-gesture/react';
19
16
  import classNames from 'classnames';
20
17
  import { Helmet } from 'react-helmet';
@@ -26,11 +23,14 @@ import { getStyleFromColor, getStyleFromText, getColorAsString, getDeviceScreens
26
23
  import { useSpring, config } from '@react-spring/core';
27
24
  import { animated } from '@react-spring/web';
28
25
  import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';
26
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
29
27
  import { faCompress } from '@fortawesome/free-solid-svg-icons/faCompress';
30
28
  import { faExpand } from '@fortawesome/free-solid-svg-icons/faExpand';
31
29
  import { faShare } from '@fortawesome/free-solid-svg-icons/faShare';
32
30
  import Scroll from '@micromag/element-scroll';
33
31
  import ShareOptions from '@micromag/element-share-options';
32
+ import { faArrowLeft } from '@fortawesome/free-solid-svg-icons/faArrowLeft';
33
+ import { faArrowRight } from '@fortawesome/free-solid-svg-icons/faArrowRight';
34
34
  import { faPause } from '@fortawesome/free-solid-svg-icons/faPause';
35
35
  import { faPlay } from '@fortawesome/free-solid-svg-icons/faPlay';
36
36
  import { faVolumeUp } from '@fortawesome/free-solid-svg-icons/faVolumeUp';
@@ -213,11 +213,11 @@ function useScreenInteraction() {
213
213
  };
214
214
  }
215
215
 
216
- var styles$b = {"container":"micromag-viewer-menus-menu-dots-container","closeButton":"micromag-viewer-menus-menu-dots-closeButton","menuButton":"micromag-viewer-menus-menu-dots-menuButton","item":"micromag-viewer-menus-menu-dots-item","items":"micromag-viewer-menus-menu-dots-items","menu":"micromag-viewer-menus-menu-dots-menu","menuIcon":"micromag-viewer-menus-menu-dots-menuIcon","vertical":"micromag-viewer-menus-menu-dots-vertical","withShadow":"micromag-viewer-menus-menu-dots-withShadow"};
216
+ var styles$c = {"container":"micromag-viewer-menus-menu-dots-container","closeButton":"micromag-viewer-menus-menu-dots-closeButton","menuButton":"micromag-viewer-menus-menu-dots-menuButton","item":"micromag-viewer-menus-menu-dots-item","items":"micromag-viewer-menus-menu-dots-items","menu":"micromag-viewer-menus-menu-dots-menu","menuIcon":"micromag-viewer-menus-menu-dots-menuIcon","vertical":"micromag-viewer-menus-menu-dots-vertical","withShadow":"micromag-viewer-menus-menu-dots-withShadow"};
217
217
 
218
- var styles$a = {"container":"micromag-viewer-menus-menu-dot-container","button":"micromag-viewer-menus-menu-dot-button","dot":"micromag-viewer-menus-menu-dot-dot","subDot":"micromag-viewer-menus-menu-dot-subDot","dots":"micromag-viewer-menus-menu-dot-dots","vertical":"micromag-viewer-menus-menu-dot-vertical"};
218
+ var styles$b = {"container":"micromag-viewer-menus-menu-dot-container","button":"micromag-viewer-menus-menu-dot-button","dot":"micromag-viewer-menus-menu-dot-dot","subDot":"micromag-viewer-menus-menu-dot-subDot","dots":"micromag-viewer-menus-menu-dot-dots","vertical":"micromag-viewer-menus-menu-dot-vertical"};
219
219
 
220
- var propTypes$g = {
220
+ var propTypes$h = {
221
221
  current: PropTypes.bool,
222
222
  active: PropTypes.bool,
223
223
  colors: PropTypes.shape({
@@ -230,7 +230,7 @@ var propTypes$g = {
230
230
  onClick: PropTypes.func,
231
231
  className: PropTypes.string
232
232
  };
233
- var defaultProps$g = {
233
+ var defaultProps$h = {
234
234
  current: false,
235
235
  active: false,
236
236
  colors: null,
@@ -293,44 +293,44 @@ var ViewerMenuDot = function ViewerMenuDot(_ref) {
293
293
  });
294
294
  }, [playing, duration, currentTime, setSpringProps]);
295
295
  var inner = current && count > 1 ? /*#__PURE__*/React.createElement("span", {
296
- className: styles$a.dots
296
+ className: styles$b.dots
297
297
  }, _toConsumableArray(Array(count).keys()).map(function (i) {
298
298
  return /*#__PURE__*/React.createElement("span", {
299
- className: classNames([styles$a.dot, styles$a.subDot]),
299
+ className: classNames([styles$b.dot, styles$b.subDot]),
300
300
  style: {
301
301
  width: "".concat(parseFloat(1 / count * 100).toFixed(2), "%"),
302
302
  backgroundColor: active && i <= subIndex ? primary : secondary
303
303
  }
304
304
  });
305
305
  })) : /*#__PURE__*/React.createElement("span", {
306
- className: styles$a.dot,
306
+ className: styles$b.dot,
307
307
  style: {
308
308
  backgroundColor: active ? primary : secondary
309
309
  }
310
310
  });
311
311
  return /*#__PURE__*/React.createElement("li", {
312
- className: classNames([styles$a.container, (_ref3 = {}, _defineProperty(_ref3, styles$a.active, current), _defineProperty(_ref3, styles$a.vertical, vertical), _defineProperty(_ref3, className, className !== null), _ref3)]),
312
+ className: classNames([styles$b.container, (_ref3 = {}, _defineProperty(_ref3, styles$b.active, current), _defineProperty(_ref3, styles$b.vertical, vertical), _defineProperty(_ref3, className, className !== null), _ref3)]),
313
313
  "aria-hidden": "true"
314
314
  }, /*#__PURE__*/React.createElement("button", {
315
315
  type: "button",
316
- className: styles$a.button,
316
+ className: styles$b.button,
317
317
  onClick: onClick,
318
318
  tabIndex: "-1"
319
319
  }, inner));
320
320
  };
321
321
 
322
- ViewerMenuDot.propTypes = propTypes$g;
323
- ViewerMenuDot.defaultProps = defaultProps$g;
322
+ ViewerMenuDot.propTypes = propTypes$h;
323
+ ViewerMenuDot.defaultProps = defaultProps$h;
324
324
 
325
- var styles$9 = {};
325
+ var styles$a = {};
326
326
 
327
- var propTypes$f = {
327
+ var propTypes$g = {
328
328
  size: PropTypes.number,
329
329
  spacing: PropTypes.number,
330
330
  color: PropTypes.string,
331
331
  className: PropTypes.string
332
332
  };
333
- var defaultProps$f = {
333
+ var defaultProps$g = {
334
334
  size: 100,
335
335
  spacing: 8,
336
336
  color: 'white',
@@ -344,7 +344,7 @@ var MenuIcon = function MenuIcon(_ref) {
344
344
  className = _ref.className;
345
345
  var squareSize = (size - 2 * spacing) / 3;
346
346
  return /*#__PURE__*/React.createElement("svg", {
347
- className: classNames([styles$9.container, _defineProperty({}, className, className !== null)]),
347
+ className: classNames([styles$a.container, _defineProperty({}, className, className !== null)]),
348
348
  xmlns: "http://www.w3.org/2000/svg",
349
349
  viewBox: "0 0 ".concat(size, " ").concat(size),
350
350
  "aria-hidden": "true"
@@ -362,10 +362,10 @@ var MenuIcon = function MenuIcon(_ref) {
362
362
  }));
363
363
  };
364
364
 
365
- MenuIcon.propTypes = propTypes$f;
366
- MenuIcon.defaultProps = defaultProps$f;
365
+ MenuIcon.propTypes = propTypes$g;
366
+ MenuIcon.defaultProps = defaultProps$g;
367
367
 
368
- var propTypes$e = {
368
+ var propTypes$f = {
369
369
  direction: PropTypes.oneOf(['horizontal', 'vertical']),
370
370
  withShadow: PropTypes.bool,
371
371
  items: PropTypes$1.menuItems,
@@ -381,7 +381,7 @@ var propTypes$e = {
381
381
  onClose: PropTypes.func,
382
382
  className: PropTypes.string
383
383
  };
384
- var defaultProps$e = {
384
+ var defaultProps$f = {
385
385
  direction: 'horizontal',
386
386
  withShadow: false,
387
387
  items: [],
@@ -421,7 +421,7 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
421
421
  return current;
422
422
  });
423
423
  return /*#__PURE__*/React.createElement("nav", {
424
- className: classNames([styles$b.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$b.vertical, direction === 'vertical'), _defineProperty(_ref4, styles$b.withShadow, withShadow), _ref4)]),
424
+ className: classNames([styles$c.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$c.vertical, direction === 'vertical'), _defineProperty(_ref4, styles$c.withShadow, withShadow), _ref4)]),
425
425
  "aria-label": intl.formatMessage({
426
426
  id: "bLYuuN",
427
427
  defaultMessage: [{
@@ -445,7 +445,7 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
445
445
  total: items.length
446
446
  })
447
447
  }, /*#__PURE__*/React.createElement("ul", {
448
- className: styles$b.items
448
+ className: styles$c.items
449
449
  }, items.map(function (item, index) {
450
450
  var _ref5 = item || {},
451
451
  _ref5$current = _ref5.current,
@@ -472,9 +472,9 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
472
472
  vertical: direction === 'vertical'
473
473
  });
474
474
  }), !withoutScreensMenu ? /*#__PURE__*/React.createElement("li", {
475
- className: styles$b.menu
475
+ className: styles$c.menu
476
476
  }, /*#__PURE__*/React.createElement(MenuIcon, {
477
- className: styles$b.menuIcon,
477
+ className: styles$c.menuIcon,
478
478
  color: primary
479
479
  }), /*#__PURE__*/React.createElement("button", {
480
480
  type: "button",
@@ -492,16 +492,16 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
492
492
  "value": "Menu"
493
493
  }]
494
494
  }),
495
- className: styles$b.menuButton,
495
+ className: styles$c.menuButton,
496
496
  onClick: onClickMenu
497
497
  })) : null, closeable ? /*#__PURE__*/React.createElement("li", {
498
- className: styles$b.closeButton,
498
+ className: styles$c.closeButton,
499
499
  style: {
500
500
  color: primary
501
501
  }
502
502
  }, /*#__PURE__*/React.createElement("button", {
503
503
  type: "button",
504
- className: styles$b.closeButton,
504
+ className: styles$c.closeButton,
505
505
  onClick: onClose,
506
506
  title: intl.formatMessage({
507
507
  id: "dj/p/q",
@@ -522,13 +522,13 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
522
522
  }))) : null));
523
523
  };
524
524
 
525
- ViewerMenuDots.propTypes = propTypes$e;
526
- ViewerMenuDots.defaultProps = defaultProps$e;
525
+ ViewerMenuDots.propTypes = propTypes$f;
526
+ ViewerMenuDots.defaultProps = defaultProps$f;
527
527
 
528
- var propTypes$d = {
528
+ var propTypes$e = {
529
529
  className: PropTypes.string
530
530
  };
531
- var defaultProps$d = {
531
+ var defaultProps$e = {
532
532
  className: null
533
533
  };
534
534
 
@@ -545,12 +545,12 @@ var StackIcon = function StackIcon(_ref) {
545
545
  }));
546
546
  };
547
547
 
548
- StackIcon.propTypes = propTypes$d;
549
- StackIcon.defaultProps = defaultProps$d;
548
+ StackIcon.propTypes = propTypes$e;
549
+ StackIcon.defaultProps = defaultProps$e;
550
550
 
551
- var styles$8 = {"close":"micromag-viewer-partials-share-modal-close","container":"micromag-viewer-partials-share-modal-container","opened":"micromag-viewer-partials-share-modal-opened","modal":"micromag-viewer-partials-share-modal-modal","header":"micromag-viewer-partials-share-modal-header","heading":"micromag-viewer-partials-share-modal-heading","closeIcon":"micromag-viewer-partials-share-modal-closeIcon","shareOptions":"micromag-viewer-partials-share-modal-shareOptions"};
551
+ var styles$9 = {"close":"micromag-viewer-partials-share-modal-close","container":"micromag-viewer-partials-share-modal-container","opened":"micromag-viewer-partials-share-modal-opened","modal":"micromag-viewer-partials-share-modal-modal","header":"micromag-viewer-partials-share-modal-header","heading":"micromag-viewer-partials-share-modal-heading","closeIcon":"micromag-viewer-partials-share-modal-closeIcon","shareOptions":"micromag-viewer-partials-share-modal-shareOptions"};
552
552
 
553
- var propTypes$c = {
553
+ var propTypes$d = {
554
554
  url: PropTypes.string,
555
555
  title: PropTypes.string,
556
556
  opened: PropTypes.bool,
@@ -558,7 +558,7 @@ var propTypes$c = {
558
558
  onShare: PropTypes.func,
559
559
  onCancel: PropTypes.func
560
560
  };
561
- var defaultProps$c = {
561
+ var defaultProps$d = {
562
562
  url: null,
563
563
  title: null,
564
564
  opened: false,
@@ -589,15 +589,15 @@ var ShareModal = function ShareModal(_ref) {
589
589
  }, [opened, onCancel]);
590
590
  useDocumentEvent('click', onDocumentClick, opened);
591
591
  return /*#__PURE__*/React.createElement("div", {
592
- className: classNames([styles$8.container, (_ref3 = {}, _defineProperty(_ref3, className, className), _defineProperty(_ref3, styles$8.opened, opened), _ref3)]),
592
+ className: classNames([styles$9.container, (_ref3 = {}, _defineProperty(_ref3, className, className), _defineProperty(_ref3, styles$9.opened, opened), _ref3)]),
593
593
  "aria-hidden": opened ? null : '-1'
594
594
  }, /*#__PURE__*/React.createElement("div", {
595
- className: styles$8.modal,
595
+ className: styles$9.modal,
596
596
  ref: modalRef
597
597
  }, /*#__PURE__*/React.createElement("div", {
598
- className: styles$8.header
598
+ className: styles$9.header
599
599
  }, /*#__PURE__*/React.createElement("h2", {
600
- className: styles$8.heading
600
+ className: styles$9.heading
601
601
  }, /*#__PURE__*/React.createElement(FormattedMessage, {
602
602
  id: "oL4ueH",
603
603
  defaultMessage: [{
@@ -605,16 +605,16 @@ var ShareModal = function ShareModal(_ref) {
605
605
  "value": "Share"
606
606
  }]
607
607
  })), /*#__PURE__*/React.createElement(Button, {
608
- className: styles$8.close,
608
+ className: styles$9.close,
609
609
  onClick: onCancel,
610
610
  focusable: opened
611
611
  }, /*#__PURE__*/React.createElement(Close, {
612
- className: styles$8.closeIcon,
612
+ className: styles$9.closeIcon,
613
613
  border: "none"
614
614
  }))), /*#__PURE__*/React.createElement("div", {
615
- className: styles$8.content
615
+ className: styles$9.content
616
616
  }, /*#__PURE__*/React.createElement(ShareOptions, {
617
- className: styles$8.shareOptions,
617
+ className: styles$9.shareOptions,
618
618
  title: title,
619
619
  url: url,
620
620
  focusable: opened,
@@ -623,12 +623,12 @@ var ShareModal = function ShareModal(_ref) {
623
623
  }))));
624
624
  };
625
625
 
626
- ShareModal.propTypes = propTypes$c;
627
- ShareModal.defaultProps = defaultProps$c;
626
+ ShareModal.propTypes = propTypes$d;
627
+ ShareModal.defaultProps = defaultProps$d;
628
628
 
629
- var styles$7 = {"container":"micromag-viewer-partials-share-button-container"};
629
+ var styles$8 = {"container":"micromag-viewer-partials-share-button-container"};
630
630
 
631
- var propTypes$b = {
631
+ var propTypes$c = {
632
632
  title: PropTypes.string,
633
633
  url: PropTypes.string,
634
634
  className: PropTypes.string,
@@ -637,7 +637,7 @@ var propTypes$b = {
637
637
  children: PropTypes.node,
638
638
  focusable: PropTypes.bool
639
639
  };
640
- var defaultProps$b = {
640
+ var defaultProps$c = {
641
641
  title: null,
642
642
  url: null,
643
643
  className: null,
@@ -678,7 +678,7 @@ var ShareButton = function ShareButton(_ref) {
678
678
  setStoryShareModalOpened(false);
679
679
  }, [setStoryShareModalOpened]);
680
680
  return /*#__PURE__*/React.createElement("div", {
681
- className: classNames([styles$7.container, _defineProperty({}, className, className !== null)])
681
+ className: classNames([styles$8.container, _defineProperty({}, className, className !== null)])
682
682
  }, /*#__PURE__*/React.createElement(Button, {
683
683
  className: classNames([_defineProperty({}, buttonClassName, buttonClassName !== null)]),
684
684
  onClick: onShareIconClick,
@@ -698,7 +698,7 @@ var ShareButton = function ShareButton(_ref) {
698
698
  }),
699
699
  focusable: focusable
700
700
  }, children), /*#__PURE__*/React.createElement(ShareModal, {
701
- className: styles$7.shareModal,
701
+ className: styles$8.shareModal,
702
702
  opened: storyShareModalOpened,
703
703
  title: title,
704
704
  url: url,
@@ -707,12 +707,12 @@ var ShareButton = function ShareButton(_ref) {
707
707
  }));
708
708
  };
709
709
 
710
- ShareButton.propTypes = propTypes$b;
711
- ShareButton.defaultProps = defaultProps$b;
710
+ ShareButton.propTypes = propTypes$c;
711
+ ShareButton.defaultProps = defaultProps$c;
712
712
 
713
- var styles$6 = {"container":"micromag-viewer-menus-menu-preview-container","screenButton":"micromag-viewer-menus-menu-preview-screenButton","activeScreenBorder":"micromag-viewer-menus-menu-preview-activeScreenBorder","scroll":"micromag-viewer-menus-menu-preview-scroll","header":"micromag-viewer-menus-menu-preview-header","button":"micromag-viewer-menus-menu-preview-button","shareButton":"micromag-viewer-menus-menu-preview-shareButton","disabled":"micromag-viewer-menus-menu-preview-disabled","icon":"micromag-viewer-menus-menu-preview-icon","buttons":"micromag-viewer-menus-menu-preview-buttons","organisation":"micromag-viewer-menus-menu-preview-organisation","title":"micromag-viewer-menus-menu-preview-title","content":"micromag-viewer-menus-menu-preview-content","nav":"micromag-viewer-menus-menu-preview-nav","item":"micromag-viewer-menus-menu-preview-item","items":"micromag-viewer-menus-menu-preview-items","active":"micromag-viewer-menus-menu-preview-active","itemContent":"micromag-viewer-menus-menu-preview-itemContent","screenContainer":"micromag-viewer-menus-menu-preview-screenContainer","subScreenBadge":"micromag-viewer-menus-menu-preview-subScreenBadge","subScreenCount":"micromag-viewer-menus-menu-preview-subScreenCount","subScreenIcon":"micromag-viewer-menus-menu-preview-subScreenIcon","screenContent":"micromag-viewer-menus-menu-preview-screenContent"};
713
+ var styles$7 = {"container":"micromag-viewer-menus-menu-preview-container","screenButton":"micromag-viewer-menus-menu-preview-screenButton","activeScreenBorder":"micromag-viewer-menus-menu-preview-activeScreenBorder","scroll":"micromag-viewer-menus-menu-preview-scroll","header":"micromag-viewer-menus-menu-preview-header","button":"micromag-viewer-menus-menu-preview-button","shareButton":"micromag-viewer-menus-menu-preview-shareButton","disabled":"micromag-viewer-menus-menu-preview-disabled","icon":"micromag-viewer-menus-menu-preview-icon","buttons":"micromag-viewer-menus-menu-preview-buttons","organisation":"micromag-viewer-menus-menu-preview-organisation","title":"micromag-viewer-menus-menu-preview-title","content":"micromag-viewer-menus-menu-preview-content","nav":"micromag-viewer-menus-menu-preview-nav","item":"micromag-viewer-menus-menu-preview-item","items":"micromag-viewer-menus-menu-preview-items","active":"micromag-viewer-menus-menu-preview-active","itemContent":"micromag-viewer-menus-menu-preview-itemContent","screenContainer":"micromag-viewer-menus-menu-preview-screenContainer","subScreenBadge":"micromag-viewer-menus-menu-preview-subScreenBadge","subScreenCount":"micromag-viewer-menus-menu-preview-subScreenCount","subScreenIcon":"micromag-viewer-menus-menu-preview-subScreenIcon","screenContent":"micromag-viewer-menus-menu-preview-screenContent"};
714
714
 
715
- var propTypes$a = {
715
+ var propTypes$b = {
716
716
  viewerTheme: PropTypes$1.viewerTheme,
717
717
  screenSize: PropTypes$1.screenSize,
718
718
  menuWidth: PropTypes.number,
@@ -730,7 +730,7 @@ var propTypes$a = {
730
730
  fullscreenEnabled: PropTypes.bool,
731
731
  className: PropTypes.string
732
732
  };
733
- var defaultProps$a = {
733
+ var defaultProps$b = {
734
734
  viewerTheme: null,
735
735
  screenSize: null,
736
736
  menuWidth: null,
@@ -856,36 +856,36 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
856
856
  return !focusable ? items.slice(0, 3) : items;
857
857
  }, [items, focusable]);
858
858
  return /*#__PURE__*/React.createElement("div", Object.assign({
859
- className: classNames([styles$6.container, _defineProperty({}, className, className !== null)]),
859
+ className: classNames([styles$7.container, _defineProperty({}, className, className !== null)]),
860
860
  style: _objectSpread(_objectSpread(_objectSpread({}, backgroundColorStyle), brandImageStyle), {}, {
861
861
  width: menuWidth
862
862
  }),
863
863
  "aria-hidden": focusable ? null : 'true'
864
864
  }, dragBind()), /*#__PURE__*/React.createElement("div", {
865
- className: styles$6.header
865
+ className: styles$7.header
866
866
  }, brandLogoUrl !== null ? /*#__PURE__*/React.createElement("div", {
867
- className: styles$6.organisation,
867
+ className: styles$7.organisation,
868
868
  style: {
869
869
  backgroundImage: "url(".concat(brandLogoUrl, ")")
870
870
  }
871
871
  }) : null, /*#__PURE__*/React.createElement("div", {
872
- className: styles$6.title,
872
+ className: styles$7.title,
873
873
  style: titleStyle
874
874
  }, title), /*#__PURE__*/React.createElement("div", {
875
- className: styles$6.buttons,
875
+ className: styles$7.buttons,
876
876
  style: colorSecondaryColorStyle
877
877
  }, /*#__PURE__*/React.createElement(ShareButton, {
878
- className: styles$6.shareButton,
879
- buttonClassName: styles$6.button,
878
+ className: styles$7.shareButton,
879
+ buttonClassName: styles$7.button,
880
880
  onShare: onShare,
881
881
  url: shareUrl,
882
882
  title: title,
883
883
  focusable: focusable
884
884
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
885
- className: styles$6.icon,
885
+ className: styles$7.icon,
886
886
  icon: faShare
887
887
  })), fullscreenEnabled ? /*#__PURE__*/React.createElement(Button, {
888
- className: styles$6.button,
888
+ className: styles$7.button,
889
889
  onClick: toggleFullscreen,
890
890
  title: intl.formatMessage({
891
891
  id: "AuxqcG",
@@ -903,10 +903,10 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
903
903
  }),
904
904
  focusable: focusable
905
905
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
906
- className: styles$6.icon,
906
+ className: styles$7.icon,
907
907
  icon: fullscreenActive ? faCompress : faExpand
908
908
  })) : null, /*#__PURE__*/React.createElement(Button, {
909
- className: styles$6.button,
909
+ className: styles$7.button,
910
910
  onClick: onClose,
911
911
  title: intl.formatMessage({
912
912
  id: "dj/p/q",
@@ -924,19 +924,19 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
924
924
  }),
925
925
  focusable: focusable
926
926
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
927
- className: styles$6.icon,
927
+ className: styles$7.icon,
928
928
  icon: faTimes
929
929
  })))), /*#__PURE__*/React.createElement("div", {
930
- className: styles$6.content,
930
+ className: styles$7.content,
931
931
  ref: containerRef
932
932
  }, /*#__PURE__*/React.createElement(Scroll, {
933
- className: styles$6.scroll,
933
+ className: styles$7.scroll,
934
934
  onScrolledBottom: onScrolledBottom,
935
935
  onScrolledNotBottom: onScrolledNotBottom
936
936
  }, /*#__PURE__*/React.createElement("nav", {
937
- className: styles$6.nav
937
+ className: styles$7.nav
938
938
  }, /*#__PURE__*/React.createElement("ul", {
939
- className: styles$6.items
939
+ className: styles$7.items
940
940
  }, finalItems.map(function (item, index) {
941
941
  var screenId = item.screenId,
942
942
  _item$current = item.current,
@@ -963,22 +963,22 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
963
963
  }]
964
964
  })) : '');
965
965
  return /*#__PURE__*/React.createElement("li", {
966
- className: classNames([styles$6.item, _defineProperty({}, styles$6.active, current)]),
966
+ className: classNames([styles$7.item, _defineProperty({}, styles$7.active, current)]),
967
967
  key: "item-".concat(screenId),
968
968
  style: {
969
969
  width: "".concat(100 / thumbsPerLine, "%")
970
970
  }
971
971
  }, /*#__PURE__*/React.createElement("div", {
972
- className: styles$6.itemContent
972
+ className: styles$7.itemContent
973
973
  }, /*#__PURE__*/React.createElement("div", {
974
- className: styles$6.screenContainer,
974
+ className: styles$7.screenContainer,
975
975
  ref: index === 0 ? firstScreenContainerRef : null
976
976
  }, count > 1 ? /*#__PURE__*/React.createElement("div", {
977
- className: styles$6.subScreenBadge
977
+ className: styles$7.subScreenBadge
978
978
  }, /*#__PURE__*/React.createElement("span", {
979
- className: styles$6.subScreenCount
979
+ className: styles$7.subScreenCount
980
980
  }, count), /*#__PURE__*/React.createElement(StackIcon, {
981
- className: styles$6.subScreenIcon
981
+ className: styles$7.subScreenIcon
982
982
  })) : null, screenWidth > 0 && screenHeight > 0 ? /*#__PURE__*/React.createElement(ScreenPreview, {
983
983
  screenWidth: screenWidth,
984
984
  screenHeight: screenHeight,
@@ -988,11 +988,11 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
988
988
  active: focusable,
989
989
  withSize: true
990
990
  }) : null, current ? /*#__PURE__*/React.createElement("div", {
991
- className: styles$6.activeScreenBorder,
991
+ className: styles$7.activeScreenBorder,
992
992
  style: borderPrimaryColorStyle
993
993
  }) : null)), /*#__PURE__*/React.createElement("button", {
994
994
  type: "button",
995
- className: styles$6.screenButton,
995
+ className: styles$7.screenButton,
996
996
  onClick: function onClick() {
997
997
  if (onClickItem !== null) {
998
998
  onClickItem(item);
@@ -1009,12 +1009,12 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
1009
1009
  }))))));
1010
1010
  };
1011
1011
 
1012
- ViewerMenuPreview.propTypes = propTypes$a;
1013
- ViewerMenuPreview.defaultProps = defaultProps$a;
1012
+ ViewerMenuPreview.propTypes = propTypes$b;
1013
+ ViewerMenuPreview.defaultProps = defaultProps$b;
1014
1014
 
1015
- var styles$5 = {"container":"micromag-viewer-container","navButton":"micromag-viewer-navButton","menuPreview":"micromag-viewer-menuPreview","menuPreviewContainer":"micromag-viewer-menuPreviewContainer","screen":"micromag-viewer-screen","screenInner":"micromag-viewer-screenInner","content":"micromag-viewer-content","previous":"micromag-viewer-previous","next":"micromag-viewer-next","menuDotsContainer":"micromag-viewer-menuDotsContainer","menuDots":"micromag-viewer-menuDots","current":"micromag-viewer-current","handTap":"micromag-viewer-handTap","landscape":"micromag-viewer-landscape","visible":"micromag-viewer-visible","withSiblings":"micromag-viewer-withSiblings","playbackControlsContainer":"micromag-viewer-playbackControlsContainer","playbackControls":"micromag-viewer-playbackControls","isCollapsed":"micromag-viewer-isCollapsed","webView":"micromag-viewer-webView","hideMenu":"micromag-viewer-hideMenu","ready":"micromag-viewer-ready","hasInteracted":"micromag-viewer-hasInteracted"};
1015
+ var styles$6 = {"container":"micromag-viewer-container","menuPreview":"micromag-viewer-menuPreview","menuPreviewContainer":"micromag-viewer-menuPreviewContainer","screenContainer":"micromag-viewer-screenContainer","screen":"micromag-viewer-screen","content":"micromag-viewer-content","menuDotsContainer":"micromag-viewer-menuDotsContainer","menuDots":"micromag-viewer-menuDots","navButton":"micromag-viewer-navButton","previous":"micromag-viewer-previous","next":"micromag-viewer-next","current":"micromag-viewer-current","landscape":"micromag-viewer-landscape","visible":"micromag-viewer-visible","withSiblings":"micromag-viewer-withSiblings","playbackControlsContainer":"micromag-viewer-playbackControlsContainer","playbackControls":"micromag-viewer-playbackControls","webView":"micromag-viewer-webView","hideMenu":"micromag-viewer-hideMenu","ready":"micromag-viewer-ready"};
1016
1016
 
1017
- var propTypes$9 = {
1017
+ var propTypes$a = {
1018
1018
  story: PropTypes$1.story.isRequired,
1019
1019
  currentScreenIndex: PropTypes.number,
1020
1020
  opened: PropTypes.bool,
@@ -1040,7 +1040,7 @@ var propTypes$9 = {
1040
1040
 
1041
1041
  })
1042
1042
  };
1043
- var defaultProps$9 = {
1043
+ var defaultProps$a = {
1044
1044
  currentScreenIndex: 0,
1045
1045
  opened: false,
1046
1046
  toggleFullscreen: null,
@@ -1255,7 +1255,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
1255
1255
  menuTheme = _ref6$menuTheme === void 0 ? null : _ref6$menuTheme;
1256
1256
 
1257
1257
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", Object.assign({
1258
- className: styles$5.menuDotsContainer,
1258
+ className: styles$6.menuDotsContainer,
1259
1259
  ref: refDots,
1260
1260
  style: {
1261
1261
  width: menuWidth
@@ -1270,16 +1270,16 @@ var ViewerMenu = function ViewerMenu(_ref) {
1270
1270
  withItemClick: withDotItemClick,
1271
1271
  withoutScreensMenu: withoutScreensMenu,
1272
1272
  onClose: onClickCloseViewer,
1273
- className: styles$5.menuDots
1273
+ className: styles$6.menuDots
1274
1274
  }))), /*#__PURE__*/React.createElement(animated.div, {
1275
- className: styles$5.menuPreviewContainer,
1275
+ className: styles$6.menuPreviewContainer,
1276
1276
  style: menuPreviewStyle,
1277
1277
  ref: menuPreviewContainerRef
1278
1278
  }, /*#__PURE__*/React.createElement(ViewerMenuPreview, {
1279
1279
  viewerTheme: viewerTheme,
1280
1280
  title: title,
1281
1281
  shareUrl: shareUrl,
1282
- className: styles$5.menuPreview,
1282
+ className: styles$6.menuPreview,
1283
1283
  screenSize: screenSize,
1284
1284
  menuWidth: menuWidth,
1285
1285
  focusable: opened,
@@ -1293,40 +1293,111 @@ var ViewerMenu = function ViewerMenu(_ref) {
1293
1293
  })));
1294
1294
  };
1295
1295
 
1296
- ViewerMenu.propTypes = propTypes$9;
1297
- ViewerMenu.defaultProps = defaultProps$9;
1296
+ ViewerMenu.propTypes = propTypes$a;
1297
+ ViewerMenu.defaultProps = defaultProps$a;
1298
+
1299
+ var styles$5 = {"container":"micromag-viewer-partials-hand-tap-container","circle":"micromag-viewer-partials-hand-tap-circle","pulse":"micromag-viewer-partials-hand-tap-pulse","hand":"micromag-viewer-partials-hand-tap-hand","panY":"micromag-viewer-partials-hand-tap-panY","inner":"micromag-viewer-partials-hand-tap-inner","shadowFade":"micromag-viewer-partials-hand-tap-shadowFade"};
1300
+
1301
+ var propTypes$9 = {
1302
+ color: PropTypes.string,
1303
+ className: PropTypes.string
1304
+ };
1305
+ var defaultProps$9 = {
1306
+ color: 'currentColor',
1307
+ className: null
1308
+ };
1309
+
1310
+ var HandIcon = function HandIcon(_ref) {
1311
+ var color = _ref.color,
1312
+ className = _ref.className;
1313
+ return /*#__PURE__*/React.createElement("svg", {
1314
+ className: className,
1315
+ xmlns: "http://www.w3.org/2000/svg",
1316
+ viewBox: "0 0 367.24 482.87"
1317
+ }, /*#__PURE__*/React.createElement("path", {
1318
+ d: "M488.84,255.91a44.68,44.68,0,0,0-19.15,4.3A44.77,44.77,0,0,0,406,226.49a44.75,44.75,0,0,0-62.67-32.66V105.4a44.81,44.81,0,1,0-89.61,0V265.17l-1.15-2.7a44.78,44.78,0,1,0-82.84,34.06l64.87,157.76.34.73a156.29,156.29,0,0,0,141.42,88.44c86.7,0,157.24-70.53,157.24-157.26V300.7a44.82,44.82,0,0,0-44.78-44.79ZM507.46,386.2c0,72.3-58.78,131.1-131.07,131.1a130.29,130.29,0,0,1-117.73-73.36L193.93,286.61a18.64,18.64,0,1,1,34.53-14.07L279.91,394V105.4a18.64,18.64,0,1,1,37.28,0v196a13.08,13.08,0,0,0,26.16,0V234.56a18.64,18.64,0,0,1,37.27,0v89.95a13.07,13.07,0,1,0,26.13,0V266.86a18.64,18.64,0,1,1,37.28,0v80.71h0s0,.08,0,.11a13.08,13.08,0,0,0,26.15,0v-47a18.63,18.63,0,1,1,37.26,0v85.5Z",
1319
+ transform: "translate(-166.38 -60.59)",
1320
+ fill: color,
1321
+ fillRule: "evenodd"
1322
+ }));
1323
+ };
1298
1324
 
1299
- var styles$4 = {"container":"micromag-viewer-screen-container","current":"micromag-viewer-screen-current"};
1325
+ HandIcon.propTypes = propTypes$9;
1326
+ HandIcon.defaultProps = defaultProps$9;
1300
1327
 
1301
1328
  var propTypes$8 = {
1329
+ className: PropTypes.string
1330
+ };
1331
+ var defaultProps$8 = {
1332
+ className: null
1333
+ };
1334
+
1335
+ var HandTap = function HandTap(_ref) {
1336
+ var className = _ref.className;
1337
+ return /*#__PURE__*/React.createElement("div", {
1338
+ className: classNames([styles$5.container, _defineProperty({}, className, className !== null)])
1339
+ }, /*#__PURE__*/React.createElement("div", {
1340
+ className: styles$5.inner
1341
+ }, /*#__PURE__*/React.createElement("div", {
1342
+ className: styles$5.circle
1343
+ }), /*#__PURE__*/React.createElement(HandIcon, {
1344
+ className: styles$5.hand
1345
+ })));
1346
+ };
1347
+
1348
+ HandTap.propTypes = propTypes$8;
1349
+ HandTap.defaultProps = defaultProps$8;
1350
+
1351
+ var styles$4 = {"container":"micromag-viewer-screen-container","handTap":"micromag-viewer-screen-handTap"};
1352
+
1353
+ var propTypes$7 = {
1302
1354
  screen: PropTypes$1.screenComponent,
1303
1355
  renderContext: PropTypes$1.renderContext,
1304
1356
  screenState: PropTypes.string,
1305
1357
  current: PropTypes.bool,
1306
1358
  active: PropTypes.bool,
1307
- mediaRef: PropTypes.func
1359
+ mediaRef: PropTypes.func,
1360
+ width: PropTypes.number,
1361
+ height: PropTypes.number,
1362
+ scale: PropTypes.number,
1363
+ withNavigationHint: PropTypes.func,
1364
+ className: PropTypes.string
1308
1365
  };
1309
- var defaultProps$8 = {
1366
+ var defaultProps$7 = {
1310
1367
  screen: null,
1311
1368
  renderContext: null,
1312
1369
  screenState: null,
1313
1370
  current: false,
1314
1371
  active: true,
1315
- mediaRef: null
1372
+ mediaRef: null,
1373
+ width: null,
1374
+ height: null,
1375
+ scale: null,
1376
+ withNavigationHint: false,
1377
+ className: null
1316
1378
  };
1317
1379
 
1318
- var ViewerScreen = function ViewerScreen(_ref) {
1319
- var _ref2;
1320
-
1380
+ function ViewerScreen(_ref) {
1321
1381
  var screen = _ref.screen,
1322
1382
  renderContext = _ref.renderContext,
1323
1383
  screenState = _ref.screenState,
1324
1384
  active = _ref.active,
1325
1385
  current = _ref.current,
1326
- mediaRef = _ref.mediaRef;
1327
- return screen !== null ? /*#__PURE__*/React.createElement("div", {
1328
- className: classNames([styles$4.container, (_ref2 = {}, _defineProperty(_ref2, styles$4.active, active), _defineProperty(_ref2, styles$4.current, current), _ref2)]),
1329
- "aria-hidden": current ? null : 'true'
1386
+ mediaRef = _ref.mediaRef,
1387
+ width = _ref.width,
1388
+ height = _ref.height,
1389
+ scale = _ref.scale,
1390
+ withNavigationHint = _ref.withNavigationHint,
1391
+ className = _ref.className;
1392
+ return /*#__PURE__*/React.createElement("div", {
1393
+ className: classNames([styles$4.container, _defineProperty({}, className, className !== null)])
1394
+ }, /*#__PURE__*/React.createElement("div", {
1395
+ style: {
1396
+ width: width,
1397
+ height: height,
1398
+ transform: scale !== null ? "scale(".concat(scale, ")") : null,
1399
+ transformOrigin: scale !== null ? '0 0' : null
1400
+ }
1330
1401
  }, /*#__PURE__*/React.createElement(Screen, {
1331
1402
  screen: screen,
1332
1403
  renderContext: renderContext,
@@ -1334,63 +1405,57 @@ var ViewerScreen = function ViewerScreen(_ref) {
1334
1405
  active: active,
1335
1406
  current: current,
1336
1407
  mediaRef: mediaRef
1337
- })) : null;
1338
- };
1339
-
1340
- ViewerScreen.propTypes = propTypes$8;
1341
- ViewerScreen.defaultProps = defaultProps$8;
1342
-
1343
- var styles$3 = {"container":"micromag-viewer-partials-hand-tap-container","circle":"micromag-viewer-partials-hand-tap-circle","pulse":"micromag-viewer-partials-hand-tap-pulse","hand":"micromag-viewer-partials-hand-tap-hand","panY":"micromag-viewer-partials-hand-tap-panY","inner":"micromag-viewer-partials-hand-tap-inner","shadowFade":"micromag-viewer-partials-hand-tap-shadowFade"};
1344
-
1345
- var propTypes$7 = {
1346
- color: PropTypes.string,
1347
- className: PropTypes.string
1348
- };
1349
- var defaultProps$7 = {
1350
- color: 'currentColor',
1351
- className: null
1352
- };
1408
+ })), withNavigationHint ? /*#__PURE__*/React.createElement(HandTap, {
1409
+ className: styles$4.handTap
1410
+ }) : null);
1411
+ }
1353
1412
 
1354
- var HandIcon = function HandIcon(_ref) {
1355
- var color = _ref.color,
1356
- className = _ref.className;
1357
- return /*#__PURE__*/React.createElement("svg", {
1358
- className: className,
1359
- xmlns: "http://www.w3.org/2000/svg",
1360
- viewBox: "0 0 367.24 482.87"
1361
- }, /*#__PURE__*/React.createElement("path", {
1362
- d: "M488.84,255.91a44.68,44.68,0,0,0-19.15,4.3A44.77,44.77,0,0,0,406,226.49a44.75,44.75,0,0,0-62.67-32.66V105.4a44.81,44.81,0,1,0-89.61,0V265.17l-1.15-2.7a44.78,44.78,0,1,0-82.84,34.06l64.87,157.76.34.73a156.29,156.29,0,0,0,141.42,88.44c86.7,0,157.24-70.53,157.24-157.26V300.7a44.82,44.82,0,0,0-44.78-44.79ZM507.46,386.2c0,72.3-58.78,131.1-131.07,131.1a130.29,130.29,0,0,1-117.73-73.36L193.93,286.61a18.64,18.64,0,1,1,34.53-14.07L279.91,394V105.4a18.64,18.64,0,1,1,37.28,0v196a13.08,13.08,0,0,0,26.16,0V234.56a18.64,18.64,0,0,1,37.27,0v89.95a13.07,13.07,0,1,0,26.13,0V266.86a18.64,18.64,0,1,1,37.28,0v80.71h0s0,.08,0,.11a13.08,13.08,0,0,0,26.15,0v-47a18.63,18.63,0,1,1,37.26,0v85.5Z",
1363
- transform: "translate(-166.38 -60.59)",
1364
- fill: color,
1365
- fillRule: "evenodd"
1366
- }));
1367
- };
1413
+ ViewerScreen.propTypes = propTypes$7;
1414
+ ViewerScreen.defaultProps = defaultProps$7;
1368
1415
 
1369
- HandIcon.propTypes = propTypes$7;
1370
- HandIcon.defaultProps = defaultProps$7;
1416
+ var styles$3 = {"container":"micromag-viewer-partials-navigation-button-container"};
1371
1417
 
1372
1418
  var propTypes$6 = {
1419
+ direction: PropTypes.oneOf(['previous', 'next']),
1420
+ onClick: null,
1373
1421
  className: PropTypes.string
1374
1422
  };
1375
1423
  var defaultProps$6 = {
1424
+ direction: 'next',
1425
+ onClick: null,
1376
1426
  className: null
1377
1427
  };
1378
1428
 
1379
- var HandTap = function HandTap(_ref) {
1380
- var className = _ref.className;
1381
- return /*#__PURE__*/React.createElement("div", {
1382
- className: classNames([styles$3.container, _defineProperty({}, className, className !== null)])
1383
- }, /*#__PURE__*/React.createElement("div", {
1384
- className: styles$3.inner
1385
- }, /*#__PURE__*/React.createElement("div", {
1386
- className: styles$3.circle
1387
- }), /*#__PURE__*/React.createElement(HandIcon, {
1388
- className: styles$3.hand
1429
+ var NavigationButton = function NavigationButton(_ref) {
1430
+ var direction = _ref.direction,
1431
+ onClick = _ref.onClick,
1432
+ className = _ref.className;
1433
+ return /*#__PURE__*/React.createElement("button", {
1434
+ type: "button",
1435
+ className: classNames([styles$3.container, _defineProperty({}, className, className !== null)]),
1436
+ onClick: onClick
1437
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
1438
+ className: styles$3.arrow,
1439
+ icon: direction === 'previous' ? faArrowLeft : faArrowRight
1440
+ }), /*#__PURE__*/React.createElement("span", {
1441
+ className: "sr-only"
1442
+ }, direction === 'previous' ? /*#__PURE__*/React.createElement(FormattedMessage, {
1443
+ id: "zYH/31",
1444
+ defaultMessage: [{
1445
+ "type": 0,
1446
+ "value": "Go to previous screen"
1447
+ }]
1448
+ }) : /*#__PURE__*/React.createElement(FormattedMessage, {
1449
+ id: "v9bqYj",
1450
+ defaultMessage: [{
1451
+ "type": 0,
1452
+ "value": "Go to next screen"
1453
+ }]
1389
1454
  })));
1390
1455
  };
1391
1456
 
1392
- HandTap.propTypes = propTypes$6;
1393
- HandTap.defaultProps = defaultProps$6;
1457
+ NavigationButton.propTypes = propTypes$6;
1458
+ NavigationButton.defaultProps = defaultProps$6;
1394
1459
 
1395
1460
  var styles$2 = {"track":"micromag-viewer-partials-seek-bar-track","progress":"micromag-viewer-partials-seek-bar-progress","inner":"micromag-viewer-partials-seek-bar-inner","progressBar":"micromag-viewer-partials-seek-bar-progressBar","playHead":"micromag-viewer-partials-seek-bar-playHead","withSeekHead":"micromag-viewer-partials-seek-bar-withSeekHead","time":"micromag-viewer-partials-seek-bar-time"};
1396
1461
 
@@ -1526,16 +1591,19 @@ SeekBar.defaultProps = defaultProps$5;
1526
1591
  var styles$1 = {"muteButton":"micromag-viewer-partials-playback-controls-muteButton","playPauseButton":"micromag-viewer-partials-playback-controls-playPauseButton","container":"micromag-viewer-partials-playback-controls-container","icon":"micromag-viewer-partials-playback-controls-icon","withPlayPause":"micromag-viewer-partials-playback-controls-withPlayPause","isCollapsed":"micromag-viewer-partials-playback-controls-isCollapsed","isMuted":"micromag-viewer-partials-playback-controls-isMuted","withMute":"micromag-viewer-partials-playback-controls-withMute","seekBar":"micromag-viewer-partials-playback-controls-seekBar","withSeekBarOnly":"micromag-viewer-partials-playback-controls-withSeekBarOnly","withSeekBar":"micromag-viewer-partials-playback-controls-withSeekBar"};
1527
1592
 
1528
1593
  var propTypes$4 = {
1529
- className: PropTypes.string
1594
+ className: PropTypes.string,
1595
+ collapsedClassName: PropTypes.string
1530
1596
  };
1531
1597
  var defaultProps$4 = {
1532
- className: null
1598
+ className: null,
1599
+ collapsedClassName: null
1533
1600
  };
1534
1601
 
1535
1602
  function PlaybackControls(_ref) {
1536
1603
  var _ref4;
1537
1604
 
1538
- var className = _ref.className;
1605
+ var className = _ref.className,
1606
+ collapsedClassName = _ref.collapsedClassName;
1539
1607
  var intl = useIntl();
1540
1608
 
1541
1609
  var _usePlaybackContext = usePlaybackContext(),
@@ -1634,7 +1702,7 @@ function PlaybackControls(_ref) {
1634
1702
 
1635
1703
  var isCollapsed = controls && !controlsVisible && playing || !controls && mediaHasAudio;
1636
1704
  return /*#__PURE__*/React.createElement("div", {
1637
- className: classNames([styles$1.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$1.withPlayPause, controls && !seekBarOnly), _defineProperty(_ref4, styles$1.withMute, mediaHasAudio || controls), _defineProperty(_ref4, styles$1.withSeekBar, controls), _defineProperty(_ref4, styles$1.withSeekBarOnly, seekBarOnly), _defineProperty(_ref4, styles$1.isCollapsed, isCollapsed), _ref4)])
1705
+ className: classNames([styles$1.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$1.withPlayPause, controls && !seekBarOnly), _defineProperty(_ref4, styles$1.withMute, mediaHasAudio || controls), _defineProperty(_ref4, styles$1.withSeekBar, controls), _defineProperty(_ref4, styles$1.withSeekBarOnly, seekBarOnly), _defineProperty(_ref4, styles$1.isCollapsed, isCollapsed), _defineProperty(_ref4, collapsedClassName, collapsedClassName !== null && isCollapsed), _ref4)])
1638
1706
  }, /*#__PURE__*/React.createElement("button", {
1639
1707
  type: "button",
1640
1708
  className: styles$1.playPauseButton,
@@ -1733,32 +1801,46 @@ function WebViewContainer(_ref) {
1733
1801
  disableInteraction = _useViewerInteraction.disableInteraction,
1734
1802
  enableInteraction = _useViewerInteraction.enableInteraction;
1735
1803
 
1804
+ var _usePlaybackContext = usePlaybackContext(),
1805
+ playing = _usePlaybackContext.playing,
1806
+ setPlaying = _usePlaybackContext.setPlaying;
1807
+
1808
+ var wasPlayingRef = useRef(playing);
1809
+
1736
1810
  var _useState = useState(url),
1737
1811
  _useState2 = _slicedToArray(_useState, 2),
1738
1812
  currentUrl = _useState2[0],
1739
- setCurrentUrl = _useState2[1];
1813
+ setCurrentUrl = _useState2[1]; // Handle current webview url
1814
+
1740
1815
 
1741
1816
  useEffect(function () {
1742
1817
  if (url !== null) {
1743
1818
  setCurrentUrl(url);
1744
1819
  }
1745
1820
  }, [url, setCurrentUrl]);
1821
+ var onTransitionEnd = useCallback(function () {
1822
+ if (url === null) {
1823
+ setCurrentUrl(null);
1824
+ }
1825
+ }, [url]); // Disable interaction and pause playback
1826
+
1746
1827
  useEffect(function () {
1747
1828
  if (opened) {
1748
1829
  disableInteraction();
1830
+ wasPlayingRef.current = playing;
1831
+
1832
+ if (playing) {
1833
+ setPlaying(false);
1834
+ }
1749
1835
  } else {
1750
1836
  enableInteraction();
1751
- }
1752
1837
 
1753
- return function () {
1754
- enableInteraction();
1755
- };
1756
- }, [opened]);
1757
- var onTransitionEnd = useCallback(function () {
1758
- if (url === null) {
1759
- setCurrentUrl(null);
1838
+ if (wasPlayingRef.current && !playing) {
1839
+ wasPlayingRef.current = false;
1840
+ setPlaying(true);
1841
+ }
1760
1842
  }
1761
- }, [url]);
1843
+ }, [opened]);
1762
1844
  return /*#__PURE__*/React.createElement("div", {
1763
1845
  className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, styles.opened, opened), _defineProperty(_ref2, className, className !== null), _ref2)]),
1764
1846
  style: style,
@@ -1852,7 +1934,7 @@ var defaultProps$2 = {
1852
1934
  };
1853
1935
 
1854
1936
  var Viewer = function Viewer(_ref) {
1855
- var _ref14;
1937
+ var _ref15;
1856
1938
 
1857
1939
  var story = _ref.story,
1858
1940
  basePath = _ref.basePath,
@@ -1996,7 +2078,7 @@ var Viewer = function Viewer(_ref) {
1996
2078
  }
1997
2079
 
1998
2080
  if (currentScreenMedia !== null) {
1999
- currentScreenMedia.current = screensMediasRef.current[index];
2081
+ currentScreenMedia.current = screensMediasRef.current[index] || null;
2000
2082
  }
2001
2083
 
2002
2084
  if (onScreenChange !== null) {
@@ -2012,12 +2094,11 @@ var Viewer = function Viewer(_ref) {
2012
2094
  }
2013
2095
  }, [currentScreen, trackScreenView, trackingEnabled]); // Handle interaction enable
2014
2096
 
2015
- var currentScreenRef = useRef(null);
2016
2097
  var gotoPreviousScreen = useCallback(function () {
2017
- changeIndex(Math.max(0, screenIndex - 1)); // currentScreenRef.current.focus();
2098
+ changeIndex(Math.max(0, screenIndex - 1));
2018
2099
  }, [changeIndex]);
2019
2100
  var gotoNextScreen = useCallback(function () {
2020
- changeIndex(Math.min(screens.length - 1, screenIndex + 1)); // currentScreenRef.current.focus();
2101
+ changeIndex(Math.min(screens.length - 1, screenIndex + 1));
2021
2102
  }, [changeIndex]);
2022
2103
  var screensCount = screens.length;
2023
2104
 
@@ -2131,8 +2212,10 @@ var Viewer = function Viewer(_ref) {
2131
2212
  var dragContentBind = useDrag(onDragContent, {
2132
2213
  filterTaps: true
2133
2214
  });
2134
- var onScreenKeyUp = useCallback(function (e, i) {
2135
- if (e.key === 'Enter' && withLandscapeSiblingsScreens && landscape && i !== screenIndex) {
2215
+ var onScreenKeyUp = useCallback(function (_ref9, i) {
2216
+ var key = _ref9.key;
2217
+
2218
+ if (key === 'Enter' && withLandscapeSiblingsScreens && landscape && i !== screenIndex) {
2136
2219
  changeIndex(i);
2137
2220
  }
2138
2221
  }, [withLandscapeSiblingsScreens, changeIndex, landscape, screenIndex]); // swipe menu open
@@ -2154,11 +2237,11 @@ var Viewer = function Viewer(_ref) {
2154
2237
  onInteractionPrivate();
2155
2238
  setMenuOpened(true);
2156
2239
  }, [changeIndex, onInteractionPrivate, setMenuOpened]);
2157
- var onClickMenuItem = useCallback(function (_ref9) {
2158
- var itemScreenId = _ref9.screenId;
2240
+ var onClickMenuItem = useCallback(function (_ref10) {
2241
+ var itemScreenId = _ref10.screenId;
2159
2242
  onInteractionPrivate();
2160
- var index = screens.findIndex(function (_ref10) {
2161
- var id = _ref10.id;
2243
+ var index = screens.findIndex(function (_ref11) {
2244
+ var id = _ref11.id;
2162
2245
  return id === itemScreenId;
2163
2246
  });
2164
2247
  changeIndex(index);
@@ -2211,24 +2294,24 @@ var Viewer = function Viewer(_ref) {
2211
2294
  disabled: renderContext !== 'view'
2212
2295
  });
2213
2296
 
2214
- var _ref11 = currentScreen || {},
2215
- screenParameters = _ref11.parameters;
2297
+ var _ref12 = currentScreen || {},
2298
+ screenParameters = _ref12.parameters;
2216
2299
 
2217
- var _ref12 = screenParameters || {},
2218
- screenMetadata = _ref12.metadata;
2300
+ var _ref13 = screenParameters || {},
2301
+ screenMetadata = _ref13.metadata;
2219
2302
 
2220
- var _ref13 = screenMetadata || {},
2221
- _ref13$title = _ref13.title,
2222
- screenTitle = _ref13$title === void 0 ? null : _ref13$title,
2223
- _ref13$description = _ref13.description,
2224
- screenDescription = _ref13$description === void 0 ? null : _ref13$description;
2303
+ var _ref14 = screenMetadata || {},
2304
+ _ref14$title = _ref14.title,
2305
+ screenTitle = _ref14$title === void 0 ? null : _ref14$title,
2306
+ _ref14$description = _ref14.description,
2307
+ screenDescription = _ref14$description === void 0 ? null : _ref14$description;
2225
2308
 
2226
2309
  var finalTitle = screenTitle !== null ? screenTitle : title;
2227
2310
  var finalMetadata = useMemo(function () {
2228
2311
  return screenDescription !== null ? _objectSpread(_objectSpread({}, metadata), {}, {
2229
2312
  description: screenDescription
2230
2313
  }) : metadata;
2231
- }, [metadata]); // Get element height
2314
+ }, [metadata, screenDescription]); // Get element height
2232
2315
 
2233
2316
  var _useDimensionObserver = useDimensionObserver(),
2234
2317
  menuDotsContainerRef = _useDimensionObserver.ref,
@@ -2277,9 +2360,9 @@ var Viewer = function Viewer(_ref) {
2277
2360
  }, overscrollStyle) : /*#__PURE__*/React.createElement(Helmet, null, overscrollStyle), /*#__PURE__*/React.createElement(FontFaces, {
2278
2361
  fonts: finalFonts
2279
2362
  }), /*#__PURE__*/React.createElement("div", {
2280
- className: classNames([styles$5.container, screenSize.screens.map(function (screenName) {
2363
+ className: classNames([styles$6.container, screenSize.screens.map(function (screenName) {
2281
2364
  return "story-screen-".concat(screenName);
2282
- }), (_ref14 = {}, _defineProperty(_ref14, styles$5.landscape, landscape), _defineProperty(_ref14, styles$5.withSiblings, withLandscapeSiblingsScreens), _defineProperty(_ref14, styles$5.hideMenu, !menuVisible), _defineProperty(_ref14, styles$5.ready, ready || withoutScreensTransforms), _defineProperty(_ref14, styles$5.hasInteracted, hasInteracted), _defineProperty(_ref14, className, className), _ref14)]),
2365
+ }), (_ref15 = {}, _defineProperty(_ref15, styles$6.landscape, landscape), _defineProperty(_ref15, styles$6.withSiblings, withLandscapeSiblingsScreens), _defineProperty(_ref15, styles$6.hideMenu, !menuVisible), _defineProperty(_ref15, styles$6.ready, ready || withoutScreensTransforms), _defineProperty(_ref15, styles$6.hasInteracted, hasInteracted), _defineProperty(_ref15, className, className), _ref15)]),
2283
2366
  ref: containerRef,
2284
2367
  onContextMenu: onContextMenu
2285
2368
  }, !withoutMenu ? /*#__PURE__*/React.createElement(ViewerMenu, {
@@ -2305,25 +2388,13 @@ var Viewer = function Viewer(_ref) {
2305
2388
  refDots: menuDotsContainerRef
2306
2389
  }) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React.createElement("div", Object.assign({
2307
2390
  ref: contentRef,
2308
- className: styles$5.content
2309
- }, dragContentBind()), mountedScreens.map(function (scr, mountedIndex) {
2310
- var _ref15;
2391
+ className: styles$6.content
2392
+ }, dragContentBind()), mountedScreens.map(function (mountedScreen, mountedIndex) {
2393
+ var _ref16;
2311
2394
 
2312
2395
  var i = mountedScreenStartIndex + mountedIndex;
2313
2396
  var current = i === parseInt(screenIndex, 10);
2314
2397
  var active = i >= screenIndex - neighborScreensActive && i <= screenIndex + neighborScreensActive;
2315
- var viewerScreen = /*#__PURE__*/React.createElement(ViewerScreen, {
2316
- screen: scr,
2317
- screenState: current ? screenState : null,
2318
- renderContext: renderContext,
2319
- index: i,
2320
- current: current,
2321
- active: active,
2322
- mediaRef: function mediaRef(ref) {
2323
- screensMediasRef.current[i] = ref;
2324
- }
2325
- });
2326
- var key = "screen-viewer-".concat(scr.id || '', "-").concat(i + 1);
2327
2398
  var screenTransform = null;
2328
2399
 
2329
2400
  if (landscape) {
@@ -2333,21 +2404,17 @@ var Viewer = function Viewer(_ref) {
2333
2404
  }
2334
2405
 
2335
2406
  return /*#__PURE__*/React.createElement(React.Fragment, {
2336
- key: key
2407
+ key: "screen-viewer-".concat(mountedScreen.id || '', "-").concat(i + 1)
2337
2408
  }, /*#__PURE__*/React.createElement("div", Object.assign({
2338
- ref: current ? currentScreenRef : null,
2339
2409
  style: {
2340
- // width: landscape ? screenWidth : null,
2341
- // height: landscape ? screenHeight : null,
2342
2410
  width: screenContainerWidth,
2343
2411
  height: screenContainerHeight,
2344
2412
  transform: !withoutScreensTransforms ? screenTransform : null
2345
2413
  },
2346
- className: classNames([styles$5.screen, (_ref15 = {}, _defineProperty(_ref15, styles$5.current, current), _defineProperty(_ref15, styles$5.visible, current || withLandscapeSiblingsScreens), _ref15)]),
2347
- tabIndex: active ? '0' : '-1'
2348
- /* eslint-disable-line */
2414
+ className: classNames([styles$6.screenContainer, (_ref16 = {}, _defineProperty(_ref16, styles$6.current, current), _defineProperty(_ref16, styles$6.visible, current || withLandscapeSiblingsScreens), _ref16)]) // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
2349
2415
  ,
2350
- "aria-hidden": current ? null : 'true',
2416
+ tabIndex: !active ? -1 : null,
2417
+ "aria-hidden": !current,
2351
2418
  "aria-label": intl.formatMessage({
2352
2419
  id: "LkVfwW",
2353
2420
  defaultMessage: [{
@@ -2363,67 +2430,42 @@ var Viewer = function Viewer(_ref) {
2363
2430
  onKeyUp: function onKeyUp(e) {
2364
2431
  return onScreenKeyUp(e, i);
2365
2432
  }
2366
- }, dragScreenBind(i)), /*#__PURE__*/React.createElement("div", {
2367
- className: styles$5.scaler,
2368
- style: {
2369
- width: screenWidth,
2370
- height: screenHeight,
2371
- transform: screenScale !== null ? "scale(".concat(screenScale, ")") : null,
2372
- transformOrigin: screenScale !== null ? '0 0' : null
2373
- }
2374
- }, current && screenIndex > 0 ? /*#__PURE__*/React.createElement("button", {
2375
- type: "button",
2376
- className: classNames([styles$5.navButton, styles$5.previous]),
2433
+ }, dragScreenBind(i)), current && screenIndex > 0 ? /*#__PURE__*/React.createElement(NavigationButton, {
2434
+ direction: "previous",
2435
+ className: classNames([styles$6.navButton, styles$6.previous]),
2377
2436
  onClick: gotoPreviousScreen
2378
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
2379
- className: styles$5.arrow,
2380
- icon: faArrowLeft
2381
- }), /*#__PURE__*/React.createElement("span", {
2382
- className: "sr-only"
2383
- }, /*#__PURE__*/React.createElement(FormattedMessage, {
2384
- id: "zYH/31",
2385
- defaultMessage: [{
2386
- "type": 0,
2387
- "value": "Go to previous screen"
2388
- }]
2389
- }))) : null, viewerScreen, current && screenIndex < screens.length - 1 ? /*#__PURE__*/React.createElement("button", {
2390
- type: "button",
2391
- className: classNames([styles$5.navButton, styles$5.next]),
2437
+ }) : null, mountedScreen !== null ? /*#__PURE__*/React.createElement(ViewerScreen, {
2438
+ className: styles$6.screen,
2439
+ screen: mountedScreen,
2440
+ screenState: current ? screenState : null,
2441
+ renderContext: renderContext,
2442
+ index: i,
2443
+ current: current,
2444
+ active: active,
2445
+ mediaRef: function mediaRef(ref) {
2446
+ screensMediasRef.current[i] = ref;
2447
+ },
2448
+ width: screenWidth,
2449
+ height: screenHeight,
2450
+ scale: screenScale,
2451
+ withNavigationHint: withNavigationHint && !withLandscapeSiblingsScreens && current && screenIndex === 0 && !hasInteracted
2452
+ }) : null, current && screenIndex < screens.length - 1 ? /*#__PURE__*/React.createElement(NavigationButton, {
2453
+ direction: "next",
2454
+ className: classNames([styles$6.navButton, styles$6.next]),
2392
2455
  onClick: gotoNextScreen
2393
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
2394
- className: styles$5.arrow,
2395
- icon: faArrowRight
2396
- }), /*#__PURE__*/React.createElement("span", {
2397
- className: "sr-only"
2398
- }, /*#__PURE__*/React.createElement(FormattedMessage, {
2399
- id: "v9bqYj",
2400
- defaultMessage: [{
2401
- "type": 0,
2402
- "value": "Go to next screen"
2403
- }]
2404
- })), /*#__PURE__*/React.createElement("span", {
2405
- className: "sr-only"
2406
- }, /*#__PURE__*/React.createElement(FormattedMessage, {
2407
- id: "v9bqYj",
2408
- defaultMessage: [{
2409
- "type": 0,
2410
- "value": "Go to next screen"
2411
- }]
2412
- }))) : null), withNavigationHint && !withLandscapeSiblingsScreens && current && screenIndex === 0 ? /*#__PURE__*/React.createElement(HandTap, {
2413
- className: styles$5.handTap
2414
2456
  }) : null));
2415
2457
  }), /*#__PURE__*/React.createElement("div", {
2416
- className: classNames([styles$5.playbackControls, _defineProperty({}, styles$5.isCollapsed, playbackControls && !playbackcontrolsVisible && playing)]),
2458
+ className: styles$6.playbackControls,
2417
2459
  ref: playbackControlsContainerRef
2418
2460
  }, /*#__PURE__*/React.createElement("div", {
2419
- className: styles$5.playbackControlsContainer,
2461
+ className: styles$6.playbackControlsContainer,
2420
2462
  style: {
2421
2463
  width: screenContainerWidth
2422
2464
  }
2423
2465
  }, /*#__PURE__*/React.createElement(PlaybackControls, {
2424
- className: styles$5.controls
2466
+ className: styles$6.controls
2425
2467
  })))) : null, /*#__PURE__*/React.createElement(WebViewContainer, {
2426
- className: styles$5.webView,
2468
+ className: styles$6.webView,
2427
2469
  style: {
2428
2470
  maxWidth: Math.max(screenContainerWidth, 600)
2429
2471
  }