@micromag/viewer 0.3.165 → 0.3.166

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -16,9 +16,6 @@ var screens = require('@micromag/screens');
16
16
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
17
17
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
18
18
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
19
- var faArrowLeft = require('@fortawesome/free-solid-svg-icons/faArrowLeft');
20
- var faArrowRight = require('@fortawesome/free-solid-svg-icons/faArrowRight');
21
- var reactFontawesome = require('@fortawesome/react-fontawesome');
22
19
  var react = require('@use-gesture/react');
23
20
  var classNames = require('classnames');
24
21
  var reactHelmet = require('react-helmet');
@@ -30,11 +27,14 @@ var utils = require('@micromag/core/utils');
30
27
  var core = require('@react-spring/core');
31
28
  var web = require('@react-spring/web');
32
29
  var faTimes = require('@fortawesome/free-solid-svg-icons/faTimes');
30
+ var reactFontawesome = require('@fortawesome/react-fontawesome');
33
31
  var faCompress = require('@fortawesome/free-solid-svg-icons/faCompress');
34
32
  var faExpand = require('@fortawesome/free-solid-svg-icons/faExpand');
35
33
  var faShare = require('@fortawesome/free-solid-svg-icons/faShare');
36
34
  var Scroll = require('@micromag/element-scroll');
37
35
  var ShareOptions = require('@micromag/element-share-options');
36
+ var faArrowLeft = require('@fortawesome/free-solid-svg-icons/faArrowLeft');
37
+ var faArrowRight = require('@fortawesome/free-solid-svg-icons/faArrowRight');
38
38
  var faPause = require('@fortawesome/free-solid-svg-icons/faPause');
39
39
  var faPlay = require('@fortawesome/free-solid-svg-icons/faPlay');
40
40
  var faVolumeUp = require('@fortawesome/free-solid-svg-icons/faVolumeUp');
@@ -233,11 +233,11 @@ function useScreenInteraction() {
233
233
  };
234
234
  }
235
235
 
236
- 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"};
236
+ 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"};
237
237
 
238
- 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"};
238
+ 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"};
239
239
 
240
- var propTypes$g = {
240
+ var propTypes$h = {
241
241
  current: PropTypes__default["default"].bool,
242
242
  active: PropTypes__default["default"].bool,
243
243
  colors: PropTypes__default["default"].shape({
@@ -250,7 +250,7 @@ var propTypes$g = {
250
250
  onClick: PropTypes__default["default"].func,
251
251
  className: PropTypes__default["default"].string
252
252
  };
253
- var defaultProps$g = {
253
+ var defaultProps$h = {
254
254
  current: false,
255
255
  active: false,
256
256
  colors: null,
@@ -313,44 +313,44 @@ var ViewerMenuDot = function ViewerMenuDot(_ref) {
313
313
  });
314
314
  }, [playing, duration, currentTime, setSpringProps]);
315
315
  var inner = current && count > 1 ? /*#__PURE__*/React__default["default"].createElement("span", {
316
- className: styles$a.dots
316
+ className: styles$b.dots
317
317
  }, _toConsumableArray__default["default"](Array(count).keys()).map(function (i) {
318
318
  return /*#__PURE__*/React__default["default"].createElement("span", {
319
- className: classNames__default["default"]([styles$a.dot, styles$a.subDot]),
319
+ className: classNames__default["default"]([styles$b.dot, styles$b.subDot]),
320
320
  style: {
321
321
  width: "".concat(parseFloat(1 / count * 100).toFixed(2), "%"),
322
322
  backgroundColor: active && i <= subIndex ? primary : secondary
323
323
  }
324
324
  });
325
325
  })) : /*#__PURE__*/React__default["default"].createElement("span", {
326
- className: styles$a.dot,
326
+ className: styles$b.dot,
327
327
  style: {
328
328
  backgroundColor: active ? primary : secondary
329
329
  }
330
330
  });
331
331
  return /*#__PURE__*/React__default["default"].createElement("li", {
332
- className: classNames__default["default"]([styles$a.container, (_ref3 = {}, _defineProperty__default["default"](_ref3, styles$a.active, current), _defineProperty__default["default"](_ref3, styles$a.vertical, vertical), _defineProperty__default["default"](_ref3, className, className !== null), _ref3)]),
332
+ className: classNames__default["default"]([styles$b.container, (_ref3 = {}, _defineProperty__default["default"](_ref3, styles$b.active, current), _defineProperty__default["default"](_ref3, styles$b.vertical, vertical), _defineProperty__default["default"](_ref3, className, className !== null), _ref3)]),
333
333
  "aria-hidden": "true"
334
334
  }, /*#__PURE__*/React__default["default"].createElement("button", {
335
335
  type: "button",
336
- className: styles$a.button,
336
+ className: styles$b.button,
337
337
  onClick: onClick,
338
338
  tabIndex: "-1"
339
339
  }, inner));
340
340
  };
341
341
 
342
- ViewerMenuDot.propTypes = propTypes$g;
343
- ViewerMenuDot.defaultProps = defaultProps$g;
342
+ ViewerMenuDot.propTypes = propTypes$h;
343
+ ViewerMenuDot.defaultProps = defaultProps$h;
344
344
 
345
- var styles$9 = {};
345
+ var styles$a = {};
346
346
 
347
- var propTypes$f = {
347
+ var propTypes$g = {
348
348
  size: PropTypes__default["default"].number,
349
349
  spacing: PropTypes__default["default"].number,
350
350
  color: PropTypes__default["default"].string,
351
351
  className: PropTypes__default["default"].string
352
352
  };
353
- var defaultProps$f = {
353
+ var defaultProps$g = {
354
354
  size: 100,
355
355
  spacing: 8,
356
356
  color: 'white',
@@ -364,7 +364,7 @@ var MenuIcon = function MenuIcon(_ref) {
364
364
  className = _ref.className;
365
365
  var squareSize = (size - 2 * spacing) / 3;
366
366
  return /*#__PURE__*/React__default["default"].createElement("svg", {
367
- className: classNames__default["default"]([styles$9.container, _defineProperty__default["default"]({}, className, className !== null)]),
367
+ className: classNames__default["default"]([styles$a.container, _defineProperty__default["default"]({}, className, className !== null)]),
368
368
  xmlns: "http://www.w3.org/2000/svg",
369
369
  viewBox: "0 0 ".concat(size, " ").concat(size),
370
370
  "aria-hidden": "true"
@@ -382,10 +382,10 @@ var MenuIcon = function MenuIcon(_ref) {
382
382
  }));
383
383
  };
384
384
 
385
- MenuIcon.propTypes = propTypes$f;
386
- MenuIcon.defaultProps = defaultProps$f;
385
+ MenuIcon.propTypes = propTypes$g;
386
+ MenuIcon.defaultProps = defaultProps$g;
387
387
 
388
- var propTypes$e = {
388
+ var propTypes$f = {
389
389
  direction: PropTypes__default["default"].oneOf(['horizontal', 'vertical']),
390
390
  withShadow: PropTypes__default["default"].bool,
391
391
  items: core$1.PropTypes.menuItems,
@@ -401,7 +401,7 @@ var propTypes$e = {
401
401
  onClose: PropTypes__default["default"].func,
402
402
  className: PropTypes__default["default"].string
403
403
  };
404
- var defaultProps$e = {
404
+ var defaultProps$f = {
405
405
  direction: 'horizontal',
406
406
  withShadow: false,
407
407
  items: [],
@@ -441,7 +441,7 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
441
441
  return current;
442
442
  });
443
443
  return /*#__PURE__*/React__default["default"].createElement("nav", {
444
- className: classNames__default["default"]([styles$b.container, (_ref4 = {}, _defineProperty__default["default"](_ref4, className, className !== null), _defineProperty__default["default"](_ref4, styles$b.vertical, direction === 'vertical'), _defineProperty__default["default"](_ref4, styles$b.withShadow, withShadow), _ref4)]),
444
+ className: classNames__default["default"]([styles$c.container, (_ref4 = {}, _defineProperty__default["default"](_ref4, className, className !== null), _defineProperty__default["default"](_ref4, styles$c.vertical, direction === 'vertical'), _defineProperty__default["default"](_ref4, styles$c.withShadow, withShadow), _ref4)]),
445
445
  "aria-label": intl.formatMessage({
446
446
  id: "bLYuuN",
447
447
  defaultMessage: [{
@@ -465,7 +465,7 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
465
465
  total: items.length
466
466
  })
467
467
  }, /*#__PURE__*/React__default["default"].createElement("ul", {
468
- className: styles$b.items
468
+ className: styles$c.items
469
469
  }, items.map(function (item, index) {
470
470
  var _ref5 = item || {},
471
471
  _ref5$current = _ref5.current,
@@ -492,9 +492,9 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
492
492
  vertical: direction === 'vertical'
493
493
  });
494
494
  }), !withoutScreensMenu ? /*#__PURE__*/React__default["default"].createElement("li", {
495
- className: styles$b.menu
495
+ className: styles$c.menu
496
496
  }, /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
497
- className: styles$b.menuIcon,
497
+ className: styles$c.menuIcon,
498
498
  color: primary
499
499
  }), /*#__PURE__*/React__default["default"].createElement("button", {
500
500
  type: "button",
@@ -512,16 +512,16 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
512
512
  "value": "Menu"
513
513
  }]
514
514
  }),
515
- className: styles$b.menuButton,
515
+ className: styles$c.menuButton,
516
516
  onClick: onClickMenu
517
517
  })) : null, closeable ? /*#__PURE__*/React__default["default"].createElement("li", {
518
- className: styles$b.closeButton,
518
+ className: styles$c.closeButton,
519
519
  style: {
520
520
  color: primary
521
521
  }
522
522
  }, /*#__PURE__*/React__default["default"].createElement("button", {
523
523
  type: "button",
524
- className: styles$b.closeButton,
524
+ className: styles$c.closeButton,
525
525
  onClick: onClose,
526
526
  title: intl.formatMessage({
527
527
  id: "dj/p/q",
@@ -542,13 +542,13 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
542
542
  }))) : null));
543
543
  };
544
544
 
545
- ViewerMenuDots.propTypes = propTypes$e;
546
- ViewerMenuDots.defaultProps = defaultProps$e;
545
+ ViewerMenuDots.propTypes = propTypes$f;
546
+ ViewerMenuDots.defaultProps = defaultProps$f;
547
547
 
548
- var propTypes$d = {
548
+ var propTypes$e = {
549
549
  className: PropTypes__default["default"].string
550
550
  };
551
- var defaultProps$d = {
551
+ var defaultProps$e = {
552
552
  className: null
553
553
  };
554
554
 
@@ -565,12 +565,12 @@ var StackIcon = function StackIcon(_ref) {
565
565
  }));
566
566
  };
567
567
 
568
- StackIcon.propTypes = propTypes$d;
569
- StackIcon.defaultProps = defaultProps$d;
568
+ StackIcon.propTypes = propTypes$e;
569
+ StackIcon.defaultProps = defaultProps$e;
570
570
 
571
- 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"};
571
+ 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"};
572
572
 
573
- var propTypes$c = {
573
+ var propTypes$d = {
574
574
  url: PropTypes__default["default"].string,
575
575
  title: PropTypes__default["default"].string,
576
576
  opened: PropTypes__default["default"].bool,
@@ -578,7 +578,7 @@ var propTypes$c = {
578
578
  onShare: PropTypes__default["default"].func,
579
579
  onCancel: PropTypes__default["default"].func
580
580
  };
581
- var defaultProps$c = {
581
+ var defaultProps$d = {
582
582
  url: null,
583
583
  title: null,
584
584
  opened: false,
@@ -609,15 +609,15 @@ var ShareModal = function ShareModal(_ref) {
609
609
  }, [opened, onCancel]);
610
610
  hooks.useDocumentEvent('click', onDocumentClick, opened);
611
611
  return /*#__PURE__*/React__default["default"].createElement("div", {
612
- className: classNames__default["default"]([styles$8.container, (_ref3 = {}, _defineProperty__default["default"](_ref3, className, className), _defineProperty__default["default"](_ref3, styles$8.opened, opened), _ref3)]),
612
+ className: classNames__default["default"]([styles$9.container, (_ref3 = {}, _defineProperty__default["default"](_ref3, className, className), _defineProperty__default["default"](_ref3, styles$9.opened, opened), _ref3)]),
613
613
  "aria-hidden": opened ? null : '-1'
614
614
  }, /*#__PURE__*/React__default["default"].createElement("div", {
615
- className: styles$8.modal,
615
+ className: styles$9.modal,
616
616
  ref: modalRef
617
617
  }, /*#__PURE__*/React__default["default"].createElement("div", {
618
- className: styles$8.header
618
+ className: styles$9.header
619
619
  }, /*#__PURE__*/React__default["default"].createElement("h2", {
620
- className: styles$8.heading
620
+ className: styles$9.heading
621
621
  }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
622
622
  id: "oL4ueH",
623
623
  defaultMessage: [{
@@ -625,16 +625,16 @@ var ShareModal = function ShareModal(_ref) {
625
625
  "value": "Share"
626
626
  }]
627
627
  })), /*#__PURE__*/React__default["default"].createElement(components.Button, {
628
- className: styles$8.close,
628
+ className: styles$9.close,
629
629
  onClick: onCancel,
630
630
  focusable: opened
631
631
  }, /*#__PURE__*/React__default["default"].createElement(components.Close, {
632
- className: styles$8.closeIcon,
632
+ className: styles$9.closeIcon,
633
633
  border: "none"
634
634
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
635
- className: styles$8.content
635
+ className: styles$9.content
636
636
  }, /*#__PURE__*/React__default["default"].createElement(ShareOptions__default["default"], {
637
- className: styles$8.shareOptions,
637
+ className: styles$9.shareOptions,
638
638
  title: title,
639
639
  url: url,
640
640
  focusable: opened,
@@ -643,12 +643,12 @@ var ShareModal = function ShareModal(_ref) {
643
643
  }))));
644
644
  };
645
645
 
646
- ShareModal.propTypes = propTypes$c;
647
- ShareModal.defaultProps = defaultProps$c;
646
+ ShareModal.propTypes = propTypes$d;
647
+ ShareModal.defaultProps = defaultProps$d;
648
648
 
649
- var styles$7 = {"container":"micromag-viewer-partials-share-button-container"};
649
+ var styles$8 = {"container":"micromag-viewer-partials-share-button-container"};
650
650
 
651
- var propTypes$b = {
651
+ var propTypes$c = {
652
652
  title: PropTypes__default["default"].string,
653
653
  url: PropTypes__default["default"].string,
654
654
  className: PropTypes__default["default"].string,
@@ -657,7 +657,7 @@ var propTypes$b = {
657
657
  children: PropTypes__default["default"].node,
658
658
  focusable: PropTypes__default["default"].bool
659
659
  };
660
- var defaultProps$b = {
660
+ var defaultProps$c = {
661
661
  title: null,
662
662
  url: null,
663
663
  className: null,
@@ -698,7 +698,7 @@ var ShareButton = function ShareButton(_ref) {
698
698
  setStoryShareModalOpened(false);
699
699
  }, [setStoryShareModalOpened]);
700
700
  return /*#__PURE__*/React__default["default"].createElement("div", {
701
- className: classNames__default["default"]([styles$7.container, _defineProperty__default["default"]({}, className, className !== null)])
701
+ className: classNames__default["default"]([styles$8.container, _defineProperty__default["default"]({}, className, className !== null)])
702
702
  }, /*#__PURE__*/React__default["default"].createElement(components.Button, {
703
703
  className: classNames__default["default"]([_defineProperty__default["default"]({}, buttonClassName, buttonClassName !== null)]),
704
704
  onClick: onShareIconClick,
@@ -718,7 +718,7 @@ var ShareButton = function ShareButton(_ref) {
718
718
  }),
719
719
  focusable: focusable
720
720
  }, children), /*#__PURE__*/React__default["default"].createElement(ShareModal, {
721
- className: styles$7.shareModal,
721
+ className: styles$8.shareModal,
722
722
  opened: storyShareModalOpened,
723
723
  title: title,
724
724
  url: url,
@@ -727,12 +727,12 @@ var ShareButton = function ShareButton(_ref) {
727
727
  }));
728
728
  };
729
729
 
730
- ShareButton.propTypes = propTypes$b;
731
- ShareButton.defaultProps = defaultProps$b;
730
+ ShareButton.propTypes = propTypes$c;
731
+ ShareButton.defaultProps = defaultProps$c;
732
732
 
733
- 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"};
733
+ 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"};
734
734
 
735
- var propTypes$a = {
735
+ var propTypes$b = {
736
736
  viewerTheme: core$1.PropTypes.viewerTheme,
737
737
  screenSize: core$1.PropTypes.screenSize,
738
738
  menuWidth: PropTypes__default["default"].number,
@@ -750,7 +750,7 @@ var propTypes$a = {
750
750
  fullscreenEnabled: PropTypes__default["default"].bool,
751
751
  className: PropTypes__default["default"].string
752
752
  };
753
- var defaultProps$a = {
753
+ var defaultProps$b = {
754
754
  viewerTheme: null,
755
755
  screenSize: null,
756
756
  menuWidth: null,
@@ -876,36 +876,36 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
876
876
  return !focusable ? items.slice(0, 3) : items;
877
877
  }, [items, focusable]);
878
878
  return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
879
- className: classNames__default["default"]([styles$6.container, _defineProperty__default["default"]({}, className, className !== null)]),
879
+ className: classNames__default["default"]([styles$7.container, _defineProperty__default["default"]({}, className, className !== null)]),
880
880
  style: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, backgroundColorStyle), brandImageStyle), {}, {
881
881
  width: menuWidth
882
882
  }),
883
883
  "aria-hidden": focusable ? null : 'true'
884
884
  }, dragBind()), /*#__PURE__*/React__default["default"].createElement("div", {
885
- className: styles$6.header
885
+ className: styles$7.header
886
886
  }, brandLogoUrl !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
887
- className: styles$6.organisation,
887
+ className: styles$7.organisation,
888
888
  style: {
889
889
  backgroundImage: "url(".concat(brandLogoUrl, ")")
890
890
  }
891
891
  }) : null, /*#__PURE__*/React__default["default"].createElement("div", {
892
- className: styles$6.title,
892
+ className: styles$7.title,
893
893
  style: titleStyle
894
894
  }, title), /*#__PURE__*/React__default["default"].createElement("div", {
895
- className: styles$6.buttons,
895
+ className: styles$7.buttons,
896
896
  style: colorSecondaryColorStyle
897
897
  }, /*#__PURE__*/React__default["default"].createElement(ShareButton, {
898
- className: styles$6.shareButton,
899
- buttonClassName: styles$6.button,
898
+ className: styles$7.shareButton,
899
+ buttonClassName: styles$7.button,
900
900
  onShare: onShare,
901
901
  url: shareUrl,
902
902
  title: title,
903
903
  focusable: focusable
904
904
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
905
- className: styles$6.icon,
905
+ className: styles$7.icon,
906
906
  icon: faShare.faShare
907
907
  })), fullscreenEnabled ? /*#__PURE__*/React__default["default"].createElement(components.Button, {
908
- className: styles$6.button,
908
+ className: styles$7.button,
909
909
  onClick: toggleFullscreen,
910
910
  title: intl.formatMessage({
911
911
  id: "AuxqcG",
@@ -923,10 +923,10 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
923
923
  }),
924
924
  focusable: focusable
925
925
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
926
- className: styles$6.icon,
926
+ className: styles$7.icon,
927
927
  icon: fullscreenActive ? faCompress.faCompress : faExpand.faExpand
928
928
  })) : null, /*#__PURE__*/React__default["default"].createElement(components.Button, {
929
- className: styles$6.button,
929
+ className: styles$7.button,
930
930
  onClick: onClose,
931
931
  title: intl.formatMessage({
932
932
  id: "dj/p/q",
@@ -944,19 +944,19 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
944
944
  }),
945
945
  focusable: focusable
946
946
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
947
- className: styles$6.icon,
947
+ className: styles$7.icon,
948
948
  icon: faTimes.faTimes
949
949
  })))), /*#__PURE__*/React__default["default"].createElement("div", {
950
- className: styles$6.content,
950
+ className: styles$7.content,
951
951
  ref: containerRef
952
952
  }, /*#__PURE__*/React__default["default"].createElement(Scroll__default["default"], {
953
- className: styles$6.scroll,
953
+ className: styles$7.scroll,
954
954
  onScrolledBottom: onScrolledBottom,
955
955
  onScrolledNotBottom: onScrolledNotBottom
956
956
  }, /*#__PURE__*/React__default["default"].createElement("nav", {
957
- className: styles$6.nav
957
+ className: styles$7.nav
958
958
  }, /*#__PURE__*/React__default["default"].createElement("ul", {
959
- className: styles$6.items
959
+ className: styles$7.items
960
960
  }, finalItems.map(function (item, index) {
961
961
  var screenId = item.screenId,
962
962
  _item$current = item.current,
@@ -983,22 +983,22 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
983
983
  }]
984
984
  })) : '');
985
985
  return /*#__PURE__*/React__default["default"].createElement("li", {
986
- className: classNames__default["default"]([styles$6.item, _defineProperty__default["default"]({}, styles$6.active, current)]),
986
+ className: classNames__default["default"]([styles$7.item, _defineProperty__default["default"]({}, styles$7.active, current)]),
987
987
  key: "item-".concat(screenId),
988
988
  style: {
989
989
  width: "".concat(100 / thumbsPerLine, "%")
990
990
  }
991
991
  }, /*#__PURE__*/React__default["default"].createElement("div", {
992
- className: styles$6.itemContent
992
+ className: styles$7.itemContent
993
993
  }, /*#__PURE__*/React__default["default"].createElement("div", {
994
- className: styles$6.screenContainer,
994
+ className: styles$7.screenContainer,
995
995
  ref: index === 0 ? firstScreenContainerRef : null
996
996
  }, count > 1 ? /*#__PURE__*/React__default["default"].createElement("div", {
997
- className: styles$6.subScreenBadge
997
+ className: styles$7.subScreenBadge
998
998
  }, /*#__PURE__*/React__default["default"].createElement("span", {
999
- className: styles$6.subScreenCount
999
+ className: styles$7.subScreenCount
1000
1000
  }, count), /*#__PURE__*/React__default["default"].createElement(StackIcon, {
1001
- className: styles$6.subScreenIcon
1001
+ className: styles$7.subScreenIcon
1002
1002
  })) : null, screenWidth > 0 && screenHeight > 0 ? /*#__PURE__*/React__default["default"].createElement(components.ScreenPreview, {
1003
1003
  screenWidth: screenWidth,
1004
1004
  screenHeight: screenHeight,
@@ -1008,11 +1008,11 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
1008
1008
  active: focusable,
1009
1009
  withSize: true
1010
1010
  }) : null, current ? /*#__PURE__*/React__default["default"].createElement("div", {
1011
- className: styles$6.activeScreenBorder,
1011
+ className: styles$7.activeScreenBorder,
1012
1012
  style: borderPrimaryColorStyle
1013
1013
  }) : null)), /*#__PURE__*/React__default["default"].createElement("button", {
1014
1014
  type: "button",
1015
- className: styles$6.screenButton,
1015
+ className: styles$7.screenButton,
1016
1016
  onClick: function onClick() {
1017
1017
  if (onClickItem !== null) {
1018
1018
  onClickItem(item);
@@ -1029,12 +1029,12 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
1029
1029
  }))))));
1030
1030
  };
1031
1031
 
1032
- ViewerMenuPreview.propTypes = propTypes$a;
1033
- ViewerMenuPreview.defaultProps = defaultProps$a;
1032
+ ViewerMenuPreview.propTypes = propTypes$b;
1033
+ ViewerMenuPreview.defaultProps = defaultProps$b;
1034
1034
 
1035
- 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","webView":"micromag-viewer-webView","hideMenu":"micromag-viewer-hideMenu","ready":"micromag-viewer-ready","hasInteracted":"micromag-viewer-hasInteracted"};
1035
+ 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"};
1036
1036
 
1037
- var propTypes$9 = {
1037
+ var propTypes$a = {
1038
1038
  story: core$1.PropTypes.story.isRequired,
1039
1039
  currentScreenIndex: PropTypes__default["default"].number,
1040
1040
  opened: PropTypes__default["default"].bool,
@@ -1060,7 +1060,7 @@ var propTypes$9 = {
1060
1060
 
1061
1061
  })
1062
1062
  };
1063
- var defaultProps$9 = {
1063
+ var defaultProps$a = {
1064
1064
  currentScreenIndex: 0,
1065
1065
  opened: false,
1066
1066
  toggleFullscreen: null,
@@ -1275,7 +1275,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
1275
1275
  menuTheme = _ref6$menuTheme === void 0 ? null : _ref6$menuTheme;
1276
1276
 
1277
1277
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
1278
- className: styles$5.menuDotsContainer,
1278
+ className: styles$6.menuDotsContainer,
1279
1279
  ref: refDots,
1280
1280
  style: {
1281
1281
  width: menuWidth
@@ -1290,16 +1290,16 @@ var ViewerMenu = function ViewerMenu(_ref) {
1290
1290
  withItemClick: withDotItemClick,
1291
1291
  withoutScreensMenu: withoutScreensMenu,
1292
1292
  onClose: onClickCloseViewer,
1293
- className: styles$5.menuDots
1293
+ className: styles$6.menuDots
1294
1294
  }))), /*#__PURE__*/React__default["default"].createElement(web.animated.div, {
1295
- className: styles$5.menuPreviewContainer,
1295
+ className: styles$6.menuPreviewContainer,
1296
1296
  style: menuPreviewStyle,
1297
1297
  ref: menuPreviewContainerRef
1298
1298
  }, /*#__PURE__*/React__default["default"].createElement(ViewerMenuPreview, {
1299
1299
  viewerTheme: viewerTheme,
1300
1300
  title: title,
1301
1301
  shareUrl: shareUrl,
1302
- className: styles$5.menuPreview,
1302
+ className: styles$6.menuPreview,
1303
1303
  screenSize: screenSize,
1304
1304
  menuWidth: menuWidth,
1305
1305
  focusable: opened,
@@ -1313,40 +1313,111 @@ var ViewerMenu = function ViewerMenu(_ref) {
1313
1313
  })));
1314
1314
  };
1315
1315
 
1316
- ViewerMenu.propTypes = propTypes$9;
1317
- ViewerMenu.defaultProps = defaultProps$9;
1316
+ ViewerMenu.propTypes = propTypes$a;
1317
+ ViewerMenu.defaultProps = defaultProps$a;
1318
1318
 
1319
- var styles$4 = {"container":"micromag-viewer-screen-container","current":"micromag-viewer-screen-current"};
1319
+ 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"};
1320
+
1321
+ var propTypes$9 = {
1322
+ color: PropTypes__default["default"].string,
1323
+ className: PropTypes__default["default"].string
1324
+ };
1325
+ var defaultProps$9 = {
1326
+ color: 'currentColor',
1327
+ className: null
1328
+ };
1329
+
1330
+ var HandIcon = function HandIcon(_ref) {
1331
+ var color = _ref.color,
1332
+ className = _ref.className;
1333
+ return /*#__PURE__*/React__default["default"].createElement("svg", {
1334
+ className: className,
1335
+ xmlns: "http://www.w3.org/2000/svg",
1336
+ viewBox: "0 0 367.24 482.87"
1337
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
1338
+ 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",
1339
+ transform: "translate(-166.38 -60.59)",
1340
+ fill: color,
1341
+ fillRule: "evenodd"
1342
+ }));
1343
+ };
1344
+
1345
+ HandIcon.propTypes = propTypes$9;
1346
+ HandIcon.defaultProps = defaultProps$9;
1320
1347
 
1321
1348
  var propTypes$8 = {
1349
+ className: PropTypes__default["default"].string
1350
+ };
1351
+ var defaultProps$8 = {
1352
+ className: null
1353
+ };
1354
+
1355
+ var HandTap = function HandTap(_ref) {
1356
+ var className = _ref.className;
1357
+ return /*#__PURE__*/React__default["default"].createElement("div", {
1358
+ className: classNames__default["default"]([styles$5.container, _defineProperty__default["default"]({}, className, className !== null)])
1359
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
1360
+ className: styles$5.inner
1361
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
1362
+ className: styles$5.circle
1363
+ }), /*#__PURE__*/React__default["default"].createElement(HandIcon, {
1364
+ className: styles$5.hand
1365
+ })));
1366
+ };
1367
+
1368
+ HandTap.propTypes = propTypes$8;
1369
+ HandTap.defaultProps = defaultProps$8;
1370
+
1371
+ var styles$4 = {"container":"micromag-viewer-screen-container","handTap":"micromag-viewer-screen-handTap"};
1372
+
1373
+ var propTypes$7 = {
1322
1374
  screen: core$1.PropTypes.screenComponent,
1323
1375
  renderContext: core$1.PropTypes.renderContext,
1324
1376
  screenState: PropTypes__default["default"].string,
1325
1377
  current: PropTypes__default["default"].bool,
1326
1378
  active: PropTypes__default["default"].bool,
1327
- mediaRef: PropTypes__default["default"].func
1379
+ mediaRef: PropTypes__default["default"].func,
1380
+ width: PropTypes__default["default"].number,
1381
+ height: PropTypes__default["default"].number,
1382
+ scale: PropTypes__default["default"].number,
1383
+ withNavigationHint: PropTypes__default["default"].func,
1384
+ className: PropTypes__default["default"].string
1328
1385
  };
1329
- var defaultProps$8 = {
1386
+ var defaultProps$7 = {
1330
1387
  screen: null,
1331
1388
  renderContext: null,
1332
1389
  screenState: null,
1333
1390
  current: false,
1334
1391
  active: true,
1335
- mediaRef: null
1392
+ mediaRef: null,
1393
+ width: null,
1394
+ height: null,
1395
+ scale: null,
1396
+ withNavigationHint: false,
1397
+ className: null
1336
1398
  };
1337
1399
 
1338
- var ViewerScreen = function ViewerScreen(_ref) {
1339
- var _ref2;
1340
-
1400
+ function ViewerScreen(_ref) {
1341
1401
  var screen = _ref.screen,
1342
1402
  renderContext = _ref.renderContext,
1343
1403
  screenState = _ref.screenState,
1344
1404
  active = _ref.active,
1345
1405
  current = _ref.current,
1346
- mediaRef = _ref.mediaRef;
1347
- return screen !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
1348
- className: classNames__default["default"]([styles$4.container, (_ref2 = {}, _defineProperty__default["default"](_ref2, styles$4.active, active), _defineProperty__default["default"](_ref2, styles$4.current, current), _ref2)]),
1349
- "aria-hidden": current ? null : 'true'
1406
+ mediaRef = _ref.mediaRef,
1407
+ width = _ref.width,
1408
+ height = _ref.height,
1409
+ scale = _ref.scale,
1410
+ withNavigationHint = _ref.withNavigationHint,
1411
+ className = _ref.className;
1412
+ return /*#__PURE__*/React__default["default"].createElement("div", {
1413
+ className: classNames__default["default"]([styles$4.container, _defineProperty__default["default"]({}, className, className !== null)])
1414
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
1415
+ style: {
1416
+ width: width,
1417
+ height: height,
1418
+ transform: scale !== null ? "scale(".concat(scale, ")") : null,
1419
+ transformOrigin: scale !== null ? '0 0' : null
1420
+ }
1350
1421
  }, /*#__PURE__*/React__default["default"].createElement(components.Screen, {
1351
1422
  screen: screen,
1352
1423
  renderContext: renderContext,
@@ -1354,63 +1425,57 @@ var ViewerScreen = function ViewerScreen(_ref) {
1354
1425
  active: active,
1355
1426
  current: current,
1356
1427
  mediaRef: mediaRef
1357
- })) : null;
1358
- };
1359
-
1360
- ViewerScreen.propTypes = propTypes$8;
1361
- ViewerScreen.defaultProps = defaultProps$8;
1428
+ })), withNavigationHint ? /*#__PURE__*/React__default["default"].createElement(HandTap, {
1429
+ className: styles$4.handTap
1430
+ }) : null);
1431
+ }
1362
1432
 
1363
- 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"};
1433
+ ViewerScreen.propTypes = propTypes$7;
1434
+ ViewerScreen.defaultProps = defaultProps$7;
1364
1435
 
1365
- var propTypes$7 = {
1366
- color: PropTypes__default["default"].string,
1367
- className: PropTypes__default["default"].string
1368
- };
1369
- var defaultProps$7 = {
1370
- color: 'currentColor',
1371
- className: null
1372
- };
1373
-
1374
- var HandIcon = function HandIcon(_ref) {
1375
- var color = _ref.color,
1376
- className = _ref.className;
1377
- return /*#__PURE__*/React__default["default"].createElement("svg", {
1378
- className: className,
1379
- xmlns: "http://www.w3.org/2000/svg",
1380
- viewBox: "0 0 367.24 482.87"
1381
- }, /*#__PURE__*/React__default["default"].createElement("path", {
1382
- 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",
1383
- transform: "translate(-166.38 -60.59)",
1384
- fill: color,
1385
- fillRule: "evenodd"
1386
- }));
1387
- };
1388
-
1389
- HandIcon.propTypes = propTypes$7;
1390
- HandIcon.defaultProps = defaultProps$7;
1436
+ var styles$3 = {"container":"micromag-viewer-partials-navigation-button-container"};
1391
1437
 
1392
1438
  var propTypes$6 = {
1439
+ direction: PropTypes__default["default"].oneOf(['previous', 'next']),
1440
+ onClick: null,
1393
1441
  className: PropTypes__default["default"].string
1394
1442
  };
1395
1443
  var defaultProps$6 = {
1444
+ direction: 'next',
1445
+ onClick: null,
1396
1446
  className: null
1397
1447
  };
1398
1448
 
1399
- var HandTap = function HandTap(_ref) {
1400
- var className = _ref.className;
1401
- return /*#__PURE__*/React__default["default"].createElement("div", {
1402
- className: classNames__default["default"]([styles$3.container, _defineProperty__default["default"]({}, className, className !== null)])
1403
- }, /*#__PURE__*/React__default["default"].createElement("div", {
1404
- className: styles$3.inner
1405
- }, /*#__PURE__*/React__default["default"].createElement("div", {
1406
- className: styles$3.circle
1407
- }), /*#__PURE__*/React__default["default"].createElement(HandIcon, {
1408
- className: styles$3.hand
1449
+ var NavigationButton = function NavigationButton(_ref) {
1450
+ var direction = _ref.direction,
1451
+ onClick = _ref.onClick,
1452
+ className = _ref.className;
1453
+ return /*#__PURE__*/React__default["default"].createElement("button", {
1454
+ type: "button",
1455
+ className: classNames__default["default"]([styles$3.container, _defineProperty__default["default"]({}, className, className !== null)]),
1456
+ onClick: onClick
1457
+ }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
1458
+ className: styles$3.arrow,
1459
+ icon: direction === 'previous' ? faArrowLeft.faArrowLeft : faArrowRight.faArrowRight
1460
+ }), /*#__PURE__*/React__default["default"].createElement("span", {
1461
+ className: "sr-only"
1462
+ }, direction === 'previous' ? /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1463
+ id: "zYH/31",
1464
+ defaultMessage: [{
1465
+ "type": 0,
1466
+ "value": "Go to previous screen"
1467
+ }]
1468
+ }) : /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
1469
+ id: "v9bqYj",
1470
+ defaultMessage: [{
1471
+ "type": 0,
1472
+ "value": "Go to next screen"
1473
+ }]
1409
1474
  })));
1410
1475
  };
1411
1476
 
1412
- HandTap.propTypes = propTypes$6;
1413
- HandTap.defaultProps = defaultProps$6;
1477
+ NavigationButton.propTypes = propTypes$6;
1478
+ NavigationButton.defaultProps = defaultProps$6;
1414
1479
 
1415
1480
  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"};
1416
1481
 
@@ -1756,32 +1821,46 @@ function WebViewContainer(_ref) {
1756
1821
  disableInteraction = _useViewerInteraction.disableInteraction,
1757
1822
  enableInteraction = _useViewerInteraction.enableInteraction;
1758
1823
 
1824
+ var _usePlaybackContext = contexts.usePlaybackContext(),
1825
+ playing = _usePlaybackContext.playing,
1826
+ setPlaying = _usePlaybackContext.setPlaying;
1827
+
1828
+ var wasPlayingRef = React.useRef(playing);
1829
+
1759
1830
  var _useState = React.useState(url),
1760
1831
  _useState2 = _slicedToArray__default["default"](_useState, 2),
1761
1832
  currentUrl = _useState2[0],
1762
- setCurrentUrl = _useState2[1];
1833
+ setCurrentUrl = _useState2[1]; // Handle current webview url
1834
+
1763
1835
 
1764
1836
  React.useEffect(function () {
1765
1837
  if (url !== null) {
1766
1838
  setCurrentUrl(url);
1767
1839
  }
1768
1840
  }, [url, setCurrentUrl]);
1841
+ var onTransitionEnd = React.useCallback(function () {
1842
+ if (url === null) {
1843
+ setCurrentUrl(null);
1844
+ }
1845
+ }, [url]); // Disable interaction and pause playback
1846
+
1769
1847
  React.useEffect(function () {
1770
1848
  if (opened) {
1771
1849
  disableInteraction();
1850
+ wasPlayingRef.current = playing;
1851
+
1852
+ if (playing) {
1853
+ setPlaying(false);
1854
+ }
1772
1855
  } else {
1773
1856
  enableInteraction();
1774
- }
1775
1857
 
1776
- return function () {
1777
- enableInteraction();
1778
- };
1779
- }, [opened]);
1780
- var onTransitionEnd = React.useCallback(function () {
1781
- if (url === null) {
1782
- setCurrentUrl(null);
1858
+ if (wasPlayingRef.current && !playing) {
1859
+ wasPlayingRef.current = false;
1860
+ setPlaying(true);
1861
+ }
1783
1862
  }
1784
- }, [url]);
1863
+ }, [opened]);
1785
1864
  return /*#__PURE__*/React__default["default"].createElement("div", {
1786
1865
  className: classNames__default["default"]([styles.container, (_ref2 = {}, _defineProperty__default["default"](_ref2, styles.opened, opened), _defineProperty__default["default"](_ref2, className, className !== null), _ref2)]),
1787
1866
  style: style,
@@ -1875,7 +1954,7 @@ var defaultProps$2 = {
1875
1954
  };
1876
1955
 
1877
1956
  var Viewer = function Viewer(_ref) {
1878
- var _ref14;
1957
+ var _ref15;
1879
1958
 
1880
1959
  var story = _ref.story,
1881
1960
  basePath = _ref.basePath,
@@ -2019,7 +2098,7 @@ var Viewer = function Viewer(_ref) {
2019
2098
  }
2020
2099
 
2021
2100
  if (currentScreenMedia !== null) {
2022
- currentScreenMedia.current = screensMediasRef.current[index];
2101
+ currentScreenMedia.current = screensMediasRef.current[index] || null;
2023
2102
  }
2024
2103
 
2025
2104
  if (onScreenChange !== null) {
@@ -2035,12 +2114,11 @@ var Viewer = function Viewer(_ref) {
2035
2114
  }
2036
2115
  }, [currentScreen, trackScreenView, trackingEnabled]); // Handle interaction enable
2037
2116
 
2038
- var currentScreenRef = React.useRef(null);
2039
2117
  var gotoPreviousScreen = React.useCallback(function () {
2040
- changeIndex(Math.max(0, screenIndex - 1)); // currentScreenRef.current.focus();
2118
+ changeIndex(Math.max(0, screenIndex - 1));
2041
2119
  }, [changeIndex]);
2042
2120
  var gotoNextScreen = React.useCallback(function () {
2043
- changeIndex(Math.min(screens.length - 1, screenIndex + 1)); // currentScreenRef.current.focus();
2121
+ changeIndex(Math.min(screens.length - 1, screenIndex + 1));
2044
2122
  }, [changeIndex]);
2045
2123
  var screensCount = screens.length;
2046
2124
 
@@ -2154,8 +2232,10 @@ var Viewer = function Viewer(_ref) {
2154
2232
  var dragContentBind = react.useDrag(onDragContent, {
2155
2233
  filterTaps: true
2156
2234
  });
2157
- var onScreenKeyUp = React.useCallback(function (e, i) {
2158
- if (e.key === 'Enter' && withLandscapeSiblingsScreens && landscape && i !== screenIndex) {
2235
+ var onScreenKeyUp = React.useCallback(function (_ref9, i) {
2236
+ var key = _ref9.key;
2237
+
2238
+ if (key === 'Enter' && withLandscapeSiblingsScreens && landscape && i !== screenIndex) {
2159
2239
  changeIndex(i);
2160
2240
  }
2161
2241
  }, [withLandscapeSiblingsScreens, changeIndex, landscape, screenIndex]); // swipe menu open
@@ -2177,11 +2257,11 @@ var Viewer = function Viewer(_ref) {
2177
2257
  onInteractionPrivate();
2178
2258
  setMenuOpened(true);
2179
2259
  }, [changeIndex, onInteractionPrivate, setMenuOpened]);
2180
- var onClickMenuItem = React.useCallback(function (_ref9) {
2181
- var itemScreenId = _ref9.screenId;
2260
+ var onClickMenuItem = React.useCallback(function (_ref10) {
2261
+ var itemScreenId = _ref10.screenId;
2182
2262
  onInteractionPrivate();
2183
- var index = screens.findIndex(function (_ref10) {
2184
- var id = _ref10.id;
2263
+ var index = screens.findIndex(function (_ref11) {
2264
+ var id = _ref11.id;
2185
2265
  return id === itemScreenId;
2186
2266
  });
2187
2267
  changeIndex(index);
@@ -2234,24 +2314,24 @@ var Viewer = function Viewer(_ref) {
2234
2314
  disabled: renderContext !== 'view'
2235
2315
  });
2236
2316
 
2237
- var _ref11 = currentScreen || {},
2238
- screenParameters = _ref11.parameters;
2317
+ var _ref12 = currentScreen || {},
2318
+ screenParameters = _ref12.parameters;
2239
2319
 
2240
- var _ref12 = screenParameters || {},
2241
- screenMetadata = _ref12.metadata;
2320
+ var _ref13 = screenParameters || {},
2321
+ screenMetadata = _ref13.metadata;
2242
2322
 
2243
- var _ref13 = screenMetadata || {},
2244
- _ref13$title = _ref13.title,
2245
- screenTitle = _ref13$title === void 0 ? null : _ref13$title,
2246
- _ref13$description = _ref13.description,
2247
- screenDescription = _ref13$description === void 0 ? null : _ref13$description;
2323
+ var _ref14 = screenMetadata || {},
2324
+ _ref14$title = _ref14.title,
2325
+ screenTitle = _ref14$title === void 0 ? null : _ref14$title,
2326
+ _ref14$description = _ref14.description,
2327
+ screenDescription = _ref14$description === void 0 ? null : _ref14$description;
2248
2328
 
2249
2329
  var finalTitle = screenTitle !== null ? screenTitle : title;
2250
2330
  var finalMetadata = React.useMemo(function () {
2251
2331
  return screenDescription !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, metadata), {}, {
2252
2332
  description: screenDescription
2253
2333
  }) : metadata;
2254
- }, [metadata]); // Get element height
2334
+ }, [metadata, screenDescription]); // Get element height
2255
2335
 
2256
2336
  var _useDimensionObserver = hooks.useDimensionObserver(),
2257
2337
  menuDotsContainerRef = _useDimensionObserver.ref,
@@ -2300,9 +2380,9 @@ var Viewer = function Viewer(_ref) {
2300
2380
  }, overscrollStyle) : /*#__PURE__*/React__default["default"].createElement(reactHelmet.Helmet, null, overscrollStyle), /*#__PURE__*/React__default["default"].createElement(components.FontFaces, {
2301
2381
  fonts: finalFonts
2302
2382
  }), /*#__PURE__*/React__default["default"].createElement("div", {
2303
- className: classNames__default["default"]([styles$5.container, screenSize.screens.map(function (screenName) {
2383
+ className: classNames__default["default"]([styles$6.container, screenSize.screens.map(function (screenName) {
2304
2384
  return "story-screen-".concat(screenName);
2305
- }), (_ref14 = {}, _defineProperty__default["default"](_ref14, styles$5.landscape, landscape), _defineProperty__default["default"](_ref14, styles$5.withSiblings, withLandscapeSiblingsScreens), _defineProperty__default["default"](_ref14, styles$5.hideMenu, !menuVisible), _defineProperty__default["default"](_ref14, styles$5.ready, ready || withoutScreensTransforms), _defineProperty__default["default"](_ref14, styles$5.hasInteracted, hasInteracted), _defineProperty__default["default"](_ref14, className, className), _ref14)]),
2385
+ }), (_ref15 = {}, _defineProperty__default["default"](_ref15, styles$6.landscape, landscape), _defineProperty__default["default"](_ref15, styles$6.withSiblings, withLandscapeSiblingsScreens), _defineProperty__default["default"](_ref15, styles$6.hideMenu, !menuVisible), _defineProperty__default["default"](_ref15, styles$6.ready, ready || withoutScreensTransforms), _defineProperty__default["default"](_ref15, styles$6.hasInteracted, hasInteracted), _defineProperty__default["default"](_ref15, className, className), _ref15)]),
2306
2386
  ref: containerRef,
2307
2387
  onContextMenu: onContextMenu
2308
2388
  }, !withoutMenu ? /*#__PURE__*/React__default["default"].createElement(ViewerMenu, {
@@ -2328,25 +2408,13 @@ var Viewer = function Viewer(_ref) {
2328
2408
  refDots: menuDotsContainerRef
2329
2409
  }) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
2330
2410
  ref: contentRef,
2331
- className: styles$5.content
2332
- }, dragContentBind()), mountedScreens.map(function (scr, mountedIndex) {
2333
- var _ref15;
2411
+ className: styles$6.content
2412
+ }, dragContentBind()), mountedScreens.map(function (mountedScreen, mountedIndex) {
2413
+ var _ref16;
2334
2414
 
2335
2415
  var i = mountedScreenStartIndex + mountedIndex;
2336
2416
  var current = i === parseInt(screenIndex, 10);
2337
2417
  var active = i >= screenIndex - neighborScreensActive && i <= screenIndex + neighborScreensActive;
2338
- var viewerScreen = /*#__PURE__*/React__default["default"].createElement(ViewerScreen, {
2339
- screen: scr,
2340
- screenState: current ? screenState : null,
2341
- renderContext: renderContext,
2342
- index: i,
2343
- current: current,
2344
- active: active,
2345
- mediaRef: function mediaRef(ref) {
2346
- screensMediasRef.current[i] = ref;
2347
- }
2348
- });
2349
- var key = "screen-viewer-".concat(scr.id || '', "-").concat(i + 1);
2350
2418
  var screenTransform = null;
2351
2419
 
2352
2420
  if (landscape) {
@@ -2356,21 +2424,17 @@ var Viewer = function Viewer(_ref) {
2356
2424
  }
2357
2425
 
2358
2426
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
2359
- key: key
2427
+ key: "screen-viewer-".concat(mountedScreen.id || '', "-").concat(i + 1)
2360
2428
  }, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
2361
- ref: current ? currentScreenRef : null,
2362
2429
  style: {
2363
- // width: landscape ? screenWidth : null,
2364
- // height: landscape ? screenHeight : null,
2365
2430
  width: screenContainerWidth,
2366
2431
  height: screenContainerHeight,
2367
2432
  transform: !withoutScreensTransforms ? screenTransform : null
2368
2433
  },
2369
- className: classNames__default["default"]([styles$5.screen, (_ref15 = {}, _defineProperty__default["default"](_ref15, styles$5.current, current), _defineProperty__default["default"](_ref15, styles$5.visible, current || withLandscapeSiblingsScreens), _ref15)]),
2370
- tabIndex: active ? '0' : '-1'
2371
- /* eslint-disable-line */
2434
+ className: classNames__default["default"]([styles$6.screenContainer, (_ref16 = {}, _defineProperty__default["default"](_ref16, styles$6.current, current), _defineProperty__default["default"](_ref16, styles$6.visible, current || withLandscapeSiblingsScreens), _ref16)]) // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
2372
2435
  ,
2373
- "aria-hidden": current ? null : 'true',
2436
+ tabIndex: !active ? -1 : null,
2437
+ "aria-hidden": !current,
2374
2438
  "aria-label": intl.formatMessage({
2375
2439
  id: "LkVfwW",
2376
2440
  defaultMessage: [{
@@ -2386,67 +2450,42 @@ var Viewer = function Viewer(_ref) {
2386
2450
  onKeyUp: function onKeyUp(e) {
2387
2451
  return onScreenKeyUp(e, i);
2388
2452
  }
2389
- }, dragScreenBind(i)), /*#__PURE__*/React__default["default"].createElement("div", {
2390
- className: styles$5.scaler,
2391
- style: {
2392
- width: screenWidth,
2393
- height: screenHeight,
2394
- transform: screenScale !== null ? "scale(".concat(screenScale, ")") : null,
2395
- transformOrigin: screenScale !== null ? '0 0' : null
2396
- }
2397
- }, current && screenIndex > 0 ? /*#__PURE__*/React__default["default"].createElement("button", {
2398
- type: "button",
2399
- className: classNames__default["default"]([styles$5.navButton, styles$5.previous]),
2453
+ }, dragScreenBind(i)), current && screenIndex > 0 ? /*#__PURE__*/React__default["default"].createElement(NavigationButton, {
2454
+ direction: "previous",
2455
+ className: classNames__default["default"]([styles$6.navButton, styles$6.previous]),
2400
2456
  onClick: gotoPreviousScreen
2401
- }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
2402
- className: styles$5.arrow,
2403
- icon: faArrowLeft.faArrowLeft
2404
- }), /*#__PURE__*/React__default["default"].createElement("span", {
2405
- className: "sr-only"
2406
- }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
2407
- id: "zYH/31",
2408
- defaultMessage: [{
2409
- "type": 0,
2410
- "value": "Go to previous screen"
2411
- }]
2412
- }))) : null, viewerScreen, current && screenIndex < screens.length - 1 ? /*#__PURE__*/React__default["default"].createElement("button", {
2413
- type: "button",
2414
- className: classNames__default["default"]([styles$5.navButton, styles$5.next]),
2457
+ }) : null, mountedScreen !== null ? /*#__PURE__*/React__default["default"].createElement(ViewerScreen, {
2458
+ className: styles$6.screen,
2459
+ screen: mountedScreen,
2460
+ screenState: current ? screenState : null,
2461
+ renderContext: renderContext,
2462
+ index: i,
2463
+ current: current,
2464
+ active: active,
2465
+ mediaRef: function mediaRef(ref) {
2466
+ screensMediasRef.current[i] = ref;
2467
+ },
2468
+ width: screenWidth,
2469
+ height: screenHeight,
2470
+ scale: screenScale,
2471
+ withNavigationHint: withNavigationHint && !withLandscapeSiblingsScreens && current && screenIndex === 0 && !hasInteracted
2472
+ }) : null, current && screenIndex < screens.length - 1 ? /*#__PURE__*/React__default["default"].createElement(NavigationButton, {
2473
+ direction: "next",
2474
+ className: classNames__default["default"]([styles$6.navButton, styles$6.next]),
2415
2475
  onClick: gotoNextScreen
2416
- }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
2417
- className: styles$5.arrow,
2418
- icon: faArrowRight.faArrowRight
2419
- }), /*#__PURE__*/React__default["default"].createElement("span", {
2420
- className: "sr-only"
2421
- }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
2422
- id: "v9bqYj",
2423
- defaultMessage: [{
2424
- "type": 0,
2425
- "value": "Go to next screen"
2426
- }]
2427
- })), /*#__PURE__*/React__default["default"].createElement("span", {
2428
- className: "sr-only"
2429
- }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
2430
- id: "v9bqYj",
2431
- defaultMessage: [{
2432
- "type": 0,
2433
- "value": "Go to next screen"
2434
- }]
2435
- }))) : null), withNavigationHint && !withLandscapeSiblingsScreens && current && screenIndex === 0 ? /*#__PURE__*/React__default["default"].createElement(HandTap, {
2436
- className: styles$5.handTap
2437
2476
  }) : null));
2438
2477
  }), /*#__PURE__*/React__default["default"].createElement("div", {
2439
- className: styles$5.playbackControls,
2478
+ className: styles$6.playbackControls,
2440
2479
  ref: playbackControlsContainerRef
2441
2480
  }, /*#__PURE__*/React__default["default"].createElement("div", {
2442
- className: styles$5.playbackControlsContainer,
2481
+ className: styles$6.playbackControlsContainer,
2443
2482
  style: {
2444
2483
  width: screenContainerWidth
2445
2484
  }
2446
2485
  }, /*#__PURE__*/React__default["default"].createElement(PlaybackControls, {
2447
- className: styles$5.controls
2486
+ className: styles$6.controls
2448
2487
  })))) : null, /*#__PURE__*/React__default["default"].createElement(WebViewContainer, {
2449
- className: styles$5.webView,
2488
+ className: styles$6.webView,
2450
2489
  style: {
2451
2490
  maxWidth: Math.max(screenContainerWidth, 600)
2452
2491
  }