@atlaskit/user-picker 8.1.0 → 8.2.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 (51) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/components/AvatarItemOption.js +21 -5
  3. package/dist/cjs/components/ClearIndicator.js +25 -6
  4. package/dist/cjs/components/EmailOption/index.js +29 -0
  5. package/dist/cjs/components/{EmailOption.js → EmailOption/main.js} +3 -3
  6. package/dist/cjs/components/ExternalUserOption/index.js +29 -0
  7. package/dist/cjs/components/{ExternalUserOption.js → ExternalUserOption/main.js} +7 -7
  8. package/dist/cjs/components/GroupOption/index.js +29 -0
  9. package/dist/cjs/components/{GroupOption.js → GroupOption/main.js} +3 -3
  10. package/dist/cjs/components/MessagesIntlProvider.js +3 -4
  11. package/dist/cjs/components/Option.js +26 -13
  12. package/dist/cjs/components/TeamOption/index.js +29 -0
  13. package/dist/cjs/components/{TeamOption.js → TeamOption/main.js} +4 -4
  14. package/dist/cjs/version.json +1 -1
  15. package/dist/es2019/components/AvatarItemOption.js +12 -4
  16. package/dist/es2019/components/ClearIndicator.js +14 -5
  17. package/dist/es2019/components/EmailOption/index.js +9 -0
  18. package/dist/es2019/components/{EmailOption.js → EmailOption/main.js} +3 -3
  19. package/dist/es2019/components/ExternalUserOption/index.js +9 -0
  20. package/dist/es2019/components/{ExternalUserOption.js → ExternalUserOption/main.js} +7 -7
  21. package/dist/es2019/components/GroupOption/index.js +9 -0
  22. package/dist/es2019/components/{GroupOption.js → GroupOption/main.js} +3 -3
  23. package/dist/es2019/components/MessagesIntlProvider.js +3 -3
  24. package/dist/es2019/components/Option.js +23 -9
  25. package/dist/es2019/components/TeamOption/index.js +9 -0
  26. package/dist/es2019/components/{TeamOption.js → TeamOption/main.js} +4 -4
  27. package/dist/es2019/version.json +1 -1
  28. package/dist/esm/components/AvatarItemOption.js +14 -4
  29. package/dist/esm/components/ClearIndicator.js +16 -5
  30. package/dist/esm/components/EmailOption/index.js +11 -0
  31. package/dist/esm/components/{EmailOption.js → EmailOption/main.js} +3 -3
  32. package/dist/esm/components/ExternalUserOption/index.js +11 -0
  33. package/dist/esm/components/{ExternalUserOption.js → ExternalUserOption/main.js} +7 -7
  34. package/dist/esm/components/GroupOption/index.js +11 -0
  35. package/dist/esm/components/{GroupOption.js → GroupOption/main.js} +3 -3
  36. package/dist/esm/components/MessagesIntlProvider.js +4 -4
  37. package/dist/esm/components/Option.js +25 -12
  38. package/dist/esm/components/TeamOption/index.js +11 -0
  39. package/dist/esm/components/{TeamOption.js → TeamOption/main.js} +4 -4
  40. package/dist/esm/version.json +1 -1
  41. package/dist/types/components/EmailOption/index.d.ts +3 -0
  42. package/dist/types/components/{EmailOption.d.ts → EmailOption/main.d.ts} +2 -2
  43. package/dist/types/components/ExternalUserOption/index.d.ts +3 -0
  44. package/dist/types/components/{ExternalUserOption.d.ts → ExternalUserOption/main.d.ts} +1 -1
  45. package/dist/types/components/GroupOption/index.d.ts +3 -0
  46. package/dist/types/components/{GroupOption.d.ts → GroupOption/main.d.ts} +1 -1
  47. package/dist/types/components/MessagesIntlProvider.d.ts +2 -8
  48. package/dist/types/components/Option.d.ts +4 -1
  49. package/dist/types/components/TeamOption/index.d.ts +3 -0
  50. package/dist/types/components/{TeamOption.d.ts → TeamOption/main.d.ts} +1 -1
  51. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/user-picker
2
2
 
3
+ ## 8.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`35b466f6fb5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/35b466f6fb5) - Asynchronously load user options in user-picker
8
+
3
9
  ## 8.1.0
4
10
 
5
11
  ### Minor Changes
@@ -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"));
@@ -19,10 +21,22 @@ var _tokens = require("@atlaskit/tokens");
19
21
 
20
22
  var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
21
23
 
22
- var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
23
-
24
24
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
25
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
+
26
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"])));
27
41
 
28
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) {
@@ -58,13 +72,15 @@ var AvatarItemOption = function AvatarItemOption(_ref4) {
58
72
  }
59
73
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, null, primaryText), /*#__PURE__*/_react.default.createElement(AdditionalInfo, {
60
74
  withTooltip: Boolean(sourcesInfoTooltip)
61
- }, !sourcesInfoTooltip && lozenge && lozenge.text && (lozenge.tooltip ?
75
+ }, !sourcesInfoTooltip && (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
62
76
  /*#__PURE__*/
63
77
  // Note that entire Lozenge must be wrapped in the Tooltip (rather than just the
64
78
  // Lozenge text) or tooltip won't work
65
- _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, {
66
82
  content: lozenge.tooltip
67
- }, /*#__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, {
68
84
  secondary: true
69
85
  }, secondaryText))));
70
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;
@@ -29,11 +29,11 @@ var _colors = require("@atlaskit/theme/colors");
29
29
 
30
30
  var _tokens = require("@atlaskit/tokens");
31
31
 
32
- var _AddOptionAvatar = require("./AddOptionAvatar");
32
+ var _AddOptionAvatar = require("../AddOptionAvatar");
33
33
 
34
- var _AvatarItemOption = require("./AvatarItemOption");
34
+ var _AvatarItemOption = require("../AvatarItemOption");
35
35
 
36
- var _i18n = require("./i18n");
36
+ var _i18n = require("../i18n");
37
37
 
38
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); }; }
39
39
 
@@ -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;
@@ -31,9 +31,9 @@ var _tokens = require("@atlaskit/tokens");
31
31
 
32
32
  var _react = _interopRequireDefault(require("react"));
33
33
 
34
- var _AvatarItemOption = require("./AvatarItemOption");
34
+ var _AvatarItemOption = require("../AvatarItemOption");
35
35
 
36
- var _SizeableAvatar = require("./SizeableAvatar");
36
+ var _SizeableAvatar = require("../SizeableAvatar");
37
37
 
38
38
  var _panel = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/panel"));
39
39
 
@@ -41,17 +41,17 @@ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
41
41
 
42
42
  var _styledComponents = _interopRequireDefault(require("styled-components"));
43
43
 
44
- var _slack = require("./assets/slack");
44
+ var _slack = require("../assets/slack");
45
45
 
46
- var _google = require("./assets/google");
46
+ var _google = require("../assets/google");
47
47
 
48
- var _microsoft = require("./assets/microsoft");
48
+ var _microsoft = require("../assets/microsoft");
49
49
 
50
- var _github = require("./assets/github");
50
+ var _github = require("../assets/github");
51
51
 
52
52
  var _reactIntlNext = require("react-intl-next");
53
53
 
54
- var _i18n = require("./i18n");
54
+ var _i18n = require("../i18n");
55
55
 
56
56
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
57
57
 
@@ -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;
@@ -35,11 +35,11 @@ var _tokens = require("@atlaskit/tokens");
35
35
 
36
36
  var _people = _interopRequireDefault(require("@atlaskit/icon/glyph/people"));
37
37
 
38
- var _AvatarItemOption = require("./AvatarItemOption");
38
+ var _AvatarItemOption = require(".././AvatarItemOption");
39
39
 
40
- var _i18n = require("./i18n");
40
+ var _i18n = require(".././i18n");
41
41
 
42
- var _HighlightText = require("./HighlightText");
42
+ var _HighlightText = require(".././HighlightText");
43
43
 
44
44
  var _templateObject;
45
45
 
@@ -55,8 +55,8 @@ var useI18n = function useI18n(locale) {
55
55
  };
56
56
 
57
57
  var MessagesIntlProvider = function MessagesIntlProvider(props) {
58
- var intl = props.intl,
59
- children = props.children;
58
+ var intl = (0, _reactIntlNext.useIntl)();
59
+ var children = props.children;
60
60
  var messages = useI18n(intl.locale);
61
61
  var mergedMessages = (0, _react.useMemo)(function () {
62
62
  return _objectSpread(_objectSpread({}, intl.messages), messages);
@@ -67,6 +67,5 @@ var MessagesIntlProvider = function MessagesIntlProvider(props) {
67
67
  }, children);
68
68
  };
69
69
 
70
- var _default = (0, _reactIntlNext.injectIntl)(MessagesIntlProvider);
71
-
70
+ var _default = MessagesIntlProvider;
72
71
  exports.default = _default;
@@ -11,28 +11,39 @@ var _select = require("@atlaskit/select");
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
- var _EmailOption = require("./EmailOption");
14
+ var _UserOption = require("./UserOption");
15
15
 
16
- var _TeamOption = require("./TeamOption");
16
+ var _ExternalUserOption = _interopRequireDefault(require("./ExternalUserOption"));
17
17
 
18
- var _UserOption = require("./UserOption");
18
+ var _TeamOption = _interopRequireDefault(require("./TeamOption"));
19
19
 
20
- var _GroupOption = require("./GroupOption");
20
+ var _GroupOption = _interopRequireDefault(require("./GroupOption"));
21
21
 
22
- var _ExternalUserOption = require("./ExternalUserOption");
22
+ var _EmailOption = _interopRequireDefault(require("./EmailOption"));
23
23
 
24
24
  var _utils = require("./utils");
25
25
 
26
26
  var _emailValidation = require("./emailValidation");
27
27
 
28
- var dataOption = function dataOption(_ref) {
28
+ var defaultOption = function defaultOption(_ref) {
29
29
  var data = _ref.data.data,
30
30
  isSelected = _ref.isSelected,
31
- status = _ref.status,
32
- selectProps = _ref.selectProps;
31
+ status = _ref.status;
32
+ return /*#__PURE__*/_react.default.createElement(_UserOption.UserOption, {
33
+ user: data,
34
+ status: status,
35
+ isSelected: isSelected
36
+ });
37
+ };
38
+
39
+ var dataOption = function dataOption(_ref2) {
40
+ var data = _ref2.data.data,
41
+ isSelected = _ref2.isSelected,
42
+ status = _ref2.status,
43
+ selectProps = _ref2.selectProps;
33
44
 
34
45
  if ((0, _utils.isExternalUser)(data)) {
35
- return /*#__PURE__*/_react.default.createElement(_ExternalUserOption.ExternalUserOption, {
46
+ return /*#__PURE__*/_react.default.createElement(_ExternalUserOption.default, {
36
47
  user: data,
37
48
  status: status,
38
49
  isSelected: isSelected
@@ -48,7 +59,7 @@ var dataOption = function dataOption(_ref) {
48
59
  }
49
60
 
50
61
  if ((0, _utils.isEmail)(data)) {
51
- return /*#__PURE__*/_react.default.createElement(_EmailOption.EmailOption, {
62
+ return /*#__PURE__*/_react.default.createElement(_EmailOption.default, {
52
63
  email: data,
53
64
  emailValidity: (0, _emailValidation.isValidEmail)(data.id),
54
65
  isSelected: isSelected,
@@ -57,14 +68,14 @@ var dataOption = function dataOption(_ref) {
57
68
  }
58
69
 
59
70
  if ((0, _utils.isTeam)(data)) {
60
- return /*#__PURE__*/_react.default.createElement(_TeamOption.TeamOption, {
71
+ return /*#__PURE__*/_react.default.createElement(_TeamOption.default, {
61
72
  team: data,
62
73
  isSelected: isSelected
63
74
  });
64
75
  }
65
76
 
66
77
  if ((0, _utils.isGroup)(data)) {
67
- return /*#__PURE__*/_react.default.createElement(_GroupOption.GroupOption, {
78
+ return /*#__PURE__*/_react.default.createElement(_GroupOption.default, {
68
79
  group: data,
69
80
  isSelected: isSelected
70
81
  });
@@ -74,7 +85,9 @@ var dataOption = function dataOption(_ref) {
74
85
  };
75
86
 
76
87
  var Option = function Option(props) {
77
- return /*#__PURE__*/_react.default.createElement(_select.components.Option, props, dataOption(props));
88
+ return /*#__PURE__*/_react.default.createElement(_select.components.Option, props, /*#__PURE__*/_react.default.createElement(_react.default.Suspense, {
89
+ fallback: defaultOption(props)
90
+ }, dataOption(props)));
78
91
  };
79
92
 
80
93
  exports.Option = Option;
@@ -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 AsyncTeamOption = /*#__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.TeamOption
24
+ };
25
+ });
26
+ });
27
+
28
+ var _default = AsyncTeamOption;
29
+ exports.default = _default;
@@ -31,13 +31,13 @@ var _react = _interopRequireDefault(require("react"));
31
31
 
32
32
  var _reactIntlNext = require("react-intl-next");
33
33
 
34
- var _AvatarItemOption = require("./AvatarItemOption");
34
+ var _AvatarItemOption = require(".././AvatarItemOption");
35
35
 
36
- var _HighlightText = require("./HighlightText");
36
+ var _HighlightText = require(".././HighlightText");
37
37
 
38
- var _i18n = require("./i18n");
38
+ var _i18n = require(".././i18n");
39
39
 
40
- var _SizeableAvatar = require("./SizeableAvatar");
40
+ var _SizeableAvatar = require(".././SizeableAvatar");
41
41
 
42
42
  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); }; }
43
43
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -3,7 +3,13 @@ import styled from 'styled-components';
3
3
  import { B400 } from '@atlaskit/theme/colors';
4
4
  import { token } from '@atlaskit/tokens';
5
5
  import Lozenge from '@atlaskit/lozenge';
6
- import Tooltip from '@atlaskit/tooltip';
6
+ const AsyncTooltip = /*#__PURE__*/React.lazy(() => import(
7
+ /* webpackChunkName: "@atlaskit-internal_@atlaskit/tooltip" */
8
+ '@atlaskit/tooltip').then(module => {
9
+ return {
10
+ default: module.default
11
+ };
12
+ }));
7
13
  const Wrapper = styled.span`
8
14
  align-items: center;
9
15
  box-sizing: border-box;
@@ -54,12 +60,14 @@ export const AvatarItemOption = ({
54
60
  }
55
61
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText), /*#__PURE__*/React.createElement(AdditionalInfo, {
56
62
  withTooltip: Boolean(sourcesInfoTooltip)
57
- }, !sourcesInfoTooltip && lozenge && lozenge.text && (lozenge.tooltip ?
63
+ }, !sourcesInfoTooltip && (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
58
64
  /*#__PURE__*/
59
65
  // Note that entire Lozenge must be wrapped in the Tooltip (rather than just the
60
66
  // Lozenge text) or tooltip won't work
61
- React.createElement(Tooltip, {
67
+ React.createElement(React.Suspense, {
68
+ fallback: /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)
69
+ }, /*#__PURE__*/React.createElement(AsyncTooltip, {
62
70
  content: lozenge.tooltip
63
- }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
71
+ }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text))) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
64
72
  secondary: true
65
73
  }, secondaryText))));
@@ -2,7 +2,13 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import React from 'react';
4
4
  import { components } from '@atlaskit/select';
5
- import Tooltip from '@atlaskit/tooltip';
5
+ const AsyncTooltip = /*#__PURE__*/React.lazy(() => import(
6
+ /* webpackChunkName: "@atlaskit-internal_@atlaskit/tooltip" */
7
+ '@atlaskit/tooltip').then(module => {
8
+ return {
9
+ default: module.default
10
+ };
11
+ }));
6
12
  export class ClearIndicator extends React.PureComponent {
7
13
  constructor(...args) {
8
14
  super(...args);
@@ -30,13 +36,16 @@ export class ClearIndicator extends React.PureComponent {
30
36
  clearValueLabel
31
37
  }
32
38
  } = this.props;
33
- return /*#__PURE__*/React.createElement(Tooltip, {
34
- content: clearValueLabel
35
- }, /*#__PURE__*/React.createElement(components.ClearIndicator, _extends({}, this.props, {
39
+ const Indicator = /*#__PURE__*/React.createElement(components.ClearIndicator, _extends({}, this.props, {
36
40
  innerProps: { ...this.props.innerProps,
37
41
  onMouseDown: this.handleMouseDown
38
42
  }
39
- })));
43
+ }));
44
+ return clearValueLabel ? /*#__PURE__*/React.createElement(React.Suspense, {
45
+ fallback: Indicator
46
+ }, /*#__PURE__*/React.createElement(AsyncTooltip, {
47
+ content: clearValueLabel
48
+ }, Indicator)) : Indicator;
40
49
  }
41
50
 
42
51
  }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ const AsyncEmailOption = /*#__PURE__*/React.lazy(() => import(
3
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/email-option" */
4
+ './main').then(module => {
5
+ return {
6
+ default: module.EmailOption
7
+ };
8
+ }));
9
+ export default AsyncEmailOption;
@@ -3,9 +3,9 @@ import React from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
4
  import { B400, N200, N800 } from '@atlaskit/theme/colors';
5
5
  import { token } from '@atlaskit/tokens';
6
- import { AddOptionAvatar } from './AddOptionAvatar';
7
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
8
- import { messages } from './i18n';
6
+ import { AddOptionAvatar } from '../AddOptionAvatar';
7
+ import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
8
+ import { messages } from '../i18n';
9
9
 
10
10
  const getAddEmailMessage = validity => validity === 'POTENTIAL' ? messages.continueToAddEmail : messages.selectToAddEmail;
11
11
 
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ const AsyncExternalUserOption = /*#__PURE__*/React.lazy(() => import(
3
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/external-user-option" */
4
+ './main').then(module => {
5
+ return {
6
+ default: module.ExternalUserOption
7
+ };
8
+ }));
9
+ export default AsyncExternalUserOption;
@@ -2,17 +2,17 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { B400, N200, N800 } from '@atlaskit/theme/colors';
3
3
  import { token } from '@atlaskit/tokens';
4
4
  import React from 'react';
5
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
6
- import { SizeableAvatar } from './SizeableAvatar';
5
+ import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
6
+ import { SizeableAvatar } from '../SizeableAvatar';
7
7
  import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
8
8
  import Tooltip from '@atlaskit/tooltip';
9
9
  import styled from 'styled-components';
10
- import { SlackIcon } from './assets/slack';
11
- import { GoogleIcon } from './assets/google';
12
- import { MicrosoftIcon } from './assets/microsoft';
13
- import { GitHubIcon } from './assets/github';
10
+ import { SlackIcon } from '../assets/slack';
11
+ import { GoogleIcon } from '../assets/google';
12
+ import { MicrosoftIcon } from '../assets/microsoft';
13
+ import { GitHubIcon } from '../assets/github';
14
14
  import { FormattedMessage } from 'react-intl-next';
15
- import { messages } from './i18n';
15
+ import { messages } from '../i18n';
16
16
  export const ImageContainer = styled.span`
17
17
  height: 12px;
18
18
  width: 12px;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ const AsyncGroupOption = /*#__PURE__*/React.lazy(() => import(
3
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/group-option" */
4
+ './main').then(module => {
5
+ return {
6
+ default: module.GroupOption
7
+ };
8
+ }));
9
+ export default AsyncGroupOption;
@@ -5,9 +5,9 @@ import styled from 'styled-components';
5
5
  import { N20, B400, N800, N200 } from '@atlaskit/theme/colors';
6
6
  import { token } from '@atlaskit/tokens';
7
7
  import PeopleIcon from '@atlaskit/icon/glyph/people';
8
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
9
- import { messages } from './i18n';
10
- import { HighlightText } from './HighlightText';
8
+ import { AvatarItemOption, TextWrapper } from '.././AvatarItemOption';
9
+ import { messages } from '.././i18n';
10
+ import { HighlightText } from '.././HighlightText';
11
11
  export const GroupOptionIconWrapper = styled.span`
12
12
  padding: 2px;
13
13
 
@@ -1,5 +1,5 @@
1
1
  import React, { useMemo } from 'react';
2
- import { IntlProvider, injectIntl } from 'react-intl-next';
2
+ import { useIntl, IntlProvider } from 'react-intl-next';
3
3
  import { getMessagesForLocale } from '../util/i18n-util';
4
4
  const EMPTY = {};
5
5
 
@@ -24,8 +24,8 @@ const useI18n = locale => {
24
24
  };
25
25
 
26
26
  const MessagesIntlProvider = props => {
27
+ const intl = useIntl();
27
28
  const {
28
- intl,
29
29
  children
30
30
  } = props;
31
31
  const messages = useI18n(intl.locale);
@@ -40,4 +40,4 @@ const MessagesIntlProvider = props => {
40
40
  }, children);
41
41
  };
42
42
 
43
- export default injectIntl(MessagesIntlProvider);
43
+ export default MessagesIntlProvider;
@@ -1,13 +1,25 @@
1
1
  import { components } from '@atlaskit/select';
2
2
  import React from 'react';
3
- import { EmailOption } from './EmailOption';
4
- import { TeamOption } from './TeamOption';
5
3
  import { UserOption } from './UserOption';
6
- import { GroupOption } from './GroupOption';
7
- import { ExternalUserOption } from './ExternalUserOption';
4
+ import AsyncExternalOption from './ExternalUserOption';
5
+ import AsyncTeamOption from './TeamOption';
6
+ import AsyncGroupOption from './GroupOption';
7
+ import AsyncEmailOption from './EmailOption';
8
8
  import { isEmail, isTeam, isUser, isGroup, isExternalUser } from './utils';
9
9
  import { isValidEmail } from './emailValidation';
10
10
 
11
+ const defaultOption = ({
12
+ data: {
13
+ data
14
+ },
15
+ isSelected,
16
+ status
17
+ }) => /*#__PURE__*/React.createElement(UserOption, {
18
+ user: data,
19
+ status: status,
20
+ isSelected: isSelected
21
+ });
22
+
11
23
  const dataOption = ({
12
24
  data: {
13
25
  data
@@ -17,7 +29,7 @@ const dataOption = ({
17
29
  selectProps
18
30
  }) => {
19
31
  if (isExternalUser(data)) {
20
- return /*#__PURE__*/React.createElement(ExternalUserOption, {
32
+ return /*#__PURE__*/React.createElement(AsyncExternalOption, {
21
33
  user: data,
22
34
  status: status,
23
35
  isSelected: isSelected
@@ -33,7 +45,7 @@ const dataOption = ({
33
45
  }
34
46
 
35
47
  if (isEmail(data)) {
36
- return /*#__PURE__*/React.createElement(EmailOption, {
48
+ return /*#__PURE__*/React.createElement(AsyncEmailOption, {
37
49
  email: data,
38
50
  emailValidity: isValidEmail(data.id),
39
51
  isSelected: isSelected,
@@ -42,14 +54,14 @@ const dataOption = ({
42
54
  }
43
55
 
44
56
  if (isTeam(data)) {
45
- return /*#__PURE__*/React.createElement(TeamOption, {
57
+ return /*#__PURE__*/React.createElement(AsyncTeamOption, {
46
58
  team: data,
47
59
  isSelected: isSelected
48
60
  });
49
61
  }
50
62
 
51
63
  if (isGroup(data)) {
52
- return /*#__PURE__*/React.createElement(GroupOption, {
64
+ return /*#__PURE__*/React.createElement(AsyncGroupOption, {
53
65
  group: data,
54
66
  isSelected: isSelected
55
67
  });
@@ -58,4 +70,6 @@ const dataOption = ({
58
70
  return null;
59
71
  };
60
72
 
61
- export const Option = props => /*#__PURE__*/React.createElement(components.Option, props, dataOption(props));
73
+ export const Option = props => /*#__PURE__*/React.createElement(components.Option, props, /*#__PURE__*/React.createElement(React.Suspense, {
74
+ fallback: defaultOption(props)
75
+ }, dataOption(props)));
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ const AsyncTeamOption = /*#__PURE__*/React.lazy(() => import(
3
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/team-option" */
4
+ './main').then(module => {
5
+ return {
6
+ default: module.TeamOption
7
+ };
8
+ }));
9
+ export default AsyncTeamOption;
@@ -4,10 +4,10 @@ import { B400, N800, N200 } from '@atlaskit/theme/colors';
4
4
  import { token } from '@atlaskit/tokens';
5
5
  import React from 'react';
6
6
  import { FormattedMessage } from 'react-intl-next';
7
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
8
- import { HighlightText } from './HighlightText';
9
- import { messages } from './i18n';
10
- import { SizeableAvatar } from './SizeableAvatar';
7
+ import { AvatarItemOption, TextWrapper } from '.././AvatarItemOption';
8
+ import { HighlightText } from '.././HighlightText';
9
+ import { messages } from '.././i18n';
10
+ import { SizeableAvatar } from '.././SizeableAvatar';
11
11
  export class TeamOption extends React.PureComponent {
12
12
  constructor(...args) {
13
13
  super(...args);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -7,7 +7,15 @@ import styled from 'styled-components';
7
7
  import { B400 } from '@atlaskit/theme/colors';
8
8
  import { token } from '@atlaskit/tokens';
9
9
  import Lozenge from '@atlaskit/lozenge';
10
- import Tooltip from '@atlaskit/tooltip';
10
+ var AsyncTooltip = /*#__PURE__*/React.lazy(function () {
11
+ return import(
12
+ /* webpackChunkName: "@atlaskit-internal_@atlaskit/tooltip" */
13
+ '@atlaskit/tooltip').then(function (module) {
14
+ return {
15
+ default: module.default
16
+ };
17
+ });
18
+ });
11
19
  var Wrapper = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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"])));
12
20
  var Text = styled.span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin: 0;\n color: ", ";\n overflow-x: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n ", "\n"])), token('color.text.selected', B400), function (_ref) {
13
21
  var secondary = _ref.secondary;
@@ -37,13 +45,15 @@ export var AvatarItemOption = function AvatarItemOption(_ref4) {
37
45
  }
38
46
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText), /*#__PURE__*/React.createElement(AdditionalInfo, {
39
47
  withTooltip: Boolean(sourcesInfoTooltip)
40
- }, !sourcesInfoTooltip && lozenge && lozenge.text && (lozenge.tooltip ?
48
+ }, !sourcesInfoTooltip && (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
41
49
  /*#__PURE__*/
42
50
  // Note that entire Lozenge must be wrapped in the Tooltip (rather than just the
43
51
  // Lozenge text) or tooltip won't work
44
- React.createElement(Tooltip, {
52
+ React.createElement(React.Suspense, {
53
+ fallback: /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)
54
+ }, /*#__PURE__*/React.createElement(AsyncTooltip, {
45
55
  content: lozenge.tooltip
46
- }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
56
+ }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text))) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
47
57
  secondary: true
48
58
  }, secondaryText))));
49
59
  };
@@ -17,7 +17,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
17
17
 
18
18
  import React from 'react';
19
19
  import { components } from '@atlaskit/select';
20
- import Tooltip from '@atlaskit/tooltip';
20
+ var AsyncTooltip = /*#__PURE__*/React.lazy(function () {
21
+ return import(
22
+ /* webpackChunkName: "@atlaskit-internal_@atlaskit/tooltip" */
23
+ '@atlaskit/tooltip').then(function (module) {
24
+ return {
25
+ default: module.default
26
+ };
27
+ });
28
+ });
21
29
  export var ClearIndicator = /*#__PURE__*/function (_React$PureComponent) {
22
30
  _inherits(ClearIndicator, _React$PureComponent);
23
31
 
@@ -56,13 +64,16 @@ export var ClearIndicator = /*#__PURE__*/function (_React$PureComponent) {
56
64
  key: "render",
57
65
  value: function render() {
58
66
  var clearValueLabel = this.props.selectProps.clearValueLabel;
59
- return /*#__PURE__*/React.createElement(Tooltip, {
60
- content: clearValueLabel
61
- }, /*#__PURE__*/React.createElement(components.ClearIndicator, _extends({}, this.props, {
67
+ var Indicator = /*#__PURE__*/React.createElement(components.ClearIndicator, _extends({}, this.props, {
62
68
  innerProps: _objectSpread(_objectSpread({}, this.props.innerProps), {}, {
63
69
  onMouseDown: this.handleMouseDown
64
70
  })
65
- })));
71
+ }));
72
+ return clearValueLabel ? /*#__PURE__*/React.createElement(React.Suspense, {
73
+ fallback: Indicator
74
+ }, /*#__PURE__*/React.createElement(AsyncTooltip, {
75
+ content: clearValueLabel
76
+ }, Indicator)) : Indicator;
66
77
  }
67
78
  }]);
68
79
 
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ var AsyncEmailOption = /*#__PURE__*/React.lazy(function () {
3
+ return import(
4
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/email-option" */
5
+ './main').then(function (module) {
6
+ return {
7
+ default: module.EmailOption
8
+ };
9
+ });
10
+ });
11
+ export default AsyncEmailOption;
@@ -14,9 +14,9 @@ import React from 'react';
14
14
  import { FormattedMessage } from 'react-intl-next';
15
15
  import { B400, N200, N800 } from '@atlaskit/theme/colors';
16
16
  import { token } from '@atlaskit/tokens';
17
- import { AddOptionAvatar } from './AddOptionAvatar';
18
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
19
- import { messages } from './i18n';
17
+ import { AddOptionAvatar } from '../AddOptionAvatar';
18
+ import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
19
+ import { messages } from '../i18n';
20
20
 
21
21
  var getAddEmailMessage = function getAddEmailMessage(validity) {
22
22
  return validity === 'POTENTIAL' ? messages.continueToAddEmail : messages.selectToAddEmail;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ var AsyncExternalUserOption = /*#__PURE__*/React.lazy(function () {
3
+ return import(
4
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/external-user-option" */
5
+ './main').then(function (module) {
6
+ return {
7
+ default: module.ExternalUserOption
8
+ };
9
+ });
10
+ });
11
+ export default AsyncExternalUserOption;
@@ -17,17 +17,17 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
17
17
  import { B400, N200, N800 } from '@atlaskit/theme/colors';
18
18
  import { token } from '@atlaskit/tokens';
19
19
  import React from 'react';
20
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
21
- import { SizeableAvatar } from './SizeableAvatar';
20
+ import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
21
+ import { SizeableAvatar } from '../SizeableAvatar';
22
22
  import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
23
23
  import Tooltip from '@atlaskit/tooltip';
24
24
  import styled from 'styled-components';
25
- import { SlackIcon } from './assets/slack';
26
- import { GoogleIcon } from './assets/google';
27
- import { MicrosoftIcon } from './assets/microsoft';
28
- import { GitHubIcon } from './assets/github';
25
+ import { SlackIcon } from '../assets/slack';
26
+ import { GoogleIcon } from '../assets/google';
27
+ import { MicrosoftIcon } from '../assets/microsoft';
28
+ import { GitHubIcon } from '../assets/github';
29
29
  import { FormattedMessage } from 'react-intl-next';
30
- import { messages } from './i18n';
30
+ import { messages } from '../i18n';
31
31
  export var ImageContainer = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 12px;\n width: 12px;\n padding-right: 4px;\n"])));
32
32
  export var SourcesTooltipContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding-bottom: 4px;\n"])));
33
33
  export var SourceWrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding-top: 4px;\n display: flex;\n align-items: center;\n"])));
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ var AsyncGroupOption = /*#__PURE__*/React.lazy(function () {
3
+ return import(
4
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/group-option" */
5
+ './main').then(function (module) {
6
+ return {
7
+ default: module.GroupOption
8
+ };
9
+ });
10
+ });
11
+ export default AsyncGroupOption;
@@ -19,9 +19,9 @@ import styled from 'styled-components';
19
19
  import { N20, B400, N800, N200 } from '@atlaskit/theme/colors';
20
20
  import { token } from '@atlaskit/tokens';
21
21
  import PeopleIcon from '@atlaskit/icon/glyph/people';
22
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
23
- import { messages } from './i18n';
24
- import { HighlightText } from './HighlightText';
22
+ import { AvatarItemOption, TextWrapper } from '.././AvatarItemOption';
23
+ import { messages } from '.././i18n';
24
+ import { HighlightText } from '.././HighlightText';
25
25
  export var GroupOptionIconWrapper = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 2px;\n\n > span {\n background-color: ", ";\n border-radius: 50%;\n padding: 4px;\n }\n"])), token('color.background.subtleNeutral.resting', N20));
26
26
  export var GroupOption = /*#__PURE__*/function (_React$PureComponent) {
27
27
  _inherits(GroupOption, _React$PureComponent);
@@ -6,7 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
6
6
  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) { _defineProperty(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; }
7
7
 
8
8
  import React, { useMemo } from 'react';
9
- import { IntlProvider, injectIntl } from 'react-intl-next';
9
+ import { useIntl, IntlProvider } from 'react-intl-next';
10
10
  import { getMessagesForLocale } from '../util/i18n-util';
11
11
  var EMPTY = {};
12
12
 
@@ -35,8 +35,8 @@ var useI18n = function useI18n(locale) {
35
35
  };
36
36
 
37
37
  var MessagesIntlProvider = function MessagesIntlProvider(props) {
38
- var intl = props.intl,
39
- children = props.children;
38
+ var intl = useIntl();
39
+ var children = props.children;
40
40
  var messages = useI18n(intl.locale);
41
41
  var mergedMessages = useMemo(function () {
42
42
  return _objectSpread(_objectSpread({}, intl.messages), messages);
@@ -47,4 +47,4 @@ var MessagesIntlProvider = function MessagesIntlProvider(props) {
47
47
  }, children);
48
48
  };
49
49
 
50
- export default injectIntl(MessagesIntlProvider);
50
+ export default MessagesIntlProvider;
@@ -1,21 +1,32 @@
1
1
  import { components } from '@atlaskit/select';
2
2
  import React from 'react';
3
- import { EmailOption } from './EmailOption';
4
- import { TeamOption } from './TeamOption';
5
3
  import { UserOption } from './UserOption';
6
- import { GroupOption } from './GroupOption';
7
- import { ExternalUserOption } from './ExternalUserOption';
4
+ import AsyncExternalOption from './ExternalUserOption';
5
+ import AsyncTeamOption from './TeamOption';
6
+ import AsyncGroupOption from './GroupOption';
7
+ import AsyncEmailOption from './EmailOption';
8
8
  import { isEmail, isTeam, isUser, isGroup, isExternalUser } from './utils';
9
9
  import { isValidEmail } from './emailValidation';
10
10
 
11
- var dataOption = function dataOption(_ref) {
11
+ var defaultOption = function defaultOption(_ref) {
12
12
  var data = _ref.data.data,
13
13
  isSelected = _ref.isSelected,
14
- status = _ref.status,
15
- selectProps = _ref.selectProps;
14
+ status = _ref.status;
15
+ return /*#__PURE__*/React.createElement(UserOption, {
16
+ user: data,
17
+ status: status,
18
+ isSelected: isSelected
19
+ });
20
+ };
21
+
22
+ var dataOption = function dataOption(_ref2) {
23
+ var data = _ref2.data.data,
24
+ isSelected = _ref2.isSelected,
25
+ status = _ref2.status,
26
+ selectProps = _ref2.selectProps;
16
27
 
17
28
  if (isExternalUser(data)) {
18
- return /*#__PURE__*/React.createElement(ExternalUserOption, {
29
+ return /*#__PURE__*/React.createElement(AsyncExternalOption, {
19
30
  user: data,
20
31
  status: status,
21
32
  isSelected: isSelected
@@ -31,7 +42,7 @@ var dataOption = function dataOption(_ref) {
31
42
  }
32
43
 
33
44
  if (isEmail(data)) {
34
- return /*#__PURE__*/React.createElement(EmailOption, {
45
+ return /*#__PURE__*/React.createElement(AsyncEmailOption, {
35
46
  email: data,
36
47
  emailValidity: isValidEmail(data.id),
37
48
  isSelected: isSelected,
@@ -40,14 +51,14 @@ var dataOption = function dataOption(_ref) {
40
51
  }
41
52
 
42
53
  if (isTeam(data)) {
43
- return /*#__PURE__*/React.createElement(TeamOption, {
54
+ return /*#__PURE__*/React.createElement(AsyncTeamOption, {
44
55
  team: data,
45
56
  isSelected: isSelected
46
57
  });
47
58
  }
48
59
 
49
60
  if (isGroup(data)) {
50
- return /*#__PURE__*/React.createElement(GroupOption, {
61
+ return /*#__PURE__*/React.createElement(AsyncGroupOption, {
51
62
  group: data,
52
63
  isSelected: isSelected
53
64
  });
@@ -57,5 +68,7 @@ var dataOption = function dataOption(_ref) {
57
68
  };
58
69
 
59
70
  export var Option = function Option(props) {
60
- return /*#__PURE__*/React.createElement(components.Option, props, dataOption(props));
71
+ return /*#__PURE__*/React.createElement(components.Option, props, /*#__PURE__*/React.createElement(React.Suspense, {
72
+ fallback: defaultOption(props)
73
+ }, dataOption(props)));
61
74
  };
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ var AsyncTeamOption = /*#__PURE__*/React.lazy(function () {
3
+ return import(
4
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/user-picker/team-option" */
5
+ './main').then(function (module) {
6
+ return {
7
+ default: module.TeamOption
8
+ };
9
+ });
10
+ });
11
+ export default AsyncTeamOption;
@@ -15,10 +15,10 @@ import { B400, N800, N200 } from '@atlaskit/theme/colors';
15
15
  import { token } from '@atlaskit/tokens';
16
16
  import React from 'react';
17
17
  import { FormattedMessage } from 'react-intl-next';
18
- import { AvatarItemOption, TextWrapper } from './AvatarItemOption';
19
- import { HighlightText } from './HighlightText';
20
- import { messages } from './i18n';
21
- import { SizeableAvatar } from './SizeableAvatar';
18
+ import { AvatarItemOption, TextWrapper } from '.././AvatarItemOption';
19
+ import { HighlightText } from '.././HighlightText';
20
+ import { messages } from '.././i18n';
21
+ import { SizeableAvatar } from '.././SizeableAvatar';
22
22
  export var TeamOption = /*#__PURE__*/function (_React$PureComponent) {
23
23
  _inherits(TeamOption, _React$PureComponent);
24
24
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const AsyncEmailOption: React.LazyExoticComponent<typeof import("./main").EmailOption>;
3
+ export default AsyncEmailOption;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Email } from '../types';
3
- import { EmailValidationResponse } from './emailValidation';
2
+ import { Email } from '../../types';
3
+ import { EmailValidationResponse } from '../emailValidation';
4
4
  export declare type EmailOptionProps = {
5
5
  email: Email;
6
6
  isSelected: boolean;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const AsyncExternalUserOption: React.LazyExoticComponent<typeof import("./main").ExternalUserOption>;
3
+ export default AsyncExternalUserOption;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ExternalUser } from '../types';
2
+ import { ExternalUser } from '../../types';
3
3
  export declare const ImageContainer: import("styled-components").StyledComponentClass<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, any, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>;
4
4
  export declare const SourcesTooltipContainer: import("styled-components").StyledComponentClass<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, any, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
5
5
  export declare const SourceWrapper: import("styled-components").StyledComponentClass<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, any, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const AsyncGroupOption: React.LazyExoticComponent<typeof import("./main").GroupOption>;
3
+ export default AsyncGroupOption;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Group } from '../types';
2
+ import { Group } from '../../types';
3
3
  export declare const GroupOptionIconWrapper: import("styled-components").StyledComponentClass<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, any, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>;
4
4
  export declare type GroupOptionProps = {
5
5
  group: Group;
@@ -1,9 +1,3 @@
1
1
  import React from 'react';
2
- import { IntlShape } from 'react-intl-next';
3
- export interface MessagesIntlProviderProps {
4
- intl: IntlShape;
5
- }
6
- declare const _default: React.FC<import("react-intl-next").WithIntlProps<MessagesIntlProviderProps>> & {
7
- WrappedComponent: React.ComponentType<MessagesIntlProviderProps>;
8
- };
9
- export default _default;
2
+ declare const MessagesIntlProvider: React.FC;
3
+ export default MessagesIntlProvider;
@@ -1,8 +1,11 @@
1
+ import { OptionProps as AkOptionProps } from '@atlaskit/select';
1
2
  import { FC } from 'react';
2
3
  import { Option as OptionType } from '../types';
3
- export declare type OptionProps = {
4
+ export declare type OptionProps = AkOptionProps & {
4
5
  data: OptionType;
5
6
  isSelected: boolean;
7
+ isDisabled: boolean;
8
+ isFocused: boolean;
6
9
  status?: string;
7
10
  selectProps: {
8
11
  emailLabel?: string;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const AsyncTeamOption: React.LazyExoticComponent<typeof import("./main").TeamOption>;
3
+ export default AsyncTeamOption;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Team } from '../types';
2
+ import { Team } from '../../types';
3
3
  export declare type TeamOptionProps = {
4
4
  team: Team;
5
5
  isSelected: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "description": "Fabric component for display a dropdown to select a user from",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"