@micromag/core 0.3.807 → 0.3.812
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/hooks.js +19 -1
- package/es/utils.js +13 -5
- package/lib/hooks.js +19 -0
- package/lib/utils.js +13 -5
- package/package.json +2 -2
package/es/hooks.js
CHANGED
|
@@ -2144,6 +2144,24 @@ function useSpringValue(wantedProgress, immediate, params) {
|
|
|
2144
2144
|
return immediate ? wantedProgress : progress;
|
|
2145
2145
|
}
|
|
2146
2146
|
|
|
2147
|
+
function useSupportsWebp() {
|
|
2148
|
+
var _useState = useState(true),
|
|
2149
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2150
|
+
supportsWebp = _useState2[0],
|
|
2151
|
+
setSupportsWebp = _useState2[1];
|
|
2152
|
+
useEffect(function () {
|
|
2153
|
+
var img = document.createElement('img');
|
|
2154
|
+
img.onload = function () {
|
|
2155
|
+
setSupportsWebp(img.width > 0 && img.height > 0);
|
|
2156
|
+
};
|
|
2157
|
+
img.onerror = function () {
|
|
2158
|
+
setSupportsWebp(false);
|
|
2159
|
+
};
|
|
2160
|
+
img.src = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAEAAQAcJaQAA3AA/v3AgAA=';
|
|
2161
|
+
}, []);
|
|
2162
|
+
return supportsWebp;
|
|
2163
|
+
}
|
|
2164
|
+
|
|
2147
2165
|
var useSwipe = function useSwipe() {
|
|
2148
2166
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
2149
2167
|
_ref$width = _ref.width,
|
|
@@ -2431,4 +2449,4 @@ var useTrackMedia = function useTrackMedia() {
|
|
|
2431
2449
|
var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) : null;
|
|
2432
2450
|
var useWindowEvent = createUseEvent(eventsManager);
|
|
2433
2451
|
|
|
2434
|
-
export { getObserver, useActivityDetector, useAnimationFrame, useDebounced as useDebounce, useDevicePixelRatio, useDimensionObserver, useDocumentEvent, useDragProgress, useForm, useFormTransition, useFormattedDate, useFormattedTime, useFullscreen, useIntersectionObserver, useIsVisible, useLoadedFonts, useLongPress, useMediaApi, useMediaBuffering, useMediaCurrentTime, useMediaDuration, useMediaLoad, useMediaProgress, useMediaReady, useMediaState, useMediaThumbnail, useMediaTimestampOffset, useMediaWaveform, useMediasParser, useObserver, useParsedStory, usePlaceholderStyle, useProgressSteps, useResizeObserver, useScreenSizeFromElement, useScreenSizeFromWindow, useSpringValue, useSwipe, useThemeParser, useTrackEvent, useTrackMedia, useTrackScreenEvent, useTrackScreenMedia, useTrackScreenView, useWindowEvent };
|
|
2452
|
+
export { getObserver, useActivityDetector, useAnimationFrame, useDebounced as useDebounce, useDevicePixelRatio, useDimensionObserver, useDocumentEvent, useDragProgress, useForm, useFormTransition, useFormattedDate, useFormattedTime, useFullscreen, useIntersectionObserver, useIsVisible, useLoadedFonts, useLongPress, useMediaApi, useMediaBuffering, useMediaCurrentTime, useMediaDuration, useMediaLoad, useMediaProgress, useMediaReady, useMediaState, useMediaThumbnail, useMediaTimestampOffset, useMediaWaveform, useMediasParser, useObserver, useParsedStory, usePlaceholderStyle, useProgressSteps, useResizeObserver, useScreenSizeFromElement, useScreenSizeFromWindow, useSpringValue, useSupportsWebp, useSwipe, useThemeParser, useTrackEvent, useTrackMedia, useTrackScreenEvent, useTrackScreenMedia, useTrackScreenView, useWindowEvent };
|
package/es/utils.js
CHANGED
|
@@ -514,22 +514,27 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
514
514
|
_ref$resolution = _ref.resolution,
|
|
515
515
|
resolution = _ref$resolution === void 0 ? 1 : _ref$resolution,
|
|
516
516
|
_ref$maxDiff = _ref.maxDiff,
|
|
517
|
-
maxDiff = _ref$maxDiff === void 0 ? 800 : _ref$maxDiff
|
|
517
|
+
maxDiff = _ref$maxDiff === void 0 ? 800 : _ref$maxDiff,
|
|
518
|
+
_ref$supportsWebp = _ref.supportsWebp,
|
|
519
|
+
supportsWebp = _ref$supportsWebp === void 0 ? false : _ref$supportsWebp;
|
|
518
520
|
var _ref2 = media || {},
|
|
519
521
|
_ref2$sizes = _ref2.sizes,
|
|
520
522
|
sizes = _ref2$sizes === void 0 ? null : _ref2$sizes,
|
|
521
523
|
_ref2$url = _ref2.url,
|
|
522
524
|
defaultUrl = _ref2$url === void 0 ? null : _ref2$url,
|
|
525
|
+
_ref2$webp_url = _ref2.webp_url,
|
|
526
|
+
defaultWebpUrl = _ref2$webp_url === void 0 ? null : _ref2$webp_url,
|
|
523
527
|
_ref2$metadata = _ref2.metadata,
|
|
524
528
|
_ref2$metadata2 = _ref2$metadata === void 0 ? {} : _ref2$metadata,
|
|
525
529
|
imgWidth = _ref2$metadata2.width,
|
|
526
530
|
imgHeight = _ref2$metadata2.height;
|
|
531
|
+
var finalDefaultUrl = supportsWebp && defaultWebpUrl !== null ? defaultWebpUrl : defaultUrl;
|
|
527
532
|
if (sizes === null || containerWidth === null && containerHeight === null) {
|
|
528
|
-
return
|
|
533
|
+
return finalDefaultUrl;
|
|
529
534
|
}
|
|
530
535
|
var finalSizes = _objectSpread({
|
|
531
536
|
original: {
|
|
532
|
-
url:
|
|
537
|
+
url: finalDefaultUrl,
|
|
533
538
|
width: imgWidth,
|
|
534
539
|
height: imgHeight
|
|
535
540
|
}
|
|
@@ -542,10 +547,13 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
542
547
|
currentSize = acc.size;
|
|
543
548
|
var _finalSizes$key = finalSizes[key],
|
|
544
549
|
url = _finalSizes$key.url,
|
|
550
|
+
_finalSizes$key$webp_ = _finalSizes$key.webp_url,
|
|
551
|
+
webpUrl = _finalSizes$key$webp_ === void 0 ? null : _finalSizes$key$webp_,
|
|
545
552
|
_finalSizes$key$width = _finalSizes$key.width,
|
|
546
553
|
width = _finalSizes$key$width === void 0 ? null : _finalSizes$key$width,
|
|
547
554
|
_finalSizes$key$heigh = _finalSizes$key.height,
|
|
548
555
|
height = _finalSizes$key$heigh === void 0 ? null : _finalSizes$key$heigh;
|
|
556
|
+
var sizeUrl = supportsWebp && webpUrl !== null ? webpUrl : url;
|
|
549
557
|
var diffWidth = width !== null && finalContainerWidth !== null ? width - finalContainerWidth : null;
|
|
550
558
|
var diffHeight = height !== null && finalContainerHeight !== null ? height - finalContainerHeight : null;
|
|
551
559
|
var isLarger = (diffWidth === null || diffWidth >= 0) && (diffHeight === null || diffHeight >= 0);
|
|
@@ -568,7 +576,7 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
568
576
|
diff <= maxDiff && !currentIsLarger && !isLarger && sizeIsLarger) {
|
|
569
577
|
return {
|
|
570
578
|
key: key,
|
|
571
|
-
url:
|
|
579
|
+
url: sizeUrl,
|
|
572
580
|
diff: diff,
|
|
573
581
|
isLarger: isLarger
|
|
574
582
|
};
|
|
@@ -576,7 +584,7 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
576
584
|
return acc;
|
|
577
585
|
}, {
|
|
578
586
|
key: null,
|
|
579
|
-
url:
|
|
587
|
+
url: finalDefaultUrl,
|
|
580
588
|
diff: Infinity,
|
|
581
589
|
isLarger: false,
|
|
582
590
|
size: 0
|
package/lib/hooks.js
CHANGED
|
@@ -2146,6 +2146,24 @@ function useSpringValue(wantedProgress, immediate, params) {
|
|
|
2146
2146
|
return immediate ? wantedProgress : progress;
|
|
2147
2147
|
}
|
|
2148
2148
|
|
|
2149
|
+
function useSupportsWebp() {
|
|
2150
|
+
var _useState = react.useState(true),
|
|
2151
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2152
|
+
supportsWebp = _useState2[0],
|
|
2153
|
+
setSupportsWebp = _useState2[1];
|
|
2154
|
+
react.useEffect(function () {
|
|
2155
|
+
var img = document.createElement('img');
|
|
2156
|
+
img.onload = function () {
|
|
2157
|
+
setSupportsWebp(img.width > 0 && img.height > 0);
|
|
2158
|
+
};
|
|
2159
|
+
img.onerror = function () {
|
|
2160
|
+
setSupportsWebp(false);
|
|
2161
|
+
};
|
|
2162
|
+
img.src = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAEAAQAcJaQAA3AA/v3AgAA=';
|
|
2163
|
+
}, []);
|
|
2164
|
+
return supportsWebp;
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2149
2167
|
var useSwipe = function useSwipe() {
|
|
2150
2168
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
2151
2169
|
_ref$width = _ref.width,
|
|
@@ -2470,6 +2488,7 @@ exports.useResizeObserver = useResizeObserver;
|
|
|
2470
2488
|
exports.useScreenSizeFromElement = useScreenSizeFromElement;
|
|
2471
2489
|
exports.useScreenSizeFromWindow = useScreenSizeFromWindow;
|
|
2472
2490
|
exports.useSpringValue = useSpringValue;
|
|
2491
|
+
exports.useSupportsWebp = useSupportsWebp;
|
|
2473
2492
|
exports.useSwipe = useSwipe;
|
|
2474
2493
|
exports.useThemeParser = useThemeParser;
|
|
2475
2494
|
exports.useTrackEvent = useTrackEvent;
|
package/lib/utils.js
CHANGED
|
@@ -515,22 +515,27 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
515
515
|
_ref$resolution = _ref.resolution,
|
|
516
516
|
resolution = _ref$resolution === void 0 ? 1 : _ref$resolution,
|
|
517
517
|
_ref$maxDiff = _ref.maxDiff,
|
|
518
|
-
maxDiff = _ref$maxDiff === void 0 ? 800 : _ref$maxDiff
|
|
518
|
+
maxDiff = _ref$maxDiff === void 0 ? 800 : _ref$maxDiff,
|
|
519
|
+
_ref$supportsWebp = _ref.supportsWebp,
|
|
520
|
+
supportsWebp = _ref$supportsWebp === void 0 ? false : _ref$supportsWebp;
|
|
519
521
|
var _ref2 = media || {},
|
|
520
522
|
_ref2$sizes = _ref2.sizes,
|
|
521
523
|
sizes = _ref2$sizes === void 0 ? null : _ref2$sizes,
|
|
522
524
|
_ref2$url = _ref2.url,
|
|
523
525
|
defaultUrl = _ref2$url === void 0 ? null : _ref2$url,
|
|
526
|
+
_ref2$webp_url = _ref2.webp_url,
|
|
527
|
+
defaultWebpUrl = _ref2$webp_url === void 0 ? null : _ref2$webp_url,
|
|
524
528
|
_ref2$metadata = _ref2.metadata,
|
|
525
529
|
_ref2$metadata2 = _ref2$metadata === void 0 ? {} : _ref2$metadata,
|
|
526
530
|
imgWidth = _ref2$metadata2.width,
|
|
527
531
|
imgHeight = _ref2$metadata2.height;
|
|
532
|
+
var finalDefaultUrl = supportsWebp && defaultWebpUrl !== null ? defaultWebpUrl : defaultUrl;
|
|
528
533
|
if (sizes === null || containerWidth === null && containerHeight === null) {
|
|
529
|
-
return
|
|
534
|
+
return finalDefaultUrl;
|
|
530
535
|
}
|
|
531
536
|
var finalSizes = _objectSpread({
|
|
532
537
|
original: {
|
|
533
|
-
url:
|
|
538
|
+
url: finalDefaultUrl,
|
|
534
539
|
width: imgWidth,
|
|
535
540
|
height: imgHeight
|
|
536
541
|
}
|
|
@@ -543,10 +548,13 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
543
548
|
currentSize = acc.size;
|
|
544
549
|
var _finalSizes$key = finalSizes[key],
|
|
545
550
|
url = _finalSizes$key.url,
|
|
551
|
+
_finalSizes$key$webp_ = _finalSizes$key.webp_url,
|
|
552
|
+
webpUrl = _finalSizes$key$webp_ === void 0 ? null : _finalSizes$key$webp_,
|
|
546
553
|
_finalSizes$key$width = _finalSizes$key.width,
|
|
547
554
|
width = _finalSizes$key$width === void 0 ? null : _finalSizes$key$width,
|
|
548
555
|
_finalSizes$key$heigh = _finalSizes$key.height,
|
|
549
556
|
height = _finalSizes$key$heigh === void 0 ? null : _finalSizes$key$heigh;
|
|
557
|
+
var sizeUrl = supportsWebp && webpUrl !== null ? webpUrl : url;
|
|
550
558
|
var diffWidth = width !== null && finalContainerWidth !== null ? width - finalContainerWidth : null;
|
|
551
559
|
var diffHeight = height !== null && finalContainerHeight !== null ? height - finalContainerHeight : null;
|
|
552
560
|
var isLarger = (diffWidth === null || diffWidth >= 0) && (diffHeight === null || diffHeight >= 0);
|
|
@@ -569,7 +577,7 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
569
577
|
diff <= maxDiff && !currentIsLarger && !isLarger && sizeIsLarger) {
|
|
570
578
|
return {
|
|
571
579
|
key: key,
|
|
572
|
-
url:
|
|
580
|
+
url: sizeUrl,
|
|
573
581
|
diff: diff,
|
|
574
582
|
isLarger: isLarger
|
|
575
583
|
};
|
|
@@ -577,7 +585,7 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
577
585
|
return acc;
|
|
578
586
|
}, {
|
|
579
587
|
key: null,
|
|
580
|
-
url:
|
|
588
|
+
url: finalDefaultUrl,
|
|
581
589
|
diff: Infinity,
|
|
582
590
|
isLarger: false,
|
|
583
591
|
size: 0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.812",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -167,5 +167,5 @@
|
|
|
167
167
|
"access": "public",
|
|
168
168
|
"registry": "https://registry.npmjs.org/"
|
|
169
169
|
},
|
|
170
|
-
"gitHead": "
|
|
170
|
+
"gitHead": "34ea72adfaffec7c33e328b9c46301cd18cbde83"
|
|
171
171
|
}
|