@atlaskit/smart-user-picker 6.0.6 → 6.1.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.
Files changed (125) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/components/SmartUserPicker.js +178 -175
  3. package/dist/cjs/i18n/cs.js +3 -2
  4. package/dist/cjs/i18n/da.js +3 -2
  5. package/dist/cjs/i18n/de.js +3 -2
  6. package/dist/cjs/i18n/en.js +17 -5
  7. package/dist/cjs/i18n/en_GB.js +17 -5
  8. package/dist/cjs/i18n/en_ZZ.js +3 -2
  9. package/dist/cjs/i18n/es.js +3 -2
  10. package/dist/cjs/i18n/fi.js +3 -2
  11. package/dist/cjs/i18n/fr.js +3 -2
  12. package/dist/cjs/i18n/hu.js +3 -2
  13. package/dist/cjs/i18n/it.js +3 -2
  14. package/dist/cjs/i18n/ja.js +3 -2
  15. package/dist/cjs/i18n/ko.js +3 -2
  16. package/dist/cjs/i18n/nb.js +3 -2
  17. package/dist/cjs/i18n/nl.js +3 -2
  18. package/dist/cjs/i18n/pl.js +3 -2
  19. package/dist/cjs/i18n/pt_BR.js +3 -2
  20. package/dist/cjs/i18n/ru.js +3 -2
  21. package/dist/cjs/i18n/sv.js +3 -2
  22. package/dist/cjs/i18n/th.js +3 -2
  23. package/dist/cjs/i18n/tr.js +3 -2
  24. package/dist/cjs/i18n/uk.js +3 -2
  25. package/dist/cjs/i18n/vi.js +3 -2
  26. package/dist/cjs/i18n/zh.js +3 -2
  27. package/dist/cjs/i18n/zh_TW.js +3 -2
  28. package/dist/cjs/service/default-value-hydration-client.js +91 -97
  29. package/dist/cjs/service/recommendation-client.js +2 -1
  30. package/dist/cjs/service/users-client.js +10 -12
  31. package/dist/cjs/service/users-transformer.js +3 -3
  32. package/dist/cjs/types.js +4 -4
  33. package/dist/cjs/util/i18n-util.js +194 -196
  34. package/dist/cjs/version.json +1 -1
  35. package/dist/es2019/components/SmartUserPicker.js +8 -3
  36. package/dist/es2019/i18n/cs.js +3 -2
  37. package/dist/es2019/i18n/da.js +3 -2
  38. package/dist/es2019/i18n/de.js +3 -2
  39. package/dist/es2019/i18n/en.js +17 -5
  40. package/dist/es2019/i18n/en_GB.js +17 -5
  41. package/dist/es2019/i18n/en_ZZ.js +3 -2
  42. package/dist/es2019/i18n/es.js +3 -2
  43. package/dist/es2019/i18n/fi.js +3 -2
  44. package/dist/es2019/i18n/fr.js +3 -2
  45. package/dist/es2019/i18n/hu.js +3 -2
  46. package/dist/es2019/i18n/it.js +3 -2
  47. package/dist/es2019/i18n/ja.js +3 -2
  48. package/dist/es2019/i18n/ko.js +3 -2
  49. package/dist/es2019/i18n/nb.js +3 -2
  50. package/dist/es2019/i18n/nl.js +3 -2
  51. package/dist/es2019/i18n/pl.js +3 -2
  52. package/dist/es2019/i18n/pt_BR.js +3 -2
  53. package/dist/es2019/i18n/ru.js +3 -2
  54. package/dist/es2019/i18n/sv.js +3 -2
  55. package/dist/es2019/i18n/th.js +3 -2
  56. package/dist/es2019/i18n/tr.js +3 -2
  57. package/dist/es2019/i18n/uk.js +3 -2
  58. package/dist/es2019/i18n/vi.js +3 -2
  59. package/dist/es2019/i18n/zh.js +3 -2
  60. package/dist/es2019/i18n/zh_TW.js +3 -2
  61. package/dist/es2019/service/recommendation-client.js +2 -1
  62. package/dist/es2019/service/users-transformer.js +3 -3
  63. package/dist/es2019/types.js +5 -3
  64. package/dist/es2019/version.json +1 -1
  65. package/dist/esm/components/SmartUserPicker.js +178 -175
  66. package/dist/esm/i18n/cs.js +3 -2
  67. package/dist/esm/i18n/da.js +3 -2
  68. package/dist/esm/i18n/de.js +3 -2
  69. package/dist/esm/i18n/en.js +17 -5
  70. package/dist/esm/i18n/en_GB.js +17 -5
  71. package/dist/esm/i18n/en_ZZ.js +3 -2
  72. package/dist/esm/i18n/es.js +3 -2
  73. package/dist/esm/i18n/fi.js +3 -2
  74. package/dist/esm/i18n/fr.js +3 -2
  75. package/dist/esm/i18n/hu.js +3 -2
  76. package/dist/esm/i18n/it.js +3 -2
  77. package/dist/esm/i18n/ja.js +3 -2
  78. package/dist/esm/i18n/ko.js +3 -2
  79. package/dist/esm/i18n/nb.js +3 -2
  80. package/dist/esm/i18n/nl.js +3 -2
  81. package/dist/esm/i18n/pl.js +3 -2
  82. package/dist/esm/i18n/pt_BR.js +3 -2
  83. package/dist/esm/i18n/ru.js +3 -2
  84. package/dist/esm/i18n/sv.js +3 -2
  85. package/dist/esm/i18n/th.js +3 -2
  86. package/dist/esm/i18n/tr.js +3 -2
  87. package/dist/esm/i18n/uk.js +3 -2
  88. package/dist/esm/i18n/vi.js +3 -2
  89. package/dist/esm/i18n/zh.js +3 -2
  90. package/dist/esm/i18n/zh_TW.js +3 -2
  91. package/dist/esm/service/default-value-hydration-client.js +91 -97
  92. package/dist/esm/service/recommendation-client.js +2 -1
  93. package/dist/esm/service/users-client.js +10 -12
  94. package/dist/esm/service/users-transformer.js +3 -3
  95. package/dist/esm/types.js +5 -3
  96. package/dist/esm/util/i18n-util.js +134 -136
  97. package/dist/esm/version.json +1 -1
  98. package/dist/types/i18n/cs.d.ts +1 -1
  99. package/dist/types/i18n/da.d.ts +1 -1
  100. package/dist/types/i18n/de.d.ts +1 -1
  101. package/dist/types/i18n/en.d.ts +15 -4
  102. package/dist/types/i18n/en_GB.d.ts +15 -4
  103. package/dist/types/i18n/en_ZZ.d.ts +1 -1
  104. package/dist/types/i18n/es.d.ts +1 -1
  105. package/dist/types/i18n/fi.d.ts +1 -1
  106. package/dist/types/i18n/fr.d.ts +1 -1
  107. package/dist/types/i18n/hu.d.ts +1 -1
  108. package/dist/types/i18n/it.d.ts +1 -1
  109. package/dist/types/i18n/ja.d.ts +1 -1
  110. package/dist/types/i18n/ko.d.ts +1 -1
  111. package/dist/types/i18n/nb.d.ts +1 -1
  112. package/dist/types/i18n/nl.d.ts +1 -1
  113. package/dist/types/i18n/pl.d.ts +1 -1
  114. package/dist/types/i18n/pt_BR.d.ts +1 -1
  115. package/dist/types/i18n/ru.d.ts +1 -1
  116. package/dist/types/i18n/sv.d.ts +1 -1
  117. package/dist/types/i18n/th.d.ts +1 -1
  118. package/dist/types/i18n/tr.d.ts +1 -1
  119. package/dist/types/i18n/uk.d.ts +1 -1
  120. package/dist/types/i18n/vi.d.ts +1 -1
  121. package/dist/types/i18n/zh.d.ts +1 -1
  122. package/dist/types/i18n/zh_TW.d.ts +1 -1
  123. package/dist/types/service/recommendation-client.d.ts +4 -0
  124. package/package.json +11 -11
  125. package/tmp/api-report-tmp.d.ts +0 -268
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Korean
8
+ //Korean
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': '찾은 위치:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Norwegian Bokmål
8
+ //Norwegian (Bokmål)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Funnet på:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Dutch
8
+ //Dutch (Netherlands)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Gevonden in:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Polish
8
+ //Polish (Poland)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Znaleziono w:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Portuguese (Brazil)
8
+ //Portuguese (Brazil)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Encontrado em:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Russian
8
+ //Russian
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Найден в:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Swedish
8
+ //Swedish
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Hittades i:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Thai
8
+ //Thai (Thailand)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'พบใน:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Turkish
8
+ //Turkish (Turkey)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Bulunduğu yer:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Ukrainian
8
+ //Ukrainian (Ukraine)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Знайдено в:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Vietnamese
8
+ //Vietnamese (Vietnam)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': 'Tìm thấy trong:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // Chinese
8
+ //Chinese (Simplified)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': '发现位置:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -1,10 +1,11 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
4
- * This file is automatically generated by i18n-tools.
5
+ * This file is automatically generated by Traduki 2.0.
5
6
  * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
7
  */
7
- // undefined
8
+ //Chinese (Traditional)
8
9
  export default {
9
10
  'fabric.elements.user-picker.external.sourced.from': '尋找位置:',
10
11
  'fabric.elements.user-picker.github.provider': 'GitHub',
@@ -41,7 +41,8 @@ const getUserRecommendations = (request, intl) => {
41
41
  return response.json();
42
42
  }
43
43
  return Promise.reject({
44
- message: `error calling smart service, statusCode=${response.status}, statusText=${response.statusText}`
44
+ message: `error calling smart service, statusCode=${response.status}, statusText=${response.statusText}`,
45
+ statusCode: response.status
45
46
  });
46
47
  }).then(response => transformUsers(response, intl));
47
48
  };
@@ -1,11 +1,11 @@
1
1
  import { TeamType, UserType, GroupType } from '@atlaskit/user-picker';
2
2
  import { messages } from '../i18n';
3
- var EntityType;
4
- (function (EntityType) {
3
+ var EntityType = /*#__PURE__*/function (EntityType) {
5
4
  EntityType["USER"] = "USER";
6
5
  EntityType["TEAM"] = "TEAM";
7
6
  EntityType["GROUP"] = "GROUP";
8
- })(EntityType || (EntityType = {}));
7
+ return EntityType;
8
+ }(EntityType || {});
9
9
  const getLozenzeProperties = (entity, intl) => {
10
10
  var _entity$attributes, _entity$attributes2;
11
11
  if ((_entity$attributes = entity.attributes) !== null && _entity$attributes !== void 0 && _entity$attributes.workspaceMember) {
@@ -1,6 +1,8 @@
1
- export let EntityType;
2
- (function (EntityType) {
1
+ export let EntityType = /*#__PURE__*/function (EntityType) {
3
2
  EntityType["USER"] = "USER";
4
3
  EntityType["TEAM"] = "TEAM";
5
4
  EntityType["GROUP"] = "GROUP";
6
- })(EntityType || (EntityType = {}));
5
+ return EntityType;
6
+ }({});
7
+
8
+ // Override UserPickerProps below with replacement documentation
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-user-picker",
3
- "version": "6.0.6",
3
+ "version": "6.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -54,6 +54,9 @@ var getUsersForAnalytics = function getUsersForAnalytics(users) {
54
54
  };
55
55
  });
56
56
  };
57
+ var checkIf500Event = function checkIf500Event(statusCode) {
58
+ return 500 <= statusCode && statusCode < 600;
59
+ };
57
60
  export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Component) {
58
61
  _inherits(SmartUserPickerWithoutAnalytics, _React$Component);
59
62
  var _super = _createSuper(SmartUserPickerWithoutAnalytics);
@@ -95,154 +98,156 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
95
98
  });
96
99
  _defineProperty(_assertThisInitialized(_this), "memoizedFilterOptions", memoizeOne(_this.filterOptions));
97
100
  _defineProperty(_assertThisInitialized(_this), "getUsers", debounce( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
98
- var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeUsers, intl, maxOptions, objectId, onEmpty, onError, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, maxNumberOfResults, startTime, recommendationsRequest, _yield$onEmpty, recommendedUsers, elapsedTimeMilli, displayedUsers, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
101
+ var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeUsers, intl, maxOptions, objectId, onEmpty, onError, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, maxNumberOfResults, startTime, recommendationsRequest, _yield$onEmpty, recommendedUsers, elapsedTimeMilli, displayedUsers, is5xxEvent, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
99
102
  return _regeneratorRuntime.wrap(function _callee$(_context) {
100
- while (1) {
101
- switch (_context.prev = _context.next) {
102
- case 0:
103
- _this$state = _this.state, query = _this$state.query, sessionId = _this$state.sessionId, closed = _this$state.closed;
104
- _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, intl = _this$props.intl, maxOptions = _this$props.maxOptions, objectId = _this$props.objectId, onEmpty = _this$props.onEmpty, onError = _this$props.onError, orgId = _this$props.orgId, principalId = _this$props.principalId, productAttributes = _this$props.productAttributes, productKey = _this$props.productKey, searchQueryFilter = _this$props.searchQueryFilter, siteId = _this$props.siteId;
105
- maxNumberOfResults = maxOptions || 100;
106
- startTime = window.performance.now();
107
- recommendationsRequest = {
108
- baseUrl: baseUrl,
109
- context: {
110
- containerId: containerId,
111
- contextType: fieldId,
112
- objectId: objectId,
113
- principalId: principalId,
114
- productKey: productKey,
115
- siteId: siteId,
116
- organizationId: orgId,
117
- childObjectId: childObjectId,
118
- sessionId: sessionId,
119
- productAttributes: productAttributes
120
- },
121
- includeUsers: includeUsers,
122
- includeGroups: includeGroups,
123
- includeTeams: includeTeams,
124
- maxNumberOfResults: maxNumberOfResults,
125
- query: query,
126
- searchQueryFilter: searchQueryFilter
127
- };
128
- _context.prev = 5;
129
- _this.fireEvent(requestUsersEvent);
130
- _context.next = 9;
131
- return getUserRecommendations(recommendationsRequest, intl);
132
- case 9:
133
- recommendedUsers = _context.sent;
134
- elapsedTimeMilli = window.performance.now() - startTime;
135
- if (!(recommendedUsers.length === 0 && onEmpty)) {
136
- _context.next = 26;
137
- break;
138
- }
139
- _context.next = 14;
140
- return onEmpty(query);
141
- case 14:
142
- _context.t2 = _yield$onEmpty = _context.sent;
143
- _context.t1 = _context.t2 !== null;
144
- if (!_context.t1) {
145
- _context.next = 18;
146
- break;
147
- }
148
- _context.t1 = _yield$onEmpty !== void 0;
149
- case 18:
150
- if (!_context.t1) {
151
- _context.next = 22;
152
- break;
153
- }
154
- _context.t3 = _yield$onEmpty;
155
- _context.next = 23;
103
+ while (1) switch (_context.prev = _context.next) {
104
+ case 0:
105
+ _this$state = _this.state, query = _this$state.query, sessionId = _this$state.sessionId, closed = _this$state.closed;
106
+ _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, intl = _this$props.intl, maxOptions = _this$props.maxOptions, objectId = _this$props.objectId, onEmpty = _this$props.onEmpty, onError = _this$props.onError, orgId = _this$props.orgId, principalId = _this$props.principalId, productAttributes = _this$props.productAttributes, productKey = _this$props.productKey, searchQueryFilter = _this$props.searchQueryFilter, siteId = _this$props.siteId;
107
+ maxNumberOfResults = maxOptions || 100;
108
+ startTime = window.performance.now();
109
+ recommendationsRequest = {
110
+ baseUrl: baseUrl,
111
+ context: {
112
+ containerId: containerId,
113
+ contextType: fieldId,
114
+ objectId: objectId,
115
+ principalId: principalId,
116
+ productKey: productKey,
117
+ siteId: siteId,
118
+ organizationId: orgId,
119
+ childObjectId: childObjectId,
120
+ sessionId: sessionId,
121
+ productAttributes: productAttributes
122
+ },
123
+ includeUsers: includeUsers,
124
+ includeGroups: includeGroups,
125
+ includeTeams: includeTeams,
126
+ maxNumberOfResults: maxNumberOfResults,
127
+ query: query,
128
+ searchQueryFilter: searchQueryFilter
129
+ };
130
+ _context.prev = 5;
131
+ _this.fireEvent(requestUsersEvent);
132
+ _context.next = 9;
133
+ return getUserRecommendations(recommendationsRequest, intl);
134
+ case 9:
135
+ recommendedUsers = _context.sent;
136
+ elapsedTimeMilli = window.performance.now() - startTime;
137
+ if (!(recommendedUsers.length === 0 && onEmpty)) {
138
+ _context.next = 26;
156
139
  break;
157
- case 22:
158
- _context.t3 = [];
159
- case 23:
160
- _context.t0 = _context.t3;
161
- _context.next = 27;
140
+ }
141
+ _context.next = 14;
142
+ return onEmpty(query);
143
+ case 14:
144
+ _context.t2 = _yield$onEmpty = _context.sent;
145
+ _context.t1 = _context.t2 !== null;
146
+ if (!_context.t1) {
147
+ _context.next = 18;
162
148
  break;
163
- case 26:
164
- _context.t0 = recommendedUsers;
165
- case 27:
166
- displayedUsers = _context.t0;
167
- _this.setState(function (state) {
168
- var applicable = state.query === query;
169
- var users = applicable ? displayedUsers : state.users;
170
- var loading = !applicable;
171
- _this.fireEvent(successfulRequestUsersEvent, {
172
- users: getUsersForAnalytics(recommendedUsers),
173
- elapsedTimeMilli: elapsedTimeMilli,
174
- displayedUsers: getUsersForAnalytics(displayedUsers),
175
- productAttributes: productAttributes,
176
- applicable: applicable
177
- });
178
- return {
179
- users: users,
180
- loading: loading
181
- };
182
- });
183
- _context.next = 58;
149
+ }
150
+ _context.t1 = _yield$onEmpty !== void 0;
151
+ case 18:
152
+ if (!_context.t1) {
153
+ _context.next = 22;
184
154
  break;
185
- case 31:
186
- _context.prev = 31;
187
- _context.t4 = _context["catch"](5);
188
- if (!closed && !onError) {
189
- // If the user lookup fails while the menu is open, and the consumer is not providing a
190
- // fallback data source via the onError prop, then send UFO failure
191
- _this.optionsShownUfoExperienceInstance.failure(ufoEndStateConfig(_this.props.fieldId));
192
- }
193
- _this.setState({
194
- users: []
155
+ }
156
+ _context.t3 = _yield$onEmpty;
157
+ _context.next = 23;
158
+ break;
159
+ case 22:
160
+ _context.t3 = [];
161
+ case 23:
162
+ _context.t0 = _context.t3;
163
+ _context.next = 27;
164
+ break;
165
+ case 26:
166
+ _context.t0 = recommendedUsers;
167
+ case 27:
168
+ displayedUsers = _context.t0;
169
+ _this.setState(function (state) {
170
+ var applicable = state.query === query;
171
+ var users = applicable ? displayedUsers : state.users;
172
+ var loading = !applicable;
173
+ _this.fireEvent(successfulRequestUsersEvent, {
174
+ users: getUsersForAnalytics(recommendedUsers),
175
+ elapsedTimeMilli: elapsedTimeMilli,
176
+ displayedUsers: getUsersForAnalytics(displayedUsers),
177
+ productAttributes: productAttributes,
178
+ applicable: applicable
195
179
  });
196
- onErrorProducedError = false;
197
- defaultUsers = [];
198
- _context.prev = 37;
199
- if (!onError) {
200
- _context.next = 47;
201
- break;
202
- }
203
- _context.next = 41;
204
- return onError(_context.t4, recommendationsRequest);
205
- case 41:
206
- _context.t6 = _context.sent;
207
- if (_context.t6) {
208
- _context.next = 44;
209
- break;
210
- }
211
- _context.t6 = [];
212
- case 44:
213
- _context.t5 = _context.t6;
180
+ return {
181
+ users: users,
182
+ loading: loading
183
+ };
184
+ });
185
+ _context.next = 60;
186
+ break;
187
+ case 31:
188
+ _context.prev = 31;
189
+ _context.t4 = _context["catch"](5);
190
+ is5xxEvent = checkIf500Event(_context.t4.statusCode);
191
+ if (!closed && !onError && is5xxEvent) {
192
+ // If the user lookup fails while the menu is open, and the consumer is not providing a
193
+ // fallback data source via the onError prop, then send UFO failure
194
+ _this.optionsShownUfoExperienceInstance.failure(ufoEndStateConfig(_this.props.fieldId));
195
+ }
196
+ _this.setState({
197
+ users: []
198
+ });
199
+ onErrorProducedError = false;
200
+ defaultUsers = [];
201
+ _context.prev = 38;
202
+ if (!onError) {
214
203
  _context.next = 48;
215
204
  break;
216
- case 47:
217
- _context.t5 = [];
218
- case 48:
219
- defaultUsers = _context.t5;
220
- _context.next = 54;
205
+ }
206
+ _context.next = 42;
207
+ return onError(_context.t4, recommendationsRequest);
208
+ case 42:
209
+ _context.t6 = _context.sent;
210
+ if (_context.t6) {
211
+ _context.next = 45;
221
212
  break;
222
- case 51:
223
- _context.prev = 51;
224
- _context.t7 = _context["catch"](37);
225
- onErrorProducedError = true;
226
- case 54:
227
- if (onErrorProducedError) {
228
- // Log error from fallback data source `onError` to UFO
229
- _this.optionsShownUfoExperienceInstance.failure(ufoEndStateConfig(_this.props.fieldId));
230
- }
231
- _this.setState({
232
- users: defaultUsers,
233
- loading: false
234
- });
235
- _elapsedTimeMilli = window.performance.now() - startTime;
236
- _this.fireEvent(failedRequestUsersEvent, {
237
- elapsedTimeMilli: _elapsedTimeMilli,
238
- productAttributes: productAttributes
239
- });
240
- case 58:
241
- case "end":
242
- return _context.stop();
243
- }
213
+ }
214
+ _context.t6 = [];
215
+ case 45:
216
+ _context.t5 = _context.t6;
217
+ _context.next = 49;
218
+ break;
219
+ case 48:
220
+ _context.t5 = [];
221
+ case 49:
222
+ defaultUsers = _context.t5;
223
+ _context.next = 55;
224
+ break;
225
+ case 52:
226
+ _context.prev = 52;
227
+ _context.t7 = _context["catch"](38);
228
+ onErrorProducedError = true;
229
+ case 55:
230
+ if (onErrorProducedError && is5xxEvent) {
231
+ // Log error from fallback data source `onError` to UFO
232
+ _this.optionsShownUfoExperienceInstance.failure(ufoEndStateConfig(_this.props.fieldId));
233
+ }
234
+ if (!is5xxEvent && (!onError && !closed || onErrorProducedError)) {
235
+ _this.abortOptionsShownUfoExperience();
236
+ }
237
+ _this.setState({
238
+ users: defaultUsers,
239
+ loading: false
240
+ });
241
+ _elapsedTimeMilli = window.performance.now() - startTime;
242
+ _this.fireEvent(failedRequestUsersEvent, {
243
+ elapsedTimeMilli: _elapsedTimeMilli,
244
+ productAttributes: productAttributes
245
+ });
246
+ case 60:
247
+ case "end":
248
+ return _context.stop();
244
249
  }
245
- }, _callee, null, [[5, 31], [37, 51]]);
250
+ }, _callee, null, [[5, 31], [38, 52]]);
246
251
  })), (_this$props$debounceT = _this.props.debounceTime) !== null && _this$props$debounceT !== void 0 ? _this$props$debounceT : 0));
247
252
  _defineProperty(_assertThisInitialized(_this), "onInputChange", function (newQuery, sessionId) {
248
253
  var query = newQuery || '';
@@ -344,44 +349,42 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
344
349
  var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
345
350
  var value, defaultValue, prefetch, sessionId;
346
351
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
347
- while (1) {
348
- switch (_context2.prev = _context2.next) {
349
- case 0:
350
- _context2.prev = 0;
351
- _context2.next = 3;
352
- return hydrateDefaultValues(this.props.baseUrl, this.props.defaultValue, this.props.productKey);
353
- case 3:
354
- value = _context2.sent;
355
- this.setState({
356
- defaultValue: value
352
+ while (1) switch (_context2.prev = _context2.next) {
353
+ case 0:
354
+ _context2.prev = 0;
355
+ _context2.next = 3;
356
+ return hydrateDefaultValues(this.props.baseUrl, this.props.defaultValue, this.props.productKey);
357
+ case 3:
358
+ value = _context2.sent;
359
+ this.setState({
360
+ defaultValue: value
361
+ });
362
+ _context2.next = 13;
363
+ break;
364
+ case 7:
365
+ _context2.prev = 7;
366
+ _context2.t0 = _context2["catch"](0);
367
+ _context2.next = 11;
368
+ return this.props.onValueError ? this.props.onValueError(_context2.t0, this.props.defaultValue) || Promise.resolve([]) : Promise.resolve([]);
369
+ case 11:
370
+ defaultValue = _context2.sent;
371
+ this.setState({
372
+ defaultValue: defaultValue
373
+ });
374
+ case 13:
375
+ prefetch = this.props.prefetch;
376
+ if (prefetch) {
377
+ sessionId = uuidV4();
378
+ this.fireEvent(mountedWithPrefetchEvent, {
379
+ sessionId: sessionId
357
380
  });
358
- _context2.next = 13;
359
- break;
360
- case 7:
361
- _context2.prev = 7;
362
- _context2.t0 = _context2["catch"](0);
363
- _context2.next = 11;
364
- return this.props.onValueError ? this.props.onValueError(_context2.t0, this.props.defaultValue) || Promise.resolve([]) : Promise.resolve([]);
365
- case 11:
366
- defaultValue = _context2.sent;
367
381
  this.setState({
368
- defaultValue: defaultValue
382
+ sessionId: sessionId
369
383
  });
370
- case 13:
371
- prefetch = this.props.prefetch;
372
- if (prefetch) {
373
- sessionId = uuidV4();
374
- this.fireEvent(mountedWithPrefetchEvent, {
375
- sessionId: sessionId
376
- });
377
- this.setState({
378
- sessionId: sessionId
379
- });
380
- }
381
- case 15:
382
- case "end":
383
- return _context2.stop();
384
- }
384
+ }
385
+ case 15:
386
+ case "end":
387
+ return _context2.stop();
385
388
  }
386
389
  }, _callee2, this, [[0, 7]]);
387
390
  }));
@@ -403,7 +406,7 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
403
406
  } else if (!this.state.closed && !this.state.loading) {
404
407
  // If the component has rendered (including its dropdown list) and it
405
408
  // is not loading anything further, send the success UFO event
406
- if (![UFOExperienceState.FAILED.id, UFOExperienceState.SUCCEEDED.id].includes(this.optionsShownUfoExperienceInstance.state.id)) {
409
+ if (![UFOExperienceState.FAILED.id, UFOExperienceState.SUCCEEDED.id, UFOExperienceState.ABORTED.id].includes(this.optionsShownUfoExperienceInstance.state.id)) {
407
410
  this.optionsShownUfoExperienceInstance.success(ufoEndStateConfig(this.props.fieldId));
408
411
  }
409
412
  }