@micromag/element-image 0.3.88 → 0.3.106
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/index.js +15 -5
- package/lib/index.js +14 -4
- package/package.json +7 -7
package/es/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { PropTypes } from '@micromag/core';
|
|
|
6
6
|
import { getOptimalImageUrl } from '@micromag/core/utils';
|
|
7
7
|
import classNames from 'classnames';
|
|
8
8
|
import PropTypes$1 from 'prop-types';
|
|
9
|
-
import React, { useState, useCallback } from 'react';
|
|
9
|
+
import React, { useState, useRef, useCallback } from 'react';
|
|
10
10
|
|
|
11
11
|
var styles = {"container":"micromag-element-image-container","showEmpty":"micromag-element-image-showEmpty","img":"micromag-element-image-img"};
|
|
12
12
|
|
|
@@ -22,7 +22,8 @@ var propTypes = {
|
|
|
22
22
|
className: PropTypes$1.string,
|
|
23
23
|
imageClassName: PropTypes$1.string,
|
|
24
24
|
onLoaded: PropTypes$1.func,
|
|
25
|
-
loadingMode: PropTypes$1.string
|
|
25
|
+
loadingMode: PropTypes$1.string,
|
|
26
|
+
shouldLoad: PropTypes$1.bool
|
|
26
27
|
};
|
|
27
28
|
var defaultProps = {
|
|
28
29
|
media: null,
|
|
@@ -37,7 +38,8 @@ var defaultProps = {
|
|
|
37
38
|
className: null,
|
|
38
39
|
imageClassName: null,
|
|
39
40
|
onLoaded: null,
|
|
40
|
-
loadingMode: 'lazy'
|
|
41
|
+
loadingMode: 'lazy',
|
|
42
|
+
shouldLoad: true
|
|
41
43
|
};
|
|
42
44
|
|
|
43
45
|
var Image = function Image(_ref) {
|
|
@@ -52,7 +54,8 @@ var Image = function Image(_ref) {
|
|
|
52
54
|
className = _ref.className,
|
|
53
55
|
imageClassName = _ref.imageClassName,
|
|
54
56
|
onLoaded = _ref.onLoaded,
|
|
55
|
-
loadingMode = _ref.loadingMode
|
|
57
|
+
loadingMode = _ref.loadingMode,
|
|
58
|
+
shouldLoad = _ref.shouldLoad;
|
|
56
59
|
|
|
57
60
|
var _ref2 = media || {};
|
|
58
61
|
_ref2.url;
|
|
@@ -81,6 +84,13 @@ var Image = function Image(_ref) {
|
|
|
81
84
|
realHeight = _useState2$$height === void 0 ? 0 : _useState2$$height,
|
|
82
85
|
setRealSize = _useState2[1];
|
|
83
86
|
|
|
87
|
+
var wasLoadedRef = useRef(shouldLoad);
|
|
88
|
+
|
|
89
|
+
if (shouldLoad && !wasLoadedRef.current) {
|
|
90
|
+
wasLoadedRef.current = shouldLoad;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
var finalShouldLoad = wasLoadedRef.current;
|
|
84
94
|
var onImageLoaded = useCallback(function (e) {
|
|
85
95
|
var _e$target = e.target,
|
|
86
96
|
_e$target$naturalWidt = _e$target.naturalWidth,
|
|
@@ -194,7 +204,7 @@ var Image = function Image(_ref) {
|
|
|
194
204
|
return /*#__PURE__*/React.createElement("div", {
|
|
195
205
|
className: classNames([styles.container, _defineProperty({}, className, className !== null)]),
|
|
196
206
|
style: finalContainerStyle
|
|
197
|
-
}, finalUrl !== null ? /*#__PURE__*/React.createElement("img", {
|
|
207
|
+
}, finalUrl !== null && finalShouldLoad ? /*#__PURE__*/React.createElement("img", {
|
|
198
208
|
src: finalUrl,
|
|
199
209
|
alt: alt || description,
|
|
200
210
|
className: classNames([styles.img, _defineProperty({}, imageClassName, imageClassName !== null)]),
|
package/lib/index.js
CHANGED
|
@@ -33,7 +33,8 @@ var propTypes = {
|
|
|
33
33
|
className: PropTypes__default["default"].string,
|
|
34
34
|
imageClassName: PropTypes__default["default"].string,
|
|
35
35
|
onLoaded: PropTypes__default["default"].func,
|
|
36
|
-
loadingMode: PropTypes__default["default"].string
|
|
36
|
+
loadingMode: PropTypes__default["default"].string,
|
|
37
|
+
shouldLoad: PropTypes__default["default"].bool
|
|
37
38
|
};
|
|
38
39
|
var defaultProps = {
|
|
39
40
|
media: null,
|
|
@@ -48,7 +49,8 @@ var defaultProps = {
|
|
|
48
49
|
className: null,
|
|
49
50
|
imageClassName: null,
|
|
50
51
|
onLoaded: null,
|
|
51
|
-
loadingMode: 'lazy'
|
|
52
|
+
loadingMode: 'lazy',
|
|
53
|
+
shouldLoad: true
|
|
52
54
|
};
|
|
53
55
|
|
|
54
56
|
var Image = function Image(_ref) {
|
|
@@ -63,7 +65,8 @@ var Image = function Image(_ref) {
|
|
|
63
65
|
className = _ref.className,
|
|
64
66
|
imageClassName = _ref.imageClassName,
|
|
65
67
|
onLoaded = _ref.onLoaded,
|
|
66
|
-
loadingMode = _ref.loadingMode
|
|
68
|
+
loadingMode = _ref.loadingMode,
|
|
69
|
+
shouldLoad = _ref.shouldLoad;
|
|
67
70
|
|
|
68
71
|
var _ref2 = media || {};
|
|
69
72
|
_ref2.url;
|
|
@@ -92,6 +95,13 @@ var Image = function Image(_ref) {
|
|
|
92
95
|
realHeight = _useState2$$height === void 0 ? 0 : _useState2$$height,
|
|
93
96
|
setRealSize = _useState2[1];
|
|
94
97
|
|
|
98
|
+
var wasLoadedRef = React.useRef(shouldLoad);
|
|
99
|
+
|
|
100
|
+
if (shouldLoad && !wasLoadedRef.current) {
|
|
101
|
+
wasLoadedRef.current = shouldLoad;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
var finalShouldLoad = wasLoadedRef.current;
|
|
95
105
|
var onImageLoaded = React.useCallback(function (e) {
|
|
96
106
|
var _e$target = e.target,
|
|
97
107
|
_e$target$naturalWidt = _e$target.naturalWidth,
|
|
@@ -205,7 +215,7 @@ var Image = function Image(_ref) {
|
|
|
205
215
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
206
216
|
className: classNames__default["default"]([styles.container, _defineProperty__default["default"]({}, className, className !== null)]),
|
|
207
217
|
style: finalContainerStyle
|
|
208
|
-
}, finalUrl !== null ? /*#__PURE__*/React__default["default"].createElement("img", {
|
|
218
|
+
}, finalUrl !== null && finalShouldLoad ? /*#__PURE__*/React__default["default"].createElement("img", {
|
|
209
219
|
src: finalUrl,
|
|
210
220
|
alt: alt || description,
|
|
211
221
|
className: classNames__default["default"]([styles.img, _defineProperty__default["default"]({}, imageClassName, imageClassName !== null)]),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/element-image",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.106",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
"prepare": "../../scripts/prepare-package.sh"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"react": "^16.8.0 || ^17.0.0",
|
|
44
|
-
"react-dom": "^16.8.0 || ^17.0.0"
|
|
43
|
+
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
44
|
+
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"react": "^16.8.0 || ^17.0.0",
|
|
48
|
-
"react-dom": "^16.8.0 || ^17.0.0"
|
|
47
|
+
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
48
|
+
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@babel/runtime": "^7.13.10",
|
|
52
52
|
"@folklore/size": "^0.1.20",
|
|
53
|
-
"@micromag/core": "^0.3.
|
|
53
|
+
"@micromag/core": "^0.3.106",
|
|
54
54
|
"classnames": "^2.2.6",
|
|
55
55
|
"prop-types": "^15.7.2",
|
|
56
56
|
"react-intl": "^5.12.1",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"publishConfig": {
|
|
60
60
|
"access": "public"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "865842ef7fbdc41f89dd0891857989ded63d44c4"
|
|
63
63
|
}
|