@atlaskit/user-picker 8.0.0 → 8.3.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 (94) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/clients/UserSourceProvider.js +97 -0
  3. package/dist/cjs/components/AddOptionAvatar.js +5 -3
  4. package/dist/cjs/components/AvatarItemOption.js +25 -7
  5. package/dist/cjs/components/ClearIndicator.js +25 -6
  6. package/dist/cjs/components/EmailOption/index.js +29 -0
  7. package/dist/cjs/components/{EmailOption.js → EmailOption/main.js} +7 -5
  8. package/dist/cjs/components/ExternalUserOption/index.js +29 -0
  9. package/dist/cjs/components/{ExternalUserOption.js → ExternalUserOption/main.js} +44 -25
  10. package/dist/cjs/components/ExternalUserSourcesContainer.js +42 -0
  11. package/dist/cjs/components/GroupOption/index.js +29 -0
  12. package/dist/cjs/components/{GroupOption.js → GroupOption/main.js} +8 -6
  13. package/dist/cjs/components/MessagesIntlProvider.js +3 -4
  14. package/dist/cjs/components/Option.js +26 -13
  15. package/dist/cjs/components/PopupControl.js +4 -2
  16. package/dist/cjs/components/TeamOption/index.js +29 -0
  17. package/dist/cjs/components/{TeamOption.js → TeamOption/main.js} +8 -6
  18. package/dist/cjs/components/UserOption.js +5 -3
  19. package/dist/cjs/components/UserPicker.js +8 -3
  20. package/dist/cjs/components/assets/github.js +3 -1
  21. package/dist/cjs/components/assets/google.js +6 -4
  22. package/dist/cjs/components/assets/microsoft.js +7 -5
  23. package/dist/cjs/components/assets/slack.js +11 -9
  24. package/dist/cjs/components/i18n.js +5 -0
  25. package/dist/cjs/components/styles.js +9 -7
  26. package/dist/cjs/version.json +1 -1
  27. package/dist/es2019/clients/UserSourceProvider.js +56 -0
  28. package/dist/es2019/components/AddOptionAvatar.js +3 -3
  29. package/dist/es2019/components/AvatarItemOption.js +15 -6
  30. package/dist/es2019/components/ClearIndicator.js +14 -5
  31. package/dist/es2019/components/EmailOption/index.js +9 -0
  32. package/dist/es2019/components/{EmailOption.js → EmailOption/main.js} +6 -5
  33. package/dist/es2019/components/ExternalUserOption/index.js +9 -0
  34. package/dist/es2019/components/{ExternalUserOption.js → ExternalUserOption/main.js} +39 -23
  35. package/dist/es2019/components/ExternalUserSourcesContainer.js +27 -0
  36. package/dist/es2019/components/GroupOption/index.js +9 -0
  37. package/dist/es2019/components/{GroupOption.js → GroupOption/main.js} +7 -6
  38. package/dist/es2019/components/MessagesIntlProvider.js +3 -3
  39. package/dist/es2019/components/Option.js +23 -9
  40. package/dist/es2019/components/PopupControl.js +3 -2
  41. package/dist/es2019/components/TeamOption/index.js +9 -0
  42. package/dist/es2019/components/{TeamOption.js → TeamOption/main.js} +7 -6
  43. package/dist/es2019/components/UserOption.js +4 -3
  44. package/dist/es2019/components/UserPicker.js +7 -3
  45. package/dist/es2019/components/assets/github.js +2 -1
  46. package/dist/es2019/components/assets/google.js +5 -4
  47. package/dist/es2019/components/assets/microsoft.js +6 -5
  48. package/dist/es2019/components/assets/slack.js +10 -9
  49. package/dist/es2019/components/i18n.js +5 -0
  50. package/dist/es2019/components/styles.js +8 -7
  51. package/dist/es2019/version.json +1 -1
  52. package/dist/esm/clients/UserSourceProvider.js +73 -0
  53. package/dist/esm/components/AddOptionAvatar.js +4 -3
  54. package/dist/esm/components/AvatarItemOption.js +17 -6
  55. package/dist/esm/components/ClearIndicator.js +16 -5
  56. package/dist/esm/components/EmailOption/index.js +11 -0
  57. package/dist/esm/components/{EmailOption.js → EmailOption/main.js} +6 -5
  58. package/dist/esm/components/ExternalUserOption/index.js +11 -0
  59. package/dist/esm/components/{ExternalUserOption.js → ExternalUserOption/main.js} +41 -25
  60. package/dist/esm/components/ExternalUserSourcesContainer.js +29 -0
  61. package/dist/esm/components/GroupOption/index.js +11 -0
  62. package/dist/esm/components/{GroupOption.js → GroupOption/main.js} +7 -6
  63. package/dist/esm/components/MessagesIntlProvider.js +4 -4
  64. package/dist/esm/components/Option.js +25 -12
  65. package/dist/esm/components/PopupControl.js +3 -2
  66. package/dist/esm/components/TeamOption/index.js +11 -0
  67. package/dist/esm/components/{TeamOption.js → TeamOption/main.js} +7 -6
  68. package/dist/esm/components/UserOption.js +4 -3
  69. package/dist/esm/components/UserPicker.js +7 -3
  70. package/dist/esm/components/assets/github.js +2 -1
  71. package/dist/esm/components/assets/google.js +5 -4
  72. package/dist/esm/components/assets/microsoft.js +6 -5
  73. package/dist/esm/components/assets/slack.js +10 -9
  74. package/dist/esm/components/i18n.js +5 -0
  75. package/dist/esm/components/styles.js +8 -7
  76. package/dist/esm/version.json +1 -1
  77. package/dist/types/clients/UserSourceProvider.d.ts +11 -0
  78. package/dist/types/components/BaseUserPicker.d.ts +1 -1
  79. package/dist/types/components/EmailOption/index.d.ts +3 -0
  80. package/dist/types/components/{EmailOption.d.ts → EmailOption/main.d.ts} +2 -2
  81. package/dist/types/components/ExternalUserOption/index.d.ts +3 -0
  82. package/dist/types/components/{ExternalUserOption.d.ts → ExternalUserOption/main.d.ts} +1 -1
  83. package/dist/types/components/ExternalUserSourcesContainer.d.ts +14 -0
  84. package/dist/types/components/GroupOption/index.d.ts +3 -0
  85. package/dist/types/components/{GroupOption.d.ts → GroupOption/main.d.ts} +1 -1
  86. package/dist/types/components/MessagesIntlProvider.d.ts +2 -8
  87. package/dist/types/components/Option.d.ts +4 -1
  88. package/dist/types/components/PopupUserPicker.d.ts +1 -1
  89. package/dist/types/components/TeamOption/index.d.ts +3 -0
  90. package/dist/types/components/{TeamOption.d.ts → TeamOption/main.d.ts} +1 -1
  91. package/dist/types/components/UserPicker.d.ts +1 -1
  92. package/dist/types/components/i18n.d.ts +5 -0
  93. package/dist/types/types.d.ts +14 -0
  94. package/package.json +15 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @atlaskit/user-picker
2
2
 
3
+ ## 8.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`88551bad1ec`](https://bitbucket.org/atlassian/atlassian-frontend/commits/88551bad1ec) - [ux] Add support for asychronously fetching the sources for an external user when a user hovers over the sources tooltip
8
+
9
+ ## 8.2.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [`c55c736ecea`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c55c736ecea) - Patch VULN AFP-3486 AFP-3487 AFP-3488 AFP-3489
14
+
15
+ ## 8.2.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`35b466f6fb5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/35b466f6fb5) - Asynchronously load user options in user-picker
20
+
21
+ ## 8.1.0
22
+
23
+ ### Minor Changes
24
+
25
+ - [`c48834ce234`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c48834ce234) - [ux] Instrumented `@atlaskit/user-picker` with the new theming package, `@atlaskit/tokens`.
26
+
27
+ New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
28
+ These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
29
+
3
30
  ## 8.0.0
4
31
 
5
32
  ### Major Changes
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.useUserSource = exports.ExusUserSourceProvider = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ var ExusUserSourceContext = /*#__PURE__*/(0, _react.createContext)({});
23
+
24
+ var ExusUserSourceProvider = function ExusUserSourceProvider(_ref) {
25
+ var fetchUserSource = _ref.fetchUserSource,
26
+ children = _ref.children;
27
+ return /*#__PURE__*/_react.default.createElement(ExusUserSourceContext.Provider, {
28
+ value: {
29
+ fetchUserSource: fetchUserSource
30
+ }
31
+ }, children);
32
+ };
33
+
34
+ exports.ExusUserSourceProvider = ExusUserSourceProvider;
35
+
36
+ var useUserSource = function useUserSource(accountId, existingSources) {
37
+ var _useContext = (0, _react.useContext)(ExusUserSourceContext),
38
+ fetchUserSource = _useContext.fetchUserSource;
39
+
40
+ var _useState = (0, _react.useState)(new Set(existingSources)),
41
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
42
+ sources = _useState2[0],
43
+ setUserSources = _useState2[1];
44
+
45
+ var _useState3 = (0, _react.useState)(true),
46
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
47
+ loading = _useState4[0],
48
+ setLoading = _useState4[1];
49
+
50
+ var _useState5 = (0, _react.useState)(null),
51
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
52
+ error = _useState6[0],
53
+ setError = _useState6[1];
54
+
55
+ var abortController = (0, _react.useMemo)(function () {
56
+ if (typeof AbortController === 'undefined') {
57
+ return;
58
+ }
59
+
60
+ return new AbortController();
61
+ }, []);
62
+ (0, _react.useEffect)(function () {
63
+ var isMounted = true;
64
+
65
+ var cleanup = function cleanup() {
66
+ abortController === null || abortController === void 0 ? void 0 : abortController.abort();
67
+ isMounted = false;
68
+ };
69
+
70
+ if (!fetchUserSource) {
71
+ setLoading(false);
72
+ return cleanup;
73
+ }
74
+
75
+ if (isMounted) {
76
+ fetchUserSource(accountId, abortController === null || abortController === void 0 ? void 0 : abortController.signal).then(function (externalSources) {
77
+ setLoading(false);
78
+ var externalSourceTypes = externalSources.map(function (source) {
79
+ return source.sourceType;
80
+ });
81
+ setUserSources(new Set([].concat((0, _toConsumableArray2.default)(sources), (0, _toConsumableArray2.default)(externalSourceTypes))));
82
+ }).catch(function (error) {
83
+ setLoading(false);
84
+ setError(error);
85
+ });
86
+ }
87
+
88
+ return cleanup;
89
+ }, [fetchUserSource, accountId, sources, abortController]);
90
+ return {
91
+ sources: Array.from(sources),
92
+ loading: loading,
93
+ error: error
94
+ };
95
+ };
96
+
97
+ exports.useUserSource = useUserSource;
@@ -13,15 +13,17 @@ var _email = _interopRequireDefault(require("@atlaskit/icon/glyph/email"));
13
13
 
14
14
  var _colors = require("@atlaskit/theme/colors");
15
15
 
16
+ var _tokens = require("@atlaskit/tokens");
17
+
16
18
  var _react = _interopRequireDefault(require("react"));
17
19
 
18
20
  var _styledComponents = _interopRequireDefault(require("styled-components"));
19
21
 
20
22
  var _templateObject;
21
23
 
22
- var EmailAvatarWrapper = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: black;\n padding: ", "px;\n\n background-color: ", ";\n border-radius: 50%;\n display: flex;\n align-items: center;\n"])), function (props) {
24
+ var EmailAvatarWrapper = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding: ", "px;\n\n background-color: ", ";\n border-radius: 50%;\n display: flex;\n align-items: center;\n"])), function (props) {
23
25
  return props.isLozenge ? 0 : 4;
24
- }, _colors.N40);
26
+ }, (0, _tokens.token)('color.background.subtleNeutral.resting', _colors.N40));
25
27
 
26
28
  var AddOptionAvatar = function AddOptionAvatar(_ref) {
27
29
  var isLozenge = _ref.isLozenge,
@@ -31,7 +33,7 @@ var AddOptionAvatar = function AddOptionAvatar(_ref) {
31
33
  }, /*#__PURE__*/_react.default.createElement(_email.default, {
32
34
  label: label,
33
35
  size: isLozenge ? 'small' : 'medium',
34
- primaryColor: _colors.N500
36
+ primaryColor: (0, _tokens.token)('color.text.mediumEmphasis', _colors.N500)
35
37
  }));
36
38
  };
37
39
 
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.TextWrapper = exports.AvatarItemOption = void 0;
9
9
 
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
10
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
13
 
12
14
  var _react = _interopRequireDefault(require("react"));
@@ -15,17 +17,31 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
17
 
16
18
  var _colors = require("@atlaskit/theme/colors");
17
19
 
18
- var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
20
+ var _tokens = require("@atlaskit/tokens");
19
21
 
20
- var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
22
+ var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
21
23
 
22
24
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
23
25
 
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ var AsyncTooltip = /*#__PURE__*/_react.default.lazy(function () {
31
+ return Promise.resolve().then(function () {
32
+ return _interopRequireWildcard(require('@atlaskit/tooltip'));
33
+ }).then(function (module) {
34
+ return {
35
+ default: module.default
36
+ };
37
+ });
38
+ });
39
+
24
40
  var Wrapper = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n box-sizing: border-box;\n display: flex;\n line-height: 1;\n outline: none;\n margin: 0;\n width: 100%;\n cursor: pointer;\n"])));
25
41
 
26
- var Text = _styledComponents.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0;\n color: ", ";\n overflow-x: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n ", "\n"])), _colors.B400, function (_ref) {
42
+ var Text = _styledComponents.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0;\n color: ", ";\n overflow-x: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n ", "\n"])), (0, _tokens.token)('color.text.selected', _colors.B400), function (_ref) {
27
43
  var secondary = _ref.secondary;
28
- return secondary && "color: ".concat(_colors.B400, "; font-size: 0.85em;");
44
+ return secondary && "color: ".concat((0, _tokens.token)('color.text.selected', _colors.B400), "; font-size: 0.85em;");
29
45
  });
30
46
 
31
47
  var AdditionalInfo = _styledComponents.default.span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n float: right;\n ", "\n"])), function (_ref2) {
@@ -56,13 +72,15 @@ var AvatarItemOption = function AvatarItemOption(_ref4) {
56
72
  }
57
73
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, null, primaryText), /*#__PURE__*/_react.default.createElement(AdditionalInfo, {
58
74
  withTooltip: Boolean(sourcesInfoTooltip)
59
- }, !sourcesInfoTooltip && lozenge && lozenge.text && (lozenge.tooltip ?
75
+ }, !sourcesInfoTooltip && (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
60
76
  /*#__PURE__*/
61
77
  // Note that entire Lozenge must be wrapped in the Tooltip (rather than just the
62
78
  // Lozenge text) or tooltip won't work
63
- _react.default.createElement(_tooltip.default, {
79
+ _react.default.createElement(_react.default.Suspense, {
80
+ fallback: /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text)
81
+ }, /*#__PURE__*/_react.default.createElement(AsyncTooltip, {
64
82
  content: lozenge.tooltip
65
- }, /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text)) : /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, {
83
+ }, /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text))) : /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, {
66
84
  secondary: true
67
85
  }, secondaryText))));
68
86
  };
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.ClearIndicator = void 0;
9
9
 
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -27,8 +29,6 @@ var _react = _interopRequireDefault(require("react"));
27
29
 
28
30
  var _select = require("@atlaskit/select");
29
31
 
30
- var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
31
-
32
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
33
33
 
34
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -37,6 +37,20 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
37
37
 
38
38
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
39
 
40
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
+
42
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
+
44
+ var AsyncTooltip = /*#__PURE__*/_react.default.lazy(function () {
45
+ return Promise.resolve().then(function () {
46
+ return _interopRequireWildcard(require('@atlaskit/tooltip'));
47
+ }).then(function (module) {
48
+ return {
49
+ default: module.default
50
+ };
51
+ });
52
+ });
53
+
40
54
  var ClearIndicator = /*#__PURE__*/function (_React$PureComponent) {
41
55
  (0, _inherits2.default)(ClearIndicator, _React$PureComponent);
42
56
 
@@ -73,13 +87,18 @@ var ClearIndicator = /*#__PURE__*/function (_React$PureComponent) {
73
87
  key: "render",
74
88
  value: function render() {
75
89
  var clearValueLabel = this.props.selectProps.clearValueLabel;
76
- return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
77
- content: clearValueLabel
78
- }, /*#__PURE__*/_react.default.createElement(_select.components.ClearIndicator, (0, _extends2.default)({}, this.props, {
90
+
91
+ var Indicator = /*#__PURE__*/_react.default.createElement(_select.components.ClearIndicator, (0, _extends2.default)({}, this.props, {
79
92
  innerProps: _objectSpread(_objectSpread({}, this.props.innerProps), {}, {
80
93
  onMouseDown: this.handleMouseDown
81
94
  })
82
- })));
95
+ }));
96
+
97
+ return clearValueLabel ? /*#__PURE__*/_react.default.createElement(_react.default.Suspense, {
98
+ fallback: Indicator
99
+ }, /*#__PURE__*/_react.default.createElement(AsyncTooltip, {
100
+ content: clearValueLabel
101
+ }, Indicator)) : Indicator;
83
102
  }
84
103
  }]);
85
104
  return ClearIndicator;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ var AsyncEmailOption = /*#__PURE__*/_react.default.lazy(function () {
19
+ return Promise.resolve().then(function () {
20
+ return _interopRequireWildcard(require('./main'));
21
+ }).then(function (module) {
22
+ return {
23
+ default: module.EmailOption
24
+ };
25
+ });
26
+ });
27
+
28
+ var _default = AsyncEmailOption;
29
+ exports.default = _default;
@@ -27,11 +27,13 @@ var _reactIntlNext = require("react-intl-next");
27
27
 
28
28
  var _colors = require("@atlaskit/theme/colors");
29
29
 
30
- var _AddOptionAvatar = require("./AddOptionAvatar");
30
+ var _tokens = require("@atlaskit/tokens");
31
31
 
32
- var _AvatarItemOption = require("./AvatarItemOption");
32
+ var _AddOptionAvatar = require("../AddOptionAvatar");
33
33
 
34
- var _i18n = require("./i18n");
34
+ var _AvatarItemOption = require("../AvatarItemOption");
35
+
36
+ var _i18n = require("../i18n");
35
37
 
36
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
37
39
 
@@ -65,12 +67,12 @@ var EmailOption = /*#__PURE__*/function (_React$PureComponent) {
65
67
  var id = _this.props.email.id;
66
68
  return /*#__PURE__*/_react.default.createElement(_AvatarItemOption.TextWrapper, {
67
69
  key: "name",
68
- color: _this.props.isSelected ? _colors.B400 : _colors.N800
70
+ color: _this.props.isSelected ? (0, _tokens.token)('color.text.selected', _colors.B400) : (0, _tokens.token)('color.text.highEmphasis', _colors.N800)
69
71
  }, id);
70
72
  });
71
73
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderSecondaryText", function (label) {
72
74
  return /*#__PURE__*/_react.default.createElement(_AvatarItemOption.TextWrapper, {
73
- color: _this.props.isSelected ? _colors.B400 : _colors.N200
75
+ color: _this.props.isSelected ? (0, _tokens.token)('color.text.selected', _colors.B400) : (0, _tokens.token)('color.text.lowEmphasis', _colors.N200)
74
76
  }, label);
75
77
  });
76
78
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderOption", function (label) {
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ var AsyncExternalUserOption = /*#__PURE__*/_react.default.lazy(function () {
19
+ return Promise.resolve().then(function () {
20
+ return _interopRequireWildcard(require('./main'));
21
+ }).then(function (module) {
22
+ return {
23
+ default: module.ExternalUserOption
24
+ };
25
+ });
26
+ });
27
+
28
+ var _default = AsyncExternalUserOption;
29
+ exports.default = _default;
@@ -27,29 +27,35 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
27
27
 
28
28
  var _colors = require("@atlaskit/theme/colors");
29
29
 
30
+ var _tokens = require("@atlaskit/tokens");
31
+
30
32
  var _react = _interopRequireDefault(require("react"));
31
33
 
32
- var _AvatarItemOption = require("./AvatarItemOption");
34
+ var _AvatarItemOption = require("../AvatarItemOption");
33
35
 
34
- var _SizeableAvatar = require("./SizeableAvatar");
36
+ var _SizeableAvatar = require("../SizeableAvatar");
35
37
 
36
38
  var _panel = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/panel"));
37
39
 
38
40
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
39
41
 
42
+ var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
43
+
40
44
  var _styledComponents = _interopRequireDefault(require("styled-components"));
41
45
 
42
- var _slack = require("./assets/slack");
46
+ var _slack = require("../assets/slack");
43
47
 
44
- var _google = require("./assets/google");
48
+ var _google = require("../assets/google");
45
49
 
46
- var _microsoft = require("./assets/microsoft");
50
+ var _microsoft = require("../assets/microsoft");
47
51
 
48
- var _github = require("./assets/github");
52
+ var _github = require("../assets/github");
49
53
 
50
54
  var _reactIntlNext = require("react-intl-next");
51
55
 
52
- var _i18n = require("./i18n");
56
+ var _i18n = require("../i18n");
57
+
58
+ var _ExternalUserSourcesContainer = require("../ExternalUserSourcesContainer");
53
59
 
54
60
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
55
61
 
@@ -109,7 +115,7 @@ var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
109
115
  var name = _this.props.user.name;
110
116
  return /*#__PURE__*/_react.default.createElement(_AvatarItemOption.TextWrapper, {
111
117
  key: "name",
112
- color: _this.props.isSelected ? _colors.B400 : _colors.N800
118
+ color: _this.props.isSelected ? (0, _tokens.token)('color.text.selected', _colors.B400) : (0, _tokens.token)('color.text.highEmphasis', _colors.N800)
113
119
  }, name);
114
120
  });
115
121
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderSecondaryText", function () {
@@ -126,7 +132,7 @@ var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
126
132
 
127
133
  var emailDomainWithAt = "@".concat(emailDomain);
128
134
  return /*#__PURE__*/_react.default.createElement(_AvatarItemOption.TextWrapper, {
129
- color: _this.props.isSelected ? _colors.B400 : _colors.N200
135
+ color: _this.props.isSelected ? (0, _tokens.token)('color.text.selected', _colors.B400) : (0, _tokens.token)('color.text.lowEmphasis', _colors.N200)
130
136
  }, emailUser, /*#__PURE__*/_react.default.createElement(EmailDomainWrapper, null, emailDomainWithAt));
131
137
  });
132
138
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderAvatar", function () {
@@ -143,15 +149,14 @@ var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
143
149
  });
144
150
  });
145
151
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getSourcesInfoTooltip", function () {
146
- var _this$props$user$sour;
147
-
148
- return ((_this$props$user$sour = _this.props.user.sources) === null || _this$props$user$sour === void 0 ? void 0 : _this$props$user$sour.length) > 0 ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
152
+ return _this.props.user.isExternal ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
149
153
  content: _this.formattedTooltipContent(),
150
154
  position: 'right-start'
151
155
  }, /*#__PURE__*/_react.default.createElement(_panel.default, {
156
+ testId: "source-icon",
152
157
  label: "",
153
158
  size: "large",
154
- primaryColor: _colors.N200
159
+ primaryColor: (0, _tokens.token)('color.text.lowEmphasis', _colors.N200)
155
160
  })) : undefined;
156
161
  });
157
162
  return _this;
@@ -170,18 +175,32 @@ var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
170
175
  }, {
171
176
  key: "formattedTooltipContent",
172
177
  value: function formattedTooltipContent() {
173
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.externalUserSourcesHeading)), /*#__PURE__*/_react.default.createElement(SourcesTooltipContainer, null, this.props.user.sources.map(function (s) {
174
- return SourcesInfoMap.get(s);
175
- }).filter(function (s) {
176
- return s;
177
- }).map(function (_ref) {
178
- var key = _ref.key,
179
- icon = _ref.icon,
180
- label = _ref.label;
181
- return /*#__PURE__*/_react.default.createElement(SourceWrapper, {
182
- key: key
183
- }, /*#__PURE__*/_react.default.createElement(ImageContainer, null, icon), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, label)));
184
- })));
178
+ var _this$props$user2 = this.props.user,
179
+ id = _this$props$user2.id,
180
+ sources = _this$props$user2.sources;
181
+ return /*#__PURE__*/_react.default.createElement(_ExternalUserSourcesContainer.ExternalUserSourcesContainer, {
182
+ accountId: id,
183
+ initialSources: sources
184
+ }, function (_ref) {
185
+ var sources = _ref.sources,
186
+ sourcesLoading = _ref.sourcesLoading,
187
+ sourcesError = _ref.sourcesError;
188
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, sourcesError !== null && sources.length === 0 ? /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.externalUserSourcesError)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.externalUserSourcesHeading)), /*#__PURE__*/_react.default.createElement(SourcesTooltipContainer, null, sourcesLoading && /*#__PURE__*/_react.default.createElement(_spinner.default, {
189
+ size: "small",
190
+ appearance: "invert"
191
+ }), !sourcesLoading && sources.map(function (s) {
192
+ return SourcesInfoMap.get(s);
193
+ }).filter(function (s) {
194
+ return s;
195
+ }).map(function (_ref2) {
196
+ var key = _ref2.key,
197
+ icon = _ref2.icon,
198
+ label = _ref2.label;
199
+ return /*#__PURE__*/_react.default.createElement(SourceWrapper, {
200
+ key: key
201
+ }, /*#__PURE__*/_react.default.createElement(ImageContainer, null, icon), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, label)));
202
+ }))));
203
+ });
185
204
  }
186
205
  }]);
187
206
  return ExternalUserOption;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ExternalUserSourcesContainer = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _UserSourceProvider = require("../clients/UserSourceProvider");
13
+
14
+ var ExternalUserSourcesContainer = function ExternalUserSourcesContainer(_ref) {
15
+ var children = _ref.children,
16
+ accountId = _ref.accountId,
17
+ _ref$initialSources = _ref.initialSources,
18
+ initialSources = _ref$initialSources === void 0 ? [] : _ref$initialSources;
19
+
20
+ var _useUserSource = (0, _UserSourceProvider.useUserSource)(accountId, initialSources),
21
+ sources = _useUserSource.sources,
22
+ sourcesLoading = _useUserSource.loading,
23
+ sourcesError = _useUserSource.error;
24
+
25
+ if (typeof children === 'function') {
26
+ return children({
27
+ sources: sources,
28
+ sourcesLoading: sourcesLoading,
29
+ sourcesError: sourcesError
30
+ });
31
+ }
32
+
33
+ return _react.default.Children.map(children, function (child) {
34
+ return /*#__PURE__*/_react.default.cloneElement(child, {
35
+ sources: sources,
36
+ sourcesLoading: sourcesLoading,
37
+ sourcesError: sourcesError
38
+ });
39
+ });
40
+ };
41
+
42
+ exports.ExternalUserSourcesContainer = ExternalUserSourcesContainer;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ var AsyncGroupOption = /*#__PURE__*/_react.default.lazy(function () {
19
+ return Promise.resolve().then(function () {
20
+ return _interopRequireWildcard(require('./main'));
21
+ }).then(function (module) {
22
+ return {
23
+ default: module.GroupOption
24
+ };
25
+ });
26
+ });
27
+
28
+ var _default = AsyncGroupOption;
29
+ exports.default = _default;
@@ -31,13 +31,15 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
31
31
 
32
32
  var _colors = require("@atlaskit/theme/colors");
33
33
 
34
+ var _tokens = require("@atlaskit/tokens");
35
+
34
36
  var _people = _interopRequireDefault(require("@atlaskit/icon/glyph/people"));
35
37
 
36
- var _AvatarItemOption = require("./AvatarItemOption");
38
+ var _AvatarItemOption = require(".././AvatarItemOption");
37
39
 
38
- var _i18n = require("./i18n");
40
+ var _i18n = require(".././i18n");
39
41
 
40
- var _HighlightText = require("./HighlightText");
42
+ var _HighlightText = require(".././HighlightText");
41
43
 
42
44
  var _templateObject;
43
45
 
@@ -45,7 +47,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
45
47
 
46
48
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
49
 
48
- var GroupOptionIconWrapper = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding: 2px;\n\n > span {\n background-color: ", ";\n border-radius: 50%;\n padding: 4px;\n }\n"])), _colors.N20);
50
+ var GroupOptionIconWrapper = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding: 2px;\n\n > span {\n background-color: ", ";\n border-radius: 50%;\n padding: 4px;\n }\n"])), (0, _tokens.token)('color.background.subtleNeutral.resting', _colors.N20));
49
51
 
50
52
  exports.GroupOptionIconWrapper = GroupOptionIconWrapper;
51
53
 
@@ -72,7 +74,7 @@ var GroupOption = /*#__PURE__*/function (_React$PureComponent) {
72
74
  highlight = _this$props$group.highlight;
73
75
  return [/*#__PURE__*/_react.default.createElement(_AvatarItemOption.TextWrapper, {
74
76
  key: "name",
75
- color: isSelected ? _colors.B400 : _colors.N800
77
+ color: isSelected ? (0, _tokens.token)('color.text.selected', _colors.B400) : (0, _tokens.token)('color.text.highEmphasis', _colors.N800)
76
78
  }, /*#__PURE__*/_react.default.createElement(_HighlightText.HighlightText, {
77
79
  highlights: highlight && highlight.name
78
80
  }, name))];
@@ -86,7 +88,7 @@ var GroupOption = /*#__PURE__*/function (_React$PureComponent) {
86
88
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderByline", function () {
87
89
  var isSelected = _this.props.isSelected;
88
90
  return /*#__PURE__*/_react.default.createElement(_AvatarItemOption.TextWrapper, {
89
- color: isSelected ? _colors.B400 : _colors.N200
91
+ color: isSelected ? (0, _tokens.token)('color.text.selected', _colors.B400) : (0, _tokens.token)('color.text.lowEmphasis', _colors.N200)
90
92
  }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.groupByline));
91
93
  });
92
94
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getLozengeProps", function () {