@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.
@@ -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 status = hooks_1.useImage({ src: src });
93
- var hasLoaded = status === 'loaded';
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":"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"}
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":"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"}
@@ -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 status = hooks_1.useImage({ src: src });
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 = src && hasLoaded;
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;IACV,IAAM,MAAM,GAAG,gBAAQ,CAAC,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;IACjC,IAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,CAAC;IACtC,IAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IACrC,IAAM,SAAS,GAAG,GAAG,IAAI,SAAS,CAAC;IAEnC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,wCACM,KAAK,IACT,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,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"}
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
- * React hook that loads an image in the browser,
8
- * and let's us know the `status` so we can show image
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 = null;
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;AAmB7C;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,QAAQ,CAAC,OAAwB;IAE7C,IAAA,GAAG,GAGD,OAAO,IAHN,EACH,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;IAExD,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,IAAM,QAAQ,GAAG,cAAM,EAA2B,CAAC;IAEnD,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,IAAI,CAAC;SACzB;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,KAAK,EAAE,CAAC;YACR,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,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,MAAM,CAAC;AAChB,CAAC;AAlED,4BAkEC"}
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 status = useImage({ src: src });
71
- var hasLoaded = status === 'loaded';
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":"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"}
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/Avatar/avatar.tsx"],"names":[],"mappings":"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"}
@@ -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 status = useImage({ src: src });
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 = src && hasLoaded;
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;IACV,IAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;IACjC,IAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,CAAC;IACtC,IAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IACrC,IAAM,SAAS,GAAG,GAAG,IAAI,SAAS,CAAC;IAEnC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,wCACM,KAAK,IACT,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,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
+ {"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
- * React hook that loads an image in the browser,
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
- 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 = null;
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;AAmB7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAE7C,IAAA,GAAG,GAGD,OAAO,IAHN,EACH,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;IAExD,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,IAAM,QAAQ,GAAG,MAAM,EAA2B,CAAC;IAEnD,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,IAAI,CAAC;SACzB;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,KAAK,EAAE,CAAC;YACR,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,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,MAAM,CAAC;AAChB,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 status = useImage({ src });
48
- const hasLoaded = status === 'loaded';
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":"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"}
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({ src });
6
- const hasLoaded = status === 'loaded';
5
+ const { status, image } = useImage(src);
7
6
  const hasError = status === 'failed';
8
- const showImage = src && hasLoaded;
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,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IACrC,MAAM,SAAS,GAAG,GAAG,IAAI,SAAS,CAAC;IAEnC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,6CACM,KAAK,IACT,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,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
+ {"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
- * React hook that loads an image in the browser,
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 = null;
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;AAmB7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,EACJ,GAAG,EACH,MAAM,EACN,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,SAAS,CAAC,CAAC;IAExD,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,MAAM,QAAQ,GAAG,MAAM,EAA2B,CAAC;IAEnD,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,IAAI,CAAC;SACzB;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,KAAK,EAAE,CAAC;YACR,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,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,MAAM,CAAC;AAChB,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"}
@@ -3,7 +3,7 @@ declare type BaseProps = {
3
3
  /**
4
4
  * The `src` attribute for the `img` element.
5
5
  */
6
- src?: string;
6
+ src: string;
7
7
  /**
8
8
  * Fallback element to show if image is loading.
9
9
  */
@@ -1,9 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare type UseImageOptions = {
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({ src: "image.png" })
29
- * return status === "loaded" ? <img src="image.png" /> : <Placeholder />
24
+ * const [status, image] = useImage("image.png")
25
+ * return status === "loaded" ? <img src={image.src} /> : <Placeholder />
30
26
  * }
31
27
  * ```
32
28
  */
33
- export declare function useImage(options: UseImageOptions): Status;
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.251+5aa37ee",
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.251+5aa37ee",
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": "5aa37ee34fe6f13a3834e970b9f3c907cda4b92f"
86
+ "gitHead": "ab523927a62720c0a79fb78be2eb6376b2b79fb4"
87
87
  }