From c13e8a79916244cf55c237baed5550dc56570940 Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Fri, 31 Jan 2025 16:11:45 -0500 Subject: [PATCH 01/14] Initial commit. --- pages/avatar/permutations.page.tsx | 63 +++++++++++++++++++++++++++ pages/avatar/width-and-image.page.tsx | 31 +++++++++++++ src/avatar/interfaces.ts | 12 +++++ src/avatar/internal.tsx | 35 ++++++++++++--- src/avatar/loading-dots/index.tsx | 11 +++-- src/avatar/loading-dots/motion.scss | 10 ++--- src/avatar/loading-dots/styles.scss | 2 +- src/avatar/styles.scss | 8 +++- 8 files changed, 156 insertions(+), 16 deletions(-) create mode 100644 pages/avatar/width-and-image.page.tsx diff --git a/pages/avatar/permutations.page.tsx b/pages/avatar/permutations.page.tsx index bb4f0e4..bd5e459 100644 --- a/pages/avatar/permutations.page.tsx +++ b/pages/avatar/permutations.page.tsx @@ -1,6 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import SpaceBetween from "@cloudscape-design/components/space-between"; + import { Avatar } from "../../lib/components"; import { TestBed } from "../app/test-bed"; import { ScreenshotArea } from "../screenshot-area"; @@ -25,6 +27,9 @@ const customIconSvg = ( ); +const wolverine = + "https://static1.colliderimages.com/wordpress/wp-content/uploads/2024/08/deadpool-wolverine-hugh-jackman-mask-reveal.jpg"; + export default function AvatarPage() { return ( @@ -38,15 +43,73 @@ export default function AvatarPage() { + + {/* Loading should take prioirty over image */} + +
+ + + {/* Image with tiny width enforce minimum of 28px */} + + + {/* Image with default width of 28px */} + + + {/* Image should take priority over initials */} + + + {/* Image and tooltip should take priority over icon */} + + + {/* Icon SVG with custom width */} + + + {/* Icon name with custom width */} + + + {/* Icon name with custom width */} + + + {/* Initials with custom width */} + + + {/* Loading with custom width */} + + + {/* Initials with custom width */} + + + {/* Loading with custom width */} + +
diff --git a/pages/avatar/width-and-image.page.tsx b/pages/avatar/width-and-image.page.tsx new file mode 100644 index 0000000..ce71139 --- /dev/null +++ b/pages/avatar/width-and-image.page.tsx @@ -0,0 +1,31 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import { useState } from "react"; + +import Header from "@cloudscape-design/components/header"; +import Input from "@cloudscape-design/components/input"; +import SpaceBetween from "@cloudscape-design/components/space-between"; + +import { Avatar } from "../../lib/components"; + +export default function AvatarImageAndWidth() { + const [url, setURL] = useState( + "https://static1.colliderimages.com/wordpress/wp-content/uploads/2024/08/deadpool-wolverine-hugh-jackman-mask-reveal.jpg", + ); + const [width, setWidth] = useState("100"); + + return ( + +
Input an Image URL and custom size.
+ + + setURL(detail.value)} value={url} /> + + setWidth(detail.value)} value={width} inputMode="numeric" type="number" /> + + + +
+ ); +} diff --git a/src/avatar/interfaces.ts b/src/avatar/interfaces.ts index 0898b9d..d6e03ae 100644 --- a/src/avatar/interfaces.ts +++ b/src/avatar/interfaces.ts @@ -60,6 +60,18 @@ export interface AvatarProps { * If you set both `iconUrl` and `iconSvg`, `iconSvg` will take precedence. */ iconSvg?: React.ReactNode; + + /** + * Specifies the URL of a custom image. If you set both `iconUrl` and `imgUrl`, `imgUrl` will take precedence. + */ + imgUrl?: string; + + /** + * Defines the width of the avatar when using a custom image. + * This value corresponds to the `width` CSS-property and will center and crop images using `object-fit: cover`. + * If no width is provided the avatar will use the default width value. + */ + width?: number; } export namespace AvatarProps { diff --git a/src/avatar/internal.tsx b/src/avatar/internal.tsx index 7a5bb03..f2eaa58 100644 --- a/src/avatar/internal.tsx +++ b/src/avatar/internal.tsx @@ -6,6 +6,7 @@ import clsx from "clsx"; import { warnOnce } from "@cloudscape-design/component-toolkit/internal"; import Icon from "@cloudscape-design/components/icon"; import Tooltip from "@cloudscape-design/components/internal/tooltip-do-not-use"; +import * as awsui from "@cloudscape-design/design-tokens/index.js"; import { getDataAttributes } from "../internal/base-component/get-data-attributes"; import { InternalBaseComponentProps } from "../internal/base-component/use-base-component"; @@ -17,9 +18,23 @@ import styles from "./styles.css.js"; export interface InternalAvatarProps extends AvatarProps, InternalBaseComponentProps {} -const AvatarContent = ({ color, loading, initials, iconName, iconSvg, iconUrl, ariaLabel }: AvatarProps) => { +const AvatarContent = ({ + color, + loading, + initials, + iconName, + iconSvg, + iconUrl, + ariaLabel, + width, + imgUrl, +}: AvatarProps) => { if (loading) { - return ; + return ; + } + + if (imgUrl) { + return ; } if (initials) { @@ -29,10 +44,14 @@ const AvatarContent = ({ color, loading, initials, iconName, iconSvg, iconUrl, a warnOnce("Avatar", `"initials" is longer than 2 characters. Only the first two characters are shown.`); } - return {letters}; + return ( + + {letters} + + ); } - return ; + return ; }; export default function InternalAvatar({ @@ -44,6 +63,8 @@ export default function InternalAvatar({ iconName, iconSvg, iconUrl, + imgUrl, + width, __internalRootRef = null, ...rest }: InternalAvatarProps) { @@ -51,6 +72,7 @@ export default function InternalAvatar({ const [showTooltip, setShowTooltip] = useState(false); const mergedRef = useMergeRefs(handleRef, __internalRootRef); + const computedSize = width && width > 28 ? width : 28; const tooltipAttributes = { onFocus: () => { @@ -84,6 +106,7 @@ export default function InternalAvatar({ role="img" aria-label={ariaLabel} {...tooltipAttributes} + style={{ height: computedSize, width: computedSize }} > {showTooltip && tooltipText && ( + diff --git a/src/avatar/loading-dots/index.tsx b/src/avatar/loading-dots/index.tsx index e112e51..9095945 100644 --- a/src/avatar/loading-dots/index.tsx +++ b/src/avatar/loading-dots/index.tsx @@ -6,16 +6,19 @@ import styles from "./styles.css.js"; interface LoadingDotsProps { color?: string; + width?: number; } -export default function LoadingDots({ color }: LoadingDotsProps) { +export default function LoadingDots({ color, width }: LoadingDotsProps) { + const dotSize = `calc(.14px * ${width})`; + return ( // "gen-ai" class is added so that the gradient background animates.
-
-
-
+
+
+
); diff --git a/src/avatar/loading-dots/motion.scss b/src/avatar/loading-dots/motion.scss index 72c2e32..f7ef051 100644 --- a/src/avatar/loading-dots/motion.scss +++ b/src/avatar/loading-dots/motion.scss @@ -39,8 +39,8 @@ } 50% { - block-size: 44px; - inline-size: 44px; + block-size: 150%; + inline-size: 150%; } 100% { @@ -55,8 +55,8 @@ } 50% { - block-size: 44px; - inline-size: 44px; + block-size: 150%; + inline-size: 150%; inset-inline-start: -100%; } @@ -103,7 +103,7 @@ } 28% { - transform: translateY(-4px); + transform: translateY(-100%); } 44% { diff --git a/src/avatar/loading-dots/styles.scss b/src/avatar/loading-dots/styles.scss index c87fd23..5cea750 100644 --- a/src/avatar/loading-dots/styles.scss +++ b/src/avatar/loading-dots/styles.scss @@ -23,7 +23,7 @@ $dot-size: 4px; align-items: center; justify-content: space-between; display: flex; - inline-size: 18px; + inline-size: 64%; } .dot { diff --git a/src/avatar/styles.scss b/src/avatar/styles.scss index 7ec4f0d..523adb0 100644 --- a/src/avatar/styles.scss +++ b/src/avatar/styles.scss @@ -10,7 +10,6 @@ $avatar-size: 28px; .root { @include shared.styles-reset; - color: cs.$color-text-avatar; block-size: $avatar-size; inline-size: $avatar-size; @@ -48,4 +47,11 @@ $avatar-size: 28px; block-size: inherit; inline-size: inherit; overflow: hidden; + + img { + @include mixins.border-radius-avatar; + block-size: $avatar-size; + inline-size: $avatar-size; + object-fit: cover; + } } From 71f5555ca380a64d726f109f740a5cc5cde483df Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Tue, 4 Feb 2025 08:15:16 -0500 Subject: [PATCH 02/14] Add smiley. --- pages/avatar/permutations.page.tsx | 16 +++++++--------- pages/avatar/smiley.png | Bin 0 -> 136636 bytes 2 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 pages/avatar/smiley.png diff --git a/pages/avatar/permutations.page.tsx b/pages/avatar/permutations.page.tsx index bd5e459..6b8c5fb 100644 --- a/pages/avatar/permutations.page.tsx +++ b/pages/avatar/permutations.page.tsx @@ -6,6 +6,7 @@ import SpaceBetween from "@cloudscape-design/components/space-between"; import { Avatar } from "../../lib/components"; import { TestBed } from "../app/test-bed"; import { ScreenshotArea } from "../screenshot-area"; +import smiley from "./smiley.png"; const customIconSvg = ( ); -const wolverine = - "https://static1.colliderimages.com/wordpress/wp-content/uploads/2024/08/deadpool-wolverine-hugh-jackman-mask-reveal.jpg"; - export default function AvatarPage() { return ( @@ -48,7 +46,7 @@ export default function AvatarPage() { @@ -60,19 +58,19 @@ export default function AvatarPage() { {/* Image with tiny width enforce minimum of 28px */} - + {/* Image with default width of 28px */} - + {/* Image should take priority over initials */} - + {/* Image and tooltip should take priority over icon */} diff --git a/pages/avatar/smiley.png b/pages/avatar/smiley.png new file mode 100644 index 0000000000000000000000000000000000000000..206dfd2c4d6703bf63ff858abd205a910ea6729f GIT binary patch literal 136636 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 e{{Q#=|NjC#G%DL;J$E?(0000 Date: Tue, 4 Feb 2025 08:27:56 -0500 Subject: [PATCH 03/14] Update interface. --- .../__snapshots__/documenter.test.ts.snap | 14 ++++++++++++++ src/avatar/interfaces.ts | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/__tests__/__snapshots__/documenter.test.ts.snap b/src/__tests__/__snapshots__/documenter.test.ts.snap index c855894..1e3806e 100644 --- a/src/__tests__/__snapshots__/documenter.test.ts.snap +++ b/src/__tests__/__snapshots__/documenter.test.ts.snap @@ -56,6 +56,12 @@ If you set both \`iconUrl\` and \`iconSvg\`, \`iconSvg\` will take precedence. "optional": true, "type": "string", }, + { + "description": "Specifies the URL of a custom image. If you set both \`iconUrl\` and \`imgUrl\`, \`imgUrl\` will take precedence.", + "name": "imgUrl", + "optional": true, + "type": "string", + }, { "description": "The text content shown directly in the avatar's body. Can be 1 or 2 symbols long, every subsequent symbol is ignored. @@ -78,6 +84,14 @@ When you use this property, make sure to include it in the \`ariaLabel\`. "optional": true, "type": "string", }, + { + "description": "Defines the width of the avatar when using a custom image. +This value corresponds to the \`width\` CSS-property and will center and crop images using \`object-fit: cover\`. +If no width is provided the avatar will use the default width value.", + "name": "width", + "optional": true, + "type": "number", + }, ], "regions": [ { diff --git a/src/avatar/interfaces.ts b/src/avatar/interfaces.ts index d6e03ae..e47135a 100644 --- a/src/avatar/interfaces.ts +++ b/src/avatar/interfaces.ts @@ -67,9 +67,9 @@ export interface AvatarProps { imgUrl?: string; /** - * Defines the width of the avatar when using a custom image. + * Defines the width of the avatar. * This value corresponds to the `width` CSS-property and will center and crop images using `object-fit: cover`. - * If no width is provided the avatar will use the default width value. + * If no width is provided the avatar will use the default width value of 28px. */ width?: number; } From 7d2ead953e1a468daabf05d367e388e0c1fe9dd8 Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Tue, 4 Feb 2025 08:39:29 -0500 Subject: [PATCH 04/14] Update interface. --- src/__tests__/__snapshots__/documenter.test.ts.snap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/__tests__/__snapshots__/documenter.test.ts.snap b/src/__tests__/__snapshots__/documenter.test.ts.snap index 1e3806e..edd7d11 100644 --- a/src/__tests__/__snapshots__/documenter.test.ts.snap +++ b/src/__tests__/__snapshots__/documenter.test.ts.snap @@ -85,9 +85,9 @@ When you use this property, make sure to include it in the \`ariaLabel\`. "type": "string", }, { - "description": "Defines the width of the avatar when using a custom image. + "description": "Defines the width of the avatar. This value corresponds to the \`width\` CSS-property and will center and crop images using \`object-fit: cover\`. -If no width is provided the avatar will use the default width value.", +If no width is provided the avatar will use the default width value of 28px.", "name": "width", "optional": true, "type": "number", From e1d091a271e73301e7565ac44f95523e7abd37b2 Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Mon, 10 Feb 2025 13:01:15 -0500 Subject: [PATCH 05/14] Update interface and add test page. --- pages/avatar/custom-width.page.tsx | 65 +++++++++++++++++++++++++++ pages/avatar/width-and-image.page.tsx | 31 ------------- src/avatar/interfaces.ts | 1 + 3 files changed, 66 insertions(+), 31 deletions(-) create mode 100644 pages/avatar/custom-width.page.tsx delete mode 100644 pages/avatar/width-and-image.page.tsx diff --git a/pages/avatar/custom-width.page.tsx b/pages/avatar/custom-width.page.tsx new file mode 100644 index 0000000..8feac03 --- /dev/null +++ b/pages/avatar/custom-width.page.tsx @@ -0,0 +1,65 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import { useState } from "react"; + +import Checkbox from "@cloudscape-design/components/checkbox"; +import FormField from "@cloudscape-design/components/form-field"; +import Header from "@cloudscape-design/components/header"; +import Input from "@cloudscape-design/components/input"; +import SpaceBetween from "@cloudscape-design/components/space-between"; + +import { Avatar } from "../../lib/components"; + +export default function AvatarImageAndWidth() { + const [url, setURL] = useState( + "https://static1.colliderimages.com/wordpress/wp-content/uploads/2024/08/deadpool-wolverine-hugh-jackman-mask-reveal.jpg", + ); + const [width, setWidth] = useState("100"); + const [initials, setInitials] = useState("SO"); + const [iconName, setIconName] = useState("search"); + const [loading, setLoading] = useState(false); + const [genAI, setGenAI] = useState(false); + + return ( + +

Input an Image URL and custom size.
+ + + + setWidth(detail.value)} value={width} inputMode="numeric" type="number" /> + + + + setURL(detail.value)} value={url} /> + + + + setInitials(detail.value)} value={initials} /> + + + + setIconName(detail.value)} value={iconName} /> + + + setLoading(detail.checked)} checked={loading}> + Loading + + + setGenAI(detail.checked)} checked={genAI}> + Gen AI + + + + + + ); +} diff --git a/pages/avatar/width-and-image.page.tsx b/pages/avatar/width-and-image.page.tsx deleted file mode 100644 index ce71139..0000000 --- a/pages/avatar/width-and-image.page.tsx +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import { useState } from "react"; - -import Header from "@cloudscape-design/components/header"; -import Input from "@cloudscape-design/components/input"; -import SpaceBetween from "@cloudscape-design/components/space-between"; - -import { Avatar } from "../../lib/components"; - -export default function AvatarImageAndWidth() { - const [url, setURL] = useState( - "https://static1.colliderimages.com/wordpress/wp-content/uploads/2024/08/deadpool-wolverine-hugh-jackman-mask-reveal.jpg", - ); - const [width, setWidth] = useState("100"); - - return ( - -
Input an Image URL and custom size.
- - - setURL(detail.value)} value={url} /> - - setWidth(detail.value)} value={width} inputMode="numeric" type="number" /> - - - -
- ); -} diff --git a/src/avatar/interfaces.ts b/src/avatar/interfaces.ts index e47135a..712a1f9 100644 --- a/src/avatar/interfaces.ts +++ b/src/avatar/interfaces.ts @@ -70,6 +70,7 @@ export interface AvatarProps { * Defines the width of the avatar. * This value corresponds to the `width` CSS-property and will center and crop images using `object-fit: cover`. * If no width is provided the avatar will use the default width value of 28px. + * The height of the avatar will be set to the same value as the width. */ width?: number; } From ace8a7c9cc032056a3f3f72f6aeb500c5c64d7cd Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Mon, 10 Feb 2025 13:05:23 -0500 Subject: [PATCH 06/14] Resolve type error. --- pages/avatar/custom-width.page.tsx | 3 ++- src/__tests__/__snapshots__/documenter.test.ts.snap | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pages/avatar/custom-width.page.tsx b/pages/avatar/custom-width.page.tsx index 8feac03..b507651 100644 --- a/pages/avatar/custom-width.page.tsx +++ b/pages/avatar/custom-width.page.tsx @@ -6,6 +6,7 @@ import { useState } from "react"; import Checkbox from "@cloudscape-design/components/checkbox"; import FormField from "@cloudscape-design/components/form-field"; import Header from "@cloudscape-design/components/header"; +import { IconProps } from "@cloudscape-design/components/icon"; import Input from "@cloudscape-design/components/input"; import SpaceBetween from "@cloudscape-design/components/space-between"; @@ -54,7 +55,7 @@ export default function AvatarImageAndWidth() { Date: Mon, 10 Feb 2025 13:20:01 -0500 Subject: [PATCH 07/14] Added unit tests. --- src/avatar/__tests__/avatar.test.tsx | 19 +++++++++++++++++++ src/avatar/internal.tsx | 2 +- src/avatar/styles.scss | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/avatar/__tests__/avatar.test.tsx b/src/avatar/__tests__/avatar.test.tsx index e865522..5f9ffc1 100644 --- a/src/avatar/__tests__/avatar.test.tsx +++ b/src/avatar/__tests__/avatar.test.tsx @@ -9,6 +9,7 @@ import Avatar, { AvatarProps } from "../../../lib/components/avatar"; import createWrapper from "../../../lib/components/test-utils/dom"; import loadingDotsStyles from "../../../lib/components/avatar/loading-dots/styles.selectors.js"; +import avatarStyles from "../../../lib/components/avatar/styles.selectors.js"; const defaultAvatarProps: AvatarProps = { ariaLabel: "Avatar" }; @@ -30,6 +31,15 @@ describe("Avatar", () => { expect(wrapper.getElement().textContent).toBe(initials); }); + test("Renders avatar with image", () => { + const imgUrl = + "https://static1.colliderimages.com/wordpress/wp-content/uploads/2024/08/deadpool-wolverine-hugh-jackman-mask-reveal.jpg"; + const wrapper = renderAvatar({ ...defaultAvatarProps, imgUrl }); + + const image = wrapper.findByClassName(avatarStyles.image)?.getElement(); + expect(image).toBeInTheDocument(); + }); + test("Shows tooltip on focus", () => { const tooltipText = "Jane Doe"; const wrapper = renderAvatar({ ...defaultAvatarProps, color: "default", tooltipText }); @@ -75,6 +85,15 @@ describe("Avatar", () => { expect(loading).toBeInTheDocument(); }); + test("Loading takes precedence over image", () => { + const imgUrl = + "https://static1.colliderimages.com/wordpress/wp-content/uploads/2024/08/deadpool-wolverine-hugh-jackman-mask-reveal.jpg"; + const wrapper = renderAvatar({ ...defaultAvatarProps, imgUrl, loading: true }); + + const loading = wrapper.findByClassName(loadingDotsStyles.root)?.getElement(); + expect(loading).toBeInTheDocument(); + }); + test("Shows warning when initials length is longer than 2", () => { const warnOnce = vi.spyOn(ComponentToolkitInternal, "warnOnce"); diff --git a/src/avatar/internal.tsx b/src/avatar/internal.tsx index f2eaa58..a6b644a 100644 --- a/src/avatar/internal.tsx +++ b/src/avatar/internal.tsx @@ -34,7 +34,7 @@ const AvatarContent = ({ } if (imgUrl) { - return ; + return ; } if (initials) { diff --git a/src/avatar/styles.scss b/src/avatar/styles.scss index 523adb0..4ab7f28 100644 --- a/src/avatar/styles.scss +++ b/src/avatar/styles.scss @@ -48,7 +48,7 @@ $avatar-size: 28px; inline-size: inherit; overflow: hidden; - img { + .image { @include mixins.border-radius-avatar; block-size: $avatar-size; inline-size: $avatar-size; From 791f66e3507a2c32e30bdc0e39d44c4f953cccd5 Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Wed, 12 Feb 2025 13:29:24 -0500 Subject: [PATCH 08/14] Resolve bug. --- src/avatar/styles.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/avatar/styles.scss b/src/avatar/styles.scss index 4ab7f28..134055d 100644 --- a/src/avatar/styles.scss +++ b/src/avatar/styles.scss @@ -38,6 +38,10 @@ $avatar-size: 28px; @include shared.focus-highlight(1px, 50%); } } + + &:has(.image) { + background: transparent; + } } .content { From 531a8808c2e5b22f6ef3eb739745b9dd4528fbfc Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Thu, 13 Feb 2025 16:58:07 -0500 Subject: [PATCH 09/14] Remove file reference. --- src/avatar/internal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/avatar/internal.tsx b/src/avatar/internal.tsx index a6b644a..8670c66 100644 --- a/src/avatar/internal.tsx +++ b/src/avatar/internal.tsx @@ -6,7 +6,7 @@ import clsx from "clsx"; import { warnOnce } from "@cloudscape-design/component-toolkit/internal"; import Icon from "@cloudscape-design/components/icon"; import Tooltip from "@cloudscape-design/components/internal/tooltip-do-not-use"; -import * as awsui from "@cloudscape-design/design-tokens/index.js"; +import * as awsui from "@cloudscape-design/design-tokens"; import { getDataAttributes } from "../internal/base-component/get-data-attributes"; import { InternalBaseComponentProps } from "../internal/base-component/use-base-component"; From 9586b84f9048597f9ceb2c669b9f7538874874e4 Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Fri, 14 Feb 2025 16:45:40 -0500 Subject: [PATCH 10/14] Added default value in props. --- src/avatar/internal.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/avatar/internal.tsx b/src/avatar/internal.tsx index 8670c66..a15008d 100644 --- a/src/avatar/internal.tsx +++ b/src/avatar/internal.tsx @@ -64,7 +64,7 @@ export default function InternalAvatar({ iconSvg, iconUrl, imgUrl, - width, + width = 28, __internalRootRef = null, ...rest }: InternalAvatarProps) { @@ -72,7 +72,7 @@ export default function InternalAvatar({ const [showTooltip, setShowTooltip] = useState(false); const mergedRef = useMergeRefs(handleRef, __internalRootRef); - const computedSize = width && width > 28 ? width : 28; + const computedSize = width < 28 ? 28 : width; const tooltipAttributes = { onFocus: () => { From 85e23b4d3a9f1911e0e1fbc97f5bdaefff088b2b Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Tue, 18 Feb 2025 11:58:08 -0500 Subject: [PATCH 11/14] Minor update to interface. --- src/avatar/interfaces.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/avatar/interfaces.ts b/src/avatar/interfaces.ts index 712a1f9..cab69c7 100644 --- a/src/avatar/interfaces.ts +++ b/src/avatar/interfaces.ts @@ -67,10 +67,9 @@ export interface AvatarProps { imgUrl?: string; /** - * Defines the width of the avatar. + * Defines the width and height of the avatar. * This value corresponds to the `width` CSS-property and will center and crop images using `object-fit: cover`. * If no width is provided the avatar will use the default width value of 28px. - * The height of the avatar will be set to the same value as the width. */ width?: number; } From fd2d77bea74e358ea60ae485be43b071b69f812b Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Tue, 18 Feb 2025 12:02:13 -0500 Subject: [PATCH 12/14] Update documenter. --- src/__tests__/__snapshots__/documenter.test.ts.snap | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/__tests__/__snapshots__/documenter.test.ts.snap b/src/__tests__/__snapshots__/documenter.test.ts.snap index 9badf0c..39b4638 100644 --- a/src/__tests__/__snapshots__/documenter.test.ts.snap +++ b/src/__tests__/__snapshots__/documenter.test.ts.snap @@ -85,10 +85,9 @@ When you use this property, make sure to include it in the \`ariaLabel\`. "type": "string", }, { - "description": "Defines the width of the avatar. + "description": "Defines the width and height of the avatar. This value corresponds to the \`width\` CSS-property and will center and crop images using \`object-fit: cover\`. -If no width is provided the avatar will use the default width value of 28px. -The height of the avatar will be set to the same value as the width.", +If no width is provided the avatar will use the default width value of 28px.", "name": "width", "optional": true, "type": "number", From 5dffb1d4cfa096c86f648423eb54f60c4f04f5a8 Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Wed, 19 Feb 2025 13:10:42 -0500 Subject: [PATCH 13/14] Updates to interface. --- src/avatar/interfaces.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/avatar/interfaces.ts b/src/avatar/interfaces.ts index cab69c7..d035e47 100644 --- a/src/avatar/interfaces.ts +++ b/src/avatar/interfaces.ts @@ -47,17 +47,13 @@ export interface AvatarProps { /** * Specifies the URL of a custom icon. Use this property if the icon you want isn't available, and your custom icon can't be an SVG. - * For SVG icons, use the `iconSvg` slot instead. - * - * If you set both `iconUrl` and `iconSvg`, `iconSvg` will take precedence. + * @deprecated Use `iconSvg` or `imgUrl` instead. */ iconUrl?: string; /** * Specifies the SVG of a custom icon. - * * Use this property if the icon you want isn't available. - * If you set both `iconUrl` and `iconSvg`, `iconSvg` will take precedence. */ iconSvg?: React.ReactNode; @@ -69,7 +65,7 @@ export interface AvatarProps { /** * Defines the width and height of the avatar. * This value corresponds to the `width` CSS-property and will center and crop images using `object-fit: cover`. - * If no width is provided the avatar will use the default width value of 28px. + * The default and minimum width value is 28px. */ width?: number; } From 83941ac2a26ca190f54300d78625fb34fe97c7d3 Mon Sep 17 00:00:00 2001 From: Scott O'Brien Date: Wed, 19 Feb 2025 13:11:41 -0500 Subject: [PATCH 14/14] Update documenter. --- src/__tests__/__snapshots__/documenter.test.ts.snap | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/__tests__/__snapshots__/documenter.test.ts.snap b/src/__tests__/__snapshots__/documenter.test.ts.snap index 39b4638..01efa59 100644 --- a/src/__tests__/__snapshots__/documenter.test.ts.snap +++ b/src/__tests__/__snapshots__/documenter.test.ts.snap @@ -48,10 +48,8 @@ If you set both \`iconName\` and \`initials\`, \`initials\` will take precedence "type": "string", }, { - "description": "Specifies the URL of a custom icon. Use this property if the icon you want isn't available, and your custom icon can't be an SVG. -For SVG icons, use the \`iconSvg\` slot instead. -If you set both \`iconUrl\` and \`iconSvg\`, \`iconSvg\` will take precedence. -", + "deprecatedTag": "Use \`iconSvg\` or \`imgUrl\` instead.", + "description": "Specifies the URL of a custom icon. Use this property if the icon you want isn't available, and your custom icon can't be an SVG.", "name": "iconUrl", "optional": true, "type": "string", @@ -87,7 +85,7 @@ When you use this property, make sure to include it in the \`ariaLabel\`. { "description": "Defines the width and height of the avatar. This value corresponds to the \`width\` CSS-property and will center and crop images using \`object-fit: cover\`. -If no width is provided the avatar will use the default width value of 28px.", +The default and minimum width value is 28px.", "name": "width", "optional": true, "type": "number", @@ -96,9 +94,7 @@ If no width is provided the avatar will use the default width value of 28px.", "regions": [ { "description": "Specifies the SVG of a custom icon. -Use this property if the icon you want isn't available. -If you set both \`iconUrl\` and \`iconSvg\`, \`iconSvg\` will take precedence. -", +Use this property if the icon you want isn't available.", "isDefault": false, "name": "iconSvg", },