@micromag/screen-image-360 0.3.310 → 0.3.318

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .micromag-screen-image-360-container .micromag-screen-image-360-canvasButton{display:inline-block;position:relative;padding:0;border:0;background:rgba(0,0,0,0);color:inherit;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.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{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-screen-image-360-container{position:relative;width:100%;height:100%;overflow:hidden}.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{position:relative;padding:6px}.micromag-screen-image-360-container .micromag-screen-image-360-empty{margin:5px auto;border:2px dashed #343434;color:#343434}.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{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%}.micromag-screen-image-360-container .micromag-screen-image-360-callToAction{position:absolute;bottom:0;left:0;width:100%}.micromag-screen-image-360-container.micromag-screen-image-360-showVideo .micromag-screen-image-360-video{visibility:visible}
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%}.micromag-screen-image-360-container.micromag-screen-image-360-showVideo .micromag-screen-image-360-video{visibility:visible}
package/es/index.js CHANGED
@@ -21,37 +21,32 @@ import { Video, Container as Container$1 } from '@micromag/transforms/apple-news
21
21
  /**
22
22
  * Locale loader
23
23
  */
24
-
25
24
  var packageCache = null;
26
-
27
25
  var useThree = function useThree() {
28
26
  // transport
29
27
  var _useState = useState({
30
- "package": packageCache
31
- }),
32
- _useState2 = _slicedToArray(_useState, 2),
33
- loadedPackage = _useState2[0]["package"],
34
- setLoadedPackage = _useState2[1];
35
-
28
+ "package": packageCache
29
+ }),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ loadedPackage = _useState2[0]["package"],
32
+ setLoadedPackage = _useState2[1];
36
33
  useEffect(function () {
37
34
  var canceled = false;
38
-
39
35
  if (loadedPackage !== null) {
40
36
  return function () {
41
37
  canceled = true;
42
38
  };
43
39
  }
44
-
45
40
  import('three').then(function (_ref) {
46
41
  var Scene = _ref.Scene,
47
- PerspectiveCamera = _ref.PerspectiveCamera,
48
- SphereBufferGeometry = _ref.SphereBufferGeometry,
49
- VideoTexture = _ref.VideoTexture,
50
- TextureLoader = _ref.TextureLoader,
51
- MeshBasicMaterial = _ref.MeshBasicMaterial,
52
- Mesh = _ref.Mesh,
53
- WebGLRenderer = _ref.WebGLRenderer,
54
- MathUtils = _ref.MathUtils;
42
+ PerspectiveCamera = _ref.PerspectiveCamera,
43
+ SphereBufferGeometry = _ref.SphereBufferGeometry,
44
+ VideoTexture = _ref.VideoTexture,
45
+ TextureLoader = _ref.TextureLoader,
46
+ MeshBasicMaterial = _ref.MeshBasicMaterial,
47
+ Mesh = _ref.Mesh,
48
+ WebGLRenderer = _ref.WebGLRenderer,
49
+ MathUtils = _ref.MathUtils;
55
50
  packageCache = {
56
51
  Scene: Scene,
57
52
  PerspectiveCamera: PerspectiveCamera,
@@ -63,7 +58,6 @@ var useThree = function useThree() {
63
58
  WebGLRenderer: WebGLRenderer,
64
59
  MathUtils: MathUtils
65
60
  };
66
-
67
61
  if (!canceled) {
68
62
  setLoadedPackage({
69
63
  "package": packageCache
@@ -77,7 +71,7 @@ var useThree = function useThree() {
77
71
  return loadedPackage;
78
72
  };
79
73
 
80
- var styles = {"container":"micromag-screen-image-360-container","canvasButton":"micromag-screen-image-360-canvasButton","background":"micromag-screen-image-360-background","canvas":"micromag-screen-image-360-canvas","inner":"micromag-screen-image-360-inner","placeholder":"micromag-screen-image-360-placeholder","video":"micromag-screen-image-360-video","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"};
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"};
81
75
 
82
76
  var propTypes = {
83
77
  layout: PropTypes.oneOf(['full']),
@@ -103,101 +97,83 @@ var defaultProps = {
103
97
  spacing: 20,
104
98
  className: null
105
99
  };
106
-
107
100
  var Image360Screen = function Image360Screen(_ref) {
108
101
  var _ref7;
109
-
110
102
  _ref.layout;
111
- var image = _ref.image,
112
- background = _ref.background,
113
- callToAction = _ref.callToAction,
114
- current = _ref.current,
115
- active = _ref.active,
116
- transitions = _ref.transitions,
117
- type = _ref.type,
118
- spacing = _ref.spacing,
119
- className = _ref.className;
103
+ var image = _ref.image,
104
+ background = _ref.background,
105
+ callToAction = _ref.callToAction,
106
+ current = _ref.current,
107
+ active = _ref.active,
108
+ transitions = _ref.transitions,
109
+ type = _ref.type,
110
+ spacing = _ref.spacing,
111
+ className = _ref.className;
120
112
  var THREE = useThree();
121
113
  var trackScreenEvent = useTrackScreenEvent(type);
122
-
123
114
  var _useScreenRenderConte = useScreenRenderContext(),
124
- isView = _useScreenRenderConte.isView,
125
- isPreview = _useScreenRenderConte.isPreview,
126
- isPlaceholder = _useScreenRenderConte.isPlaceholder,
127
- isEdit = _useScreenRenderConte.isEdit,
128
- isStatic = _useScreenRenderConte.isStatic,
129
- isCapture = _useScreenRenderConte.isCapture;
130
-
115
+ isView = _useScreenRenderConte.isView,
116
+ isPreview = _useScreenRenderConte.isPreview,
117
+ isPlaceholder = _useScreenRenderConte.isPlaceholder,
118
+ isEdit = _useScreenRenderConte.isEdit,
119
+ isStatic = _useScreenRenderConte.isStatic,
120
+ isCapture = _useScreenRenderConte.isCapture;
131
121
  var _useScreenSize = useScreenSize(),
132
- width = _useScreenSize.width,
133
- height = _useScreenSize.height,
134
- landscape = _useScreenSize.landscape,
135
- resolution = _useScreenSize.resolution;
136
-
122
+ width = _useScreenSize.width,
123
+ height = _useScreenSize.height,
124
+ landscape = _useScreenSize.landscape,
125
+ resolution = _useScreenSize.resolution;
137
126
  var _useViewerNavigation = useViewerNavigation(),
138
- gotoPreviousScreen = _useViewerNavigation.gotoPreviousScreen,
139
- gotoNextScreen = _useViewerNavigation.gotoNextScreen;
140
-
127
+ gotoPreviousScreen = _useViewerNavigation.gotoPreviousScreen,
128
+ gotoNextScreen = _useViewerNavigation.gotoNextScreen;
141
129
  var _useViewerWebView = useViewerWebView(),
142
- openWebView = _useViewerWebView.open;
143
-
130
+ openWebView = _useViewerWebView.open;
144
131
  var _useViewerContext = useViewerContext(),
145
- viewerBottomHeight = _useViewerContext.bottomHeight,
146
- viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
147
-
132
+ viewerBottomHeight = _useViewerContext.bottomHeight,
133
+ viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
148
134
  var _usePlaybackContext = usePlaybackContext(),
149
- muted = _usePlaybackContext.muted;
150
-
135
+ muted = _usePlaybackContext.muted;
151
136
  var mediaRef = usePlaybackMediaRef(current);
152
137
  var backgroundPlaying = current && (isView || isEdit);
153
138
  var mediaShouldLoad = current || active;
154
- var canvasContainerRef = useRef(); // ------------------------------------
139
+ var canvasContainerRef = useRef();
155
140
 
156
- var hasMedia = image !== null;
141
+ // ------------------------------------
157
142
 
143
+ var hasMedia = image !== null;
158
144
  var _ref2 = callToAction || {},
159
- _ref2$active = _ref2.active,
160
- hasCallToAction = _ref2$active === void 0 ? false : _ref2$active;
161
-
145
+ _ref2$active = _ref2.active,
146
+ hasCallToAction = _ref2$active === void 0 ? false : _ref2$active;
162
147
  var _useState = useState(!hasMedia),
163
- _useState2 = _slicedToArray(_useState, 2),
164
- ready = _useState2[0],
165
- setReady = _useState2[1];
166
-
148
+ _useState2 = _slicedToArray(_useState, 2),
149
+ ready = _useState2[0],
150
+ setReady = _useState2[1];
167
151
  var transitionPlaying = current && ready;
168
152
  var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
169
-
170
153
  var _ref3 = image || {},
171
- _ref3$metadata = _ref3.metadata,
172
- imageMetadata = _ref3$metadata === void 0 ? null : _ref3$metadata,
173
- _ref3$url = _ref3.url,
174
- imageUrl = _ref3$url === void 0 ? null : _ref3$url,
175
- _ref3$thumbnail_url = _ref3.thumbnail_url,
176
- thumbnailUrl = _ref3$thumbnail_url === void 0 ? null : _ref3$thumbnail_url;
177
-
154
+ _ref3$metadata = _ref3.metadata,
155
+ imageMetadata = _ref3$metadata === void 0 ? null : _ref3$metadata,
156
+ _ref3$url = _ref3.url,
157
+ imageUrl = _ref3$url === void 0 ? null : _ref3$url,
158
+ _ref3$thumbnail_url = _ref3.thumbnail_url,
159
+ thumbnailUrl = _ref3$thumbnail_url === void 0 ? null : _ref3$thumbnail_url;
178
160
  var hasMediaUrl = imageUrl !== null;
179
-
180
161
  var _ref4 = imageMetadata || {},
181
- _ref4$width = _ref4.width,
182
- imageWidth = _ref4$width === void 0 ? 0 : _ref4$width,
183
- _ref4$height = _ref4.height,
184
- imageHeight = _ref4$height === void 0 ? 0 : _ref4$height;
185
-
162
+ _ref4$width = _ref4.width,
163
+ imageWidth = _ref4$width === void 0 ? 0 : _ref4$width,
164
+ _ref4$height = _ref4.height,
165
+ imageHeight = _ref4$height === void 0 ? 0 : _ref4$height;
186
166
  var hasThumbnail = thumbnailUrl !== null;
187
-
188
167
  var _useState3 = useState(!hasThumbnail),
189
- _useState4 = _slicedToArray(_useState3, 2),
190
- posterReady = _useState4[0],
191
- setPosterReady = _useState4[1];
192
-
168
+ _useState4 = _slicedToArray(_useState3, 2),
169
+ posterReady = _useState4[0],
170
+ setPosterReady = _useState4[1];
193
171
  var withSphere = hasMediaUrl && (isView || isEdit) && !isCapture && !isStatic;
194
-
195
172
  var _getSizeWithinBounds = getSizeWithinBounds(imageWidth, imageHeight, width, height, {
196
- cover: true
197
- }),
198
- resizedImageWidth = _getSizeWithinBounds.width,
199
- resizedImageHeight = _getSizeWithinBounds.height;
200
-
173
+ cover: true
174
+ }),
175
+ resizedImageWidth = _getSizeWithinBounds.width,
176
+ resizedImageHeight = _getSizeWithinBounds.height;
201
177
  var resizedImageLeft = -(resizedImageWidth - width) / 2;
202
178
  var resizedImageTop = -(resizedImageHeight - height) / 2;
203
179
  useEffect(function () {
@@ -205,7 +181,9 @@ var Image360Screen = function Image360Screen(_ref) {
205
181
  }, [imageUrl, hasMediaUrl, setReady]);
206
182
  useEffect(function () {
207
183
  setPosterReady(!hasThumbnail);
208
- }, [thumbnailUrl, hasThumbnail, setPosterReady]); // 3D layer --------------------------
184
+ }, [thumbnailUrl, hasThumbnail, setPosterReady]);
185
+
186
+ // 3D layer --------------------------
209
187
 
210
188
  var canvasRef = useRef(null);
211
189
  var camera = useRef(null);
@@ -214,28 +192,32 @@ var Image360Screen = function Image360Screen(_ref) {
214
192
  var lon = useRef(0);
215
193
  var lat = useRef(0);
216
194
  var phi = useRef(0);
217
- var theta = useRef(0); // const distance = useRef(50);
218
-
195
+ var theta = useRef(0);
196
+ // const distance = useRef(50);
219
197
  var pointerDown = useRef(false);
220
198
  var pointerDownX = useRef(0);
221
199
  var pointerDownY = useRef(0);
222
200
  var pointerLon = useRef(0);
223
- var pointerLat = useRef(0); // render 3D frame
201
+ var pointerLat = useRef(0);
202
+
203
+ // render 3D frame
224
204
 
225
205
  var render3D = useCallback(function () {
226
206
  if (THREE === null) {
227
207
  return;
228
- } // const { MathUtils } = THREE;
208
+ }
209
+ // const { MathUtils } = THREE;
229
210
  // lat.current = Math.max(-85, Math.min(85, lat.current));
230
211
  // phi.current = MathUtils.degToRad(90 - lat.current);
231
212
  // theta.current = MathUtils.degToRad(lon.current);
213
+
232
214
  // camera.current.position.x =
233
215
  // distance.current * Math.sin(phi.current) * Math.cos(theta.current);
234
216
  // camera.current.position.y = distance.current * Math.cos(phi.current);
235
217
  // camera.current.position.z =
236
218
  // distance.current * Math.sin(phi.current) * Math.sin(theta.current);
237
- // camera.current.lookAt(0, 0, 0);
238
219
 
220
+ // camera.current.lookAt(0, 0, 0);
239
221
 
240
222
  lat.current = Math.max(-85, Math.min(85, lat.current));
241
223
  phi.current = THREE.MathUtils.degToRad(90 - lat.current);
@@ -245,20 +227,22 @@ var Image360Screen = function Image360Screen(_ref) {
245
227
  var z = 500 * Math.sin(phi.current) * Math.sin(theta.current);
246
228
  camera.current.lookAt(x, y, z);
247
229
  renderer.current.render(scene.current, camera.current);
248
- }, [THREE]); // Init 3D layer
230
+ }, [THREE]);
231
+
232
+ // Init 3D layer
249
233
 
250
234
  useEffect(function () {
251
235
  if (THREE !== null && hasMediaUrl && withSphere) {
252
236
  var Scene = THREE.Scene,
253
- PerspectiveCamera = THREE.PerspectiveCamera,
254
- SphereBufferGeometry = THREE.SphereBufferGeometry,
255
- MeshBasicMaterial = THREE.MeshBasicMaterial,
256
- Mesh = THREE.Mesh,
257
- WebGLRenderer = THREE.WebGLRenderer,
258
- TextureLoader = THREE.TextureLoader;
237
+ PerspectiveCamera = THREE.PerspectiveCamera,
238
+ SphereBufferGeometry = THREE.SphereBufferGeometry,
239
+ MeshBasicMaterial = THREE.MeshBasicMaterial,
240
+ Mesh = THREE.Mesh,
241
+ WebGLRenderer = THREE.WebGLRenderer,
242
+ TextureLoader = THREE.TextureLoader;
259
243
  var _canvasRef$current = canvasRef.current,
260
- canvasWidth = _canvasRef$current.offsetWidth,
261
- canvasHeight = _canvasRef$current.offsetHeight;
244
+ canvasWidth = _canvasRef$current.offsetWidth,
245
+ canvasHeight = _canvasRef$current.offsetHeight;
262
246
  camera.current = new PerspectiveCamera(50, canvasWidth / canvasHeight, 1, 1100);
263
247
  scene.current = new Scene();
264
248
  var geometry = new SphereBufferGeometry(500, 60, 40, 0, Math.PI * 2, Math.PI / 3, Math.PI / 3);
@@ -276,7 +260,6 @@ var Image360Screen = function Image360Screen(_ref) {
276
260
  renderer.current.setSize(canvasWidth, canvasHeight);
277
261
  render3D();
278
262
  }
279
-
280
263
  return function () {
281
264
  if (withSphere) {
282
265
  camera.current = null;
@@ -287,7 +270,9 @@ var Image360Screen = function Image360Screen(_ref) {
287
270
  }, [hasMediaUrl, withSphere, render3D, THREE]);
288
271
  useAnimationFrame(render3D, {
289
272
  disabled: !withSphere || THREE === null
290
- }); // Resize 3D layer
273
+ });
274
+
275
+ // Resize 3D layer
291
276
 
292
277
  useEffect(function () {
293
278
  if (camera.current !== null && renderer.current !== null) {
@@ -295,8 +280,9 @@ var Image360Screen = function Image360Screen(_ref) {
295
280
  camera.current.updateProjectionMatrix();
296
281
  renderer.current.setSize(width, height);
297
282
  }
298
- }, [width, height]); // Pointer interaction
283
+ }, [width, height]);
299
284
 
285
+ // Pointer interaction
300
286
  var togglePlayTimeout = useRef(null);
301
287
  var onPointerDown = useCallback(function (e) {
302
288
  pointerDown.current = true;
@@ -311,36 +297,30 @@ var Image360Screen = function Image360Screen(_ref) {
311
297
  var onPointerMove = useCallback(function (e) {
312
298
  if (pointerDown.current) {
313
299
  var _ref5 = e || {},
314
- _ref5$clientX = _ref5.clientX,
315
- clientX = _ref5$clientX === void 0 ? null : _ref5$clientX,
316
- _ref5$clientY = _ref5.clientY,
317
- clientY = _ref5$clientY === void 0 ? null : _ref5$clientY;
318
-
300
+ _ref5$clientX = _ref5.clientX,
301
+ clientX = _ref5$clientX === void 0 ? null : _ref5$clientX,
302
+ _ref5$clientY = _ref5.clientY,
303
+ clientY = _ref5$clientY === void 0 ? null : _ref5$clientY;
319
304
  var downDeltaX = pointerDownX.current - clientX;
320
305
  var downDeltaY = pointerDownY.current - clientY;
321
306
  lon.current = downDeltaX * 0.2 + pointerLon.current;
322
307
  lat.current = downDeltaY * 0.2 + pointerLat.current;
323
-
324
308
  var _ref6 = lastPointerClient.current || {},
325
- _ref6$x = _ref6.x,
326
- lastX = _ref6$x === void 0 ? clientX : _ref6$x,
327
- _ref6$y = _ref6.y,
328
- lastY = _ref6$y === void 0 ? clientY : _ref6$y;
329
-
309
+ _ref6$x = _ref6.x,
310
+ lastX = _ref6$x === void 0 ? clientX : _ref6$x,
311
+ _ref6$y = _ref6.y,
312
+ lastY = _ref6$y === void 0 ? clientY : _ref6$y;
330
313
  var deltaX = Math.abs(lastX - clientX) || 0;
331
314
  var deltaY = Math.abs(lastY - clientY) || 0;
332
315
  pixelsMoved.current += deltaX + deltaY;
333
-
334
316
  if (!pixelsMovedTracked.current && pixelsMoved.current > Math.min(width, height)) {
335
317
  trackScreenEvent('drag_sphere');
336
318
  pixelsMovedTracked.current = true;
337
319
  }
338
-
339
320
  lastPointerClient.current = {
340
321
  x: clientX,
341
322
  y: clientY
342
323
  };
343
-
344
324
  if (Math.abs(downDeltaX) > 3 || Math.abs(downDeltaY) > 3) {
345
325
  if (togglePlayTimeout.current !== null) {
346
326
  clearTimeout(togglePlayTimeout.current);
@@ -351,7 +331,6 @@ var Image360Screen = function Image360Screen(_ref) {
351
331
  }, [width, height, trackScreenEvent]);
352
332
  var onPointerUp = useCallback(function (e) {
353
333
  var canvasContainer = canvasContainerRef.current;
354
-
355
334
  if (pointerDown.current && canvasContainer !== null) {
356
335
  var distX = Math.abs(pointerDownX.current - e.clientX);
357
336
  var distY = Math.abs(pointerDownY.current - e.clientY);
@@ -359,15 +338,12 @@ var Image360Screen = function Image360Screen(_ref) {
359
338
  var tapNextScreenWidthPercent = 0.5;
360
339
  var canTapToNavigate = !landscape && togglePlayTimeout.current !== null;
361
340
  var validNavigateTap = canTapToNavigate && distX < pixelsMovedTolerance && distY < pixelsMovedTolerance;
362
-
363
341
  if (validNavigateTap) {
364
342
  var _canvasContainer$getB = canvasContainer.getBoundingClientRect(),
365
- _canvasContainer$getB2 = _canvasContainer$getB.left,
366
- containerX = _canvasContainer$getB2 === void 0 ? 0 : _canvasContainer$getB2,
367
- containerWidth = _canvasContainer$getB.width;
368
-
343
+ _canvasContainer$getB2 = _canvasContainer$getB.left,
344
+ containerX = _canvasContainer$getB2 === void 0 ? 0 : _canvasContainer$getB2,
345
+ containerWidth = _canvasContainer$getB.width;
369
346
  var hasTappedLeft = e.clientX - containerX < containerWidth * (1 - tapNextScreenWidthPercent);
370
-
371
347
  if (hasTappedLeft) {
372
348
  if (gotoPreviousScreen !== null) {
373
349
  gotoPreviousScreen();
@@ -376,15 +352,15 @@ var Image360Screen = function Image360Screen(_ref) {
376
352
  gotoNextScreen();
377
353
  }
378
354
  }
379
-
380
355
  if (togglePlayTimeout.current !== null) {
381
356
  clearTimeout(togglePlayTimeout.current);
382
357
  togglePlayTimeout.current = null;
383
358
  }
384
359
  }
385
-
386
360
  pointerDown.current = false;
387
- }, [gotoPreviousScreen, gotoNextScreen, landscape]); // Building elements ------------------
361
+ }, [gotoPreviousScreen, gotoNextScreen, landscape]);
362
+
363
+ // Building elements ------------------
388
364
 
389
365
  var items = [/*#__PURE__*/React.createElement(ScreenElement, {
390
366
  key: "video",
@@ -485,26 +461,21 @@ var Image360Screen = function Image360Screen(_ref) {
485
461
  className: styles.background
486
462
  }) : null);
487
463
  };
488
-
489
464
  Image360Screen.propTypes = propTypes;
490
465
  Image360Screen.defaultProps = defaultProps;
491
466
  var Image360Screen$1 = /*#__PURE__*/React.memo(Image360Screen);
492
467
 
493
468
  var transform = function transform(newStory, _ref) {
494
469
  var video = _ref.video;
495
-
496
470
  var _ref2 = video || {},
497
- _ref2$media = _ref2.media,
498
- media = _ref2$media === void 0 ? null : _ref2$media;
499
-
471
+ _ref2$media = _ref2.media,
472
+ media = _ref2$media === void 0 ? null : _ref2$media;
500
473
  var _Video = Video(newStory, media),
501
- titleStory = _Video.story,
502
- titleComponent = _Video.component;
503
-
474
+ titleStory = _Video.story,
475
+ titleComponent = _Video.component;
504
476
  var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),
505
- containerStory = _Container.story,
506
- containerComponent = _Container.component;
507
-
477
+ containerStory = _Container.story,
478
+ containerComponent = _Container.component;
508
479
  return _objectSpread(_objectSpread({}, containerStory), {}, {
509
480
  components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))
510
481
  });
package/lib/index.js CHANGED
@@ -57,37 +57,32 @@ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumab
57
57
  /**
58
58
  * Locale loader
59
59
  */
60
-
61
60
  var packageCache = null;
62
-
63
61
  var useThree = function useThree() {
64
62
  // transport
65
63
  var _useState = React.useState({
66
- "package": packageCache
67
- }),
68
- _useState2 = _slicedToArray__default["default"](_useState, 2),
69
- loadedPackage = _useState2[0]["package"],
70
- setLoadedPackage = _useState2[1];
71
-
64
+ "package": packageCache
65
+ }),
66
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
67
+ loadedPackage = _useState2[0]["package"],
68
+ setLoadedPackage = _useState2[1];
72
69
  React.useEffect(function () {
73
70
  var canceled = false;
74
-
75
71
  if (loadedPackage !== null) {
76
72
  return function () {
77
73
  canceled = true;
78
74
  };
79
75
  }
80
-
81
76
  Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('three')); }).then(function (_ref) {
82
77
  var Scene = _ref.Scene,
83
- PerspectiveCamera = _ref.PerspectiveCamera,
84
- SphereBufferGeometry = _ref.SphereBufferGeometry,
85
- VideoTexture = _ref.VideoTexture,
86
- TextureLoader = _ref.TextureLoader,
87
- MeshBasicMaterial = _ref.MeshBasicMaterial,
88
- Mesh = _ref.Mesh,
89
- WebGLRenderer = _ref.WebGLRenderer,
90
- MathUtils = _ref.MathUtils;
78
+ PerspectiveCamera = _ref.PerspectiveCamera,
79
+ SphereBufferGeometry = _ref.SphereBufferGeometry,
80
+ VideoTexture = _ref.VideoTexture,
81
+ TextureLoader = _ref.TextureLoader,
82
+ MeshBasicMaterial = _ref.MeshBasicMaterial,
83
+ Mesh = _ref.Mesh,
84
+ WebGLRenderer = _ref.WebGLRenderer,
85
+ MathUtils = _ref.MathUtils;
91
86
  packageCache = {
92
87
  Scene: Scene,
93
88
  PerspectiveCamera: PerspectiveCamera,
@@ -99,7 +94,6 @@ var useThree = function useThree() {
99
94
  WebGLRenderer: WebGLRenderer,
100
95
  MathUtils: MathUtils
101
96
  };
102
-
103
97
  if (!canceled) {
104
98
  setLoadedPackage({
105
99
  "package": packageCache
@@ -113,7 +107,7 @@ var useThree = function useThree() {
113
107
  return loadedPackage;
114
108
  };
115
109
 
116
- var styles = {"container":"micromag-screen-image-360-container","canvasButton":"micromag-screen-image-360-canvasButton","background":"micromag-screen-image-360-background","canvas":"micromag-screen-image-360-canvas","inner":"micromag-screen-image-360-inner","placeholder":"micromag-screen-image-360-placeholder","video":"micromag-screen-image-360-video","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"};
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"};
117
111
 
118
112
  var propTypes = {
119
113
  layout: PropTypes__default["default"].oneOf(['full']),
@@ -139,101 +133,83 @@ var defaultProps = {
139
133
  spacing: 20,
140
134
  className: null
141
135
  };
142
-
143
136
  var Image360Screen = function Image360Screen(_ref) {
144
137
  var _ref7;
145
-
146
138
  _ref.layout;
147
- var image = _ref.image,
148
- background = _ref.background,
149
- callToAction = _ref.callToAction,
150
- current = _ref.current,
151
- active = _ref.active,
152
- transitions = _ref.transitions,
153
- type = _ref.type,
154
- spacing = _ref.spacing,
155
- className = _ref.className;
139
+ var image = _ref.image,
140
+ background = _ref.background,
141
+ callToAction = _ref.callToAction,
142
+ current = _ref.current,
143
+ active = _ref.active,
144
+ transitions = _ref.transitions,
145
+ type = _ref.type,
146
+ spacing = _ref.spacing,
147
+ className = _ref.className;
156
148
  var THREE = useThree();
157
149
  var trackScreenEvent = hooks.useTrackScreenEvent(type);
158
-
159
150
  var _useScreenRenderConte = contexts.useScreenRenderContext(),
160
- isView = _useScreenRenderConte.isView,
161
- isPreview = _useScreenRenderConte.isPreview,
162
- isPlaceholder = _useScreenRenderConte.isPlaceholder,
163
- isEdit = _useScreenRenderConte.isEdit,
164
- isStatic = _useScreenRenderConte.isStatic,
165
- isCapture = _useScreenRenderConte.isCapture;
166
-
151
+ isView = _useScreenRenderConte.isView,
152
+ isPreview = _useScreenRenderConte.isPreview,
153
+ isPlaceholder = _useScreenRenderConte.isPlaceholder,
154
+ isEdit = _useScreenRenderConte.isEdit,
155
+ isStatic = _useScreenRenderConte.isStatic,
156
+ isCapture = _useScreenRenderConte.isCapture;
167
157
  var _useScreenSize = contexts.useScreenSize(),
168
- width = _useScreenSize.width,
169
- height = _useScreenSize.height,
170
- landscape = _useScreenSize.landscape,
171
- resolution = _useScreenSize.resolution;
172
-
158
+ width = _useScreenSize.width,
159
+ height = _useScreenSize.height,
160
+ landscape = _useScreenSize.landscape,
161
+ resolution = _useScreenSize.resolution;
173
162
  var _useViewerNavigation = contexts.useViewerNavigation(),
174
- gotoPreviousScreen = _useViewerNavigation.gotoPreviousScreen,
175
- gotoNextScreen = _useViewerNavigation.gotoNextScreen;
176
-
163
+ gotoPreviousScreen = _useViewerNavigation.gotoPreviousScreen,
164
+ gotoNextScreen = _useViewerNavigation.gotoNextScreen;
177
165
  var _useViewerWebView = contexts.useViewerWebView(),
178
- openWebView = _useViewerWebView.open;
179
-
166
+ openWebView = _useViewerWebView.open;
180
167
  var _useViewerContext = contexts.useViewerContext(),
181
- viewerBottomHeight = _useViewerContext.bottomHeight,
182
- viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
183
-
168
+ viewerBottomHeight = _useViewerContext.bottomHeight,
169
+ viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
184
170
  var _usePlaybackContext = contexts.usePlaybackContext(),
185
- muted = _usePlaybackContext.muted;
186
-
171
+ muted = _usePlaybackContext.muted;
187
172
  var mediaRef = contexts.usePlaybackMediaRef(current);
188
173
  var backgroundPlaying = current && (isView || isEdit);
189
174
  var mediaShouldLoad = current || active;
190
- var canvasContainerRef = React.useRef(); // ------------------------------------
175
+ var canvasContainerRef = React.useRef();
191
176
 
192
- var hasMedia = image !== null;
177
+ // ------------------------------------
193
178
 
179
+ var hasMedia = image !== null;
194
180
  var _ref2 = callToAction || {},
195
- _ref2$active = _ref2.active,
196
- hasCallToAction = _ref2$active === void 0 ? false : _ref2$active;
197
-
181
+ _ref2$active = _ref2.active,
182
+ hasCallToAction = _ref2$active === void 0 ? false : _ref2$active;
198
183
  var _useState = React.useState(!hasMedia),
199
- _useState2 = _slicedToArray__default["default"](_useState, 2),
200
- ready = _useState2[0],
201
- setReady = _useState2[1];
202
-
184
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
185
+ ready = _useState2[0],
186
+ setReady = _useState2[1];
203
187
  var transitionPlaying = current && ready;
204
188
  var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;
205
-
206
189
  var _ref3 = image || {},
207
- _ref3$metadata = _ref3.metadata,
208
- imageMetadata = _ref3$metadata === void 0 ? null : _ref3$metadata,
209
- _ref3$url = _ref3.url,
210
- imageUrl = _ref3$url === void 0 ? null : _ref3$url,
211
- _ref3$thumbnail_url = _ref3.thumbnail_url,
212
- thumbnailUrl = _ref3$thumbnail_url === void 0 ? null : _ref3$thumbnail_url;
213
-
190
+ _ref3$metadata = _ref3.metadata,
191
+ imageMetadata = _ref3$metadata === void 0 ? null : _ref3$metadata,
192
+ _ref3$url = _ref3.url,
193
+ imageUrl = _ref3$url === void 0 ? null : _ref3$url,
194
+ _ref3$thumbnail_url = _ref3.thumbnail_url,
195
+ thumbnailUrl = _ref3$thumbnail_url === void 0 ? null : _ref3$thumbnail_url;
214
196
  var hasMediaUrl = imageUrl !== null;
215
-
216
197
  var _ref4 = imageMetadata || {},
217
- _ref4$width = _ref4.width,
218
- imageWidth = _ref4$width === void 0 ? 0 : _ref4$width,
219
- _ref4$height = _ref4.height,
220
- imageHeight = _ref4$height === void 0 ? 0 : _ref4$height;
221
-
198
+ _ref4$width = _ref4.width,
199
+ imageWidth = _ref4$width === void 0 ? 0 : _ref4$width,
200
+ _ref4$height = _ref4.height,
201
+ imageHeight = _ref4$height === void 0 ? 0 : _ref4$height;
222
202
  var hasThumbnail = thumbnailUrl !== null;
223
-
224
203
  var _useState3 = React.useState(!hasThumbnail),
225
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
226
- posterReady = _useState4[0],
227
- setPosterReady = _useState4[1];
228
-
204
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
205
+ posterReady = _useState4[0],
206
+ setPosterReady = _useState4[1];
229
207
  var withSphere = hasMediaUrl && (isView || isEdit) && !isCapture && !isStatic;
230
-
231
208
  var _getSizeWithinBounds = size.getSizeWithinBounds(imageWidth, imageHeight, width, height, {
232
- cover: true
233
- }),
234
- resizedImageWidth = _getSizeWithinBounds.width,
235
- resizedImageHeight = _getSizeWithinBounds.height;
236
-
209
+ cover: true
210
+ }),
211
+ resizedImageWidth = _getSizeWithinBounds.width,
212
+ resizedImageHeight = _getSizeWithinBounds.height;
237
213
  var resizedImageLeft = -(resizedImageWidth - width) / 2;
238
214
  var resizedImageTop = -(resizedImageHeight - height) / 2;
239
215
  React.useEffect(function () {
@@ -241,7 +217,9 @@ var Image360Screen = function Image360Screen(_ref) {
241
217
  }, [imageUrl, hasMediaUrl, setReady]);
242
218
  React.useEffect(function () {
243
219
  setPosterReady(!hasThumbnail);
244
- }, [thumbnailUrl, hasThumbnail, setPosterReady]); // 3D layer --------------------------
220
+ }, [thumbnailUrl, hasThumbnail, setPosterReady]);
221
+
222
+ // 3D layer --------------------------
245
223
 
246
224
  var canvasRef = React.useRef(null);
247
225
  var camera = React.useRef(null);
@@ -250,28 +228,32 @@ var Image360Screen = function Image360Screen(_ref) {
250
228
  var lon = React.useRef(0);
251
229
  var lat = React.useRef(0);
252
230
  var phi = React.useRef(0);
253
- var theta = React.useRef(0); // const distance = useRef(50);
254
-
231
+ var theta = React.useRef(0);
232
+ // const distance = useRef(50);
255
233
  var pointerDown = React.useRef(false);
256
234
  var pointerDownX = React.useRef(0);
257
235
  var pointerDownY = React.useRef(0);
258
236
  var pointerLon = React.useRef(0);
259
- var pointerLat = React.useRef(0); // render 3D frame
237
+ var pointerLat = React.useRef(0);
238
+
239
+ // render 3D frame
260
240
 
261
241
  var render3D = React.useCallback(function () {
262
242
  if (THREE === null) {
263
243
  return;
264
- } // const { MathUtils } = THREE;
244
+ }
245
+ // const { MathUtils } = THREE;
265
246
  // lat.current = Math.max(-85, Math.min(85, lat.current));
266
247
  // phi.current = MathUtils.degToRad(90 - lat.current);
267
248
  // theta.current = MathUtils.degToRad(lon.current);
249
+
268
250
  // camera.current.position.x =
269
251
  // distance.current * Math.sin(phi.current) * Math.cos(theta.current);
270
252
  // camera.current.position.y = distance.current * Math.cos(phi.current);
271
253
  // camera.current.position.z =
272
254
  // distance.current * Math.sin(phi.current) * Math.sin(theta.current);
273
- // camera.current.lookAt(0, 0, 0);
274
255
 
256
+ // camera.current.lookAt(0, 0, 0);
275
257
 
276
258
  lat.current = Math.max(-85, Math.min(85, lat.current));
277
259
  phi.current = THREE.MathUtils.degToRad(90 - lat.current);
@@ -281,20 +263,22 @@ var Image360Screen = function Image360Screen(_ref) {
281
263
  var z = 500 * Math.sin(phi.current) * Math.sin(theta.current);
282
264
  camera.current.lookAt(x, y, z);
283
265
  renderer.current.render(scene.current, camera.current);
284
- }, [THREE]); // Init 3D layer
266
+ }, [THREE]);
267
+
268
+ // Init 3D layer
285
269
 
286
270
  React.useEffect(function () {
287
271
  if (THREE !== null && hasMediaUrl && withSphere) {
288
272
  var Scene = THREE.Scene,
289
- PerspectiveCamera = THREE.PerspectiveCamera,
290
- SphereBufferGeometry = THREE.SphereBufferGeometry,
291
- MeshBasicMaterial = THREE.MeshBasicMaterial,
292
- Mesh = THREE.Mesh,
293
- WebGLRenderer = THREE.WebGLRenderer,
294
- TextureLoader = THREE.TextureLoader;
273
+ PerspectiveCamera = THREE.PerspectiveCamera,
274
+ SphereBufferGeometry = THREE.SphereBufferGeometry,
275
+ MeshBasicMaterial = THREE.MeshBasicMaterial,
276
+ Mesh = THREE.Mesh,
277
+ WebGLRenderer = THREE.WebGLRenderer,
278
+ TextureLoader = THREE.TextureLoader;
295
279
  var _canvasRef$current = canvasRef.current,
296
- canvasWidth = _canvasRef$current.offsetWidth,
297
- canvasHeight = _canvasRef$current.offsetHeight;
280
+ canvasWidth = _canvasRef$current.offsetWidth,
281
+ canvasHeight = _canvasRef$current.offsetHeight;
298
282
  camera.current = new PerspectiveCamera(50, canvasWidth / canvasHeight, 1, 1100);
299
283
  scene.current = new Scene();
300
284
  var geometry = new SphereBufferGeometry(500, 60, 40, 0, Math.PI * 2, Math.PI / 3, Math.PI / 3);
@@ -312,7 +296,6 @@ var Image360Screen = function Image360Screen(_ref) {
312
296
  renderer.current.setSize(canvasWidth, canvasHeight);
313
297
  render3D();
314
298
  }
315
-
316
299
  return function () {
317
300
  if (withSphere) {
318
301
  camera.current = null;
@@ -323,7 +306,9 @@ var Image360Screen = function Image360Screen(_ref) {
323
306
  }, [hasMediaUrl, withSphere, render3D, THREE]);
324
307
  hooks.useAnimationFrame(render3D, {
325
308
  disabled: !withSphere || THREE === null
326
- }); // Resize 3D layer
309
+ });
310
+
311
+ // Resize 3D layer
327
312
 
328
313
  React.useEffect(function () {
329
314
  if (camera.current !== null && renderer.current !== null) {
@@ -331,8 +316,9 @@ var Image360Screen = function Image360Screen(_ref) {
331
316
  camera.current.updateProjectionMatrix();
332
317
  renderer.current.setSize(width, height);
333
318
  }
334
- }, [width, height]); // Pointer interaction
319
+ }, [width, height]);
335
320
 
321
+ // Pointer interaction
336
322
  var togglePlayTimeout = React.useRef(null);
337
323
  var onPointerDown = React.useCallback(function (e) {
338
324
  pointerDown.current = true;
@@ -347,36 +333,30 @@ var Image360Screen = function Image360Screen(_ref) {
347
333
  var onPointerMove = React.useCallback(function (e) {
348
334
  if (pointerDown.current) {
349
335
  var _ref5 = e || {},
350
- _ref5$clientX = _ref5.clientX,
351
- clientX = _ref5$clientX === void 0 ? null : _ref5$clientX,
352
- _ref5$clientY = _ref5.clientY,
353
- clientY = _ref5$clientY === void 0 ? null : _ref5$clientY;
354
-
336
+ _ref5$clientX = _ref5.clientX,
337
+ clientX = _ref5$clientX === void 0 ? null : _ref5$clientX,
338
+ _ref5$clientY = _ref5.clientY,
339
+ clientY = _ref5$clientY === void 0 ? null : _ref5$clientY;
355
340
  var downDeltaX = pointerDownX.current - clientX;
356
341
  var downDeltaY = pointerDownY.current - clientY;
357
342
  lon.current = downDeltaX * 0.2 + pointerLon.current;
358
343
  lat.current = downDeltaY * 0.2 + pointerLat.current;
359
-
360
344
  var _ref6 = lastPointerClient.current || {},
361
- _ref6$x = _ref6.x,
362
- lastX = _ref6$x === void 0 ? clientX : _ref6$x,
363
- _ref6$y = _ref6.y,
364
- lastY = _ref6$y === void 0 ? clientY : _ref6$y;
365
-
345
+ _ref6$x = _ref6.x,
346
+ lastX = _ref6$x === void 0 ? clientX : _ref6$x,
347
+ _ref6$y = _ref6.y,
348
+ lastY = _ref6$y === void 0 ? clientY : _ref6$y;
366
349
  var deltaX = Math.abs(lastX - clientX) || 0;
367
350
  var deltaY = Math.abs(lastY - clientY) || 0;
368
351
  pixelsMoved.current += deltaX + deltaY;
369
-
370
352
  if (!pixelsMovedTracked.current && pixelsMoved.current > Math.min(width, height)) {
371
353
  trackScreenEvent('drag_sphere');
372
354
  pixelsMovedTracked.current = true;
373
355
  }
374
-
375
356
  lastPointerClient.current = {
376
357
  x: clientX,
377
358
  y: clientY
378
359
  };
379
-
380
360
  if (Math.abs(downDeltaX) > 3 || Math.abs(downDeltaY) > 3) {
381
361
  if (togglePlayTimeout.current !== null) {
382
362
  clearTimeout(togglePlayTimeout.current);
@@ -387,7 +367,6 @@ var Image360Screen = function Image360Screen(_ref) {
387
367
  }, [width, height, trackScreenEvent]);
388
368
  var onPointerUp = React.useCallback(function (e) {
389
369
  var canvasContainer = canvasContainerRef.current;
390
-
391
370
  if (pointerDown.current && canvasContainer !== null) {
392
371
  var distX = Math.abs(pointerDownX.current - e.clientX);
393
372
  var distY = Math.abs(pointerDownY.current - e.clientY);
@@ -395,15 +374,12 @@ var Image360Screen = function Image360Screen(_ref) {
395
374
  var tapNextScreenWidthPercent = 0.5;
396
375
  var canTapToNavigate = !landscape && togglePlayTimeout.current !== null;
397
376
  var validNavigateTap = canTapToNavigate && distX < pixelsMovedTolerance && distY < pixelsMovedTolerance;
398
-
399
377
  if (validNavigateTap) {
400
378
  var _canvasContainer$getB = canvasContainer.getBoundingClientRect(),
401
- _canvasContainer$getB2 = _canvasContainer$getB.left,
402
- containerX = _canvasContainer$getB2 === void 0 ? 0 : _canvasContainer$getB2,
403
- containerWidth = _canvasContainer$getB.width;
404
-
379
+ _canvasContainer$getB2 = _canvasContainer$getB.left,
380
+ containerX = _canvasContainer$getB2 === void 0 ? 0 : _canvasContainer$getB2,
381
+ containerWidth = _canvasContainer$getB.width;
405
382
  var hasTappedLeft = e.clientX - containerX < containerWidth * (1 - tapNextScreenWidthPercent);
406
-
407
383
  if (hasTappedLeft) {
408
384
  if (gotoPreviousScreen !== null) {
409
385
  gotoPreviousScreen();
@@ -412,15 +388,15 @@ var Image360Screen = function Image360Screen(_ref) {
412
388
  gotoNextScreen();
413
389
  }
414
390
  }
415
-
416
391
  if (togglePlayTimeout.current !== null) {
417
392
  clearTimeout(togglePlayTimeout.current);
418
393
  togglePlayTimeout.current = null;
419
394
  }
420
395
  }
421
-
422
396
  pointerDown.current = false;
423
- }, [gotoPreviousScreen, gotoNextScreen, landscape]); // Building elements ------------------
397
+ }, [gotoPreviousScreen, gotoNextScreen, landscape]);
398
+
399
+ // Building elements ------------------
424
400
 
425
401
  var items = [/*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
426
402
  key: "video",
@@ -521,26 +497,21 @@ var Image360Screen = function Image360Screen(_ref) {
521
497
  className: styles.background
522
498
  }) : null);
523
499
  };
524
-
525
500
  Image360Screen.propTypes = propTypes;
526
501
  Image360Screen.defaultProps = defaultProps;
527
502
  var Image360Screen$1 = /*#__PURE__*/React__default["default"].memo(Image360Screen);
528
503
 
529
504
  var transform = function transform(newStory, _ref) {
530
505
  var video = _ref.video;
531
-
532
506
  var _ref2 = video || {},
533
- _ref2$media = _ref2.media,
534
- media = _ref2$media === void 0 ? null : _ref2$media;
535
-
507
+ _ref2$media = _ref2.media,
508
+ media = _ref2$media === void 0 ? null : _ref2$media;
536
509
  var _Video = appleNews.Video(newStory, media),
537
- titleStory = _Video.story,
538
- titleComponent = _Video.component;
539
-
510
+ titleStory = _Video.story,
511
+ titleComponent = _Video.component;
540
512
  var _Container = appleNews.Container(titleStory, _toConsumableArray__default["default"](titleComponent ? [titleComponent] : [])),
541
- containerStory = _Container.story,
542
- containerComponent = _Container.component;
543
-
513
+ containerStory = _Container.story,
514
+ containerComponent = _Container.component;
544
515
  return _objectSpread__default["default"](_objectSpread__default["default"]({}, containerStory), {}, {
545
516
  components: [].concat(_toConsumableArray__default["default"](newStory.components || []), _toConsumableArray__default["default"](containerComponent ? [containerComponent] : []))
546
517
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/screen-image-360",
3
- "version": "0.3.310",
3
+ "version": "0.3.318",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -50,25 +50,25 @@
50
50
  "dependencies": {
51
51
  "@babel/runtime": "^7.13.10",
52
52
  "@folklore/size": "^0.1.20",
53
- "@micromag/core": "^0.3.307",
54
- "@micromag/element-background": "^0.3.307",
55
- "@micromag/element-call-to-action": "^0.3.310",
56
- "@micromag/element-closed-captions": "^0.3.307",
57
- "@micromag/element-container": "^0.3.307",
58
- "@micromag/element-image": "^0.3.307",
59
- "@micromag/element-media-controls": "^0.3.307",
60
- "@micromag/element-video": "^0.3.307",
61
- "@micromag/transforms": "^0.3.307",
53
+ "@micromag/core": "^0.3.318",
54
+ "@micromag/element-background": "^0.3.318",
55
+ "@micromag/element-call-to-action": "^0.3.318",
56
+ "@micromag/element-closed-captions": "^0.3.318",
57
+ "@micromag/element-container": "^0.3.318",
58
+ "@micromag/element-image": "^0.3.318",
59
+ "@micromag/element-media-controls": "^0.3.318",
60
+ "@micromag/element-video": "^0.3.318",
61
+ "@micromag/transforms": "^0.3.318",
62
62
  "classnames": "^2.2.6",
63
63
  "lodash": "^4.17.21",
64
64
  "prop-types": "^15.7.2",
65
65
  "react-intl": "^5.12.1",
66
66
  "three": "^0.123.0",
67
- "uuid": "^8.3.2",
67
+ "uuid": "^9.0.0",
68
68
  "whatwg-fetch": "^3.6.1"
69
69
  },
70
70
  "publishConfig": {
71
71
  "access": "public"
72
72
  },
73
- "gitHead": "c2f4fbfcf0f643737a77f99dccf4d353f7856c2c"
73
+ "gitHead": "7d1a296e0c0d410e1225279e1f19e3a7715bfa96"
74
74
  }