@micromag/viewer 0.3.251 → 0.3.262
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/assets/css/styles.css +9 -9
- package/es/index.js +203 -108
- package/lib/index.js +202 -107
- package/package.json +11 -10
package/es/index.js
CHANGED
|
@@ -5,13 +5,14 @@ import React, { useEffect, useState, useCallback, useMemo, useRef } from 'react'
|
|
|
5
5
|
import { Switch, Route, MemoryRouter } from 'react-router';
|
|
6
6
|
import { Link, BrowserRouter } from 'react-router-dom';
|
|
7
7
|
import { PropTypes as PropTypes$1 } from '@micromag/core';
|
|
8
|
-
import { useViewerSize, usePlaybackContext, useViewerWebView, useViewerInteraction,
|
|
8
|
+
import { useViewerSize, usePlaybackContext, useViewerWebView, useViewerInteraction, StoryProvider, ScreenSizeProvider, ViewerProvider, useRoutes, useRoutePush, GoogleKeysProvider, GoogleMapsClientProvider, FieldsProvider, ComponentsProvider, SCREENS_NAMESPACE, VisitorProvider, PlaybackProvider, TrackingProvider, RoutesProvider } from '@micromag/core/contexts';
|
|
9
9
|
import fieldsManager from '@micromag/fields/manager';
|
|
10
10
|
import { IntlProvider } from '@micromag/intl';
|
|
11
11
|
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 { animated } from '@react-spring/web';
|
|
15
16
|
import classNames from 'classnames';
|
|
16
17
|
import { Helmet } from 'react-helmet';
|
|
17
18
|
import EventEmitter from 'wolfy87-eventemitter';
|
|
@@ -22,7 +23,6 @@ import { useIntl, FormattedMessage } from 'react-intl';
|
|
|
22
23
|
import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';
|
|
23
24
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
24
25
|
import { useSpring } from '@react-spring/core';
|
|
25
|
-
import { animated } from '@react-spring/web';
|
|
26
26
|
import Scroll from '@micromag/element-scroll';
|
|
27
27
|
import ShareOptions from '@micromag/element-share-options';
|
|
28
28
|
import { useGesture } from '@use-gesture/react';
|
|
@@ -114,6 +114,7 @@ function useScreenInteraction() {
|
|
|
114
114
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
115
115
|
screens = _ref.screens,
|
|
116
116
|
screenIndex = _ref.screenIndex,
|
|
117
|
+
screenWidth = _ref.screenWidth,
|
|
117
118
|
_ref$disableCurrentSc = _ref.disableCurrentScreenNavigation,
|
|
118
119
|
disableCurrentScreenNavigation = _ref$disableCurrentSc === void 0 ? false : _ref$disableCurrentSc,
|
|
119
120
|
_ref$clickOnSiblings = _ref.clickOnSiblings,
|
|
@@ -183,13 +184,14 @@ function useScreenInteraction() {
|
|
|
183
184
|
}
|
|
184
185
|
|
|
185
186
|
var _currentTarget$getBou = currentTarget.getBoundingClientRect(),
|
|
186
|
-
left = _currentTarget$getBou.left,
|
|
187
187
|
width = _currentTarget$getBou.width;
|
|
188
188
|
|
|
189
|
-
var
|
|
190
|
-
var
|
|
189
|
+
var margin = (width - screenWidth) / 2;
|
|
190
|
+
var screenPreviousZone = screenWidth * (1 - nextScreenWidthPercent);
|
|
191
|
+
var previousZone = margin + screenPreviousZone;
|
|
192
|
+
var direction = x < previousZone ? 'previous' : 'next';
|
|
191
193
|
var lastIndex = screensCount - 1;
|
|
192
|
-
var nextIndex = index;
|
|
194
|
+
var nextIndex = index;
|
|
193
195
|
|
|
194
196
|
if (direction === 'previous' && !clickOnSiblings) {
|
|
195
197
|
nextIndex = Math.max(0, screenIndex - 1);
|
|
@@ -511,14 +513,14 @@ var styles$e = {"container":"micromag-viewer-buttons-toggle-button-container","n
|
|
|
511
513
|
|
|
512
514
|
var propTypes$i = {
|
|
513
515
|
className: PropTypes.string,
|
|
514
|
-
|
|
516
|
+
progressSpring: PropTypes.number,
|
|
515
517
|
button: PropTypes.node,
|
|
516
518
|
toggledButton: PropTypes.node,
|
|
517
519
|
toggledButtonClassName: PropTypes.string
|
|
518
520
|
};
|
|
519
521
|
var defaultProps$i = {
|
|
520
522
|
className: null,
|
|
521
|
-
|
|
523
|
+
progressSpring: 0,
|
|
522
524
|
button: null,
|
|
523
525
|
toggledButton: null,
|
|
524
526
|
toggledButtonClassName: null
|
|
@@ -526,26 +528,27 @@ var defaultProps$i = {
|
|
|
526
528
|
|
|
527
529
|
var ToggleButton = function ToggleButton(_ref) {
|
|
528
530
|
var className = _ref.className,
|
|
529
|
-
|
|
531
|
+
progressSpring = _ref.progressSpring,
|
|
530
532
|
button = _ref.button,
|
|
531
533
|
toggledButton = _ref.toggledButton,
|
|
532
534
|
toggledButtonClassName = _ref.toggledButtonClassName;
|
|
533
535
|
if (button === null) return false;
|
|
534
|
-
|
|
535
|
-
var getToggleButtonStyles = function getToggleButtonStyles(t) {
|
|
536
|
-
return {
|
|
537
|
-
transform: "translateY(".concat(t * -100, "%)")
|
|
538
|
-
};
|
|
539
|
-
};
|
|
540
|
-
|
|
541
536
|
return /*#__PURE__*/React.createElement("div", {
|
|
542
537
|
className: classNames([styles$e.container, _defineProperty({}, className, className !== null)])
|
|
543
|
-
}, /*#__PURE__*/React.createElement(
|
|
538
|
+
}, /*#__PURE__*/React.createElement(animated.div, {
|
|
544
539
|
className: styles$e.normal,
|
|
545
|
-
style:
|
|
546
|
-
|
|
540
|
+
style: {
|
|
541
|
+
transform: progressSpring.to(function (p) {
|
|
542
|
+
return "translateY(".concat(p * -100, "%)");
|
|
543
|
+
})
|
|
544
|
+
}
|
|
545
|
+
}, button), /*#__PURE__*/React.createElement(animated.div, {
|
|
547
546
|
className: classNames([styles$e.toggled, _defineProperty({}, toggledButtonClassName, toggledButtonClassName !== null)]),
|
|
548
|
-
style:
|
|
547
|
+
style: {
|
|
548
|
+
transform: progressSpring.to(function (p) {
|
|
549
|
+
return "translateY(".concat((p - 1) * -100, "%)");
|
|
550
|
+
})
|
|
551
|
+
}
|
|
549
552
|
}, toggledButton));
|
|
550
553
|
};
|
|
551
554
|
|
|
@@ -556,20 +559,20 @@ var styles$d = {"backdrop":"micromag-viewer-menus-menu-container-backdrop","heig
|
|
|
556
559
|
|
|
557
560
|
var propTypes$h = {
|
|
558
561
|
className: PropTypes.string,
|
|
559
|
-
|
|
562
|
+
progressSpring: PropTypes.number,
|
|
560
563
|
theme: PropTypes$1.viewerTheme,
|
|
561
564
|
children: PropTypes.node
|
|
562
565
|
};
|
|
563
566
|
var defaultProps$h = {
|
|
564
567
|
className: null,
|
|
565
|
-
|
|
568
|
+
progressSpring: 0,
|
|
566
569
|
theme: null,
|
|
567
570
|
children: null
|
|
568
571
|
};
|
|
569
572
|
|
|
570
573
|
var ViewerMenuContainer = function ViewerMenuContainer(_ref) {
|
|
571
574
|
var className = _ref.className,
|
|
572
|
-
|
|
575
|
+
progressSpring = _ref.progressSpring,
|
|
573
576
|
viewerTheme = _ref.theme,
|
|
574
577
|
children = _ref.children;
|
|
575
578
|
|
|
@@ -587,17 +590,26 @@ var ViewerMenuContainer = function ViewerMenuContainer(_ref) {
|
|
|
587
590
|
style: {
|
|
588
591
|
pointerEvents: 'none'
|
|
589
592
|
}
|
|
590
|
-
}, /*#__PURE__*/React.createElement(
|
|
593
|
+
}, /*#__PURE__*/React.createElement(animated.div, {
|
|
591
594
|
className: styles$d.heightContainer,
|
|
592
595
|
style: _objectSpread({
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
+
opacity: progressSpring,
|
|
597
|
+
transform: progressSpring.to(function (p) {
|
|
598
|
+
return "translateY(".concat((1 - p) * -2, "rem)");
|
|
599
|
+
}),
|
|
600
|
+
pointerEvents: progressSpring.to(function (p) {
|
|
601
|
+
return p < 0.25 ? 'none' : 'auto';
|
|
602
|
+
}),
|
|
603
|
+
zIndex: progressSpring.to(function (p) {
|
|
604
|
+
return Math.round(2 + p);
|
|
605
|
+
})
|
|
596
606
|
}, backgroundColorStyle)
|
|
597
|
-
}, children), /*#__PURE__*/React.createElement(
|
|
607
|
+
}, children), /*#__PURE__*/React.createElement(animated.div, {
|
|
598
608
|
className: styles$d.backdrop,
|
|
599
609
|
style: {
|
|
600
|
-
opacity:
|
|
610
|
+
opacity: progressSpring.to(function (p) {
|
|
611
|
+
return easings.easeOutQuint(p);
|
|
612
|
+
})
|
|
601
613
|
}
|
|
602
614
|
}));
|
|
603
615
|
};
|
|
@@ -924,7 +936,10 @@ var ViewerMenuScreen = function ViewerMenuScreen(_ref) {
|
|
|
924
936
|
}]
|
|
925
937
|
})) : '');
|
|
926
938
|
return /*#__PURE__*/React.createElement("div", {
|
|
927
|
-
className: classNames([styles$a.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$a.isCurrent, current), _ref4)])
|
|
939
|
+
className: classNames([styles$a.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$a.isCurrent, current), _ref4)]),
|
|
940
|
+
style: {
|
|
941
|
+
paddingBottom: "".concat(screenHeight / screenWidth * 100, "%")
|
|
942
|
+
}
|
|
928
943
|
}, /*#__PURE__*/React.createElement("button", {
|
|
929
944
|
type: "button",
|
|
930
945
|
className: styles$a.button,
|
|
@@ -957,7 +972,7 @@ var ViewerMenuScreen = function ViewerMenuScreen(_ref) {
|
|
|
957
972
|
ViewerMenuScreen.propTypes = propTypes$d;
|
|
958
973
|
ViewerMenuScreen.defaultProps = defaultProps$d;
|
|
959
974
|
|
|
960
|
-
var styles$9 = {"scroll":"micromag-viewer-menus-menu-preview-scroll","container":"micromag-viewer-menus-menu-preview-container","disabled":"micromag-viewer-menus-menu-preview-disabled","screenButton":"micromag-viewer-menus-menu-preview-screenButton","
|
|
975
|
+
var styles$9 = {"scroll":"micromag-viewer-menus-menu-preview-scroll","container":"micromag-viewer-menus-menu-preview-container","disabled":"micromag-viewer-menus-menu-preview-disabled","screenButton":"micromag-viewer-menus-menu-preview-screenButton","content":"micromag-viewer-menus-menu-preview-content","buttons":"micromag-viewer-menus-menu-preview-buttons","organisation":"micromag-viewer-menus-menu-preview-organisation","icon":"micromag-viewer-menus-menu-preview-icon","title":"micromag-viewer-menus-menu-preview-title","nav":"micromag-viewer-menus-menu-preview-nav","item":"micromag-viewer-menus-menu-preview-item","items":"micromag-viewer-menus-menu-preview-items","inner":"micromag-viewer-menus-menu-preview-inner","frame":"micromag-viewer-menus-menu-preview-frame","screen":"micromag-viewer-menus-menu-preview-screen","intro":"micromag-viewer-menus-menu-preview-intro"};
|
|
961
976
|
|
|
962
977
|
var propTypes$c = {
|
|
963
978
|
viewerTheme: PropTypes$1.viewerTheme,
|
|
@@ -968,6 +983,7 @@ var propTypes$c = {
|
|
|
968
983
|
onClickScreen: PropTypes.func,
|
|
969
984
|
maxThumbsWidth: PropTypes.number,
|
|
970
985
|
paddingTop: PropTypes.number,
|
|
986
|
+
scrollDisabled: PropTypes.bool,
|
|
971
987
|
// @todo to reimplement:
|
|
972
988
|
// shouldLoad: PropTypes.bool,
|
|
973
989
|
// toggleFullscreen: PropTypes.func,
|
|
@@ -985,6 +1001,7 @@ var defaultProps$c = {
|
|
|
985
1001
|
onClickScreen: null,
|
|
986
1002
|
maxThumbsWidth: 140,
|
|
987
1003
|
paddingTop: null,
|
|
1004
|
+
scrollDisabled: false,
|
|
988
1005
|
// toggleFullscreen: null,
|
|
989
1006
|
// fullscreenActive: false,
|
|
990
1007
|
// fullscreenEnabled: false,
|
|
@@ -1000,6 +1017,7 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
1000
1017
|
onClickScreen = _ref.onClickScreen,
|
|
1001
1018
|
maxThumbsWidth = _ref.maxThumbsWidth,
|
|
1002
1019
|
paddingTop = _ref.paddingTop,
|
|
1020
|
+
scrollDisabled = _ref.scrollDisabled,
|
|
1003
1021
|
className = _ref.className;
|
|
1004
1022
|
|
|
1005
1023
|
var _useDimensionObserver = useDimensionObserver(),
|
|
@@ -1026,12 +1044,29 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
1026
1044
|
var brandImageStyle = brandImageUrl !== null ? {
|
|
1027
1045
|
backgroundImage: "url(".concat(brandImageUrl, ")")
|
|
1028
1046
|
} : null; // const { url: brandLogoUrl = null } = brandLogo || {};
|
|
1029
|
-
|
|
1047
|
+
|
|
1048
|
+
var _useState = useState([]),
|
|
1049
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1050
|
+
screensMounted = _useState2[0],
|
|
1051
|
+
setScreensMounted = _useState2[1]; // @todo optimize all of this the proper way
|
|
1030
1052
|
// const finalItems = useMemo(
|
|
1031
1053
|
// () => (!focusable ? items.map((s, i) => (i > 6 ? { screenId: s.screenId } : s)) : items),
|
|
1032
1054
|
// [items, focusable],
|
|
1033
1055
|
// );
|
|
1034
1056
|
|
|
1057
|
+
|
|
1058
|
+
useEffect(function () {
|
|
1059
|
+
if (items.length === screensMounted.length) {
|
|
1060
|
+
return null;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
var timeout = setTimeout(function () {
|
|
1064
|
+
setScreensMounted([].concat(_toConsumableArray(screensMounted), [true]));
|
|
1065
|
+
}, 40);
|
|
1066
|
+
return function () {
|
|
1067
|
+
clearTimeout(timeout);
|
|
1068
|
+
};
|
|
1069
|
+
}, [items, screensMounted, setScreensMounted]);
|
|
1035
1070
|
return /*#__PURE__*/React.createElement("div", {
|
|
1036
1071
|
className: classNames([styles$9.container, _defineProperty({}, className, className !== null)]),
|
|
1037
1072
|
style: _objectSpread(_objectSpread({}, brandImageStyle), {}, {
|
|
@@ -1042,7 +1077,8 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
1042
1077
|
className: styles$9.content,
|
|
1043
1078
|
ref: containerRef
|
|
1044
1079
|
}, /*#__PURE__*/React.createElement(Scroll, {
|
|
1045
|
-
className: styles$9.scroll
|
|
1080
|
+
className: styles$9.scroll,
|
|
1081
|
+
disabled: scrollDisabled
|
|
1046
1082
|
}, /*#__PURE__*/React.createElement("nav", {
|
|
1047
1083
|
className: styles$9.nav,
|
|
1048
1084
|
style: {
|
|
@@ -1052,38 +1088,36 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
1052
1088
|
className: styles$9.items
|
|
1053
1089
|
}, items.map(function (item, index) {
|
|
1054
1090
|
var _ref6 = item || {},
|
|
1055
|
-
screenId = _ref6.screenId
|
|
1056
|
-
_ref6$screen = _ref6.screen,
|
|
1057
|
-
screen = _ref6$screen === void 0 ? null : _ref6$screen;
|
|
1091
|
+
screenId = _ref6.screenId;
|
|
1058
1092
|
|
|
1059
1093
|
var itemStyles = {
|
|
1060
1094
|
width: "".concat(100 / thumbsPerLine, "%")
|
|
1061
1095
|
};
|
|
1096
|
+
|
|
1097
|
+
var _ref7 = screenSize || {},
|
|
1098
|
+
screenWidth = _ref7.width,
|
|
1099
|
+
screenHeight = _ref7.height;
|
|
1100
|
+
|
|
1101
|
+
var screenMounted = screensMounted[index] || false;
|
|
1062
1102
|
return /*#__PURE__*/React.createElement("li", {
|
|
1063
1103
|
key: "item-".concat(screenId),
|
|
1064
1104
|
className: styles$9.item,
|
|
1065
1105
|
style: itemStyles
|
|
1066
1106
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1067
|
-
className: styles$9.
|
|
1068
|
-
},
|
|
1069
|
-
className: styles$9.
|
|
1070
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1071
|
-
width: "10",
|
|
1072
|
-
height: "16",
|
|
1073
|
-
viewBox: "0 0 10 16",
|
|
1107
|
+
className: styles$9.inner
|
|
1108
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1109
|
+
className: classNames([styles$9.frame, _defineProperty({}, styles$9.isLoading, !screenMounted)]),
|
|
1074
1110
|
style: {
|
|
1075
|
-
|
|
1111
|
+
paddingBottom: "".concat(screenHeight / screenWidth * 100, "%")
|
|
1076
1112
|
}
|
|
1077
|
-
}, /*#__PURE__*/React.createElement(
|
|
1078
|
-
|
|
1079
|
-
height: "16"
|
|
1080
|
-
})) : /*#__PURE__*/React.createElement(ViewerMenuScreen, {
|
|
1113
|
+
}, screenMounted ? /*#__PURE__*/React.createElement(ViewerMenuScreen, {
|
|
1114
|
+
className: styles$9.screen,
|
|
1081
1115
|
item: item,
|
|
1082
1116
|
index: index,
|
|
1083
1117
|
screenSize: screenSize,
|
|
1084
1118
|
onClick: onClickScreen,
|
|
1085
1119
|
focusable: focusable
|
|
1086
|
-
})));
|
|
1120
|
+
}) : null)));
|
|
1087
1121
|
}))))));
|
|
1088
1122
|
};
|
|
1089
1123
|
|
|
@@ -1143,7 +1177,6 @@ var propTypes$a = {
|
|
|
1143
1177
|
description: PropTypes.string,
|
|
1144
1178
|
items: PropTypes$1.menuItems,
|
|
1145
1179
|
focusable: PropTypes.bool,
|
|
1146
|
-
// shouldLoad: PropTypes.bool, // @todo still needed? to re-implement?
|
|
1147
1180
|
paddingTop: PropTypes.number,
|
|
1148
1181
|
currentScreenIndex: PropTypes.number,
|
|
1149
1182
|
shareUrl: PropTypes.string,
|
|
@@ -1233,7 +1266,7 @@ var ViewerMenuShare = function ViewerMenuShare(_ref) {
|
|
|
1233
1266
|
setFinalShareUrl = _useState4[1];
|
|
1234
1267
|
|
|
1235
1268
|
useEffect(function () {
|
|
1236
|
-
setFinalShareUrl(shareCurrentScreen && currentScreenIndex !== 0 ? "".concat(shareUrl, "/").concat(currentScreenIndex) : shareUrl);
|
|
1269
|
+
setFinalShareUrl(shareCurrentScreen && currentScreenIndex !== 0 ? "".concat(shareUrl, "/").concat(currentScreenIndex + 1) : shareUrl);
|
|
1237
1270
|
}, [shareCurrentScreen, currentScreenIndex, setFinalShareUrl]);
|
|
1238
1271
|
return /*#__PURE__*/React.createElement("div", {
|
|
1239
1272
|
className: classNames([styles$7.container, _defineProperty({}, className, className !== null)]),
|
|
@@ -1288,7 +1321,7 @@ var ViewerMenuShare = function ViewerMenuShare(_ref) {
|
|
|
1288
1321
|
ViewerMenuShare.propTypes = propTypes$a;
|
|
1289
1322
|
ViewerMenuShare.defaultProps = defaultProps$a;
|
|
1290
1323
|
|
|
1291
|
-
var styles$6 = {"container":"micromag-viewer-container","menuContainer":"micromag-viewer-menuContainer","menuPreview":"micromag-viewer-menuPreview","screenContainer":"micromag-viewer-screenContainer","screensFrame":"micromag-viewer-screensFrame","landscape":"micromag-viewer-landscape","hideMenu":"micromag-viewer-hideMenu","menuNavContainer":"micromag-viewer-menuNavContainer","dots":"micromag-viewer-dots","menuTopContainer":"micromag-viewer-menuTopContainer","content":"micromag-viewer-content","withoutGestures":"micromag-viewer-withoutGestures","fadeMenu":"micromag-viewer-fadeMenu","withShadow":"micromag-viewer-withShadow","isOpened":"micromag-viewer-isOpened","menuItem":"micromag-viewer-menuItem","
|
|
1324
|
+
var styles$6 = {"container":"micromag-viewer-container","menuContainer":"micromag-viewer-menuContainer","menuPreview":"micromag-viewer-menuPreview","menuShare":"micromag-viewer-menuShare","screenContainer":"micromag-viewer-screenContainer","screensFrame":"micromag-viewer-screensFrame","landscape":"micromag-viewer-landscape","hideMenu":"micromag-viewer-hideMenu","menuNavContainer":"micromag-viewer-menuNavContainer","dots":"micromag-viewer-dots","menuTopContainer":"micromag-viewer-menuTopContainer","content":"micromag-viewer-content","withoutGestures":"micromag-viewer-withoutGestures","fadeMenu":"micromag-viewer-fadeMenu","withShadow":"micromag-viewer-withShadow","isOpened":"micromag-viewer-isOpened","menuItem":"micromag-viewer-menuItem","menuButton":"micromag-viewer-menuButton","slidingButton":"micromag-viewer-slidingButton","screensMenuButtonToggled":"micromag-viewer-screensMenuButtonToggled","navButton":"micromag-viewer-navButton","previous":"micromag-viewer-previous","next":"micromag-viewer-next","screen":"micromag-viewer-screen","current":"micromag-viewer-current","playbackControls":"micromag-viewer-playbackControls","arrowHint":"micromag-viewer-arrowHint","webView":"micromag-viewer-webView"};
|
|
1292
1325
|
|
|
1293
1326
|
var propTypes$9 = {
|
|
1294
1327
|
story: PropTypes$1.story.isRequired,
|
|
@@ -1393,6 +1426,11 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1393
1426
|
shareOpened = _useState4[0],
|
|
1394
1427
|
setShareOpened = _useState4[1];
|
|
1395
1428
|
|
|
1429
|
+
var _useState5 = useState(false),
|
|
1430
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1431
|
+
menuMounted = _useState6[0],
|
|
1432
|
+
setMenuMounted = _useState6[1];
|
|
1433
|
+
|
|
1396
1434
|
var _useDimensionObserver = useDimensionObserver(),
|
|
1397
1435
|
navContainerRef = _useDimensionObserver.ref,
|
|
1398
1436
|
_useDimensionObserver2 = _useDimensionObserver.height,
|
|
@@ -1441,8 +1479,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1441
1479
|
var base = typeof window !== 'undefined' ? window.location.host : '';
|
|
1442
1480
|
var path = shareBasePath !== null ? "".concat(base).concat(shareBasePath) : base;
|
|
1443
1481
|
return path;
|
|
1444
|
-
}, [shareBasePath]);
|
|
1445
|
-
|
|
1482
|
+
}, [shareBasePath]);
|
|
1446
1483
|
var onOpenMenu = useCallback(function () {
|
|
1447
1484
|
setMenuOpened(true);
|
|
1448
1485
|
setShareOpened(false);
|
|
@@ -1533,6 +1570,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1533
1570
|
springParams: springParams
|
|
1534
1571
|
}),
|
|
1535
1572
|
bindShareDrag = _useDragProgress.bind,
|
|
1573
|
+
draggingShare = _useDragProgress.dragging,
|
|
1536
1574
|
shareOpenedProgress = _useDragProgress.progress;
|
|
1537
1575
|
|
|
1538
1576
|
var computeMenuProgress = useCallback(function (_ref9) {
|
|
@@ -1580,6 +1618,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1580
1618
|
springParams: springParams
|
|
1581
1619
|
}),
|
|
1582
1620
|
bindMenuDrag = _useDragProgress2.bind,
|
|
1621
|
+
draggingMenu = _useDragProgress2.dragging,
|
|
1583
1622
|
menuOpenedProgress = _useDragProgress2.progress;
|
|
1584
1623
|
|
|
1585
1624
|
var keyboardShortcuts = useMemo(function () {
|
|
@@ -1595,6 +1634,13 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1595
1634
|
useKeyboardShortcuts(keyboardShortcuts); // should be zero if either screens menu or share menu is opened
|
|
1596
1635
|
|
|
1597
1636
|
var dotsOpacity = Math.min(1, Math.max(0, 1 - (menuOpenedProgress + shareOpenedProgress)));
|
|
1637
|
+
useEffect(function () {
|
|
1638
|
+
if ((menuOpened || draggingMenu) && !menuMounted) {
|
|
1639
|
+
setMenuMounted(true);
|
|
1640
|
+
} else if (!menuOpened && !draggingMenu && menuMounted) {
|
|
1641
|
+
setMenuMounted(false);
|
|
1642
|
+
}
|
|
1643
|
+
}, [menuOpened, draggingMenu, menuMounted, setMenuMounted]);
|
|
1598
1644
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
1599
1645
|
className: classNames([styles$6.menuNavContainer, (_ref11 = {}, _defineProperty(_ref11, styles$6.withShadow, withShadow), _defineProperty(_ref11, styles$6.isOpened, menuOpened || shareOpened), _ref11)]),
|
|
1600
1646
|
ref: refDots,
|
|
@@ -1605,38 +1651,42 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1605
1651
|
className: styles$6.menuTopContainer,
|
|
1606
1652
|
ref: navContainerRef
|
|
1607
1653
|
}, !withoutShareMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1608
|
-
className:
|
|
1654
|
+
className: styles$6.menuItem
|
|
1609
1655
|
}, bindShareDrag()), /*#__PURE__*/React.createElement(ToggleButton, {
|
|
1610
1656
|
className: styles$6.slidingButton,
|
|
1611
1657
|
button: /*#__PURE__*/React.createElement(ShareButton, {
|
|
1612
1658
|
className: styles$6.menuButton,
|
|
1613
1659
|
onClick: onOpenShare,
|
|
1614
1660
|
theme: menuTheme,
|
|
1615
|
-
iconPosition: "left"
|
|
1661
|
+
iconPosition: "left",
|
|
1662
|
+
focusable: !shareOpened
|
|
1616
1663
|
}),
|
|
1617
1664
|
toggledButton: /*#__PURE__*/React.createElement(CloseButton, {
|
|
1618
1665
|
className: styles$6.menuButton,
|
|
1619
1666
|
onClick: onCloseShare,
|
|
1620
1667
|
theme: menuTheme,
|
|
1621
|
-
iconPosition: "left"
|
|
1668
|
+
iconPosition: "left",
|
|
1669
|
+
focusable: shareOpened
|
|
1622
1670
|
}),
|
|
1623
|
-
|
|
1671
|
+
progressSpring: shareOpenedProgress
|
|
1624
1672
|
})) : null, !withoutScreensMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1625
|
-
className:
|
|
1673
|
+
className: styles$6.menuItem
|
|
1626
1674
|
}, bindMenuDrag()), /*#__PURE__*/React.createElement(ToggleButton, {
|
|
1627
1675
|
className: styles$6.slidingButton,
|
|
1628
1676
|
button: /*#__PURE__*/React.createElement(MenuButton, {
|
|
1629
1677
|
className: styles$6.menuButton,
|
|
1630
1678
|
onClick: onOpenMenu,
|
|
1631
|
-
theme: menuTheme
|
|
1679
|
+
theme: menuTheme,
|
|
1680
|
+
focusable: !menuOpened
|
|
1632
1681
|
}),
|
|
1633
1682
|
toggledButton: /*#__PURE__*/React.createElement(CloseButton, {
|
|
1634
1683
|
className: styles$6.menuButton,
|
|
1635
1684
|
onClick: onCloseMenu,
|
|
1636
1685
|
theme: menuTheme,
|
|
1637
|
-
iconPosition: "right"
|
|
1686
|
+
iconPosition: "right",
|
|
1687
|
+
focusable: menuOpened
|
|
1638
1688
|
}),
|
|
1639
|
-
|
|
1689
|
+
progressSpring: menuOpenedProgress,
|
|
1640
1690
|
toggledButtonClassName: styles$6.screensMenuButtonToggled
|
|
1641
1691
|
})) : null), /*#__PURE__*/React.createElement(ViewerMenuDots, Object.assign({}, menuTheme, {
|
|
1642
1692
|
direction: "horizontal",
|
|
@@ -1650,15 +1700,14 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1650
1700
|
onClose: onClickCloseViewer,
|
|
1651
1701
|
className: styles$6.dots,
|
|
1652
1702
|
style: {
|
|
1653
|
-
opacity: Math.pow(dotsOpacity, 5),
|
|
1654
|
-
|
|
1655
|
-
pointerEvents: dotsOpacity < 1 ? 'none' : 'auto'
|
|
1703
|
+
opacity: Math.pow(dotsOpacity, 5) // @note this is like a "quint" easing, meaning it'll go towards 1 slowly first and then fast as it approaches 1
|
|
1704
|
+
|
|
1656
1705
|
}
|
|
1657
1706
|
}))), /*#__PURE__*/React.createElement(ViewerMenuContainer, {
|
|
1658
1707
|
className: styles$6.menuContainer,
|
|
1659
|
-
|
|
1708
|
+
progressSpring: shareOpenedProgress,
|
|
1660
1709
|
theme: viewerTheme
|
|
1661
|
-
},
|
|
1710
|
+
}, draggingShare || shareOpened ? /*#__PURE__*/React.createElement(ViewerMenuShare, {
|
|
1662
1711
|
viewerTheme: viewerTheme,
|
|
1663
1712
|
className: styles$6.menuShare,
|
|
1664
1713
|
title: title,
|
|
@@ -1673,9 +1722,9 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1673
1722
|
onClose: onCloseShare
|
|
1674
1723
|
}) : null), /*#__PURE__*/React.createElement(ViewerMenuContainer, {
|
|
1675
1724
|
className: styles$6.menuContainer,
|
|
1676
|
-
|
|
1725
|
+
progressSpring: menuOpenedProgress,
|
|
1677
1726
|
theme: viewerTheme
|
|
1678
|
-
},
|
|
1727
|
+
}, menuMounted ? /*#__PURE__*/React.createElement(ViewerMenuPreview, {
|
|
1679
1728
|
viewerTheme: viewerTheme,
|
|
1680
1729
|
className: styles$6.menuPreview,
|
|
1681
1730
|
screenSize: screenSize,
|
|
@@ -1687,6 +1736,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1687
1736
|
onShare: onShare,
|
|
1688
1737
|
onClickScreen: onClickScreen,
|
|
1689
1738
|
onClose: onCloseMenu,
|
|
1739
|
+
scrollDisabled: draggingMenu,
|
|
1690
1740
|
toggleFullscreen: toggleFullscreen,
|
|
1691
1741
|
fullscreenActive: fullscreenActive,
|
|
1692
1742
|
fullscreenEnabled: fullscreenEnabled
|
|
@@ -1695,8 +1745,9 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1695
1745
|
|
|
1696
1746
|
ViewerMenu.propTypes = propTypes$9;
|
|
1697
1747
|
ViewerMenu.defaultProps = defaultProps$9;
|
|
1748
|
+
var ViewerMenu$1 = /*#__PURE__*/React.memo(ViewerMenu);
|
|
1698
1749
|
|
|
1699
|
-
var styles$5 = {"container":"micromag-viewer-screen-container","navigationHint":"micromag-viewer-screen-navigationHint"};
|
|
1750
|
+
var styles$5 = {"container":"micromag-viewer-screen-container","inner":"micromag-viewer-screen-inner","navigationHint":"micromag-viewer-screen-navigationHint"};
|
|
1700
1751
|
|
|
1701
1752
|
var propTypes$8 = {
|
|
1702
1753
|
screen: PropTypes$1.screenComponent,
|
|
@@ -1706,6 +1757,7 @@ var propTypes$8 = {
|
|
|
1706
1757
|
active: PropTypes.bool,
|
|
1707
1758
|
mediaRef: PropTypes.func,
|
|
1708
1759
|
width: PropTypes.number,
|
|
1760
|
+
index: PropTypes.number,
|
|
1709
1761
|
height: PropTypes.number,
|
|
1710
1762
|
scale: PropTypes.number,
|
|
1711
1763
|
// withNavigationHint: PropTypes.bool, // @todo
|
|
@@ -1717,6 +1769,7 @@ var defaultProps$8 = {
|
|
|
1717
1769
|
screenState: null,
|
|
1718
1770
|
current: false,
|
|
1719
1771
|
active: true,
|
|
1772
|
+
index: null,
|
|
1720
1773
|
mediaRef: null,
|
|
1721
1774
|
width: null,
|
|
1722
1775
|
height: null,
|
|
@@ -1728,6 +1781,7 @@ var defaultProps$8 = {
|
|
|
1728
1781
|
function ViewerScreen(_ref) {
|
|
1729
1782
|
var screen = _ref.screen,
|
|
1730
1783
|
renderContext = _ref.renderContext,
|
|
1784
|
+
index = _ref.index,
|
|
1731
1785
|
screenState = _ref.screenState,
|
|
1732
1786
|
active = _ref.active,
|
|
1733
1787
|
current = _ref.current,
|
|
@@ -1736,23 +1790,47 @@ function ViewerScreen(_ref) {
|
|
|
1736
1790
|
height = _ref.height,
|
|
1737
1791
|
scale = _ref.scale,
|
|
1738
1792
|
className = _ref.className;
|
|
1793
|
+
|
|
1794
|
+
var _useState = useState(active || current),
|
|
1795
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1796
|
+
mounted = _useState2[0],
|
|
1797
|
+
setMounted = _useState2[1];
|
|
1798
|
+
|
|
1799
|
+
useEffect(function () {
|
|
1800
|
+
var timeout = null;
|
|
1801
|
+
|
|
1802
|
+
if (active !== mounted) {
|
|
1803
|
+
timeout = setTimeout(function () {
|
|
1804
|
+
setMounted(active);
|
|
1805
|
+
}, 200);
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1808
|
+
return function () {
|
|
1809
|
+
if (timeout !== null) {
|
|
1810
|
+
clearTimeout(timeout);
|
|
1811
|
+
}
|
|
1812
|
+
};
|
|
1813
|
+
}, [active, mounted, setMounted, index]);
|
|
1739
1814
|
return /*#__PURE__*/React.createElement("div", {
|
|
1740
1815
|
className: classNames([styles$5.container, _defineProperty({}, className, className !== null)])
|
|
1741
1816
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1817
|
+
className: styles$5.inner,
|
|
1742
1818
|
style: {
|
|
1743
1819
|
width: width,
|
|
1744
1820
|
height: height,
|
|
1745
1821
|
transform: scale !== null ? "scale(".concat(scale, ")") : null,
|
|
1746
|
-
transformOrigin: scale !== null ? '0 0' : null
|
|
1822
|
+
transformOrigin: scale !== null ? '0 0' : null,
|
|
1823
|
+
opacity: mounted ? 1 : null
|
|
1747
1824
|
}
|
|
1748
|
-
}, /*#__PURE__*/React.createElement(Screen, {
|
|
1825
|
+
}, mounted ? /*#__PURE__*/React.createElement(Screen, {
|
|
1749
1826
|
screen: screen,
|
|
1750
1827
|
renderContext: renderContext,
|
|
1751
1828
|
screenState: screenState,
|
|
1829
|
+
index: index,
|
|
1752
1830
|
active: active,
|
|
1753
1831
|
current: current,
|
|
1754
1832
|
mediaRef: mediaRef
|
|
1755
|
-
})));
|
|
1833
|
+
}) : null));
|
|
1756
1834
|
}
|
|
1757
1835
|
|
|
1758
1836
|
ViewerScreen.propTypes = propTypes$8;
|
|
@@ -1865,9 +1943,10 @@ var stopDragEventsPropagation = {
|
|
|
1865
1943
|
|
|
1866
1944
|
function getFormattedTimestamp(s) {
|
|
1867
1945
|
var withMilliseconds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1868
|
-
var
|
|
1869
|
-
var
|
|
1870
|
-
|
|
1946
|
+
var parts = "".concat(s).split('.');
|
|
1947
|
+
var seconds = parts[0];
|
|
1948
|
+
var ms = withMilliseconds && parts.length > 1 ? ":".concat(parts[1].substring(0, 3)) : '';
|
|
1949
|
+
return (s - (s %= 60)) / 60 + (9 < seconds ? ':' : ':0') + ~~s + ms; // eslint-disable-line
|
|
1871
1950
|
}
|
|
1872
1951
|
|
|
1873
1952
|
var SHOW_MILLISECONDS_THRESHOLD = 5; // show milliseconds when scrubbing if length of video is shorter than 5 seconds
|
|
@@ -2361,7 +2440,6 @@ var propTypes$2 = {
|
|
|
2361
2440
|
screenState: PropTypes.string,
|
|
2362
2441
|
deviceScreens: PropTypes$1.deviceScreens,
|
|
2363
2442
|
renderContext: PropTypes$1.renderContext,
|
|
2364
|
-
visitor: PropTypes$1.visitor,
|
|
2365
2443
|
onScreenChange: PropTypes.func,
|
|
2366
2444
|
tapNextScreenWidthPercent: PropTypes.number,
|
|
2367
2445
|
storyIsParsed: PropTypes.bool,
|
|
@@ -2405,11 +2483,10 @@ var defaultProps$2 = {
|
|
|
2405
2483
|
screenState: null,
|
|
2406
2484
|
deviceScreens: getDeviceScreens(),
|
|
2407
2485
|
renderContext: 'view',
|
|
2408
|
-
visitor: null,
|
|
2409
2486
|
onScreenChange: null,
|
|
2410
2487
|
tapNextScreenWidthPercent: 0.8,
|
|
2411
2488
|
storyIsParsed: false,
|
|
2412
|
-
neighborScreensActive:
|
|
2489
|
+
neighborScreensActive: 1,
|
|
2413
2490
|
neighborScreenOffset: 105,
|
|
2414
2491
|
neighborScreenScale: 0.8,
|
|
2415
2492
|
withMetadata: false,
|
|
@@ -2448,7 +2525,6 @@ var Viewer = function Viewer(_ref) {
|
|
|
2448
2525
|
screenState = _ref.screenState,
|
|
2449
2526
|
deviceScreens = _ref.deviceScreens,
|
|
2450
2527
|
renderContext = _ref.renderContext,
|
|
2451
|
-
visitor = _ref.visitor,
|
|
2452
2528
|
tapNextScreenWidthPercent = _ref.tapNextScreenWidthPercent,
|
|
2453
2529
|
storyIsParsed = _ref.storyIsParsed,
|
|
2454
2530
|
neighborScreensActive = _ref.neighborScreensActive,
|
|
@@ -2769,34 +2845,48 @@ var Viewer = function Viewer(_ref) {
|
|
|
2769
2845
|
springParams: springParams
|
|
2770
2846
|
}),
|
|
2771
2847
|
isDragging = _useDragProgress.dragging,
|
|
2772
|
-
|
|
2848
|
+
progressSpring = _useDragProgress.progress,
|
|
2773
2849
|
dragContentBind = _useDragProgress.bind;
|
|
2774
2850
|
|
|
2775
|
-
var getScreenStylesByIndex = function getScreenStylesByIndex(index,
|
|
2851
|
+
var getScreenStylesByIndex = function getScreenStylesByIndex(index, spring) {
|
|
2776
2852
|
if (transitionType === 'stack') {
|
|
2777
|
-
var _t = index - progress;
|
|
2778
|
-
|
|
2779
|
-
var _clamped = Math.min(1, Math.max(0, _t));
|
|
2780
|
-
|
|
2781
|
-
var invert = Math.min(1, Math.max(0, -_t));
|
|
2782
|
-
var opacity = Math.max(0, 1 - 0.75 * invert + (_t + 1)); // just hide other screens
|
|
2783
|
-
|
|
2784
|
-
if (Math.abs(_t) > neighborScreensActive) return {
|
|
2785
|
-
opacity: 0
|
|
2786
|
-
};
|
|
2787
2853
|
return {
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2854
|
+
zIndex: index,
|
|
2855
|
+
opacity: spring.to(function (progress) {
|
|
2856
|
+
var t = index - progress;
|
|
2857
|
+
var invert = Math.min(1, Math.max(0, -t));
|
|
2858
|
+
if (Math.abs(t) > neighborScreensActive) return 0;
|
|
2859
|
+
return Math.max(0, 1 - 0.75 * invert + (t + 1));
|
|
2860
|
+
}),
|
|
2861
|
+
transform: spring.to(function (progress) {
|
|
2862
|
+
var t = index - progress;
|
|
2863
|
+
var clamped = Math.min(1, Math.max(0, t));
|
|
2864
|
+
var invert = Math.min(1, Math.max(0, -t));
|
|
2865
|
+
if (Math.abs(t) > neighborScreensActive) return 'translateX(100%)';
|
|
2866
|
+
return "translateX(".concat(clamped * 100, "%) scale(").concat(1 - 0.2 * invert, ")");
|
|
2867
|
+
}),
|
|
2868
|
+
boxShadow: spring.to(function (progress) {
|
|
2869
|
+
var t = index - progress;
|
|
2870
|
+
if (Math.abs(t) > neighborScreensActive) return null;
|
|
2871
|
+
var clamped = Math.min(1, Math.max(0, t));
|
|
2872
|
+
return "0 0 ".concat(4 * (1 - clamped), "rem ").concat(-0.5 * (1 - clamped), "rem black");
|
|
2873
|
+
})
|
|
2792
2874
|
};
|
|
2793
2875
|
}
|
|
2794
2876
|
|
|
2795
|
-
var t = index - progress;
|
|
2796
|
-
var clamped = Math.min(1, Math.max(0, Math.abs(t)));
|
|
2797
2877
|
return {
|
|
2798
|
-
opacity:
|
|
2799
|
-
|
|
2878
|
+
opacity: spring.to(function (progress) {
|
|
2879
|
+
var t = index - progress;
|
|
2880
|
+
if (Math.abs(t) > neighborScreensActive) return 0;
|
|
2881
|
+
var clamped = Math.min(1, Math.max(0, Math.abs(t)));
|
|
2882
|
+
return 1 - 0.75 * clamped;
|
|
2883
|
+
}),
|
|
2884
|
+
transform: spring.to(function (progress) {
|
|
2885
|
+
var t = index - progress;
|
|
2886
|
+
if (Math.abs(t) > neighborScreensActive) return "translate(100%)";
|
|
2887
|
+
var clamped = Math.min(1, Math.max(0, Math.abs(t)));
|
|
2888
|
+
return "translateX(".concat(t * neighborScreenOffset, "%) scale(").concat(1 - (1 - neighborScreenScale) * clamped, ")");
|
|
2889
|
+
}),
|
|
2800
2890
|
zIndex: screensCount - index
|
|
2801
2891
|
};
|
|
2802
2892
|
};
|
|
@@ -2853,8 +2943,8 @@ var Viewer = function Viewer(_ref) {
|
|
|
2853
2943
|
useKeyboardShortcuts(keyboardShortcuts, {
|
|
2854
2944
|
disabled: renderContext !== 'view'
|
|
2855
2945
|
});
|
|
2856
|
-
return /*#__PURE__*/React.createElement(
|
|
2857
|
-
|
|
2946
|
+
return /*#__PURE__*/React.createElement(StoryProvider, {
|
|
2947
|
+
story: parsedStory
|
|
2858
2948
|
}, /*#__PURE__*/React.createElement(ScreenSizeProvider, {
|
|
2859
2949
|
size: screenSize
|
|
2860
2950
|
}, /*#__PURE__*/React.createElement(ViewerProvider, {
|
|
@@ -2882,7 +2972,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
2882
2972
|
}), (_ref15 = {}, _defineProperty(_ref15, styles$6.landscape, landscape), _defineProperty(_ref15, styles$6.withoutGestures, withoutGestures), _defineProperty(_ref15, styles$6.hideMenu, !menuVisible), _defineProperty(_ref15, styles$6.fadeMenu, playing && playbackControls && !playbackcontrolsVisible), _defineProperty(_ref15, styles$6.ready, ready || withoutScreensTransforms), _defineProperty(_ref15, styles$6.hasInteracted, hasInteracted), _defineProperty(_ref15, styles$6.isDragging, isDragging), _defineProperty(_ref15, className, className), _ref15)]),
|
|
2883
2973
|
ref: containerRef,
|
|
2884
2974
|
onContextMenu: onContextMenu
|
|
2885
|
-
}, !withoutMenu ? /*#__PURE__*/React.createElement(ViewerMenu, {
|
|
2975
|
+
}, !withoutMenu ? /*#__PURE__*/React.createElement(ViewerMenu$1, {
|
|
2886
2976
|
story: parsedStory,
|
|
2887
2977
|
currentScreenIndex: screenIndex,
|
|
2888
2978
|
withShadow: menuOverScreen && !withoutMenuShadow,
|
|
@@ -2917,12 +3007,12 @@ var Viewer = function Viewer(_ref) {
|
|
|
2917
3007
|
}, screens.map(function (screen, i) {
|
|
2918
3008
|
var current = screenIndex === i;
|
|
2919
3009
|
var active = i >= screenIndex - neighborScreensActive && i <= screenIndex + neighborScreensActive;
|
|
2920
|
-
var screenStyles = getScreenStylesByIndex(i,
|
|
2921
|
-
return /*#__PURE__*/React.createElement(
|
|
3010
|
+
var screenStyles = getScreenStylesByIndex(i, progressSpring);
|
|
3011
|
+
return /*#__PURE__*/React.createElement(animated.div, {
|
|
2922
3012
|
key: "screen-viewer-".concat(screen.id || '', "-").concat(i + 1),
|
|
2923
3013
|
style: screenStyles,
|
|
2924
3014
|
className: classNames([styles$6.screenContainer, _defineProperty({}, styles$6.current, current)])
|
|
2925
|
-
}, screen !== null
|
|
3015
|
+
}, screen !== null ? /*#__PURE__*/React.createElement(ViewerScreen, {
|
|
2926
3016
|
className: styles$6.screen,
|
|
2927
3017
|
screen: screen,
|
|
2928
3018
|
screenState: current ? screenState : null,
|
|
@@ -3036,7 +3126,7 @@ var defaultRoutes = {
|
|
|
3036
3126
|
screen: screen
|
|
3037
3127
|
};
|
|
3038
3128
|
|
|
3039
|
-
var _excluded = ["story", "screenComponents", "memoryRouter", "basePath", "routes", "withoutRouter", "googleApiKey", "trackingVariables", "locale", "locales", "translations", "pathWithIndex"];
|
|
3129
|
+
var _excluded = ["story", "screenComponents", "memoryRouter", "basePath", "routes", "withoutRouter", "googleApiKey", "visitor", "trackingVariables", "locale", "locales", "translations", "pathWithIndex"];
|
|
3040
3130
|
var propTypes = {
|
|
3041
3131
|
story: PropTypes$1.story,
|
|
3042
3132
|
screen: PropTypes.string,
|
|
@@ -3046,6 +3136,7 @@ var propTypes = {
|
|
|
3046
3136
|
routes: routes,
|
|
3047
3137
|
withoutRouter: PropTypes.bool,
|
|
3048
3138
|
googleApiKey: PropTypes.string,
|
|
3139
|
+
visitor: PropTypes$1.visitor,
|
|
3049
3140
|
trackingVariables: PropTypes$1.trackingVariables,
|
|
3050
3141
|
locale: PropTypes.string,
|
|
3051
3142
|
locales: PropTypes.arrayOf(PropTypes.string),
|
|
@@ -3062,6 +3153,7 @@ var defaultProps = {
|
|
|
3062
3153
|
routes: defaultRoutes,
|
|
3063
3154
|
withoutRouter: false,
|
|
3064
3155
|
googleApiKey: null,
|
|
3156
|
+
visitor: null,
|
|
3065
3157
|
trackingVariables: null,
|
|
3066
3158
|
locale: 'en',
|
|
3067
3159
|
locales: ['fr', 'en'],
|
|
@@ -3078,6 +3170,7 @@ var ViewerContainer = function ViewerContainer(_ref) {
|
|
|
3078
3170
|
routes = _ref.routes,
|
|
3079
3171
|
withoutRouter = _ref.withoutRouter,
|
|
3080
3172
|
googleApiKey = _ref.googleApiKey,
|
|
3173
|
+
visitor = _ref.visitor,
|
|
3081
3174
|
trackingVariables = _ref.trackingVariables,
|
|
3082
3175
|
locale = _ref.locale,
|
|
3083
3176
|
locales = _ref.locales,
|
|
@@ -3127,7 +3220,9 @@ var ViewerContainer = function ViewerContainer(_ref) {
|
|
|
3127
3220
|
}, /*#__PURE__*/React.createElement(ScreensProvider, null, /*#__PURE__*/React.createElement(ComponentsProvider, {
|
|
3128
3221
|
namespace: SCREENS_NAMESPACE,
|
|
3129
3222
|
components: screenComponents || {}
|
|
3130
|
-
}, /*#__PURE__*/React.createElement(
|
|
3223
|
+
}, /*#__PURE__*/React.createElement(VisitorProvider, {
|
|
3224
|
+
visitor: visitor
|
|
3225
|
+
}, /*#__PURE__*/React.createElement(PlaybackProvider, null, /*#__PURE__*/React.createElement(TrackingProvider, {
|
|
3131
3226
|
variables: finalTrackingVariables
|
|
3132
3227
|
}, withoutRouter ? /*#__PURE__*/React.createElement(Viewer, Object.assign({
|
|
3133
3228
|
story: story,
|