@micromag/core 0.3.152 → 0.3.159

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/es/contexts.js CHANGED
@@ -977,6 +977,17 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
977
977
  var hideControls = useCallback(function () {
978
978
  return setControlsVisible(false);
979
979
  }, [setControlsVisible]);
980
+ var hasAudio = useMemo(function () {
981
+ if (media === null || media.tagName.toLowerCase() !== 'video') {
982
+ return false;
983
+ }
984
+
985
+ if (media.tagName.toLowerCase() === 'audio') {
986
+ return true;
987
+ }
988
+
989
+ return typeof media.dataset.hasAudio !== 'undefined' ? media.dataset.hasAudio : null;
990
+ }, [media]);
980
991
  var value = useMemo(function () {
981
992
  return {
982
993
  muted: muted,
@@ -984,6 +995,7 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
984
995
  controls: controls,
985
996
  controlsVisible: controlsVisible,
986
997
  media: media,
998
+ hasAudio: hasAudio,
987
999
  controlsTheme: controlsTheme,
988
1000
  setMuted: setMuted,
989
1001
  setPlaying: setPlaying,
@@ -994,7 +1006,7 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
994
1006
  hideControls: hideControls,
995
1007
  setMedia: setMedia
996
1008
  };
997
- }, [muted, playing, controls, controlsVisible, controlsTheme, media, setMuted, setPlaying, finalSetControls, finalSetControlsTheme, setControlsVisible, setControlsTheme, showControls, hideControls, setMedia]);
1009
+ }, [muted, playing, controls, controlsVisible, controlsTheme, media, hasAudio, setMuted, setPlaying, finalSetControls, finalSetControlsTheme, setControlsVisible, setControlsTheme, showControls, hideControls, setMedia]);
998
1010
  return /*#__PURE__*/React.createElement(PlaybackContext.Provider, {
999
1011
  value: value
1000
1012
  }, children);
package/es/hooks.js CHANGED
@@ -34,6 +34,7 @@ function useActivityDetector() {
34
34
  detected = _useState2[0],
35
35
  setDetected = _useState2[1];
36
36
 
37
+ var detectedRef = useRef(detected);
37
38
  useEffect(function () {
38
39
  var _ref$current = ref.current,
39
40
  element = _ref$current === void 0 ? null : _ref$current;
@@ -44,26 +45,47 @@ function useActivityDetector() {
44
45
 
45
46
  var timeout = null;
46
47
 
47
- function onMove() {
48
+ function onActivity() {
48
49
  if (timeout !== null) {
49
50
  clearTimeout(timeout);
50
51
  timeout = null;
51
52
  }
52
53
 
53
- setDetected(true);
54
+ if (!detectedRef.current) {
55
+ detectedRef.current = true;
56
+ setDetected(true);
57
+ }
58
+
54
59
  timeout = setTimeout(function () {
60
+ detectedRef.current = false;
55
61
  setDetected(false);
56
62
  }, timeoutDelay);
57
63
  }
58
64
 
59
- element.addEventListener('mousemove', onMove);
65
+ element.addEventListener('keydown', onActivity);
66
+ element.addEventListener('mousedown', onActivity);
67
+ element.addEventListener('mousemove', onActivity);
68
+ element.addEventListener('mouseup', onActivity);
69
+ element.addEventListener('pointerdown', onActivity);
70
+ element.addEventListener('pointermove', onActivity);
71
+ element.addEventListener('pointerup', onActivity);
72
+ element.addEventListener('touchmove', onActivity);
73
+ element.addEventListener('touchstart', onActivity);
60
74
  return function () {
61
75
  if (timeout !== null) {
62
76
  clearTimeout(timeout);
63
77
  timeout = null;
64
78
  }
65
79
 
66
- element.removeEventListener('mousemove', onMove);
80
+ element.removeEventListener('keydown', onActivity);
81
+ element.removeEventListener('mousedown', onActivity);
82
+ element.removeEventListener('mousemove', onActivity);
83
+ element.removeEventListener('mouseup', onActivity);
84
+ element.removeEventListener('pointerdown', onActivity);
85
+ element.removeEventListener('pointermove', onActivity);
86
+ element.removeEventListener('pointerup', onActivity);
87
+ element.removeEventListener('touchmove', onActivity);
88
+ element.removeEventListener('touchstart', onActivity);
67
89
  };
68
90
  }, [disabled, timeoutDelay]);
69
91
  return {
@@ -1165,47 +1187,54 @@ function useMediaCurrentTime(element) {
1165
1187
  setCurrentTime = _useState2[1];
1166
1188
 
1167
1189
  var realCurrentTime = useRef(currentTime);
1168
- var lastIdRef = useRef(id);
1169
- var idChanged = lastIdRef.current !== id;
1190
+ var finalId = id || element;
1191
+ var lastIdRef = useRef(finalId);
1192
+ var idChanged = lastIdRef.current !== finalId;
1170
1193
 
1171
1194
  if (idChanged) {
1172
- realCurrentTime.current = 0;
1173
- lastIdRef.current = id;
1195
+ realCurrentTime.current = element !== null ? element.currentTime || 0 : 0;
1196
+ lastIdRef.current = finalId;
1174
1197
  } // Check time update
1175
1198
 
1176
1199
 
1177
1200
  useEffect(function () {
1178
- if (disabled || element === null) {
1201
+ if (element === null) {
1179
1202
  return function () {};
1180
1203
  }
1181
1204
 
1182
- var canceled = false;
1205
+ function updateTime() {
1206
+ var time = element.currentTime;
1183
1207
 
1184
- var updateTime = function updateTime(time) {
1185
- if (canceled) {
1186
- return;
1208
+ if (time !== realCurrentTime.current) {
1209
+ realCurrentTime.current = time;
1210
+ setCurrentTime(time);
1211
+
1212
+ if (customOnUpdate !== null) {
1213
+ customOnUpdate(time);
1214
+ }
1187
1215
  }
1188
1216
 
1189
- realCurrentTime.current = time;
1190
- setCurrentTime(time);
1217
+ return time;
1218
+ }
1191
1219
 
1192
- if (customOnUpdate !== null) {
1193
- customOnUpdate(time);
1194
- }
1195
- };
1220
+ if (disabled) {
1221
+ updateTime();
1222
+ return function () {};
1223
+ }
1196
1224
 
1197
- var interval = setInterval(function () {
1198
- var time = element.currentTime;
1225
+ var timeout = null;
1199
1226
 
1200
- if (typeof time.then !== 'undefined') {
1201
- time.then(updateTime);
1202
- } else {
1203
- updateTime(time);
1204
- }
1205
- }, updateInterval);
1227
+ function loop() {
1228
+ var time = updateTime();
1229
+ var remainingTime = Math.floor((element.duration - time) * 1000);
1230
+ timeout = setTimeout(loop, Math.min(updateInterval, remainingTime));
1231
+ }
1232
+
1233
+ loop();
1206
1234
  return function () {
1207
- canceled = true;
1208
- clearInterval(interval);
1235
+ if (timeout !== null) {
1236
+ clearInterval(timeout);
1237
+ }
1209
1238
  };
1210
1239
  }, [id, element, setCurrentTime, disabled, updateInterval]);
1211
1240
  return realCurrentTime.current;
@@ -1222,12 +1251,13 @@ function useMediaDuration(element) {
1222
1251
  setDuration = _useState2[1];
1223
1252
 
1224
1253
  var realDuration = useRef(duration);
1225
- var lastIdRef = useRef(id);
1226
- var idChanged = lastIdRef.current !== id;
1254
+ var finalId = id || element;
1255
+ var lastIdRef = useRef(finalId);
1256
+ var idChanged = lastIdRef.current !== finalId;
1227
1257
 
1228
1258
  if (idChanged) {
1229
1259
  realDuration.current = element !== null ? element.duration || 0 : 0;
1230
- lastIdRef.current = id;
1260
+ lastIdRef.current = finalId;
1231
1261
  }
1232
1262
 
1233
1263
  useEffect(function () {
@@ -1236,14 +1266,20 @@ function useMediaDuration(element) {
1236
1266
  }
1237
1267
 
1238
1268
  function updateDuration() {
1239
- realDuration.current = element.duration || 0;
1240
- setDuration(element.duration || 0);
1269
+ var newDuration = element.duration || 0;
1270
+
1271
+ if (newDuration !== realDuration.current) {
1272
+ realDuration.current = newDuration;
1273
+ setDuration(newDuration);
1274
+ }
1241
1275
  }
1242
1276
 
1243
1277
  updateDuration();
1278
+ element.addEventListener('canplay', updateDuration);
1244
1279
  element.addEventListener('loadedmetadata', updateDuration);
1245
1280
  element.addEventListener('durationchange', updateDuration);
1246
1281
  return function () {
1282
+ element.removeEventListener('canplay', updateDuration);
1247
1283
  element.removeEventListener('loadedmetadata', updateDuration);
1248
1284
  element.removeEventListener('durationchange', updateDuration);
1249
1285
  };
@@ -1357,25 +1393,41 @@ var useMediasParser = function useMediasParser() {
1357
1393
 
1358
1394
  function useMediaThumbnail(media) {
1359
1395
  var file = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1396
+ var thumbnail = useMemo(function () {
1397
+ if (isObject(file)) {
1398
+ return file;
1399
+ }
1400
+
1401
+ var _ref = media || {},
1402
+ _ref$thumbnail_url = _ref.thumbnail_url,
1403
+ defaultThumbnailUrl = _ref$thumbnail_url === void 0 ? null : _ref$thumbnail_url,
1404
+ _ref$files = _ref.files,
1405
+ files = _ref$files === void 0 ? null : _ref$files,
1406
+ _ref$metadata = _ref.metadata,
1407
+ metadata = _ref$metadata === void 0 ? null : _ref$metadata;
1360
1408
 
1361
- var _ref = media || {},
1362
- _ref$thumbnail_url = _ref.thumbnail_url,
1363
- defaultThumbnailUrl = _ref$thumbnail_url === void 0 ? null : _ref$thumbnail_url,
1364
- _ref$files = _ref.files,
1365
- files = _ref$files === void 0 ? null : _ref$files;
1409
+ var _ref2 = metadata || {},
1410
+ mediaWidth = _ref2.width,
1411
+ mediaHeight = _ref2.height;
1366
1412
 
1367
- var thumbnailUrl = useMemo(function () {
1368
1413
  var filesArray = getMediaFilesAsArray(files) || [];
1369
1414
 
1370
- var _ref2 = (file !== null && !isObject(file) ? filesArray.find(function (_ref3) {
1371
- var handle = _ref3.handle;
1415
+ var _ref3 = (file !== null ? filesArray.find(function (_ref4) {
1416
+ var handle = _ref4.handle;
1372
1417
  return handle === file;
1373
- }) || null : file) || {},
1374
- url = _ref2.url;
1375
-
1376
- return url || defaultThumbnailUrl;
1377
- }, [files, file, defaultThumbnailUrl]);
1378
- return thumbnailUrl;
1418
+ }) || null : null) || {},
1419
+ _ref3$url = _ref3.url,
1420
+ url = _ref3$url === void 0 ? null : _ref3$url;
1421
+
1422
+ return url !== null || defaultThumbnailUrl !== null ? {
1423
+ url: url || defaultThumbnailUrl,
1424
+ metadata: {
1425
+ width: mediaWidth,
1426
+ height: mediaHeight
1427
+ }
1428
+ } : null;
1429
+ }, [media, file]);
1430
+ return thumbnail;
1379
1431
  }
1380
1432
 
1381
1433
  function useMediaWaveform(media) {
package/es/index.js CHANGED
@@ -1358,7 +1358,7 @@ var MediasParser = /*#__PURE__*/function () {
1358
1358
  var newValue;
1359
1359
 
1360
1360
  if (patternMatch) {
1361
- newValue = isObject(value) ? value : medias[value] || null;
1361
+ newValue = isObject(value) ? value : medias[value] || value;
1362
1362
  } else {
1363
1363
  newValue = isObject(value) || isArray(value) ? MediasParser.replacePathsWithMedias(value, medias, patterns, path) : value;
1364
1364
  }
package/lib/contexts.js CHANGED
@@ -1012,6 +1012,17 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
1012
1012
  var hideControls = React.useCallback(function () {
1013
1013
  return setControlsVisible(false);
1014
1014
  }, [setControlsVisible]);
1015
+ var hasAudio = React.useMemo(function () {
1016
+ if (media === null || media.tagName.toLowerCase() !== 'video') {
1017
+ return false;
1018
+ }
1019
+
1020
+ if (media.tagName.toLowerCase() === 'audio') {
1021
+ return true;
1022
+ }
1023
+
1024
+ return typeof media.dataset.hasAudio !== 'undefined' ? media.dataset.hasAudio : null;
1025
+ }, [media]);
1015
1026
  var value = React.useMemo(function () {
1016
1027
  return {
1017
1028
  muted: muted,
@@ -1019,6 +1030,7 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
1019
1030
  controls: controls,
1020
1031
  controlsVisible: controlsVisible,
1021
1032
  media: media,
1033
+ hasAudio: hasAudio,
1022
1034
  controlsTheme: controlsTheme,
1023
1035
  setMuted: setMuted,
1024
1036
  setPlaying: setPlaying,
@@ -1029,7 +1041,7 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
1029
1041
  hideControls: hideControls,
1030
1042
  setMedia: setMedia
1031
1043
  };
1032
- }, [muted, playing, controls, controlsVisible, controlsTheme, media, setMuted, setPlaying, finalSetControls, finalSetControlsTheme, setControlsVisible, setControlsTheme, showControls, hideControls, setMedia]);
1044
+ }, [muted, playing, controls, controlsVisible, controlsTheme, media, hasAudio, setMuted, setPlaying, finalSetControls, finalSetControlsTheme, setControlsVisible, setControlsTheme, showControls, hideControls, setMedia]);
1033
1045
  return /*#__PURE__*/React__default["default"].createElement(PlaybackContext.Provider, {
1034
1046
  value: value
1035
1047
  }, children);
package/lib/hooks.js CHANGED
@@ -71,6 +71,7 @@ function useActivityDetector() {
71
71
  detected = _useState2[0],
72
72
  setDetected = _useState2[1];
73
73
 
74
+ var detectedRef = react.useRef(detected);
74
75
  react.useEffect(function () {
75
76
  var _ref$current = ref.current,
76
77
  element = _ref$current === void 0 ? null : _ref$current;
@@ -81,26 +82,47 @@ function useActivityDetector() {
81
82
 
82
83
  var timeout = null;
83
84
 
84
- function onMove() {
85
+ function onActivity() {
85
86
  if (timeout !== null) {
86
87
  clearTimeout(timeout);
87
88
  timeout = null;
88
89
  }
89
90
 
90
- setDetected(true);
91
+ if (!detectedRef.current) {
92
+ detectedRef.current = true;
93
+ setDetected(true);
94
+ }
95
+
91
96
  timeout = setTimeout(function () {
97
+ detectedRef.current = false;
92
98
  setDetected(false);
93
99
  }, timeoutDelay);
94
100
  }
95
101
 
96
- element.addEventListener('mousemove', onMove);
102
+ element.addEventListener('keydown', onActivity);
103
+ element.addEventListener('mousedown', onActivity);
104
+ element.addEventListener('mousemove', onActivity);
105
+ element.addEventListener('mouseup', onActivity);
106
+ element.addEventListener('pointerdown', onActivity);
107
+ element.addEventListener('pointermove', onActivity);
108
+ element.addEventListener('pointerup', onActivity);
109
+ element.addEventListener('touchmove', onActivity);
110
+ element.addEventListener('touchstart', onActivity);
97
111
  return function () {
98
112
  if (timeout !== null) {
99
113
  clearTimeout(timeout);
100
114
  timeout = null;
101
115
  }
102
116
 
103
- element.removeEventListener('mousemove', onMove);
117
+ element.removeEventListener('keydown', onActivity);
118
+ element.removeEventListener('mousedown', onActivity);
119
+ element.removeEventListener('mousemove', onActivity);
120
+ element.removeEventListener('mouseup', onActivity);
121
+ element.removeEventListener('pointerdown', onActivity);
122
+ element.removeEventListener('pointermove', onActivity);
123
+ element.removeEventListener('pointerup', onActivity);
124
+ element.removeEventListener('touchmove', onActivity);
125
+ element.removeEventListener('touchstart', onActivity);
104
126
  };
105
127
  }, [disabled, timeoutDelay]);
106
128
  return {
@@ -1202,47 +1224,54 @@ function useMediaCurrentTime(element) {
1202
1224
  setCurrentTime = _useState2[1];
1203
1225
 
1204
1226
  var realCurrentTime = react.useRef(currentTime);
1205
- var lastIdRef = react.useRef(id);
1206
- var idChanged = lastIdRef.current !== id;
1227
+ var finalId = id || element;
1228
+ var lastIdRef = react.useRef(finalId);
1229
+ var idChanged = lastIdRef.current !== finalId;
1207
1230
 
1208
1231
  if (idChanged) {
1209
- realCurrentTime.current = 0;
1210
- lastIdRef.current = id;
1232
+ realCurrentTime.current = element !== null ? element.currentTime || 0 : 0;
1233
+ lastIdRef.current = finalId;
1211
1234
  } // Check time update
1212
1235
 
1213
1236
 
1214
1237
  react.useEffect(function () {
1215
- if (disabled || element === null) {
1238
+ if (element === null) {
1216
1239
  return function () {};
1217
1240
  }
1218
1241
 
1219
- var canceled = false;
1242
+ function updateTime() {
1243
+ var time = element.currentTime;
1220
1244
 
1221
- var updateTime = function updateTime(time) {
1222
- if (canceled) {
1223
- return;
1245
+ if (time !== realCurrentTime.current) {
1246
+ realCurrentTime.current = time;
1247
+ setCurrentTime(time);
1248
+
1249
+ if (customOnUpdate !== null) {
1250
+ customOnUpdate(time);
1251
+ }
1224
1252
  }
1225
1253
 
1226
- realCurrentTime.current = time;
1227
- setCurrentTime(time);
1254
+ return time;
1255
+ }
1228
1256
 
1229
- if (customOnUpdate !== null) {
1230
- customOnUpdate(time);
1231
- }
1232
- };
1257
+ if (disabled) {
1258
+ updateTime();
1259
+ return function () {};
1260
+ }
1233
1261
 
1234
- var interval = setInterval(function () {
1235
- var time = element.currentTime;
1262
+ var timeout = null;
1236
1263
 
1237
- if (typeof time.then !== 'undefined') {
1238
- time.then(updateTime);
1239
- } else {
1240
- updateTime(time);
1241
- }
1242
- }, updateInterval);
1264
+ function loop() {
1265
+ var time = updateTime();
1266
+ var remainingTime = Math.floor((element.duration - time) * 1000);
1267
+ timeout = setTimeout(loop, Math.min(updateInterval, remainingTime));
1268
+ }
1269
+
1270
+ loop();
1243
1271
  return function () {
1244
- canceled = true;
1245
- clearInterval(interval);
1272
+ if (timeout !== null) {
1273
+ clearInterval(timeout);
1274
+ }
1246
1275
  };
1247
1276
  }, [id, element, setCurrentTime, disabled, updateInterval]);
1248
1277
  return realCurrentTime.current;
@@ -1259,12 +1288,13 @@ function useMediaDuration(element) {
1259
1288
  setDuration = _useState2[1];
1260
1289
 
1261
1290
  var realDuration = react.useRef(duration);
1262
- var lastIdRef = react.useRef(id);
1263
- var idChanged = lastIdRef.current !== id;
1291
+ var finalId = id || element;
1292
+ var lastIdRef = react.useRef(finalId);
1293
+ var idChanged = lastIdRef.current !== finalId;
1264
1294
 
1265
1295
  if (idChanged) {
1266
1296
  realDuration.current = element !== null ? element.duration || 0 : 0;
1267
- lastIdRef.current = id;
1297
+ lastIdRef.current = finalId;
1268
1298
  }
1269
1299
 
1270
1300
  react.useEffect(function () {
@@ -1273,14 +1303,20 @@ function useMediaDuration(element) {
1273
1303
  }
1274
1304
 
1275
1305
  function updateDuration() {
1276
- realDuration.current = element.duration || 0;
1277
- setDuration(element.duration || 0);
1306
+ var newDuration = element.duration || 0;
1307
+
1308
+ if (newDuration !== realDuration.current) {
1309
+ realDuration.current = newDuration;
1310
+ setDuration(newDuration);
1311
+ }
1278
1312
  }
1279
1313
 
1280
1314
  updateDuration();
1315
+ element.addEventListener('canplay', updateDuration);
1281
1316
  element.addEventListener('loadedmetadata', updateDuration);
1282
1317
  element.addEventListener('durationchange', updateDuration);
1283
1318
  return function () {
1319
+ element.removeEventListener('canplay', updateDuration);
1284
1320
  element.removeEventListener('loadedmetadata', updateDuration);
1285
1321
  element.removeEventListener('durationchange', updateDuration);
1286
1322
  };
@@ -1394,25 +1430,41 @@ var useMediasParser = function useMediasParser() {
1394
1430
 
1395
1431
  function useMediaThumbnail(media) {
1396
1432
  var file = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1433
+ var thumbnail = react.useMemo(function () {
1434
+ if (isObject__default["default"](file)) {
1435
+ return file;
1436
+ }
1437
+
1438
+ var _ref = media || {},
1439
+ _ref$thumbnail_url = _ref.thumbnail_url,
1440
+ defaultThumbnailUrl = _ref$thumbnail_url === void 0 ? null : _ref$thumbnail_url,
1441
+ _ref$files = _ref.files,
1442
+ files = _ref$files === void 0 ? null : _ref$files,
1443
+ _ref$metadata = _ref.metadata,
1444
+ metadata = _ref$metadata === void 0 ? null : _ref$metadata;
1397
1445
 
1398
- var _ref = media || {},
1399
- _ref$thumbnail_url = _ref.thumbnail_url,
1400
- defaultThumbnailUrl = _ref$thumbnail_url === void 0 ? null : _ref$thumbnail_url,
1401
- _ref$files = _ref.files,
1402
- files = _ref$files === void 0 ? null : _ref$files;
1446
+ var _ref2 = metadata || {},
1447
+ mediaWidth = _ref2.width,
1448
+ mediaHeight = _ref2.height;
1403
1449
 
1404
- var thumbnailUrl = react.useMemo(function () {
1405
1450
  var filesArray = utils.getMediaFilesAsArray(files) || [];
1406
1451
 
1407
- var _ref2 = (file !== null && !isObject__default["default"](file) ? filesArray.find(function (_ref3) {
1408
- var handle = _ref3.handle;
1452
+ var _ref3 = (file !== null ? filesArray.find(function (_ref4) {
1453
+ var handle = _ref4.handle;
1409
1454
  return handle === file;
1410
- }) || null : file) || {},
1411
- url = _ref2.url;
1412
-
1413
- return url || defaultThumbnailUrl;
1414
- }, [files, file, defaultThumbnailUrl]);
1415
- return thumbnailUrl;
1455
+ }) || null : null) || {},
1456
+ _ref3$url = _ref3.url,
1457
+ url = _ref3$url === void 0 ? null : _ref3$url;
1458
+
1459
+ return url !== null || defaultThumbnailUrl !== null ? {
1460
+ url: url || defaultThumbnailUrl,
1461
+ metadata: {
1462
+ width: mediaWidth,
1463
+ height: mediaHeight
1464
+ }
1465
+ } : null;
1466
+ }, [media, file]);
1467
+ return thumbnail;
1416
1468
  }
1417
1469
 
1418
1470
  function useMediaWaveform(media) {
package/lib/index.js CHANGED
@@ -1385,7 +1385,7 @@ var MediasParser = /*#__PURE__*/function () {
1385
1385
  var newValue;
1386
1386
 
1387
1387
  if (patternMatch) {
1388
- newValue = isObject__default["default"](value) ? value : medias[value] || null;
1388
+ newValue = isObject__default["default"](value) ? value : medias[value] || value;
1389
1389
  } else {
1390
1390
  newValue = isObject__default["default"](value) || isArray__default["default"](value) ? MediasParser.replacePathsWithMedias(value, medias, patterns, path) : value;
1391
1391
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.152",
3
+ "version": "0.3.159",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -132,5 +132,5 @@
132
132
  "publishConfig": {
133
133
  "access": "public"
134
134
  },
135
- "gitHead": "23db6c104c10cc70a73366c8b04576a312a36206"
135
+ "gitHead": "685851a0877cde60bcb1c322d939e93bf2f72792"
136
136
  }