@micromag/viewer 0.3.11 → 0.3.14

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.
Files changed (3) hide show
  1. package/es/index.js +24 -12
  2. package/lib/index.js +24 -12
  3. package/package.json +8 -8
package/es/index.js CHANGED
@@ -110,7 +110,7 @@ function checkClickable(el) {
110
110
  function useScreenInteraction() {
111
111
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
112
112
  screens = _ref.screens,
113
- screenId = _ref.screenId,
113
+ screenIndex = _ref.screenIndex,
114
114
  screenWidth = _ref.screenWidth,
115
115
  _ref$isView = _ref.isView,
116
116
  isView = _ref$isView === void 0 ? false : _ref$isView,
@@ -135,10 +135,10 @@ function useScreenInteraction() {
135
135
  screensInteractionEnabled = _useState2[0],
136
136
  setScreensInteractionEnabled = _useState2[1];
137
137
 
138
- var screenIndex = screens.findIndex(function (_ref3) {
139
- var id = _ref3.id;
140
- return id === screenId;
141
- });
138
+ var _ref3 = screens[screenIndex] || {},
139
+ _ref3$id = _ref3.id,
140
+ screenId = _ref3$id === void 0 ? screenIndex : _ref3$id;
141
+
142
142
  var _screensInteractionEn = screensInteractionEnabled[screenId],
143
143
  currentScreenInteractionEnabled = _screensInteractionEn === void 0 ? true : _screensInteractionEn;
144
144
  var updateInteraction = useCallback(function (newValue) {
@@ -165,7 +165,10 @@ function useScreenInteraction() {
165
165
 
166
166
  var screensCount = screens.length;
167
167
  var tappedCurrent = screenIndex === index;
168
- eventsManager.emit('tap', e, index);
168
+
169
+ if (eventsManager !== null) {
170
+ eventsManager.emit('tap', e, index);
171
+ }
169
172
 
170
173
  if (!isView && tappedCurrent || checkClickable(e.target) || tappedCurrent && !currentScreenInteractionEnabled) {
171
174
  return;
@@ -182,20 +185,29 @@ function useScreenInteraction() {
182
185
 
183
186
  if (hasTappedLeft) {
184
187
  nextIndex = clickOnSiblings ? index : Math.max(0, screenIndex - 1);
185
- eventsManager.emit('tap_previous', nextIndex);
188
+
189
+ if (eventsManager !== null) {
190
+ eventsManager.emit('tap_previous', nextIndex);
191
+ }
186
192
  } else {
187
193
  nextIndex = clickOnSiblings ? index : Math.min(screensCount - 1, screenIndex + 1);
188
194
  var isLastScreen = screenIndex === screensCount - 1;
189
195
 
190
196
  if (isLastScreen && onEnd !== null) {
191
- eventsManager.emit('tap_end');
192
197
  onEnd();
193
- } else {
198
+
199
+ if (eventsManager !== null) {
200
+ eventsManager.emit('tap_end');
201
+ }
202
+ } else if (eventsManager) {
194
203
  eventsManager.emit('tap_next', nextIndex);
195
204
  }
196
205
  }
197
206
 
198
- eventsManager.emit('change_screen', nextIndex);
207
+ if (eventsManager !== null) {
208
+ eventsManager.emit('change_screen', nextIndex);
209
+ }
210
+
199
211
  onChangeScreen(nextIndex);
200
212
  }, [screenWidth, screens, screenIndex, eventsManager, onClick, onEnd, onChangeScreen, screenIndex, screensInteractionEnabled, currentScreenInteractionEnabled, nextScreenWidthPercent, isView, clickOnSiblings]);
201
213
  return {
@@ -1518,12 +1530,12 @@ var Viewer = function Viewer(_ref) {
1518
1530
 
1519
1531
  var _useScreenInteraction = useScreenInteraction({
1520
1532
  screens: screens,
1521
- screenId: screenId,
1533
+ screenIndex: screenIndex,
1522
1534
  screenWidth: screenWidth,
1523
1535
  isView: isView,
1524
1536
  clickOnSiblings: landscape && withLandscapeSiblingsScreens,
1525
1537
  nextScreenWidthPercent: tapNextScreenWidthPercent,
1526
- events: eventsManager,
1538
+ eventsManager: eventsManager,
1527
1539
  onClick: onInteractionPrivate,
1528
1540
  onEnd: onEnd,
1529
1541
  onChangeScreen: changeIndex
package/lib/index.js CHANGED
@@ -128,7 +128,7 @@ function checkClickable(el) {
128
128
  function useScreenInteraction() {
129
129
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
130
130
  screens = _ref.screens,
131
- screenId = _ref.screenId,
131
+ screenIndex = _ref.screenIndex,
132
132
  screenWidth = _ref.screenWidth,
133
133
  _ref$isView = _ref.isView,
134
134
  isView = _ref$isView === void 0 ? false : _ref$isView,
@@ -153,10 +153,10 @@ function useScreenInteraction() {
153
153
  screensInteractionEnabled = _useState2[0],
154
154
  setScreensInteractionEnabled = _useState2[1];
155
155
 
156
- var screenIndex = screens.findIndex(function (_ref3) {
157
- var id = _ref3.id;
158
- return id === screenId;
159
- });
156
+ var _ref3 = screens[screenIndex] || {},
157
+ _ref3$id = _ref3.id,
158
+ screenId = _ref3$id === void 0 ? screenIndex : _ref3$id;
159
+
160
160
  var _screensInteractionEn = screensInteractionEnabled[screenId],
161
161
  currentScreenInteractionEnabled = _screensInteractionEn === void 0 ? true : _screensInteractionEn;
162
162
  var updateInteraction = React.useCallback(function (newValue) {
@@ -183,7 +183,10 @@ function useScreenInteraction() {
183
183
 
184
184
  var screensCount = screens.length;
185
185
  var tappedCurrent = screenIndex === index;
186
- eventsManager.emit('tap', e, index);
186
+
187
+ if (eventsManager !== null) {
188
+ eventsManager.emit('tap', e, index);
189
+ }
187
190
 
188
191
  if (!isView && tappedCurrent || checkClickable(e.target) || tappedCurrent && !currentScreenInteractionEnabled) {
189
192
  return;
@@ -200,20 +203,29 @@ function useScreenInteraction() {
200
203
 
201
204
  if (hasTappedLeft) {
202
205
  nextIndex = clickOnSiblings ? index : Math.max(0, screenIndex - 1);
203
- eventsManager.emit('tap_previous', nextIndex);
206
+
207
+ if (eventsManager !== null) {
208
+ eventsManager.emit('tap_previous', nextIndex);
209
+ }
204
210
  } else {
205
211
  nextIndex = clickOnSiblings ? index : Math.min(screensCount - 1, screenIndex + 1);
206
212
  var isLastScreen = screenIndex === screensCount - 1;
207
213
 
208
214
  if (isLastScreen && onEnd !== null) {
209
- eventsManager.emit('tap_end');
210
215
  onEnd();
211
- } else {
216
+
217
+ if (eventsManager !== null) {
218
+ eventsManager.emit('tap_end');
219
+ }
220
+ } else if (eventsManager) {
212
221
  eventsManager.emit('tap_next', nextIndex);
213
222
  }
214
223
  }
215
224
 
216
- eventsManager.emit('change_screen', nextIndex);
225
+ if (eventsManager !== null) {
226
+ eventsManager.emit('change_screen', nextIndex);
227
+ }
228
+
217
229
  onChangeScreen(nextIndex);
218
230
  }, [screenWidth, screens, screenIndex, eventsManager, onClick, onEnd, onChangeScreen, screenIndex, screensInteractionEnabled, currentScreenInteractionEnabled, nextScreenWidthPercent, isView, clickOnSiblings]);
219
231
  return {
@@ -1536,12 +1548,12 @@ var Viewer = function Viewer(_ref) {
1536
1548
 
1537
1549
  var _useScreenInteraction = useScreenInteraction({
1538
1550
  screens: screens,
1539
- screenId: screenId,
1551
+ screenIndex: screenIndex,
1540
1552
  screenWidth: screenWidth,
1541
1553
  isView: isView,
1542
1554
  clickOnSiblings: landscape && withLandscapeSiblingsScreens,
1543
1555
  nextScreenWidthPercent: tapNextScreenWidthPercent,
1544
- events: eventsManager,
1556
+ eventsManager: eventsManager,
1545
1557
  onClick: onInteractionPrivate,
1546
1558
  onEnd: onEnd,
1547
1559
  onChangeScreen: changeIndex
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/viewer",
3
- "version": "0.3.11",
3
+ "version": "0.3.14",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -59,12 +59,12 @@
59
59
  "@fortawesome/fontawesome-svg-core": "^1.2.32",
60
60
  "@fortawesome/free-solid-svg-icons": "^5.15.1",
61
61
  "@fortawesome/react-fontawesome": "^0.1.13",
62
- "@micromag/core": "^0.3.11",
63
- "@micromag/element-scroll": "^0.3.11",
64
- "@micromag/elements": "^0.3.11",
65
- "@micromag/fields": "^0.3.11",
66
- "@micromag/intl": "^0.3.11",
67
- "@micromag/screens": "^0.3.11",
62
+ "@micromag/core": "^0.3.14",
63
+ "@micromag/element-scroll": "^0.3.14",
64
+ "@micromag/elements": "^0.3.14",
65
+ "@micromag/fields": "^0.3.14",
66
+ "@micromag/intl": "^0.3.14",
67
+ "@micromag/screens": "^0.3.14",
68
68
  "@react-spring/core": "^9.1.1",
69
69
  "@react-spring/web": "^9.1.1",
70
70
  "@use-gesture/react": "^10.2.4",
@@ -80,5 +80,5 @@
80
80
  "publishConfig": {
81
81
  "access": "public"
82
82
  },
83
- "gitHead": "4baa4392185262ac19705bab9f21d4623a975249"
83
+ "gitHead": "1e4c6648b86abe2f1e81f597450489cdb2258eb0"
84
84
  }