diff --git a/packages/avatars/package.json b/packages/avatars/package.json
index 3400052a202..d463ba8d4e8 100644
--- a/packages/avatars/package.json
+++ b/packages/avatars/package.json
@@ -29,7 +29,7 @@
"styled-components": "^4.2.0"
},
"devDependencies": {
- "@zendeskgarden/css-avatars": "5.0.0",
+ "@zendeskgarden/css-avatars": "6.0.0",
"@zendeskgarden/react-theming": "^6.0.1"
},
"keywords": [
diff --git a/packages/avatars/src/Avatar.example.md b/packages/avatars/src/Avatar.example.md
index 32efda60ec3..4da314cc2b8 100644
--- a/packages/avatars/src/Avatar.example.md
+++ b/packages/avatars/src/Avatar.example.md
@@ -27,7 +27,7 @@ const StyledSvgAvatar = styled(Avatar)`
System
-
+
@@ -75,22 +75,22 @@ const StyledSvgAvatar = styled(Avatar)`
-
+
-
+
-
+
-
+
diff --git a/packages/avatars/src/Avatar.js b/packages/avatars/src/Avatar.js
index a76b3ac04b7..fa9555ffd26 100644
--- a/packages/avatars/src/Avatar.js
+++ b/packages/avatars/src/Avatar.js
@@ -7,7 +7,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { StyledAvatar, StyledBadge } from './styled';
+import { StyledAvatar } from './styled';
const SIZE = {
EXTRASMALL: 'extrasmall',
@@ -27,32 +27,20 @@ const STATUS = {
const Avatar = ({ isSystem, size, status, children, badge, ...other }) => {
let computedStatus = status;
- if (status === STATUS.AVAILABLE && badge !== undefined) {
+ if (status === STATUS.AVAILABLE && badge) {
computedStatus = STATUS.ACTIVE;
}
- const FormattedBadge = () => {
- if (status === undefined || status === STATUS.AWAY) {
- return null;
- }
-
- if (computedStatus === STATUS.AVAILABLE) {
- return ;
- }
-
- return {badge};
- };
-
return (
{children}
-
);
};
@@ -60,7 +48,7 @@ const Avatar = ({ isSystem, size, status, children, badge, ...other }) => {
Avatar.propTypes = {
/** Applies system styling */
isSystem: PropTypes.bool,
- badge: PropTypes.node,
+ badge: PropTypes.oneOf([PropTypes.string, PropTypes.number]),
size: PropTypes.oneOf([SIZE.EXTRASMALL, SIZE.SMALL, SIZE.LARGE]),
status: PropTypes.oneOf([STATUS.AVAILABLE, STATUS.AWAY]),
children: PropTypes.node
diff --git a/packages/avatars/src/Avatar.spec.js b/packages/avatars/src/Avatar.spec.js
index d6c0e7c4b27..ecffd257cee 100644
--- a/packages/avatars/src/Avatar.spec.js
+++ b/packages/avatars/src/Avatar.spec.js
@@ -35,19 +35,15 @@ describe('Avatar', () => {
});
it('applies active styling if provided with badge', () => {
- const { container } = render(
- 2} />
- );
+ const { container } = render();
expect(container.firstChild).toHaveClass('is-active');
});
it('renders badge if provided with status', () => {
- const { getByTestId } = render(
- 2} />
- );
+ const { container } = render();
- expect(getByTestId('badge')).not.toBeUndefined();
+ expect(container.firstChild).toHaveAttribute('data-badge');
});
it('does not render badge if away status is provided', () => {
diff --git a/packages/avatars/src/styled.js b/packages/avatars/src/styled.js
index dbe33358df2..a1197633ce8 100644
--- a/packages/avatars/src/styled.js
+++ b/packages/avatars/src/styled.js
@@ -58,19 +58,6 @@ StyledAvatar.propTypes = {
status: PropTypes.oneOf([STATUS.AVAILABLE, STATUS.ACTIVE, STATUS.AWAY])
};
-const BADGE_COMPONENT_ID = 'avatars.badge';
-
-/**
- * Accepts all `` attributes
- */
-export const StyledBadge = styled.figcaption.attrs({
- 'data-garden-id': BADGE_COMPONENT_ID,
- 'data-garden-version': PACKAGE_VERSION,
- className: AvatarStyles['c-avatar__badge']
-})`
- ${props => retrieveTheme(BADGE_COMPONENT_ID, props)};
-`;
-
const TEXT_COMPONENT_ID = 'avatars.text';
/**
diff --git a/packages/avatars/src/styled.spec.js b/packages/avatars/src/styled.spec.js
index aea91d25e59..b1f88c074a7 100644
--- a/packages/avatars/src/styled.spec.js
+++ b/packages/avatars/src/styled.spec.js
@@ -7,7 +7,7 @@
import React from 'react';
import { render, renderRtl } from 'garden-test-utils';
-import { StyledAvatar, StyledBadge, StyledText } from './styled';
+import { StyledAvatar, StyledText } from './styled';
describe('Styled Elements', () => {
describe('StyledAvatar', () => {
@@ -52,14 +52,6 @@ describe('Styled Elements', () => {
});
});
- describe('StyledBadge', () => {
- it('renders badge styling by default', () => {
- const { container } = render();
-
- expect(container.firstChild).toHaveClass(`c-avatar__badge`);
- });
- });
-
describe('StyledText', () => {
it('renders text styling by default', () => {
const { container } = render();