@@ -9,19 +9,14 @@ export interface ImageProps extends Remove<ImgHTMLAttributes<HTMLImageElement>,
9
9
* undefined or if a promise will display as loading.
10
10
*/
11
11
src ?: FuturableOrLazy < string > ;
12
- /**
13
- * Specific classes for all of the internal elements. If you just wish to give
14
- * a class to image, you can use `className`.
15
- */
16
- classes ?: { wrapper ?: string ; image ?: string ; overlay ?: string } ;
17
12
/**
18
13
* Render out an element to be shown while src is loading.
19
14
*/
20
15
onRenderLoading ?( ) : ReactNode ;
21
16
}
22
17
23
18
export const Image = forwardRef < HTMLImageElement , ImageProps > (
24
- ( { src, classes , onRenderLoading, alt, className, ...imgProps } , ref ) => {
19
+ ( { src, onRenderLoading, alt, className, ...imgProps } , ref ) => {
25
20
const [ source , setSource ] = useState < string | undefined > ( typeof src === 'string' ? src : undefined ) ;
26
21
27
22
const getSource = useCallback ( async ( srcGetter : FuturableOrLazy < string > ) => {
@@ -34,24 +29,12 @@ export const Image = forwardRef<HTMLImageElement, ImageProps>(
34
29
getSource ( src ) ;
35
30
} , [ src , getSource ] ) ;
36
31
37
- const wrapperClass = classnames ( 'ui__base ui__image__wrapper' , classes ?. wrapper ) ;
38
-
39
- const imageClass = classnames ( 'ui__image' , { 'ui__image--loading' : ! source } , classes ?. image , className ) ;
40
-
41
- const overlayClass = classnames (
42
- 'ui__image__overlay' ,
43
- {
44
- 'ui__image__overlay--loading' : ! source ,
45
- 'ui__image__overlay--hide' : ! onRenderLoading ,
46
- } ,
47
- classes ?. overlay ,
48
- ) ;
32
+ const imageClass = classnames ( 'ui__image' , className ) ;
49
33
50
- return (
51
- < div className = { wrapperClass } >
52
- < img { ...imgProps } alt = { alt } src = { source } className = { imageClass } ref = { ref } />
53
- < div className = { overlayClass } > { onRenderLoading ?.( ) } </ div >
54
- </ div >
34
+ return source ? (
35
+ < img { ...imgProps } alt = { alt } src = { source } className = { imageClass } ref = { ref } />
36
+ ) : (
37
+ < > { onRenderLoading ?.( ) } </ >
55
38
) ;
56
39
} ,
57
40
) ;
0 commit comments