@atlaskit/profilecard 15.7.0 → 15.8.2

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 (62) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/components/Error/ErrorIllustration.js +4 -1
  3. package/dist/cjs/components/User/ProfileCard.js +3 -1
  4. package/dist/cjs/i18n/index.js +58 -58
  5. package/dist/cjs/mocks/index.js +51 -0
  6. package/dist/cjs/mocks/mock-profile-client.js +100 -0
  7. package/dist/cjs/mocks/mock-team-client.js +65 -0
  8. package/dist/cjs/mocks/profile-data.js +152 -0
  9. package/dist/cjs/mocks/simple-mock-clients.js +106 -0
  10. package/dist/cjs/mocks/team-data.js +59 -0
  11. package/dist/cjs/mocks/util.js +36 -0
  12. package/dist/cjs/styled/Card.js +1 -3
  13. package/dist/cjs/styled/Error.js +3 -1
  14. package/dist/cjs/styled/TeamCard.js +5 -3
  15. package/dist/cjs/styled/constants.js +35 -28
  16. package/dist/cjs/util/analytics.js +1 -1
  17. package/dist/cjs/version.json +1 -1
  18. package/dist/es2019/components/Error/ErrorIllustration.js +3 -1
  19. package/dist/es2019/components/User/ProfileCard.js +2 -1
  20. package/dist/es2019/i18n/index.js +10 -10
  21. package/dist/es2019/mocks/index.js +4 -0
  22. package/{mock-helpers/mock-profile-client.ts → dist/es2019/mocks/mock-profile-client.js} +17 -19
  23. package/{mock-helpers/mock-team-client.ts → dist/es2019/mocks/mock-team-client.js} +11 -13
  24. package/dist/es2019/mocks/profile-data.js +138 -0
  25. package/dist/es2019/mocks/simple-mock-clients.js +45 -0
  26. package/dist/es2019/mocks/team-data.js +41 -0
  27. package/{mock-helpers/util.ts → dist/es2019/mocks/util.js} +6 -11
  28. package/dist/es2019/styled/Card.js +2 -3
  29. package/dist/es2019/styled/Error.js +2 -1
  30. package/dist/es2019/styled/TeamCard.js +4 -3
  31. package/dist/es2019/styled/constants.js +31 -26
  32. package/dist/es2019/util/analytics.js +1 -1
  33. package/dist/es2019/version.json +1 -1
  34. package/dist/esm/components/Error/ErrorIllustration.js +3 -1
  35. package/dist/esm/components/User/ProfileCard.js +2 -1
  36. package/dist/esm/i18n/index.js +10 -10
  37. package/dist/esm/mocks/index.js +4 -0
  38. package/dist/esm/mocks/mock-profile-client.js +87 -0
  39. package/dist/esm/mocks/mock-team-client.js +53 -0
  40. package/dist/esm/mocks/profile-data.js +140 -0
  41. package/dist/esm/mocks/simple-mock-clients.js +88 -0
  42. package/dist/esm/mocks/team-data.js +48 -0
  43. package/dist/esm/mocks/util.js +21 -0
  44. package/dist/esm/styled/Card.js +2 -3
  45. package/dist/esm/styled/Error.js +2 -1
  46. package/dist/esm/styled/TeamCard.js +4 -3
  47. package/dist/esm/styled/constants.js +31 -26
  48. package/dist/esm/util/analytics.js +1 -1
  49. package/dist/esm/version.json +1 -1
  50. package/dist/types/i18n/index.d.ts +10 -10
  51. package/dist/types/mocks/index.d.ts +4 -0
  52. package/dist/types/mocks/mock-profile-client.d.ts +1 -0
  53. package/dist/types/mocks/mock-team-client.d.ts +7 -0
  54. package/dist/types/mocks/profile-data.d.ts +41 -0
  55. package/dist/types/mocks/simple-mock-clients.d.ts +14 -0
  56. package/dist/types/mocks/team-data.d.ts +7 -0
  57. package/dist/types/mocks/util.d.ts +6 -0
  58. package/dist/types/styled/constants.d.ts +14 -13
  59. package/mocks/package.json +7 -0
  60. package/package.json +10 -5
  61. package/mock-helpers/profile-data.ts +0 -160
  62. package/mock-helpers/team-data.ts +0 -88
@@ -0,0 +1,138 @@
1
+ import sample from 'lodash/sample';
2
+ import { getTimeString, getWeekday } from './util';
3
+ const avatarImages = ['data:image/gif;base64,R0lGODdhgACAAPIHAABRzMHT8l6O3o2w6env+zh22P///xRe0CwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83CwGDgTA4RA4DBHoBAnADeoh7BQ8HgokGA24Cj4gED3mUBoVsmJmbC5OZe22iepEMh6V+a6UGAQ2poouspacLsZmrap2UswsFpa9sjZnCsLJuBY6IAbrHiQSfbQcCAQED0g8FA9YCznbg4eLj5OVO2zMDvlXKrt8qB3kE61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOGjAPw04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSRK4NgBbAQE1uS2TCdCKQZdAUaq0ImBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YUrQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', 'data:image/gif;base64,R0lGODdhgACAAPIHAACjv2fE1sXp70S2zR+qxJbV4////+r3+SwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83BwKD4VAgRAgFB3oCAXAFeoh7Aw8EgokGBW4Bj4gHD3mUBoVsmJmbC5OZe22iepEMh6V+a6UGAg2poouspacLsZmrap2UswsDpa9sjZnCsLJuA46IArrHiQefbQQBAgIF0g8DBdYBznbg4eLj5OVO2zMFvlXKrt8qBHkH61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOEjAfw04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSR64VgDbgAA1uS2TCdCKQZdAUaq0EmBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YUbQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', 'data:image/gif;base64,R0lGODdhgACAAPIHAACHWur18arVxYjDrlarjMnk2v///yeUbSwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83CQKDISA4RA4DAXoFBHADeoh7fg4HgokGAm4Ej4gBDwWUeoVsmJkGmwuTnpZsnnqRDIemi2qmBgUNqp6gaa4Dsa6saXmzDQemsGyNmai4mbpqw4kFyAu8lbTCAwUFAtEOeNQDzXbd3t/g4eJMgDPbWMPMLwd5AdxPyq/vJQedilT1jwHXJQSOlfOS5Mt0zgQgT+qiPKO0r98/SgkVuiIUgoC9TBGlLMRIIIagBIuuIGERFdKaRwUH8Dz0dCuLv5CVqg0YQKDmzGkrTTXcwg6mz58Zt7z8SVQfPy6BihINUHAMoJxKEzE96UVl1ErW4AASAJWhgKZ1UhK4ObMm1XFo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI8tNAAA7', 'data:image/gif;base64,R0lGODdhgACAAPIHAFJCqfDu+LGp2XlqvJGFyGBRsP///9TQ6iwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83BweDISAoRAoCAXoHBHACeoh7Aw8FgokGAm4Ej4gBD3mUBoVsmJmbC5OZe22iepEMh6V+a6UGBw2poouspacLsZmrap2UswsDpa9sjZnCsLJuA46IB7rHiQGfbQUEBwcC0g8DAtYEznbg4eLj5OVO2zMCvlXKrt8qBXkB61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOGjA/w04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSQa4JgDbAAI1uS2TCdCKQZdAUaq0QmBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YUbQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', 'data:image/gif;base64,R0lGODdhgACAAPIHAN41Cvzs6vfMxPGgkeRTNeBAG////+lvVywAAAAAgACAAEAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+62DMdEA8REDTA+x7uZ1BUIDIdoHDbzkh9H6DG5N1EFpngoO0eRjorrvndOwgHLqD9OC8Jbvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIUrYFgNR2BKho6GBQJgA0UmBYtCRI8RXoienwYBlJukpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vRySjA1VYAG9wFeNCwSIAr7OzzAFX0NtKQTHNqWYVlkhB8dXmqeRoOXmAtWwXdPmSGvQ8PHy8/T19vf4+fr7/P3+/wADChxIsKDBgwgTKlzIsKHDhxAjSpxI4tsMUZUeXPrSzYfXMCvFHIDbkUyXJzEKtglJZ+ukIk8ZcwXh9kDlDJa4LgkQ8E5Cl51RKAodGieIuBbkspEih6TkiQPsQsUsZPOiUxBQmU2l+inLVgsWXaLKWi4AzzRn0AwQEBVREldk28m1SmvjXE8YezlhW5YnTqKAAwseTLiw4cOIEytezLix48eQI0smkQAAOw==', 'data:image/gif;base64,R0lGODdhgACAAPIHAP+ZH/+vUv/Rnf+gMv+9cf/26//////mySwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83AweDoSAYRAYCBXoHBHACeoh7AQ8DgokGAm4Ej4gFD3mUBoVsmJmbC5OZe22iepEMh6V+a6UGBw2poouspacLsZmrap2UswsBpa9sjZnCsLJuAY6IB7rHiQWfbQMEBwcC0g8BAtYEznbg4eLj5OVO2zMCvlXKrt8qA3kF61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOGjA/w04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSRa4JgBbAAI1uS2TCdCKQZdAUaq0QmBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YULQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', '' // to test invalid img src
4
+ ];
5
+
6
+ const getAvatar = () => sample(avatarImages);
7
+
8
+ const profiles = [{
9
+ User: {
10
+ avatarUrl: getAvatar(),
11
+ fullName: 'Kramer Hatfield',
12
+ nickname: 'khatfield',
13
+ email: 'khatfield@gluid.com',
14
+ location: 'Vienna, Austria',
15
+ meta: 'Manager',
16
+ remoteTimeString: getTimeString(),
17
+ remoteWeekdayIndex: getWeekday().index,
18
+ remoteWeekdayString: getWeekday().string
19
+ }
20
+ }, {
21
+ User: {
22
+ avatarUrl: getAvatar(),
23
+ fullName: 'Schwartz Mclaughlin',
24
+ nickname: 'smclaughlin',
25
+ email: 'smclaughlin@corecom.com',
26
+ location: 'Perth, Australia',
27
+ meta: 'Senior Developer',
28
+ remoteTimeString: getTimeString(),
29
+ remoteWeekdayIndex: getWeekday().index,
30
+ remoteWeekdayString: getWeekday().string
31
+ }
32
+ }, {
33
+ User: {
34
+ avatarUrl: getAvatar(),
35
+ fullName: 'Nichole Walter',
36
+ nickname: 'nwalter',
37
+ email: 'nwalter@limage.com',
38
+ location: 'Sydney, Australia',
39
+ meta: 'Senior Developer',
40
+ status: 'inactive',
41
+ remoteTimeString: getTimeString(),
42
+ remoteWeekdayIndex: getWeekday().index,
43
+ remoteWeekdayString: getWeekday().string
44
+ }
45
+ }, {
46
+ User: {
47
+ avatarUrl: getAvatar(),
48
+ fullName: 'Cleveland Rodriquez',
49
+ nickname: 'crodriquez',
50
+ email: 'crodriquez@slofast.com',
51
+ meta: 'Manager'
52
+ }
53
+ }, {
54
+ User: {
55
+ avatarUrl: getAvatar(),
56
+ fullName: 'Rosalyn Franklin',
57
+ nickname: 'rfranklin',
58
+ email: 'rfranklin@assurity.com',
59
+ location: 'London, England',
60
+ meta: 'Manager',
61
+ remoteTimeString: getTimeString(),
62
+ remoteWeekdayIndex: getWeekday().index,
63
+ remoteWeekdayString: getWeekday().string
64
+ }
65
+ }, {
66
+ User: {
67
+ avatarUrl: getAvatar(),
68
+ fullName: 'Hess Stone',
69
+ nickname: 'hstone',
70
+ email: 'hstone@hawkster.com',
71
+ location: 'Sydney, Australia',
72
+ meta: 'Designer',
73
+ remoteTimeString: getTimeString(),
74
+ remoteWeekdayIndex: getWeekday().index,
75
+ remoteWeekdayString: getWeekday().string
76
+ }
77
+ }, {
78
+ User: {
79
+ avatarUrl: getAvatar(),
80
+ fullName: 'Lewis Cervantes',
81
+ nickname: 'lcervantes',
82
+ email: 'lcervantes@apextri.com',
83
+ location: 'Perth, Australia',
84
+ meta: 'Senior Developer',
85
+ remoteTimeString: getTimeString(),
86
+ remoteWeekdayIndex: getWeekday().index,
87
+ remoteWeekdayString: getWeekday().string
88
+ }
89
+ }, {
90
+ User: {
91
+ avatarUrl: getAvatar(),
92
+ fullName: 'Abbott Lamb',
93
+ nickname: 'alamb',
94
+ email: 'alamb@xeronk.com',
95
+ location: 'Sydney, Australia',
96
+ meta: 'Senior Developer',
97
+ remoteTimeString: getTimeString(),
98
+ remoteWeekdayIndex: getWeekday().index,
99
+ remoteWeekdayString: getWeekday().string
100
+ }
101
+ }, {
102
+ User: {
103
+ avatarUrl: getAvatar(),
104
+ fullName: 'Conner Duncan',
105
+ nickname: 'cduncan',
106
+ email: 'cduncan@magmina.com',
107
+ location: 'Hanover, Germany',
108
+ meta: 'Head of Something',
109
+ remoteTimeString: getTimeString(),
110
+ remoteWeekdayIndex: getWeekday().index,
111
+ remoteWeekdayString: getWeekday().string
112
+ }
113
+ }, {
114
+ User: {
115
+ avatarUrl: getAvatar(),
116
+ fullName: 'Bauer Burch',
117
+ nickname: 'bburch',
118
+ email: 'bburch@xleen.com',
119
+ location: 'Austin, TX',
120
+ meta: 'Senior Designer',
121
+ remoteTimeString: getTimeString(),
122
+ remoteWeekdayIndex: getWeekday().index,
123
+ remoteWeekdayString: getWeekday().string
124
+ }
125
+ }, {
126
+ User: {
127
+ avatarUrl: getAvatar(),
128
+ fullName: 'Mcbride Haynes',
129
+ nickname: 'mhaynes',
130
+ email: 'mhaynes@geeky.com',
131
+ location: 'London, England',
132
+ meta: 'Senior Designer',
133
+ remoteTimeString: getTimeString(),
134
+ remoteWeekdayIndex: getWeekday().index,
135
+ remoteWeekdayString: getWeekday().string
136
+ }
137
+ }];
138
+ export default profiles;
@@ -0,0 +1,45 @@
1
+ import ProfileCardClient from '../client/ProfileCardClient';
2
+ import TeamProfileCardClient from '../client/TeamProfileCardClient';
3
+ import UserProfileCardClient from '../client/UserProfileCardClient';
4
+ import profiles from './profile-data';
5
+ import teamData from './team-data';
6
+ import { getTimeString, getWeekday } from './util';
7
+
8
+ class SimpleMockTeamClient extends TeamProfileCardClient {
9
+ makeRequest(teamId) {
10
+ const simpleMockTeam = teamData({
11
+ members: 5
12
+ });
13
+ return Promise.resolve({
14
+ teamId,
15
+ ...simpleMockTeam
16
+ });
17
+ }
18
+
19
+ }
20
+
21
+ class SimpleMockUserClient extends UserProfileCardClient {
22
+ makeRequest(cloudId, userId) {
23
+ const profile = profiles[0];
24
+ const weekday = getWeekday();
25
+ const data = { ...profile
26
+ };
27
+ data.remoteTimeString = getTimeString();
28
+ data.remoteWeekdayIndex = weekday.index;
29
+ data.remoteWeekdayString = weekday.string;
30
+ return Promise.resolve(data);
31
+ }
32
+
33
+ }
34
+
35
+ const args = {
36
+ cacheSize: 10,
37
+ maxCacheAge: 0,
38
+ url: '/graphql/directory'
39
+ };
40
+ export const simpleMockUserClient = new SimpleMockUserClient(args);
41
+ export const simpleMockTeamClient = new SimpleMockTeamClient(args);
42
+ export const simpleProfileClient = new ProfileCardClient(args, {
43
+ userClient: simpleMockUserClient,
44
+ teamClient: simpleMockTeamClient
45
+ });
@@ -0,0 +1,41 @@
1
+ import sample from 'lodash/sample';
2
+ const avatarImages = ['data:image/gif;base64,R0lGODdhgACAAPIHAABRzMHT8l6O3o2w6env+zh22P///xRe0CwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83CwGDgTA4RA4DBHoBAnADeoh7BQ8HgokGA24Cj4gED3mUBoVsmJmbC5OZe22iepEMh6V+a6UGAQ2poouspacLsZmrap2UswsFpa9sjZnCsLJuBY6IAbrHiQSfbQcCAQED0g8FA9YCznbg4eLj5OVO2zMDvlXKrt8qB3kE61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOGjAPw04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSRK4NgBbAQE1uS2TCdCKQZdAUaq0ImBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YUrQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', 'data:image/gif;base64,R0lGODdhgACAAPIHAACjv2fE1sXp70S2zR+qxJbV4////+r3+SwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83BwKD4VAgRAgFB3oCAXAFeoh7Aw8EgokGBW4Bj4gHD3mUBoVsmJmbC5OZe22iepEMh6V+a6UGAg2poouspacLsZmrap2UswsDpa9sjZnCsLJuA46IArrHiQefbQQBAgIF0g8DBdYBznbg4eLj5OVO2zMFvlXKrt8qBHkH61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOEjAfw04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSR64VgDbgAA1uS2TCdCKQZdAUaq0EmBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YUbQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', 'data:image/gif;base64,R0lGODdhgACAAPIHAACHWur18arVxYjDrlarjMnk2v///yeUbSwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83CQKDISA4RA4DAXoFBHADeoh7fg4HgokGAm4Ej4gBDwWUeoVsmJkGmwuTnpZsnnqRDIemi2qmBgUNqp6gaa4Dsa6saXmzDQemsGyNmai4mbpqw4kFyAu8lbTCAwUFAtEOeNQDzXbd3t/g4eJMgDPbWMPMLwd5AdxPyq/vJQedilT1jwHXJQSOlfOS5Mt0zgQgT+qiPKO0r98/SgkVuiIUgoC9TBGlLMRIIIagBIuuIGERFdKaRwUH8Dz0dCuLv5CVqg0YQKDmzGkrTTXcwg6mz58Zt7z8SVQfPy6BihINUHAMoJxKEzE96UVl1ErW4AASAJWhgKZ1UhK4ObMm1XFo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI8tNAAA7', 'data:image/gif;base64,R0lGODdhgACAAPIHAFJCqfDu+LGp2XlqvJGFyGBRsP///9TQ6iwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83BweDISAoRAoCAXoHBHACeoh7Aw8FgokGAm4Ej4gBD3mUBoVsmJmbC5OZe22iepEMh6V+a6UGBw2poouspacLsZmrap2UswsDpa9sjZnCsLJuA46IB7rHiQGfbQUEBwcC0g8DAtYEznbg4eLj5OVO2zMCvlXKrt8qBXkB61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOGjA/w04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSQa4JgDbAAI1uS2TCdCKQZdAUaq0QmBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YUbQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', 'data:image/gif;base64,R0lGODdhgACAAPIHAN41Cvzs6vfMxPGgkeRTNeBAG////+lvVywAAAAAgACAAEAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+62DMdEA8REDTA+x7uZ1BUIDIdoHDbzkh9H6DG5N1EFpngoO0eRjorrvndOwgHLqD9OC8Jbvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIUrYFgNR2BKho6GBQJgA0UmBYtCRI8RXoienwYBlJukpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vRySjA1VYAG9wFeNCwSIAr7OzzAFX0NtKQTHNqWYVlkhB8dXmqeRoOXmAtWwXdPmSGvQ8PHy8/T19vf4+fr7/P3+/wADChxIsKDBgwgTKlzIsKHDhxAjSpxI4tsMUZUeXPrSzYfXMCvFHIDbkUyXJzEKtglJZ+ukIk8ZcwXh9kDlDJa4LgkQ8E5Cl51RKAodGieIuBbkspEih6TkiQPsQsUsZPOiUxBQmU2l+inLVgsWXaLKWi4AzzRn0AwQEBVREldk28m1SmvjXE8YezlhW5YnTqKAAwseTLiw4cOIEytezLix48eQI0smkQAAOw==', 'data:image/gif;base64,R0lGODdhgACAAPIHAP+ZH/+vUv/Rnf+gMv+9cf/26//////mySwAAAAAgACAAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq83AweDoSAYRAYCBXoHBHACeoh7AQ8DgokGAm4Ej4gFD3mUBoVsmJmbC5OZe22iepEMh6V+a6UGBw2poouspacLsZmrap2UswsBpa9sjZnCsLJuAY6IB7rHiQWfbQMEBwcC0g8BAtYEznbg4eLj5OVO2zMCvlXKrt8qA3kF61LEg/Qo8ZX4TvrQ2SbaQXvHxB+lPicAiWomBdejaCUEFiPIxOGjA/w04GnFkIiKxYveOFRrBQlLKJKEKDagFohkySwSSRa4JgBbAAI1uS2TCdCKQZdAUaq0QmBn0KN6IIppiTQon6FbqBlt+hBhmm1Tj/LpebVaVkoz1YULQDZnTbIZzaldy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0uenDcBADs=', '' // to test invalid img src
3
+ ];
4
+
5
+ const getAvatar = () => sample(avatarImages);
6
+
7
+ const memberNames = ['Kramer Hatfield', 'Schwartz Mclaughlin', 'Nichole Walter', 'Cleveland Rodriquez', 'Hess Stone', 'Lewis Cervantes', 'Abbott Lamb', 'Conner Duncan', 'Bauer Burch', 'Mcbride Haynes', 'Maddy Estes', 'Nikki Villanueva', 'Adam Burks', 'Milly Walters', 'Phoebe Clarkson', 'Samuel Dunlap', 'Naomi Boyer', 'Silas Gomez', 'Josie Lancaster', 'Fred Kirkpatrick', 'Beck Rutledge', 'Rebecca Woods'];
8
+ const members = memberNames.map((name, index) => ({
9
+ id: index.toString(),
10
+ avatarUrl: getAvatar(),
11
+ fullName: name
12
+ }));
13
+ const sampleImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAABACAMAAACqVYydAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGBQTFRF/zX7+DP73i77uyb8kR78ZhX9PQz+GwX+/jT78jL71Sz7ryT8hRv8WhL9Mwr+EwT+/TT76jD7yyr7pCL8eRn9ThD9KQj+DAL/+jT74i/7wCj8lx/8bBb9Qw3+IAb+BgH/HFKiKQAAAIBJREFUeJztzjkOggAAAEEEORTkFOQS/v9L+u1INDQ7L5ggOOkGIURwhxgSSOHsz6BBgwYNGjRo0OBvgxk84Ak5FPCCEiowaNCgQYMGDRo0eG2whgZa6OANPQzwAYMGDRo0aNCgQYPXBkeYYIYFVvjCBjsYNGjQoEGDBg0a/GvwADIe8BAKQVCtAAAAAElFTkSuQmCC';
14
+ const names = {
15
+ Short: 'Lemon',
16
+ Medium: 'The Fat Cats',
17
+ Long: 'People and Teams Collective Developers',
18
+ Overlong: "Teamwork Platform's People and Teams Collective Frontend Developer Group"
19
+ };
20
+ const longDescription = 'This is information about the team. They are responsible for all the cool stuff that happens at Acme.';
21
+ const descriptions = {
22
+ None: '',
23
+ Short: 'A very cool team!',
24
+ Medium: 'This is a pretty cool team, that does a lot of work here.',
25
+ Long: longDescription,
26
+ Overlong: [longDescription, longDescription].join(' ')
27
+ };
28
+ export default function teamData({
29
+ headerImage = 'None',
30
+ displayName = 'Short',
31
+ members: memberCount = 1,
32
+ description = 'Long'
33
+ }) {
34
+ return {
35
+ id: 'team-id',
36
+ largeHeaderImageUrl: headerImage === 'Picture' ? sampleImage : undefined,
37
+ displayName: names[displayName] || names.Short,
38
+ members: members.slice(0, memberCount),
39
+ description: description ? descriptions[description] : descriptions.Long
40
+ };
41
+ }
@@ -1,24 +1,19 @@
1
- function padMinutes(minutes: number): string {
1
+ function padMinutes(minutes) {
2
2
  return minutes < 10 ? `0${minutes}` : String(minutes);
3
3
  }
4
4
 
5
- export const random = (int: number): number =>
6
- Math.floor(Math.random() * (int + 1));
7
-
8
- export const getWeekday = (): { index: number; string: string } => {
5
+ export const random = int => Math.floor(Math.random() * (int + 1));
6
+ export const getWeekday = () => {
9
7
  const array = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
10
8
  const index = random(6);
11
-
12
9
  return {
13
10
  index,
14
- string: array[index],
11
+ string: array[index]
15
12
  };
16
13
  };
17
-
18
- export const getTimeString = (): string => {
14
+ export const getTimeString = () => {
19
15
  const hours = random(23);
20
16
  const minutes = random(59);
21
17
  const meridiem = ['am', 'pm'][Math.floor(hours / 12)];
22
-
23
18
  return `${hours === 0 ? 12 : hours % 12}:${padMinutes(minutes)}${meridiem}`;
24
- };
19
+ };
@@ -1,7 +1,6 @@
1
1
  import styled, { css } from 'styled-components';
2
2
  import { borderRadius, fontSizeSmall, gridSize } from '@atlaskit/theme/constants';
3
- import { e200 } from '@atlaskit/theme/elevation';
4
- import { appLabelBgColor, appLabelTextColor, bgColor, headerBgColor, headerBgColorDisabledUser, headerTextColor, headerTextColorInactive, labelIconColor, labelTextColor } from '../styled/constants';
3
+ import { appLabelBgColor, appLabelTextColor, bgColor, boxShadow, headerBgColor, headerBgColorDisabledUser, headerTextColor, headerTextColorInactive, labelIconColor, labelTextColor } from '../styled/constants';
5
4
 
6
5
  const getFullNameMargin = props => props.noMeta ? `${gridSize() * 4.5}px 0 ${gridSize() * 1.5}px 0` : `${gridSize() * 1.5}px 0 0 0`;
7
6
 
@@ -128,7 +127,7 @@ export const CardContainer = styled.div`
128
127
  }
129
128
 
130
129
  return css`
131
- ${e200}
130
+ box-shadow: ${boxShadow};
132
131
  border-radius: ${borderRadius}px;
133
132
  `;
134
133
  }}
@@ -2,6 +2,7 @@ import styled from 'styled-components';
2
2
  import { N200 } from '@atlaskit/theme/colors';
3
3
  import { gridSize } from '@atlaskit/theme/constants';
4
4
  import { h400 } from '@atlaskit/theme/typography';
5
+ import { token } from '@atlaskit/tokens';
5
6
  import { errorIconColor, errorTextColor, errorTitleColor } from '../styled/constants';
6
7
  export const ErrorWrapper = styled.div`
7
8
  text-align: center;
@@ -20,6 +21,6 @@ export const TeamErrorTitle = styled.p`
20
21
  ${h400};
21
22
  `;
22
23
  export const TeamErrorText = styled.p`
23
- color: ${N200};
24
+ color: ${token('color.text.lowEmphasis', N200)};
24
25
  margin-top: ${gridSize() * 1}px;
25
26
  `;
@@ -2,6 +2,7 @@ import styled, { css } from 'styled-components';
2
2
  import { N20, N200 } from '@atlaskit/theme/colors';
3
3
  import { borderRadius, gridSize } from '@atlaskit/theme/constants';
4
4
  import { h600 } from '@atlaskit/theme/typography';
5
+ import { token } from '@atlaskit/tokens';
5
6
  import { bgColor, teamHeaderBgColor } from '../styled/constants';
6
7
  export const CardTriggerWrapper = styled.div`
7
8
  display: inherit;
@@ -15,7 +16,7 @@ export const CardWrapper = styled.div`
15
16
  -moz-osx-font-smoothing: grayscale;
16
17
  `;
17
18
  const loadingImage = css`
18
- background-color: ${N20};
19
+ background-color: ${token('color.background.subtleNeutral.resting', N20)};
19
20
  `;
20
21
  const defaultImage = css`
21
22
  background-color: ${teamHeaderBgColor};
@@ -57,7 +58,7 @@ export const TeamName = styled.h6`
57
58
  -webkit-box-orient: vertical;
58
59
  `;
59
60
  export const MemberCount = styled.div`
60
- color: ${N200};
61
+ color: ${token('color.text.lowEmphasis', N200)};
61
62
  margin-top: ${gridSize() * 0.5}px;
62
63
  `;
63
64
  export const AvatarSection = styled.div`
@@ -81,7 +82,7 @@ export const ActionButtons = styled.div`
81
82
  display: flex;
82
83
  justify-content: space-between;
83
84
  margin: ${gridSize() * 3}px -${gridSize() * 3}px 0 -${gridSize()}px;
84
- background-color: hsla(0, 100%, 100%, 0.2);
85
+ background-color: ${token('color.background.overlay', 'hsla(0, 100%, 100%, 0.2)')};
85
86
  `;
86
87
  export const WrappedButton = styled.div`
87
88
  flex-basis: 0;
@@ -1,54 +1,59 @@
1
1
  import * as colors from '@atlaskit/theme/colors';
2
2
  import { themed } from '@atlaskit/theme/components';
3
+ import { token } from '@atlaskit/tokens';
3
4
  export const bgColor = themed({
4
- light: colors.N0,
5
- dark: colors.DN50
5
+ light: token('color.background.overlay', colors.N0),
6
+ dark: token('color.background.overlay', colors.DN50)
6
7
  });
7
8
  export const headerBgColor = themed({
8
- light: colors.B500,
9
- dark: colors.B100
9
+ light: token('color.background.boldBrand.resting', colors.B500),
10
+ dark: token('color.background.boldBrand.resting', colors.B100)
10
11
  });
11
12
  export const teamHeaderBgColor = themed({
12
- light: colors.N50,
13
- dark: colors.N50
13
+ light: token('color.background.subtleNeutral.resting', colors.N50),
14
+ dark: token('color.background.subtleNeutral.resting', colors.N50)
14
15
  });
15
16
  export const headerBgColorDisabledUser = themed({
16
- light: colors.N30,
17
- dark: colors.B100
17
+ light: token('color.background.disabled', colors.N30),
18
+ dark: token('color.background.disabled', colors.B100)
18
19
  });
19
20
  export const headerTextColor = themed({
20
- light: colors.N0,
21
- dark: colors.N0
21
+ light: token('color.text.onBold', colors.N0),
22
+ dark: token('color.text.onBold', colors.N0)
22
23
  });
23
24
  export const headerTextColorInactive = themed({
24
- light: colors.N800,
25
- dark: colors.N0
25
+ light: token('color.text.highEmphasis', colors.N800),
26
+ dark: token('color.text.highEmphasis', colors.N0)
26
27
  });
27
28
  export const appLabelBgColor = themed({
28
- light: colors.N20,
29
- dark: colors.N20
29
+ light: token('color.background.subtleNeutral.resting', colors.N20),
30
+ dark: token('color.background.subtleNeutral.resting', colors.N20)
30
31
  });
31
32
  export const appLabelTextColor = themed({
32
- light: colors.N500,
33
- dark: colors.N500
33
+ light: token('color.text.highEmphasis', colors.N500),
34
+ dark: token('color.text.highEmphasis', colors.N500)
34
35
  });
35
36
  export const labelTextColor = themed({
36
- light: colors.N800,
37
- dark: colors.DN900
37
+ light: token('color.text.highEmphasis', colors.N800),
38
+ dark: token('color.text.highEmphasis', colors.DN900)
38
39
  });
39
40
  export const labelIconColor = themed({
40
- light: colors.N60,
41
- dark: colors.DN100
41
+ light: token('color.text.lowEmphasis', colors.N60),
42
+ dark: token('color.text.lowEmphasis', colors.DN100)
42
43
  });
43
44
  export const errorIconColor = themed({
44
- light: colors.N90,
45
- dark: colors.DN90
45
+ light: token('color.text.disabled', colors.N90),
46
+ dark: token('color.text.disabled', colors.DN90)
46
47
  });
47
48
  export const errorTitleColor = themed({
48
- light: colors.N800,
49
- dark: colors.DN800
49
+ light: token('color.text.highEmphasis', colors.N800),
50
+ dark: token('color.text.highEmphasis', colors.DN800)
50
51
  });
51
52
  export const errorTextColor = themed({
52
- light: colors.N90,
53
- dark: colors.DN90
53
+ light: token('color.text.lowEmphasis', colors.N90),
54
+ dark: token('color.text.lowEmphasis', colors.DN90)
55
+ });
56
+ export const boxShadow = themed({
57
+ light: token('shadow.overlay', `0 4px 8px -2px ${colors.N50A}, 0 0 1px ${colors.N60A}`),
58
+ dark: token('shadow.overlay', `0 4px 8px -2px ${colors.DN50A}, 0 0 1px ${colors.DN60A}`)
54
59
  });
@@ -11,7 +11,7 @@ const createEvent = (eventType, action, actionSubject, actionSubjectId, attribut
11
11
  actionSubjectId,
12
12
  attributes: {
13
13
  packageName: "@atlaskit/profilecard",
14
- packageVersion: "15.7.0",
14
+ packageVersion: "15.8.2",
15
15
  ...attributes,
16
16
  firedAt: getPageTime()
17
17
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/profilecard",
3
- "version": "15.7.0"
3
+ "version": "15.8.2"
4
4
  }
@@ -1,4 +1,6 @@
1
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
2
  import React from 'react';
3
+ import { token } from '@atlaskit/tokens';
2
4
  export var ErrorIllustration = function ErrorIllustration() {
3
5
  return /*#__PURE__*/React.createElement("svg", {
4
6
  width: "42",
@@ -10,7 +12,7 @@ export var ErrorIllustration = function ErrorIllustration() {
10
12
  clipPath: "url(#clip0)"
11
13
  }, /*#__PURE__*/React.createElement("path", {
12
14
  d: "M0.649902 0H163.93V212H0.649902V0Z",
13
- fill: "white",
15
+ fill: token('color.background.overlay', 'white'),
14
16
  fillOpacity: "0.01"
15
17
  }), /*#__PURE__*/React.createElement("path", {
16
18
  d: "M95.4299 74.1603L161.87 189.24C167.71 199.36 160.41 212 148.73 212H15.8499C4.16994 212 -3.13006 199.35 2.70994 189.24L69.1499 74.1603C74.9899 64.0403 89.5899 64.0403 95.4299 74.1603ZM87.8699 157.71L90.7499 113.36C91.0899 108.07 86.8899 103.58 81.5899 103.58C76.2799 103.58 72.0799 108.06 72.4299 113.36L75.3099 157.71C75.5299 161.02 78.2699 163.6 81.5899 163.6C84.8999 163.6 87.6499 161.02 87.8699 157.71ZM72.0299 181.25C72.0299 186.91 76.7899 191.35 82.4199 190.83C87.2699 190.38 91.1499 186.33 91.2499 181.46C91.3599 176.01 86.9399 171.52 81.5199 171.52C76.2899 171.51 72.0299 175.89 72.0299 181.25Z",
@@ -19,6 +19,7 @@ import Button from '@atlaskit/button/custom-theme-button';
19
19
  import Lozenge from '@atlaskit/lozenge';
20
20
  import Spinner from '@atlaskit/spinner';
21
21
  import { N0 } from '@atlaskit/theme/colors';
22
+ import { token } from '@atlaskit/tokens';
22
23
  import { AnalyticsName } from '../../internal/analytics';
23
24
  import relativeDate from '../../internal/relative-date';
24
25
  import messages from '../../messages';
@@ -280,7 +281,7 @@ var Profilecard = /*#__PURE__*/function (_React$PureComponent) {
280
281
  }, /*#__PURE__*/React.createElement(ProfileImage, null, /*#__PURE__*/React.createElement(Avatar, {
281
282
  size: "xlarge",
282
283
  src: this.props.status !== 'closed' ? this.props.avatarUrl : undefined,
283
- borderColor: N0
284
+ borderColor: token('color.background.overlay', N0)
284
285
  })), /*#__PURE__*/React.createElement(CardContent, null, this.renderCardDetails(), actions ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ActionsFlexSpacer, null), actions) : null));
285
286
  }
286
287
 
@@ -4,33 +4,33 @@
4
4
  * This file is automatically generated by i18n-tools.
5
5
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
6
  */
7
- export { default as en_ZZ } from './en_ZZ';
7
+ export { default as zh } from './zh';
8
+ export { default as zh_TW } from './zh_TW';
8
9
  export { default as cs } from './cs';
9
10
  export { default as da } from './da';
10
- export { default as de } from './de';
11
- export { default as en } from './en';
12
- export { default as en_GB } from './en_GB';
13
- export { default as es } from './es';
11
+ export { default as nl } from './nl';
14
12
  export { default as et } from './et';
15
13
  export { default as fi } from './fi';
16
14
  export { default as fr } from './fr';
15
+ export { default as de } from './de';
17
16
  export { default as hu } from './hu';
18
- export { default as is } from './is';
19
17
  export { default as it } from './it';
20
18
  export { default as ja } from './ja';
21
19
  export { default as ko } from './ko';
22
20
  export { default as nb } from './nb';
23
- export { default as nl } from './nl';
24
21
  export { default as pl } from './pl';
25
22
  export { default as pt_BR } from './pt_BR';
26
23
  export { default as pt_PT } from './pt_PT';
27
- export { default as ro } from './ro';
28
24
  export { default as ru } from './ru';
29
25
  export { default as sk } from './sk';
26
+ export { default as es } from './es';
30
27
  export { default as sv } from './sv';
31
28
  export { default as th } from './th';
32
29
  export { default as tr } from './tr';
33
30
  export { default as uk } from './uk';
34
31
  export { default as vi } from './vi';
35
- export { default as zh } from './zh';
36
- export { default as zh_TW } from './zh_TW';
32
+ export { default as en_ZZ } from './en_ZZ';
33
+ export { default as en } from './en';
34
+ export { default as en_GB } from './en_GB';
35
+ export { default as is } from './is';
36
+ export { default as ro } from './ro';
@@ -0,0 +1,4 @@
1
+ export { default as getMockProfileClient } from './mock-profile-client';
2
+ export { default as getMockTeamClient } from './mock-team-client';
3
+ export { default as profiles } from './profile-data';
4
+ export { simpleMockTeamClient, simpleMockUserClient, simpleProfileClient } from './simple-mock-clients';
@@ -0,0 +1,87 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
11
+
12
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
+
14
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
15
+
16
+ import UserProfileCardClient from '../client/UserProfileCardClient';
17
+ import profiles from './profile-data';
18
+ import { getTimeString, getWeekday, random } from './util';
19
+ export default function getMockProfileClient(BaseProfileClient, modifyResponse) {
20
+ var MockUserClient = /*#__PURE__*/function (_UserProfileCardClien) {
21
+ _inherits(MockUserClient, _UserProfileCardClien);
22
+
23
+ var _super = _createSuper(MockUserClient);
24
+
25
+ function MockUserClient() {
26
+ _classCallCheck(this, MockUserClient);
27
+
28
+ return _super.apply(this, arguments);
29
+ }
30
+
31
+ _createClass(MockUserClient, [{
32
+ key: "makeRequest",
33
+ value: function makeRequest(cloudId, userId) {
34
+ var timeout = random(1500) + 500;
35
+ var matchError = userId.match(/^error:([0-9a-zA-Z\-]+)$/);
36
+ var error = matchError && matchError[1];
37
+ return new Promise(function (resolve, reject) {
38
+ setTimeout(function () {
39
+ if (error) {
40
+ return reject({
41
+ reason: error
42
+ });
43
+ }
44
+
45
+ var userIdAsIndex = parseInt(userId, 10);
46
+ var profile = profiles[userIdAsIndex] || profiles[0];
47
+
48
+ if (!profile) {
49
+ return reject({
50
+ reason: 'default'
51
+ });
52
+ }
53
+
54
+ var weekday = getWeekday();
55
+
56
+ var data = _objectSpread({}, profile);
57
+
58
+ data.remoteTimeString = getTimeString();
59
+ data.remoteWeekdayIndex = weekday.index;
60
+ data.remoteWeekdayString = weekday.string;
61
+ return resolve(modifyResponse(data));
62
+ }, timeout);
63
+ });
64
+ }
65
+ }]);
66
+
67
+ return MockUserClient;
68
+ }(UserProfileCardClient);
69
+
70
+ return /*#__PURE__*/function (_BaseProfileClient) {
71
+ _inherits(MockProfileClient, _BaseProfileClient);
72
+
73
+ var _super2 = _createSuper(MockProfileClient);
74
+
75
+ function MockProfileClient(options) {
76
+ var clients = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
77
+
78
+ _classCallCheck(this, MockProfileClient);
79
+
80
+ return _super2.call(this, options, _objectSpread({
81
+ userClient: new MockUserClient(options)
82
+ }, clients));
83
+ }
84
+
85
+ return MockProfileClient;
86
+ }(BaseProfileClient);
87
+ }