@atlaskit/smart-user-picker 8.4.1 → 8.5.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 +11 -0
- package/afm-jira/tsconfig.json +1 -1
- package/dist/cjs/analytics.js +2 -1
- package/dist/cjs/components/SmartUserPicker.js +59 -41
- package/dist/es2019/analytics.js +2 -0
- package/dist/es2019/components/SmartUserPicker.js +14 -2
- package/dist/esm/analytics.js +2 -0
- package/dist/esm/components/SmartUserPicker.js +60 -41
- package/dist/types/components/SmartUserPicker.d.ts +1 -0
- package/dist/types/types.d.ts +10 -0
- package/dist/types-ts4.5/components/SmartUserPicker.d.ts +1 -0
- package/dist/types-ts4.5/types.d.ts +10 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @atlassian/smart-user-picker
|
|
2
2
|
|
|
3
|
+
## 8.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`bef521afc400f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/bef521afc400f) -
|
|
8
|
+
Adds prop to set user picker & smart user picker as open/closed
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
|
|
3
14
|
## 8.4.1
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/afm-jira/tsconfig.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"extends": "../../../../tsconfig.entry-points.jira.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"target": "es5",
|
|
5
|
-
"outDir": "../../../../../tsDist/@atlaskit__smart-user-picker/app",
|
|
5
|
+
"outDir": "../../../../../jira/tsDist/@atlaskit__smart-user-picker/app",
|
|
6
6
|
"rootDir": "../",
|
|
7
7
|
"composite": true
|
|
8
8
|
},
|
package/dist/cjs/analytics.js
CHANGED
|
@@ -9,11 +9,12 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
10
10
|
var _uuid = require("uuid");
|
|
11
11
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
13
13
|
var packageName = "@atlaskit/smart-user-picker";
|
|
14
14
|
var packageVersion = "0.0.0-development";
|
|
15
15
|
var startSession = exports.startSession = function startSession() {
|
|
16
16
|
return {
|
|
17
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
17
18
|
id: (0, _uuid.v4)(),
|
|
18
19
|
start: Date.now(),
|
|
19
20
|
inputChangeTime: Date.now(),
|
|
@@ -40,7 +40,7 @@ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol
|
|
|
40
40
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
41
41
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
42
42
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
43
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
43
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
44
44
|
var DEFAULT_DEBOUNCE_TIME_MS = 150;
|
|
45
45
|
var ufoEndStateConfig = function ufoEndStateConfig(fieldId) {
|
|
46
46
|
return {
|
|
@@ -118,12 +118,12 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
118
118
|
});
|
|
119
119
|
(0, _defineProperty2.default)(_this, "memoizedFilterOptions", (0, _memoizeOne.default)(_this.filterOptions));
|
|
120
120
|
(0, _defineProperty2.default)(_this, "getUsers", (0, _debounce.default)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
121
|
-
var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeUsers, includeNonLicensedUsers, intl, maxOptions, objectId, onEmpty, onError, overrideByline, displayEmailInByline, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, transformOptions, userResolvers, enableEmailSearch, maxNumberOfResults, startTime, isEmail, recommendationsRequest, _yield$onEmpty, _query, recommendedUsers, userRecommendationsPromise, userResolversPromises, _yield$Promise$all, _yield$Promise$all2, mainRecommendations, userResolverResults, _iterator, _step, option, _iterator2, _step2, _option, elapsedTimeMilli, transformedOptions, displayedUsers, is5xxEvent, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
|
|
121
|
+
var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeTeamsUpdates, includeUsers, includeNonLicensedUsers, intl, maxOptions, objectId, onEmpty, onError, overrideByline, displayEmailInByline, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, transformOptions, userResolvers, enableEmailSearch, maxNumberOfResults, startTime, isEmail, recommendationsRequest, _yield$onEmpty, _query, recommendedUsers, userRecommendationsPromise, userResolversPromises, _yield$Promise$all, _yield$Promise$all2, mainRecommendations, userResolverResults, _iterator, _step, option, _iterator2, _step2, _option, _iterator3, _step3, _option2, elapsedTimeMilli, transformedOptions, displayedUsers, is5xxEvent, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
|
|
122
122
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
123
123
|
while (1) switch (_context.prev = _context.next) {
|
|
124
124
|
case 0:
|
|
125
125
|
_this$state = _this.state, query = _this$state.query, sessionId = _this$state.sessionId, closed = _this$state.closed;
|
|
126
|
-
_this$props = _this.props, baseUrl = _this$props.baseUrl, childObjectId = _this$props.childObjectId, containerId = _this$props.containerId, fieldId = _this$props.fieldId, includeGroups = _this$props.includeGroups, includeTeams = _this$props.includeTeams, includeUsers = _this$props.includeUsers, includeNonLicensedUsers = _this$props.includeNonLicensedUsers, intl = _this$props.intl, maxOptions = _this$props.maxOptions, objectId = _this$props.objectId, onEmpty = _this$props.onEmpty, onError = _this$props.onError, overrideByline = _this$props.overrideByline, displayEmailInByline = _this$props.displayEmailInByline, orgId = _this$props.orgId, principalId = _this$props.principalId, productAttributes = _this$props.productAttributes, productKey = _this$props.productKey, searchQueryFilter = _this$props.searchQueryFilter, siteId = _this$props.siteId, transformOptions = _this$props.transformOptions, userResolvers = _this$props.userResolvers, enableEmailSearch = _this$props.enableEmailSearch;
|
|
126
|
+
_this$props = _this.props, baseUrl = _this$props.baseUrl, childObjectId = _this$props.childObjectId, containerId = _this$props.containerId, fieldId = _this$props.fieldId, includeGroups = _this$props.includeGroups, includeTeams = _this$props.includeTeams, includeTeamsUpdates = _this$props.includeTeamsUpdates, includeUsers = _this$props.includeUsers, includeNonLicensedUsers = _this$props.includeNonLicensedUsers, intl = _this$props.intl, maxOptions = _this$props.maxOptions, objectId = _this$props.objectId, onEmpty = _this$props.onEmpty, onError = _this$props.onError, overrideByline = _this$props.overrideByline, displayEmailInByline = _this$props.displayEmailInByline, orgId = _this$props.orgId, principalId = _this$props.principalId, productAttributes = _this$props.productAttributes, productKey = _this$props.productKey, searchQueryFilter = _this$props.searchQueryFilter, siteId = _this$props.siteId, transformOptions = _this$props.transformOptions, userResolvers = _this$props.userResolvers, enableEmailSearch = _this$props.enableEmailSearch;
|
|
127
127
|
maxNumberOfResults = maxOptions || 100;
|
|
128
128
|
startTime = window.performance.now(); // Check if this is an email search
|
|
129
129
|
isEmail = enableEmailSearch && isEmailQuery(query);
|
|
@@ -225,6 +225,21 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
225
225
|
_iterator2.f();
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
|
+
if (includeTeamsUpdates) {
|
|
229
|
+
_iterator3 = _createForOfIteratorHelper(recommendedUsers);
|
|
230
|
+
try {
|
|
231
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
232
|
+
_option2 = _step3.value;
|
|
233
|
+
if ((0, _userPicker.isGroup)(_option2) || (0, _userPicker.isTeam)(_option2)) {
|
|
234
|
+
_option2.includeTeamsUpdates = includeTeamsUpdates;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
} catch (err) {
|
|
238
|
+
_iterator3.e(err);
|
|
239
|
+
} finally {
|
|
240
|
+
_iterator3.f();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
228
243
|
|
|
229
244
|
// Track if email search found matches for conditional allowEmail logic
|
|
230
245
|
if (isEmail) {
|
|
@@ -234,50 +249,50 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
234
249
|
}
|
|
235
250
|
elapsedTimeMilli = window.performance.now() - startTime;
|
|
236
251
|
if (!transformOptions) {
|
|
237
|
-
_context.next =
|
|
252
|
+
_context.next = 35;
|
|
238
253
|
break;
|
|
239
254
|
}
|
|
240
|
-
_context.next =
|
|
255
|
+
_context.next = 32;
|
|
241
256
|
return transformOptions(recommendedUsers, _query);
|
|
242
|
-
case
|
|
257
|
+
case 32:
|
|
243
258
|
_context.t0 = _context.sent;
|
|
244
|
-
_context.next =
|
|
259
|
+
_context.next = 36;
|
|
245
260
|
break;
|
|
246
|
-
case 34:
|
|
247
|
-
_context.t0 = recommendedUsers;
|
|
248
261
|
case 35:
|
|
262
|
+
_context.t0 = recommendedUsers;
|
|
263
|
+
case 36:
|
|
249
264
|
transformedOptions = _context.t0;
|
|
250
265
|
if (!(transformedOptions.length === 0 && onEmpty)) {
|
|
251
|
-
_context.next =
|
|
266
|
+
_context.next = 52;
|
|
252
267
|
break;
|
|
253
268
|
}
|
|
254
|
-
_context.next =
|
|
269
|
+
_context.next = 40;
|
|
255
270
|
return onEmpty(_query);
|
|
256
|
-
case
|
|
271
|
+
case 40:
|
|
257
272
|
_context.t3 = _yield$onEmpty = _context.sent;
|
|
258
273
|
_context.t2 = _context.t3 !== null;
|
|
259
274
|
if (!_context.t2) {
|
|
260
|
-
_context.next =
|
|
275
|
+
_context.next = 44;
|
|
261
276
|
break;
|
|
262
277
|
}
|
|
263
278
|
_context.t2 = _yield$onEmpty !== void 0;
|
|
264
|
-
case
|
|
279
|
+
case 44:
|
|
265
280
|
if (!_context.t2) {
|
|
266
|
-
_context.next =
|
|
281
|
+
_context.next = 48;
|
|
267
282
|
break;
|
|
268
283
|
}
|
|
269
284
|
_context.t4 = _yield$onEmpty;
|
|
270
|
-
_context.next =
|
|
285
|
+
_context.next = 49;
|
|
271
286
|
break;
|
|
272
|
-
case 47:
|
|
273
|
-
_context.t4 = [];
|
|
274
287
|
case 48:
|
|
288
|
+
_context.t4 = [];
|
|
289
|
+
case 49:
|
|
275
290
|
_context.t1 = _context.t4;
|
|
276
|
-
_context.next =
|
|
291
|
+
_context.next = 53;
|
|
277
292
|
break;
|
|
278
|
-
case 51:
|
|
279
|
-
_context.t1 = transformedOptions;
|
|
280
293
|
case 52:
|
|
294
|
+
_context.t1 = transformedOptions;
|
|
295
|
+
case 53:
|
|
281
296
|
displayedUsers = _context.t1;
|
|
282
297
|
_this.setState(function (state) {
|
|
283
298
|
var applicable = state.query === _query;
|
|
@@ -299,10 +314,10 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
299
314
|
loading: loading
|
|
300
315
|
};
|
|
301
316
|
});
|
|
302
|
-
_context.next =
|
|
317
|
+
_context.next = 86;
|
|
303
318
|
break;
|
|
304
|
-
case
|
|
305
|
-
_context.prev =
|
|
319
|
+
case 57:
|
|
320
|
+
_context.prev = 57;
|
|
306
321
|
_context.t5 = _context["catch"](6);
|
|
307
322
|
is5xxEvent = checkIf500Event(_context.t5.statusCode);
|
|
308
323
|
if (!closed && !onError && is5xxEvent) {
|
|
@@ -315,35 +330,35 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
315
330
|
});
|
|
316
331
|
onErrorProducedError = false;
|
|
317
332
|
defaultUsers = [];
|
|
318
|
-
_context.prev =
|
|
333
|
+
_context.prev = 64;
|
|
319
334
|
if (!onError) {
|
|
320
|
-
_context.next =
|
|
335
|
+
_context.next = 74;
|
|
321
336
|
break;
|
|
322
337
|
}
|
|
323
|
-
_context.next =
|
|
338
|
+
_context.next = 68;
|
|
324
339
|
return onError(_context.t5, recommendationsRequest);
|
|
325
|
-
case
|
|
340
|
+
case 68:
|
|
326
341
|
_context.t7 = _context.sent;
|
|
327
342
|
if (_context.t7) {
|
|
328
|
-
_context.next =
|
|
343
|
+
_context.next = 71;
|
|
329
344
|
break;
|
|
330
345
|
}
|
|
331
346
|
_context.t7 = [];
|
|
332
|
-
case
|
|
347
|
+
case 71:
|
|
333
348
|
_context.t6 = _context.t7;
|
|
334
|
-
_context.next =
|
|
349
|
+
_context.next = 75;
|
|
335
350
|
break;
|
|
336
|
-
case 73:
|
|
337
|
-
_context.t6 = [];
|
|
338
351
|
case 74:
|
|
352
|
+
_context.t6 = [];
|
|
353
|
+
case 75:
|
|
339
354
|
defaultUsers = _context.t6;
|
|
340
|
-
_context.next =
|
|
355
|
+
_context.next = 81;
|
|
341
356
|
break;
|
|
342
|
-
case
|
|
343
|
-
_context.prev =
|
|
344
|
-
_context.t8 = _context["catch"](
|
|
357
|
+
case 78:
|
|
358
|
+
_context.prev = 78;
|
|
359
|
+
_context.t8 = _context["catch"](64);
|
|
345
360
|
onErrorProducedError = true;
|
|
346
|
-
case
|
|
361
|
+
case 81:
|
|
347
362
|
if (onErrorProducedError && is5xxEvent) {
|
|
348
363
|
// Log error from fallback data source `onError` to UFO
|
|
349
364
|
_this.optionsShownUfoExperienceInstance.failure(ufoEndStateConfig(_this.props.fieldId));
|
|
@@ -360,11 +375,11 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
360
375
|
elapsedTimeMilli: _elapsedTimeMilli,
|
|
361
376
|
productAttributes: productAttributes
|
|
362
377
|
});
|
|
363
|
-
case
|
|
378
|
+
case 86:
|
|
364
379
|
case "end":
|
|
365
380
|
return _context.stop();
|
|
366
381
|
}
|
|
367
|
-
}, _callee, null, [[6,
|
|
382
|
+
}, _callee, null, [[6, 57], [64, 78]]);
|
|
368
383
|
})), (_this$props$debounceT = _this.props.debounceTime) !== null && _this$props$debounceT !== void 0 ? _this$props$debounceT : 0));
|
|
369
384
|
(0, _defineProperty2.default)(_this, "onInputChange", function (newQuery, sessionId) {
|
|
370
385
|
var query = newQuery || '';
|
|
@@ -491,6 +506,7 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
491
506
|
case 13:
|
|
492
507
|
prefetch = this.props.prefetch;
|
|
493
508
|
if (prefetch) {
|
|
509
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
494
510
|
sessionId = (0, _uuid.v4)();
|
|
495
511
|
this.fireEvent(_analytics.mountedWithPrefetchEvent, {
|
|
496
512
|
sessionId: sessionId
|
|
@@ -551,7 +567,8 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
551
567
|
onFocus: this.onFocus,
|
|
552
568
|
defaultValue: this.state.defaultValue,
|
|
553
569
|
isLoading: this.props.isLoading || this.state.loading && !this.state.closed && (!this.props.bootstrapOptions || this.state.query !== ''),
|
|
554
|
-
options: this.filterUsers()
|
|
570
|
+
options: this.filterUsers(),
|
|
571
|
+
menuIsOpen: this.props.menuIsOpen
|
|
555
572
|
})));
|
|
556
573
|
}
|
|
557
574
|
}]);
|
|
@@ -561,6 +578,7 @@ var SmartUserPickerWithoutAnalytics = exports.SmartUserPickerWithoutAnalytics =
|
|
|
561
578
|
includeUsers: true,
|
|
562
579
|
includeGroups: false,
|
|
563
580
|
includeTeams: false,
|
|
581
|
+
includeTeamsUpdates: false,
|
|
564
582
|
includeNonLicensedUsers: false,
|
|
565
583
|
displayEmailInByline: false,
|
|
566
584
|
prefetch: false,
|
package/dist/es2019/analytics.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createAndFireEvent } from '@atlaskit/analytics-next';
|
|
2
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
2
3
|
import { v4 as uuid } from 'uuid';
|
|
3
4
|
const packageName = "@atlaskit/smart-user-picker";
|
|
4
5
|
const packageVersion = "0.0.0-development";
|
|
5
6
|
export const startSession = () => ({
|
|
7
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
6
8
|
id: uuid(),
|
|
7
9
|
start: Date.now(),
|
|
8
10
|
inputChangeTime: Date.now(),
|
|
@@ -2,12 +2,13 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import debounce from 'lodash/debounce';
|
|
5
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
5
6
|
import { v4 as uuidV4 } from 'uuid';
|
|
6
7
|
import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
7
8
|
import memoizeOne from 'memoize-one';
|
|
8
9
|
import { injectIntl } from 'react-intl-next';
|
|
9
10
|
import { UFOExperienceState } from '@atlaskit/ufo';
|
|
10
|
-
import UserPicker, { isExternalUser, isTeam, isUser, isValidEmail } from '@atlaskit/user-picker';
|
|
11
|
+
import UserPicker, { isExternalUser, isTeam, isGroup, isUser, isValidEmail } from '@atlaskit/user-picker';
|
|
11
12
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
13
|
import { requestUsersEvent, filterUsersEvent, preparedUsersLoadedEvent, successfulRequestUsersEvent, failedRequestUsersEvent, mountedWithPrefetchEvent, createAndFireEventInElementsChannel, failedUserResolversEvent } from '../analytics';
|
|
13
14
|
import MessagesIntlProvider from './MessagesIntlProvider';
|
|
@@ -91,6 +92,7 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
|
|
|
91
92
|
fieldId,
|
|
92
93
|
includeGroups,
|
|
93
94
|
includeTeams,
|
|
95
|
+
includeTeamsUpdates,
|
|
94
96
|
includeUsers,
|
|
95
97
|
includeNonLicensedUsers,
|
|
96
98
|
intl,
|
|
@@ -185,6 +187,13 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
|
|
|
185
187
|
}
|
|
186
188
|
}
|
|
187
189
|
}
|
|
190
|
+
if (includeTeamsUpdates) {
|
|
191
|
+
for (let option of recommendedUsers) {
|
|
192
|
+
if (isGroup(option) || isTeam(option)) {
|
|
193
|
+
option.includeTeamsUpdates = includeTeamsUpdates;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
188
197
|
|
|
189
198
|
// Track if email search found matches for conditional allowEmail logic
|
|
190
199
|
if (isEmail) {
|
|
@@ -359,6 +368,7 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
|
|
|
359
368
|
prefetch
|
|
360
369
|
} = this.props;
|
|
361
370
|
if (prefetch) {
|
|
371
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
362
372
|
const sessionId = uuidV4();
|
|
363
373
|
this.fireEvent(mountedWithPrefetchEvent, {
|
|
364
374
|
sessionId
|
|
@@ -406,7 +416,8 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
|
|
|
406
416
|
onFocus: this.onFocus,
|
|
407
417
|
defaultValue: this.state.defaultValue,
|
|
408
418
|
isLoading: this.props.isLoading || this.state.loading && !this.state.closed && (!this.props.bootstrapOptions || this.state.query !== ''),
|
|
409
|
-
options: this.filterUsers()
|
|
419
|
+
options: this.filterUsers(),
|
|
420
|
+
menuIsOpen: this.props.menuIsOpen
|
|
410
421
|
})));
|
|
411
422
|
}
|
|
412
423
|
}
|
|
@@ -417,6 +428,7 @@ _defineProperty(SmartUserPickerWithoutAnalytics, "defaultProps", {
|
|
|
417
428
|
includeUsers: true,
|
|
418
429
|
includeGroups: false,
|
|
419
430
|
includeTeams: false,
|
|
431
|
+
includeTeamsUpdates: false,
|
|
420
432
|
includeNonLicensedUsers: false,
|
|
421
433
|
displayEmailInByline: false,
|
|
422
434
|
prefetch: false,
|
package/dist/esm/analytics.js
CHANGED
|
@@ -2,11 +2,13 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
import { createAndFireEvent } from '@atlaskit/analytics-next';
|
|
5
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
5
6
|
import { v4 as uuid } from 'uuid';
|
|
6
7
|
var packageName = "@atlaskit/smart-user-picker";
|
|
7
8
|
var packageVersion = "0.0.0-development";
|
|
8
9
|
export var startSession = function startSession() {
|
|
9
10
|
return {
|
|
11
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
10
12
|
id: uuid(),
|
|
11
13
|
start: Date.now(),
|
|
12
14
|
inputChangeTime: Date.now(),
|
|
@@ -20,12 +20,13 @@ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstruct
|
|
|
20
20
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
21
21
|
import React from 'react';
|
|
22
22
|
import debounce from 'lodash/debounce';
|
|
23
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
23
24
|
import { v4 as uuidV4 } from 'uuid';
|
|
24
25
|
import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
25
26
|
import memoizeOne from 'memoize-one';
|
|
26
27
|
import { injectIntl } from 'react-intl-next';
|
|
27
28
|
import { UFOExperienceState } from '@atlaskit/ufo';
|
|
28
|
-
import UserPicker, { isExternalUser, isTeam, isUser, isValidEmail } from '@atlaskit/user-picker';
|
|
29
|
+
import UserPicker, { isExternalUser, isTeam, isGroup, isUser, isValidEmail } from '@atlaskit/user-picker';
|
|
29
30
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
30
31
|
import { requestUsersEvent, filterUsersEvent, preparedUsersLoadedEvent, successfulRequestUsersEvent, failedRequestUsersEvent, mountedWithPrefetchEvent, createAndFireEventInElementsChannel, failedUserResolversEvent } from '../analytics';
|
|
31
32
|
import MessagesIntlProvider from './MessagesIntlProvider';
|
|
@@ -109,12 +110,12 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
109
110
|
});
|
|
110
111
|
_defineProperty(_this, "memoizedFilterOptions", memoizeOne(_this.filterOptions));
|
|
111
112
|
_defineProperty(_this, "getUsers", debounce( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
112
|
-
var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeUsers, includeNonLicensedUsers, intl, maxOptions, objectId, onEmpty, onError, overrideByline, displayEmailInByline, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, transformOptions, userResolvers, enableEmailSearch, maxNumberOfResults, startTime, isEmail, recommendationsRequest, _yield$onEmpty, _query, recommendedUsers, userRecommendationsPromise, userResolversPromises, _yield$Promise$all, _yield$Promise$all2, mainRecommendations, userResolverResults, _iterator, _step, option, _iterator2, _step2, _option, elapsedTimeMilli, transformedOptions, displayedUsers, is5xxEvent, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
|
|
113
|
+
var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeTeamsUpdates, includeUsers, includeNonLicensedUsers, intl, maxOptions, objectId, onEmpty, onError, overrideByline, displayEmailInByline, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, transformOptions, userResolvers, enableEmailSearch, maxNumberOfResults, startTime, isEmail, recommendationsRequest, _yield$onEmpty, _query, recommendedUsers, userRecommendationsPromise, userResolversPromises, _yield$Promise$all, _yield$Promise$all2, mainRecommendations, userResolverResults, _iterator, _step, option, _iterator2, _step2, _option, _iterator3, _step3, _option2, elapsedTimeMilli, transformedOptions, displayedUsers, is5xxEvent, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
|
|
113
114
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
114
115
|
while (1) switch (_context.prev = _context.next) {
|
|
115
116
|
case 0:
|
|
116
117
|
_this$state = _this.state, query = _this$state.query, sessionId = _this$state.sessionId, closed = _this$state.closed;
|
|
117
|
-
_this$props = _this.props, baseUrl = _this$props.baseUrl, childObjectId = _this$props.childObjectId, containerId = _this$props.containerId, fieldId = _this$props.fieldId, includeGroups = _this$props.includeGroups, includeTeams = _this$props.includeTeams, includeUsers = _this$props.includeUsers, includeNonLicensedUsers = _this$props.includeNonLicensedUsers, intl = _this$props.intl, maxOptions = _this$props.maxOptions, objectId = _this$props.objectId, onEmpty = _this$props.onEmpty, onError = _this$props.onError, overrideByline = _this$props.overrideByline, displayEmailInByline = _this$props.displayEmailInByline, orgId = _this$props.orgId, principalId = _this$props.principalId, productAttributes = _this$props.productAttributes, productKey = _this$props.productKey, searchQueryFilter = _this$props.searchQueryFilter, siteId = _this$props.siteId, transformOptions = _this$props.transformOptions, userResolvers = _this$props.userResolvers, enableEmailSearch = _this$props.enableEmailSearch;
|
|
118
|
+
_this$props = _this.props, baseUrl = _this$props.baseUrl, childObjectId = _this$props.childObjectId, containerId = _this$props.containerId, fieldId = _this$props.fieldId, includeGroups = _this$props.includeGroups, includeTeams = _this$props.includeTeams, includeTeamsUpdates = _this$props.includeTeamsUpdates, includeUsers = _this$props.includeUsers, includeNonLicensedUsers = _this$props.includeNonLicensedUsers, intl = _this$props.intl, maxOptions = _this$props.maxOptions, objectId = _this$props.objectId, onEmpty = _this$props.onEmpty, onError = _this$props.onError, overrideByline = _this$props.overrideByline, displayEmailInByline = _this$props.displayEmailInByline, orgId = _this$props.orgId, principalId = _this$props.principalId, productAttributes = _this$props.productAttributes, productKey = _this$props.productKey, searchQueryFilter = _this$props.searchQueryFilter, siteId = _this$props.siteId, transformOptions = _this$props.transformOptions, userResolvers = _this$props.userResolvers, enableEmailSearch = _this$props.enableEmailSearch;
|
|
118
119
|
maxNumberOfResults = maxOptions || 100;
|
|
119
120
|
startTime = window.performance.now(); // Check if this is an email search
|
|
120
121
|
isEmail = enableEmailSearch && isEmailQuery(query);
|
|
@@ -216,6 +217,21 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
216
217
|
_iterator2.f();
|
|
217
218
|
}
|
|
218
219
|
}
|
|
220
|
+
if (includeTeamsUpdates) {
|
|
221
|
+
_iterator3 = _createForOfIteratorHelper(recommendedUsers);
|
|
222
|
+
try {
|
|
223
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
224
|
+
_option2 = _step3.value;
|
|
225
|
+
if (isGroup(_option2) || isTeam(_option2)) {
|
|
226
|
+
_option2.includeTeamsUpdates = includeTeamsUpdates;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
} catch (err) {
|
|
230
|
+
_iterator3.e(err);
|
|
231
|
+
} finally {
|
|
232
|
+
_iterator3.f();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
219
235
|
|
|
220
236
|
// Track if email search found matches for conditional allowEmail logic
|
|
221
237
|
if (isEmail) {
|
|
@@ -225,50 +241,50 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
225
241
|
}
|
|
226
242
|
elapsedTimeMilli = window.performance.now() - startTime;
|
|
227
243
|
if (!transformOptions) {
|
|
228
|
-
_context.next =
|
|
244
|
+
_context.next = 35;
|
|
229
245
|
break;
|
|
230
246
|
}
|
|
231
|
-
_context.next =
|
|
247
|
+
_context.next = 32;
|
|
232
248
|
return transformOptions(recommendedUsers, _query);
|
|
233
|
-
case
|
|
249
|
+
case 32:
|
|
234
250
|
_context.t0 = _context.sent;
|
|
235
|
-
_context.next =
|
|
251
|
+
_context.next = 36;
|
|
236
252
|
break;
|
|
237
|
-
case 34:
|
|
238
|
-
_context.t0 = recommendedUsers;
|
|
239
253
|
case 35:
|
|
254
|
+
_context.t0 = recommendedUsers;
|
|
255
|
+
case 36:
|
|
240
256
|
transformedOptions = _context.t0;
|
|
241
257
|
if (!(transformedOptions.length === 0 && onEmpty)) {
|
|
242
|
-
_context.next =
|
|
258
|
+
_context.next = 52;
|
|
243
259
|
break;
|
|
244
260
|
}
|
|
245
|
-
_context.next =
|
|
261
|
+
_context.next = 40;
|
|
246
262
|
return onEmpty(_query);
|
|
247
|
-
case
|
|
263
|
+
case 40:
|
|
248
264
|
_context.t3 = _yield$onEmpty = _context.sent;
|
|
249
265
|
_context.t2 = _context.t3 !== null;
|
|
250
266
|
if (!_context.t2) {
|
|
251
|
-
_context.next =
|
|
267
|
+
_context.next = 44;
|
|
252
268
|
break;
|
|
253
269
|
}
|
|
254
270
|
_context.t2 = _yield$onEmpty !== void 0;
|
|
255
|
-
case
|
|
271
|
+
case 44:
|
|
256
272
|
if (!_context.t2) {
|
|
257
|
-
_context.next =
|
|
273
|
+
_context.next = 48;
|
|
258
274
|
break;
|
|
259
275
|
}
|
|
260
276
|
_context.t4 = _yield$onEmpty;
|
|
261
|
-
_context.next =
|
|
277
|
+
_context.next = 49;
|
|
262
278
|
break;
|
|
263
|
-
case 47:
|
|
264
|
-
_context.t4 = [];
|
|
265
279
|
case 48:
|
|
280
|
+
_context.t4 = [];
|
|
281
|
+
case 49:
|
|
266
282
|
_context.t1 = _context.t4;
|
|
267
|
-
_context.next =
|
|
283
|
+
_context.next = 53;
|
|
268
284
|
break;
|
|
269
|
-
case 51:
|
|
270
|
-
_context.t1 = transformedOptions;
|
|
271
285
|
case 52:
|
|
286
|
+
_context.t1 = transformedOptions;
|
|
287
|
+
case 53:
|
|
272
288
|
displayedUsers = _context.t1;
|
|
273
289
|
_this.setState(function (state) {
|
|
274
290
|
var applicable = state.query === _query;
|
|
@@ -290,10 +306,10 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
290
306
|
loading: loading
|
|
291
307
|
};
|
|
292
308
|
});
|
|
293
|
-
_context.next =
|
|
309
|
+
_context.next = 86;
|
|
294
310
|
break;
|
|
295
|
-
case
|
|
296
|
-
_context.prev =
|
|
311
|
+
case 57:
|
|
312
|
+
_context.prev = 57;
|
|
297
313
|
_context.t5 = _context["catch"](6);
|
|
298
314
|
is5xxEvent = checkIf500Event(_context.t5.statusCode);
|
|
299
315
|
if (!closed && !onError && is5xxEvent) {
|
|
@@ -306,35 +322,35 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
306
322
|
});
|
|
307
323
|
onErrorProducedError = false;
|
|
308
324
|
defaultUsers = [];
|
|
309
|
-
_context.prev =
|
|
325
|
+
_context.prev = 64;
|
|
310
326
|
if (!onError) {
|
|
311
|
-
_context.next =
|
|
327
|
+
_context.next = 74;
|
|
312
328
|
break;
|
|
313
329
|
}
|
|
314
|
-
_context.next =
|
|
330
|
+
_context.next = 68;
|
|
315
331
|
return onError(_context.t5, recommendationsRequest);
|
|
316
|
-
case
|
|
332
|
+
case 68:
|
|
317
333
|
_context.t7 = _context.sent;
|
|
318
334
|
if (_context.t7) {
|
|
319
|
-
_context.next =
|
|
335
|
+
_context.next = 71;
|
|
320
336
|
break;
|
|
321
337
|
}
|
|
322
338
|
_context.t7 = [];
|
|
323
|
-
case
|
|
339
|
+
case 71:
|
|
324
340
|
_context.t6 = _context.t7;
|
|
325
|
-
_context.next =
|
|
341
|
+
_context.next = 75;
|
|
326
342
|
break;
|
|
327
|
-
case 73:
|
|
328
|
-
_context.t6 = [];
|
|
329
343
|
case 74:
|
|
344
|
+
_context.t6 = [];
|
|
345
|
+
case 75:
|
|
330
346
|
defaultUsers = _context.t6;
|
|
331
|
-
_context.next =
|
|
347
|
+
_context.next = 81;
|
|
332
348
|
break;
|
|
333
|
-
case
|
|
334
|
-
_context.prev =
|
|
335
|
-
_context.t8 = _context["catch"](
|
|
349
|
+
case 78:
|
|
350
|
+
_context.prev = 78;
|
|
351
|
+
_context.t8 = _context["catch"](64);
|
|
336
352
|
onErrorProducedError = true;
|
|
337
|
-
case
|
|
353
|
+
case 81:
|
|
338
354
|
if (onErrorProducedError && is5xxEvent) {
|
|
339
355
|
// Log error from fallback data source `onError` to UFO
|
|
340
356
|
_this.optionsShownUfoExperienceInstance.failure(ufoEndStateConfig(_this.props.fieldId));
|
|
@@ -351,11 +367,11 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
351
367
|
elapsedTimeMilli: _elapsedTimeMilli,
|
|
352
368
|
productAttributes: productAttributes
|
|
353
369
|
});
|
|
354
|
-
case
|
|
370
|
+
case 86:
|
|
355
371
|
case "end":
|
|
356
372
|
return _context.stop();
|
|
357
373
|
}
|
|
358
|
-
}, _callee, null, [[6,
|
|
374
|
+
}, _callee, null, [[6, 57], [64, 78]]);
|
|
359
375
|
})), (_this$props$debounceT = _this.props.debounceTime) !== null && _this$props$debounceT !== void 0 ? _this$props$debounceT : 0));
|
|
360
376
|
_defineProperty(_this, "onInputChange", function (newQuery, sessionId) {
|
|
361
377
|
var query = newQuery || '';
|
|
@@ -482,6 +498,7 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
482
498
|
case 13:
|
|
483
499
|
prefetch = this.props.prefetch;
|
|
484
500
|
if (prefetch) {
|
|
501
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
485
502
|
sessionId = uuidV4();
|
|
486
503
|
this.fireEvent(mountedWithPrefetchEvent, {
|
|
487
504
|
sessionId: sessionId
|
|
@@ -542,7 +559,8 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
|
|
|
542
559
|
onFocus: this.onFocus,
|
|
543
560
|
defaultValue: this.state.defaultValue,
|
|
544
561
|
isLoading: this.props.isLoading || this.state.loading && !this.state.closed && (!this.props.bootstrapOptions || this.state.query !== ''),
|
|
545
|
-
options: this.filterUsers()
|
|
562
|
+
options: this.filterUsers(),
|
|
563
|
+
menuIsOpen: this.props.menuIsOpen
|
|
546
564
|
})));
|
|
547
565
|
}
|
|
548
566
|
}]);
|
|
@@ -554,6 +572,7 @@ _defineProperty(SmartUserPickerWithoutAnalytics, "defaultProps", {
|
|
|
554
572
|
includeUsers: true,
|
|
555
573
|
includeGroups: false,
|
|
556
574
|
includeTeams: false,
|
|
575
|
+
includeTeamsUpdates: false,
|
|
557
576
|
includeNonLicensedUsers: false,
|
|
558
577
|
displayEmailInByline: false,
|
|
559
578
|
prefetch: false,
|
|
@@ -12,6 +12,7 @@ export declare class SmartUserPickerWithoutAnalytics extends React.Component<Pro
|
|
|
12
12
|
includeUsers: boolean;
|
|
13
13
|
includeGroups: boolean;
|
|
14
14
|
includeTeams: boolean;
|
|
15
|
+
includeTeamsUpdates: boolean;
|
|
15
16
|
includeNonLicensedUsers: boolean;
|
|
16
17
|
displayEmailInByline: boolean;
|
|
17
18
|
prefetch: boolean;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -228,6 +228,14 @@ export interface SmartProps {
|
|
|
228
228
|
* Optional callback to provide additional user resolvers, such as for fetching and adding users from third party sources
|
|
229
229
|
*/
|
|
230
230
|
userResolvers?: Array<(query: string) => Promise<OptionData[]>>;
|
|
231
|
+
/**
|
|
232
|
+
* Whether to include teams UI updates in the resultset. @default false
|
|
233
|
+
*/
|
|
234
|
+
includeTeamsUpdates?: boolean;
|
|
235
|
+
/** Checks if the footer is focused or not. This is needed to keep the menu open when the footer is focused */
|
|
236
|
+
isFooterFocused?: boolean;
|
|
237
|
+
/** Sets if the footer is focused or not. This is needed to keep the menu open when the footer is focused */
|
|
238
|
+
setIsFooterFocused?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
231
239
|
}
|
|
232
240
|
export interface Props extends SmartProps, UserPickerProps, WithAnalyticsEventsProps {
|
|
233
241
|
/**
|
|
@@ -253,5 +261,7 @@ export interface Props extends SmartProps, UserPickerProps, WithAnalyticsEventsP
|
|
|
253
261
|
* @Mentions. For specifically trained models, please contact #search-plex.
|
|
254
262
|
*/
|
|
255
263
|
fieldId: string;
|
|
264
|
+
/** Whether the menu is open or not. */
|
|
265
|
+
menuIsOpen?: boolean;
|
|
256
266
|
}
|
|
257
267
|
export {};
|
|
@@ -12,6 +12,7 @@ export declare class SmartUserPickerWithoutAnalytics extends React.Component<Pro
|
|
|
12
12
|
includeUsers: boolean;
|
|
13
13
|
includeGroups: boolean;
|
|
14
14
|
includeTeams: boolean;
|
|
15
|
+
includeTeamsUpdates: boolean;
|
|
15
16
|
includeNonLicensedUsers: boolean;
|
|
16
17
|
displayEmailInByline: boolean;
|
|
17
18
|
prefetch: boolean;
|
|
@@ -228,6 +228,14 @@ export interface SmartProps {
|
|
|
228
228
|
* Optional callback to provide additional user resolvers, such as for fetching and adding users from third party sources
|
|
229
229
|
*/
|
|
230
230
|
userResolvers?: Array<(query: string) => Promise<OptionData[]>>;
|
|
231
|
+
/**
|
|
232
|
+
* Whether to include teams UI updates in the resultset. @default false
|
|
233
|
+
*/
|
|
234
|
+
includeTeamsUpdates?: boolean;
|
|
235
|
+
/** Checks if the footer is focused or not. This is needed to keep the menu open when the footer is focused */
|
|
236
|
+
isFooterFocused?: boolean;
|
|
237
|
+
/** Sets if the footer is focused or not. This is needed to keep the menu open when the footer is focused */
|
|
238
|
+
setIsFooterFocused?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
231
239
|
}
|
|
232
240
|
export interface Props extends SmartProps, UserPickerProps, WithAnalyticsEventsProps {
|
|
233
241
|
/**
|
|
@@ -253,5 +261,7 @@ export interface Props extends SmartProps, UserPickerProps, WithAnalyticsEventsP
|
|
|
253
261
|
* @Mentions. For specifically trained models, please contact #search-plex.
|
|
254
262
|
*/
|
|
255
263
|
fieldId: string;
|
|
264
|
+
/** Whether the menu is open or not. */
|
|
265
|
+
menuIsOpen?: boolean;
|
|
256
266
|
}
|
|
257
267
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/smart-user-picker",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.5.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@atlaskit/analytics-next": "^11.1.0",
|
|
39
39
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
40
40
|
"@atlaskit/ufo": "^0.4.0",
|
|
41
|
-
"@atlaskit/user-picker": "^11.
|
|
41
|
+
"@atlaskit/user-picker": "^11.17.0",
|
|
42
42
|
"@babel/runtime": "^7.0.0",
|
|
43
43
|
"lodash": "^4.17.21",
|
|
44
44
|
"memoize-one": "^6.0.0",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"react-dom": "^18.2.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@atlaskit/select": "^21.
|
|
53
|
+
"@atlaskit/select": "^21.4.0",
|
|
54
54
|
"@atlaskit/util-data-test": "^18.3.0",
|
|
55
55
|
"@testing-library/dom": "^10.1.0",
|
|
56
56
|
"@testing-library/react": "^13.4.0",
|