@micromag/core 0.3.807 → 0.3.811
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 +26 -5
- package/lib/hooks.js +19 -0
- package/lib/utils.js +26 -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,16 @@ 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;
|
|
557
|
+
console.log({
|
|
558
|
+
sizeUrl: sizeUrl
|
|
559
|
+
});
|
|
549
560
|
var diffWidth = width !== null && finalContainerWidth !== null ? width - finalContainerWidth : null;
|
|
550
561
|
var diffHeight = height !== null && finalContainerHeight !== null ? height - finalContainerHeight : null;
|
|
551
562
|
var isLarger = (diffWidth === null || diffWidth >= 0) && (diffHeight === null || diffHeight >= 0);
|
|
@@ -566,9 +577,12 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
566
577
|
diff <= maxDiff && !currentIsLarger && isLarger ||
|
|
567
578
|
// Image is larger than previous
|
|
568
579
|
diff <= maxDiff && !currentIsLarger && !isLarger && sizeIsLarger) {
|
|
580
|
+
console.log({
|
|
581
|
+
sizeUrl: sizeUrl
|
|
582
|
+
});
|
|
569
583
|
return {
|
|
570
584
|
key: key,
|
|
571
|
-
url:
|
|
585
|
+
url: sizeUrl,
|
|
572
586
|
diff: diff,
|
|
573
587
|
isLarger: isLarger
|
|
574
588
|
};
|
|
@@ -576,12 +590,19 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
576
590
|
return acc;
|
|
577
591
|
}, {
|
|
578
592
|
key: null,
|
|
579
|
-
url:
|
|
593
|
+
url: finalDefaultUrl,
|
|
580
594
|
diff: Infinity,
|
|
581
595
|
isLarger: false,
|
|
582
596
|
size: 0
|
|
583
597
|
}),
|
|
584
598
|
finalUrl = _Object$keys$reduce.url;
|
|
599
|
+
console.log({
|
|
600
|
+
finalUrl: finalUrl,
|
|
601
|
+
finalDefaultUrl: finalDefaultUrl,
|
|
602
|
+
supportsWebp: supportsWebp,
|
|
603
|
+
defaultWebpUrl: defaultWebpUrl,
|
|
604
|
+
defaultUrl: defaultUrl
|
|
605
|
+
});
|
|
585
606
|
return finalUrl;
|
|
586
607
|
};
|
|
587
608
|
|
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,16 @@ 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;
|
|
558
|
+
console.log({
|
|
559
|
+
sizeUrl: sizeUrl
|
|
560
|
+
});
|
|
550
561
|
var diffWidth = width !== null && finalContainerWidth !== null ? width - finalContainerWidth : null;
|
|
551
562
|
var diffHeight = height !== null && finalContainerHeight !== null ? height - finalContainerHeight : null;
|
|
552
563
|
var isLarger = (diffWidth === null || diffWidth >= 0) && (diffHeight === null || diffHeight >= 0);
|
|
@@ -567,9 +578,12 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
567
578
|
diff <= maxDiff && !currentIsLarger && isLarger ||
|
|
568
579
|
// Image is larger than previous
|
|
569
580
|
diff <= maxDiff && !currentIsLarger && !isLarger && sizeIsLarger) {
|
|
581
|
+
console.log({
|
|
582
|
+
sizeUrl: sizeUrl
|
|
583
|
+
});
|
|
570
584
|
return {
|
|
571
585
|
key: key,
|
|
572
|
-
url:
|
|
586
|
+
url: sizeUrl,
|
|
573
587
|
diff: diff,
|
|
574
588
|
isLarger: isLarger
|
|
575
589
|
};
|
|
@@ -577,12 +591,19 @@ var getOptimalImageUrl = function getOptimalImageUrl() {
|
|
|
577
591
|
return acc;
|
|
578
592
|
}, {
|
|
579
593
|
key: null,
|
|
580
|
-
url:
|
|
594
|
+
url: finalDefaultUrl,
|
|
581
595
|
diff: Infinity,
|
|
582
596
|
isLarger: false,
|
|
583
597
|
size: 0
|
|
584
598
|
}),
|
|
585
599
|
finalUrl = _Object$keys$reduce.url;
|
|
600
|
+
console.log({
|
|
601
|
+
finalUrl: finalUrl,
|
|
602
|
+
finalDefaultUrl: finalDefaultUrl,
|
|
603
|
+
supportsWebp: supportsWebp,
|
|
604
|
+
defaultWebpUrl: defaultWebpUrl,
|
|
605
|
+
defaultUrl: defaultUrl
|
|
606
|
+
});
|
|
586
607
|
return finalUrl;
|
|
587
608
|
};
|
|
588
609
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.811",
|
|
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": "80a754e5a50e86fa1e195015112ea0ff39008da8"
|
|
171
171
|
}
|