@ssa-ui-kit/core 3.10.5 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,42 +1,41 @@
1
- import { CommonProps } from '../../types/emotion';
1
+ import { AvatarProps } from './types';
2
2
  /**
3
- * Avatar - Circular image component for user profiles
3
+ * Avatar - Circular component for displaying user identity.
4
4
  *
5
- * A simple circular avatar component that displays an image with customizable size.
6
- * The image is displayed with a circular border-radius and centered within the container.
5
+ * Renders one of three visual states based on the supplied props:
6
+ * 1. **Custom image** when `image` is provided, displays the photo inside a circle.
7
+ * 2. **Colored placeholder** — when `color` and/or `text` are provided, renders a
8
+ * flat-color circle with up to two initials.
9
+ * 3. **Default placeholder** — when no props are given, shows the standard user icon.
7
10
  *
8
11
  * @category Components
9
12
  * @subcategory Display
10
13
  *
11
14
  * @example
12
15
  * ```tsx
13
- * // Basic avatar
14
- * <Avatar size={40} image="/path/to/avatar.jpg" />
16
+ * // Standard color + initial letter
17
+ * <Avatar color="purple" text="J" />
15
18
  * ```
16
19
  *
17
20
  * @example
18
21
  * ```tsx
19
- * // Large avatar
20
- * <Avatar size={100} image={user.avatarUrl} />
22
+ * // Custom profile photo
23
+ * <Avatar image="/users/jane.jpg" />
21
24
  * ```
22
25
  *
23
26
  * @example
24
27
  * ```tsx
25
- * // Avatar with custom styling
26
- * <Avatar
27
- * size={60}
28
- * image="/avatar.png"
29
- * css={{ border: '2px solid blue' }}
30
- * />
28
+ * // Default placeholder (no props)
29
+ * <Avatar />
31
30
  * ```
32
31
  *
33
- * @see {@link UserProfile} - For complete user profile display with avatar
32
+ * @example
33
+ * ```tsx
34
+ * // User-defined hex color + letter
35
+ * <Avatar color="#F7931A" text="A" />
36
+ * ```
37
+ *
38
+ * @see {@link UserProfile} - For a complete user-profile panel that accepts Avatar as a trigger
34
39
  */
35
- declare const Avatar: import("@emotion/styled").StyledComponent<{
36
- theme?: import("@emotion/react").Theme;
37
- as?: React.ElementType;
38
- } & {
39
- size: number;
40
- image: string;
41
- } & CommonProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
40
+ declare const Avatar: ({ size, color, text, image, border, borderColor, css, }: AvatarProps) => import("@emotion/react/jsx-runtime").JSX.Element;
42
41
  export default Avatar;
@@ -1 +1,2 @@
1
1
  export { default } from './Avatar';
2
+ export * from './types';
@@ -0,0 +1,13 @@
1
+ import { CommonProps } from '../../types/emotion';
2
+ export declare const AvatarContainer: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme;
4
+ as?: React.ElementType;
5
+ } & {
6
+ size: number;
7
+ } & CommonProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
8
+ export declare const AvatarText: import("@emotion/styled").StyledComponent<{
9
+ theme?: import("@emotion/react").Theme;
10
+ as?: React.ElementType;
11
+ } & {
12
+ fontSize: number;
13
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
@@ -0,0 +1,66 @@
1
+ import { Interpolation, Theme } from '@emotion/react';
2
+ import { ColorsKeys } from '../../types/emotion';
3
+ export declare enum AvatarSizes {
4
+ small = "small",
5
+ medium = "medium",
6
+ large = "large"
7
+ }
8
+ /**
9
+ * Props for the Avatar component.
10
+ *
11
+ * Display priority:
12
+ * 1. `image` — renders the supplied URL as a circular photo.
13
+ * 2. `color` / `text` — renders a colored placeholder circle with up to two letters.
14
+ * 3. No props (or only `size`) — renders the default user-icon placeholder.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * // Standard color + initial letter
19
+ * <Avatar color="purple" text="J" />
20
+ *
21
+ * // Custom profile photo
22
+ * <Avatar image="/users/jane.jpg" />
23
+ *
24
+ * // Default placeholder
25
+ * <Avatar />
26
+ *
27
+ * // User-defined hex color and letter
28
+ * <Avatar color="#F7931A" text="A" />
29
+ * ```
30
+ */
31
+ export interface AvatarProps {
32
+ /**
33
+ * Avatar size variant.
34
+ * @default AvatarSizes.medium
35
+ */
36
+ size?: AvatarSizes;
37
+ /**
38
+ * Background color of the placeholder circle.
39
+ * Accepts a `theme.colors` key (e.g. `'purple'`, `'green'`)
40
+ * or any valid CSS color string (e.g. `'#F7931A'`, `'rgb(0,128,0)'`).
41
+ */
42
+ color?: ColorsKeys | string;
43
+ /**
44
+ * One or two characters displayed inside the colored placeholder.
45
+ * Only the first two characters are rendered.
46
+ */
47
+ text?: string;
48
+ /**
49
+ * URL of the user's profile photo.
50
+ * When provided, the image is displayed instead of the placeholder.
51
+ */
52
+ image?: string;
53
+ /**
54
+ * Shows or hides the avatar border.
55
+ * Defaults to visible for image avatars and hidden otherwise.
56
+ */
57
+ border?: boolean;
58
+ /**
59
+ * Border color. Accepts a `theme.colors` key or any CSS color string.
60
+ */
61
+ borderColor?: ColorsKeys | string;
62
+ /**
63
+ * Emotion CSS override applied after all internal styles.
64
+ */
65
+ css?: Interpolation<Theme>;
66
+ }
@@ -94,5 +94,5 @@ import { DropdownProps } from './types';
94
94
  *
95
95
  * @see https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-select-only.html
96
96
  */
97
- declare const Dropdown: <T extends DropdownOptionProps>({ selectedItem, isDisabled, isOpen: isInitOpen, children, onChange: handleChange, className, placeholder, maxHeight, dropdownProps: componentProps, }: DropdownProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
97
+ declare const Dropdown: <T extends DropdownOptionProps>({ selectedItem, isDisabled, isOpen: isInitOpen, children, onChange: handleChange, className, placeholder, maxHeight, avatarBorder, dropdownProps: componentProps, }: DropdownProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
98
98
  export default Dropdown;
@@ -94,6 +94,11 @@ export interface DropdownProps<P extends DropdownOptionProps> extends CommonProp
94
94
  * @default 200
95
95
  */
96
96
  maxHeight?: number;
97
+ /**
98
+ * Shows a border around the avatar in the selected-item display.
99
+ * @default false
100
+ */
101
+ avatarBorder?: boolean;
97
102
  /**
98
103
  * Props object for sub-components
99
104
  * Allows fine-grained control over component parts
@@ -1,2 +1,2 @@
1
1
  import { ImageItemProps } from './types';
2
- export declare const ImageItem: ({ children, image, avatarSize, link, openLinkInNewTab, className, }: ImageItemProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export declare const ImageItem: ({ children, image, avatarSize, avatarBorder, link, openLinkInNewTab, className, }: ImageItemProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -1,6 +1,9 @@
1
+ import { AvatarSizes } from '../Avatar/types';
1
2
  export type ImageItemProps = React.PropsWithChildren<{
2
3
  image: string;
3
- avatarSize?: number;
4
+ avatarSize?: AvatarSizes;
5
+ /** Shows a border around the avatar. @default false */
6
+ avatarBorder?: boolean;
4
7
  link?: string;
5
8
  className?: string;
6
9
  openLinkInNewTab?: boolean;
@@ -1 +1,2 @@
1
- export declare const DEFAULT_AVATAR_SIZE = 24;
1
+ import { AvatarSizes } from '../Avatar/types';
2
+ export declare const DEFAULT_AVATAR_SIZE = AvatarSizes.small;
@@ -1,6 +1,9 @@
1
+ import { AvatarSizes } from '../Avatar/types';
1
2
  export type SelectOptionSchemaExtension = {
2
3
  avatar?: string;
3
4
  };
4
5
  export type SelectWidgetUiOptions = {
5
- typeaheadAvatarSize?: number;
6
+ typeaheadAvatarSize?: AvatarSizes;
7
+ /** Shows a border around avatars in the typeahead list. @default false */
8
+ typeaheadAvatarBorder?: boolean;
6
9
  };
@@ -79,6 +79,8 @@ export interface PersonInfoProps extends CommonProps {
79
79
  link?: string;
80
80
  /** When link is set, open in new tab and use rel="noreferrer". */
81
81
  openLinkInNewTab?: boolean;
82
+ /** Shows a border around the avatar. @default false */
83
+ avatarBorder?: boolean;
82
84
  }
83
85
  /**
84
86
  * Props for PersonInfoAvatar (value + optional avatar, optional link).
@@ -90,6 +92,8 @@ export interface PersonInfoAvatarProps {
90
92
  styles?: PersonInfoStyles;
91
93
  link?: string;
92
94
  openLinkInNewTab?: boolean;
95
+ /** Shows a border around the avatar. @default false */
96
+ avatarBorder?: boolean;
93
97
  }
94
98
  /**
95
99
  * Props for PersonInfoCounter (“+N” with tooltip).
@@ -78,6 +78,7 @@ export type * from './Tag/types';
78
78
  export * from './Chip';
79
79
  export type * from './Chip/types';
80
80
  export { default as Avatar } from './Avatar';
81
+ export * from './Avatar/types';
81
82
  export { default as Label } from './Label';
82
83
  export type * from './Label/types';
83
84
  export { default as Indicator } from './Indicator';
package/dist/index.js CHANGED
@@ -7957,6 +7957,7 @@ __webpack_require__.d(__webpack_exports__, {
7957
7957
  Alert: () => (/* reexport */ Alert_Alert),
7958
7958
  AlertVariants: () => (/* reexport */ AlertVariants),
7959
7959
  Avatar: () => (/* reexport */ Avatar_Avatar),
7960
+ AvatarSizes: () => (/* reexport */ AvatarSizes),
7960
7961
  Badge: () => (/* reexport */ Badge_Badge),
7961
7962
  BarGaugeChart: () => (/* reexport */ BarGaugeChart),
7962
7963
  BarGaugeChartComponent: () => (/* reexport */ BarGaugeChartComponent),
@@ -17473,50 +17474,166 @@ const DropdownOptions = ({
17473
17474
  });
17474
17475
  };
17475
17476
  /* harmony default export */ const DropdownOptions_DropdownOptions = (DropdownOptions);
17477
+ ;// ./src/components/Avatar/types.ts
17478
+ let AvatarSizes = /*#__PURE__*/function (AvatarSizes) {
17479
+ AvatarSizes["small"] = "small";
17480
+ AvatarSizes["medium"] = "medium";
17481
+ AvatarSizes["large"] = "large";
17482
+ return AvatarSizes;
17483
+ }({});
17484
+
17485
+ /**
17486
+ * Props for the Avatar component.
17487
+ *
17488
+ * Display priority:
17489
+ * 1. `image` — renders the supplied URL as a circular photo.
17490
+ * 2. `color` / `text` — renders a colored placeholder circle with up to two letters.
17491
+ * 3. No props (or only `size`) — renders the default user-icon placeholder.
17492
+ *
17493
+ * @example
17494
+ * ```tsx
17495
+ * // Standard color + initial letter
17496
+ * <Avatar color="purple" text="J" />
17497
+ *
17498
+ * // Custom profile photo
17499
+ * <Avatar image="/users/jane.jpg" />
17500
+ *
17501
+ * // Default placeholder
17502
+ * <Avatar />
17503
+ *
17504
+ * // User-defined hex color and letter
17505
+ * <Avatar color="#F7931A" text="A" />
17506
+ * ```
17507
+ */
17508
+ ;// ./src/components/Avatar/styles.ts
17509
+
17510
+ const AvatarContainer = /*#__PURE__*/base_default()("div", true ? {
17511
+ target: "e1w4ysav1"
17512
+ } : 0)("display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;overflow:hidden;width:", ({
17513
+ size
17514
+ }) => size, "px;height:", ({
17515
+ size
17516
+ }) => size, "px;" + ( true ? "" : 0));
17517
+ const AvatarText = /*#__PURE__*/base_default()("span", true ? {
17518
+ target: "e1w4ysav0"
17519
+ } : 0)("color:rgba(255, 255, 255, 1);font-family:Manrope,sans-serif;font-weight:600;font-size:", ({
17520
+ fontSize
17521
+ }) => fontSize, "px;line-height:1;user-select:none;text-transform:uppercase;" + ( true ? "" : 0));
17476
17522
  ;// ./src/components/Avatar/Avatar.tsx
17477
17523
 
17524
+
17525
+
17526
+
17527
+
17528
+ const SIZE_MAP = {
17529
+ [AvatarSizes.small]: 24,
17530
+ [AvatarSizes.medium]: 32,
17531
+ [AvatarSizes.large]: 46
17532
+ };
17533
+ const BORDER_WIDTH_MAP = {
17534
+ small: 1,
17535
+ medium: 1,
17536
+ large: 2
17537
+ };
17538
+
17539
+ /** Proportion of the avatar diameter used as the initials font-size. */
17540
+ const TEXT_SIZE_RATIO = 0.4;
17541
+
17542
+ /** Proportion of the avatar diameter used as the default icon size. */
17543
+ const ICON_SIZE_RATIO = 0.75;
17544
+ const DEFAULT_BORDER_COLOR = 'blue';
17545
+ const resolveThemeColor = (color, themeColors) => {
17546
+ if (!color) return undefined;
17547
+ if (color in themeColors) {
17548
+ return themeColors[color];
17549
+ }
17550
+ return color;
17551
+ };
17552
+
17478
17553
  /**
17479
- * Avatar - Circular image component for user profiles
17554
+ * Avatar - Circular component for displaying user identity.
17480
17555
  *
17481
- * A simple circular avatar component that displays an image with customizable size.
17482
- * The image is displayed with a circular border-radius and centered within the container.
17556
+ * Renders one of three visual states based on the supplied props:
17557
+ * 1. **Custom image** when `image` is provided, displays the photo inside a circle.
17558
+ * 2. **Colored placeholder** — when `color` and/or `text` are provided, renders a
17559
+ * flat-color circle with up to two initials.
17560
+ * 3. **Default placeholder** — when no props are given, shows the standard user icon.
17483
17561
  *
17484
17562
  * @category Components
17485
17563
  * @subcategory Display
17486
17564
  *
17487
17565
  * @example
17488
17566
  * ```tsx
17489
- * // Basic avatar
17490
- * <Avatar size={40} image="/path/to/avatar.jpg" />
17567
+ * // Standard color + initial letter
17568
+ * <Avatar color="purple" text="J" />
17491
17569
  * ```
17492
17570
  *
17493
17571
  * @example
17494
17572
  * ```tsx
17495
- * // Large avatar
17496
- * <Avatar size={100} image={user.avatarUrl} />
17573
+ * // Custom profile photo
17574
+ * <Avatar image="/users/jane.jpg" />
17497
17575
  * ```
17498
17576
  *
17499
17577
  * @example
17500
17578
  * ```tsx
17501
- * // Avatar with custom styling
17502
- * <Avatar
17503
- * size={60}
17504
- * image="/avatar.png"
17505
- * css={{ border: '2px solid blue' }}
17506
- * />
17579
+ * // Default placeholder (no props)
17580
+ * <Avatar />
17507
17581
  * ```
17508
17582
  *
17509
- * @see {@link UserProfile} - For complete user profile display with avatar
17583
+ * @example
17584
+ * ```tsx
17585
+ * // User-defined hex color + letter
17586
+ * <Avatar color="#F7931A" text="A" />
17587
+ * ```
17588
+ *
17589
+ * @see {@link UserProfile} - For a complete user-profile panel that accepts Avatar as a trigger
17510
17590
  */
17511
- const Avatar = /*#__PURE__*/base_default()("div", true ? {
17512
- target: "e1gxdpq60"
17513
- } : 0)("border-radius:100px;overflow:hidden;width:", ({
17514
- size
17515
- }) => size, "px;height:", ({
17516
- size
17517
- }) => size, "px;background:", ({
17518
- image
17519
- }) => `url(${image})`, " center/contain no-repeat;" + ( true ? "" : 0));
17591
+ const Avatar = ({
17592
+ size = AvatarSizes.medium,
17593
+ color,
17594
+ text,
17595
+ image,
17596
+ border,
17597
+ borderColor,
17598
+ css
17599
+ }) => {
17600
+ const theme = (0,react_namespaceObject.useTheme)();
17601
+ const sizePx = SIZE_MAP[size];
17602
+ const shouldShowBorder = border ?? Boolean(image);
17603
+ const resolvedBorderColor = resolveThemeColor(borderColor ?? DEFAULT_BORDER_COLOR, theme.colors) ?? theme.colors.blue;
17604
+ const borderStyle = shouldShowBorder ? {
17605
+ border: `${BORDER_WIDTH_MAP[size]}px solid ${resolvedBorderColor}`
17606
+ } : undefined;
17607
+
17608
+ // ── Scenario 3: custom profile image ──────────────────────────────────────
17609
+
17610
+ if (image) {
17611
+ return (0,jsx_runtime_namespaceObject.jsx)(AvatarContainer, {
17612
+ size: sizePx,
17613
+ css: [{
17614
+ background: `url(${image}) center / cover no-repeat`
17615
+ }, borderStyle, css, true ? "" : 0, true ? "" : 0],
17616
+ "data-testid": "avatar"
17617
+ });
17618
+ }
17619
+ const resolvedColor = resolveThemeColor(color, theme.colors) ?? theme.colors.greyFocused;
17620
+ const fontSize = Math.round(sizePx * TEXT_SIZE_RATIO);
17621
+ return (0,jsx_runtime_namespaceObject.jsx)(AvatarContainer, {
17622
+ size: sizePx,
17623
+ css: [{
17624
+ background: resolvedColor
17625
+ }, borderStyle, css, true ? "" : 0, true ? "" : 0],
17626
+ "data-testid": "avatar",
17627
+ children: text ? (0,jsx_runtime_namespaceObject.jsx)(AvatarText, {
17628
+ fontSize: fontSize,
17629
+ children: text.slice(0, 2)
17630
+ }) : (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
17631
+ name: "user",
17632
+ size: Math.round(sizePx * ICON_SIZE_RATIO),
17633
+ color: theme.colors.white
17634
+ })
17635
+ });
17636
+ };
17520
17637
  /* harmony default export */ const Avatar_Avatar = (Avatar);
17521
17638
  ;// ./src/components/Dropdown/types.ts
17522
17639
  let DropdownPositions = /*#__PURE__*/function (DropdownPositions) {
@@ -17705,6 +17822,7 @@ const Dropdown = ({
17705
17822
  className,
17706
17823
  placeholder = 'Select something',
17707
17824
  maxHeight = 200,
17825
+ avatarBorder = false,
17708
17826
  dropdownProps: componentProps
17709
17827
  }) => {
17710
17828
  const {
@@ -17784,8 +17902,9 @@ const Dropdown = ({
17784
17902
  const value = activeItem ? activeItem.label || activeItem.children || activeItem.value || activeItem || placeholder : placeholder;
17785
17903
  const rawAvatar = activeItem && activeItem.avatar;
17786
17904
  const selectedAvatar = rawAvatar != null ? typeof rawAvatar === 'string' ? (0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
17787
- size: 20,
17788
- image: rawAvatar
17905
+ size: AvatarSizes.small,
17906
+ image: rawAvatar,
17907
+ border: avatarBorder
17789
17908
  }) : /*#__PURE__*/external_react_default().isValidElement(rawAvatar) ? rawAvatar : null : null;
17790
17909
  const toggleContent = selectedAvatar != null ? (0,jsx_runtime_namespaceObject.jsxs)(SelectedContent, {
17791
17910
  children: [selectedAvatar, (0,jsx_runtime_namespaceObject.jsx)("span", {
@@ -27366,7 +27485,8 @@ const RadioWidget = props => {
27366
27485
  });
27367
27486
  };
27368
27487
  ;// ./src/components/JsonSchemaForm/constants.ts
27369
- const DEFAULT_AVATAR_SIZE = 24;
27488
+
27489
+ const DEFAULT_AVATAR_SIZE = AvatarSizes.small;
27370
27490
  ;// ./src/components/JsonSchemaForm/utils/selectWidget.ts
27371
27491
  /**
27372
27492
  * Props that need special handling (computed from RJSF state) or are RJSF-controlled
@@ -27403,9 +27523,11 @@ const getAvatarNode = (option, uiOptions) => {
27403
27523
  const avatar = option.schema?.avatar;
27404
27524
  if (!avatar) return;
27405
27525
  const avatarSize = uiOptions.typeaheadAvatarSize ?? DEFAULT_AVATAR_SIZE;
27526
+ const avatarBorder = uiOptions.typeaheadAvatarBorder ?? false;
27406
27527
  return (0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
27407
27528
  size: avatarSize,
27408
- image: avatar
27529
+ image: avatar,
27530
+ border: avatarBorder
27409
27531
  });
27410
27532
  };
27411
27533
  const SelectWidget = props => {
@@ -48369,6 +48491,7 @@ function ImageItem_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to
48369
48491
 
48370
48492
 
48371
48493
 
48494
+
48372
48495
  var ImageItem_ref = true ? {
48373
48496
  name: "c5ejfv",
48374
48497
  styles: "gap:8px;text-decoration:none"
@@ -48376,7 +48499,8 @@ var ImageItem_ref = true ? {
48376
48499
  const ImageItem = ({
48377
48500
  children,
48378
48501
  image,
48379
- avatarSize = 24,
48502
+ avatarSize = AvatarSizes.small,
48503
+ avatarBorder = false,
48380
48504
  link = '',
48381
48505
  openLinkInNewTab = false,
48382
48506
  className
@@ -48394,7 +48518,8 @@ const ImageItem = ({
48394
48518
  ...additionalProps,
48395
48519
  children: [(0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
48396
48520
  size: avatarSize,
48397
- image: image
48521
+ image: image,
48522
+ border: avatarBorder
48398
48523
  }), (0,jsx_runtime_namespaceObject.jsx)("span", {
48399
48524
  css: /*#__PURE__*/(0,react_namespaceObject.css)({
48400
48525
  color: theme.colors.greyDarker,
@@ -53606,7 +53731,8 @@ const PersonInfoAvatar = ({
53606
53731
  value,
53607
53732
  styles,
53608
53733
  link,
53609
- openLinkInNewTab
53734
+ openLinkInNewTab,
53735
+ avatarBorder = false
53610
53736
  }) => {
53611
53737
  const hasAvatar = Boolean(avatar);
53612
53738
  const hasValue = Boolean(value);
@@ -53625,8 +53751,9 @@ const PersonInfoAvatar = ({
53625
53751
  css: isLink ? avatarWrapperLinkStyles : undefined,
53626
53752
  ...linkAttributes,
53627
53753
  children: [(0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
53628
- size: 24,
53629
- image: avatar
53754
+ size: AvatarSizes.small,
53755
+ image: avatar,
53756
+ border: avatarBorder
53630
53757
  }), valueNode]
53631
53758
  });
53632
53759
  };
@@ -53824,6 +53951,7 @@ const PersonInfo = /*#__PURE__*/external_react_default().forwardRef(function Per
53824
53951
  className,
53825
53952
  link,
53826
53953
  openLinkInNewTab,
53954
+ avatarBorder,
53827
53955
  ...props
53828
53956
  }, ref) {
53829
53957
  return (0,jsx_runtime_namespaceObject.jsx)(PersonInfoBase, {
@@ -53843,7 +53971,8 @@ const PersonInfo = /*#__PURE__*/external_react_default().forwardRef(function Per
53843
53971
  value: value,
53844
53972
  styles: styles,
53845
53973
  link: link,
53846
- openLinkInNewTab: openLinkInNewTab
53974
+ openLinkInNewTab: openLinkInNewTab,
53975
+ avatarBorder: avatarBorder
53847
53976
  }), counterTooltip && (0,jsx_runtime_namespaceObject.jsx)(PersonInfoCounter, {
53848
53977
  counterTooltip: counterTooltip,
53849
53978
  css: styles?.counter
@@ -54153,6 +54282,7 @@ const UserProfile = ({
54153
54282
 
54154
54283
 
54155
54284
 
54285
+
54156
54286
 
54157
54287
 
54158
54288
  // ============================================================================