@peculiar/react-components 0.0.2-alpha.251 → 0.0.2-alpha.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/dist/cjs/Avatar/avatar.js +2 -3
- package/dist/cjs/Avatar/avatar.js.map +1 -1
- package/dist/cjs/Image/image.js +3 -4
- package/dist/cjs/Image/image.js.map +1 -1
- package/dist/cjs/hooks/use_image.js +8 -24
- package/dist/cjs/hooks/use_image.js.map +1 -1
- package/dist/esm/Avatar/avatar.js +2 -3
- package/dist/esm/Avatar/avatar.js.map +1 -1
- package/dist/esm/Image/image.js +3 -4
- package/dist/esm/Image/image.js.map +1 -1
- package/dist/esm/hooks/use_image.js +8 -24
- package/dist/esm/hooks/use_image.js.map +1 -1
- package/dist/esnext/Avatar/avatar.js +2 -3
- package/dist/esnext/Avatar/avatar.js.map +1 -1
- package/dist/esnext/Image/image.js +3 -4
- package/dist/esnext/Image/image.js.map +1 -1
- package/dist/esnext/hooks/use_image.js +7 -24
- package/dist/esnext/hooks/use_image.js.map +1 -1
- package/dist/types/Image/image.d.ts +1 -1
- package/dist/types/hooks/use_image.d.ts +9 -9
- package/package.json +3 -3
|
@@ -89,9 +89,8 @@ function initials(name) {
|
|
|
89
89
|
exports.Avatar = React.forwardRef(function (props, ref) {
|
|
90
90
|
var _a;
|
|
91
91
|
var className = props.className, size = props.size, src = props.src, name = props.name, _b = props.getInitials, getInitials = _b === void 0 ? initials : _b, background = props.background, color = props.color, typographyProps = props.typographyProps, other = __rest(props, ["className", "size", "src", "name", "getInitials", "background", "color", "typographyProps"]);
|
|
92
|
-
var
|
|
93
|
-
var
|
|
94
|
-
var showImage = src && hasLoaded;
|
|
92
|
+
var image = hooks_1.useImage(src).image;
|
|
93
|
+
var showImage = image === null || image === void 0 ? void 0 : image.src;
|
|
95
94
|
var showInitials = name && getInitials;
|
|
96
95
|
var children = null;
|
|
97
96
|
if (showImage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,oCAA+C;AAC/C,4CAA4D;AAC5D,8BAA6B;AAC7B,kCAAoC;AA2CpC,IAAM,UAAU,GAAG,cAAM,OAAA,YAAG,CAAC;IAC3B,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAC,EARuB,CAQvB,CAAC;AAEH,IAAM,eAAe,GAAG,cAAM,OAAA,YAAG,CAAC;IAChC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,EAJ4B,CAI5B,CAAC;AAEH,IAAM,gBAAgB,GAAG,cAAM,OAAA,YAAG,CAAC;IACjC,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,EAJ6B,CAI7B,CAAC;AAEH,IAAM,eAAe,GAAG,cAAM,OAAA,YAAG,CAAC;IAChC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,EAJ4B,CAI5B,CAAC;AAEH,IAAM,SAAS,GAAG,cAAM,OAAA,YAAG,CAAC;IAC1B,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,KAAK;CAClB,CAAC,EARsB,CAQtB,CAAC;AAEH,SAAS,QAAQ,CAAC,IAAY;IACtB,IAAA,KAAwB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAtC,SAAS,QAAA,EAAE,QAAQ,QAAmB,CAAC;IAE9C,OAAO,SAAS,IAAI,QAAQ;QAC1B,CAAC,CAAC,KAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAG;QAC/C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAEY,QAAA,MAAM,GAAG,KAAK,CAAC,UAAU,CAA8B,UAAC,KAAK,EAAE,GAAG;;IAE3E,IAAA,SAAS,GASP,KAAK,UATE,EACT,IAAI,GAQF,KAAK,KARH,EACJ,GAAG,GAOD,KAAK,IAPJ,EACH,IAAI,GAMF,KAAK,KANH,EACJ,KAKE,KAAK,YALe,EAAtB,WAAW,mBAAG,QAAQ,KAAA,EACtB,UAAU,GAIR,KAAK,WAJG,EACV,KAAK,GAGH,KAAK,MAHF,EACL,eAAe,GAEb,KAAK,gBAFQ,EACZ,KAAK,UACN,KAAK,EAVH,6FAUL,CADS,CACA;
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":"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"}
|
package/dist/cjs/Image/image.js
CHANGED
|
@@ -46,12 +46,11 @@ var React = __importStar(require("react"));
|
|
|
46
46
|
var hooks_1 = require("../hooks");
|
|
47
47
|
exports.Image = React.forwardRef(function (props, ref) {
|
|
48
48
|
var className = props.className, src = props.src, fallback = props.fallback, loading = props.loading, alt = props.alt, other = __rest(props, ["className", "src", "fallback", "loading", "alt"]);
|
|
49
|
-
var
|
|
50
|
-
var hasLoaded = status === 'loaded';
|
|
49
|
+
var _a = hooks_1.useImage(src), status = _a.status, image = _a.image;
|
|
51
50
|
var hasError = status === 'failed';
|
|
52
|
-
var showImage =
|
|
51
|
+
var showImage = image === null || image === void 0 ? void 0 : image.src;
|
|
53
52
|
if (showImage) {
|
|
54
|
-
return (React.createElement("img", __assign({}, other, { ref: ref, alt: alt, src: src, className: className })));
|
|
53
|
+
return (React.createElement("img", __assign({}, other, { ref: ref, alt: alt, src: image.src, className: className })));
|
|
55
54
|
}
|
|
56
55
|
if (fallback && hasError) {
|
|
57
56
|
return fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/Image/image.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,kCAAoC;AAwBvB,QAAA,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,UAAC,KAAK,EAAE,GAAG;IAE3E,IAAA,SAAS,GAMP,KAAK,UANE,EACT,GAAG,GAKD,KAAK,IALJ,EACH,QAAQ,GAIN,KAAK,SAJC,EACR,OAAO,GAGL,KAAK,QAHA,EACP,GAAG,GAED,KAAK,IAFJ,EACA,KAAK,UACN,KAAK,EAPH,kDAOL,CADS,CACA;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/Image/image.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,kCAAoC;AAwBvB,QAAA,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,UAAC,KAAK,EAAE,GAAG;IAE3E,IAAA,SAAS,GAMP,KAAK,UANE,EACT,GAAG,GAKD,KAAK,IALJ,EACH,QAAQ,GAIN,KAAK,SAJC,EACR,OAAO,GAGL,KAAK,QAHA,EACP,GAAG,GAED,KAAK,IAFJ,EACA,KAAK,UACN,KAAK,EAPH,kDAOL,CADS,CACA;IACJ,IAAA,KAAoB,gBAAQ,CAAC,GAAG,CAAC,EAA/B,MAAM,YAAA,EAAE,KAAK,WAAkB,CAAC;IACxC,IAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IACrC,IAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC;IAE7B,IAAI,SAAS,EAAE;QACb,OAAO,CACL,wCACM,KAAK,IACT,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,SAAS,EAAE,SAAS,IACpB,CACH,CAAC;KACH;IAED,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACxB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,aAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,aAAK,CAAC,YAAY,GAAG,EAAE,CAAC"}
|
|
@@ -3,34 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useImage = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
5
|
var utils_1 = require("../utils");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* fallback if it is still `pending`
|
|
10
|
-
*
|
|
11
|
-
* @returns the status of the image loading progress
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
*
|
|
15
|
-
* ```jsx
|
|
16
|
-
* function App(){
|
|
17
|
-
* const status = useImage({ src: "image.png" })
|
|
18
|
-
* return status === "loaded" ? <img src="image.png" /> : <Placeholder />
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
function useImage(options) {
|
|
23
|
-
var src = options.src, onLoad = options.onLoad, onError = options.onError;
|
|
6
|
+
function useImage(src, options) {
|
|
7
|
+
if (options === void 0) { options = {}; }
|
|
8
|
+
var onLoad = options.onLoad, onError = options.onError;
|
|
24
9
|
var _a = react_1.useState('pending'), status = _a[0], setStatus = _a[1];
|
|
25
|
-
react_1.useEffect(function () {
|
|
26
|
-
setStatus(src ? 'loading' : 'pending');
|
|
27
|
-
}, [src]);
|
|
28
10
|
var imageRef = react_1.useRef();
|
|
29
11
|
var flush = function () {
|
|
30
12
|
if (imageRef.current) {
|
|
31
13
|
imageRef.current.onload = null;
|
|
32
14
|
imageRef.current.onerror = null;
|
|
33
|
-
imageRef.current =
|
|
15
|
+
imageRef.current = undefined;
|
|
34
16
|
}
|
|
35
17
|
};
|
|
36
18
|
var load = react_1.useCallback(function () {
|
|
@@ -41,7 +23,6 @@ function useImage(options) {
|
|
|
41
23
|
var img = new Image();
|
|
42
24
|
img.src = src;
|
|
43
25
|
img.onload = function (event) {
|
|
44
|
-
flush();
|
|
45
26
|
setStatus('loaded');
|
|
46
27
|
if (onLoad) {
|
|
47
28
|
onLoad(event);
|
|
@@ -56,6 +37,9 @@ function useImage(options) {
|
|
|
56
37
|
};
|
|
57
38
|
imageRef.current = img;
|
|
58
39
|
}, [src, onLoad, onError]);
|
|
40
|
+
react_1.useEffect(function () {
|
|
41
|
+
setStatus(src ? 'loading' : 'pending');
|
|
42
|
+
}, [src]);
|
|
59
43
|
utils_1.useEnhancedEffect(function () {
|
|
60
44
|
if (status === 'loading') {
|
|
61
45
|
load();
|
|
@@ -64,7 +48,7 @@ function useImage(options) {
|
|
|
64
48
|
flush();
|
|
65
49
|
};
|
|
66
50
|
}, [status, load]);
|
|
67
|
-
return status;
|
|
51
|
+
return { status: status, image: imageRef.current };
|
|
68
52
|
}
|
|
69
53
|
exports.useImage = useImage;
|
|
70
54
|
//# sourceMappingURL=use_image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_image.js","sourceRoot":"","sources":["../../../src/hooks/use_image.ts"],"names":[],"mappings":";;;AAAA,+BAKe;AACf,kCAA6C;
|
|
1
|
+
{"version":3,"file":"use_image.js","sourceRoot":"","sources":["../../../src/hooks/use_image.ts"],"names":[],"mappings":";;;AAAA,+BAKe;AACf,kCAA6C;AAqC7C,SAAgB,QAAQ,CAAC,GAAW,EAAE,OAAiC;IAAjC,wBAAA,EAAA,YAAiC;IAEnE,IAAA,MAAM,GAEJ,OAAO,OAFH,EACN,OAAO,GACL,OAAO,QADF,CACG;IAEN,IAAA,KAAsB,gBAAQ,CAAS,SAAS,CAAC,EAAhD,MAAM,QAAA,EAAE,SAAS,QAA+B,CAAC;IACxD,IAAM,QAAQ,GAAG,cAAM,EAA+B,CAAC;IAEvD,IAAM,KAAK,GAAG;QACZ,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,IAAM,IAAI,GAAG,mBAAW,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,KAAK,EAAE,CAAC;QAER,IAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAExB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QAEd,GAAG,CAAC,MAAM,GAAG,UAAC,KAAK;YACjB,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,KAAY,CAAC,CAAC;aACtB;QACH,CAAC,CAAC;QAEF,GAAG,CAAC,OAAO,GAAG,UAAC,KAAK;YAClB,KAAK,EAAE,CAAC;YACR,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,KAAY,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,iBAAS,CAAC;QACR,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,yBAAiB,CAAC;QAChB,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,EAAE,CAAC;SACR;QAED,OAAO;YACL,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,MAAM,QAAA,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC7C,CAAC;AA/DD,4BA+DC"}
|
|
@@ -67,9 +67,8 @@ function initials(name) {
|
|
|
67
67
|
export var Avatar = React.forwardRef(function (props, ref) {
|
|
68
68
|
var _a;
|
|
69
69
|
var className = props.className, size = props.size, src = props.src, name = props.name, _b = props.getInitials, getInitials = _b === void 0 ? initials : _b, background = props.background, color = props.color, typographyProps = props.typographyProps, other = __rest(props, ["className", "size", "src", "name", "getInitials", "background", "color", "typographyProps"]);
|
|
70
|
-
var
|
|
71
|
-
var
|
|
72
|
-
var showImage = src && hasLoaded;
|
|
70
|
+
var image = useImage(src).image;
|
|
71
|
+
var showImage = image === null || image === void 0 ? void 0 : image.src;
|
|
73
72
|
var showInitials = name && getInitials;
|
|
74
73
|
var children = null;
|
|
75
74
|
if (showImage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAa,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA2CpC,IAAM,UAAU,GAAG,cAAM,OAAA,GAAG,CAAC;IAC3B,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAC,EARuB,CAQvB,CAAC;AAEH,IAAM,eAAe,GAAG,cAAM,OAAA,GAAG,CAAC;IAChC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,EAJ4B,CAI5B,CAAC;AAEH,IAAM,gBAAgB,GAAG,cAAM,OAAA,GAAG,CAAC;IACjC,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,EAJ6B,CAI7B,CAAC;AAEH,IAAM,eAAe,GAAG,cAAM,OAAA,GAAG,CAAC;IAChC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,EAJ4B,CAI5B,CAAC;AAEH,IAAM,SAAS,GAAG,cAAM,OAAA,GAAG,CAAC;IAC1B,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,KAAK;CAClB,CAAC,EARsB,CAQtB,CAAC;AAEH,SAAS,QAAQ,CAAC,IAAY;IACtB,IAAA,KAAwB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAtC,SAAS,QAAA,EAAE,QAAQ,QAAmB,CAAC;IAE9C,OAAO,SAAS,IAAI,QAAQ;QAC1B,CAAC,CAAC,KAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAG;QAC/C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,IAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAA8B,UAAC,KAAK,EAAE,GAAG;;IAE3E,IAAA,SAAS,GASP,KAAK,UATE,EACT,IAAI,GAQF,KAAK,KARH,EACJ,GAAG,GAOD,KAAK,IAPJ,EACH,IAAI,GAMF,KAAK,KANH,EACJ,KAKE,KAAK,YALe,EAAtB,WAAW,mBAAG,QAAQ,KAAA,EACtB,UAAU,GAIR,KAAK,WAJG,EACV,KAAK,GAGH,KAAK,MAHF,EACL,eAAe,GAEb,KAAK,gBAFQ,EACZ,KAAK,UACN,KAAK,EAVH,6FAUL,CADS,CACA;
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/Image/image.js
CHANGED
|
@@ -24,12 +24,11 @@ import * as React from 'react';
|
|
|
24
24
|
import { useImage } from '../hooks';
|
|
25
25
|
export var Image = React.forwardRef(function (props, ref) {
|
|
26
26
|
var className = props.className, src = props.src, fallback = props.fallback, loading = props.loading, alt = props.alt, other = __rest(props, ["className", "src", "fallback", "loading", "alt"]);
|
|
27
|
-
var
|
|
28
|
-
var hasLoaded = status === 'loaded';
|
|
27
|
+
var _a = useImage(src), status = _a.status, image = _a.image;
|
|
29
28
|
var hasError = status === 'failed';
|
|
30
|
-
var showImage =
|
|
29
|
+
var showImage = image === null || image === void 0 ? void 0 : image.src;
|
|
31
30
|
if (showImage) {
|
|
32
|
-
return (React.createElement("img", __assign({}, other, { ref: ref, alt: alt, src: src, className: className })));
|
|
31
|
+
return (React.createElement("img", __assign({}, other, { ref: ref, alt: alt, src: image.src, className: className })));
|
|
33
32
|
}
|
|
34
33
|
if (fallback && hasError) {
|
|
35
34
|
return fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/Image/image.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAwBpC,MAAM,CAAC,IAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,UAAC,KAAK,EAAE,GAAG;IAE3E,IAAA,SAAS,GAMP,KAAK,UANE,EACT,GAAG,GAKD,KAAK,IALJ,EACH,QAAQ,GAIN,KAAK,SAJC,EACR,OAAO,GAGL,KAAK,QAHA,EACP,GAAG,GAED,KAAK,IAFJ,EACA,KAAK,UACN,KAAK,EAPH,kDAOL,CADS,CACA;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/Image/image.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAwBpC,MAAM,CAAC,IAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,UAAC,KAAK,EAAE,GAAG;IAE3E,IAAA,SAAS,GAMP,KAAK,UANE,EACT,GAAG,GAKD,KAAK,IALJ,EACH,QAAQ,GAIN,KAAK,SAJC,EACR,OAAO,GAGL,KAAK,QAHA,EACP,GAAG,GAED,KAAK,IAFJ,EACA,KAAK,UACN,KAAK,EAPH,kDAOL,CADS,CACA;IACJ,IAAA,KAAoB,QAAQ,CAAC,GAAG,CAAC,EAA/B,MAAM,YAAA,EAAE,KAAK,WAAkB,CAAC;IACxC,IAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IACrC,IAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC;IAE7B,IAAI,SAAS,EAAE;QACb,OAAO,CACL,wCACM,KAAK,IACT,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,SAAS,EAAE,SAAS,IACpB,CACH,CAAC;KACH;IAED,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACxB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC"}
|
|
@@ -1,33 +1,15 @@
|
|
|
1
1
|
import { useState, useEffect, useRef, useCallback, } from 'react';
|
|
2
2
|
import { useEnhancedEffect } from '../utils';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* fallback if it is still `pending`
|
|
7
|
-
*
|
|
8
|
-
* @returns the status of the image loading progress
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
*
|
|
12
|
-
* ```jsx
|
|
13
|
-
* function App(){
|
|
14
|
-
* const status = useImage({ src: "image.png" })
|
|
15
|
-
* return status === "loaded" ? <img src="image.png" /> : <Placeholder />
|
|
16
|
-
* }
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export function useImage(options) {
|
|
20
|
-
var src = options.src, onLoad = options.onLoad, onError = options.onError;
|
|
3
|
+
export function useImage(src, options) {
|
|
4
|
+
if (options === void 0) { options = {}; }
|
|
5
|
+
var onLoad = options.onLoad, onError = options.onError;
|
|
21
6
|
var _a = useState('pending'), status = _a[0], setStatus = _a[1];
|
|
22
|
-
useEffect(function () {
|
|
23
|
-
setStatus(src ? 'loading' : 'pending');
|
|
24
|
-
}, [src]);
|
|
25
7
|
var imageRef = useRef();
|
|
26
8
|
var flush = function () {
|
|
27
9
|
if (imageRef.current) {
|
|
28
10
|
imageRef.current.onload = null;
|
|
29
11
|
imageRef.current.onerror = null;
|
|
30
|
-
imageRef.current =
|
|
12
|
+
imageRef.current = undefined;
|
|
31
13
|
}
|
|
32
14
|
};
|
|
33
15
|
var load = useCallback(function () {
|
|
@@ -38,7 +20,6 @@ export function useImage(options) {
|
|
|
38
20
|
var img = new Image();
|
|
39
21
|
img.src = src;
|
|
40
22
|
img.onload = function (event) {
|
|
41
|
-
flush();
|
|
42
23
|
setStatus('loaded');
|
|
43
24
|
if (onLoad) {
|
|
44
25
|
onLoad(event);
|
|
@@ -53,6 +34,9 @@ export function useImage(options) {
|
|
|
53
34
|
};
|
|
54
35
|
imageRef.current = img;
|
|
55
36
|
}, [src, onLoad, onError]);
|
|
37
|
+
useEffect(function () {
|
|
38
|
+
setStatus(src ? 'loading' : 'pending');
|
|
39
|
+
}, [src]);
|
|
56
40
|
useEnhancedEffect(function () {
|
|
57
41
|
if (status === 'loading') {
|
|
58
42
|
load();
|
|
@@ -61,6 +45,6 @@ export function useImage(options) {
|
|
|
61
45
|
flush();
|
|
62
46
|
};
|
|
63
47
|
}, [status, load]);
|
|
64
|
-
return status;
|
|
48
|
+
return { status: status, image: imageRef.current };
|
|
65
49
|
}
|
|
66
50
|
//# sourceMappingURL=use_image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_image.js","sourceRoot":"","sources":["../../../src/hooks/use_image.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"use_image.js","sourceRoot":"","sources":["../../../src/hooks/use_image.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAqC7C,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAiC;IAAjC,wBAAA,EAAA,YAAiC;IAEnE,IAAA,MAAM,GAEJ,OAAO,OAFH,EACN,OAAO,GACL,OAAO,QADF,CACG;IAEN,IAAA,KAAsB,QAAQ,CAAS,SAAS,CAAC,EAAhD,MAAM,QAAA,EAAE,SAAS,QAA+B,CAAC;IACxD,IAAM,QAAQ,GAAG,MAAM,EAA+B,CAAC;IAEvD,IAAM,KAAK,GAAG;QACZ,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,IAAM,IAAI,GAAG,WAAW,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,KAAK,EAAE,CAAC;QAER,IAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAExB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QAEd,GAAG,CAAC,MAAM,GAAG,UAAC,KAAK;YACjB,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,KAAY,CAAC,CAAC;aACtB;QACH,CAAC,CAAC;QAEF,GAAG,CAAC,OAAO,GAAG,UAAC,KAAK;YAClB,KAAK,EAAE,CAAC;YACR,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,KAAY,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC;QACR,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,iBAAiB,CAAC;QAChB,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,EAAE,CAAC;SACR;QAED,OAAO;YACL,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,MAAM,QAAA,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -44,9 +44,8 @@ function initials(name) {
|
|
|
44
44
|
}
|
|
45
45
|
export const Avatar = React.forwardRef((props, ref) => {
|
|
46
46
|
const { className, size, src, name, getInitials = initials, background, color, typographyProps, ...other } = props;
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
const showImage = src && hasLoaded;
|
|
47
|
+
const { image } = useImage(src);
|
|
48
|
+
const showImage = image?.src;
|
|
50
49
|
const showInitials = name && getInitials;
|
|
51
50
|
let children = null;
|
|
52
51
|
if (showImage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAa,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA2CpC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IAC3B,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IAChC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IACjC,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IAChC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IAC1B,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO,SAAS,IAAI,QAAQ;QAC1B,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC/C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACjF,MAAM,EACJ,SAAS,EACT,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,WAAW,GAAG,QAAQ,EACtB,UAAU,EACV,KAAK,EACL,eAAe,EACf,GAAG,KAAK,EACT,GAAG,KAAK,CAAC;IACV,MAAM,
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,11 @@ import * as React from 'react';
|
|
|
2
2
|
import { useImage } from '../hooks';
|
|
3
3
|
export const Image = React.forwardRef((props, ref) => {
|
|
4
4
|
const { className, src, fallback, loading, alt, ...other } = props;
|
|
5
|
-
const status = useImage(
|
|
6
|
-
const hasLoaded = status === 'loaded';
|
|
5
|
+
const { status, image } = useImage(src);
|
|
7
6
|
const hasError = status === 'failed';
|
|
8
|
-
const showImage = src
|
|
7
|
+
const showImage = image?.src;
|
|
9
8
|
if (showImage) {
|
|
10
|
-
return (React.createElement("img", Object.assign({}, other, { ref: ref, alt: alt, src: src, className: className })));
|
|
9
|
+
return (React.createElement("img", Object.assign({}, other, { ref: ref, alt: alt, src: image.src, className: className })));
|
|
11
10
|
}
|
|
12
11
|
if (fallback && hasError) {
|
|
13
12
|
return fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/Image/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAwBpC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACjF,MAAM,EACJ,SAAS,EACT,GAAG,EACH,QAAQ,EACR,OAAO,EACP,GAAG,EACH,GAAG,KAAK,EACT,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/Image/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAwBpC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACjF,MAAM,EACJ,SAAS,EACT,GAAG,EACH,QAAQ,EACR,OAAO,EACP,GAAG,EACH,GAAG,KAAK,EACT,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,EAAE,GAAG,CAAC;IAE7B,IAAI,SAAS,EAAE;QACb,OAAO,CACL,6CACM,KAAK,IACT,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,SAAS,EAAE,SAAS,IACpB,CACH,CAAC;KACH;IAED,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACxB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC"}
|
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
import { useState, useEffect, useRef, useCallback, } from 'react';
|
|
2
2
|
import { useEnhancedEffect } from '../utils';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* and let's us know the `status` so we can show image
|
|
6
|
-
* fallback if it is still `pending`
|
|
7
|
-
*
|
|
8
|
-
* @returns the status of the image loading progress
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
*
|
|
12
|
-
* ```jsx
|
|
13
|
-
* function App(){
|
|
14
|
-
* const status = useImage({ src: "image.png" })
|
|
15
|
-
* return status === "loaded" ? <img src="image.png" /> : <Placeholder />
|
|
16
|
-
* }
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export function useImage(options) {
|
|
20
|
-
const { src, onLoad, onError, } = options;
|
|
3
|
+
export function useImage(src, options = {}) {
|
|
4
|
+
const { onLoad, onError, } = options;
|
|
21
5
|
const [status, setStatus] = useState('pending');
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
setStatus(src ? 'loading' : 'pending');
|
|
24
|
-
}, [src]);
|
|
25
6
|
const imageRef = useRef();
|
|
26
7
|
const flush = () => {
|
|
27
8
|
if (imageRef.current) {
|
|
28
9
|
imageRef.current.onload = null;
|
|
29
10
|
imageRef.current.onerror = null;
|
|
30
|
-
imageRef.current =
|
|
11
|
+
imageRef.current = undefined;
|
|
31
12
|
}
|
|
32
13
|
};
|
|
33
14
|
const load = useCallback(() => {
|
|
@@ -38,7 +19,6 @@ export function useImage(options) {
|
|
|
38
19
|
const img = new Image();
|
|
39
20
|
img.src = src;
|
|
40
21
|
img.onload = (event) => {
|
|
41
|
-
flush();
|
|
42
22
|
setStatus('loaded');
|
|
43
23
|
if (onLoad) {
|
|
44
24
|
onLoad(event);
|
|
@@ -53,6 +33,9 @@ export function useImage(options) {
|
|
|
53
33
|
};
|
|
54
34
|
imageRef.current = img;
|
|
55
35
|
}, [src, onLoad, onError]);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
setStatus(src ? 'loading' : 'pending');
|
|
38
|
+
}, [src]);
|
|
56
39
|
useEnhancedEffect(() => {
|
|
57
40
|
if (status === 'loading') {
|
|
58
41
|
load();
|
|
@@ -61,6 +44,6 @@ export function useImage(options) {
|
|
|
61
44
|
flush();
|
|
62
45
|
};
|
|
63
46
|
}, [status, load]);
|
|
64
|
-
return status;
|
|
47
|
+
return { status, image: imageRef.current };
|
|
65
48
|
}
|
|
66
49
|
//# sourceMappingURL=use_image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_image.js","sourceRoot":"","sources":["../../../src/hooks/use_image.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"use_image.js","sourceRoot":"","sources":["../../../src/hooks/use_image.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAqC7C,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,UAA+B,EAAE;IACrE,MAAM,EACJ,MAAM,EACN,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,EAA+B,CAAC;IAEvD,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,KAAK,EAAE,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAExB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QAEd,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE;YACrB,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,KAAY,CAAC,CAAC;aACtB;QACH,CAAC,CAAC;QAEF,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACtB,KAAK,EAAE,CAAC;YACR,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,KAAY,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,iBAAiB,CAAC,GAAG,EAAE;QACrB,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,EAAE,CAAC;SACR;QAED,OAAO,GAAG,EAAE;YACV,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare type
|
|
3
|
-
/**
|
|
4
|
-
* The image `src` attribute.
|
|
5
|
-
*/
|
|
6
|
-
src: string;
|
|
2
|
+
export declare type UseImageOptionsType = {
|
|
7
3
|
/**
|
|
8
4
|
* A callback for when the image `src` has been loaded.
|
|
9
5
|
*/
|
|
@@ -13,7 +9,7 @@ export declare type UseImageOptions = {
|
|
|
13
9
|
*/
|
|
14
10
|
onError?: (error: string | React.SyntheticEvent<HTMLImageElement, Event>) => void;
|
|
15
11
|
};
|
|
16
|
-
declare type Status = 'loading' | 'failed' | 'pending' | 'loaded';
|
|
12
|
+
declare type Status = ('loading' | 'failed' | 'pending' | 'loaded');
|
|
17
13
|
/**
|
|
18
14
|
* React hook that loads an image in the browser,
|
|
19
15
|
* and let's us know the `status` so we can show image
|
|
@@ -25,10 +21,14 @@ declare type Status = 'loading' | 'failed' | 'pending' | 'loaded';
|
|
|
25
21
|
*
|
|
26
22
|
* ```jsx
|
|
27
23
|
* function App(){
|
|
28
|
-
* const status = useImage(
|
|
29
|
-
* return status === "loaded" ? <img src=
|
|
24
|
+
* const [status, image] = useImage("image.png")
|
|
25
|
+
* return status === "loaded" ? <img src={image.src} /> : <Placeholder />
|
|
30
26
|
* }
|
|
31
27
|
* ```
|
|
32
28
|
*/
|
|
33
|
-
|
|
29
|
+
declare type UseImageReturnType = {
|
|
30
|
+
status: Status;
|
|
31
|
+
image?: HTMLImageElement;
|
|
32
|
+
};
|
|
33
|
+
export declare function useImage(src: string, options?: UseImageOptionsType): UseImageReturnType;
|
|
34
34
|
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peculiar/react-components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.2-alpha.
|
|
4
|
+
"version": "0.0.2-alpha.252+ab52392",
|
|
5
5
|
"author": "PeculiarVentures Team",
|
|
6
6
|
"description": "A simple and customizable component library to build faster, beautiful, and more accessible React applications.",
|
|
7
7
|
"keywords": [
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@emotion/core": "^10.1.1",
|
|
42
42
|
"@emotion/css": "^11.1.3",
|
|
43
|
-
"@peculiar/color": "^0.0.2-alpha.
|
|
43
|
+
"@peculiar/color": "^0.0.2-alpha.252+ab52392",
|
|
44
44
|
"@popperjs/core": "^2.9.3",
|
|
45
45
|
"@types/flat": "^5.0.2",
|
|
46
46
|
"@types/react-transition-group": "^4.4.2",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"node": ">=12.x"
|
|
84
84
|
},
|
|
85
85
|
"license": "MIT",
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "ab523927a62720c0a79fb78be2eb6376b2b79fb4"
|
|
87
87
|
}
|