@micromag/core 0.3.251 → 0.3.252
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/components.js +6 -1
- package/es/contexts.js +79 -134
- package/es/hooks.js +88 -69
- package/es/utils.js +17 -1
- package/lib/components.js +6 -1
- package/lib/contexts.js +78 -136
- package/lib/hooks.js +88 -68
- package/lib/utils.js +17 -0
- package/package.json +2 -2
package/es/hooks.js
CHANGED
|
@@ -6,8 +6,8 @@ import isString from 'lodash/isString';
|
|
|
6
6
|
import dayjs from 'dayjs';
|
|
7
7
|
import { EventsManager, MediasParser, StoryParser, ThemeParser } from '@micromag/core';
|
|
8
8
|
import { createUseEvent, getMediaFilesAsArray } from '@micromag/core/utils';
|
|
9
|
-
import { useDrag } from '@use-gesture/react';
|
|
10
9
|
import { useSpring, useSprings } from '@react-spring/core';
|
|
10
|
+
import { useDrag } from '@use-gesture/react';
|
|
11
11
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
12
12
|
import { useForm as useForm$1 } from '@folklore/forms';
|
|
13
13
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
@@ -193,41 +193,22 @@ var useFormattedTime = function useFormattedTime() {
|
|
|
193
193
|
}, [now, showNow, timeGap, format]);
|
|
194
194
|
};
|
|
195
195
|
|
|
196
|
-
var
|
|
197
|
-
var
|
|
198
|
-
|
|
199
|
-
var
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
196
|
+
var useDebounced = function useDebounced(handler, watchedValue) {
|
|
197
|
+
var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
|
|
198
|
+
useEffect(function () {
|
|
199
|
+
var timeoutHandler = setTimeout(function () {
|
|
200
|
+
if (handler !== null) {
|
|
201
|
+
handler(watchedValue);
|
|
202
|
+
}
|
|
203
|
+
}, delay);
|
|
204
|
+
return function () {
|
|
205
|
+
clearTimeout(timeoutHandler);
|
|
206
|
+
};
|
|
207
|
+
}, [watchedValue, delay]);
|
|
208
208
|
};
|
|
209
209
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
213
|
-
progress = _useState2[0],
|
|
214
|
-
setProgress = _useState2[1];
|
|
215
|
-
|
|
216
|
-
var onChange = useCallback(function (spring) {
|
|
217
|
-
return setProgress(getValueFromSpring(spring));
|
|
218
|
-
}, [setProgress]);
|
|
219
|
-
useSpring(_objectSpread({
|
|
220
|
-
progress: wantedProgress,
|
|
221
|
-
onChange: onChange,
|
|
222
|
-
immediate: immediate
|
|
223
|
-
}, params)); // useEffect(() => {
|
|
224
|
-
// if (wantedProgress !== null) {
|
|
225
|
-
// api.start({ progress: wantedProgress, immediate, ...params });
|
|
226
|
-
// }
|
|
227
|
-
// }, [wantedProgress, immediate, params, api]);
|
|
228
|
-
|
|
229
|
-
return immediate ? wantedProgress : progress;
|
|
230
|
-
}
|
|
210
|
+
var eventsManager$1 = typeof document !== 'undefined' ? new EventsManager(document) : null;
|
|
211
|
+
var useDocumentEvent = createUseEvent(eventsManager$1);
|
|
231
212
|
|
|
232
213
|
function useDragProgress() {
|
|
233
214
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
@@ -246,21 +227,28 @@ function useDragProgress() {
|
|
|
246
227
|
springParams = _ref$springParams === void 0 ? undefined : _ref$springParams,
|
|
247
228
|
_ref$dragOptions = _ref.dragOptions,
|
|
248
229
|
dragOptions = _ref$dragOptions === void 0 ? {
|
|
249
|
-
filterTaps: true
|
|
250
|
-
preventDefault: true
|
|
230
|
+
filterTaps: true
|
|
251
231
|
} : _ref$dragOptions;
|
|
252
232
|
|
|
253
233
|
var refDragging = useRef(false);
|
|
234
|
+
var refProgress = useRef(wantedProgress);
|
|
254
235
|
|
|
255
|
-
var _useState = useState(
|
|
256
|
-
dragging: false,
|
|
257
|
-
progress: wantedProgress
|
|
258
|
-
}),
|
|
236
|
+
var _useState = useState(false),
|
|
259
237
|
_useState2 = _slicedToArray(_useState, 2),
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
238
|
+
dragging = _useState2[0],
|
|
239
|
+
setDragging = _useState2[1];
|
|
240
|
+
|
|
241
|
+
var spring = useCallback(function () {
|
|
242
|
+
return _objectSpread({
|
|
243
|
+
progress: wantedProgress,
|
|
244
|
+
immediate: dragging || disabled
|
|
245
|
+
}, springParams);
|
|
246
|
+
}, []);
|
|
247
|
+
|
|
248
|
+
var _useSpring = useSpring(spring),
|
|
249
|
+
_useSpring2 = _slicedToArray(_useSpring, 2),
|
|
250
|
+
progress = _useSpring2[0].progress,
|
|
251
|
+
api = _useSpring2[1];
|
|
264
252
|
|
|
265
253
|
var onDrag = useCallback(function (gestureState) {
|
|
266
254
|
if (disabled) {
|
|
@@ -281,29 +269,35 @@ function useDragProgress() {
|
|
|
281
269
|
|
|
282
270
|
var newProgress = computeProgress(gestureState);
|
|
283
271
|
refDragging.current = active;
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
272
|
+
refProgress.current = newProgress;
|
|
273
|
+
|
|
274
|
+
if (active !== dragging) {
|
|
275
|
+
setDragging(active);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
api.start({
|
|
279
|
+
progress: newProgress,
|
|
280
|
+
immediate: active
|
|
287
281
|
});
|
|
288
282
|
|
|
289
283
|
if (onProgress !== null) {
|
|
290
284
|
onProgress(newProgress, gestureState);
|
|
291
285
|
}
|
|
292
|
-
}, [
|
|
286
|
+
}, [setDragging, disabled, onTap, computeProgress, dragging, onProgress]);
|
|
293
287
|
var bind = useDrag(onDrag, dragOptions);
|
|
294
|
-
var springedProgress = useSpringValue(progress, dragging || disabled, springParams);
|
|
295
288
|
useEffect(function () {
|
|
296
|
-
if (wantedProgress !==
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
progress: wantedProgress
|
|
289
|
+
if (!refDragging.current && wantedProgress !== refProgress.current) {
|
|
290
|
+
refProgress.current = wantedProgress;
|
|
291
|
+
api.start({
|
|
292
|
+
progress: wantedProgress,
|
|
293
|
+
immediate: false
|
|
300
294
|
});
|
|
301
295
|
}
|
|
302
296
|
}, [wantedProgress]);
|
|
303
297
|
return {
|
|
304
298
|
bind: bind,
|
|
305
299
|
dragging: dragging,
|
|
306
|
-
progress:
|
|
300
|
+
progress: progress
|
|
307
301
|
};
|
|
308
302
|
}
|
|
309
303
|
|
|
@@ -1489,16 +1483,17 @@ function useMediaProgress(media) {
|
|
|
1489
1483
|
var _useState = useState(!disabled),
|
|
1490
1484
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1491
1485
|
playing = _useState2[0],
|
|
1492
|
-
setPlaying = _useState2[1];
|
|
1486
|
+
setPlaying = _useState2[1]; // const currentTime = useMediaCurrentTime(media, {
|
|
1487
|
+
// disabled: disabled || !playing,
|
|
1488
|
+
// ...props,
|
|
1489
|
+
// });
|
|
1490
|
+
|
|
1493
1491
|
|
|
1494
|
-
var currentTime = useMediaCurrentTime(media, _objectSpread({
|
|
1495
|
-
disabled: disabled || !playing
|
|
1496
|
-
}, props));
|
|
1497
1492
|
var duration = useMediaDuration(media, _objectSpread({
|
|
1498
1493
|
disabled: disabled || !playing
|
|
1499
1494
|
}, props));
|
|
1500
1495
|
|
|
1501
|
-
var _useState3 = useState(currentTime > 0 && duration > 0 ? currentTime / duration : 0),
|
|
1496
|
+
var _useState3 = useState(media !== null && (media.currentTime || 0) > 0 && duration > 0 ? media.currentTime / duration : 0),
|
|
1502
1497
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
1503
1498
|
progress = _useState4[0],
|
|
1504
1499
|
setProgress = _useState4[1];
|
|
@@ -1533,8 +1528,8 @@ function useMediaProgress(media) {
|
|
|
1533
1528
|
|
|
1534
1529
|
media.addEventListener('play', onResume);
|
|
1535
1530
|
media.addEventListener('seeked', onResume);
|
|
1536
|
-
media.addEventListener('playing', onResume);
|
|
1537
|
-
|
|
1531
|
+
media.addEventListener('playing', onResume); // media.addEventListener('timeupdate', onResume);
|
|
1532
|
+
|
|
1538
1533
|
media.addEventListener('pause', onPause);
|
|
1539
1534
|
media.addEventListener('ended', onPause);
|
|
1540
1535
|
media.addEventListener('waiting', onPause);
|
|
@@ -1549,8 +1544,8 @@ function useMediaProgress(media) {
|
|
|
1549
1544
|
return function () {
|
|
1550
1545
|
media.removeEventListener('play', onResume);
|
|
1551
1546
|
media.removeEventListener('seeked', onResume);
|
|
1552
|
-
media.removeEventListener('playing', onResume);
|
|
1553
|
-
|
|
1547
|
+
media.removeEventListener('playing', onResume); // media.removeEventListener('timeupdate', onResume);
|
|
1548
|
+
|
|
1554
1549
|
media.removeEventListener('pause', onPause);
|
|
1555
1550
|
media.removeEventListener('ended', onPause);
|
|
1556
1551
|
media.removeEventListener('waiting', onPause);
|
|
@@ -1559,11 +1554,7 @@ function useMediaProgress(media) {
|
|
|
1559
1554
|
};
|
|
1560
1555
|
}, [media, updateProgress, setPlaying, playing]);
|
|
1561
1556
|
useEffect(function () {
|
|
1562
|
-
if (media === null) {
|
|
1563
|
-
return function () {};
|
|
1564
|
-
}
|
|
1565
|
-
|
|
1566
|
-
if (!playing || disabled) {
|
|
1557
|
+
if (media === null || !playing || disabled) {
|
|
1567
1558
|
return function () {};
|
|
1568
1559
|
}
|
|
1569
1560
|
|
|
@@ -2012,6 +2003,34 @@ var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
|
|
|
2012
2003
|
return useScreenSize(_objectSpread(_objectSpread({}, opts), windowSize));
|
|
2013
2004
|
};
|
|
2014
2005
|
|
|
2006
|
+
var getValueFromSpring = function getValueFromSpring(s) {
|
|
2007
|
+
var _ref = s || {},
|
|
2008
|
+
_ref$value = _ref.value,
|
|
2009
|
+
v = _ref$value === void 0 ? null : _ref$value;
|
|
2010
|
+
|
|
2011
|
+
var _ref2 = v || {},
|
|
2012
|
+
p = _ref2.progress;
|
|
2013
|
+
|
|
2014
|
+
return p;
|
|
2015
|
+
};
|
|
2016
|
+
|
|
2017
|
+
function useSpringValue(wantedProgress, immediate, params) {
|
|
2018
|
+
var _useState = useState(wantedProgress),
|
|
2019
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2020
|
+
progress = _useState2[0],
|
|
2021
|
+
setProgress = _useState2[1];
|
|
2022
|
+
|
|
2023
|
+
var onChange = useCallback(function (spring) {
|
|
2024
|
+
return setProgress(getValueFromSpring(spring));
|
|
2025
|
+
}, [setProgress]);
|
|
2026
|
+
useSpring(_objectSpread({
|
|
2027
|
+
progress: wantedProgress,
|
|
2028
|
+
onChange: onChange,
|
|
2029
|
+
immediate: immediate
|
|
2030
|
+
}, params));
|
|
2031
|
+
return immediate ? wantedProgress : progress;
|
|
2032
|
+
}
|
|
2033
|
+
|
|
2015
2034
|
var useSwipe = function useSwipe() {
|
|
2016
2035
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
2017
2036
|
_ref$width = _ref.width,
|
|
@@ -2333,4 +2352,4 @@ var useTrackMedia = function useTrackMedia() {
|
|
|
2333
2352
|
var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) : null;
|
|
2334
2353
|
var useWindowEvent = createUseEvent(eventsManager);
|
|
2335
2354
|
|
|
2336
|
-
export { getObserver, useActivityDetector, useAnimationFrame, useDimensionObserver, useDocumentEvent, useDragProgress, useForm, useFormTransition, useFormattedDate, useFormattedTime, useFullscreen, useIntersectionObserver, useIsVisible, useLoadedFonts, useLongPress, useMediaApi, useMediaCurrentTime, useMediaDuration, useMediaLoad, useMediaProgress, useMediaReady, useMediaThumbnail, useMediaWaveform, useMediasParser, useObserver, useParsedStory, useProgressSteps, useResizeObserver, useScreenSizeFromElement, useScreenSizeFromWindow, useSpringValue, useSwipe, useThemeParser, useTrackEvent, useTrackMedia, useTrackScreenEvent, useTrackScreenMedia, useTrackScreenView, useWindowEvent };
|
|
2355
|
+
export { getObserver, useActivityDetector, useAnimationFrame, useDebounced as useDebounce, useDimensionObserver, useDocumentEvent, useDragProgress, useForm, useFormTransition, useFormattedDate, useFormattedTime, useFullscreen, useIntersectionObserver, useIsVisible, useLoadedFonts, useLongPress, useMediaApi, useMediaCurrentTime, useMediaDuration, useMediaLoad, useMediaProgress, useMediaReady, useMediaThumbnail, useMediaWaveform, useMediasParser, useObserver, useParsedStory, useProgressSteps, useResizeObserver, useScreenSizeFromElement, useScreenSizeFromWindow, useSpringValue, useSwipe, useThemeParser, useTrackEvent, useTrackMedia, useTrackScreenEvent, useTrackScreenMedia, useTrackScreenView, useWindowEvent };
|
package/es/utils.js
CHANGED
|
@@ -931,6 +931,22 @@ var getStyleFromMargin = function getStyleFromMargin(value) {
|
|
|
931
931
|
} : null);
|
|
932
932
|
};
|
|
933
933
|
|
|
934
|
+
var possibleMimes = ['video/webm', 'video/mp4', 'video/ogg'];
|
|
935
|
+
var supportedMimes = null;
|
|
936
|
+
|
|
937
|
+
function getVideoSupportedMimes() {
|
|
938
|
+
var mimes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : possibleMimes;
|
|
939
|
+
|
|
940
|
+
if (supportedMimes === null) {
|
|
941
|
+
var video = document.createElement('video');
|
|
942
|
+
supportedMimes = mimes.filter(function (mime) {
|
|
943
|
+
return video.canPlayType(mime) !== '';
|
|
944
|
+
});
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
return supportedMimes;
|
|
948
|
+
}
|
|
949
|
+
|
|
934
950
|
var getLayoutParts = function getLayoutParts() {
|
|
935
951
|
var layout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
936
952
|
|
|
@@ -1093,4 +1109,4 @@ var getContrastingColor = function getContrastingColor(backgroundColor) {
|
|
|
1093
1109
|
return tinycolor(color).spin(30).toString();
|
|
1094
1110
|
};
|
|
1095
1111
|
|
|
1096
|
-
export { convertStyleToString, copyToClipboard, createNullableOnChange, createUseEvent, easings, getColorAsString, getComponentFromName, getContrastingColor, getDeviceScreens, getDisplayName, getFieldByName, getFieldFromPath, getFileName, getFontFamily as getFontFamilyFromFont, getGridLayoutName, largestRemainderRound as getLargestRemainderRound, getLayersFromBackground, getLayoutParts, getMediaFilesAsArray, getOptimalImageUrl, getScreenExtraField, getSecondsFromTime, getShadowCoords, getStyleFromBorder, getStyleFromBox, getStyleFromColor, getStyleFromContainer, getStyleFromHighlight, getStyleFromImage, getStyleFromLink, getStyleFromMargin, getStyleFromText, isImageFilled, isIos, isTextFilled$1 as isLabelFilled, isMessage, isTextFilled, isValidUrl, schemaId, setValue as setFieldValue, slug, unique, validateFields };
|
|
1112
|
+
export { convertStyleToString, copyToClipboard, createNullableOnChange, createUseEvent, easings, getColorAsString, getComponentFromName, getContrastingColor, getDeviceScreens, getDisplayName, getFieldByName, getFieldFromPath, getFileName, getFontFamily as getFontFamilyFromFont, getGridLayoutName, largestRemainderRound as getLargestRemainderRound, getLayersFromBackground, getLayoutParts, getMediaFilesAsArray, getOptimalImageUrl, getScreenExtraField, getSecondsFromTime, getShadowCoords, getStyleFromBorder, getStyleFromBox, getStyleFromColor, getStyleFromContainer, getStyleFromHighlight, getStyleFromImage, getStyleFromLink, getStyleFromMargin, getStyleFromText, getVideoSupportedMimes, isImageFilled, isIos, isTextFilled$1 as isLabelFilled, isMessage, isTextFilled, isValidUrl, schemaId, setValue as setFieldValue, slug, unique, validateFields };
|
package/lib/components.js
CHANGED
|
@@ -3675,6 +3675,7 @@ var propTypes$9 = {
|
|
|
3675
3675
|
screen: core.PropTypes.storyComponent.isRequired,
|
|
3676
3676
|
renderContext: core.PropTypes.renderContext,
|
|
3677
3677
|
screenState: PropTypes__default["default"].string,
|
|
3678
|
+
index: PropTypes__default["default"].number,
|
|
3678
3679
|
active: PropTypes__default["default"].bool,
|
|
3679
3680
|
current: PropTypes__default["default"].bool,
|
|
3680
3681
|
component: PropTypes__default["default"].node,
|
|
@@ -3686,6 +3687,7 @@ var defaultProps$9 = {
|
|
|
3686
3687
|
active: true,
|
|
3687
3688
|
renderContext: null,
|
|
3688
3689
|
screenState: null,
|
|
3690
|
+
index: null,
|
|
3689
3691
|
current: false,
|
|
3690
3692
|
component: null,
|
|
3691
3693
|
components: null,
|
|
@@ -3697,6 +3699,7 @@ var Screen = function Screen(_ref) {
|
|
|
3697
3699
|
var screen = _ref.screen,
|
|
3698
3700
|
renderContext = _ref.renderContext,
|
|
3699
3701
|
screenState = _ref.screenState,
|
|
3702
|
+
index = _ref.index,
|
|
3700
3703
|
active = _ref.active,
|
|
3701
3704
|
current = _ref.current,
|
|
3702
3705
|
components = _ref.components,
|
|
@@ -3710,7 +3713,8 @@ var Screen = function Screen(_ref) {
|
|
|
3710
3713
|
|
|
3711
3714
|
var CustomScreenComponent = components !== null ? utils.getComponentFromName(type, components) || null : null;
|
|
3712
3715
|
var ContextScreenComponent = contexts.useScreenComponent(type);
|
|
3713
|
-
var ScreenComponent = CustomScreenComponent || ContextScreenComponent;
|
|
3716
|
+
var ScreenComponent = CustomScreenComponent || ContextScreenComponent; // Comment
|
|
3717
|
+
|
|
3714
3718
|
return /*#__PURE__*/React__default["default"].createElement(contexts.ScreenProvider, {
|
|
3715
3719
|
data: screen,
|
|
3716
3720
|
renderContext: renderContext,
|
|
@@ -3718,6 +3722,7 @@ var Screen = function Screen(_ref) {
|
|
|
3718
3722
|
}, ScreenComponent !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3719
3723
|
className: classNames__default["default"]([styles$8.container, _defineProperty__default["default"]({}, className, className !== null)])
|
|
3720
3724
|
}, /*#__PURE__*/React__default["default"].createElement(ScreenComponent, Object.assign({}, screen, {
|
|
3725
|
+
index: index,
|
|
3721
3726
|
active: active,
|
|
3722
3727
|
current: current,
|
|
3723
3728
|
mediaRef: mediaRef
|