1+ import { useStylesheet } from '@ui5/webcomponents-react-base' ;
12import { clsx } from 'clsx' ;
23import type { CSSProperties , ReactElement } from 'react' ;
34import React , { cloneElement , useEffect , useMemo , useRef , useState } from 'react' ;
4- import { createUseStyles } from 'react-jss' ;
55import { AvatarSize } from '../../enums/index.js' ;
6-
7- const styles = {
8- base : {
9- alignSelf : 'center' ,
10- opacity : 0 ,
11- paddingInlineEnd : '1rem'
12- } ,
13- hidden : {
14- opacity : 0
15- } ,
16- visible : {
17- transition : 'opacity 0.5s' ,
18- opacity : 1
19- } ,
20- imageContainer : {
21- display : 'inline-block' ,
22- verticalAlign : 'middle' ,
23- maxHeight : '3rem' ,
24- width : '3rem' ,
25- maxWidth : '3rem'
26- } ,
27- image : {
28- width : '100%' ,
29- height : '100%'
30- }
31- } ;
32-
33- const useStyles = createUseStyles ( styles , {
34- name : 'CollapsedAvatar'
35- } ) ;
6+ import { classNames , styleData } from './CollapsedAvatar.module.css.js' ;
367
378export interface CollapsedAvatarPropTypes {
389 image ?: string | ReactElement ;
@@ -42,7 +13,7 @@ export interface CollapsedAvatarPropTypes {
4213
4314export const CollapsedAvatar = ( props : CollapsedAvatarPropTypes ) => {
4415 const { image, imageShapeCircle, style } = props ;
45- const classes = useStyles ( ) ;
16+ useStylesheet ( styleData , CollapsedAvatar . displayName ) ;
4617 const [ isMounted , setIsMounted ] = useState ( false ) ;
4718 const domRef = useRef ( null ) ;
4819
@@ -52,18 +23,18 @@ export const CollapsedAvatar = (props: CollapsedAvatarPropTypes) => {
5223 if ( typeof image === 'string' ) {
5324 return (
5425 < span
55- className = { classes . imageContainer }
26+ className = { classNames . imageContainer }
5627 style = { { borderRadius : imageShapeCircle ? '50%' : 0 , overflow : 'hidden' } }
5728 >
58- < img className = { classes . image } src = { image } alt = "Object Page Image" />
29+ < img className = { classNames . image } src = { image } alt = "Object Page Image" />
5930 </ span >
6031 ) ;
6132 } else {
6233 return cloneElement ( image , {
6334 size : AvatarSize . S ,
6435 className : image . props ?. className
65- ? `${ classes . imageContainer } ${ image . props ?. className } `
66- : classes . imageContainer
36+ ? `${ classNames . imageContainer } ${ image . props ?. className } `
37+ : classNames . imageContainer
6738 } as unknown ) ;
6839 }
6940 } , [ image , imageShapeCircle ] ) ;
@@ -72,11 +43,13 @@ export const CollapsedAvatar = (props: CollapsedAvatarPropTypes) => {
7243 setIsMounted ( true ) ;
7344 } , [ ] ) ;
7445
75- const containerClasses = clsx ( classes . base , isMounted ? classes . visible : classes . hidden ) ;
46+ const containerClasses = clsx ( classNames . base , isMounted ? classNames . visible : classNames . hidden ) ;
7647
7748 return (
7849 < div ref = { domRef } className = { containerClasses } style = { style } data-component-name = "ObjectPageCollapsedAvatar" >
7950 { avatarContent }
8051 </ div >
8152 ) ;
8253} ;
54+
55+ CollapsedAvatar . displayName = 'CollapsedAvatar' ;
0 commit comments