@micromag/core 0.3.251 → 0.3.262
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/styles.css +2 -2
- package/es/components.js +61 -38
- package/es/contexts.js +79 -134
- package/es/hooks.js +88 -69
- package/es/utils.js +49 -1
- package/lib/components.js +61 -38
- package/lib/contexts.js +78 -136
- package/lib/hooks.js +88 -68
- package/lib/utils.js +50 -0
- package/package.json +2 -2
package/lib/hooks.js
CHANGED
|
@@ -10,8 +10,8 @@ var isString = require('lodash/isString');
|
|
|
10
10
|
var dayjs = require('dayjs');
|
|
11
11
|
var core = require('@micromag/core');
|
|
12
12
|
var utils = require('@micromag/core/utils');
|
|
13
|
-
var react$1 = require('@use-gesture/react');
|
|
14
13
|
var core$1 = require('@react-spring/core');
|
|
14
|
+
var react$1 = require('@use-gesture/react');
|
|
15
15
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
16
16
|
var forms = require('@folklore/forms');
|
|
17
17
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
@@ -231,41 +231,22 @@ var useFormattedTime = function useFormattedTime() {
|
|
|
231
231
|
}, [now, showNow, timeGap, format]);
|
|
232
232
|
};
|
|
233
233
|
|
|
234
|
-
var
|
|
235
|
-
var
|
|
236
|
-
|
|
237
|
-
var
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
234
|
+
var useDebounced = function useDebounced(handler, watchedValue) {
|
|
235
|
+
var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
|
|
236
|
+
react.useEffect(function () {
|
|
237
|
+
var timeoutHandler = setTimeout(function () {
|
|
238
|
+
if (handler !== null) {
|
|
239
|
+
handler(watchedValue);
|
|
240
|
+
}
|
|
241
|
+
}, delay);
|
|
242
|
+
return function () {
|
|
243
|
+
clearTimeout(timeoutHandler);
|
|
244
|
+
};
|
|
245
|
+
}, [watchedValue, delay]);
|
|
246
246
|
};
|
|
247
247
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
251
|
-
progress = _useState2[0],
|
|
252
|
-
setProgress = _useState2[1];
|
|
253
|
-
|
|
254
|
-
var onChange = react.useCallback(function (spring) {
|
|
255
|
-
return setProgress(getValueFromSpring(spring));
|
|
256
|
-
}, [setProgress]);
|
|
257
|
-
core$1.useSpring(_objectSpread__default["default"]({
|
|
258
|
-
progress: wantedProgress,
|
|
259
|
-
onChange: onChange,
|
|
260
|
-
immediate: immediate
|
|
261
|
-
}, params)); // useEffect(() => {
|
|
262
|
-
// if (wantedProgress !== null) {
|
|
263
|
-
// api.start({ progress: wantedProgress, immediate, ...params });
|
|
264
|
-
// }
|
|
265
|
-
// }, [wantedProgress, immediate, params, api]);
|
|
266
|
-
|
|
267
|
-
return immediate ? wantedProgress : progress;
|
|
268
|
-
}
|
|
248
|
+
var eventsManager$1 = typeof document !== 'undefined' ? new core.EventsManager(document) : null;
|
|
249
|
+
var useDocumentEvent = utils.createUseEvent(eventsManager$1);
|
|
269
250
|
|
|
270
251
|
function useDragProgress() {
|
|
271
252
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
@@ -284,21 +265,28 @@ function useDragProgress() {
|
|
|
284
265
|
springParams = _ref$springParams === void 0 ? undefined : _ref$springParams,
|
|
285
266
|
_ref$dragOptions = _ref.dragOptions,
|
|
286
267
|
dragOptions = _ref$dragOptions === void 0 ? {
|
|
287
|
-
filterTaps: true
|
|
288
|
-
preventDefault: true
|
|
268
|
+
filterTaps: true
|
|
289
269
|
} : _ref$dragOptions;
|
|
290
270
|
|
|
291
271
|
var refDragging = react.useRef(false);
|
|
272
|
+
var refProgress = react.useRef(wantedProgress);
|
|
292
273
|
|
|
293
|
-
var _useState = react.useState(
|
|
294
|
-
dragging: false,
|
|
295
|
-
progress: wantedProgress
|
|
296
|
-
}),
|
|
274
|
+
var _useState = react.useState(false),
|
|
297
275
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
276
|
+
dragging = _useState2[0],
|
|
277
|
+
setDragging = _useState2[1];
|
|
278
|
+
|
|
279
|
+
var spring = react.useCallback(function () {
|
|
280
|
+
return _objectSpread__default["default"]({
|
|
281
|
+
progress: wantedProgress,
|
|
282
|
+
immediate: dragging || disabled
|
|
283
|
+
}, springParams);
|
|
284
|
+
}, []);
|
|
285
|
+
|
|
286
|
+
var _useSpring = core$1.useSpring(spring),
|
|
287
|
+
_useSpring2 = _slicedToArray__default["default"](_useSpring, 2),
|
|
288
|
+
progress = _useSpring2[0].progress,
|
|
289
|
+
api = _useSpring2[1];
|
|
302
290
|
|
|
303
291
|
var onDrag = react.useCallback(function (gestureState) {
|
|
304
292
|
if (disabled) {
|
|
@@ -319,29 +307,35 @@ function useDragProgress() {
|
|
|
319
307
|
|
|
320
308
|
var newProgress = computeProgress(gestureState);
|
|
321
309
|
refDragging.current = active;
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
310
|
+
refProgress.current = newProgress;
|
|
311
|
+
|
|
312
|
+
if (active !== dragging) {
|
|
313
|
+
setDragging(active);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
api.start({
|
|
317
|
+
progress: newProgress,
|
|
318
|
+
immediate: active
|
|
325
319
|
});
|
|
326
320
|
|
|
327
321
|
if (onProgress !== null) {
|
|
328
322
|
onProgress(newProgress, gestureState);
|
|
329
323
|
}
|
|
330
|
-
}, [
|
|
324
|
+
}, [setDragging, disabled, onTap, computeProgress, dragging, onProgress]);
|
|
331
325
|
var bind = react$1.useDrag(onDrag, dragOptions);
|
|
332
|
-
var springedProgress = useSpringValue(progress, dragging || disabled, springParams);
|
|
333
326
|
react.useEffect(function () {
|
|
334
|
-
if (wantedProgress !==
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
progress: wantedProgress
|
|
327
|
+
if (!refDragging.current && wantedProgress !== refProgress.current) {
|
|
328
|
+
refProgress.current = wantedProgress;
|
|
329
|
+
api.start({
|
|
330
|
+
progress: wantedProgress,
|
|
331
|
+
immediate: false
|
|
338
332
|
});
|
|
339
333
|
}
|
|
340
334
|
}, [wantedProgress]);
|
|
341
335
|
return {
|
|
342
336
|
bind: bind,
|
|
343
337
|
dragging: dragging,
|
|
344
|
-
progress:
|
|
338
|
+
progress: progress
|
|
345
339
|
};
|
|
346
340
|
}
|
|
347
341
|
|
|
@@ -1527,16 +1521,17 @@ function useMediaProgress(media) {
|
|
|
1527
1521
|
var _useState = react.useState(!disabled),
|
|
1528
1522
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
1529
1523
|
playing = _useState2[0],
|
|
1530
|
-
setPlaying = _useState2[1];
|
|
1524
|
+
setPlaying = _useState2[1]; // const currentTime = useMediaCurrentTime(media, {
|
|
1525
|
+
// disabled: disabled || !playing,
|
|
1526
|
+
// ...props,
|
|
1527
|
+
// });
|
|
1528
|
+
|
|
1531
1529
|
|
|
1532
|
-
var currentTime = useMediaCurrentTime(media, _objectSpread__default["default"]({
|
|
1533
|
-
disabled: disabled || !playing
|
|
1534
|
-
}, props));
|
|
1535
1530
|
var duration = useMediaDuration(media, _objectSpread__default["default"]({
|
|
1536
1531
|
disabled: disabled || !playing
|
|
1537
1532
|
}, props));
|
|
1538
1533
|
|
|
1539
|
-
var _useState3 = react.useState(currentTime > 0 && duration > 0 ? currentTime / duration : 0),
|
|
1534
|
+
var _useState3 = react.useState(media !== null && (media.currentTime || 0) > 0 && duration > 0 ? media.currentTime / duration : 0),
|
|
1540
1535
|
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
1541
1536
|
progress = _useState4[0],
|
|
1542
1537
|
setProgress = _useState4[1];
|
|
@@ -1571,8 +1566,8 @@ function useMediaProgress(media) {
|
|
|
1571
1566
|
|
|
1572
1567
|
media.addEventListener('play', onResume);
|
|
1573
1568
|
media.addEventListener('seeked', onResume);
|
|
1574
|
-
media.addEventListener('playing', onResume);
|
|
1575
|
-
|
|
1569
|
+
media.addEventListener('playing', onResume); // media.addEventListener('timeupdate', onResume);
|
|
1570
|
+
|
|
1576
1571
|
media.addEventListener('pause', onPause);
|
|
1577
1572
|
media.addEventListener('ended', onPause);
|
|
1578
1573
|
media.addEventListener('waiting', onPause);
|
|
@@ -1587,8 +1582,8 @@ function useMediaProgress(media) {
|
|
|
1587
1582
|
return function () {
|
|
1588
1583
|
media.removeEventListener('play', onResume);
|
|
1589
1584
|
media.removeEventListener('seeked', onResume);
|
|
1590
|
-
media.removeEventListener('playing', onResume);
|
|
1591
|
-
|
|
1585
|
+
media.removeEventListener('playing', onResume); // media.removeEventListener('timeupdate', onResume);
|
|
1586
|
+
|
|
1592
1587
|
media.removeEventListener('pause', onPause);
|
|
1593
1588
|
media.removeEventListener('ended', onPause);
|
|
1594
1589
|
media.removeEventListener('waiting', onPause);
|
|
@@ -1597,11 +1592,7 @@ function useMediaProgress(media) {
|
|
|
1597
1592
|
};
|
|
1598
1593
|
}, [media, updateProgress, setPlaying, playing]);
|
|
1599
1594
|
react.useEffect(function () {
|
|
1600
|
-
if (media === null) {
|
|
1601
|
-
return function () {};
|
|
1602
|
-
}
|
|
1603
|
-
|
|
1604
|
-
if (!playing || disabled) {
|
|
1595
|
+
if (media === null || !playing || disabled) {
|
|
1605
1596
|
return function () {};
|
|
1606
1597
|
}
|
|
1607
1598
|
|
|
@@ -2050,6 +2041,34 @@ var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
|
|
|
2050
2041
|
return useScreenSize(_objectSpread__default["default"](_objectSpread__default["default"]({}, opts), windowSize));
|
|
2051
2042
|
};
|
|
2052
2043
|
|
|
2044
|
+
var getValueFromSpring = function getValueFromSpring(s) {
|
|
2045
|
+
var _ref = s || {},
|
|
2046
|
+
_ref$value = _ref.value,
|
|
2047
|
+
v = _ref$value === void 0 ? null : _ref$value;
|
|
2048
|
+
|
|
2049
|
+
var _ref2 = v || {},
|
|
2050
|
+
p = _ref2.progress;
|
|
2051
|
+
|
|
2052
|
+
return p;
|
|
2053
|
+
};
|
|
2054
|
+
|
|
2055
|
+
function useSpringValue(wantedProgress, immediate, params) {
|
|
2056
|
+
var _useState = react.useState(wantedProgress),
|
|
2057
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
2058
|
+
progress = _useState2[0],
|
|
2059
|
+
setProgress = _useState2[1];
|
|
2060
|
+
|
|
2061
|
+
var onChange = react.useCallback(function (spring) {
|
|
2062
|
+
return setProgress(getValueFromSpring(spring));
|
|
2063
|
+
}, [setProgress]);
|
|
2064
|
+
core$1.useSpring(_objectSpread__default["default"]({
|
|
2065
|
+
progress: wantedProgress,
|
|
2066
|
+
onChange: onChange,
|
|
2067
|
+
immediate: immediate
|
|
2068
|
+
}, params));
|
|
2069
|
+
return immediate ? wantedProgress : progress;
|
|
2070
|
+
}
|
|
2071
|
+
|
|
2053
2072
|
var useSwipe = function useSwipe() {
|
|
2054
2073
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
2055
2074
|
_ref$width = _ref.width,
|
|
@@ -2374,6 +2393,7 @@ var useWindowEvent = utils.createUseEvent(eventsManager);
|
|
|
2374
2393
|
exports.getObserver = getObserver;
|
|
2375
2394
|
exports.useActivityDetector = useActivityDetector;
|
|
2376
2395
|
exports.useAnimationFrame = useAnimationFrame;
|
|
2396
|
+
exports.useDebounce = useDebounced;
|
|
2377
2397
|
exports.useDimensionObserver = useDimensionObserver;
|
|
2378
2398
|
exports.useDocumentEvent = useDocumentEvent;
|
|
2379
2399
|
exports.useDragProgress = useDragProgress;
|
package/lib/utils.js
CHANGED
|
@@ -657,6 +657,38 @@ function getShadowCoords(angle, distance) {
|
|
|
657
657
|
};
|
|
658
658
|
}
|
|
659
659
|
|
|
660
|
+
// import isObject from 'lodash/isObject';
|
|
661
|
+
function getJustifyContent(horizontal) {
|
|
662
|
+
if (horizontal === 'left') return 'flex-start';
|
|
663
|
+
if (horizontal === 'middle') return 'center';
|
|
664
|
+
if (horizontal === 'right') return 'flex-end';
|
|
665
|
+
return null;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
function getAlignItems(vertical) {
|
|
669
|
+
if (vertical === 'top') return 'flex-start';
|
|
670
|
+
if (vertical === 'middle') return 'center';
|
|
671
|
+
if (vertical === 'bottom') return 'flex-end';
|
|
672
|
+
return null;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
var getStyleFromAlignment = function getStyleFromAlignment(value) {
|
|
676
|
+
if (value === null) {
|
|
677
|
+
return null;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
var _value$horizontal = value.horizontal,
|
|
681
|
+
horizontal = _value$horizontal === void 0 ? null : _value$horizontal,
|
|
682
|
+
_value$vertical = value.vertical,
|
|
683
|
+
vertical = _value$vertical === void 0 ? null : _value$vertical;
|
|
684
|
+
var justifyContent = getJustifyContent(horizontal);
|
|
685
|
+
var alignItems = getAlignItems(vertical);
|
|
686
|
+
return {
|
|
687
|
+
justifyContent: justifyContent,
|
|
688
|
+
alignItems: alignItems
|
|
689
|
+
};
|
|
690
|
+
};
|
|
691
|
+
|
|
660
692
|
var getStyleFromColor = function getStyleFromColor() {
|
|
661
693
|
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
662
694
|
var property = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'backgroundColor';
|
|
@@ -950,6 +982,22 @@ var getStyleFromMargin = function getStyleFromMargin(value) {
|
|
|
950
982
|
} : null);
|
|
951
983
|
};
|
|
952
984
|
|
|
985
|
+
var possibleMimes = ['video/webm', 'video/mp4', 'video/ogg'];
|
|
986
|
+
var supportedMimes = null;
|
|
987
|
+
|
|
988
|
+
function getVideoSupportedMimes() {
|
|
989
|
+
var mimes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : possibleMimes;
|
|
990
|
+
|
|
991
|
+
if (supportedMimes === null) {
|
|
992
|
+
var video = document.createElement('video');
|
|
993
|
+
supportedMimes = mimes.filter(function (mime) {
|
|
994
|
+
return video.canPlayType(mime) !== '';
|
|
995
|
+
});
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
return supportedMimes;
|
|
999
|
+
}
|
|
1000
|
+
|
|
953
1001
|
var getLayoutParts = function getLayoutParts() {
|
|
954
1002
|
var layout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
955
1003
|
|
|
@@ -1143,6 +1191,7 @@ exports.getOptimalImageUrl = getOptimalImageUrl;
|
|
|
1143
1191
|
exports.getScreenExtraField = getScreenExtraField;
|
|
1144
1192
|
exports.getSecondsFromTime = getSecondsFromTime;
|
|
1145
1193
|
exports.getShadowCoords = getShadowCoords;
|
|
1194
|
+
exports.getStyleFromAlignment = getStyleFromAlignment;
|
|
1146
1195
|
exports.getStyleFromBorder = getStyleFromBorder;
|
|
1147
1196
|
exports.getStyleFromBox = getStyleFromBox;
|
|
1148
1197
|
exports.getStyleFromColor = getStyleFromColor;
|
|
@@ -1152,6 +1201,7 @@ exports.getStyleFromImage = getStyleFromImage;
|
|
|
1152
1201
|
exports.getStyleFromLink = getStyleFromLink;
|
|
1153
1202
|
exports.getStyleFromMargin = getStyleFromMargin;
|
|
1154
1203
|
exports.getStyleFromText = getStyleFromText;
|
|
1204
|
+
exports.getVideoSupportedMimes = getVideoSupportedMimes;
|
|
1155
1205
|
exports.isImageFilled = isImageFilled;
|
|
1156
1206
|
exports.isIos = isIos;
|
|
1157
1207
|
exports.isLabelFilled = isTextFilled$1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.262",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
"publishConfig": {
|
|
134
134
|
"access": "public"
|
|
135
135
|
},
|
|
136
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "2299eaeb150cfdd14b4da321bf9089ab1e6383c2"
|
|
137
137
|
}
|