@atlaskit/avatar
Version:
An avatar is a visual representation of a user or entity.
200 lines (162 loc) • 4.8 kB
Markdown
<!-- API Report Version: 2.3 -->
> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
- [Main Entry Types](
- [Peer Dependencies](
<!--SECTION START: Main Entry Types-->
```ts
/// <reference types="react" />
import { FC } from 'react';
import { ForwardRefExoticComponent } from 'react';
import { MouseEventHandler } from 'react';
import { ReactNode } from 'react';
import { Ref } from 'react';
import { RefAttributes } from 'react';
import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
// @public (undocumented)
export const ACTIVE_SCALE_FACTOR = 0.9;
// @public (undocumented)
export type AppearanceType = 'circle' | 'square';
// @public
const Avatar: ForwardRefExoticComponent<AvatarPropTypes & RefAttributes<HTMLElement>>;
export default Avatar;
// @public (undocumented)
export const AVATAR_RADIUS: AvatarSizeMap;
// @public (undocumented)
export const AVATAR_SIZES: AvatarSizeMap;
// @public (undocumented)
export type AvatarClickEventHandler = (
event: React.MouseEvent,
analyticsEvent?: UIAnalyticsEvent,
) => void;
// @public
export const AvatarItem: ForwardRefExoticComponent<AvatarItemProps & RefAttributes<HTMLElement>>;
// @public (undocumented)
export interface AvatarItemProps {
avatar: ReactNode;
backgroundColor?: string;
children?: (props: CustomAvatarItemProps) => ReactNode;
href?: string;
isDisabled?: boolean;
isTruncationDisabled?: boolean;
label?: string;
onClick?: AvatarClickEventHandler;
primaryText?: ReactNode;
secondaryText?: ReactNode;
target?: '_blank' | '_parent' | '_self' | '_top';
testId?: string;
}
// @public (undocumented)
export interface AvatarPropTypes {
analyticsContext?: Record<string, any>;
appearance?: AppearanceType;
as?: React.ComponentType<React.AllHTMLAttributes<HTMLElement>> | keyof JSX.IntrinsicElements;
borderColor?: string;
children?: (props: CustomAvatarProps) => ReactNode;
href?: string;
isDisabled?: boolean;
label?: string;
name?: string;
onClick?: AvatarClickEventHandler;
presence?: (string & {}) | Omit<ReactNode, string> | PresenceType | null;
size?: SizeType;
src?: string;
stackIndex?: number;
status?: (string & {}) | Omit<ReactNode, string> | StatusType | null;
tabIndex?: number;
target?: '_blank' | '_parent' | '_self' | '_top';
testId?: string;
}
// @public (undocumented)
type AvatarSizeMap = Record<SizeType, number>;
// @public (undocumented)
export const BORDER_WIDTH = 2;
// @public (undocumented)
export interface CustomAvatarItemProps {
// (undocumented)
'aria-disabled'?: 'false' | 'true' | boolean | undefined;
'aria-label'?: string;
// (undocumented)
children: ReactNode;
// (undocumented)
className?: string;
// (undocumented)
href?: string;
// (undocumented)
onClick?: MouseEventHandler;
// (undocumented)
ref: Ref<HTMLElement>;
// (undocumented)
testId?: string;
}
// @public (undocumented)
export interface CustomAvatarProps {
'aria-label'?: string;
// (undocumented)
children: ReactNode;
// (undocumented)
className?: string;
// (undocumented)
href?: string;
// (undocumented)
onClick?: MouseEventHandler;
// (undocumented)
ref: Ref<HTMLElement>;
// (undocumented)
tabIndex?: number;
// (undocumented)
testId?: string;
}
// @public (undocumented)
export type IndicatorSizeType = 'large' | 'medium' | 'small' | 'xlarge';
// @public
export const Presence: FC<PresenceProps>;
// @public (undocumented)
export interface PresenceProps {
borderColor?: string;
children?: ReactNode;
presence?: PresenceType;
testId?: string;
}
// @public (undocumented)
export type PresenceType = 'busy' | 'focus' | 'offline' | 'online';
// @public (undocumented)
export type SizeType = 'large' | 'medium' | 'small' | 'xlarge' | 'xsmall' | 'xxlarge';
// @public
export const Skeleton: FC<SkeletonProps>;
// @public (undocumented)
export interface SkeletonProps {
// (undocumented)
appearance?: AppearanceType;
// (undocumented)
color?: string;
// (undocumented)
size?: SizeType;
// (undocumented)
weight?: 'normal' | 'strong';
}
// @public
export const Status: FC<StatusProps>;
// @public (undocumented)
export interface StatusProps {
borderColor?: string;
children?: ReactNode;
status?: StatusType;
}
// @public (undocumented)
export type StatusType = 'approved' | 'declined' | 'locked';
// (No @packageDocumentation comment for this package)
```
<!--SECTION END: Main Entry Types-->
<!--SECTION START: Peer Dependencies-->
```json
{
"react": "^16.8.0"
}
```
<!--SECTION END: Peer Dependencies-->