@atlaskit/profilecard 17.1.1 → 17.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/profilecard
2
2
 
3
+ ## 17.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`7f54d783d6e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f54d783d6e) - Add mock for team central client workspace check
8
+
3
9
  ## 17.1.1
4
10
 
5
11
  ### Patch Changes
@@ -97,6 +97,11 @@ function getMockProfileClient(BaseProfileClient, modifyResponse) {
97
97
  }
98
98
 
99
99
  (0, _createClass2.default)(MockTeamCentralClient, [{
100
+ key: "createTcReadyPromise",
101
+ value: function createTcReadyPromise(config) {
102
+ return Promise.resolve(true);
103
+ }
104
+ }, {
100
105
  key: "makeRequest",
101
106
  value: function makeRequest(userId) {
102
107
  var timeout = (0, _util.random)(1500) + 500;
@@ -59,7 +59,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
59
59
  actionSubjectId: actionSubjectId,
60
60
  attributes: _objectSpread(_objectSpread({
61
61
  packageName: "@atlaskit/profilecard",
62
- packageVersion: "17.1.1"
62
+ packageVersion: "17.2.0"
63
63
  }, attributes), {}, {
64
64
  firedAt: Math.round((0, _performance.getPageTime)())
65
65
  })
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/profilecard",
3
- "version": "17.1.1"
3
+ "version": "17.2.0"
4
4
  }
@@ -40,6 +40,10 @@ export default function getMockProfileClient(BaseProfileClient, modifyResponse)
40
40
  }
41
41
 
42
42
  class MockTeamCentralClient extends TeamCentralCardClient {
43
+ createTcReadyPromise(config) {
44
+ return Promise.resolve(true);
45
+ }
46
+
43
47
  makeRequest(userId) {
44
48
  const timeout = random(1500) + 500;
45
49
  const matchError = userId.match(/^error:([0-9a-zA-Z\-]+)$/);
@@ -38,7 +38,7 @@ const createEvent = (eventType, action, actionSubject, actionSubjectId, attribut
38
38
  actionSubjectId,
39
39
  attributes: {
40
40
  packageName: "@atlaskit/profilecard",
41
- packageVersion: "17.1.1",
41
+ packageVersion: "17.2.0",
42
42
  ...attributes,
43
43
  firedAt: Math.round(getPageTime())
44
44
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/profilecard",
3
- "version": "17.1.1"
3
+ "version": "17.2.0"
4
4
  }
@@ -81,6 +81,11 @@ export default function getMockProfileClient(BaseProfileClient, modifyResponse)
81
81
  }
82
82
 
83
83
  _createClass(MockTeamCentralClient, [{
84
+ key: "createTcReadyPromise",
85
+ value: function createTcReadyPromise(config) {
86
+ return Promise.resolve(true);
87
+ }
88
+ }, {
84
89
  key: "makeRequest",
85
90
  value: function makeRequest(userId) {
86
91
  var timeout = random(1500) + 500;
@@ -48,7 +48,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
48
48
  actionSubjectId: actionSubjectId,
49
49
  attributes: _objectSpread(_objectSpread({
50
50
  packageName: "@atlaskit/profilecard",
51
- packageVersion: "17.1.1"
51
+ packageVersion: "17.2.0"
52
52
  }, attributes), {}, {
53
53
  firedAt: Math.round(getPageTime())
54
54
  })
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/profilecard",
3
- "version": "17.1.1"
3
+ "version": "17.2.0"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/profilecard",
3
- "version": "17.1.1",
3
+ "version": "17.2.0",
4
4
  "description": "A React component to display a card with user information.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
package/report.api.md CHANGED
@@ -1,6 +1,10 @@
1
- ## API Report File for "@atlaskit/profilecard".
1
+ ## API Report File for "@atlaskit/profilecard"
2
2
 
3
- > Do not edit this file. This report is auto-generated by [API Extractor](https://api-extractor.com/).
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ <!--
6
+ Generated API Report version: 2.0
7
+ -->
4
8
 
5
9
  [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
6
10
 
@@ -15,17 +19,21 @@ import { LRUCache } from 'lru-fast';
15
19
  import { default as React_2 } from 'react';
16
20
  import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
17
21
 
18
- declare type AnalyticsFromDuration = (
19
- duration: number,
20
- ) => AnalyticsEventPayload;
22
+ // @public (undocumented)
23
+ type AnalyticsFromDuration = (duration: number) => AnalyticsEventPayload;
21
24
 
22
- declare type AnalyticsFunction = (generator: AnalyticsFromDuration) => void;
25
+ // @public (undocumented)
26
+ type AnalyticsFunction = (generator: AnalyticsFromDuration) => void;
23
27
 
24
- declare interface AnalyticsProps {
28
+ // @public (undocumented)
29
+ interface AnalyticsProps {
30
+ // (undocumented)
25
31
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
26
32
  }
27
33
 
28
- export declare interface ApiClientResponse {
34
+ // @public (undocumented)
35
+ export interface ApiClientResponse {
36
+ // (undocumented)
29
37
  User: {
30
38
  id: string;
31
39
  isBot: boolean;
@@ -45,32 +53,49 @@ export declare interface ApiClientResponse {
45
53
  };
46
54
  }
47
55
 
48
- declare interface CacheConfig {
49
- cacheSize?: number;
56
+ // @public (undocumented)
57
+ interface CacheConfig {
58
+ // (undocumented)
50
59
  cacheMaxAge?: number;
60
+ // (undocumented)
61
+ cacheSize?: number;
51
62
  }
52
63
 
53
- declare interface CachedData<T> {
64
+ // @public (undocumented)
65
+ interface CachedData<T> {
66
+ // (undocumented)
54
67
  expire: number;
68
+ // (undocumented)
55
69
  profile: T;
56
70
  }
57
71
 
58
- declare class CachingClient<T> {
59
- config: Required<CacheConfig>;
60
- cache: LRUCache<string, CachedData<T>> | null;
72
+ // @public (undocumented)
73
+ class CachingClient<T> {
61
74
  constructor(config: CacheConfig);
62
- setCachedProfile(cacheIdentifier: string, profile: T): void;
63
- getCachedProfile(cacheIdentifier: string): T | null;
75
+ // (undocumented)
76
+ cache: LRUCache<string, CachedData<T>> | null;
77
+ // (undocumented)
78
+ config: Required<CacheConfig>;
79
+ // (undocumented)
64
80
  flushCache(): void;
81
+ // (undocumented)
82
+ getCachedProfile(cacheIdentifier: string): T | null;
83
+ // (undocumented)
84
+ setCachedProfile(cacheIdentifier: string, profile: T): void;
65
85
  }
66
86
 
67
- declare interface ClientOverrides {
68
- userClient?: UserProfileClient;
69
- teamClient?: TeamProfileClient;
87
+ // @public (undocumented)
88
+ interface ClientOverrides {
89
+ // (undocumented)
70
90
  teamCentralClient?: TeamCentralCardClient;
91
+ // (undocumented)
92
+ teamClient?: TeamProfileClient;
93
+ // (undocumented)
94
+ userClient?: UserProfileClient;
71
95
  }
72
96
 
73
- declare const _default: React_2.ForwardRefExoticComponent<
97
+ // @public (undocumented)
98
+ const _default: React_2.ForwardRefExoticComponent<
74
99
  Pick<
75
100
  Omit<
76
101
  ProfileCardResourcedProps & AnalyticsProps,
@@ -92,16 +117,20 @@ declare const _default: React_2.ForwardRefExoticComponent<
92
117
  >;
93
118
  export default _default;
94
119
 
95
- export declare const DELAY_MS_HIDE = 200;
120
+ // @public (undocumented)
121
+ export const DELAY_MS_HIDE = 200;
96
122
 
97
- export declare const DELAY_MS_SHOW = 800;
123
+ // @public (undocumented)
124
+ export const DELAY_MS_SHOW = 800;
98
125
 
99
- declare type FeatureFlagExtraContext = {
126
+ // @public (undocumented)
127
+ type FeatureFlagExtraContext = {
100
128
  key: string;
101
129
  value: string;
102
130
  };
103
131
 
104
- declare type LozengeColor =
132
+ // @public (undocumented)
133
+ type LozengeColor =
105
134
  | 'default'
106
135
  | 'success'
107
136
  | 'removed'
@@ -109,123 +138,191 @@ declare type LozengeColor =
109
138
  | 'new'
110
139
  | 'moved';
111
140
 
112
- declare interface LozengeProps {
113
- text: React_2.ReactNode;
141
+ // @public (undocumented)
142
+ interface LozengeProps {
143
+ // (undocumented)
114
144
  appearance?: LozengeColor;
145
+ // (undocumented)
115
146
  isBold?: boolean;
147
+ // (undocumented)
148
+ text: React_2.ReactNode;
116
149
  }
117
150
 
118
- export declare interface MessageIntlProviderProps {
151
+ // @public (undocumented)
152
+ export interface MessageIntlProviderProps {
153
+ // (undocumented)
119
154
  children: React_2.ReactNode;
155
+ // (undocumented)
120
156
  intl: IntlShape;
121
157
  }
122
158
 
123
- /**
124
- * Transform response from GraphQL
125
- * - Prefix `timestring` with `remoteWeekdayString` depending on `remoteWeekdayIndex`
126
- * - Remove properties which will be not used later
127
- * @ignore
128
- * @param {object} response
129
- * @return {object}
130
- */
131
- export declare const modifyResponse: (
159
+ // @public
160
+ export const modifyResponse: (
132
161
  response: ApiClientResponse,
133
162
  ) => ProfileCardClientData;
134
163
 
135
- export declare const ProfileCard: React_2.ForwardRefExoticComponent<
164
+ // @public (undocumented)
165
+ export const ProfileCard: React_2.ForwardRefExoticComponent<
136
166
  Omit<ProfilecardProps & AnalyticsProps, keyof WithAnalyticsEventsProps> &
137
167
  React_2.RefAttributes<any>
138
168
  >;
139
169
 
140
- export declare interface ProfileCardAction {
170
+ // @public (undocumented)
171
+ export interface ProfileCardAction {
172
+ // (undocumented)
141
173
  callback?: (...args: any[]) => any;
142
- shouldRender?: (data: any) => boolean;
174
+ // (undocumented)
143
175
  id?: string;
176
+ // (undocumented)
144
177
  label: React_2.ReactNode;
178
+ // (undocumented)
145
179
  link?: string;
180
+ // (undocumented)
181
+ shouldRender?: (data: any) => boolean;
146
182
  }
147
183
 
148
- export declare interface ProfileCardClientData {
149
- isBot: boolean;
150
- isCurrentUser: boolean;
184
+ // @public (undocumented)
185
+ export interface ProfileCardClientData {
186
+ // (undocumented)
151
187
  avatarUrl?: string;
188
+ // (undocumented)
189
+ companyName?: string;
190
+ // (undocumented)
191
+ customLozenges?: LozengeProps[];
192
+ // (undocumented)
152
193
  email?: string;
194
+ // (undocumented)
153
195
  fullName?: string;
196
+ // (undocumented)
197
+ isBot: boolean;
198
+ // (undocumented)
199
+ isCurrentUser: boolean;
200
+ // (undocumented)
154
201
  location?: string;
202
+ // (undocumented)
155
203
  meta?: string;
204
+ // (undocumented)
156
205
  nickname?: string;
157
- companyName?: string;
158
- timestring?: string;
206
+ // (undocumented)
159
207
  status: StatusType;
208
+ // (undocumented)
160
209
  statusModifiedDate?: number | null;
161
- customLozenges?: LozengeProps[];
210
+ // (undocumented)
211
+ timestring?: string;
162
212
  }
163
213
 
164
- export declare type ProfileCardErrorType = {
214
+ // @public (undocumented)
215
+ export type ProfileCardErrorType = {
165
216
  reason: 'default' | 'NotFound';
166
217
  } | null;
167
218
 
168
- export declare interface ProfilecardProps {
169
- isLoading?: boolean;
170
- hasError?: boolean;
171
- errorType?: ProfileCardErrorType;
172
- status?: StatusType;
173
- isBot?: boolean;
219
+ // @public (undocumented)
220
+ export interface ProfilecardProps {
221
+ // (undocumented)
222
+ actions?: ProfileCardAction[];
223
+ // (undocumented)
224
+ addFlag?: (flag: any) => void;
225
+ // (undocumented)
174
226
  avatarUrl?: string;
227
+ // (undocumented)
228
+ clientFetchProfile?: () => void;
229
+ // (undocumented)
230
+ cloudId?: string;
231
+ // (undocumented)
232
+ companyName?: string;
233
+ // (undocumented)
234
+ customLozenges?: LozengeProps[];
235
+ // (undocumented)
236
+ disabledAccountMessage?: React_2.ReactNode;
237
+ // (undocumented)
238
+ email?: string;
239
+ // (undocumented)
240
+ errorType?: ProfileCardErrorType;
241
+ // (undocumented)
175
242
  fullName?: string;
176
- meta?: string;
177
- userId?: string;
243
+ // (undocumented)
244
+ hasDisabledAccountLozenge?: boolean;
245
+ // (undocumented)
246
+ hasError?: boolean;
247
+ // (undocumented)
248
+ isBot?: boolean;
249
+ // (undocumented)
178
250
  isCurrentUser?: boolean;
179
- nickname?: string;
180
- email?: string;
251
+ // (undocumented)
252
+ isKudosEnabled?: boolean;
253
+ // (undocumented)
254
+ isLoading?: boolean;
255
+ // (undocumented)
181
256
  location?: string;
182
- companyName?: string;
183
- timestring?: string;
184
- actions?: ProfileCardAction[];
185
- clientFetchProfile?: () => void;
186
- statusModifiedDate?: number | null;
187
- withoutElevation?: boolean;
188
- /** Show manager and direct reports section on profile hover card, if available */
257
+ // (undocumented)
258
+ meta?: string;
259
+ // (undocumented)
260
+ nickname?: string;
261
+ onReportingLinesClick?: (user: ReportingLinesUser) => void;
262
+ // (undocumented)
263
+ openKudosDrawer?: () => void;
189
264
  reportingLines?: TeamCentralReportingLinesData;
190
- /** Base URL to populate href value for manager's and direct reports' user avatar */
191
265
  reportingLinesProfileUrl?: string;
192
- /** Click handler when user clicks on manager's and direct reports' user avatar, un-clickable otherwise */
193
- onReportingLinesClick?: (user: ReportingLinesUser) => void;
194
- isKudosEnabled?: boolean;
266
+ // (undocumented)
267
+ status?: StatusType;
268
+ // (undocumented)
269
+ statusModifiedDate?: number | null;
270
+ // (undocumented)
195
271
  teamCentralBaseUrl?: string;
196
- addFlag?: (flag: any) => void;
197
- cloudId?: string;
198
- disabledAccountMessage?: React_2.ReactNode;
199
- hasDisabledAccountLozenge?: boolean;
200
- customLozenges?: LozengeProps[];
201
- openKudosDrawer?: () => void;
272
+ // (undocumented)
273
+ timestring?: string;
274
+ // (undocumented)
275
+ userId?: string;
276
+ // (undocumented)
277
+ withoutElevation?: boolean;
202
278
  }
203
279
 
204
- export declare interface ProfileCardResourcedProps {
205
- userId: string;
206
- cloudId: string;
207
- resourceClient: ProfileClient_2;
280
+ // @public (undocumented)
281
+ export interface ProfileCardResourcedProps {
282
+ // (undocumented)
208
283
  actions?: ProfileCardAction[];
209
- reportingLinesProfileUrl?: string;
284
+ // (undocumented)
285
+ addFlag?: (flag: any) => void;
286
+ // (undocumented)
287
+ children?: React_2.ReactNode;
288
+ // (undocumented)
289
+ cloudId: string;
290
+ // (undocumented)
210
291
  onReportingLinesClick?: (user: ReportingLinesUser) => void;
292
+ // (undocumented)
211
293
  position?: ProfilecardTriggerPosition;
294
+ // (undocumented)
295
+ reportingLinesProfileUrl?: string;
296
+ // (undocumented)
297
+ resourceClient: ProfileClient_2;
298
+ // (undocumented)
212
299
  trigger?: TriggerType;
213
- children?: React_2.ReactNode;
214
- addFlag?: (flag: any) => void;
300
+ // (undocumented)
301
+ userId: string;
215
302
  }
216
303
 
217
- export declare interface ProfileCardResourcedState {
218
- visible?: boolean;
219
- isLoading?: boolean;
220
- hasError: boolean;
221
- error?: ProfileCardErrorType;
304
+ // @public (undocumented)
305
+ export interface ProfileCardResourcedState {
306
+ // (undocumented)
222
307
  data: ProfileCardClientData | null;
223
- reportingLinesData?: TeamCentralReportingLinesData;
308
+ // (undocumented)
309
+ error?: ProfileCardErrorType;
310
+ // (undocumented)
311
+ hasError: boolean;
312
+ // (undocumented)
224
313
  isKudosEnabled?: boolean;
314
+ // (undocumented)
315
+ isLoading?: boolean;
316
+ // (undocumented)
225
317
  kudosDrawerOpen: boolean;
318
+ // (undocumented)
319
+ reportingLinesData?: TeamCentralReportingLinesData;
320
+ // (undocumented)
321
+ visible?: boolean;
226
322
  }
227
323
 
228
- export declare const ProfileCardTrigger: React_2.ForwardRefExoticComponent<
324
+ // @public (undocumented)
325
+ export const ProfileCardTrigger: React_2.ForwardRefExoticComponent<
229
326
  Pick<
230
327
  Omit<
231
328
  ProfileCardTriggerProps & AnalyticsProps,
@@ -246,7 +343,8 @@ export declare const ProfileCardTrigger: React_2.ForwardRefExoticComponent<
246
343
  React_2.RefAttributes<any>
247
344
  >;
248
345
 
249
- export declare type ProfilecardTriggerPosition =
346
+ // @public (undocumented)
347
+ export type ProfilecardTriggerPosition =
250
348
  | 'bottom-start'
251
349
  | 'bottom'
252
350
  | 'bottom-end'
@@ -260,96 +358,127 @@ export declare type ProfilecardTriggerPosition =
260
358
  | 'right'
261
359
  | 'right-start';
262
360
 
263
- export declare interface ProfileCardTriggerProps {
264
- userId: string;
265
- /**
266
- A cloudId can be provided, and we'll verify that the target userId is an
267
- actual user in the specified site.
268
-
269
- Instead you can omit the cloudId and we won't do such a check.
270
-
271
- If you have a cloudId and only want to show users who are in that site
272
- then please provide it. If you're a site-less product or don't care about
273
- verifying that the shown user is in a particular site, don't provide a
274
- cloudId.
275
- */
276
- cloudId?: string;
277
- resourceClient: ProfileClient_2;
361
+ // @public (undocumented)
362
+ export interface ProfileCardTriggerProps {
363
+ // (undocumented)
278
364
  actions?: ProfileCardAction[];
279
- reportingLinesProfileUrl?: string;
365
+ // (undocumented)
366
+ addFlag?: (flag: any) => void;
367
+ // (undocumented)
368
+ children?: React_2.ReactNode;
369
+ cloudId?: string;
370
+ // (undocumented)
280
371
  onReportingLinesClick?: (user: ReportingLinesUser) => void;
372
+ // (undocumented)
281
373
  position?: ProfilecardTriggerPosition;
282
- trigger?: TriggerType;
283
- children?: React_2.ReactNode;
374
+ // (undocumented)
375
+ reportingLinesProfileUrl?: string;
376
+ // (undocumented)
377
+ resourceClient: ProfileClient_2;
378
+ // (undocumented)
284
379
  testId?: string;
285
- addFlag?: (flag: any) => void;
380
+ // (undocumented)
381
+ trigger?: TriggerType;
382
+ // (undocumented)
383
+ userId: string;
286
384
  }
287
385
 
288
- export declare interface ProfileCardTriggerState {
289
- visible?: boolean;
290
- isLoading?: boolean;
291
- hasError: boolean;
292
- error?: ProfileCardErrorType;
386
+ // @public (undocumented)
387
+ export interface ProfileCardTriggerState {
388
+ // (undocumented)
293
389
  data: ProfileCardClientData | null;
390
+ // (undocumented)
391
+ error?: ProfileCardErrorType;
392
+ // (undocumented)
393
+ hasError: boolean;
394
+ // (undocumented)
395
+ isLoading?: boolean;
396
+ // (undocumented)
397
+ kudosDrawerOpen: boolean;
398
+ // (undocumented)
294
399
  reportingLinesData?: TeamCentralReportingLinesData;
400
+ // (undocumented)
295
401
  shouldShowGiveKudos?: boolean;
402
+ // (undocumented)
296
403
  teamCentralBaseUrl?: string;
297
- kudosDrawerOpen: boolean;
404
+ // (undocumented)
405
+ visible?: boolean;
298
406
  }
299
407
 
300
- export declare class ProfileClient {
301
- userClient: UserProfileClient;
302
- teamClient: TeamProfileClient;
303
- tcClient?: TeamCentralCardClient;
408
+ // @public (undocumented)
409
+ export class ProfileClient {
304
410
  constructor(config: ProfileClientOptions, clients?: ClientOverrides);
411
+ // (undocumented)
305
412
  flushCache(): void;
413
+ // (undocumented)
306
414
  getProfile(
307
415
  cloudId: string,
308
416
  userId: string,
309
417
  analytics?: (event: AnalyticsEventPayload) => void,
310
418
  ): Promise<any>;
419
+ // (undocumented)
420
+ getReportingLines(userId: string): Promise<TeamCentralReportingLinesData>;
421
+ // (undocumented)
422
+ getTeamCentralBaseUrl(): string | undefined;
423
+ // (undocumented)
311
424
  getTeamProfile(
312
425
  teamId: string,
313
426
  orgId?: string,
314
427
  analytics?: (event: AnalyticsEventPayload) => void,
315
428
  ): Promise<Team>;
316
- getReportingLines(userId: string): Promise<TeamCentralReportingLinesData>;
317
- getTeamCentralBaseUrl(): string | undefined;
429
+ // (undocumented)
318
430
  shouldShowGiveKudos(): Promise<boolean>;
431
+ // (undocumented)
432
+ tcClient?: TeamCentralCardClient;
433
+ // (undocumented)
434
+ teamClient: TeamProfileClient;
435
+ // (undocumented)
436
+ userClient: UserProfileClient;
319
437
  }
320
438
 
321
- declare interface ProfileClient_2 {
439
+ // @public (undocumented)
440
+ interface ProfileClient_2 {
441
+ // (undocumented)
322
442
  flushCache: () => void;
443
+ // (undocumented)
323
444
  getProfile: (
324
445
  cloudId: string,
325
446
  userId: string,
326
447
  analytics?: (event: AnalyticsEventPayload) => void,
327
448
  ) => Promise<ProfileCardClientData>;
449
+ // (undocumented)
450
+ getReportingLines: (userId: string) => Promise<TeamCentralReportingLinesData>;
451
+ // (undocumented)
452
+ getTeamCentralBaseUrl: () => string | undefined;
453
+ // (undocumented)
328
454
  getTeamProfile: (
329
455
  teamId: string,
330
456
  orgId?: string,
331
457
  fireAnalytics?: (event: AnalyticsEventPayload) => void,
332
458
  ) => Promise<Team>;
333
- getReportingLines: (userId: string) => Promise<TeamCentralReportingLinesData>;
459
+ // (undocumented)
334
460
  shouldShowGiveKudos: () => Promise<boolean>;
335
- getTeamCentralBaseUrl: () => string | undefined;
336
461
  }
337
462
 
338
- export declare interface ProfileClientOptions {
339
- url: string;
340
- gatewayGraphqlUrl?: string;
341
- cacheSize?: number;
463
+ // @public (undocumented)
464
+ export interface ProfileClientOptions {
465
+ // (undocumented)
342
466
  cacheMaxAge?: number;
343
- /** Enables Team Central functionality if enabled e.g. /gateway/api/watermelon/graphql*/
344
- teamCentralUrl?: string;
345
- /** URL to the Team Central app e.g. team.atlassian.com */
346
- teamCentralBaseUrl?: string;
347
- /** Name of integrating product e.g. jira, atlas, confluence **/
348
- productIdentifier?: string;
467
+ // (undocumented)
468
+ cacheSize?: number;
469
+ // (undocumented)
349
470
  cloudId?: string;
471
+ // (undocumented)
472
+ gatewayGraphqlUrl?: string;
473
+ productIdentifier?: string;
474
+ teamCentralBaseUrl?: string;
475
+ teamCentralUrl?: string;
476
+ // (undocumented)
477
+ url: string;
350
478
  }
351
479
 
352
- export declare type RelativeDateKeyType =
480
+ // @public (undocumented)
481
+ export type RelativeDateKeyType =
353
482
  | 'ThisWeek'
354
483
  | 'ThisMonth'
355
484
  | 'LastMonth'
@@ -358,18 +487,26 @@ export declare type RelativeDateKeyType =
358
487
  | 'MoreThanAYear'
359
488
  | null;
360
489
 
361
- declare interface ReportingLinesUser {
490
+ // @public (undocumented)
491
+ interface ReportingLinesUser {
492
+ // (undocumented)
362
493
  accountIdentifier: string;
494
+ // (undocumented)
363
495
  identifierType: 'ATLASSIAN_ID' | 'BASE64_HASH' | 'UNKNOWN';
496
+ // (undocumented)
364
497
  pii?: ReportingLinesUserPII;
365
498
  }
366
499
 
367
- declare interface ReportingLinesUserPII {
500
+ // @public (undocumented)
501
+ interface ReportingLinesUserPII {
502
+ // (undocumented)
368
503
  name: string;
504
+ // (undocumented)
369
505
  picture?: string;
370
506
  }
371
507
 
372
- export declare type StatusModifiedDateType =
508
+ // @public (undocumented)
509
+ export type StatusModifiedDateType =
373
510
  | 'noDate'
374
511
  | 'thisWeek'
375
512
  | 'thisMonth'
@@ -378,128 +515,105 @@ export declare type StatusModifiedDateType =
378
515
  | 'severalMonths'
379
516
  | 'moreThanAYear';
380
517
 
381
- export declare type StatusType = 'active' | 'inactive' | 'closed';
518
+ // @public (undocumented)
519
+ export type StatusType = 'active' | 'inactive' | 'closed';
382
520
 
383
- export declare interface Team {
521
+ // @public (undocumented)
522
+ export interface Team {
523
+ // (undocumented)
524
+ description: string;
525
+ // (undocumented)
526
+ displayName: string;
527
+ // (undocumented)
528
+ id: string;
529
+ // (undocumented)
384
530
  largeAvatarImageUrl?: string;
385
- smallAvatarImageUrl?: string;
531
+ // (undocumented)
386
532
  largeHeaderImageUrl?: string;
387
- smallHeaderImageUrl?: string;
388
- id: string;
389
- displayName: string;
390
- description: string;
391
- organizationId?: string;
533
+ // (undocumented)
392
534
  members?: {
393
535
  id: string;
394
536
  fullName: string;
395
537
  avatarUrl: string;
396
538
  }[];
539
+ // (undocumented)
540
+ organizationId?: string;
541
+ // (undocumented)
542
+ smallAvatarImageUrl?: string;
543
+ // (undocumented)
544
+ smallHeaderImageUrl?: string;
397
545
  }
398
546
 
399
- declare class TeamCentralCardClient extends CachingClient<
547
+ // @public (undocumented)
548
+ class TeamCentralCardClient extends CachingClient<
400
549
  TeamCentralReportingLinesData
401
550
  > {
402
- options: TeamCentralCardClientOptions;
403
- /**
404
- * Simple circuit breaker to avoid making unnecessary calls to Team Central on auth failures
405
- * This is to handle the case where products may have provided teamCentralUrl, but the site itself
406
- * doesn't actually have any TC product.
407
- *
408
- * There's currently no way to reset this circuit breaker, but that's fine. This is meant to
409
- * catch a pretty specific edge case.
410
- */
551
+ constructor(options: TeamCentralCardClientOptions);
411
552
  bypassOnFailure: boolean;
553
+ // (undocumented)
554
+ createTcReadyPromise(config: ProfileClientOptions): Promise<boolean>;
555
+ // (undocumented)
412
556
  featureFlagKeys: Map<string, boolean>;
557
+ // (undocumented)
558
+ getFlagEnabled(
559
+ featureKey: string,
560
+ productIdentifier?: string,
561
+ ): Promise<boolean>;
562
+ // (undocumented)
563
+ getReportingLines(userId: string): Promise<TeamCentralReportingLinesData>;
564
+ // (undocumented)
413
565
  isTCReadyPromise: Promise<boolean>;
414
- constructor(options: TeamCentralCardClientOptions);
415
- createTcReadyPromise(config: ProfileClientOptions): Promise<boolean>;
566
+ // (undocumented)
416
567
  makeFeatureFlagCheckRequest(
417
568
  featureKey: string,
418
569
  context?: FeatureFlagExtraContext[],
419
570
  ): Promise<boolean>;
571
+ // (undocumented)
420
572
  makeRequest(userId: string): Promise<TeamCentralReportingLinesData>;
421
- getReportingLines(userId: string): Promise<TeamCentralReportingLinesData>;
422
- getFlagEnabled(
423
- featureKey: string,
424
- productIdentifier?: string,
425
- ): Promise<boolean>;
426
- private filterReportingLinesUser;
573
+ // (undocumented)
574
+ options: TeamCentralCardClientOptions;
427
575
  }
428
576
 
429
- declare type TeamCentralCardClientOptions = ProfileClientOptions & {
577
+ // @public (undocumented)
578
+ type TeamCentralCardClientOptions = ProfileClientOptions & {
430
579
  teamCentralUrl: string;
431
580
  };
432
581
 
433
- declare interface TeamCentralReportingLinesData {
582
+ // @public (undocumented)
583
+ interface TeamCentralReportingLinesData {
584
+ // (undocumented)
434
585
  managers?: ReportingLinesUser[];
586
+ // (undocumented)
435
587
  reports?: ReportingLinesUser[];
436
588
  }
437
589
 
438
- export declare const TeamProfileCard: (
590
+ // @public (undocumented)
591
+ export const TeamProfileCard: (
439
592
  props: TeamProfilecardProps,
440
593
  ) => JSX.Element | null;
441
594
 
442
- declare interface TeamProfilecardCoreProps {
443
- /**
444
- The id of the user viewing the profile card.
445
-
446
- This is used to determine whether to say that the member count is
447
- "including you" or not.
448
- */
449
- viewingUserId?: string;
450
- /**
451
- A list of extra buttons to be displayed at the bottom of the card.
452
- View Profile is always included by default.
453
- */
595
+ // @public (undocumented)
596
+ interface TeamProfilecardCoreProps {
454
597
  actions?: ProfileCardAction[];
455
- /**
456
- A function allowing products to provide an href for the user avatars in the
457
- profilecard, e.g. so they can link to user's profile pages.
458
- */
459
598
  generateUserLink?: (userId: string) => string;
460
- /**
461
- A function allowing products to provide an onClick handler for when the
462
- user clicks on a user's avatar or avatar group item.
463
- */
464
599
  onUserClick?: (userId: string, event: React_2.MouseEvent<Element>) => void;
465
- /**
466
- This should be a link to the team's profile page. This will be used for:
467
-
468
- - Wrapping the trigger in a link to the team profile page (unless
469
- triggerLinkType is `none`).
470
-
471
- - Providing the link for the View Profile action button on the card.
472
- */
600
+ viewingUserId?: string;
473
601
  viewProfileLink: string;
474
- /**
475
- An onClick action that navigates to the team's profile page. Something you
476
- may want, e.g. for an SPA site or tracking analytics of navigation. This
477
- is optional, just the viewProfileLink will suffice. Will be used for:
478
-
479
- - Adding an onClick to the trigger if the triggerLinkType is
480
- `clickable-link`.
481
-
482
- - Providing an onClick for the View Profile action button on the card.
483
- */
484
602
  viewProfileOnClick?: (event?: React_2.MouseEvent<Element>) => void;
485
603
  }
486
604
 
487
- declare interface TeamProfilecardProps extends TeamProfilecardCoreProps {
488
- /** Indicates whether the team's details are still loading. */
489
- isLoading?: boolean;
490
- /** Indicates whether an error occurred whilst fetching team details. */
491
- hasError?: boolean;
492
- /** Describes the type of error that occurred, if any. */
605
+ // @public (undocumented)
606
+ interface TeamProfilecardProps extends TeamProfilecardCoreProps {
607
+ analytics: AnalyticsFunction;
608
+ clientFetchProfile?: () => void;
493
609
  errorType?: ProfileCardErrorType;
494
- /** The details of the team to be shown. */
610
+ hasError?: boolean;
611
+ isLoading?: boolean;
495
612
  team?: Team;
496
- /** A callback that will try to re-fetch data in case an error occurred. */
497
- clientFetchProfile?: () => void;
498
- /** Details relevant to passing around analytics. */
499
- analytics: AnalyticsFunction;
500
613
  }
501
614
 
502
- export declare const TeamProfileCardTrigger: React_2.ForwardRefExoticComponent<
615
+ // @public (undocumented)
616
+ export const TeamProfileCardTrigger: React_2.ForwardRefExoticComponent<
503
617
  Pick<
504
618
  Omit<
505
619
  TeamProfileCardTriggerProps & AnalyticsProps,
@@ -520,110 +634,69 @@ export declare const TeamProfileCardTrigger: React_2.ForwardRefExoticComponent<
520
634
  React_2.RefAttributes<any>
521
635
  >;
522
636
 
523
- declare interface TeamProfileCardTriggerProps extends TeamProfilecardCoreProps {
524
- /** The id of the team. */
525
- teamId: string;
526
- /**
527
- The id of the organization that the team belongs to.
528
- Currently this is unused, but will become necessary in the future.
529
- */
637
+ // @public (undocumented)
638
+ interface TeamProfileCardTriggerProps extends TeamProfilecardCoreProps {
639
+ addFlag?: (flag: any) => void;
640
+ children?: React_2.ReactNode;
641
+ cloudId?: string;
530
642
  orgId: string;
531
- /** An instance of ProfileClient. */
532
- resourceClient: ProfileClient_2;
533
- /**
534
- The position relative to the trigger that the card should be displayed in.
535
- */
536
643
  position?: ProfilecardTriggerPosition;
537
- /**
538
- The interaction method used to trigger the team profile card to appear.
539
-
540
- - Click is generally recommended, but your needs may vary.
541
-
542
- - Hover works for mouse users, but does not support those who use a
543
- keyboard or screen reader, avoid using this if it's possible or makes
544
- sense.
545
-
546
- - Hover-click is usable for scenarios like inline-edits, where mouse users
547
- cannot click on the trigger without causing side effects, but keyboard
548
- users are still able to navigate into and trigger the profile card.
549
-
550
- Look at the "Team Profilecard Trigger" or "Trigger Link Types" examples to
551
- see how they behave, or ask in #team-twp-people-teams on Slack for our
552
- recommendations.
553
- */
644
+ resourceClient: ProfileClient_2;
645
+ teamId: string;
554
646
  trigger?: 'hover' | 'click' | 'hover-click';
555
- /**
556
- We generally prefer to wrap the trigger in a link to the team profile
557
- page. This prop determines how that link behaves.
558
-
559
- - Link is generally the recommended prop (especially in combination with
560
- click or hover-click for the trigger prop above). It wraps the trigger in
561
- an anchor tag with the team profile link (that users can interact with
562
- via middle-click, etc.), but left clicking on the link is suppressed.
563
-
564
- - None does not wrap the trigger in a link at all. This makes it difficult
565
- for keyboard or screen reader users to know how to trigger the profile
566
- card. Generally avoid this.
567
-
568
- - Clickable-link wraps the trigger in a link with no special behaviour.
569
- This is suitable for places where you want the trigger to serve primarily
570
- as a link, and optionally allow hovering to preview the team first.
571
-
572
- Look at the example on "Trigger Link Types" for more in-depth analysis, or
573
- ask in #team-twp-people-teams on Slack for our recommendations.
574
- */
575
647
  triggerLinkType?: 'none' | 'link' | 'clickable-link';
576
- /**
577
- This is the component that will cause a team profile card to appear when
578
- interacted with according to the method specified by the trigger prop.
579
- */
580
- children?: React_2.ReactNode;
581
- /**
582
- * Used by the card to show Flags.
583
- */
584
- addFlag?: (flag: any) => void;
585
- /**
586
- * Optional cloudId. Pass this if rendering card within a sited context.
587
- */
588
- cloudId?: string;
589
648
  }
590
649
 
591
- export declare class TeamProfileClient extends CachingClient<Team> {
592
- options: ProfileClientOptions;
650
+ // @public (undocumented)
651
+ export class TeamProfileClient extends CachingClient<Team> {
593
652
  constructor(options: ProfileClientOptions);
594
- makeRequestViaGateway(
595
- teamId: string,
596
- _orgId: string | undefined,
597
- ): Promise<Team>;
598
- makeRequest(teamId: string, orgId: string | undefined): Promise<Team>;
653
+ // (undocumented)
599
654
  getProfile(
600
655
  teamId: string,
601
656
  orgId: string | undefined,
602
657
  analytics?: (event: AnalyticsEventPayload) => void,
603
658
  ): Promise<Team>;
659
+ // (undocumented)
660
+ makeRequest(teamId: string, orgId: string | undefined): Promise<Team>;
661
+ // (undocumented)
662
+ makeRequestViaGateway(
663
+ teamId: string,
664
+ _orgId: string | undefined,
665
+ ): Promise<Team>;
666
+ // (undocumented)
667
+ options: ProfileClientOptions;
604
668
  }
605
669
 
606
- export declare type TriggerType = 'hover' | 'click';
670
+ // @public (undocumented)
671
+ export type TriggerType = 'hover' | 'click';
607
672
 
608
- export declare class UserProfileClient extends CachingClient<any> {
609
- options: ProfileClientOptions;
673
+ // @public (undocumented)
674
+ export class UserProfileClient extends CachingClient<any> {
610
675
  constructor(options: ProfileClientOptions);
611
- makeRequest(cloudId: string, userId: string): Promise<ProfileCardClientData>;
676
+ // (undocumented)
612
677
  getProfile(
613
678
  cloudId: string,
614
679
  userId: string,
615
680
  analytics?: (event: AnalyticsEventPayload) => void,
616
681
  ): Promise<any>;
682
+ // (undocumented)
683
+ makeRequest(cloudId: string, userId: string): Promise<ProfileCardClientData>;
684
+ // (undocumented)
685
+ options: ProfileClientOptions;
617
686
  }
618
687
 
619
- export declare function withOuterListeners<P>(
688
+ // @public (undocumented)
689
+ export function withOuterListeners<P>(
620
690
  Component: ComponentType<P>,
621
691
  ): React_2.ComponentClass<P & WithOuterListenersProps>;
622
692
 
623
- export declare interface WithOuterListenersProps {
693
+ // @public (undocumented)
694
+ export interface WithOuterListenersProps {
695
+ // (undocumented)
624
696
  handleClickOutside?: () => void;
697
+ // (undocumented)
625
698
  handleEscapeKeydown?: () => void;
626
699
  }
627
700
 
628
- export {};
701
+ // (No @packageDocumentation comment for this package)
629
702
  ```