@fluentui-react-native/experimental-avatar 0.14.40 → 0.14.43

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 (53) hide show
  1. package/CHANGELOG.json +58 -1
  2. package/CHANGELOG.md +28 -2
  3. package/FRNAvatar.podspec +0 -2
  4. package/lib/JSAvatar.js +1 -1
  5. package/lib/JSAvatar.js.map +1 -1
  6. package/lib/JSAvatarTokens.win32.d.ts.map +1 -1
  7. package/lib/JSAvatarTokens.win32.js +1 -0
  8. package/lib/JSAvatarTokens.win32.js.map +1 -1
  9. package/lib/useAvatar.d.ts +3 -5
  10. package/lib/useAvatar.d.ts.map +1 -1
  11. package/lib/useAvatar.js +22 -13
  12. package/lib/useAvatar.js.map +1 -1
  13. package/lib-commonjs/JSAvatar.js +1 -1
  14. package/lib-commonjs/JSAvatar.js.map +1 -1
  15. package/lib-commonjs/JSAvatarTokens.win32.d.ts.map +1 -1
  16. package/lib-commonjs/JSAvatarTokens.win32.js +1 -0
  17. package/lib-commonjs/JSAvatarTokens.win32.js.map +1 -1
  18. package/lib-commonjs/useAvatar.d.ts +3 -5
  19. package/lib-commonjs/useAvatar.d.ts.map +1 -1
  20. package/lib-commonjs/useAvatar.js +24 -15
  21. package/lib-commonjs/useAvatar.js.map +1 -1
  22. package/package.json +2 -2
  23. package/src/JSAvatar.tsx +1 -1
  24. package/src/JSAvatarTokens.win32.ts +1 -0
  25. package/src/__tests__/JSAvatar.test.jsx +48 -77
  26. package/src/useAvatar.ts +25 -13
  27. package/lib/utils/getInitials.d.ts +0 -15
  28. package/lib/utils/getInitials.d.ts.map +0 -1
  29. package/lib/utils/getInitials.js +0 -78
  30. package/lib/utils/getInitials.js.map +0 -1
  31. package/lib/utils/getInitials.test.d.ts +0 -2
  32. package/lib/utils/getInitials.test.d.ts.map +0 -1
  33. package/lib/utils/getInitials.test.js +0 -116
  34. package/lib/utils/getInitials.test.js.map +0 -1
  35. package/lib/utils/index.d.ts +0 -2
  36. package/lib/utils/index.d.ts.map +0 -1
  37. package/lib/utils/index.js +0 -2
  38. package/lib/utils/index.js.map +0 -1
  39. package/lib-commonjs/utils/getInitials.d.ts +0 -15
  40. package/lib-commonjs/utils/getInitials.d.ts.map +0 -1
  41. package/lib-commonjs/utils/getInitials.js +0 -82
  42. package/lib-commonjs/utils/getInitials.js.map +0 -1
  43. package/lib-commonjs/utils/getInitials.test.d.ts +0 -2
  44. package/lib-commonjs/utils/getInitials.test.d.ts.map +0 -1
  45. package/lib-commonjs/utils/getInitials.test.js +0 -118
  46. package/lib-commonjs/utils/getInitials.test.js.map +0 -1
  47. package/lib-commonjs/utils/index.d.ts +0 -2
  48. package/lib-commonjs/utils/index.d.ts.map +0 -1
  49. package/lib-commonjs/utils/index.js +0 -6
  50. package/lib-commonjs/utils/index.js.map +0 -1
  51. package/src/utils/getInitials.test.ts +0 -154
  52. package/src/utils/getInitials.ts +0 -92
  53. package/src/utils/index.ts +0 -1
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var getInitials_1 = require("./getInitials");
4
- describe('getInitials', function () {
5
- it('handles null inputs', function () {
6
- var result = (0, getInitials_1.getInitials)(null, false);
7
- expect(result).toEqual('');
8
- result = (0, getInitials_1.getInitials)(undefined, false);
9
- expect(result).toEqual('');
10
- });
11
- it('calculates an expected initials in LTR', function () {
12
- var result = (0, getInitials_1.getInitials)('Kat Larrson', false);
13
- expect(result).toEqual('KL');
14
- });
15
- it('calculates an expected initials in LTR for non-ASCII characters', function () {
16
- var result = (0, getInitials_1.getInitials)('Írissa Þórðardóttir', false);
17
- expect(result).toEqual('ÍÞ');
18
- result = (0, getInitials_1.getInitials)('Øyvind Åsen', false);
19
- expect(result).toEqual('ØÅ');
20
- });
21
- it('calculates an expected initials in LTR with a hypen', function () {
22
- var result = (0, getInitials_1.getInitials)('David Zearing-Goff', false);
23
- expect(result).toEqual('DZ');
24
- });
25
- it('calculates an expected initials in LTR with numbers', function () {
26
- var result = (0, getInitials_1.getInitials)('4lex 5loo', false);
27
- expect(result).toEqual('45');
28
- });
29
- it('calculates an expected initials in LTR with parentheses', function () {
30
- var result = (0, getInitials_1.getInitials)('David (The man) Goff', false);
31
- expect(result).toEqual('DG');
32
- });
33
- it('calculates an expected initials in LTR with brackets', function () {
34
- var result = (0, getInitials_1.getInitials)('David Goff [The man]', false);
35
- expect(result).toEqual('DG');
36
- });
37
- it('calculates an expected initials in LTR with curly braces', function () {
38
- var result = (0, getInitials_1.getInitials)('David {The man} Goff', false);
39
- expect(result).toEqual('DG');
40
- });
41
- it('calculates an expected initials in LTR with multiple parentheses, extra spaces, and unwanted characters', function () {
42
- var result = (0, getInitials_1.getInitials)(' !@#$%^&*()=+ (Alpha) David (The man) `~<>,./?[]{}| Goff (Gamma) ', false);
43
- expect(result).toEqual('DG');
44
- });
45
- it('calculates an expected initials in LTR with multiple types of unwanted text', function () {
46
- var result = (0, getInitials_1.getInitials)(' !@#$%^&*()=+ (Alpha) David (The man) `~<>,./?[]{}| Goff (Gamma) [Beta] ', false);
47
- expect(result).toEqual('DG');
48
- });
49
- it('calculates an expected initials in RTL if one was not specified', function () {
50
- var result = (0, getInitials_1.getInitials)('Kat Larrson', true);
51
- expect(result).toEqual('LK');
52
- });
53
- it('calculates an expected initials in LTR for names with multiple components', function () {
54
- var result = (0, getInitials_1.getInitials)('A', false);
55
- expect(result).toEqual('A');
56
- result = (0, getInitials_1.getInitials)('A B', false);
57
- expect(result).toEqual('AB');
58
- result = (0, getInitials_1.getInitials)('A B C', false);
59
- expect(result).toEqual('AC');
60
- result = (0, getInitials_1.getInitials)('A B C D', false);
61
- expect(result).toEqual('A');
62
- });
63
- it('calculates an expected initials for Arabic names', function () {
64
- var result = (0, getInitials_1.getInitials)('خسرو رحیمی', true);
65
- expect(result).toEqual('');
66
- });
67
- it('calculates an expected initials for Chinese names', function () {
68
- var result = (0, getInitials_1.getInitials)('桂英', false);
69
- expect(result).toEqual('');
70
- result = (0, getInitials_1.getInitials)('佳', false);
71
- expect(result).toEqual('');
72
- result = (0, getInitials_1.getInitials)('宋智洋', false);
73
- expect(result).toEqual('');
74
- });
75
- it('calculates an expected initials for Korean names', function () {
76
- var result = (0, getInitials_1.getInitials)('강현', false);
77
- expect(result).toEqual('');
78
- result = (0, getInitials_1.getInitials)('최종래', false);
79
- expect(result).toEqual('');
80
- result = (0, getInitials_1.getInitials)('남궁 성종', false);
81
- expect(result).toEqual('');
82
- });
83
- it('calculates an expected initials for Japanese names', function () {
84
- var result = (0, getInitials_1.getInitials)('松田', false);
85
- expect(result).toEqual('');
86
- result = (0, getInitials_1.getInitials)('海野', false);
87
- expect(result).toEqual('');
88
- result = (0, getInitials_1.getInitials)('かり', false);
89
- expect(result).toEqual('');
90
- });
91
- it('calculates expected initials for phone numbers', function () {
92
- var result = (0, getInitials_1.getInitials)('12345678', false);
93
- expect(result).toEqual('');
94
- result = (0, getInitials_1.getInitials)('+1 (555) 123-4567 ext.4567', false);
95
- expect(result).toEqual('');
96
- result = (0, getInitials_1.getInitials)('+47 12 34 56 78 (X 5678)', false);
97
- expect(result).toEqual('');
98
- result = (0, getInitials_1.getInitials)('+47 12 34 56 78 (X 5678)', false, true);
99
- expect(result).toEqual('4');
100
- result = (0, getInitials_1.getInitials)('47 12 34', false, true);
101
- expect(result).toEqual('43');
102
- result = (0, getInitials_1.getInitials)('47 12', false, true);
103
- expect(result).toEqual('41');
104
- result = (0, getInitials_1.getInitials)('1 Ext 2', false);
105
- expect(result).toEqual('');
106
- result = (0, getInitials_1.getInitials)('James Ext 2', false);
107
- expect(result).toEqual('J2');
108
- result = (0, getInitials_1.getInitials)('1x1', false);
109
- expect(result).toEqual('');
110
- result = (0, getInitials_1.getInitials)('1y1', false);
111
- expect(result).toEqual('1');
112
- result = (0, getInitials_1.getInitials)('1', false);
113
- expect(result).toEqual('1');
114
- result = (0, getInitials_1.getInitials)('A 2', false);
115
- expect(result).toEqual('A2');
116
- });
117
- });
118
- //# sourceMappingURL=getInitials.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getInitials.test.js","sourceRoot":"","sources":["../../src/utils/getInitials.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { getInitials } from './getInitials';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInitials = void 0;
4
- var getInitials_1 = require("./getInitials");
5
- Object.defineProperty(exports, "getInitials", { enumerable: true, get: function () { return getInitials_1.getInitials; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -1,154 +0,0 @@
1
- import { getInitials } from './getInitials';
2
-
3
- describe('getInitials', () => {
4
- it('handles null inputs', () => {
5
- let result = getInitials(null, false);
6
- expect(result).toEqual('');
7
-
8
- result = getInitials(undefined, false);
9
- expect(result).toEqual('');
10
- });
11
-
12
- it('calculates an expected initials in LTR', () => {
13
- const result = getInitials('Kat Larrson', false);
14
- expect(result).toEqual('KL');
15
- });
16
-
17
- it('calculates an expected initials in LTR for non-ASCII characters', () => {
18
- let result = getInitials('Írissa Þórðardóttir', false);
19
- expect(result).toEqual('ÍÞ');
20
-
21
- result = getInitials('Øyvind Åsen', false);
22
- expect(result).toEqual('ØÅ');
23
- });
24
-
25
- it('calculates an expected initials in LTR with a hypen', () => {
26
- const result = getInitials('David Zearing-Goff', false);
27
- expect(result).toEqual('DZ');
28
- });
29
-
30
- it('calculates an expected initials in LTR with numbers', () => {
31
- const result = getInitials('4lex 5loo', false);
32
- expect(result).toEqual('45');
33
- });
34
-
35
- it('calculates an expected initials in LTR with parentheses', () => {
36
- const result = getInitials('David (The man) Goff', false);
37
- expect(result).toEqual('DG');
38
- });
39
-
40
- it('calculates an expected initials in LTR with brackets', () => {
41
- const result = getInitials('David Goff [The man]', false);
42
- expect(result).toEqual('DG');
43
- });
44
-
45
- it('calculates an expected initials in LTR with curly braces', () => {
46
- const result = getInitials('David {The man} Goff', false);
47
- expect(result).toEqual('DG');
48
- });
49
-
50
- it('calculates an expected initials in LTR with multiple parentheses, extra spaces, and unwanted characters', () => {
51
- const result = getInitials(' !@#$%^&*()=+ (Alpha) David (The man) `~<>,./?[]{}| Goff (Gamma) ', false);
52
- expect(result).toEqual('DG');
53
- });
54
-
55
- it('calculates an expected initials in LTR with multiple types of unwanted text', () => {
56
- const result = getInitials(' !@#$%^&*()=+ (Alpha) David (The man) `~<>,./?[]{}| Goff (Gamma) [Beta] ', false);
57
- expect(result).toEqual('DG');
58
- });
59
-
60
- it('calculates an expected initials in RTL if one was not specified', () => {
61
- const result = getInitials('Kat Larrson', true);
62
- expect(result).toEqual('LK');
63
- });
64
-
65
- it('calculates an expected initials in LTR for names with multiple components', () => {
66
- let result = getInitials('A', false);
67
- expect(result).toEqual('A');
68
-
69
- result = getInitials('A B', false);
70
- expect(result).toEqual('AB');
71
-
72
- result = getInitials('A B C', false);
73
- expect(result).toEqual('AC');
74
-
75
- result = getInitials('A B C D', false);
76
- expect(result).toEqual('A');
77
- });
78
-
79
- it('calculates an expected initials for Arabic names', () => {
80
- const result = getInitials('خسرو رحیمی', true);
81
- expect(result).toEqual('');
82
- });
83
-
84
- it('calculates an expected initials for Chinese names', () => {
85
- let result = getInitials('桂英', false);
86
- expect(result).toEqual('');
87
-
88
- result = getInitials('佳', false);
89
- expect(result).toEqual('');
90
-
91
- result = getInitials('宋智洋', false);
92
- expect(result).toEqual('');
93
- });
94
-
95
- it('calculates an expected initials for Korean names', () => {
96
- let result = getInitials('강현', false);
97
- expect(result).toEqual('');
98
-
99
- result = getInitials('최종래', false);
100
- expect(result).toEqual('');
101
-
102
- result = getInitials('남궁 성종', false);
103
- expect(result).toEqual('');
104
- });
105
-
106
- it('calculates an expected initials for Japanese names', () => {
107
- let result = getInitials('松田', false);
108
- expect(result).toEqual('');
109
-
110
- result = getInitials('海野', false);
111
- expect(result).toEqual('');
112
-
113
- result = getInitials('かり', false);
114
- expect(result).toEqual('');
115
- });
116
-
117
- it('calculates expected initials for phone numbers', () => {
118
- let result = getInitials('12345678', false);
119
- expect(result).toEqual('');
120
-
121
- result = getInitials('+1 (555) 123-4567 ext.4567', false);
122
- expect(result).toEqual('');
123
-
124
- result = getInitials('+47 12 34 56 78 (X 5678)', false);
125
- expect(result).toEqual('');
126
-
127
- result = getInitials('+47 12 34 56 78 (X 5678)', false, true);
128
- expect(result).toEqual('4');
129
-
130
- result = getInitials('47 12 34', false, true);
131
- expect(result).toEqual('43');
132
-
133
- result = getInitials('47 12', false, true);
134
- expect(result).toEqual('41');
135
-
136
- result = getInitials('1 Ext 2', false);
137
- expect(result).toEqual('');
138
-
139
- result = getInitials('James Ext 2', false);
140
- expect(result).toEqual('J2');
141
-
142
- result = getInitials('1x1', false);
143
- expect(result).toEqual('');
144
-
145
- result = getInitials('1y1', false);
146
- expect(result).toEqual('1');
147
-
148
- result = getInitials('1', false);
149
- expect(result).toEqual('1');
150
-
151
- result = getInitials('A 2', false);
152
- expect(result).toEqual('A2');
153
- });
154
- });
@@ -1,92 +0,0 @@
1
- /**
2
- * Regular expressions matching characters to ignore when calculating the initials.
3
- */
4
-
5
- /**
6
- * Regular expression matching characters within various types of enclosures, including the enclosures themselves
7
- * so for example, (xyz) [xyz] {xyz} all would be ignored
8
- */
9
- const UNWANTED_ENCLOSURES_REGEX: RegExp = /[\(\[\{][^\)\]\}]*[\)\]\}]/g;
10
-
11
- /**
12
- * Regular expression matching special ASCII characters except space, plus some unicode special characters.
13
- * Applies after unwanted enclosures have been removed
14
- */
15
- const UNWANTED_CHARS_REGEX: RegExp = /[\0-\u001F\!-/:-@\[-`\{-\u00BF\u0250-\u036F\uD800-\uFFFF]/g;
16
-
17
- /**
18
- * Regular expression matching phone numbers. Applied after chars matching UNWANTED_CHARS_REGEX have been removed
19
- * and number has been trimmed for whitespaces
20
- */
21
- const PHONENUMBER_REGEX: RegExp = /^\d+[\d\s]*(:?ext|x|)\s*\d+$/i;
22
-
23
- /** Regular expression matching one or more spaces. */
24
- const MULTIPLE_WHITESPACES_REGEX: RegExp = /\s+/g;
25
-
26
- /**
27
- * Regular expression matching languages for which we currently don't support initials.
28
- * Arabic: Arabic, Arabic Supplement, Arabic Extended-A.
29
- * Korean: Hangul Jamo, Hangul Compatibility Jamo, Hangul Jamo Extended-A, Hangul Syllables, Hangul Jamo Extended-B.
30
- * Japanese: Hiragana, Katakana.
31
- * CJK: CJK Unified Ideographs Extension A, CJK Unified Ideographs, CJK Compatibility Ideographs,
32
- * CJK Unified Ideographs Extension B
33
- */
34
- // eslint-disable-next-line @fluentui/max-len
35
- const UNSUPPORTED_TEXT_REGEX: RegExp =
36
- /[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\u1100-\u11FF\u3130-\u318F\uA960-\uA97F\uAC00-\uD7AF\uD7B0-\uD7FF\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]|[\uD840-\uD869][\uDC00-\uDED6]/;
37
-
38
- function getInitialsLatin(displayName: string, isRtl: boolean): string {
39
- let initials = '';
40
-
41
- const splits: string[] = displayName.split(' ');
42
-
43
- if (splits.length === 2) {
44
- initials += splits[0].charAt(0).toUpperCase();
45
- initials += splits[1].charAt(0).toUpperCase();
46
- } else if (splits.length === 3) {
47
- initials += splits[0].charAt(0).toUpperCase();
48
- initials += splits[2].charAt(0).toUpperCase();
49
- } else if (splits.length !== 0) {
50
- initials += splits[0].charAt(0).toUpperCase();
51
- }
52
-
53
- if (isRtl && initials.length > 1) {
54
- return initials.charAt(1) + initials.charAt(0);
55
- }
56
-
57
- return initials;
58
- }
59
-
60
- function cleanupDisplayName(displayName: string): string {
61
- displayName = displayName.replace(UNWANTED_ENCLOSURES_REGEX, '');
62
- displayName = displayName.replace(UNWANTED_CHARS_REGEX, '');
63
- displayName = displayName.replace(MULTIPLE_WHITESPACES_REGEX, ' ');
64
- displayName = displayName.trim();
65
-
66
- return displayName;
67
- }
68
-
69
- /**
70
- * Get (up to 2 characters) initials based on display name of the persona.
71
- *
72
- * @param displayName - The full name of the person or entity
73
- * @param isRtl - Whether the display is in RTL
74
- * @param allowPhoneInitials - Should initials be generated from phone numbers (default false)
75
- *
76
- * @returns The 1 or 2 character initials based on the name. Or an empty string if no initials
77
- * could be derived from the name.
78
- */
79
- export function getInitials(displayName: string | undefined | null, isRtl: boolean, allowPhoneInitials?: boolean): string {
80
- if (!displayName) {
81
- return '';
82
- }
83
-
84
- displayName = cleanupDisplayName(displayName);
85
-
86
- // For names containing CJK characters, and phone numbers, we don't display initials
87
- if (UNSUPPORTED_TEXT_REGEX.test(displayName) || (!allowPhoneInitials && PHONENUMBER_REGEX.test(displayName))) {
88
- return '';
89
- }
90
-
91
- return getInitialsLatin(displayName, isRtl);
92
- }
@@ -1 +0,0 @@
1
- export { getInitials } from './getInitials';