@micromag/screen-image-360 0.3.347 → 0.3.354
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 +1 -1
- package/es/index.js +88 -70
- package/lib/index.js +90 -71
- package/package.json +11 -11
package/assets/css/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.micromag-screen-image-360-container .micromag-screen-image-360-canvasButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-block;font-family:inherit;padding:0;position:relative}.micromag-screen-image-360-container .micromag-screen-image-360-background,.micromag-screen-image-360-container .micromag-screen-image-360-canvas,.micromag-screen-image-360-container .micromag-screen-image-360-canvasButton,.micromag-screen-image-360-container .micromag-screen-image-360-inner,.micromag-screen-image-360-container .micromag-screen-image-360-placeholder,.micromag-screen-image-360-container .micromag-screen-image-360-video{height:100%;left:0;position:absolute;top:0;width:100%}.micromag-screen-image-360-container{height:100%;overflow:hidden;position:relative;width:100%}.micromag-screen-image-360-disabled.micromag-screen-image-360-container{overflow:hidden;pointer-events:none}.micromag-screen-image-360-hidden.micromag-screen-image-360-container{display:none;visibility:hidden}.micromag-screen-image-360-placeholder.micromag-screen-image-360-container .micromag-screen-image-360-content{padding:6px;position:relative}.micromag-screen-image-360-container .micromag-screen-image-360-empty{border:2px dashed #343434;color:#343434;margin:5px auto}.micromag-screen-image-360-container .micromag-screen-image-360-background{z-index:0}.micromag-screen-image-360-container .micromag-screen-image-360-content{z-index:1}.micromag-screen-image-360-container .micromag-screen-image-360-empty{height:100%;margin:0}.micromag-screen-image-360-container .micromag-screen-image-360-canvasButton{-ms-touch-action:none;touch-action:none}.micromag-screen-image-360-container .micromag-screen-image-360-videoContainer{position:absolute}.micromag-screen-image-360-container .micromag-screen-image-360-video{visibility:hidden}.micromag-screen-image-360-container .micromag-screen-image-360-video video{height:100%}.micromag-screen-image-360-container .micromag-screen-image-360-mediaControls{padding:10px 20px 20px}.micromag-screen-image-360-container .micromag-screen-image-360-placeholder{-ms-flex-pack:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;justify-content:center}.micromag-screen-image-360-container .micromag-screen-image-360-callToAction{bottom:0;left:0;position:absolute;width:100
|
|
1
|
+
.micromag-screen-image-360-container .micromag-screen-image-360-canvasButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-block;font-family:inherit;padding:0;position:relative}.micromag-screen-image-360-container .micromag-screen-image-360-background,.micromag-screen-image-360-container .micromag-screen-image-360-canvas,.micromag-screen-image-360-container .micromag-screen-image-360-canvasButton,.micromag-screen-image-360-container .micromag-screen-image-360-inner,.micromag-screen-image-360-container .micromag-screen-image-360-placeholder,.micromag-screen-image-360-container .micromag-screen-image-360-video{height:100%;left:0;position:absolute;top:0;width:100%}.micromag-screen-image-360-container{height:100%;overflow:hidden;position:relative;width:100%}.micromag-screen-image-360-disabled.micromag-screen-image-360-container{overflow:hidden;pointer-events:none}.micromag-screen-image-360-hidden.micromag-screen-image-360-container{display:none;visibility:hidden}.micromag-screen-image-360-placeholder.micromag-screen-image-360-container .micromag-screen-image-360-content{padding:6px;position:relative}.micromag-screen-image-360-container .micromag-screen-image-360-empty{border:2px dashed #343434;color:#343434;margin:5px auto}.micromag-screen-image-360-container .micromag-screen-image-360-background{z-index:0}.micromag-screen-image-360-container .micromag-screen-image-360-content{z-index:1}.micromag-screen-image-360-container .micromag-screen-image-360-empty{height:100%;margin:0}.micromag-screen-image-360-container .micromag-screen-image-360-canvasButton{-ms-touch-action:none;touch-action:none}.micromag-screen-image-360-container .micromag-screen-image-360-videoContainer{position:absolute}.micromag-screen-image-360-container .micromag-screen-image-360-video{visibility:hidden}.micromag-screen-image-360-container .micromag-screen-image-360-video video{height:100%}.micromag-screen-image-360-container .micromag-screen-image-360-mediaControls{padding:10px 20px 20px}.micromag-screen-image-360-container .micromag-screen-image-360-placeholder{-ms-flex-pack:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;justify-content:center}.micromag-screen-image-360-container .micromag-screen-image-360-header{left:0;position:absolute;top:0;width:100%;z-index:1}.micromag-screen-image-360-container .micromag-screen-image-360-callToAction{bottom:0;left:0;position:absolute;width:100%;z-index:1}.micromag-screen-image-360-container.micromag-screen-image-360-showVideo .micromag-screen-image-360-video{visibility:visible}
|
package/es/index.js
CHANGED
|
@@ -10,9 +10,11 @@ import { PropTypes as PropTypes$1 } from '@micromag/core';
|
|
|
10
10
|
import { ScreenElement, PlaceholderVideo360, Transitions } from '@micromag/core/components';
|
|
11
11
|
import { useScreenRenderContext, useScreenSize, useViewerNavigation, useViewerWebView, useViewerContext, usePlaybackContext, usePlaybackMediaRef } from '@micromag/core/contexts';
|
|
12
12
|
import { useTrackScreenEvent, useAnimationFrame } from '@micromag/core/hooks';
|
|
13
|
+
import { isHeaderFilled, isFooterFilled, getFooterProps } from '@micromag/core/utils';
|
|
13
14
|
import Background from '@micromag/element-background';
|
|
14
|
-
import CallToAction from '@micromag/element-call-to-action';
|
|
15
15
|
import Container from '@micromag/element-container';
|
|
16
|
+
import Footer from '@micromag/element-footer';
|
|
17
|
+
import Header from '@micromag/element-header';
|
|
16
18
|
import Image from '@micromag/element-image';
|
|
17
19
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
18
20
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
@@ -71,13 +73,14 @@ var useThree = function useThree() {
|
|
|
71
73
|
return loadedPackage;
|
|
72
74
|
};
|
|
73
75
|
|
|
74
|
-
var styles = {"container":"micromag-screen-image-360-container","canvasButton":"micromag-screen-image-360-canvasButton","placeholder":"micromag-screen-image-360-placeholder","inner":"micromag-screen-image-360-inner","canvas":"micromag-screen-image-360-canvas","video":"micromag-screen-image-360-video","background":"micromag-screen-image-360-background","disabled":"micromag-screen-image-360-disabled","hidden":"micromag-screen-image-360-hidden","content":"micromag-screen-image-360-content","empty":"micromag-screen-image-360-empty","videoContainer":"micromag-screen-image-360-videoContainer","mediaControls":"micromag-screen-image-360-mediaControls","callToAction":"micromag-screen-image-360-callToAction","showVideo":"micromag-screen-image-360-showVideo"};
|
|
76
|
+
var styles = {"container":"micromag-screen-image-360-container","canvasButton":"micromag-screen-image-360-canvasButton","placeholder":"micromag-screen-image-360-placeholder","inner":"micromag-screen-image-360-inner","canvas":"micromag-screen-image-360-canvas","video":"micromag-screen-image-360-video","background":"micromag-screen-image-360-background","disabled":"micromag-screen-image-360-disabled","hidden":"micromag-screen-image-360-hidden","content":"micromag-screen-image-360-content","empty":"micromag-screen-image-360-empty","videoContainer":"micromag-screen-image-360-videoContainer","mediaControls":"micromag-screen-image-360-mediaControls","header":"micromag-screen-image-360-header","callToAction":"micromag-screen-image-360-callToAction","showVideo":"micromag-screen-image-360-showVideo"};
|
|
75
77
|
|
|
76
78
|
var propTypes = {
|
|
77
79
|
layout: PropTypes.oneOf(['full']),
|
|
78
80
|
image: PropTypes$1.imageMedia,
|
|
79
81
|
background: PropTypes$1.backgroundElement,
|
|
80
|
-
|
|
82
|
+
header: PropTypes$1.header,
|
|
83
|
+
footer: PropTypes$1.footer,
|
|
81
84
|
current: PropTypes.bool,
|
|
82
85
|
active: PropTypes.bool,
|
|
83
86
|
transitions: PropTypes$1.transitions,
|
|
@@ -89,7 +92,8 @@ var defaultProps = {
|
|
|
89
92
|
layout: 'full',
|
|
90
93
|
image: null,
|
|
91
94
|
background: null,
|
|
92
|
-
|
|
95
|
+
header: null,
|
|
96
|
+
footer: null,
|
|
93
97
|
current: true,
|
|
94
98
|
active: true,
|
|
95
99
|
transitions: null,
|
|
@@ -98,11 +102,12 @@ var defaultProps = {
|
|
|
98
102
|
className: null
|
|
99
103
|
};
|
|
100
104
|
var Image360Screen = function Image360Screen(_ref) {
|
|
101
|
-
var
|
|
105
|
+
var _ref6;
|
|
102
106
|
_ref.layout;
|
|
103
107
|
var image = _ref.image,
|
|
104
108
|
background = _ref.background,
|
|
105
|
-
|
|
109
|
+
header = _ref.header,
|
|
110
|
+
footer = _ref.footer,
|
|
106
111
|
current = _ref.current,
|
|
107
112
|
active = _ref.active,
|
|
108
113
|
transitions = _ref.transitions,
|
|
@@ -141,28 +146,33 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
141
146
|
// ------------------------------------
|
|
142
147
|
|
|
143
148
|
var hasMedia = image !== null;
|
|
144
|
-
var
|
|
145
|
-
|
|
146
|
-
|
|
149
|
+
var hasHeader = isHeaderFilled(header);
|
|
150
|
+
var hasFooter = isFooterFilled(footer);
|
|
151
|
+
var footerProps = getFooterProps(footer, {
|
|
152
|
+
isView: isView,
|
|
153
|
+
current: current,
|
|
154
|
+
openWebView: openWebView,
|
|
155
|
+
isPreview: isPreview
|
|
156
|
+
});
|
|
147
157
|
var _useState = useState(!hasMedia),
|
|
148
158
|
_useState2 = _slicedToArray(_useState, 2),
|
|
149
159
|
ready = _useState2[0],
|
|
150
160
|
setReady = _useState2[1];
|
|
151
161
|
var transitionPlaying = current && ready;
|
|
152
162
|
var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
|
|
153
|
-
var
|
|
154
|
-
|
|
155
|
-
imageMetadata =
|
|
156
|
-
|
|
157
|
-
imageUrl =
|
|
158
|
-
|
|
159
|
-
thumbnailUrl =
|
|
163
|
+
var _ref2 = image || {},
|
|
164
|
+
_ref2$metadata = _ref2.metadata,
|
|
165
|
+
imageMetadata = _ref2$metadata === void 0 ? null : _ref2$metadata,
|
|
166
|
+
_ref2$url = _ref2.url,
|
|
167
|
+
imageUrl = _ref2$url === void 0 ? null : _ref2$url,
|
|
168
|
+
_ref2$thumbnail_url = _ref2.thumbnail_url,
|
|
169
|
+
thumbnailUrl = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url;
|
|
160
170
|
var hasMediaUrl = imageUrl !== null;
|
|
161
|
-
var
|
|
162
|
-
|
|
163
|
-
imageWidth =
|
|
164
|
-
|
|
165
|
-
imageHeight =
|
|
171
|
+
var _ref3 = imageMetadata || {},
|
|
172
|
+
_ref3$width = _ref3.width,
|
|
173
|
+
imageWidth = _ref3$width === void 0 ? 0 : _ref3$width,
|
|
174
|
+
_ref3$height = _ref3.height,
|
|
175
|
+
imageHeight = _ref3$height === void 0 ? 0 : _ref3$height;
|
|
166
176
|
var hasThumbnail = thumbnailUrl !== null;
|
|
167
177
|
var _useState3 = useState(!hasThumbnail),
|
|
168
178
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
@@ -296,20 +306,20 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
296
306
|
var pixelsMovedTracked = useRef(false);
|
|
297
307
|
var onPointerMove = useCallback(function (e) {
|
|
298
308
|
if (pointerDown.current) {
|
|
299
|
-
var
|
|
300
|
-
|
|
301
|
-
clientX =
|
|
302
|
-
|
|
303
|
-
clientY =
|
|
309
|
+
var _ref4 = e || {},
|
|
310
|
+
_ref4$clientX = _ref4.clientX,
|
|
311
|
+
clientX = _ref4$clientX === void 0 ? null : _ref4$clientX,
|
|
312
|
+
_ref4$clientY = _ref4.clientY,
|
|
313
|
+
clientY = _ref4$clientY === void 0 ? null : _ref4$clientY;
|
|
304
314
|
var downDeltaX = pointerDownX.current - clientX;
|
|
305
315
|
var downDeltaY = pointerDownY.current - clientY;
|
|
306
316
|
lon.current = downDeltaX * 0.2 + pointerLon.current;
|
|
307
317
|
lat.current = downDeltaY * 0.2 + pointerLat.current;
|
|
308
|
-
var
|
|
309
|
-
|
|
310
|
-
lastX =
|
|
311
|
-
|
|
312
|
-
lastY =
|
|
318
|
+
var _ref5 = lastPointerClient.current || {},
|
|
319
|
+
_ref5$x = _ref5.x,
|
|
320
|
+
lastX = _ref5$x === void 0 ? clientX : _ref5$x,
|
|
321
|
+
_ref5$y = _ref5.y,
|
|
322
|
+
lastY = _ref5$y === void 0 ? clientY : _ref5$y;
|
|
313
323
|
var deltaX = Math.abs(lastX - clientX) || 0;
|
|
314
324
|
var deltaY = Math.abs(lastY - clientY) || 0;
|
|
315
325
|
pixelsMoved.current += deltaX + deltaY;
|
|
@@ -359,10 +369,33 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
359
369
|
}
|
|
360
370
|
pointerDown.current = false;
|
|
361
371
|
}, [gotoPreviousScreen, gotoNextScreen, landscape]);
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
372
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
373
|
+
className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.showVideo, isPreview || isStatic || isCapture), _ref6)]),
|
|
374
|
+
"data-screen-ready": (isStatic || isCapture) && posterReady || ready
|
|
375
|
+
}, /*#__PURE__*/React.createElement(Container, {
|
|
376
|
+
width: width,
|
|
377
|
+
height: height,
|
|
378
|
+
className: styles.content
|
|
379
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
380
|
+
ref: canvasContainerRef,
|
|
381
|
+
className: styles.videoContainer,
|
|
382
|
+
style: {
|
|
383
|
+
width: resizedImageWidth,
|
|
384
|
+
height: resizedImageHeight,
|
|
385
|
+
left: resizedImageLeft,
|
|
386
|
+
top: resizedImageTop
|
|
387
|
+
}
|
|
388
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
389
|
+
className: styles.inner
|
|
390
|
+
}, !isPlaceholder && hasHeader ? /*#__PURE__*/React.createElement("div", {
|
|
391
|
+
key: "header",
|
|
392
|
+
className: styles.header,
|
|
393
|
+
style: {
|
|
394
|
+
paddingTop: spacing,
|
|
395
|
+
paddingLeft: spacing,
|
|
396
|
+
paddingRight: spacing
|
|
397
|
+
}
|
|
398
|
+
}, /*#__PURE__*/React.createElement(Header, header)) : null, /*#__PURE__*/React.createElement(ScreenElement, {
|
|
366
399
|
key: "video",
|
|
367
400
|
placeholder: /*#__PURE__*/React.createElement(PlaceholderVideo360, {
|
|
368
401
|
className: styles.placeholder,
|
|
@@ -415,7 +448,7 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
415
448
|
height: resizedImageHeight,
|
|
416
449
|
resolution: resolution,
|
|
417
450
|
shouldLoad: mediaShouldLoad
|
|
418
|
-
})))), !isPlaceholder &&
|
|
451
|
+
})))), !isPlaceholder && hasFooter ? /*#__PURE__*/React.createElement("div", {
|
|
419
452
|
key: "callToAction",
|
|
420
453
|
className: styles.callToAction,
|
|
421
454
|
style: {
|
|
@@ -425,30 +458,7 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
425
458
|
paddingBottom: spacing / 2,
|
|
426
459
|
paddingTop: 0
|
|
427
460
|
}
|
|
428
|
-
}, /*#__PURE__*/React.createElement(
|
|
429
|
-
animationDisabled: isPreview,
|
|
430
|
-
focusable: current && isView,
|
|
431
|
-
openWebView: openWebView
|
|
432
|
-
}))) : null];
|
|
433
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
434
|
-
className: classNames([styles.container, (_ref7 = {}, _defineProperty(_ref7, className, className !== null), _defineProperty(_ref7, styles.showVideo, isPreview || isStatic || isCapture), _ref7)]),
|
|
435
|
-
"data-screen-ready": (isStatic || isCapture) && posterReady || ready
|
|
436
|
-
}, /*#__PURE__*/React.createElement(Container, {
|
|
437
|
-
width: width,
|
|
438
|
-
height: height,
|
|
439
|
-
className: styles.content
|
|
440
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
441
|
-
ref: canvasContainerRef,
|
|
442
|
-
className: styles.videoContainer,
|
|
443
|
-
style: {
|
|
444
|
-
width: resizedImageWidth,
|
|
445
|
-
height: resizedImageHeight,
|
|
446
|
-
left: resizedImageLeft,
|
|
447
|
-
top: resizedImageTop
|
|
448
|
-
}
|
|
449
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
450
|
-
className: styles.inner
|
|
451
|
-
}, items)), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
|
|
461
|
+
}, /*#__PURE__*/React.createElement(Footer, footerProps)) : null)), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
|
|
452
462
|
background: background,
|
|
453
463
|
width: width,
|
|
454
464
|
height: height,
|
|
@@ -538,17 +548,25 @@ var definition = {
|
|
|
538
548
|
}]
|
|
539
549
|
})
|
|
540
550
|
}, {
|
|
541
|
-
name: '
|
|
542
|
-
type: '
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
551
|
+
name: 'header',
|
|
552
|
+
type: 'header',
|
|
553
|
+
label: defineMessage({
|
|
554
|
+
id: "rhuDxI",
|
|
555
|
+
defaultMessage: [{
|
|
556
|
+
"type": 0,
|
|
557
|
+
"value": "Header"
|
|
558
|
+
}]
|
|
559
|
+
})
|
|
549
560
|
}, {
|
|
550
|
-
name: '
|
|
551
|
-
type: '
|
|
561
|
+
name: 'footer',
|
|
562
|
+
type: 'footer',
|
|
563
|
+
label: defineMessage({
|
|
564
|
+
id: "g4nybp",
|
|
565
|
+
defaultMessage: [{
|
|
566
|
+
"type": 0,
|
|
567
|
+
"value": "Footer"
|
|
568
|
+
}]
|
|
569
|
+
})
|
|
552
570
|
}]
|
|
553
571
|
};
|
|
554
572
|
|
package/lib/index.js
CHANGED
|
@@ -14,9 +14,11 @@ var core = require('@micromag/core');
|
|
|
14
14
|
var components = require('@micromag/core/components');
|
|
15
15
|
var contexts = require('@micromag/core/contexts');
|
|
16
16
|
var hooks = require('@micromag/core/hooks');
|
|
17
|
+
var utils = require('@micromag/core/utils');
|
|
17
18
|
var Background = require('@micromag/element-background');
|
|
18
|
-
var CallToAction = require('@micromag/element-call-to-action');
|
|
19
19
|
var Container = require('@micromag/element-container');
|
|
20
|
+
var Footer = require('@micromag/element-footer');
|
|
21
|
+
var Header = require('@micromag/element-header');
|
|
20
22
|
var Image = require('@micromag/element-image');
|
|
21
23
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
22
24
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
@@ -48,8 +50,9 @@ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
|
48
50
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
49
51
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
50
52
|
var Background__default = /*#__PURE__*/_interopDefaultLegacy(Background);
|
|
51
|
-
var CallToAction__default = /*#__PURE__*/_interopDefaultLegacy(CallToAction);
|
|
52
53
|
var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
|
|
54
|
+
var Footer__default = /*#__PURE__*/_interopDefaultLegacy(Footer);
|
|
55
|
+
var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
|
|
53
56
|
var Image__default = /*#__PURE__*/_interopDefaultLegacy(Image);
|
|
54
57
|
var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
|
55
58
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
@@ -107,13 +110,14 @@ var useThree = function useThree() {
|
|
|
107
110
|
return loadedPackage;
|
|
108
111
|
};
|
|
109
112
|
|
|
110
|
-
var styles = {"container":"micromag-screen-image-360-container","canvasButton":"micromag-screen-image-360-canvasButton","placeholder":"micromag-screen-image-360-placeholder","inner":"micromag-screen-image-360-inner","canvas":"micromag-screen-image-360-canvas","video":"micromag-screen-image-360-video","background":"micromag-screen-image-360-background","disabled":"micromag-screen-image-360-disabled","hidden":"micromag-screen-image-360-hidden","content":"micromag-screen-image-360-content","empty":"micromag-screen-image-360-empty","videoContainer":"micromag-screen-image-360-videoContainer","mediaControls":"micromag-screen-image-360-mediaControls","callToAction":"micromag-screen-image-360-callToAction","showVideo":"micromag-screen-image-360-showVideo"};
|
|
113
|
+
var styles = {"container":"micromag-screen-image-360-container","canvasButton":"micromag-screen-image-360-canvasButton","placeholder":"micromag-screen-image-360-placeholder","inner":"micromag-screen-image-360-inner","canvas":"micromag-screen-image-360-canvas","video":"micromag-screen-image-360-video","background":"micromag-screen-image-360-background","disabled":"micromag-screen-image-360-disabled","hidden":"micromag-screen-image-360-hidden","content":"micromag-screen-image-360-content","empty":"micromag-screen-image-360-empty","videoContainer":"micromag-screen-image-360-videoContainer","mediaControls":"micromag-screen-image-360-mediaControls","header":"micromag-screen-image-360-header","callToAction":"micromag-screen-image-360-callToAction","showVideo":"micromag-screen-image-360-showVideo"};
|
|
111
114
|
|
|
112
115
|
var propTypes = {
|
|
113
116
|
layout: PropTypes__default["default"].oneOf(['full']),
|
|
114
117
|
image: core.PropTypes.imageMedia,
|
|
115
118
|
background: core.PropTypes.backgroundElement,
|
|
116
|
-
|
|
119
|
+
header: core.PropTypes.header,
|
|
120
|
+
footer: core.PropTypes.footer,
|
|
117
121
|
current: PropTypes__default["default"].bool,
|
|
118
122
|
active: PropTypes__default["default"].bool,
|
|
119
123
|
transitions: core.PropTypes.transitions,
|
|
@@ -125,7 +129,8 @@ var defaultProps = {
|
|
|
125
129
|
layout: 'full',
|
|
126
130
|
image: null,
|
|
127
131
|
background: null,
|
|
128
|
-
|
|
132
|
+
header: null,
|
|
133
|
+
footer: null,
|
|
129
134
|
current: true,
|
|
130
135
|
active: true,
|
|
131
136
|
transitions: null,
|
|
@@ -134,11 +139,12 @@ var defaultProps = {
|
|
|
134
139
|
className: null
|
|
135
140
|
};
|
|
136
141
|
var Image360Screen = function Image360Screen(_ref) {
|
|
137
|
-
var
|
|
142
|
+
var _ref6;
|
|
138
143
|
_ref.layout;
|
|
139
144
|
var image = _ref.image,
|
|
140
145
|
background = _ref.background,
|
|
141
|
-
|
|
146
|
+
header = _ref.header,
|
|
147
|
+
footer = _ref.footer,
|
|
142
148
|
current = _ref.current,
|
|
143
149
|
active = _ref.active,
|
|
144
150
|
transitions = _ref.transitions,
|
|
@@ -177,28 +183,33 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
177
183
|
// ------------------------------------
|
|
178
184
|
|
|
179
185
|
var hasMedia = image !== null;
|
|
180
|
-
var
|
|
181
|
-
|
|
182
|
-
|
|
186
|
+
var hasHeader = utils.isHeaderFilled(header);
|
|
187
|
+
var hasFooter = utils.isFooterFilled(footer);
|
|
188
|
+
var footerProps = utils.getFooterProps(footer, {
|
|
189
|
+
isView: isView,
|
|
190
|
+
current: current,
|
|
191
|
+
openWebView: openWebView,
|
|
192
|
+
isPreview: isPreview
|
|
193
|
+
});
|
|
183
194
|
var _useState = React.useState(!hasMedia),
|
|
184
195
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
185
196
|
ready = _useState2[0],
|
|
186
197
|
setReady = _useState2[1];
|
|
187
198
|
var transitionPlaying = current && ready;
|
|
188
199
|
var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
|
|
189
|
-
var
|
|
190
|
-
|
|
191
|
-
imageMetadata =
|
|
192
|
-
|
|
193
|
-
imageUrl =
|
|
194
|
-
|
|
195
|
-
thumbnailUrl =
|
|
200
|
+
var _ref2 = image || {},
|
|
201
|
+
_ref2$metadata = _ref2.metadata,
|
|
202
|
+
imageMetadata = _ref2$metadata === void 0 ? null : _ref2$metadata,
|
|
203
|
+
_ref2$url = _ref2.url,
|
|
204
|
+
imageUrl = _ref2$url === void 0 ? null : _ref2$url,
|
|
205
|
+
_ref2$thumbnail_url = _ref2.thumbnail_url,
|
|
206
|
+
thumbnailUrl = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url;
|
|
196
207
|
var hasMediaUrl = imageUrl !== null;
|
|
197
|
-
var
|
|
198
|
-
|
|
199
|
-
imageWidth =
|
|
200
|
-
|
|
201
|
-
imageHeight =
|
|
208
|
+
var _ref3 = imageMetadata || {},
|
|
209
|
+
_ref3$width = _ref3.width,
|
|
210
|
+
imageWidth = _ref3$width === void 0 ? 0 : _ref3$width,
|
|
211
|
+
_ref3$height = _ref3.height,
|
|
212
|
+
imageHeight = _ref3$height === void 0 ? 0 : _ref3$height;
|
|
202
213
|
var hasThumbnail = thumbnailUrl !== null;
|
|
203
214
|
var _useState3 = React.useState(!hasThumbnail),
|
|
204
215
|
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
@@ -332,20 +343,20 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
332
343
|
var pixelsMovedTracked = React.useRef(false);
|
|
333
344
|
var onPointerMove = React.useCallback(function (e) {
|
|
334
345
|
if (pointerDown.current) {
|
|
335
|
-
var
|
|
336
|
-
|
|
337
|
-
clientX =
|
|
338
|
-
|
|
339
|
-
clientY =
|
|
346
|
+
var _ref4 = e || {},
|
|
347
|
+
_ref4$clientX = _ref4.clientX,
|
|
348
|
+
clientX = _ref4$clientX === void 0 ? null : _ref4$clientX,
|
|
349
|
+
_ref4$clientY = _ref4.clientY,
|
|
350
|
+
clientY = _ref4$clientY === void 0 ? null : _ref4$clientY;
|
|
340
351
|
var downDeltaX = pointerDownX.current - clientX;
|
|
341
352
|
var downDeltaY = pointerDownY.current - clientY;
|
|
342
353
|
lon.current = downDeltaX * 0.2 + pointerLon.current;
|
|
343
354
|
lat.current = downDeltaY * 0.2 + pointerLat.current;
|
|
344
|
-
var
|
|
345
|
-
|
|
346
|
-
lastX =
|
|
347
|
-
|
|
348
|
-
lastY =
|
|
355
|
+
var _ref5 = lastPointerClient.current || {},
|
|
356
|
+
_ref5$x = _ref5.x,
|
|
357
|
+
lastX = _ref5$x === void 0 ? clientX : _ref5$x,
|
|
358
|
+
_ref5$y = _ref5.y,
|
|
359
|
+
lastY = _ref5$y === void 0 ? clientY : _ref5$y;
|
|
349
360
|
var deltaX = Math.abs(lastX - clientX) || 0;
|
|
350
361
|
var deltaY = Math.abs(lastY - clientY) || 0;
|
|
351
362
|
pixelsMoved.current += deltaX + deltaY;
|
|
@@ -395,10 +406,33 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
395
406
|
}
|
|
396
407
|
pointerDown.current = false;
|
|
397
408
|
}, [gotoPreviousScreen, gotoNextScreen, landscape]);
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
409
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
410
|
+
className: classNames__default["default"]([styles.container, (_ref6 = {}, _defineProperty__default["default"](_ref6, className, className !== null), _defineProperty__default["default"](_ref6, styles.showVideo, isPreview || isStatic || isCapture), _ref6)]),
|
|
411
|
+
"data-screen-ready": (isStatic || isCapture) && posterReady || ready
|
|
412
|
+
}, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
|
|
413
|
+
width: width,
|
|
414
|
+
height: height,
|
|
415
|
+
className: styles.content
|
|
416
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
417
|
+
ref: canvasContainerRef,
|
|
418
|
+
className: styles.videoContainer,
|
|
419
|
+
style: {
|
|
420
|
+
width: resizedImageWidth,
|
|
421
|
+
height: resizedImageHeight,
|
|
422
|
+
left: resizedImageLeft,
|
|
423
|
+
top: resizedImageTop
|
|
424
|
+
}
|
|
425
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
426
|
+
className: styles.inner
|
|
427
|
+
}, !isPlaceholder && hasHeader ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
428
|
+
key: "header",
|
|
429
|
+
className: styles.header,
|
|
430
|
+
style: {
|
|
431
|
+
paddingTop: spacing,
|
|
432
|
+
paddingLeft: spacing,
|
|
433
|
+
paddingRight: spacing
|
|
434
|
+
}
|
|
435
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], header)) : null, /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
|
|
402
436
|
key: "video",
|
|
403
437
|
placeholder: /*#__PURE__*/React__default["default"].createElement(components.PlaceholderVideo360, {
|
|
404
438
|
className: styles.placeholder,
|
|
@@ -451,7 +485,7 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
451
485
|
height: resizedImageHeight,
|
|
452
486
|
resolution: resolution,
|
|
453
487
|
shouldLoad: mediaShouldLoad
|
|
454
|
-
})))), !isPlaceholder &&
|
|
488
|
+
})))), !isPlaceholder && hasFooter ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
455
489
|
key: "callToAction",
|
|
456
490
|
className: styles.callToAction,
|
|
457
491
|
style: {
|
|
@@ -461,30 +495,7 @@ var Image360Screen = function Image360Screen(_ref) {
|
|
|
461
495
|
paddingBottom: spacing / 2,
|
|
462
496
|
paddingTop: 0
|
|
463
497
|
}
|
|
464
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
465
|
-
animationDisabled: isPreview,
|
|
466
|
-
focusable: current && isView,
|
|
467
|
-
openWebView: openWebView
|
|
468
|
-
}))) : null];
|
|
469
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
470
|
-
className: classNames__default["default"]([styles.container, (_ref7 = {}, _defineProperty__default["default"](_ref7, className, className !== null), _defineProperty__default["default"](_ref7, styles.showVideo, isPreview || isStatic || isCapture), _ref7)]),
|
|
471
|
-
"data-screen-ready": (isStatic || isCapture) && posterReady || ready
|
|
472
|
-
}, /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
|
|
473
|
-
width: width,
|
|
474
|
-
height: height,
|
|
475
|
-
className: styles.content
|
|
476
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
477
|
-
ref: canvasContainerRef,
|
|
478
|
-
className: styles.videoContainer,
|
|
479
|
-
style: {
|
|
480
|
-
width: resizedImageWidth,
|
|
481
|
-
height: resizedImageHeight,
|
|
482
|
-
left: resizedImageLeft,
|
|
483
|
-
top: resizedImageTop
|
|
484
|
-
}
|
|
485
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
486
|
-
className: styles.inner
|
|
487
|
-
}, items)), !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Background__default["default"], {
|
|
498
|
+
}, /*#__PURE__*/React__default["default"].createElement(Footer__default["default"], footerProps)) : null)), !isPlaceholder ? /*#__PURE__*/React__default["default"].createElement(Background__default["default"], {
|
|
488
499
|
background: background,
|
|
489
500
|
width: width,
|
|
490
501
|
height: height,
|
|
@@ -574,17 +585,25 @@ var definition = {
|
|
|
574
585
|
}]
|
|
575
586
|
})
|
|
576
587
|
}, {
|
|
577
|
-
name: '
|
|
578
|
-
type: '
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
588
|
+
name: 'header',
|
|
589
|
+
type: 'header',
|
|
590
|
+
label: reactIntl.defineMessage({
|
|
591
|
+
id: "rhuDxI",
|
|
592
|
+
defaultMessage: [{
|
|
593
|
+
"type": 0,
|
|
594
|
+
"value": "Header"
|
|
595
|
+
}]
|
|
596
|
+
})
|
|
585
597
|
}, {
|
|
586
|
-
name: '
|
|
587
|
-
type: '
|
|
598
|
+
name: 'footer',
|
|
599
|
+
type: 'footer',
|
|
600
|
+
label: reactIntl.defineMessage({
|
|
601
|
+
id: "g4nybp",
|
|
602
|
+
defaultMessage: [{
|
|
603
|
+
"type": 0,
|
|
604
|
+
"value": "Footer"
|
|
605
|
+
}]
|
|
606
|
+
})
|
|
588
607
|
}]
|
|
589
608
|
};
|
|
590
609
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/screen-image-360",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.354",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -50,15 +50,15 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@babel/runtime": "^7.13.10",
|
|
52
52
|
"@folklore/size": "^0.1.20",
|
|
53
|
-
"@micromag/core": "^0.3.
|
|
54
|
-
"@micromag/element-background": "^0.3.
|
|
55
|
-
"@micromag/element-
|
|
56
|
-
"@micromag/element-
|
|
57
|
-
"@micromag/element-
|
|
58
|
-
"@micromag/element-
|
|
59
|
-
"@micromag/element-
|
|
60
|
-
"@micromag/element-video": "^0.3.
|
|
61
|
-
"@micromag/transforms": "^0.3.
|
|
53
|
+
"@micromag/core": "^0.3.354",
|
|
54
|
+
"@micromag/element-background": "^0.3.354",
|
|
55
|
+
"@micromag/element-closed-captions": "^0.3.354",
|
|
56
|
+
"@micromag/element-container": "^0.3.354",
|
|
57
|
+
"@micromag/element-footer": "^0.3.354",
|
|
58
|
+
"@micromag/element-header": "^0.3.354",
|
|
59
|
+
"@micromag/element-image": "^0.3.354",
|
|
60
|
+
"@micromag/element-video": "^0.3.354",
|
|
61
|
+
"@micromag/transforms": "^0.3.354",
|
|
62
62
|
"classnames": "^2.2.6",
|
|
63
63
|
"lodash": "^4.17.21",
|
|
64
64
|
"prop-types": "^15.7.2",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"publishConfig": {
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "ccf852d0a7df8f222365088e7de3843492e720e7"
|
|
74
74
|
}
|