@atlaskit/smart-user-picker 11.6.0 → 11.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/cjs/analytics.js +2 -99
  3. package/dist/cjs/components/SmartUserPicker.js +33 -22
  4. package/dist/cjs/createDefaultSmartPickerAttributes.js +39 -0
  5. package/dist/cjs/createEvent.js +24 -0
  6. package/dist/cjs/createSmartUserPickerEvent.js +17 -0
  7. package/dist/cjs/failedRequestUsersEvent.js +16 -0
  8. package/dist/cjs/failedUserResolversEvent.js +16 -0
  9. package/dist/cjs/filterUsersEvent.js +16 -0
  10. package/dist/cjs/index.js +4 -3
  11. package/dist/cjs/mountedWithPrefetchEvent.js +16 -0
  12. package/dist/cjs/packageName.js +7 -0
  13. package/dist/cjs/packageVersion.js +7 -0
  14. package/dist/cjs/preparedUsersLoadedEvent.js +16 -0
  15. package/dist/cjs/requestUsersEvent.js +16 -0
  16. package/dist/cjs/service/default-value-hydration-client.js +3 -3
  17. package/dist/cjs/service/users-transformer.js +9 -9
  18. package/dist/cjs/startSession.js +20 -0
  19. package/dist/cjs/successfulRequestUsersEvent.js +16 -0
  20. package/dist/es2019/analytics.js +1 -94
  21. package/dist/es2019/components/SmartUserPicker.js +16 -3
  22. package/dist/es2019/createDefaultSmartPickerAttributes.js +37 -0
  23. package/dist/es2019/createEvent.js +12 -0
  24. package/dist/es2019/createSmartUserPickerEvent.js +5 -0
  25. package/dist/es2019/failedRequestUsersEvent.js +6 -0
  26. package/dist/es2019/failedUserResolversEvent.js +6 -0
  27. package/dist/es2019/filterUsersEvent.js +6 -0
  28. package/dist/es2019/index.js +2 -1
  29. package/dist/es2019/mountedWithPrefetchEvent.js +6 -0
  30. package/dist/es2019/packageName.js +1 -0
  31. package/dist/es2019/packageVersion.js +1 -0
  32. package/dist/es2019/preparedUsersLoadedEvent.js +6 -0
  33. package/dist/es2019/requestUsersEvent.js +6 -0
  34. package/dist/es2019/service/default-value-hydration-client.js +1 -1
  35. package/dist/es2019/service/users-transformer.js +1 -1
  36. package/dist/es2019/startSession.js +11 -0
  37. package/dist/es2019/successfulRequestUsersEvent.js +6 -0
  38. package/dist/esm/analytics.js +1 -99
  39. package/dist/esm/components/SmartUserPicker.js +16 -3
  40. package/dist/esm/createDefaultSmartPickerAttributes.js +33 -0
  41. package/dist/esm/createEvent.js +17 -0
  42. package/dist/esm/createSmartUserPickerEvent.js +10 -0
  43. package/dist/esm/failedRequestUsersEvent.js +9 -0
  44. package/dist/esm/failedUserResolversEvent.js +9 -0
  45. package/dist/esm/filterUsersEvent.js +9 -0
  46. package/dist/esm/index.js +2 -1
  47. package/dist/esm/mountedWithPrefetchEvent.js +9 -0
  48. package/dist/esm/packageName.js +1 -0
  49. package/dist/esm/packageVersion.js +1 -0
  50. package/dist/esm/preparedUsersLoadedEvent.js +9 -0
  51. package/dist/esm/requestUsersEvent.js +9 -0
  52. package/dist/esm/service/default-value-hydration-client.js +1 -1
  53. package/dist/esm/service/users-transformer.js +1 -1
  54. package/dist/esm/startSession.js +13 -0
  55. package/dist/esm/successfulRequestUsersEvent.js +9 -0
  56. package/dist/types/analytics.d.ts +1 -9
  57. package/dist/types/components/SmartUserPicker.d.ts +1 -1
  58. package/dist/types/createDefaultSmartPickerAttributes.d.ts +1 -0
  59. package/dist/types/createEvent.d.ts +2 -0
  60. package/dist/types/createSmartUserPickerEvent.d.ts +2 -0
  61. package/dist/types/failedRequestUsersEvent.d.ts +2 -0
  62. package/dist/types/failedUserResolversEvent.d.ts +2 -0
  63. package/dist/types/filterUsersEvent.d.ts +2 -0
  64. package/dist/types/index.d.ts +2 -1
  65. package/dist/types/mountedWithPrefetchEvent.d.ts +2 -0
  66. package/dist/types/packageName.d.ts +1 -0
  67. package/dist/types/packageVersion.d.ts +1 -0
  68. package/dist/types/preparedUsersLoadedEvent.d.ts +2 -0
  69. package/dist/types/requestUsersEvent.d.ts +2 -0
  70. package/dist/types/service/constants.d.ts +1 -1
  71. package/dist/types/service/default-value-hydration-client.d.ts +1 -1
  72. package/dist/types/service/recommendation-client.d.ts +1 -1
  73. package/dist/types/service/teams-client.d.ts +1 -1
  74. package/dist/types/service/users-client.d.ts +1 -1
  75. package/dist/types/service/users-transformer.d.ts +1 -1
  76. package/dist/types/startSession.d.ts +2 -0
  77. package/dist/types/successfulRequestUsersEvent.d.ts +2 -0
  78. package/dist/types/types.d.ts +1 -1
  79. package/package.json +5 -5
  80. package/dist/cjs/service/index.js +0 -20
  81. package/dist/es2019/service/index.js +0 -2
  82. package/dist/esm/service/index.js +0 -2
  83. package/dist/types/service/index.d.ts +0 -2
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.transformUsers = void 0;
7
- var _userPicker = require("@atlaskit/user-picker");
7
+ var _types = require("@atlaskit/user-picker/types");
8
8
  var _i18n = require("../i18n");
9
- var _types = require("../types");
9
+ var _types2 = require("../types");
10
10
  var _fg = require("@atlaskit/platform-feature-flags/fg");
11
11
  var getLozenzeProperties = function getLozenzeProperties(entity, intl) {
12
12
  var _entity$attributes, _entity$attributes2, _entity$attributes3;
@@ -14,7 +14,7 @@ var getLozenzeProperties = function getLozenzeProperties(entity, intl) {
14
14
  return intl.formatMessage(_i18n.messages.memberLozengeText);
15
15
  }
16
16
  if ((_entity$attributes2 = entity.attributes) !== null && _entity$attributes2 !== void 0 && _entity$attributes2.isConfluenceExternalCollaborator) {
17
- var lozengeTooltipMessage = entity.entityType === _types.EntityType.GROUP ? _i18n.messages.guestGroupLozengeTooltip : _i18n.messages.guestUserLozengeTooltip;
17
+ var lozengeTooltipMessage = entity.entityType === _types2.EntityType.GROUP ? _i18n.messages.guestGroupLozengeTooltip : _i18n.messages.guestUserLozengeTooltip;
18
18
  return {
19
19
  text: intl.formatMessage(_i18n.messages.guestLozengeText),
20
20
  tooltip: intl.formatMessage(lozengeTooltipMessage),
@@ -29,13 +29,13 @@ var getLozenzeProperties = function getLozenzeProperties(entity, intl) {
29
29
  };
30
30
  var transformUser = function transformUser(item, intl) {
31
31
  var type = item.entityType;
32
- if (type === _types.EntityType.USER) {
32
+ if (type === _types2.EntityType.USER) {
33
33
  var _user$attributes;
34
34
  var user = item;
35
35
  var lozenge = getLozenzeProperties(user, intl);
36
36
  return {
37
37
  id: user.id,
38
- type: user.nonLicensedUser ? _userPicker.ExternalUserType : _userPicker.UserType,
38
+ type: user.nonLicensedUser ? _types.ExternalUserType : _types.UserType,
39
39
  userType: user.userType,
40
40
  avatarUrl: user.avatarUrl,
41
41
  name: user.name,
@@ -48,12 +48,12 @@ var transformUser = function transformUser(item, intl) {
48
48
  appType: user.appType !== undefined ? user.appType : (_user$attributes = user.attributes) === null || _user$attributes === void 0 ? void 0 : _user$attributes.appType
49
49
  };
50
50
  }
51
- if (type === _types.EntityType.TEAM) {
51
+ if (type === _types2.EntityType.TEAM) {
52
52
  var _team$type;
53
53
  var team = item;
54
54
  return {
55
55
  id: team.id,
56
- type: _userPicker.TeamType,
56
+ type: _types.TeamType,
57
57
  description: team.description || '',
58
58
  name: team.displayName || '',
59
59
  memberCount: team.memberCount,
@@ -66,12 +66,12 @@ var transformUser = function transformUser(item, intl) {
66
66
  state: team.state
67
67
  };
68
68
  }
69
- if (type === _types.EntityType.GROUP) {
69
+ if (type === _types2.EntityType.GROUP) {
70
70
  var group = item;
71
71
  var _lozenge = getLozenzeProperties(group, intl);
72
72
  return {
73
73
  id: group.id,
74
- type: _userPicker.GroupType,
74
+ type: _types.GroupType,
75
75
  name: group.name || '',
76
76
  lozenge: _lozenge
77
77
  };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startSession = void 0;
7
+ var _uuid = require("uuid");
8
+ // eslint-disable-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
9
+
10
+ var startSession = exports.startSession = function startSession() {
11
+ return {
12
+ // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
13
+ id: (0, _uuid.v4)(),
14
+ start: Date.now(),
15
+ inputChangeTime: Date.now(),
16
+ upCount: 0,
17
+ downCount: 0,
18
+ lastKey: undefined
19
+ };
20
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.successfulRequestUsersEvent = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _createDefaultSmartPickerAttributes = require("./createDefaultSmartPickerAttributes");
10
+ var _createSmartUserPickerEvent = require("./createSmartUserPickerEvent");
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; }
13
+ var successfulRequestUsersEvent = exports.successfulRequestUsersEvent = function successfulRequestUsersEvent(props, state) {
14
+ var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
15
+ return (0, _createSmartUserPickerEvent.createSmartUserPickerEvent)('successful', 'usersRequest', _objectSpread(_objectSpread({}, (0, _createDefaultSmartPickerAttributes.createDefaultSmartPickerAttributes)(props, state)), attributes));
16
+ };
@@ -1,95 +1,2 @@
1
- // eslint-disable-next-line @typescript-eslint/consistent-type-imports
2
1
  import createAndFireEvent from '@atlaskit/analytics-next/createAndFireEvents';
3
- // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
4
- import { v4 as uuid } from 'uuid';
5
- const packageName = "@atlaskit/smart-user-picker";
6
- const packageVersion = "11.5.1";
7
- export const startSession = () => ({
8
- // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
9
- id: uuid(),
10
- start: Date.now(),
11
- inputChangeTime: Date.now(),
12
- upCount: 0,
13
- downCount: 0,
14
- lastKey: undefined
15
- });
16
- export const createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
17
- const createEvent = (eventType, action, actionSubject, attributes = {}) => ({
18
- eventType,
19
- action,
20
- actionSubject,
21
- attributes: {
22
- packageName,
23
- packageVersion,
24
- ...attributes
25
- }
26
- });
27
- const createDefaultSmartPickerAttributes = (props, state) => {
28
- const {
29
- fieldId,
30
- objectId,
31
- containerId,
32
- childObjectId,
33
- prefetch,
34
- maxOptions,
35
- includeTeams,
36
- productKey,
37
- principalId,
38
- siteId,
39
- orgId,
40
- filterOptions
41
- } = props;
42
- const {
43
- sessionId,
44
- query
45
- } = state;
46
- const maxNumberOfResults = maxOptions || 100;
47
- return {
48
- context: fieldId,
49
- childObjectId,
50
- containerId,
51
- hasFilterOptions: Boolean(filterOptions),
52
- includeTeams,
53
- maxNumberOfResults,
54
- objectId,
55
- prefetch,
56
- principalId,
57
- productKey,
58
- queryLength: (query || '').length,
59
- siteId,
60
- orgId,
61
- sessionId
62
- };
63
- };
64
- const createSmartUserPickerEvent = (action, actionSubect, attributes = {}) => ({
65
- source: 'smart-user-picker',
66
- ...createEvent('operational', action, actionSubect, attributes)
67
- });
68
- export const preparedUsersLoadedEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('loaded', 'preparedUsers', {
69
- ...createDefaultSmartPickerAttributes(props, state),
70
- ...attributes
71
- });
72
- export const mountedWithPrefetchEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('mounted', 'prefetch', {
73
- ...createDefaultSmartPickerAttributes(props, state),
74
- ...attributes
75
- });
76
- export const filterUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('filtered', 'users', {
77
- ...createDefaultSmartPickerAttributes(props, state),
78
- ...attributes
79
- });
80
- export const requestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('requested', 'users', {
81
- ...createDefaultSmartPickerAttributes(props, state),
82
- ...attributes
83
- });
84
- export const successfulRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('successful', 'usersRequest', {
85
- ...createDefaultSmartPickerAttributes(props, state),
86
- ...attributes
87
- });
88
- export const failedRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'usersRequest', {
89
- ...createDefaultSmartPickerAttributes(props, state),
90
- ...attributes
91
- });
92
- export const failedUserResolversEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'userResolversRequest', {
93
- ...createDefaultSmartPickerAttributes(props, state),
94
- ...attributes
95
- });
2
+ export const createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
@@ -8,12 +8,25 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
8
8
  import memoizeOne from 'memoize-one';
9
9
  import { injectIntl } from 'react-intl';
10
10
  import { UFOExperienceState } from '@atlaskit/ufo/experience-state';
11
- import UserPicker, { isExternalUser, isTeam, isGroup, isUser, isValidEmail } from '@atlaskit/user-picker';
11
+ import { UserPicker } from '@atlaskit/user-picker/components/user-picker';
12
+ import { isExternalUser } from '@atlaskit/user-picker/is-external-user';
13
+ import { isTeam } from '@atlaskit/user-picker/is-team';
14
+ import { isGroup } from '@atlaskit/user-picker/is-group';
15
+ import { isUser } from '@atlaskit/user-picker/is-user';
16
+ import { isValidEmail } from '@atlaskit/user-picker/components/email-validation';
12
17
  import { fg } from '@atlaskit/platform-feature-flags/fg';
13
- import { requestUsersEvent, filterUsersEvent, preparedUsersLoadedEvent, successfulRequestUsersEvent, failedRequestUsersEvent, mountedWithPrefetchEvent, createAndFireEventInElementsChannel, failedUserResolversEvent } from '../analytics';
18
+ import { createAndFireEventInElementsChannel } from '../analytics';
19
+ import { failedRequestUsersEvent } from '../failedRequestUsersEvent';
20
+ import { failedUserResolversEvent } from '../failedUserResolversEvent';
21
+ import { filterUsersEvent } from '../filterUsersEvent';
22
+ import { mountedWithPrefetchEvent } from '../mountedWithPrefetchEvent';
23
+ import { preparedUsersLoadedEvent } from '../preparedUsersLoadedEvent';
24
+ import { requestUsersEvent } from '../requestUsersEvent';
25
+ import { successfulRequestUsersEvent } from '../successfulRequestUsersEvent';
14
26
  import MessagesIntlProvider from './MessagesIntlProvider';
15
27
  import { UserEntityType } from '../types';
16
- import { getUserRecommendations, hydrateDefaultValues } from '../service';
28
+ import getUserRecommendations from '../service/recommendation-client';
29
+ import hydrateDefaultValues from '../service/default-value-hydration-client';
17
30
  import { smartUserPickerOptionsShownUfoExperience } from '../ufoExperiences';
18
31
  const DEFAULT_DEBOUNCE_TIME_MS = 150;
19
32
  const ufoEndStateConfig = fieldId => {
@@ -0,0 +1,37 @@
1
+ export const createDefaultSmartPickerAttributes = (props, state) => {
2
+ const {
3
+ fieldId,
4
+ objectId,
5
+ containerId,
6
+ childObjectId,
7
+ prefetch,
8
+ maxOptions,
9
+ includeTeams,
10
+ productKey,
11
+ principalId,
12
+ siteId,
13
+ orgId,
14
+ filterOptions
15
+ } = props;
16
+ const {
17
+ sessionId,
18
+ query
19
+ } = state;
20
+ const maxNumberOfResults = maxOptions || 100;
21
+ return {
22
+ context: fieldId,
23
+ childObjectId,
24
+ containerId,
25
+ hasFilterOptions: Boolean(filterOptions),
26
+ includeTeams,
27
+ maxNumberOfResults,
28
+ objectId,
29
+ prefetch,
30
+ principalId,
31
+ productKey,
32
+ queryLength: (query || '').length,
33
+ siteId,
34
+ orgId,
35
+ sessionId
36
+ };
37
+ };
@@ -0,0 +1,12 @@
1
+ import { packageName } from './packageName';
2
+ import { packageVersion } from './packageVersion';
3
+ export const createEvent = (eventType, action, actionSubject, attributes = {}) => ({
4
+ eventType,
5
+ action,
6
+ actionSubject,
7
+ attributes: {
8
+ packageName,
9
+ packageVersion,
10
+ ...attributes
11
+ }
12
+ });
@@ -0,0 +1,5 @@
1
+ import { createEvent } from './createEvent';
2
+ export const createSmartUserPickerEvent = (action, actionSubect, attributes = {}) => ({
3
+ source: 'smart-user-picker',
4
+ ...createEvent('operational', action, actionSubect, attributes)
5
+ });
@@ -0,0 +1,6 @@
1
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
2
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
3
+ export const failedRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'usersRequest', {
4
+ ...createDefaultSmartPickerAttributes(props, state),
5
+ ...attributes
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
2
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
3
+ export const failedUserResolversEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'userResolversRequest', {
4
+ ...createDefaultSmartPickerAttributes(props, state),
5
+ ...attributes
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
2
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
3
+ export const filterUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('filtered', 'users', {
4
+ ...createDefaultSmartPickerAttributes(props, state),
5
+ ...attributes
6
+ });
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required, @atlaskit/volt-strict-mode/no-re-exports, @atlaskit/editor/no-re-export -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
2
  export { default } from './components';
3
- export { getUserRecommendations, hydrateDefaultValues } from './service';
3
+ export { default as getUserRecommendations } from './service/recommendation-client';
4
+ export { default as hydrateDefaultValues } from './service/default-value-hydration-client';
4
5
  export {
5
6
  //Utils
6
7
  isEmail, isTeam, isUser, isExternalUser, isValidEmail, isGroup,
@@ -0,0 +1,6 @@
1
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
2
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
3
+ export const mountedWithPrefetchEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('mounted', 'prefetch', {
4
+ ...createDefaultSmartPickerAttributes(props, state),
5
+ ...attributes
6
+ });
@@ -0,0 +1 @@
1
+ export const packageName = "@atlaskit/smart-user-picker";
@@ -0,0 +1 @@
1
+ export const packageVersion = "11.7.0";
@@ -0,0 +1,6 @@
1
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
2
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
3
+ export const preparedUsersLoadedEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('loaded', 'preparedUsers', {
4
+ ...createDefaultSmartPickerAttributes(props, state),
5
+ ...attributes
6
+ });
@@ -0,0 +1,6 @@
1
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
2
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
3
+ export const requestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('requested', 'users', {
4
+ ...createDefaultSmartPickerAttributes(props, state),
5
+ ...attributes
6
+ });
@@ -1,4 +1,4 @@
1
- import { UserType } from '@atlaskit/user-picker';
1
+ import { UserType } from '@atlaskit/user-picker/types';
2
2
  import { config } from '../config';
3
3
  import getHydratedUsersFromPrs from './users-client';
4
4
  import hydrateTeamFromLegion from './teams-client';
@@ -1,4 +1,4 @@
1
- import { ExternalUserType, GroupType, TeamType, UserType } from '@atlaskit/user-picker';
1
+ import { ExternalUserType, GroupType, TeamType, UserType } from '@atlaskit/user-picker/types';
2
2
  import { messages } from '../i18n';
3
3
  import { EntityType } from '../types';
4
4
  import { fg } from '@atlaskit/platform-feature-flags/fg';
@@ -0,0 +1,11 @@
1
+ import { v4 as uuid } from 'uuid'; // eslint-disable-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
2
+
3
+ export const startSession = () => ({
4
+ // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
5
+ id: uuid(),
6
+ start: Date.now(),
7
+ inputChangeTime: Date.now(),
8
+ upCount: 0,
9
+ downCount: 0,
10
+ lastKey: undefined
11
+ });
@@ -0,0 +1,6 @@
1
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
2
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
3
+ export const successfulRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('successful', 'usersRequest', {
4
+ ...createDefaultSmartPickerAttributes(props, state),
5
+ ...attributes
6
+ });
@@ -1,100 +1,2 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
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
- 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
- // eslint-disable-next-line @typescript-eslint/consistent-type-imports
5
1
  import createAndFireEvent from '@atlaskit/analytics-next/createAndFireEvents';
6
- // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
7
- import { v4 as uuid } from 'uuid';
8
- var packageName = "@atlaskit/smart-user-picker";
9
- var packageVersion = "11.5.1";
10
- export var startSession = function startSession() {
11
- return {
12
- // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
13
- id: uuid(),
14
- start: Date.now(),
15
- inputChangeTime: Date.now(),
16
- upCount: 0,
17
- downCount: 0,
18
- lastKey: undefined
19
- };
20
- };
21
- export var createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
22
- var createEvent = function createEvent(eventType, action, actionSubject) {
23
- var attributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
24
- return {
25
- eventType: eventType,
26
- action: action,
27
- actionSubject: actionSubject,
28
- attributes: _objectSpread({
29
- packageName: packageName,
30
- packageVersion: packageVersion
31
- }, attributes)
32
- };
33
- };
34
- var createDefaultSmartPickerAttributes = function createDefaultSmartPickerAttributes(props, state) {
35
- var fieldId = props.fieldId,
36
- objectId = props.objectId,
37
- containerId = props.containerId,
38
- childObjectId = props.childObjectId,
39
- prefetch = props.prefetch,
40
- maxOptions = props.maxOptions,
41
- includeTeams = props.includeTeams,
42
- productKey = props.productKey,
43
- principalId = props.principalId,
44
- siteId = props.siteId,
45
- orgId = props.orgId,
46
- filterOptions = props.filterOptions;
47
- var sessionId = state.sessionId,
48
- query = state.query;
49
- var maxNumberOfResults = maxOptions || 100;
50
- return {
51
- context: fieldId,
52
- childObjectId: childObjectId,
53
- containerId: containerId,
54
- hasFilterOptions: Boolean(filterOptions),
55
- includeTeams: includeTeams,
56
- maxNumberOfResults: maxNumberOfResults,
57
- objectId: objectId,
58
- prefetch: prefetch,
59
- principalId: principalId,
60
- productKey: productKey,
61
- queryLength: (query || '').length,
62
- siteId: siteId,
63
- orgId: orgId,
64
- sessionId: sessionId
65
- };
66
- };
67
- var createSmartUserPickerEvent = function createSmartUserPickerEvent(action, actionSubect) {
68
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
69
- return _objectSpread({
70
- source: 'smart-user-picker'
71
- }, createEvent('operational', action, actionSubect, attributes));
72
- };
73
- export var preparedUsersLoadedEvent = function preparedUsersLoadedEvent(props, state) {
74
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
75
- return createSmartUserPickerEvent('loaded', 'preparedUsers', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
76
- };
77
- export var mountedWithPrefetchEvent = function mountedWithPrefetchEvent(props, state) {
78
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
79
- return createSmartUserPickerEvent('mounted', 'prefetch', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
80
- };
81
- export var filterUsersEvent = function filterUsersEvent(props, state) {
82
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
83
- return createSmartUserPickerEvent('filtered', 'users', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
84
- };
85
- export var requestUsersEvent = function requestUsersEvent(props, state) {
86
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
87
- return createSmartUserPickerEvent('requested', 'users', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
88
- };
89
- export var successfulRequestUsersEvent = function successfulRequestUsersEvent(props, state) {
90
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
91
- return createSmartUserPickerEvent('successful', 'usersRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
92
- };
93
- export var failedRequestUsersEvent = function failedRequestUsersEvent(props, state) {
94
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
95
- return createSmartUserPickerEvent('failed', 'usersRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
96
- };
97
- export var failedUserResolversEvent = function failedUserResolversEvent(props, state) {
98
- var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
99
- return createSmartUserPickerEvent('failed', 'userResolversRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
100
- };
2
+ export var createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
@@ -26,12 +26,25 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
26
26
  import memoizeOne from 'memoize-one';
27
27
  import { injectIntl } from 'react-intl';
28
28
  import { UFOExperienceState } from '@atlaskit/ufo/experience-state';
29
- import UserPicker, { isExternalUser, isTeam, isGroup, isUser, isValidEmail } from '@atlaskit/user-picker';
29
+ import { UserPicker } from '@atlaskit/user-picker/components/user-picker';
30
+ import { isExternalUser } from '@atlaskit/user-picker/is-external-user';
31
+ import { isTeam } from '@atlaskit/user-picker/is-team';
32
+ import { isGroup } from '@atlaskit/user-picker/is-group';
33
+ import { isUser } from '@atlaskit/user-picker/is-user';
34
+ import { isValidEmail } from '@atlaskit/user-picker/components/email-validation';
30
35
  import { fg } from '@atlaskit/platform-feature-flags/fg';
31
- import { requestUsersEvent, filterUsersEvent, preparedUsersLoadedEvent, successfulRequestUsersEvent, failedRequestUsersEvent, mountedWithPrefetchEvent, createAndFireEventInElementsChannel, failedUserResolversEvent } from '../analytics';
36
+ import { createAndFireEventInElementsChannel } from '../analytics';
37
+ import { failedRequestUsersEvent } from '../failedRequestUsersEvent';
38
+ import { failedUserResolversEvent } from '../failedUserResolversEvent';
39
+ import { filterUsersEvent } from '../filterUsersEvent';
40
+ import { mountedWithPrefetchEvent } from '../mountedWithPrefetchEvent';
41
+ import { preparedUsersLoadedEvent } from '../preparedUsersLoadedEvent';
42
+ import { requestUsersEvent } from '../requestUsersEvent';
43
+ import { successfulRequestUsersEvent } from '../successfulRequestUsersEvent';
32
44
  import MessagesIntlProvider from './MessagesIntlProvider';
33
45
  import { UserEntityType } from '../types';
34
- import { getUserRecommendations, hydrateDefaultValues } from '../service';
46
+ import getUserRecommendations from '../service/recommendation-client';
47
+ import hydrateDefaultValues from '../service/default-value-hydration-client';
35
48
  import { smartUserPickerOptionsShownUfoExperience } from '../ufoExperiences';
36
49
  var DEFAULT_DEBOUNCE_TIME_MS = 150;
37
50
  var ufoEndStateConfig = function ufoEndStateConfig(fieldId) {
@@ -0,0 +1,33 @@
1
+ export var createDefaultSmartPickerAttributes = function createDefaultSmartPickerAttributes(props, state) {
2
+ var fieldId = props.fieldId,
3
+ objectId = props.objectId,
4
+ containerId = props.containerId,
5
+ childObjectId = props.childObjectId,
6
+ prefetch = props.prefetch,
7
+ maxOptions = props.maxOptions,
8
+ includeTeams = props.includeTeams,
9
+ productKey = props.productKey,
10
+ principalId = props.principalId,
11
+ siteId = props.siteId,
12
+ orgId = props.orgId,
13
+ filterOptions = props.filterOptions;
14
+ var sessionId = state.sessionId,
15
+ query = state.query;
16
+ var maxNumberOfResults = maxOptions || 100;
17
+ return {
18
+ context: fieldId,
19
+ childObjectId: childObjectId,
20
+ containerId: containerId,
21
+ hasFilterOptions: Boolean(filterOptions),
22
+ includeTeams: includeTeams,
23
+ maxNumberOfResults: maxNumberOfResults,
24
+ objectId: objectId,
25
+ prefetch: prefetch,
26
+ principalId: principalId,
27
+ productKey: productKey,
28
+ queryLength: (query || '').length,
29
+ siteId: siteId,
30
+ orgId: orgId,
31
+ sessionId: sessionId
32
+ };
33
+ };
@@ -0,0 +1,17 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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
+ 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
+ import { packageName } from './packageName';
5
+ import { packageVersion } from './packageVersion';
6
+ export var createEvent = function createEvent(eventType, action, actionSubject) {
7
+ var attributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
8
+ return {
9
+ eventType: eventType,
10
+ action: action,
11
+ actionSubject: actionSubject,
12
+ attributes: _objectSpread({
13
+ packageName: packageName,
14
+ packageVersion: packageVersion
15
+ }, attributes)
16
+ };
17
+ };
@@ -0,0 +1,10 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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
+ 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
+ import { createEvent } from './createEvent';
5
+ export var createSmartUserPickerEvent = function createSmartUserPickerEvent(action, actionSubect) {
6
+ var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
7
+ return _objectSpread({
8
+ source: 'smart-user-picker'
9
+ }, createEvent('operational', action, actionSubect, attributes));
10
+ };
@@ -0,0 +1,9 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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
+ 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
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
5
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
6
+ export var failedRequestUsersEvent = function failedRequestUsersEvent(props, state) {
7
+ var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
8
+ return createSmartUserPickerEvent('failed', 'usersRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
9
+ };
@@ -0,0 +1,9 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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
+ 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
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
5
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
6
+ export var failedUserResolversEvent = function failedUserResolversEvent(props, state) {
7
+ var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
8
+ return createSmartUserPickerEvent('failed', 'userResolversRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
9
+ };
@@ -0,0 +1,9 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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
+ 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
+ import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
5
+ import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
6
+ export var filterUsersEvent = function filterUsersEvent(props, state) {
7
+ var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
8
+ return createSmartUserPickerEvent('filtered', 'users', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
9
+ };
package/dist/esm/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required, @atlaskit/volt-strict-mode/no-re-exports, @atlaskit/editor/no-re-export -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
2
  export { default } from './components';
3
- export { getUserRecommendations, hydrateDefaultValues } from './service';
3
+ export { default as getUserRecommendations } from './service/recommendation-client';
4
+ export { default as hydrateDefaultValues } from './service/default-value-hydration-client';
4
5
  export {
5
6
  //Utils
6
7
  isEmail, isTeam, isUser, isExternalUser, isValidEmail, isGroup,