@fluentui/react-avatar 9.0.0-nightly.f81b28ceb3.1 → 9.0.0-rc.1

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.
Files changed (48) hide show
  1. package/CHANGELOG.json +373 -20
  2. package/CHANGELOG.md +79 -12
  3. package/dist/react-avatar.d.ts +46 -36
  4. package/lib/components/Avatar/Avatar.js +7 -7
  5. package/lib/components/Avatar/Avatar.js.map +1 -1
  6. package/lib/components/Avatar/Avatar.types.d.ts +27 -32
  7. package/lib/components/Avatar/renderAvatar.d.ts +1 -1
  8. package/lib/components/Avatar/renderAvatar.js +11 -7
  9. package/lib/components/Avatar/renderAvatar.js.map +1 -1
  10. package/lib/components/Avatar/useAvatar.d.ts +1 -1
  11. package/lib/components/Avatar/useAvatar.js +103 -86
  12. package/lib/components/Avatar/useAvatar.js.map +1 -1
  13. package/lib/components/Avatar/useAvatarStyles.d.ts +2 -1
  14. package/lib/components/Avatar/useAvatarStyles.js +160 -102
  15. package/lib/components/Avatar/useAvatarStyles.js.map +1 -1
  16. package/lib/index.d.ts +1 -0
  17. package/lib/index.js +1 -0
  18. package/lib/index.js.map +1 -1
  19. package/lib/utils/getInitials.d.ts +6 -1
  20. package/lib/utils/getInitials.js +13 -8
  21. package/lib/utils/getInitials.js.map +1 -1
  22. package/lib-commonjs/Avatar.js +1 -1
  23. package/lib-commonjs/components/Avatar/Avatar.js +8 -8
  24. package/lib-commonjs/components/Avatar/Avatar.js.map +1 -1
  25. package/lib-commonjs/components/Avatar/Avatar.types.d.ts +27 -32
  26. package/lib-commonjs/components/Avatar/index.js +1 -1
  27. package/lib-commonjs/components/Avatar/renderAvatar.d.ts +1 -1
  28. package/lib-commonjs/components/Avatar/renderAvatar.js +15 -12
  29. package/lib-commonjs/components/Avatar/renderAvatar.js.map +1 -1
  30. package/lib-commonjs/components/Avatar/useAvatar.d.ts +1 -1
  31. package/lib-commonjs/components/Avatar/useAvatar.js +109 -93
  32. package/lib-commonjs/components/Avatar/useAvatar.js.map +1 -1
  33. package/lib-commonjs/components/Avatar/useAvatarStyles.d.ts +2 -1
  34. package/lib-commonjs/components/Avatar/useAvatarStyles.js +165 -107
  35. package/lib-commonjs/components/Avatar/useAvatarStyles.js.map +1 -1
  36. package/lib-commonjs/index.d.ts +1 -0
  37. package/lib-commonjs/index.js +3 -1
  38. package/lib-commonjs/index.js.map +1 -1
  39. package/lib-commonjs/utils/getInitials.d.ts +6 -1
  40. package/lib-commonjs/utils/getInitials.js +13 -8
  41. package/lib-commonjs/utils/getInitials.js.map +1 -1
  42. package/package.json +11 -13
  43. package/lib/common/isConformant.d.ts +0 -4
  44. package/lib/common/isConformant.js +0 -12
  45. package/lib/common/isConformant.js.map +0 -1
  46. package/lib-commonjs/common/isConformant.d.ts +0 -4
  47. package/lib-commonjs/common/isConformant.js +0 -23
  48. package/lib-commonjs/common/isConformant.js.map +0 -1
@@ -1,23 +1,22 @@
1
1
  import type { ComponentProps } from '@fluentui/react-utilities';
2
2
  import type { ComponentState } from '@fluentui/react-utilities';
3
3
  import type { ForwardRefComponent } from '@fluentui/react-utilities';
4
- import type { IntrinsicShorthandProps } from '@fluentui/react-utilities';
5
- import type { ObjectShorthandProps } from '@fluentui/react-utilities';
6
- import type { PresenceBadgeProps } from '@fluentui/react-badge';
4
+ import { PresenceBadge } from '@fluentui/react-badge';
7
5
  import * as React_2 from 'react';
8
- import type { ShorthandRenderFunction } from '@fluentui/react-utilities';
6
+ import type { Slot } from '@fluentui/react-utilities';
9
7
 
10
8
  export declare const Avatar: ForwardRefComponent<AvatarProps>;
11
9
 
12
- export declare type AvatarCommons = Omit<React_2.HTMLAttributes<HTMLElement>, 'children'> & {
13
- /**
14
- * The name used for displaying the initials of the avatar if the image is not provided
15
- */
16
- name: string;
10
+ export declare const avatarClassName = "fui-Avatar";
11
+
12
+ declare type AvatarCommons = {
17
13
  /**
18
- * Custom method for generating the initials from the name property, which is shown if no image is provided.
14
+ * The name of the person or entity represented by this Avatar. This should always be provided if it is available.
15
+ *
16
+ * The name will be used to determine the initials displayed when there is no icon, as well as provided to
17
+ * accessibility tools.
19
18
  */
20
- getInitials: (name: string, isRtl: boolean) => string;
19
+ name?: string;
21
20
  /**
22
21
  * Size of the avatar in pixels.
23
22
  *
@@ -52,7 +51,7 @@ export declare type AvatarCommons = Omit<React_2.HTMLAttributes<HTMLElement>, 'c
52
51
  *
53
52
  * @defaultvalue ring
54
53
  */
55
- activeAppearance: 'ring' | 'shadow' | 'glow' | 'ring-shadow' | 'ring-glow';
54
+ activeAppearance: 'ring' | 'shadow' | 'ring-shadow';
56
55
  /**
57
56
  * The color when displaying either an icon or initials.
58
57
  * * neutral (default): gray
@@ -78,39 +77,35 @@ export declare type AvatarNamedColor = 'darkRed' | 'cranberry' | 'red' | 'pumpki
78
77
  /**
79
78
  * Properties for Avatar
80
79
  */
81
- export declare type AvatarProps = Omit<ComponentProps<AvatarSlots>, 'image'> & Partial<AvatarCommons> & {
82
- /**
83
- * The Avatar's image. Cannot be typed as a normal slot since it should not accept any children
84
- * but can accept a children render function.
85
- */
86
- image?: Omit<IntrinsicShorthandProps<'img'>, 'children'> & {
87
- children?: ShorthandRenderFunction<React_2.HTMLAttributes<HTMLImageElement>>;
88
- };
89
- };
80
+ export declare type AvatarProps = Omit<ComponentProps<AvatarSlots>, 'color'> & Partial<AvatarCommons>;
90
81
 
91
82
  export declare type AvatarSlots = {
92
- root: Omit<IntrinsicShorthandProps<'span'>, 'color'> & {
93
- children?: never;
94
- };
83
+ root: Slot<'span'>;
95
84
  /**
96
- * This overidden in the component's props, it's only here to make `getSlots` work
97
- * `img` is an exception since it should never accept children, but can accept a children render function
85
+ * The Avatar's image.
86
+ *
87
+ * Usage e.g.: `image={{ src: '...' }}`
98
88
  */
99
- image?: IntrinsicShorthandProps<'img'>;
89
+ image?: Slot<'img'>;
100
90
  /**
101
- * The label shown when there's no image. Defaults to the initials derived from `name` using `getInitials`.
91
+ * (optional) Custom initials.
92
+ *
93
+ * It is usually not necessary to specify custom initials; by default they will be derived from the `name` prop,
94
+ * using the `getInitials` function.
95
+ *
96
+ * The initials are displayed when there is no image (including while the image is loading).
102
97
  */
103
- label?: IntrinsicShorthandProps<'span'>;
98
+ initials?: Slot<'span'>;
104
99
  /**
105
- * Icon to be displayed when the avatar doesn't have an image or name (or if getInitials returns an empty string).
100
+ * Icon to be displayed when the avatar doesn't have an image or initials.
106
101
  *
107
- * @defaultvalue `Person20Regular` (the default icon's size depends on the Avatar's size)
102
+ * @defaultvalue `PersonRegular` (the default icon's size depends on the Avatar's size)
108
103
  */
109
- icon?: IntrinsicShorthandProps<'span'>;
104
+ icon?: Slot<'span'>;
110
105
  /**
111
106
  * Badge to show the avatar's presence status.
112
107
  */
113
- badge?: ObjectShorthandProps<PresenceBadgeProps>;
108
+ badge?: Slot<typeof PresenceBadge>;
114
109
  };
115
110
 
116
111
  /**
@@ -123,10 +118,25 @@ export declare type AvatarState = ComponentState<AvatarSlots> & AvatarCommons &
123
118
  color: Exclude<AvatarCommons['color'], 'colorful'>;
124
119
  };
125
120
 
126
- export declare const renderAvatar: (state: AvatarState) => JSX.Element;
121
+ /**
122
+ * Regular expressions matching characters to ignore when calculating the initials.
123
+ */
124
+ /**
125
+ * Get (up to 2 characters) initials based on display name of the persona.
126
+ *
127
+ * @param displayName - The full name of the person or entity
128
+ * @param isRtl - Whether the display is in RTL
129
+ * @param allowPhoneInitials - Should initials be generated from phone numbers (default false)
130
+ *
131
+ * @returns The 1 or 2 character initials based on the name. Or an empty string if no initials
132
+ * could be derived from the name.
133
+ */
134
+ export declare function getInitials(displayName: string | undefined | null, isRtl: boolean, allowPhoneInitials?: boolean): string;
135
+
136
+ export declare const renderAvatar_unstable: (state: AvatarState) => JSX.Element;
127
137
 
128
- export declare const useAvatar: (props: AvatarProps, ref: React_2.Ref<HTMLElement>) => AvatarState;
138
+ export declare const useAvatar_unstable: (props: AvatarProps, ref: React_2.Ref<HTMLElement>) => AvatarState;
129
139
 
130
- export declare const useAvatarStyles: (state: AvatarState) => AvatarState;
140
+ export declare const useAvatarStyles_unstable: (state: AvatarState) => AvatarState;
131
141
 
132
142
  export { }
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
- import { renderAvatar } from './renderAvatar';
3
- import { useAvatar } from './useAvatar';
4
- import { useAvatarStyles } from './useAvatarStyles';
5
- export var Avatar = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
- var state = useAvatar(props, ref);
7
- useAvatarStyles(state);
8
- return renderAvatar(state);
2
+ import { renderAvatar_unstable } from './renderAvatar';
3
+ import { useAvatar_unstable } from './useAvatar';
4
+ import { useAvatarStyles_unstable } from './useAvatarStyles';
5
+ export const Avatar = /*#__PURE__*/React.forwardRef((props, ref) => {
6
+ const state = useAvatar_unstable(props, ref);
7
+ useAvatarStyles_unstable(state);
8
+ return renderAvatar_unstable(state);
9
9
  });
10
10
  Avatar.displayName = 'Avatar';
11
11
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,YAAT,QAA6B,gBAA7B;AACA,SAAS,SAAT,QAA0B,aAA1B;AACA,SAAS,eAAT,QAAgC,mBAAhC;AAIA,OAAO,IAAM,MAAM,gBAAqC,KAAK,CAAC,UAAN,CAAiB,UAAC,KAAD,EAAQ,GAAR,EAAW;AAClF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAD,EAAQ,GAAR,CAAvB;AAEA,EAAA,eAAe,CAAC,KAAD,CAAf;AAEA,SAAO,YAAY,CAAC,KAAD,CAAnB;AACD,CANuD,CAAjD;AAQP,MAAM,CAAC,WAAP,GAAqB,QAArB","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,QAAsC,gBAAtC;AACA,SAAS,kBAAT,QAAmC,aAAnC;AACA,SAAS,wBAAT,QAAyC,mBAAzC;AAIA,OAAO,MAAM,MAAM,gBAAqC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtF,QAAM,KAAK,GAAG,kBAAkB,CAAC,KAAD,EAAQ,GAAR,CAAhC;AAEA,EAAA,wBAAwB,CAAC,KAAD,CAAxB;AAEA,SAAO,qBAAqB,CAAC,KAAD,CAA5B;AACD,CANuD,CAAjD;AAQP,MAAM,CAAC,WAAP,GAAqB,QAArB","sourceRoot":""}
@@ -1,39 +1,41 @@
1
- import * as React from 'react';
2
- import type { ComponentProps, ComponentState, IntrinsicShorthandProps, ObjectShorthandProps, ShorthandRenderFunction } from '@fluentui/react-utilities';
3
- import type { PresenceBadgeProps } from '@fluentui/react-badge';
1
+ import { PresenceBadge } from '@fluentui/react-badge';
2
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
4
3
  export declare type AvatarSlots = {
5
- root: Omit<IntrinsicShorthandProps<'span'>, 'color'> & {
6
- children?: never;
7
- };
4
+ root: Slot<'span'>;
8
5
  /**
9
- * This overidden in the component's props, it's only here to make `getSlots` work
10
- * `img` is an exception since it should never accept children, but can accept a children render function
6
+ * The Avatar's image.
7
+ *
8
+ * Usage e.g.: `image={{ src: '...' }}`
11
9
  */
12
- image?: IntrinsicShorthandProps<'img'>;
10
+ image?: Slot<'img'>;
13
11
  /**
14
- * The label shown when there's no image. Defaults to the initials derived from `name` using `getInitials`.
12
+ * (optional) Custom initials.
13
+ *
14
+ * It is usually not necessary to specify custom initials; by default they will be derived from the `name` prop,
15
+ * using the `getInitials` function.
16
+ *
17
+ * The initials are displayed when there is no image (including while the image is loading).
15
18
  */
16
- label?: IntrinsicShorthandProps<'span'>;
19
+ initials?: Slot<'span'>;
17
20
  /**
18
- * Icon to be displayed when the avatar doesn't have an image or name (or if getInitials returns an empty string).
21
+ * Icon to be displayed when the avatar doesn't have an image or initials.
19
22
  *
20
- * @defaultvalue `Person20Regular` (the default icon's size depends on the Avatar's size)
23
+ * @defaultvalue `PersonRegular` (the default icon's size depends on the Avatar's size)
21
24
  */
22
- icon?: IntrinsicShorthandProps<'span'>;
25
+ icon?: Slot<'span'>;
23
26
  /**
24
27
  * Badge to show the avatar's presence status.
25
28
  */
26
- badge?: ObjectShorthandProps<PresenceBadgeProps>;
29
+ badge?: Slot<typeof PresenceBadge>;
27
30
  };
28
- export declare type AvatarCommons = Omit<React.HTMLAttributes<HTMLElement>, 'children'> & {
29
- /**
30
- * The name used for displaying the initials of the avatar if the image is not provided
31
- */
32
- name: string;
31
+ declare type AvatarCommons = {
33
32
  /**
34
- * Custom method for generating the initials from the name property, which is shown if no image is provided.
33
+ * The name of the person or entity represented by this Avatar. This should always be provided if it is available.
34
+ *
35
+ * The name will be used to determine the initials displayed when there is no icon, as well as provided to
36
+ * accessibility tools.
35
37
  */
36
- getInitials: (name: string, isRtl: boolean) => string;
38
+ name?: string;
37
39
  /**
38
40
  * Size of the avatar in pixels.
39
41
  *
@@ -68,7 +70,7 @@ export declare type AvatarCommons = Omit<React.HTMLAttributes<HTMLElement>, 'chi
68
70
  *
69
71
  * @defaultvalue ring
70
72
  */
71
- activeAppearance: 'ring' | 'shadow' | 'glow' | 'ring-shadow' | 'ring-glow';
73
+ activeAppearance: 'ring' | 'shadow' | 'ring-shadow';
72
74
  /**
73
75
  * The color when displaying either an icon or initials.
74
76
  * * neutral (default): gray
@@ -92,15 +94,7 @@ export declare type AvatarNamedColor = 'darkRed' | 'cranberry' | 'red' | 'pumpki
92
94
  /**
93
95
  * Properties for Avatar
94
96
  */
95
- export declare type AvatarProps = Omit<ComponentProps<AvatarSlots>, 'image'> & Partial<AvatarCommons> & {
96
- /**
97
- * The Avatar's image. Cannot be typed as a normal slot since it should not accept any children
98
- * but can accept a children render function.
99
- */
100
- image?: Omit<IntrinsicShorthandProps<'img'>, 'children'> & {
101
- children?: ShorthandRenderFunction<React.HTMLAttributes<HTMLImageElement>>;
102
- };
103
- };
97
+ export declare type AvatarProps = Omit<ComponentProps<AvatarSlots>, 'color'> & Partial<AvatarCommons>;
104
98
  /**
105
99
  * State used in rendering Avatar
106
100
  */
@@ -110,3 +104,4 @@ export declare type AvatarState = ComponentState<AvatarSlots> & AvatarCommons &
110
104
  */
111
105
  color: Exclude<AvatarCommons['color'], 'colorful'>;
112
106
  };
107
+ export {};
@@ -1,2 +1,2 @@
1
1
  import type { AvatarState } from './Avatar.types';
2
- export declare const renderAvatar: (state: AvatarState) => JSX.Element;
2
+ export declare const renderAvatar_unstable: (state: AvatarState) => JSX.Element;
@@ -1,11 +1,15 @@
1
- import { __assign } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { getSlots } from '@fluentui/react-utilities';
4
- export var renderAvatar = function (state) {
5
- var _a = getSlots(state, ['root', 'label', 'image', 'badge', 'icon']),
6
- slots = _a.slots,
7
- slotProps = _a.slotProps;
8
-
9
- return /*#__PURE__*/React.createElement(slots.root, __assign({}, slotProps.root), /*#__PURE__*/React.createElement(slots.label, __assign({}, slotProps.label)), /*#__PURE__*/React.createElement(slots.icon, __assign({}, slotProps.icon)), /*#__PURE__*/React.createElement(slots.image, __assign({}, slotProps.image)), /*#__PURE__*/React.createElement(slots.badge, __assign({}, slotProps.badge)));
3
+ export const renderAvatar_unstable = state => {
4
+ const {
5
+ slots,
6
+ slotProps
7
+ } = getSlots(state);
8
+ return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
9
+ }, slots.initials && /*#__PURE__*/React.createElement(slots.initials, { ...slotProps.initials
10
+ }), slots.icon && /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
11
+ }), slots.image && /*#__PURE__*/React.createElement(slots.image, { ...slotProps.image
12
+ }), slots.badge && /*#__PURE__*/React.createElement(slots.badge, { ...slotProps.badge
13
+ }));
10
14
  };
11
15
  //# sourceMappingURL=renderAvatar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Avatar/renderAvatar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA,OAAO,IAAM,YAAY,GAAG,UAAC,KAAD,EAAmB;AACvC,MAAA,EAAA,GAAuB,QAAQ,CAAc,KAAd,EAAqB,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,EAA2B,OAA3B,EAAoC,MAApC,CAArB,CAA/B;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AAEN,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,KAAP,EAAY,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,KAAf,CAAZ,CADF,eAEE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,CAFF,eAGE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,KAAP,EAAY,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,KAAf,CAAZ,CAHF,eAIE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,KAAP,EAAY,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,KAAf,CAAZ,CAJF,CADF;AAQD,CAXM","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Avatar/renderAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA,OAAO,MAAM,qBAAqB,GAAI,KAAD,IAAuB;AAC1D,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAc,KAAd,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,KAAK,CAAC,QAAN,iBAAkB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAP,EAAe,EAAA,GAAK,SAAS,CAAC;AAAf,GAAf,CADrB,EAEG,KAAK,CAAC,IAAN,iBAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAFjB,EAGG,KAAK,CAAC,KAAN,iBAAe,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,KAAP,EAAY,EAAA,GAAK,SAAS,CAAC;AAAf,GAAZ,CAHlB,EAIG,KAAK,CAAC,KAAN,iBAAe,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,KAAP,EAAY,EAAA,GAAK,SAAS,CAAC;AAAf,GAAZ,CAJlB,CADF;AAQD,CAXM","sourceRoot":""}
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  import type { AvatarProps, AvatarState } from './Avatar.types';
3
- export declare const useAvatar: (props: AvatarProps, ref: React.Ref<HTMLElement>) => AvatarState;
3
+ export declare const useAvatar_unstable: (props: AvatarProps, ref: React.Ref<HTMLElement>) => AvatarState;
@@ -1,100 +1,117 @@
1
- import { __assign } from "tslib";
2
1
  import * as React from 'react';
3
- import { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';
4
- import { getInitials as getInitialsDefault } from '../../utils/index';
5
- import { Person16Regular, Person20Regular, Person24Regular, Person28Regular, Person32Regular, Person48Regular } from '@fluentui/react-icons';
2
+ import { getNativeElementProps, resolveShorthand, useId } from '@fluentui/react-utilities';
3
+ import { getInitials } from '../../utils/index';
4
+ import { PersonRegular } from '@fluentui/react-icons';
6
5
  import { PresenceBadge } from '@fluentui/react-badge';
7
6
  import { useFluent } from '@fluentui/react-shared-contexts';
8
- export var useAvatar = function (props, ref) {
9
- var _a, _b, _c;
7
+ export const useAvatar_unstable = (props, ref) => {
8
+ var _a;
10
9
 
11
- var dir = useFluent().dir;
12
- var _d = props.name,
13
- name = _d === void 0 ? '' : _d,
14
- _e = props.size,
15
- size = _e === void 0 ? 32 : _e,
16
- _f = props.shape,
17
- shape = _f === void 0 ? 'circular' : _f,
18
- _g = props.active,
19
- active = _g === void 0 ? 'unset' : _g,
20
- _h = props.activeAppearance,
21
- activeAppearance = _h === void 0 ? 'ring' : _h,
22
- idForColor = props.idForColor,
23
- _j = props.getInitials,
24
- getInitials = _j === void 0 ? getInitialsDefault : _j;
25
- var _k = props.color,
26
- color = _k === void 0 ? 'neutral' : _k; // Resolve 'colorful' to a specific color name
10
+ const {
11
+ dir
12
+ } = useFluent();
13
+ const {
14
+ name,
15
+ size = 32,
16
+ shape = 'circular',
17
+ active = 'unset',
18
+ activeAppearance = 'ring',
19
+ idForColor
20
+ } = props;
21
+ let {
22
+ color = 'neutral'
23
+ } = props; // Resolve 'colorful' to a specific color name
27
24
 
28
25
  if (color === 'colorful') {
29
- color = avatarColors[getHashCode((_b = (_a = props.idForColor) !== null && _a !== void 0 ? _a : props.name) !== null && _b !== void 0 ? _b : '') % avatarColors.length];
26
+ color = avatarColors[getHashCode((_a = idForColor !== null && idForColor !== void 0 ? idForColor : name) !== null && _a !== void 0 ? _a : '') % avatarColors.length];
30
27
  }
31
28
 
32
- var state = {
33
- size: size,
34
- name: name,
35
- shape: shape,
36
- active: active,
37
- activeAppearance: activeAppearance,
38
- color: color,
39
- idForColor: idForColor,
40
- getInitials: getInitials,
41
- components: {
42
- root: 'span',
43
- label: 'span',
44
- icon: 'span',
45
- image: 'img',
46
- badge: PresenceBadge
47
- },
48
- root: getNativeElementProps('span', __assign(__assign({}, props), {
49
- ref: ref
50
- })),
51
- label: resolveShorthand(props.label),
52
- icon: undefined,
53
- image: resolveShorthand(props.image),
54
- badge: resolveShorthand(props.badge, {
29
+ const baseId = useId('avatar-');
30
+ const root = getNativeElementProps('span', {
31
+ role: 'img',
32
+ id: baseId,
33
+ // aria-label and/or aria-labelledby are resolved below
34
+ ...props,
35
+ ref
36
+ },
37
+ /* excludedPropNames: */
38
+ ['name']); // Resolve the initials slot, defaulted to getInitials.
39
+
40
+ let initials = resolveShorthand(props.initials, {
41
+ required: true,
42
+ defaultProps: {
43
+ children: getInitials(name, dir === 'rtl'),
44
+ 'aria-hidden': true
45
+ }
46
+ }); // Render the icon slot *only if* there aren't any initials to display.
47
+
48
+ let icon = undefined;
49
+
50
+ if (!(initials === null || initials === void 0 ? void 0 : initials.children)) {
51
+ initials = undefined;
52
+ icon = resolveShorthand(props.icon, {
53
+ required: true,
55
54
  defaultProps: {
56
- size: getBadgeSize(size)
55
+ children: /*#__PURE__*/React.createElement(PersonRegular, null),
56
+ 'aria-hidden': true,
57
+ id: baseId + '__initials'
57
58
  }
58
- })
59
- }; // If a label was not provided, use the initials and fall back to the icon if initials aren't available
60
-
61
- if (!((_c = state.label) === null || _c === void 0 ? void 0 : _c.children)) {
62
- var initials = state.getInitials(state.name, dir === 'rtl');
59
+ });
60
+ }
63
61
 
64
- if (initials) {
65
- state.label = __assign(__assign({}, state.label), {
66
- children: initials
67
- });
68
- } else {
69
- state.icon = resolveShorthand(props.icon, {
70
- required: true,
71
- defaultProps: {
72
- children: getDefaultIcon(state.size)
73
- }
74
- });
62
+ const image = resolveShorthand(props.image, {
63
+ defaultProps: {
64
+ alt: '',
65
+ role: 'presentation',
66
+ 'aria-hidden': true
75
67
  }
76
- }
68
+ });
69
+ const badge = resolveShorthand(props.badge, {
70
+ defaultProps: {
71
+ size: getBadgeSize(size),
72
+ role: 'presentation',
73
+ 'aria-hidden': true,
74
+ id: baseId + '__badge'
75
+ }
76
+ }); // Resolve aria-label and/or aria-labelledby if not provided by the user
77
77
 
78
- return state;
79
- };
78
+ if (!root['aria-label'] && !root['aria-labelledby']) {
79
+ if (name) {
80
+ root['aria-label'] = name; // Include the badge in labelledby if it exists
80
81
 
81
- var getDefaultIcon = function (size) {
82
- if (size <= 24) {
83
- return /*#__PURE__*/React.createElement(Person16Regular, null);
84
- } else if (size <= 40) {
85
- return /*#__PURE__*/React.createElement(Person20Regular, null);
86
- } else if (size <= 48) {
87
- return /*#__PURE__*/React.createElement(Person24Regular, null);
88
- } else if (size <= 56) {
89
- return /*#__PURE__*/React.createElement(Person28Regular, null);
90
- } else if (size <= 72) {
91
- return /*#__PURE__*/React.createElement(Person32Regular, null);
92
- } else {
93
- return /*#__PURE__*/React.createElement(Person48Regular, null);
82
+ if (badge) {
83
+ root['aria-labelledby'] = root.id + ' ' + badge.id;
84
+ }
85
+ } else if (initials) {
86
+ // root's aria-label should be the name, but fall back to being labelledby the initials if name is missing
87
+ root['aria-labelledby'] = initials.id + (badge ? ' ' + badge.id : '');
88
+ }
94
89
  }
90
+
91
+ return {
92
+ size,
93
+ name,
94
+ shape,
95
+ active,
96
+ activeAppearance,
97
+ color,
98
+ idForColor,
99
+ components: {
100
+ root: 'span',
101
+ initials: 'span',
102
+ icon: 'span',
103
+ image: 'img',
104
+ badge: PresenceBadge
105
+ },
106
+ root,
107
+ initials,
108
+ icon,
109
+ image,
110
+ badge
111
+ };
95
112
  };
96
113
 
97
- var getBadgeSize = function (size) {
114
+ const getBadgeSize = size => {
98
115
  if (size >= 96) {
99
116
  return 'extra-large';
100
117
  } else if (size >= 64) {
@@ -110,14 +127,14 @@ var getBadgeSize = function (size) {
110
127
  }
111
128
  };
112
129
 
113
- var avatarColors = ['darkRed', 'cranberry', 'red', 'pumpkin', 'peach', 'marigold', 'gold', 'brass', 'brown', 'forest', 'seafoam', 'darkGreen', 'lightTeal', 'teal', 'steel', 'blue', 'royalBlue', 'cornflower', 'navy', 'lavender', 'purple', 'grape', 'lilac', 'pink', 'magenta', 'plum', 'beige', 'mink', 'platinum', 'anchor'];
130
+ const avatarColors = ['darkRed', 'cranberry', 'red', 'pumpkin', 'peach', 'marigold', 'gold', 'brass', 'brown', 'forest', 'seafoam', 'darkGreen', 'lightTeal', 'teal', 'steel', 'blue', 'royalBlue', 'cornflower', 'navy', 'lavender', 'purple', 'grape', 'lilac', 'pink', 'magenta', 'plum', 'beige', 'mink', 'platinum', 'anchor'];
114
131
 
115
- var getHashCode = function (str) {
116
- var hashCode = 0;
132
+ const getHashCode = str => {
133
+ let hashCode = 0;
117
134
 
118
- for (var len = str.length - 1; len >= 0; len--) {
119
- var ch = str.charCodeAt(len);
120
- var shift = len % 8;
135
+ for (let len = str.length - 1; len >= 0; len--) {
136
+ const ch = str.charCodeAt(len);
137
+ const shift = len % 8;
121
138
  hashCode ^= (ch << shift) + (ch >> 8 - shift); // eslint-disable-line no-bitwise
122
139
  }
123
140
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Avatar/useAvatar.tsx"],"names":[],"mappings":"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","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Avatar/useAvatar.tsx"],"names":[],"mappings":"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","sourceRoot":""}
@@ -1,2 +1,3 @@
1
1
  import type { AvatarState } from './Avatar.types';
2
- export declare const useAvatarStyles: (state: AvatarState) => AvatarState;
2
+ export declare const avatarClassName = "fui-Avatar";
3
+ export declare const useAvatarStyles_unstable: (state: AvatarState) => AvatarState;