@atlaskit/smart-user-picker 8.0.0 → 8.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 (58) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/CONTRIBUTING.md +1 -0
  3. package/afm-cc/tsconfig.json +33 -27
  4. package/afm-dev-agents/tsconfig.json +35 -0
  5. package/afm-jira/tsconfig.json +7 -1
  6. package/afm-post-office/tsconfig.json +7 -1
  7. package/afm-rovo-extension/tsconfig.json +35 -0
  8. package/afm-townsquare/tsconfig.json +35 -0
  9. package/afm-volt/tsconfig.json +29 -0
  10. package/build/tsconfig.json +8 -2
  11. package/dist/cjs/analytics.js +1 -1
  12. package/dist/cjs/components/MessagesIntlProvider.js +1 -2
  13. package/dist/cjs/components/SmartUserPicker.js +73 -59
  14. package/dist/cjs/config/index.js +2 -2
  15. package/dist/cjs/i18n/hr.js +25 -0
  16. package/dist/cjs/i18n/sl.js +25 -0
  17. package/dist/cjs/i18n/sr_RS.js +25 -0
  18. package/dist/cjs/i18n/sr_YR.js +25 -0
  19. package/dist/cjs/service/default-value-hydration-client.js +8 -7
  20. package/dist/cjs/service/teams-client.js +1 -1
  21. package/dist/cjs/ufoExperiences.js +1 -2
  22. package/dist/cjs/util/i18n-util.js +1 -2
  23. package/dist/es2019/analytics.js +1 -1
  24. package/dist/es2019/components/SmartUserPicker.js +8 -3
  25. package/dist/es2019/config/index.js +2 -2
  26. package/dist/es2019/i18n/hr.js +19 -0
  27. package/dist/es2019/i18n/sl.js +19 -0
  28. package/dist/es2019/i18n/sr_RS.js +19 -0
  29. package/dist/es2019/i18n/sr_YR.js +19 -0
  30. package/dist/es2019/service/default-value-hydration-client.js +5 -4
  31. package/dist/es2019/service/teams-client.js +1 -1
  32. package/dist/esm/analytics.js +1 -1
  33. package/dist/esm/components/SmartUserPicker.js +72 -57
  34. package/dist/esm/config/index.js +2 -2
  35. package/dist/esm/i18n/hr.js +19 -0
  36. package/dist/esm/i18n/sl.js +19 -0
  37. package/dist/esm/i18n/sr_RS.js +19 -0
  38. package/dist/esm/i18n/sr_YR.js +19 -0
  39. package/dist/esm/service/default-value-hydration-client.js +8 -7
  40. package/dist/esm/service/teams-client.js +1 -1
  41. package/dist/types/config/index.d.ts +1 -1
  42. package/dist/types/i18n/hr.d.ts +18 -0
  43. package/dist/types/i18n/sl.d.ts +18 -0
  44. package/dist/types/i18n/sr_RS.d.ts +18 -0
  45. package/dist/types/i18n/sr_YR.d.ts +18 -0
  46. package/dist/types/service/default-value-hydration-client.d.ts +1 -1
  47. package/dist/types/service/teams-client.d.ts +1 -0
  48. package/dist/types/types.d.ts +6 -0
  49. package/dist/types-ts4.5/config/index.d.ts +1 -1
  50. package/dist/types-ts4.5/i18n/hr.d.ts +18 -0
  51. package/dist/types-ts4.5/i18n/sl.d.ts +18 -0
  52. package/dist/types-ts4.5/i18n/sr_RS.d.ts +18 -0
  53. package/dist/types-ts4.5/i18n/sr_YR.d.ts +18 -0
  54. package/dist/types-ts4.5/service/default-value-hydration-client.d.ts +1 -1
  55. package/dist/types-ts4.5/service/teams-client.d.ts +1 -0
  56. package/dist/types-ts4.5/types.d.ts +6 -0
  57. package/package.json +5 -7
  58. package/tsconfig.json +8 -3
@@ -93,7 +93,7 @@ var isOptionData = function isOptionData(option) {
93
93
  return option.name !== undefined;
94
94
  };
95
95
  var hydrateTeamIds = /*#__PURE__*/function () {
96
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(baseUrl, values) {
96
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(baseUrl, values, siteId) {
97
97
  var legionPromises;
98
98
  return _regenerator.default.wrap(function _callee$(_context) {
99
99
  while (1) switch (_context.prev = _context.next) {
@@ -107,7 +107,8 @@ var hydrateTeamIds = /*#__PURE__*/function () {
107
107
  legionPromises = values.map(function (value) {
108
108
  return (0, _teamsClient.default)({
109
109
  baseUrl: baseUrl,
110
- id: value.id
110
+ id: value.id,
111
+ siteId: siteId
111
112
  });
112
113
  });
113
114
  _context.next = 5;
@@ -120,7 +121,7 @@ var hydrateTeamIds = /*#__PURE__*/function () {
120
121
  }
121
122
  }, _callee);
122
123
  }));
123
- return function hydrateTeamIds(_x, _x2) {
124
+ return function hydrateTeamIds(_x, _x2, _x3) {
124
125
  return _ref.apply(this, arguments);
125
126
  };
126
127
  }();
@@ -166,15 +167,15 @@ var hydrateAccountIds = /*#__PURE__*/function () {
166
167
  }
167
168
  }, _callee2);
168
169
  }));
169
- return function hydrateAccountIds(_x3, _x4, _x5) {
170
+ return function hydrateAccountIds(_x4, _x5, _x6) {
170
171
  return _ref2.apply(this, arguments);
171
172
  };
172
173
  }();
173
- function hydrateDefaultValues(_x6, _x7, _x8) {
174
+ function hydrateDefaultValues(_x7, _x8, _x9, _x0) {
174
175
  return _hydrateDefaultValues.apply(this, arguments);
175
176
  }
176
177
  function _hydrateDefaultValues() {
177
- _hydrateDefaultValues = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(baseUrl, value, productKey) {
178
+ _hydrateDefaultValues = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(baseUrl, value, productKey, siteId) {
178
179
  var values, _yield$Promise$all, _yield$Promise$all2, hydratedUsers, hydratedTeams, hydratedOptions;
179
180
  return _regenerator.default.wrap(function _callee3$(_context3) {
180
181
  while (1) switch (_context3.prev = _context3.next) {
@@ -199,7 +200,7 @@ function _hydrateDefaultValues() {
199
200
  return !isOptionData(val) && val.type === 'user';
200
201
  })), hydrateTeamIds(baseUrl, values.filter(function (val) {
201
202
  return !isOptionData(val) && val.type === 'team';
202
- }))]);
203
+ }), siteId)]);
203
204
  case 7:
204
205
  _yield$Promise$all = _context3.sent;
205
206
  _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
@@ -19,7 +19,7 @@ var transformTeam = function transformTeam(team, id) {
19
19
  };
20
20
  };
21
21
  var hydrateTeamFromLegion = function hydrateTeamFromLegion(request) {
22
- var url = "".concat(_config.config.getTeamsUrl(request.baseUrl), "/").concat(request.id);
22
+ var url = _config.config.getTeamsUrl(request.id, request.baseUrl, request.siteId);
23
23
  return fetch(url, {
24
24
  method: 'GET',
25
25
  credentials: 'include',
@@ -13,8 +13,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
13
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _ufo = require("@atlaskit/ufo");
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
18
17
  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)); }
19
18
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
19
  var COMPONENT_NAME = 'smart-user-picker';
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.getMessagesForLocale = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
12
  /**
14
13
  * Tries to get the most specific messages bundle for a given locale.
15
14
  *
@@ -1,7 +1,7 @@
1
1
  import { createAndFireEvent } from '@atlaskit/analytics-next';
2
2
  import { v4 as uuid } from 'uuid';
3
3
  const packageName = "@atlaskit/smart-user-picker";
4
- const packageVersion = "8.0.0";
4
+ const packageVersion = "8.0.1";
5
5
  export const startSession = () => ({
6
6
  id: uuid(),
7
7
  start: Date.now(),
@@ -97,7 +97,8 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
97
97
  productAttributes,
98
98
  productKey,
99
99
  searchQueryFilter,
100
- siteId
100
+ siteId,
101
+ transformOptions
101
102
  } = this.props;
102
103
  const maxNumberOfResults = maxOptions || 100;
103
104
  const startTime = window.performance.now();
@@ -125,6 +126,9 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
125
126
  };
126
127
  try {
127
128
  var _await$onEmpty;
129
+ const {
130
+ query
131
+ } = this.state;
128
132
  this.fireEvent(requestUsersEvent);
129
133
  const recommendedUsers = await getUserRecommendations(recommendationsRequest, intl);
130
134
  if (overrideByline) {
@@ -135,7 +139,8 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
135
139
  }
136
140
  }
137
141
  const elapsedTimeMilli = window.performance.now() - startTime;
138
- const displayedUsers = recommendedUsers.length === 0 && onEmpty ? (_await$onEmpty = await onEmpty(query)) !== null && _await$onEmpty !== void 0 ? _await$onEmpty : [] : recommendedUsers;
142
+ const transformedOptions = transformOptions ? await transformOptions(recommendedUsers, query) : recommendedUsers;
143
+ const displayedUsers = transformedOptions.length === 0 && onEmpty ? (_await$onEmpty = await onEmpty(query)) !== null && _await$onEmpty !== void 0 ? _await$onEmpty : [] : transformedOptions;
139
144
  this.setState(state => {
140
145
  const applicable = state.query === query;
141
146
  const users = applicable ? displayedUsers : state.users;
@@ -284,7 +289,7 @@ export class SmartUserPickerWithoutAnalytics extends React.Component {
284
289
  }
285
290
  async componentDidMount() {
286
291
  try {
287
- const value = await hydrateDefaultValues(this.props.baseUrl, this.props.defaultValue, this.props.productKey);
292
+ const value = await hydrateDefaultValues(this.props.baseUrl, this.props.defaultValue, this.props.productKey, this.props.siteId);
288
293
  this.setState({
289
294
  defaultValue: value
290
295
  });
@@ -8,7 +8,7 @@ export const config = {
8
8
  getGraphQLUrl(baseUrl) {
9
9
  return baseUrl ? `${baseUrl}/gateway/api/graphql` : `/gateway/api/graphql`;
10
10
  },
11
- getTeamsUrl(baseUrl) {
12
- return baseUrl ? `${baseUrl}/gateway/api/v3/teams` : `/gateway/api/v3/teams`;
11
+ getTeamsUrl(id, baseUrl, siteId) {
12
+ return baseUrl ? `${baseUrl}/gateway/api/v4/teams/${id}?siteId=${siteId !== null && siteId !== void 0 ? siteId : 'None'}` : `/gateway/api/v4/teams/${id}?siteId=${siteId !== null && siteId !== void 0 ? siteId : 'None'}`;
13
13
  }
14
14
  };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Croatian (Croatia) [hr-HR]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Pronađen u:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'GOST',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Grupe gostiju mogu pristupiti samo određenim prostorima i imaju ograničen pristup korisničkim podacima.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Gosti mogu pristupiti samo određenim prostorima i imaju ograničen pristup korisničkim podacima.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ČLAN',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Slovenian (Slovenia) [sl-SI]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Najdeno v:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'GOST',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Skupine gostov lahko dostopajo samo do določenih prostorov in imajo omejen dostop do uporabniških podatkov.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Gostje lahko dostopajo samo do določenih prostorov in imajo omejen dostop do uporabniških podatkov.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ČLAN',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Serbian (Serbia) [sr-RS]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Pronađeno u:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'GOST',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Grupe za goste mogu da pristupe određenim prostorima i imaju ograničen pristup podacima korisnika.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Gosti mogu da pristupe samo određenim prostorima i imaju ograničen pristup podacima korisnika.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ČLAN',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Serbian (Cyrillic) [sr-YR]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Пронађено у:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'ГОСТ',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Групе за госте могу да приступе одређеним просторима и имају ограничен приступ подацима корисника.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Гости могу да приступе само одређеним просторима и имају ограничен приступ подацима корисника.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ЧЛАН',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };
@@ -66,13 +66,14 @@ const sortResults = (options, sortIds) => {
66
66
  const isOptionData = option => {
67
67
  return option.name !== undefined;
68
68
  };
69
- const hydrateTeamIds = async (baseUrl, values) => {
69
+ const hydrateTeamIds = async (baseUrl, values, siteId) => {
70
70
  if (values.length === 0) {
71
71
  return [];
72
72
  }
73
73
  const legionPromises = values.map(value => hydrateTeamFromLegion({
74
74
  baseUrl,
75
- id: value.id
75
+ id: value.id,
76
+ siteId
76
77
  }));
77
78
  return await Promise.all(legionPromises);
78
79
  };
@@ -89,7 +90,7 @@ const hydrateAccountIds = async (baseUrl, productKey, values) => {
89
90
  accountIds
90
91
  }) : await getHydratedUsersFromPrs(baseUrl, accountIds);
91
92
  };
92
- async function hydrateDefaultValues(baseUrl, value, productKey) {
93
+ async function hydrateDefaultValues(baseUrl, value, productKey, siteId) {
93
94
  //return if no value
94
95
  if (!value || Array.isArray(value) && value.length === 0) {
95
96
  return [];
@@ -100,7 +101,7 @@ async function hydrateDefaultValues(baseUrl, value, productKey) {
100
101
  if (!values.some(val => !isOptionData(val))) {
101
102
  return value;
102
103
  }
103
- const [hydratedUsers, hydratedTeams] = await Promise.all([hydrateAccountIds(baseUrl, productKey, values.filter(val => !isOptionData(val) && val.type === 'user')), hydrateTeamIds(baseUrl, values.filter(val => !isOptionData(val) && val.type === 'team'))]);
104
+ const [hydratedUsers, hydratedTeams] = await Promise.all([hydrateAccountIds(baseUrl, productKey, values.filter(val => !isOptionData(val) && val.type === 'user')), hydrateTeamIds(baseUrl, values.filter(val => !isOptionData(val) && val.type === 'team'), siteId)]);
104
105
  const hydratedOptions = values.filter(val => isOptionData(val)).map(val => val).concat(hydratedUsers).concat(hydratedTeams);
105
106
  return sortResults(hydratedOptions, values);
106
107
  }
@@ -9,7 +9,7 @@ const transformTeam = (team, id) => {
9
9
  };
10
10
  };
11
11
  const hydrateTeamFromLegion = request => {
12
- const url = `${config.getTeamsUrl(request.baseUrl)}/${request.id}`;
12
+ const url = config.getTeamsUrl(request.id, request.baseUrl, request.siteId);
13
13
  return fetch(url, {
14
14
  method: 'GET',
15
15
  credentials: 'include',
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import { createAndFireEvent } from '@atlaskit/analytics-next';
5
5
  import { v4 as uuid } from 'uuid';
6
6
  var packageName = "@atlaskit/smart-user-picker";
7
- var packageVersion = "8.0.0";
7
+ var packageVersion = "8.0.1";
8
8
  export var startSession = function startSession() {
9
9
  return {
10
10
  id: uuid(),
@@ -98,12 +98,12 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
98
98
  });
99
99
  _defineProperty(_this, "memoizedFilterOptions", memoizeOne(_this.filterOptions));
100
100
  _defineProperty(_this, "getUsers", debounce( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
101
- var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeUsers, includeNonLicensedUsers, intl, maxOptions, objectId, onEmpty, onError, overrideByline, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, maxNumberOfResults, startTime, recommendationsRequest, _yield$onEmpty, recommendedUsers, _iterator, _step, option, elapsedTimeMilli, displayedUsers, is5xxEvent, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
101
+ var _this$state, query, sessionId, closed, _this$props, baseUrl, childObjectId, containerId, fieldId, includeGroups, includeTeams, includeUsers, includeNonLicensedUsers, intl, maxOptions, objectId, onEmpty, onError, overrideByline, orgId, principalId, productAttributes, productKey, searchQueryFilter, siteId, transformOptions, maxNumberOfResults, startTime, recommendationsRequest, _yield$onEmpty, _query, recommendedUsers, _iterator, _step, option, elapsedTimeMilli, transformedOptions, displayedUsers, is5xxEvent, onErrorProducedError, defaultUsers, _elapsedTimeMilli;
102
102
  return _regeneratorRuntime.wrap(function _callee$(_context) {
103
103
  while (1) switch (_context.prev = _context.next) {
104
104
  case 0:
105
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, 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, orgId = _this$props.orgId, principalId = _this$props.principalId, productAttributes = _this$props.productAttributes, productKey = _this$props.productKey, searchQueryFilter = _this$props.searchQueryFilter, siteId = _this$props.siteId;
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, 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, 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;
107
107
  maxNumberOfResults = maxOptions || 100;
108
108
  startTime = window.performance.now();
109
109
  recommendationsRequest = {
@@ -129,10 +129,11 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
129
129
  searchQueryFilter: searchQueryFilter
130
130
  };
131
131
  _context.prev = 5;
132
+ _query = _this.state.query;
132
133
  _this.fireEvent(requestUsersEvent);
133
- _context.next = 9;
134
+ _context.next = 10;
134
135
  return getUserRecommendations(recommendationsRequest, intl);
135
- case 9:
136
+ case 10:
136
137
  recommendedUsers = _context.sent;
137
138
  if (overrideByline) {
138
139
  _iterator = _createForOfIteratorHelper(recommendedUsers);
@@ -150,40 +151,54 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
150
151
  }
151
152
  }
152
153
  elapsedTimeMilli = window.performance.now() - startTime;
153
- if (!(recommendedUsers.length === 0 && onEmpty)) {
154
- _context.next = 27;
155
- break;
156
- }
157
- _context.next = 15;
158
- return onEmpty(query);
159
- case 15:
160
- _context.t2 = _yield$onEmpty = _context.sent;
161
- _context.t1 = _context.t2 !== null;
162
- if (!_context.t1) {
154
+ if (!transformOptions) {
163
155
  _context.next = 19;
164
156
  break;
165
157
  }
166
- _context.t1 = _yield$onEmpty !== void 0;
158
+ _context.next = 16;
159
+ return transformOptions(recommendedUsers, _query);
160
+ case 16:
161
+ _context.t0 = _context.sent;
162
+ _context.next = 20;
163
+ break;
167
164
  case 19:
168
- if (!_context.t1) {
169
- _context.next = 23;
165
+ _context.t0 = recommendedUsers;
166
+ case 20:
167
+ transformedOptions = _context.t0;
168
+ if (!(transformedOptions.length === 0 && onEmpty)) {
169
+ _context.next = 36;
170
170
  break;
171
171
  }
172
- _context.t3 = _yield$onEmpty;
173
172
  _context.next = 24;
174
- break;
175
- case 23:
176
- _context.t3 = [];
173
+ return onEmpty(_query);
177
174
  case 24:
178
- _context.t0 = _context.t3;
179
- _context.next = 28;
180
- break;
181
- case 27:
182
- _context.t0 = recommendedUsers;
175
+ _context.t3 = _yield$onEmpty = _context.sent;
176
+ _context.t2 = _context.t3 !== null;
177
+ if (!_context.t2) {
178
+ _context.next = 28;
179
+ break;
180
+ }
181
+ _context.t2 = _yield$onEmpty !== void 0;
183
182
  case 28:
184
- displayedUsers = _context.t0;
183
+ if (!_context.t2) {
184
+ _context.next = 32;
185
+ break;
186
+ }
187
+ _context.t4 = _yield$onEmpty;
188
+ _context.next = 33;
189
+ break;
190
+ case 32:
191
+ _context.t4 = [];
192
+ case 33:
193
+ _context.t1 = _context.t4;
194
+ _context.next = 37;
195
+ break;
196
+ case 36:
197
+ _context.t1 = transformedOptions;
198
+ case 37:
199
+ displayedUsers = _context.t1;
185
200
  _this.setState(function (state) {
186
- var applicable = state.query === query;
201
+ var applicable = state.query === _query;
187
202
  var users = applicable ? displayedUsers : state.users;
188
203
  var loading = !applicable;
189
204
  _this.fireEvent(successfulRequestUsersEvent, {
@@ -198,12 +213,12 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
198
213
  loading: loading
199
214
  };
200
215
  });
201
- _context.next = 61;
216
+ _context.next = 70;
202
217
  break;
203
- case 32:
204
- _context.prev = 32;
205
- _context.t4 = _context["catch"](5);
206
- is5xxEvent = checkIf500Event(_context.t4.statusCode);
218
+ case 41:
219
+ _context.prev = 41;
220
+ _context.t5 = _context["catch"](5);
221
+ is5xxEvent = checkIf500Event(_context.t5.statusCode);
207
222
  if (!closed && !onError && is5xxEvent) {
208
223
  // If the user lookup fails while the menu is open, and the consumer is not providing a
209
224
  // fallback data source via the onError prop, then send UFO failure
@@ -214,35 +229,35 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
214
229
  });
215
230
  onErrorProducedError = false;
216
231
  defaultUsers = [];
217
- _context.prev = 39;
232
+ _context.prev = 48;
218
233
  if (!onError) {
219
- _context.next = 49;
234
+ _context.next = 58;
220
235
  break;
221
236
  }
222
- _context.next = 43;
223
- return onError(_context.t4, recommendationsRequest);
224
- case 43:
225
- _context.t6 = _context.sent;
226
- if (_context.t6) {
227
- _context.next = 46;
237
+ _context.next = 52;
238
+ return onError(_context.t5, recommendationsRequest);
239
+ case 52:
240
+ _context.t7 = _context.sent;
241
+ if (_context.t7) {
242
+ _context.next = 55;
228
243
  break;
229
244
  }
230
- _context.t6 = [];
231
- case 46:
232
- _context.t5 = _context.t6;
233
- _context.next = 50;
245
+ _context.t7 = [];
246
+ case 55:
247
+ _context.t6 = _context.t7;
248
+ _context.next = 59;
234
249
  break;
235
- case 49:
236
- _context.t5 = [];
237
- case 50:
238
- defaultUsers = _context.t5;
239
- _context.next = 56;
250
+ case 58:
251
+ _context.t6 = [];
252
+ case 59:
253
+ defaultUsers = _context.t6;
254
+ _context.next = 65;
240
255
  break;
241
- case 53:
242
- _context.prev = 53;
243
- _context.t7 = _context["catch"](39);
256
+ case 62:
257
+ _context.prev = 62;
258
+ _context.t8 = _context["catch"](48);
244
259
  onErrorProducedError = true;
245
- case 56:
260
+ case 65:
246
261
  if (onErrorProducedError && is5xxEvent) {
247
262
  // Log error from fallback data source `onError` to UFO
248
263
  _this.optionsShownUfoExperienceInstance.failure(ufoEndStateConfig(_this.props.fieldId));
@@ -259,11 +274,11 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
259
274
  elapsedTimeMilli: _elapsedTimeMilli,
260
275
  productAttributes: productAttributes
261
276
  });
262
- case 61:
277
+ case 70:
263
278
  case "end":
264
279
  return _context.stop();
265
280
  }
266
- }, _callee, null, [[5, 32], [39, 53]]);
281
+ }, _callee, null, [[5, 41], [48, 62]]);
267
282
  })), (_this$props$debounceT = _this.props.debounceTime) !== null && _this$props$debounceT !== void 0 ? _this$props$debounceT : 0));
268
283
  _defineProperty(_this, "onInputChange", function (newQuery, sessionId) {
269
284
  var query = newQuery || '';
@@ -370,7 +385,7 @@ export var SmartUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compo
370
385
  case 0:
371
386
  _context2.prev = 0;
372
387
  _context2.next = 3;
373
- return hydrateDefaultValues(this.props.baseUrl, this.props.defaultValue, this.props.productKey);
388
+ return hydrateDefaultValues(this.props.baseUrl, this.props.defaultValue, this.props.productKey, this.props.siteId);
374
389
  case 3:
375
390
  value = _context2.sent;
376
391
  this.setState({
@@ -9,7 +9,7 @@ export var config = {
9
9
  getGraphQLUrl: function getGraphQLUrl(baseUrl) {
10
10
  return baseUrl ? "".concat(baseUrl, "/gateway/api/graphql") : "/gateway/api/graphql";
11
11
  },
12
- getTeamsUrl: function getTeamsUrl(baseUrl) {
13
- return baseUrl ? "".concat(baseUrl, "/gateway/api/v3/teams") : "/gateway/api/v3/teams";
12
+ getTeamsUrl: function getTeamsUrl(id, baseUrl, siteId) {
13
+ return baseUrl ? "".concat(baseUrl, "/gateway/api/v4/teams/").concat(id, "?siteId=").concat(siteId !== null && siteId !== void 0 ? siteId : 'None') : "/gateway/api/v4/teams/".concat(id, "?siteId=").concat(siteId !== null && siteId !== void 0 ? siteId : 'None');
14
14
  }
15
15
  };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Croatian (Croatia) [hr-HR]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Pronađen u:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'GOST',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Grupe gostiju mogu pristupiti samo određenim prostorima i imaju ograničen pristup korisničkim podacima.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Gosti mogu pristupiti samo određenim prostorima i imaju ograničen pristup korisničkim podacima.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ČLAN',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Slovenian (Slovenia) [sl-SI]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Najdeno v:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'GOST',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Skupine gostov lahko dostopajo samo do določenih prostorov in imajo omejen dostop do uporabniških podatkov.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Gostje lahko dostopajo samo do določenih prostorov in imajo omejen dostop do uporabniških podatkov.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ČLAN',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Serbian (Serbia) [sr-RS]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Pronađeno u:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'GOST',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Grupe za goste mogu da pristupe određenim prostorima i imaju ograničen pristup podacima korisnika.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Gosti mogu da pristupe samo određenim prostorima i imaju ograničen pristup podacima korisnika.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ČLAN',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+ /**
3
+ * NOTE:
4
+ *
5
+ * This file is automatically generated by Traduki 2.0.
6
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
7
+ */
8
+ //Serbian (Cyrillic) [sr-YR]
9
+ export default {
10
+ 'fabric.elements.user-picker.external.sourced.from': 'Пронађено у:',
11
+ 'fabric.elements.user-picker.github.provider': 'GitHub',
12
+ 'fabric.elements.user-picker.google.provider': 'Google',
13
+ 'fabric.elements.user-picker.guest.lozenge.text': 'ГОСТ',
14
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': 'Групе за госте могу да приступе одређеним просторима и имају ограничен приступ подацима корисника.',
15
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': 'Гости могу да приступе само одређеним просторима и имају ограничен приступ подацима корисника.',
16
+ 'fabric.elements.user-picker.member.lozenge.text': 'ЧЛАН',
17
+ 'fabric.elements.user-picker.microsoft.provider': 'Microsoft',
18
+ 'fabric.elements.user-picker.slack.provider': 'Slack'
19
+ };