@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
@@ -86,7 +86,7 @@ var isOptionData = function isOptionData(option) {
86
86
  return option.name !== undefined;
87
87
  };
88
88
  var hydrateTeamIds = /*#__PURE__*/function () {
89
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(baseUrl, values) {
89
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(baseUrl, values, siteId) {
90
90
  var legionPromises;
91
91
  return _regeneratorRuntime.wrap(function _callee$(_context) {
92
92
  while (1) switch (_context.prev = _context.next) {
@@ -100,7 +100,8 @@ var hydrateTeamIds = /*#__PURE__*/function () {
100
100
  legionPromises = values.map(function (value) {
101
101
  return hydrateTeamFromLegion({
102
102
  baseUrl: baseUrl,
103
- id: value.id
103
+ id: value.id,
104
+ siteId: siteId
104
105
  });
105
106
  });
106
107
  _context.next = 5;
@@ -113,7 +114,7 @@ var hydrateTeamIds = /*#__PURE__*/function () {
113
114
  }
114
115
  }, _callee);
115
116
  }));
116
- return function hydrateTeamIds(_x, _x2) {
117
+ return function hydrateTeamIds(_x, _x2, _x3) {
117
118
  return _ref.apply(this, arguments);
118
119
  };
119
120
  }();
@@ -159,15 +160,15 @@ var hydrateAccountIds = /*#__PURE__*/function () {
159
160
  }
160
161
  }, _callee2);
161
162
  }));
162
- return function hydrateAccountIds(_x3, _x4, _x5) {
163
+ return function hydrateAccountIds(_x4, _x5, _x6) {
163
164
  return _ref2.apply(this, arguments);
164
165
  };
165
166
  }();
166
- function hydrateDefaultValues(_x6, _x7, _x8) {
167
+ function hydrateDefaultValues(_x7, _x8, _x9, _x0) {
167
168
  return _hydrateDefaultValues.apply(this, arguments);
168
169
  }
169
170
  function _hydrateDefaultValues() {
170
- _hydrateDefaultValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(baseUrl, value, productKey) {
171
+ _hydrateDefaultValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(baseUrl, value, productKey, siteId) {
171
172
  var values, _yield$Promise$all, _yield$Promise$all2, hydratedUsers, hydratedTeams, hydratedOptions;
172
173
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
173
174
  while (1) switch (_context3.prev = _context3.next) {
@@ -192,7 +193,7 @@ function _hydrateDefaultValues() {
192
193
  return !isOptionData(val) && val.type === 'user';
193
194
  })), hydrateTeamIds(baseUrl, values.filter(function (val) {
194
195
  return !isOptionData(val) && val.type === 'team';
195
- }))]);
196
+ }), siteId)]);
196
197
  case 7:
197
198
  _yield$Promise$all = _context3.sent;
198
199
  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
@@ -12,7 +12,7 @@ var transformTeam = function transformTeam(team, id) {
12
12
  };
13
13
  };
14
14
  var hydrateTeamFromLegion = function hydrateTeamFromLegion(request) {
15
- var url = "".concat(config.getTeamsUrl(request.baseUrl), "/").concat(request.id);
15
+ var url = config.getTeamsUrl(request.id, request.baseUrl, request.siteId);
16
16
  return fetch(url, {
17
17
  method: 'GET',
18
18
  credentials: 'include',
@@ -2,5 +2,5 @@ export declare const config: {
2
2
  getRecommendationServiceUrl(baseUrl: string): string;
3
3
  getUsersServiceUrl(productKey: string, baseUrl?: string): string;
4
4
  getGraphQLUrl(baseUrl?: string): string;
5
- getTeamsUrl(baseUrl?: string): string;
5
+ getTeamsUrl(id: string, baseUrl?: string, siteId?: string): string;
6
6
  };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -4,5 +4,5 @@ export interface UsersRequest {
4
4
  accountIds: string[];
5
5
  productKey: 'jira' | 'confluence';
6
6
  }
7
- declare function hydrateDefaultValues(baseUrl: string | undefined, value: DefaultValue, productKey: string): Promise<DefaultValue>;
7
+ declare function hydrateDefaultValues(baseUrl: string | undefined, value: DefaultValue, productKey: string, siteId: string | undefined): Promise<DefaultValue>;
8
8
  export default hydrateDefaultValues;
@@ -2,6 +2,7 @@ import { type Team } from '@atlaskit/user-picker';
2
2
  type LegionRequest = {
3
3
  baseUrl?: string;
4
4
  id: string;
5
+ siteId?: string;
5
6
  };
6
7
  export type LegionResponse = {
7
8
  id: string;
@@ -26,6 +26,7 @@ export interface RecommendationRequest {
26
26
  type OnError = (error: any, request: RecommendationRequest) => Promise<OptionData[]> | void;
27
27
  type OnValueError = (error: any, defaultValue: DefaultValue) => Promise<OptionData[]> | void;
28
28
  type OnEmpty = (query: string) => Promise<OptionData[]>;
29
+ type TransformOptions = (options: OptionData[], query?: string) => Promise<OptionData[]>;
29
30
  export interface State {
30
31
  users: OptionData[];
31
32
  loading: boolean;
@@ -190,6 +191,11 @@ export interface SmartProps {
190
191
  * Identifier for the organization in which to search for teams.
191
192
  */
192
193
  orgId?: string;
194
+ /**
195
+ * Optional callback to customize the options shown to the user.
196
+ * Called after options are loaded.
197
+ */
198
+ transformOptions?: TransformOptions;
193
199
  }
194
200
  export interface Props extends SmartProps, UserPickerProps, WithAnalyticsEventsProps {
195
201
  /**
@@ -2,5 +2,5 @@ export declare const config: {
2
2
  getRecommendationServiceUrl(baseUrl: string): string;
3
3
  getUsersServiceUrl(productKey: string, baseUrl?: string): string;
4
4
  getGraphQLUrl(baseUrl?: string): string;
5
- getTeamsUrl(baseUrl?: string): string;
5
+ getTeamsUrl(id: string, baseUrl?: string, siteId?: string): string;
6
6
  };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.elements.user-picker.external.sourced.from': string;
9
+ 'fabric.elements.user-picker.github.provider': string;
10
+ 'fabric.elements.user-picker.google.provider': string;
11
+ 'fabric.elements.user-picker.guest.lozenge.text': string;
12
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.group': string;
13
+ 'fabric.elements.user-picker.guest.lozenge.tooltip.user': string;
14
+ 'fabric.elements.user-picker.member.lozenge.text': string;
15
+ 'fabric.elements.user-picker.microsoft.provider': string;
16
+ 'fabric.elements.user-picker.slack.provider': string;
17
+ };
18
+ export default _default;
@@ -4,5 +4,5 @@ export interface UsersRequest {
4
4
  accountIds: string[];
5
5
  productKey: 'jira' | 'confluence';
6
6
  }
7
- declare function hydrateDefaultValues(baseUrl: string | undefined, value: DefaultValue, productKey: string): Promise<DefaultValue>;
7
+ declare function hydrateDefaultValues(baseUrl: string | undefined, value: DefaultValue, productKey: string, siteId: string | undefined): Promise<DefaultValue>;
8
8
  export default hydrateDefaultValues;
@@ -2,6 +2,7 @@ import { type Team } from '@atlaskit/user-picker';
2
2
  type LegionRequest = {
3
3
  baseUrl?: string;
4
4
  id: string;
5
+ siteId?: string;
5
6
  };
6
7
  export type LegionResponse = {
7
8
  id: string;
@@ -26,6 +26,7 @@ export interface RecommendationRequest {
26
26
  type OnError = (error: any, request: RecommendationRequest) => Promise<OptionData[]> | void;
27
27
  type OnValueError = (error: any, defaultValue: DefaultValue) => Promise<OptionData[]> | void;
28
28
  type OnEmpty = (query: string) => Promise<OptionData[]>;
29
+ type TransformOptions = (options: OptionData[], query?: string) => Promise<OptionData[]>;
29
30
  export interface State {
30
31
  users: OptionData[];
31
32
  loading: boolean;
@@ -190,6 +191,11 @@ export interface SmartProps {
190
191
  * Identifier for the organization in which to search for teams.
191
192
  */
192
193
  orgId?: string;
194
+ /**
195
+ * Optional callback to customize the options shown to the user.
196
+ * Called after options are loaded.
197
+ */
198
+ transformOptions?: TransformOptions;
193
199
  }
194
200
  export interface Props extends SmartProps, UserPickerProps, WithAnalyticsEventsProps {
195
201
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-user-picker",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "license": "Apache-2.0",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -28,7 +28,6 @@
28
28
  },
29
29
  "atlassian": {
30
30
  "team": "Search Platform: Search Experience",
31
- "runReact18": true,
32
31
  "slack": {
33
32
  "channel": "#search-plex-prs",
34
33
  "notifications": {
@@ -39,9 +38,9 @@
39
38
  }
40
39
  },
41
40
  "dependencies": {
42
- "@atlaskit/analytics-next": "^11.0.0",
41
+ "@atlaskit/analytics-next": "^11.1.0",
43
42
  "@atlaskit/ufo": "^0.4.0",
44
- "@atlaskit/user-picker": "^11.0.0",
43
+ "@atlaskit/user-picker": "^11.4.0",
45
44
  "@babel/runtime": "^7.0.0",
46
45
  "lodash": "^4.17.21",
47
46
  "memoize-one": "^6.0.0",
@@ -53,7 +52,7 @@
53
52
  "react-dom": "^18.2.0"
54
53
  },
55
54
  "devDependencies": {
56
- "@atlaskit/select": "^19.0.0",
55
+ "@atlaskit/select": "^21.2.0",
57
56
  "@atlaskit/util-data-test": "^18.0.0",
58
57
  "@testing-library/dom": "^10.1.0",
59
58
  "@testing-library/react": "^13.4.0",
@@ -61,7 +60,6 @@
61
60
  "enzyme": "^3.10.0",
62
61
  "fetch-mock": "^8.0.0",
63
62
  "graphql-tag": "^2.10.1",
64
- "mock-apollo-client": "^0.1.0",
65
- "typescript": "~5.4.2"
63
+ "mock-apollo-client": "^0.1.0"
66
64
  }
67
65
  }
package/tsconfig.json CHANGED
@@ -8,8 +8,13 @@
8
8
  "./example-helpers/**/*.ts",
9
9
  "./example-helpers/**/*.tsx",
10
10
  "./examples/**/*.ts",
11
- "./examples/**/*.tsx"
11
+ "./examples/**/*.tsx",
12
+ "**/stories.ts",
13
+ "**/stories.tsx",
14
+ "**/stories/*.ts",
15
+ "**/stories/*.tsx",
16
+ "**/stories/**/*.ts",
17
+ "**/stories/**/*.tsx"
12
18
  ],
13
- "compilerOptions": {
14
- }
19
+ "compilerOptions": {}
15
20
  }