@atlaskit/user-picker 9.6.3 → 9.7.1

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 (39) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/components/BaseUserPicker.js +1 -1
  3. package/dist/cjs/components/ClearIndicator.js +5 -4
  4. package/dist/cjs/components/Option.js +9 -5
  5. package/dist/cjs/components/SingleValue.js +4 -5
  6. package/dist/cjs/components/SingleValueContainer.js +2 -1
  7. package/dist/cjs/components/SizeableAvatar.js +5 -10
  8. package/dist/cjs/components/styles.js +22 -58
  9. package/dist/cjs/version.json +1 -1
  10. package/dist/es2019/components/BaseUserPicker.js +1 -1
  11. package/dist/es2019/components/ClearIndicator.js +3 -2
  12. package/dist/es2019/components/Option.js +4 -1
  13. package/dist/es2019/components/SingleValue.js +3 -5
  14. package/dist/es2019/components/SingleValueContainer.js +2 -1
  15. package/dist/es2019/components/SizeableAvatar.js +0 -1
  16. package/dist/es2019/components/styles.js +19 -52
  17. package/dist/es2019/version.json +1 -1
  18. package/dist/esm/components/BaseUserPicker.js +1 -1
  19. package/dist/esm/components/ClearIndicator.js +5 -4
  20. package/dist/esm/components/Option.js +9 -5
  21. package/dist/esm/components/SingleValue.js +3 -5
  22. package/dist/esm/components/SingleValueContainer.js +2 -1
  23. package/dist/esm/components/SizeableAvatar.js +2 -5
  24. package/dist/esm/components/styles.js +22 -57
  25. package/dist/esm/version.json +1 -1
  26. package/dist/types/components/BaseUserPicker.d.ts +1 -1
  27. package/dist/types/components/ClearIndicator.d.ts +2 -2
  28. package/dist/types/components/MultiValue.d.ts +1 -1
  29. package/dist/types/components/MultiValueContainer.d.ts +2 -2
  30. package/dist/types/components/PopupUserPicker.d.ts +1 -1
  31. package/dist/types/components/SingleValue.d.ts +2 -5
  32. package/dist/types/components/SizeableAvatar.d.ts +2 -2
  33. package/dist/types/components/UserPicker.d.ts +1 -1
  34. package/dist/types/components/components.d.ts +3 -12
  35. package/dist/types/components/styles.d.ts +28 -3
  36. package/dist/types/types.d.ts +1 -0
  37. package/package.json +4 -4
  38. package/report.api.md +17 -0
  39. package/tmp/api-report-tmp.d.ts +2 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/user-picker
2
2
 
3
+ ## 9.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`cb8f8e76d25`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cb8f8e76d25) - Update types for react-select and @atlaskit/select upgrade
8
+ Update commerce-ui entrypoints that caused a pipeline issue.
9
+ - Updated dependencies
10
+
11
+ ## 9.7.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [`f1bb023364d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f1bb023364d) - Add optional field `hasProductAccess` to `ExternalUser`.
16
+
3
17
  ## 9.6.3
4
18
 
5
19
  ### Patch Changes
@@ -75,7 +75,7 @@ var BaseUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Component) {
75
75
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "withSelectRef", function (callback) {
76
76
  return function () {
77
77
  if (_this.selectRef) {
78
- callback(_this.selectRef.select.select);
78
+ callback(_this.selectRef);
79
79
  }
80
80
  };
81
81
  });
@@ -69,12 +69,13 @@ var ClearIndicator = /*#__PURE__*/function (_React$PureComponent) {
69
69
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMouseDown", function (event) {
70
70
  if (event && event.type === 'mousedown' && event.button !== 0) {
71
71
  return;
72
- }
73
-
74
- _this.props.clearValue(); // Prevent focus when clear on blurred state
72
+ } // Prevent focus when clear on blurred state
75
73
 
76
74
 
77
- var selectProps = _this.props.selectProps;
75
+ var _this$props = _this.props,
76
+ clearValue = _this$props.clearValue,
77
+ selectProps = _this$props.selectProps;
78
+ clearValue();
78
79
 
79
80
  if (selectProps && !selectProps.isFocused) {
80
81
  event.stopPropagation();
@@ -31,11 +31,15 @@ var defaultOption = function defaultOption(_ref) {
31
31
  var data = _ref.data.data,
32
32
  isSelected = _ref.isSelected,
33
33
  status = _ref.status;
34
- return /*#__PURE__*/_react.default.createElement(_UserOption.UserOption, {
35
- user: data,
36
- status: status,
37
- isSelected: isSelected
38
- });
34
+ return (
35
+ /*#__PURE__*/
36
+ // @ts-expect-error - <UserOption> expects `data` to be of User interface, but data is OptionData interface by default. Check if the `user` props in UserOption should also accept OptionData or refactor this file to accept generics
37
+ _react.default.createElement(_UserOption.UserOption, {
38
+ user: data,
39
+ status: status,
40
+ isSelected: isSelected
41
+ })
42
+ );
39
43
  };
40
44
 
41
45
  var dataOption = function dataOption(_ref2) {
@@ -15,6 +15,8 @@ var _avatar = require("@atlaskit/avatar");
15
15
 
16
16
  var _react = require("@emotion/react");
17
17
 
18
+ var _select = require("@atlaskit/select");
19
+
18
20
  var _SizeableAvatar = require("./SizeableAvatar");
19
21
 
20
22
  var _utils = require("./utils");
@@ -25,9 +27,6 @@ var avatarItemComponent = (0, _react.css)({
25
27
  padding: '0 !important',
26
28
  width: 'auto',
27
29
  overflow: 'hidden',
28
-
29
- /* IE 11 needs this prop explicitly to flex items */
30
- flex: '1 1 auto',
31
30
  minWidth: '100px',
32
31
  '& > span': {
33
32
  boxSizing: 'border-box'
@@ -46,7 +45,7 @@ var SingleValue = function SingleValue(props) {
46
45
  _props$selectProps = props.selectProps,
47
46
  appearance = _props$selectProps.appearance,
48
47
  isFocused = _props$selectProps.isFocused;
49
- return !isFocused ? (0, _react.jsx)(_avatar.AvatarItem, {
48
+ return !isFocused ? (0, _react.jsx)(_select.components.SingleValue, props, (0, _react.jsx)(_avatar.AvatarItem, {
50
49
  backgroundColor: "transparent",
51
50
  avatar: (0, _react.jsx)(_SizeableAvatar.SizeableAvatar, {
52
51
  src: (0, _utils.getAvatarUrl)(data),
@@ -60,7 +59,7 @@ var SingleValue = function SingleValue(props) {
60
59
  return (0, _react.jsx)("div", (0, _extends2.default)({
61
60
  css: avatarItemComponent
62
61
  }, props));
63
- }) : null;
62
+ })) : null;
64
63
  };
65
64
 
66
65
  exports.SingleValue = SingleValue;
@@ -41,7 +41,8 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
41
41
 
42
42
  var placeholderIconContainer = (0, _react2.css)({
43
43
  paddingLeft: "".concat(_styles.BORDER_PADDING, "px"),
44
- lineHeight: 0
44
+ lineHeight: 0,
45
+ gridArea: '1/1/2/2'
45
46
  });
46
47
 
47
48
  var showUserAvatar = function showUserAvatar(inputValue, value) {
@@ -5,7 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.SizeableAvatar = exports.Props = void 0;
8
+ exports.SizeableAvatar = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
13
 
10
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
15
 
@@ -13,10 +17,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
13
17
 
14
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
19
 
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
20
  var _avatar = _interopRequireDefault(require("@atlaskit/avatar"));
21
21
 
22
22
  var _react = _interopRequireDefault(require("react"));
@@ -27,11 +27,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
27
27
 
28
28
  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; } }
29
29
 
30
- var Props = /*#__PURE__*/(0, _createClass2.default)(function Props() {
31
- (0, _classCallCheck2.default)(this, Props);
32
- });
33
- exports.Props = Props;
34
-
35
30
  var SizeableAvatar = /*#__PURE__*/function (_React$PureComponent) {
36
31
  (0, _inherits2.default)(SizeableAvatar, _React$PureComponent);
37
32
 
@@ -11,21 +11,16 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
- var _avatar = require("@atlaskit/avatar");
15
-
16
14
  var _colors = require("@atlaskit/theme/colors");
17
15
 
18
16
  var _tokens = require("@atlaskit/tokens");
19
17
 
20
18
  var _memoizeOne = _interopRequireDefault(require("memoize-one"));
21
19
 
22
- var _utils = require("./utils");
23
-
24
20
  var _select = require("@atlaskit/select");
25
21
 
26
22
  var _excluded = ["paddingTop", "paddingBottom", "paddingLeft", "paddingRight"],
27
- _excluded2 = ["paddingTop", "paddingBottom", "position"],
28
- _excluded3 = ["margin"];
23
+ _excluded2 = ["paddingTop", "paddingBottom", "position"];
29
24
 
30
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
26
 
@@ -37,7 +32,6 @@ var AVATAR_PADDING = 6;
37
32
  exports.AVATAR_PADDING = AVATAR_PADDING;
38
33
  var INDICATOR_WIDTH = 39;
39
34
  exports.INDICATOR_WIDTH = INDICATOR_WIDTH;
40
- var TOTAL_PADDING_TAG_TO_CONTAINER = 10;
41
35
  var TAG_MARGIN_WIDTH = 4;
42
36
  var getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, overrideStyles) {
43
37
  var styles = {
@@ -65,7 +59,6 @@ var getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, ov
65
59
 
66
60
  /* IE 11 needs to set height explicitly to be vertical align when being in not compact mode */
67
61
  height: isCompact || isMulti ? '100%' : 44,
68
- alignItems: 'stretch',
69
62
  maxWidth: '100%'
70
63
  });
71
64
  },
@@ -102,22 +95,18 @@ var getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, ov
102
95
  css = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
103
96
  var isMulti = state.selectProps.isMulti;
104
97
  return _objectSpread(_objectSpread({}, css), {}, {
105
- paddingTop: isCompact ? 0 : TOTAL_PADDING_TAG_TO_CONTAINER - TAG_MARGIN_WIDTH,
106
- paddingBottom: isCompact ? 0 : TOTAL_PADDING_TAG_TO_CONTAINER - TAG_MARGIN_WIDTH,
107
- flexGrow: 1,
98
+ gridTemplateColumns: 'auto 1fr',
99
+ paddingTop: isCompact ? 0 : "".concat(BORDER_PADDING, "px"),
100
+ paddingBottom: isCompact ? 0 : "".concat(BORDER_PADDING, "px"),
108
101
  paddingLeft: isMulti ? BORDER_PADDING : 0,
109
- display: 'flex',
110
- flexDirection: 'row',
111
102
  overflowX: 'hidden',
112
103
  overflowY: 'auto',
113
- flexWrap: state.selectProps.isMulti ? 'wrap' : 'nowrap',
114
104
  scrollbarWidth: 'none',
115
105
  maxHeight: state.selectProps.maxPickerHeight || '100%',
116
106
  '::-webkit-scrollbar': {
117
107
  width: 0,
118
108
  background: 'transparent'
119
- },
120
- position: 'relative'
109
+ }
121
110
  });
122
111
  },
123
112
  multiValue: function multiValue(css) {
@@ -139,24 +128,23 @@ var getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, ov
139
128
  });
140
129
  },
141
130
  placeholder: function placeholder(css, state) {
142
- var avatarSize = (0, _utils.getAvatarSize)(state.selectProps.appearance); // fix styling in IE 11: when the position is absolute and `left` prop is not defined,
131
+ // fix styling in IE 11: when the position is absolute and `left` prop is not defined,
143
132
  // IE and other browsers auto calculate value of "left" prop differently,
144
133
  // so we want to explicitly set value for the `left` property
145
-
146
134
  if (css.position === 'absolute' && !css.left) {
147
135
  css.left = "".concat(BORDER_PADDING, "px");
148
136
  }
149
137
 
150
138
  return _objectSpread(_objectSpread({}, css), {}, {
151
- paddingLeft: state.selectProps.isMulti ? 'none' : AVATAR_PADDING + 2 * _avatar.BORDER_WIDTH + _avatar.AVATAR_SIZES[avatarSize],
139
+ gridArea: '1/2/2/3',
140
+ paddingLeft: state.selectProps.isMulti ? 0 : "".concat(BORDER_PADDING, "px"),
152
141
 
153
142
  /* Margin left right of 2px set by default */
143
+ // margin: `0 ${BORDER_PADDING}px`,
154
144
  margin: 0,
155
- display: 'block',
156
145
  whiteSpace: 'nowrap',
157
146
  overflow: 'hidden',
158
- textOverflow: 'ellipsis',
159
- maxWidth: '100%'
147
+ textOverflow: 'ellipsis'
160
148
  });
161
149
  },
162
150
  option: function option(css) {
@@ -164,21 +152,18 @@ var getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, ov
164
152
  overflow: 'hidden'
165
153
  });
166
154
  },
167
- input: function input(_ref3) {
168
- var margin = _ref3.margin,
169
- css = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
155
+ input: function input(css, state) {
170
156
  return _objectSpread(_objectSpread({}, css), {}, {
171
- display: 'flex',
172
- alignSelf: 'center',
157
+ gridArea: '1/2/2/3',
158
+ gridTemplateColumns: isMulti && state.placeholder ? '0 123px' : css.gridTemplateColumns,
173
159
 
174
160
  /* Necessary to make input height and tag height the same. */
175
- marginBottom: TAG_MARGIN_WIDTH,
176
- marginTop: TAG_MARGIN_WIDTH,
161
+ margin: "".concat(TAG_MARGIN_WIDTH, "px 0"),
177
162
 
178
163
  /* Padding top and bottom of 2 is set by default. */
179
164
  paddingTop: 0,
180
165
  paddingBottom: 0,
181
- paddingLeft: isMulti ? 0 : AVATAR_PADDING,
166
+ paddingLeft: state.selectProps.isMulti ? 0 : "".concat(BORDER_PADDING, "px"),
182
167
  '& input::placeholder': {
183
168
  /* Chrome, Firefox, Opera, Safari 10.1+ */
184
169
  color: (0, _tokens.token)('color.text.subtlest', _colors.N100),
@@ -191,39 +176,18 @@ var getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, ov
191
176
  color: (0, _tokens.token)('color.text.subtlest', _colors.N100)
192
177
  }
193
178
  });
179
+ },
180
+ singleValue: function singleValue(css) {
181
+ return _objectSpread(_objectSpread({}, css), {}, {
182
+ margin: 0,
183
+ gridArea: '1/2/2/3'
184
+ });
194
185
  }
195
186
  };
196
187
  return overrideStyles ? (0, _select.mergeStyles)(styles, overrideStyles) : styles;
197
188
  });
198
189
  exports.getStyles = getStyles;
199
190
  var getPopupStyles = (0, _memoizeOne.default)(function (width, flip, isMulti) {
200
- return _objectSpread(_objectSpread({}, getStyles(width, isMulti)), {}, {
201
- container: function container(css) {
202
- return _objectSpread(_objectSpread({}, css), {}, {
203
- display: flip ? 'flex' : 'block',
204
- flexDirection: 'column-reverse'
205
- });
206
- },
207
- // there is not any avatar on the left of the placeholder
208
- placeholder: function placeholder(css, state) {
209
- var avatarSize = (0, _utils.getAvatarSize)(state.selectProps.appearance);
210
-
211
- if (css.position === 'absolute' && !css.left) {
212
- css.left = "".concat(BORDER_PADDING, "px");
213
- }
214
-
215
- return _objectSpread(_objectSpread({}, css), {}, {
216
- paddingTop: 2,
217
- paddingLeft: isMulti ? 'none' : AVATAR_PADDING + 2 * _avatar.BORDER_WIDTH + _avatar.AVATAR_SIZES[avatarSize],
218
- paddingRight: INDICATOR_WIDTH,
219
- display: 'block',
220
- whiteSpace: 'nowrap',
221
- overflow: 'hidden',
222
- textOverflow: 'ellipsis',
223
- maxWidth: '100%',
224
- margin: 0
225
- });
226
- }
227
- });
191
+ return _objectSpread({}, getStyles(width, isMulti));
228
192
  });
229
193
  exports.getPopupStyles = getPopupStyles;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "9.6.3",
3
+ "version": "9.7.1",
4
4
  "sideEffects": false
5
5
  }
@@ -51,7 +51,7 @@ export class BaseUserPickerWithoutAnalytics extends React.Component {
51
51
 
52
52
  _defineProperty(this, "withSelectRef", callback => () => {
53
53
  if (this.selectRef) {
54
- callback(this.selectRef.select.select);
54
+ callback(this.selectRef);
55
55
  }
56
56
  });
57
57
 
@@ -16,13 +16,14 @@ export class ClearIndicator extends React.PureComponent {
16
16
  _defineProperty(this, "handleMouseDown", event => {
17
17
  if (event && event.type === 'mousedown' && event.button !== 0) {
18
18
  return;
19
- }
19
+ } // Prevent focus when clear on blurred state
20
20
 
21
- this.props.clearValue(); // Prevent focus when clear on blurred state
22
21
 
23
22
  const {
23
+ clearValue,
24
24
  selectProps
25
25
  } = this.props;
26
+ clearValue();
26
27
 
27
28
  if (selectProps && !selectProps.isFocused) {
28
29
  event.stopPropagation();
@@ -15,7 +15,10 @@ const defaultOption = ({
15
15
  },
16
16
  isSelected,
17
17
  status
18
- }) => /*#__PURE__*/React.createElement(UserOption, {
18
+ }) =>
19
+ /*#__PURE__*/
20
+ // @ts-expect-error - <UserOption> expects `data` to be of User interface, but data is OptionData interface by default. Check if the `user` props in UserOption should also accept OptionData or refactor this file to accept generics
21
+ React.createElement(UserOption, {
19
22
  user: data,
20
23
  status: status,
21
24
  isSelected: isSelected
@@ -3,6 +3,7 @@ import _extends from "@babel/runtime/helpers/extends";
3
3
  /** @jsx jsx */
4
4
  import { AvatarItem } from '@atlaskit/avatar';
5
5
  import { css, jsx } from '@emotion/react';
6
+ import { components } from '@atlaskit/select';
6
7
  import { SizeableAvatar } from './SizeableAvatar';
7
8
  import { getAvatarUrl } from './utils';
8
9
  const avatarItemComponent = css({
@@ -10,9 +11,6 @@ const avatarItemComponent = css({
10
11
  padding: '0 !important',
11
12
  width: 'auto',
12
13
  overflow: 'hidden',
13
-
14
- /* IE 11 needs this prop explicitly to flex items */
15
- flex: '1 1 auto',
16
14
  minWidth: '100px',
17
15
  '& > span': {
18
16
  boxSizing: 'border-box'
@@ -34,7 +32,7 @@ export const SingleValue = props => {
34
32
  isFocused
35
33
  }
36
34
  } = props;
37
- return !isFocused ? jsx(AvatarItem, {
35
+ return !isFocused ? jsx(components.SingleValue, props, jsx(AvatarItem, {
38
36
  backgroundColor: "transparent",
39
37
  avatar: jsx(SizeableAvatar, {
40
38
  src: getAvatarUrl(data),
@@ -47,5 +45,5 @@ export const SingleValue = props => {
47
45
  ...props
48
46
  }) => jsx("div", _extends({
49
47
  css: avatarItemComponent
50
- }, props))) : null;
48
+ }, props)))) : null;
51
49
  };
@@ -8,7 +8,8 @@ import { SizeableAvatar } from './SizeableAvatar';
8
8
  import { BORDER_PADDING } from './styles';
9
9
  const placeholderIconContainer = css({
10
10
  paddingLeft: `${BORDER_PADDING}px`,
11
- lineHeight: 0
11
+ lineHeight: 0,
12
+ gridArea: '1/1/2/2'
12
13
  });
13
14
 
14
15
  const showUserAvatar = (inputValue, value) => value && value.data && inputValue === value.label;
@@ -1,7 +1,6 @@
1
1
  import Avatar from '@atlaskit/avatar';
2
2
  import React from 'react';
3
3
  import { getAvatarSize } from './utils';
4
- export class Props {}
5
4
  export class SizeableAvatar extends React.PureComponent {
6
5
  render() {
7
6
  const {
@@ -1,13 +1,10 @@
1
- import { AVATAR_SIZES, BORDER_WIDTH } from '@atlaskit/avatar';
2
1
  import { B100, N0, N10, N20, N30, N40, N100, R50, R400 } from '@atlaskit/theme/colors';
3
2
  import { token } from '@atlaskit/tokens';
4
3
  import memoizeOne from 'memoize-one';
5
- import { getAvatarSize } from './utils';
6
4
  import { mergeStyles } from '@atlaskit/select';
7
5
  export const BORDER_PADDING = 6;
8
6
  export const AVATAR_PADDING = 6;
9
7
  export const INDICATOR_WIDTH = 39;
10
- const TOTAL_PADDING_TAG_TO_CONTAINER = 10;
11
8
  const TAG_MARGIN_WIDTH = 4;
12
9
  export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles) => {
13
10
  let styles = {
@@ -33,7 +30,6 @@ export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles)
33
30
 
34
31
  /* IE 11 needs to set height explicitly to be vertical align when being in not compact mode */
35
32
  height: isCompact || isMulti ? '100%' : 44,
36
- alignItems: 'stretch',
37
33
  maxWidth: '100%'
38
34
  };
39
35
  },
@@ -68,22 +64,18 @@ export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles)
68
64
  }, state) => {
69
65
  const isMulti = state.selectProps.isMulti;
70
66
  return { ...css,
71
- paddingTop: isCompact ? 0 : TOTAL_PADDING_TAG_TO_CONTAINER - TAG_MARGIN_WIDTH,
72
- paddingBottom: isCompact ? 0 : TOTAL_PADDING_TAG_TO_CONTAINER - TAG_MARGIN_WIDTH,
73
- flexGrow: 1,
67
+ gridTemplateColumns: 'auto 1fr',
68
+ paddingTop: isCompact ? 0 : `${BORDER_PADDING}px`,
69
+ paddingBottom: isCompact ? 0 : `${BORDER_PADDING}px`,
74
70
  paddingLeft: isMulti ? BORDER_PADDING : 0,
75
- display: 'flex',
76
- flexDirection: 'row',
77
71
  overflowX: 'hidden',
78
72
  overflowY: 'auto',
79
- flexWrap: state.selectProps.isMulti ? 'wrap' : 'nowrap',
80
73
  scrollbarWidth: 'none',
81
74
  maxHeight: state.selectProps.maxPickerHeight || '100%',
82
75
  '::-webkit-scrollbar': {
83
76
  width: 0,
84
77
  background: 'transparent'
85
- },
86
- position: 'relative'
78
+ }
87
79
  };
88
80
  },
89
81
  multiValue: css => ({ ...css,
@@ -99,44 +91,39 @@ export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles)
99
91
  cursor: 'pointer'
100
92
  }),
101
93
  placeholder: (css, state) => {
102
- const avatarSize = getAvatarSize(state.selectProps.appearance); // fix styling in IE 11: when the position is absolute and `left` prop is not defined,
94
+ // fix styling in IE 11: when the position is absolute and `left` prop is not defined,
103
95
  // IE and other browsers auto calculate value of "left" prop differently,
104
96
  // so we want to explicitly set value for the `left` property
105
-
106
97
  if (css.position === 'absolute' && !css.left) {
107
98
  css.left = `${BORDER_PADDING}px`;
108
99
  }
109
100
 
110
101
  return { ...css,
111
- paddingLeft: state.selectProps.isMulti ? 'none' : AVATAR_PADDING + 2 * BORDER_WIDTH + AVATAR_SIZES[avatarSize],
102
+ gridArea: '1/2/2/3',
103
+ paddingLeft: state.selectProps.isMulti ? 0 : `${BORDER_PADDING}px`,
112
104
 
113
105
  /* Margin left right of 2px set by default */
106
+ // margin: `0 ${BORDER_PADDING}px`,
114
107
  margin: 0,
115
- display: 'block',
116
108
  whiteSpace: 'nowrap',
117
109
  overflow: 'hidden',
118
- textOverflow: 'ellipsis',
119
- maxWidth: '100%'
110
+ textOverflow: 'ellipsis'
120
111
  };
121
112
  },
122
113
  option: css => ({ ...css,
123
114
  overflow: 'hidden'
124
115
  }),
125
- input: ({
126
- margin,
127
- ...css
128
- }) => ({ ...css,
129
- display: 'flex',
130
- alignSelf: 'center',
116
+ input: (css, state) => ({ ...css,
117
+ gridArea: '1/2/2/3',
118
+ gridTemplateColumns: isMulti && state.placeholder ? '0 123px' : css.gridTemplateColumns,
131
119
 
132
120
  /* Necessary to make input height and tag height the same. */
133
- marginBottom: TAG_MARGIN_WIDTH,
134
- marginTop: TAG_MARGIN_WIDTH,
121
+ margin: `${TAG_MARGIN_WIDTH}px 0`,
135
122
 
136
123
  /* Padding top and bottom of 2 is set by default. */
137
124
  paddingTop: 0,
138
125
  paddingBottom: 0,
139
- paddingLeft: isMulti ? 0 : AVATAR_PADDING,
126
+ paddingLeft: state.selectProps.isMulti ? 0 : `${BORDER_PADDING}px`,
140
127
  '& input::placeholder': {
141
128
  /* Chrome, Firefox, Opera, Safari 10.1+ */
142
129
  color: token('color.text.subtlest', N100),
@@ -148,33 +135,13 @@ export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles)
148
135
  /* Internet Explorer 10-11 */
149
136
  color: token('color.text.subtlest', N100)
150
137
  }
138
+ }),
139
+ singleValue: css => ({ ...css,
140
+ margin: 0,
141
+ gridArea: '1/2/2/3'
151
142
  })
152
143
  };
153
144
  return overrideStyles ? mergeStyles(styles, overrideStyles) : styles;
154
145
  });
155
- export const getPopupStyles = memoizeOne((width, flip, isMulti) => ({ ...getStyles(width, isMulti),
156
- container: css => ({ ...css,
157
- display: flip ? 'flex' : 'block',
158
- flexDirection: 'column-reverse'
159
- }),
160
- // there is not any avatar on the left of the placeholder
161
- placeholder: (css, state) => {
162
- const avatarSize = getAvatarSize(state.selectProps.appearance);
163
-
164
- if (css.position === 'absolute' && !css.left) {
165
- css.left = `${BORDER_PADDING}px`;
166
- }
167
-
168
- return { ...css,
169
- paddingTop: 2,
170
- paddingLeft: isMulti ? 'none' : AVATAR_PADDING + 2 * BORDER_WIDTH + AVATAR_SIZES[avatarSize],
171
- paddingRight: INDICATOR_WIDTH,
172
- display: 'block',
173
- whiteSpace: 'nowrap',
174
- overflow: 'hidden',
175
- textOverflow: 'ellipsis',
176
- maxWidth: '100%',
177
- margin: 0
178
- };
179
- }
146
+ export const getPopupStyles = memoizeOne((width, flip, isMulti) => ({ ...getStyles(width, isMulti)
180
147
  }));
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "9.6.3",
3
+ "version": "9.7.1",
4
4
  "sideEffects": false
5
5
  }
@@ -52,7 +52,7 @@ export var BaseUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compon
52
52
  _defineProperty(_assertThisInitialized(_this), "withSelectRef", function (callback) {
53
53
  return function () {
54
54
  if (_this.selectRef) {
55
- callback(_this.selectRef.select.select);
55
+ callback(_this.selectRef);
56
56
  }
57
57
  };
58
58
  });
@@ -45,12 +45,13 @@ export var ClearIndicator = /*#__PURE__*/function (_React$PureComponent) {
45
45
  _defineProperty(_assertThisInitialized(_this), "handleMouseDown", function (event) {
46
46
  if (event && event.type === 'mousedown' && event.button !== 0) {
47
47
  return;
48
- }
49
-
50
- _this.props.clearValue(); // Prevent focus when clear on blurred state
48
+ } // Prevent focus when clear on blurred state
51
49
 
52
50
 
53
- var selectProps = _this.props.selectProps;
51
+ var _this$props = _this.props,
52
+ clearValue = _this$props.clearValue,
53
+ selectProps = _this$props.selectProps;
54
+ clearValue();
54
55
 
55
56
  if (selectProps && !selectProps.isFocused) {
56
57
  event.stopPropagation();
@@ -13,11 +13,15 @@ var defaultOption = function defaultOption(_ref) {
13
13
  var data = _ref.data.data,
14
14
  isSelected = _ref.isSelected,
15
15
  status = _ref.status;
16
- return /*#__PURE__*/React.createElement(UserOption, {
17
- user: data,
18
- status: status,
19
- isSelected: isSelected
20
- });
16
+ return (
17
+ /*#__PURE__*/
18
+ // @ts-expect-error - <UserOption> expects `data` to be of User interface, but data is OptionData interface by default. Check if the `user` props in UserOption should also accept OptionData or refactor this file to accept generics
19
+ React.createElement(UserOption, {
20
+ user: data,
21
+ status: status,
22
+ isSelected: isSelected
23
+ })
24
+ );
21
25
  };
22
26
 
23
27
  var dataOption = function dataOption(_ref2) {
@@ -5,6 +5,7 @@ var _excluded = ["ref"];
5
5
  /** @jsx jsx */
6
6
  import { AvatarItem } from '@atlaskit/avatar';
7
7
  import { css, jsx } from '@emotion/react';
8
+ import { components } from '@atlaskit/select';
8
9
  import { SizeableAvatar } from './SizeableAvatar';
9
10
  import { getAvatarUrl } from './utils';
10
11
  var avatarItemComponent = css({
@@ -12,9 +13,6 @@ var avatarItemComponent = css({
12
13
  padding: '0 !important',
13
14
  width: 'auto',
14
15
  overflow: 'hidden',
15
-
16
- /* IE 11 needs this prop explicitly to flex items */
17
- flex: '1 1 auto',
18
16
  minWidth: '100px',
19
17
  '& > span': {
20
18
  boxSizing: 'border-box'
@@ -32,7 +30,7 @@ export var SingleValue = function SingleValue(props) {
32
30
  _props$selectProps = props.selectProps,
33
31
  appearance = _props$selectProps.appearance,
34
32
  isFocused = _props$selectProps.isFocused;
35
- return !isFocused ? jsx(AvatarItem, {
33
+ return !isFocused ? jsx(components.SingleValue, props, jsx(AvatarItem, {
36
34
  backgroundColor: "transparent",
37
35
  avatar: jsx(SizeableAvatar, {
38
36
  src: getAvatarUrl(data),
@@ -47,5 +45,5 @@ export var SingleValue = function SingleValue(props) {
47
45
  return jsx("div", _extends({
48
46
  css: avatarItemComponent
49
47
  }, props));
50
- }) : null;
48
+ })) : null;
51
49
  };
@@ -20,7 +20,8 @@ import { SizeableAvatar } from './SizeableAvatar';
20
20
  import { BORDER_PADDING } from './styles';
21
21
  var placeholderIconContainer = css({
22
22
  paddingLeft: "".concat(BORDER_PADDING, "px"),
23
- lineHeight: 0
23
+ lineHeight: 0,
24
+ gridArea: '1/1/2/2'
24
25
  });
25
26
 
26
27
  var showUserAvatar = function showUserAvatar(inputValue, value) {
@@ -1,8 +1,8 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
1
3
  import _inherits from "@babel/runtime/helpers/inherits";
2
4
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
3
5
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
6
6
 
7
7
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
8
8
 
@@ -11,9 +11,6 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
11
11
  import Avatar from '@atlaskit/avatar';
12
12
  import React from 'react';
13
13
  import { getAvatarSize } from './utils';
14
- export var Props = /*#__PURE__*/_createClass(function Props() {
15
- _classCallCheck(this, Props);
16
- });
17
14
  export var SizeableAvatar = /*#__PURE__*/function (_React$PureComponent) {
18
15
  _inherits(SizeableAvatar, _React$PureComponent);
19
16
 
@@ -1,23 +1,19 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  var _excluded = ["paddingTop", "paddingBottom", "paddingLeft", "paddingRight"],
4
- _excluded2 = ["paddingTop", "paddingBottom", "position"],
5
- _excluded3 = ["margin"];
4
+ _excluded2 = ["paddingTop", "paddingBottom", "position"];
6
5
 
7
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
7
 
9
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
9
 
11
- import { AVATAR_SIZES, BORDER_WIDTH } from '@atlaskit/avatar';
12
10
  import { B100, N0, N10, N20, N30, N40, N100, R50, R400 } from '@atlaskit/theme/colors';
13
11
  import { token } from '@atlaskit/tokens';
14
12
  import memoizeOne from 'memoize-one';
15
- import { getAvatarSize } from './utils';
16
13
  import { mergeStyles } from '@atlaskit/select';
17
14
  export var BORDER_PADDING = 6;
18
15
  export var AVATAR_PADDING = 6;
19
16
  export var INDICATOR_WIDTH = 39;
20
- var TOTAL_PADDING_TAG_TO_CONTAINER = 10;
21
17
  var TAG_MARGIN_WIDTH = 4;
22
18
  export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideStyles) {
23
19
  var styles = {
@@ -45,7 +41,6 @@ export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideS
45
41
 
46
42
  /* IE 11 needs to set height explicitly to be vertical align when being in not compact mode */
47
43
  height: isCompact || isMulti ? '100%' : 44,
48
- alignItems: 'stretch',
49
44
  maxWidth: '100%'
50
45
  });
51
46
  },
@@ -84,22 +79,18 @@ export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideS
84
79
 
85
80
  var isMulti = state.selectProps.isMulti;
86
81
  return _objectSpread(_objectSpread({}, css), {}, {
87
- paddingTop: isCompact ? 0 : TOTAL_PADDING_TAG_TO_CONTAINER - TAG_MARGIN_WIDTH,
88
- paddingBottom: isCompact ? 0 : TOTAL_PADDING_TAG_TO_CONTAINER - TAG_MARGIN_WIDTH,
89
- flexGrow: 1,
82
+ gridTemplateColumns: 'auto 1fr',
83
+ paddingTop: isCompact ? 0 : "".concat(BORDER_PADDING, "px"),
84
+ paddingBottom: isCompact ? 0 : "".concat(BORDER_PADDING, "px"),
90
85
  paddingLeft: isMulti ? BORDER_PADDING : 0,
91
- display: 'flex',
92
- flexDirection: 'row',
93
86
  overflowX: 'hidden',
94
87
  overflowY: 'auto',
95
- flexWrap: state.selectProps.isMulti ? 'wrap' : 'nowrap',
96
88
  scrollbarWidth: 'none',
97
89
  maxHeight: state.selectProps.maxPickerHeight || '100%',
98
90
  '::-webkit-scrollbar': {
99
91
  width: 0,
100
92
  background: 'transparent'
101
- },
102
- position: 'relative'
93
+ }
103
94
  });
104
95
  },
105
96
  multiValue: function multiValue(css) {
@@ -121,24 +112,23 @@ export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideS
121
112
  });
122
113
  },
123
114
  placeholder: function placeholder(css, state) {
124
- var avatarSize = getAvatarSize(state.selectProps.appearance); // fix styling in IE 11: when the position is absolute and `left` prop is not defined,
115
+ // fix styling in IE 11: when the position is absolute and `left` prop is not defined,
125
116
  // IE and other browsers auto calculate value of "left" prop differently,
126
117
  // so we want to explicitly set value for the `left` property
127
-
128
118
  if (css.position === 'absolute' && !css.left) {
129
119
  css.left = "".concat(BORDER_PADDING, "px");
130
120
  }
131
121
 
132
122
  return _objectSpread(_objectSpread({}, css), {}, {
133
- paddingLeft: state.selectProps.isMulti ? 'none' : AVATAR_PADDING + 2 * BORDER_WIDTH + AVATAR_SIZES[avatarSize],
123
+ gridArea: '1/2/2/3',
124
+ paddingLeft: state.selectProps.isMulti ? 0 : "".concat(BORDER_PADDING, "px"),
134
125
 
135
126
  /* Margin left right of 2px set by default */
127
+ // margin: `0 ${BORDER_PADDING}px`,
136
128
  margin: 0,
137
- display: 'block',
138
129
  whiteSpace: 'nowrap',
139
130
  overflow: 'hidden',
140
- textOverflow: 'ellipsis',
141
- maxWidth: '100%'
131
+ textOverflow: 'ellipsis'
142
132
  });
143
133
  },
144
134
  option: function option(css) {
@@ -146,22 +136,18 @@ export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideS
146
136
  overflow: 'hidden'
147
137
  });
148
138
  },
149
- input: function input(_ref3) {
150
- var margin = _ref3.margin,
151
- css = _objectWithoutProperties(_ref3, _excluded3);
152
-
139
+ input: function input(css, state) {
153
140
  return _objectSpread(_objectSpread({}, css), {}, {
154
- display: 'flex',
155
- alignSelf: 'center',
141
+ gridArea: '1/2/2/3',
142
+ gridTemplateColumns: isMulti && state.placeholder ? '0 123px' : css.gridTemplateColumns,
156
143
 
157
144
  /* Necessary to make input height and tag height the same. */
158
- marginBottom: TAG_MARGIN_WIDTH,
159
- marginTop: TAG_MARGIN_WIDTH,
145
+ margin: "".concat(TAG_MARGIN_WIDTH, "px 0"),
160
146
 
161
147
  /* Padding top and bottom of 2 is set by default. */
162
148
  paddingTop: 0,
163
149
  paddingBottom: 0,
164
- paddingLeft: isMulti ? 0 : AVATAR_PADDING,
150
+ paddingLeft: state.selectProps.isMulti ? 0 : "".concat(BORDER_PADDING, "px"),
165
151
  '& input::placeholder': {
166
152
  /* Chrome, Firefox, Opera, Safari 10.1+ */
167
153
  color: token('color.text.subtlest', N100),
@@ -174,37 +160,16 @@ export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideS
174
160
  color: token('color.text.subtlest', N100)
175
161
  }
176
162
  });
163
+ },
164
+ singleValue: function singleValue(css) {
165
+ return _objectSpread(_objectSpread({}, css), {}, {
166
+ margin: 0,
167
+ gridArea: '1/2/2/3'
168
+ });
177
169
  }
178
170
  };
179
171
  return overrideStyles ? mergeStyles(styles, overrideStyles) : styles;
180
172
  });
181
173
  export var getPopupStyles = memoizeOne(function (width, flip, isMulti) {
182
- return _objectSpread(_objectSpread({}, getStyles(width, isMulti)), {}, {
183
- container: function container(css) {
184
- return _objectSpread(_objectSpread({}, css), {}, {
185
- display: flip ? 'flex' : 'block',
186
- flexDirection: 'column-reverse'
187
- });
188
- },
189
- // there is not any avatar on the left of the placeholder
190
- placeholder: function placeholder(css, state) {
191
- var avatarSize = getAvatarSize(state.selectProps.appearance);
192
-
193
- if (css.position === 'absolute' && !css.left) {
194
- css.left = "".concat(BORDER_PADDING, "px");
195
- }
196
-
197
- return _objectSpread(_objectSpread({}, css), {}, {
198
- paddingTop: 2,
199
- paddingLeft: isMulti ? 'none' : AVATAR_PADDING + 2 * BORDER_WIDTH + AVATAR_SIZES[avatarSize],
200
- paddingRight: INDICATOR_WIDTH,
201
- display: 'block',
202
- whiteSpace: 'nowrap',
203
- overflow: 'hidden',
204
- textOverflow: 'ellipsis',
205
- maxWidth: '100%',
206
- margin: 0
207
- });
208
- }
209
- });
174
+ return _objectSpread({}, getStyles(width, isMulti));
210
175
  });
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "9.6.3",
3
+ "version": "9.7.1",
4
4
  "sideEffects": false
5
5
  }
@@ -51,7 +51,7 @@ export declare class BaseUserPickerWithoutAnalytics extends React.Component<Base
51
51
  private getAppearance;
52
52
  render(): JSX.Element;
53
53
  }
54
- export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<BaseUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "options" | "search" | "isDisabled" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isLoading" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "noOptionsMessage" | "onBlur" | "onChange" | "onFocus" | "onInputChange" | "placeholder" | "styles" | "value" | "defaultValue" | "fieldId" | "width" | "menuMinWidth" | "maxPickerHeight" | "loadOptions" | "loadUserSource" | "anchor" | "open" | "onSelection" | "onClear" | "onClose" | "appearance" | "addMoreMessage" | "clearValueLabel" | "allowEmail" | "suggestEmailsForDomain" | "emailLabel" | "disableInput" | "isValidEmail" | "maxOptions" | "ariaLabelledBy" | "ariaLive" | "SelectComponent" | "pickerProps"> & Partial<Pick<Omit<BaseUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "isClearable" | "isMulti" | "textFieldBackgroundColor" | "subtle" | "noBorder">> & Partial<Pick<{
54
+ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<BaseUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "options" | "search" | "noOptionsMessage" | "placeholder" | "isDisabled" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isLoading" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "onBlur" | "onChange" | "onFocus" | "onInputChange" | "styles" | "value" | "defaultValue" | "fieldId" | "width" | "menuMinWidth" | "maxPickerHeight" | "loadOptions" | "loadUserSource" | "anchor" | "open" | "onSelection" | "onClear" | "onClose" | "appearance" | "addMoreMessage" | "clearValueLabel" | "allowEmail" | "suggestEmailsForDomain" | "emailLabel" | "disableInput" | "isValidEmail" | "maxOptions" | "ariaLabelledBy" | "ariaLive" | "SelectComponent" | "pickerProps"> & Partial<Pick<Omit<BaseUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "isClearable" | "isMulti" | "textFieldBackgroundColor" | "subtle" | "noBorder">> & Partial<Pick<{
55
55
  isMulti: boolean;
56
56
  subtle: boolean;
57
57
  noBorder: boolean;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { IndicatorProps } from '@atlaskit/select';
3
- export declare class ClearIndicator extends React.PureComponent<IndicatorProps<any>> {
2
+ import { ClearIndicatorProps } from '@atlaskit/select';
3
+ export declare class ClearIndicator extends React.PureComponent<ClearIndicatorProps<any>> {
4
4
  private handleMouseDown;
5
5
  render(): JSX.Element;
6
6
  }
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { OptionType } from '@atlaskit/select';
4
4
  import { jsx } from '@emotion/react';
5
5
  import { Option, UserPickerProps } from '../types';
6
- import { MultiValueProps } from '@atlaskit/select/types';
6
+ import { MultiValueProps } from '@atlaskit/select';
7
7
  export declare const scrollToValue: (valueContainer: HTMLDivElement, control: HTMLElement) => void;
8
8
  declare type Props = MultiValueProps<OptionType> & {
9
9
  isFocused?: boolean;
@@ -1,11 +1,11 @@
1
- import { ValueContainerProps } from '@atlaskit/select';
1
+ import { MultiValueProps } from '@atlaskit/select';
2
2
  import React from 'react';
3
3
  import { User, Option } from '../types';
4
4
  export declare type State = {
5
5
  valueSize: number;
6
6
  previousValueSize: number;
7
7
  };
8
- declare type Props = ValueContainerProps<Option<User>[], true> & {
8
+ declare type Props = MultiValueProps<Option<User>[], true> & {
9
9
  innerProps?: ValueContainerInnerProps;
10
10
  };
11
11
  declare type ValueContainerInnerProps = {
@@ -27,7 +27,7 @@ export declare class PopupUserPickerWithoutAnalytics extends React.Component<Pop
27
27
  };
28
28
  render(): JSX.Element;
29
29
  }
30
- export declare const PopupUserPicker: React.ForwardRefExoticComponent<Pick<Omit<PopupUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "options" | "search" | "isDisabled" | "target" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "inputId" | "isClearable" | "isLoading" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "noOptionsMessage" | "onBlur" | "onChange" | "onFocus" | "onInputChange" | "placeholder" | "styles" | "value" | "defaultValue" | "fieldId" | "menuMinWidth" | "maxPickerHeight" | "textFieldBackgroundColor" | "loadOptions" | "loadUserSource" | "anchor" | "open" | "onSelection" | "onClear" | "onClose" | "appearance" | "subtle" | "noBorder" | "addMoreMessage" | "clearValueLabel" | "allowEmail" | "suggestEmailsForDomain" | "emailLabel" | "disableInput" | "isValidEmail" | "maxOptions" | "ariaLabelledBy" | "ariaLive" | "popupTitle"> & Partial<Pick<Omit<PopupUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "offset" | "isMulti" | "width" | "rootBoundary" | "boundariesElement" | "placement" | "shouldFlip">> & Partial<Pick<{
30
+ export declare const PopupUserPicker: React.ForwardRefExoticComponent<Pick<Omit<PopupUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "options" | "search" | "noOptionsMessage" | "placeholder" | "isDisabled" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "inputId" | "isClearable" | "isLoading" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "onBlur" | "onChange" | "onFocus" | "onInputChange" | "styles" | "value" | "target" | "defaultValue" | "fieldId" | "menuMinWidth" | "maxPickerHeight" | "textFieldBackgroundColor" | "loadOptions" | "loadUserSource" | "anchor" | "open" | "onSelection" | "onClear" | "onClose" | "appearance" | "subtle" | "noBorder" | "addMoreMessage" | "clearValueLabel" | "allowEmail" | "suggestEmailsForDomain" | "emailLabel" | "disableInput" | "isValidEmail" | "maxOptions" | "ariaLabelledBy" | "ariaLive" | "popupTitle"> & Partial<Pick<Omit<PopupUserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "offset" | "isMulti" | "width" | "rootBoundary" | "boundariesElement" | "placement" | "shouldFlip">> & Partial<Pick<{
31
31
  boundariesElement: string;
32
32
  width: number;
33
33
  isMulti: boolean;
@@ -1,8 +1,5 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import { Option } from '../types';
3
- declare type Props = {
4
- data: Option;
5
- selectProps: any;
6
- };
3
+ import { SingleValueProps } from '@atlaskit/select';
4
+ export declare type Props = SingleValueProps<Option>;
7
5
  export declare const SingleValue: (props: Props) => jsx.JSX.Element | null;
8
- export {};
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- export declare class Props {
2
+ export declare type Props = {
3
3
  appearance: string;
4
4
  src?: string;
5
5
  name?: string;
6
6
  presence?: string;
7
- }
7
+ };
8
8
  export declare class SizeableAvatar extends React.PureComponent<Props> {
9
9
  render(): JSX.Element;
10
10
  }
@@ -10,7 +10,7 @@ export declare class UserPickerWithoutAnalytics extends React.Component<UserPick
10
10
  componentDidMount(): void;
11
11
  render(): JSX.Element;
12
12
  }
13
- export declare const UserPicker: React.ForwardRefExoticComponent<Pick<Omit<UserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "options" | "search" | "isDisabled" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "inputId" | "isClearable" | "isLoading" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "noOptionsMessage" | "onBlur" | "onChange" | "onFocus" | "onInputChange" | "placeholder" | "styles" | "value" | "defaultValue" | "fieldId" | "menuMinWidth" | "maxPickerHeight" | "textFieldBackgroundColor" | "loadOptions" | "loadUserSource" | "anchor" | "open" | "onSelection" | "onClear" | "onClose" | "appearance" | "subtle" | "noBorder" | "addMoreMessage" | "clearValueLabel" | "allowEmail" | "suggestEmailsForDomain" | "emailLabel" | "disableInput" | "isValidEmail" | "maxOptions" | "ariaLabelledBy" | "ariaLive"> & Partial<Pick<Omit<UserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "isMulti" | "width">> & Partial<Pick<{
13
+ export declare const UserPicker: React.ForwardRefExoticComponent<Pick<Omit<UserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "options" | "search" | "noOptionsMessage" | "placeholder" | "isDisabled" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "inputId" | "isClearable" | "isLoading" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "onBlur" | "onChange" | "onFocus" | "onInputChange" | "styles" | "value" | "defaultValue" | "fieldId" | "menuMinWidth" | "maxPickerHeight" | "textFieldBackgroundColor" | "loadOptions" | "loadUserSource" | "anchor" | "open" | "onSelection" | "onClear" | "onClose" | "appearance" | "subtle" | "noBorder" | "addMoreMessage" | "clearValueLabel" | "allowEmail" | "suggestEmailsForDomain" | "emailLabel" | "disableInput" | "isValidEmail" | "maxOptions" | "ariaLabelledBy" | "ariaLive"> & Partial<Pick<Omit<UserPickerProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "isMulti" | "width">> & Partial<Pick<{
14
14
  width: number;
15
15
  isMulti: boolean;
16
16
  }, never>> & React.RefAttributes<any>>;
@@ -21,10 +21,7 @@ export declare const getComponents: import("memoize-one").MemoizedFn<(multi?: bo
21
21
  } | {
22
22
  MultiValue: typeof MultiValue;
23
23
  DropdownIndicator: null;
24
- SingleValue: (props: {
25
- data: import("..").Option<import("..").OptionData>;
26
- selectProps: any;
27
- }) => import("@emotion/react").jsx.JSX.Element | null;
24
+ SingleValue: (props: import("./SingleValue").Props) => import("@emotion/react").jsx.JSX.Element | null;
28
25
  ClearIndicator: typeof ClearIndicator | null;
29
26
  Option: import("react").FC<import("./Option").OptionProps>;
30
27
  ValueContainer: typeof MultiValueContainer | typeof SingleValueContainer;
@@ -33,10 +30,7 @@ export declare const getComponents: import("memoize-one").MemoizedFn<(multi?: bo
33
30
  }>;
34
31
  export declare const getPopupComponents: import("memoize-one").MemoizedFn<(hasPopupTitle: boolean) => {
35
32
  DropdownIndicator: null;
36
- SingleValue: (props: {
37
- data: import("..").Option<import("..").OptionData>;
38
- selectProps: any;
39
- }) => import("@emotion/react").jsx.JSX.Element | null;
33
+ SingleValue: (props: import("./SingleValue").Props) => import("@emotion/react").jsx.JSX.Element | null;
40
34
  ClearIndicator: typeof ClearIndicator;
41
35
  Option: import("react").FC<import("./Option").OptionProps>;
42
36
  ValueContainer: typeof SingleValueContainer;
@@ -44,10 +38,7 @@ export declare const getPopupComponents: import("memoize-one").MemoizedFn<(hasPo
44
38
  } | {
45
39
  Control: typeof PopupControl;
46
40
  DropdownIndicator: null;
47
- SingleValue: (props: {
48
- data: import("..").Option<import("..").OptionData>;
49
- selectProps: any;
50
- }) => import("@emotion/react").jsx.JSX.Element | null;
41
+ SingleValue: (props: import("./SingleValue").Props) => import("@emotion/react").jsx.JSX.Element | null;
51
42
  ClearIndicator: typeof ClearIndicator;
52
43
  Option: import("react").FC<import("./Option").OptionProps>;
53
44
  ValueContainer: typeof SingleValueContainer;
@@ -1,7 +1,8 @@
1
+ import { StylesConfig } from '@atlaskit/select';
1
2
  export declare const BORDER_PADDING = 6;
2
3
  export declare const AVATAR_PADDING = 6;
3
4
  export declare const INDICATOR_WIDTH = 39;
4
- export declare const getStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean | undefined, isCompact?: boolean | undefined, overrideStyles?: Partial<import("react-select").Styles<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined) => Partial<import("react-select").Styles<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | {
5
+ export declare const getStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean | undefined, isCompact?: boolean | undefined, overrideStyles?: StylesConfig<import("@atlaskit/select").OptionType, false> | undefined) => {
5
6
  menu: (css: any, state: any) => any;
6
7
  control: (css: any, state: any) => any;
7
8
  clearIndicator: ({ paddingTop, paddingBottom, paddingLeft, paddingRight, ...css }: any) => any;
@@ -12,6 +13,30 @@ export declare const getStyles: import("memoize-one").MemoizedFn<(width: string
12
13
  multiValueRemove: (css: any) => any;
13
14
  placeholder: (css: any, state: any) => any;
14
15
  option: (css: any) => any;
15
- input: ({ margin, ...css }: any) => any;
16
+ input: (css: any, state: any) => any;
17
+ singleValue: (css: any) => any;
18
+ } | {
19
+ clearIndicator?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").ClearIndicatorProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
20
+ container?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").ContainerProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
21
+ control?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").ControlProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
22
+ dropdownIndicator?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").DropdownIndicatorProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
23
+ group?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").GroupProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
24
+ groupHeading?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").GroupHeadingProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
25
+ indicatorsContainer?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").IndicatorsContainerProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
26
+ indicatorSeparator?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").IndicatorSeparatorProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
27
+ input?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").InputProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
28
+ loadingIndicator?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").LoadingIndicatorProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
29
+ loadingMessage?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").NoticeProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
30
+ menu?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").MenuProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
31
+ menuList?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").MenuListProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
32
+ menuPortal?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select/dist/declarations/src/components/Menu").PortalStyleArgs> | undefined;
33
+ multiValue?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").MultiValueProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
34
+ multiValueLabel?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").MultiValueProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
35
+ multiValueRemove?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").MultiValueProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
36
+ noOptionsMessage?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").NoticeProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
37
+ option?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").OptionProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
38
+ placeholder?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").PlaceholderProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
39
+ singleValue?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("@atlaskit/select").SingleValueProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
40
+ valueContainer?: import("react-select/dist/declarations/src/styles").StylesConfigFunction<import("react-select").ValueContainerProps<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>> | undefined;
16
41
  }>;
17
- export declare const getPopupStyles: import("memoize-one").MemoizedFn<(width: string | number, flip?: boolean | undefined, isMulti?: boolean | undefined) => Partial<import("react-select").Styles<import("@atlaskit/select").OptionType, false, import("@atlaskit/select").GroupType<import("@atlaskit/select").OptionType>>>>;
42
+ export declare const getPopupStyles: import("memoize-one").MemoizedFn<(width: string | number, flip?: boolean | undefined, isMulti?: boolean | undefined) => StylesConfig<import("@atlaskit/select").OptionType, false>>;
@@ -215,6 +215,7 @@ export interface ExternalUser extends User {
215
215
  externalUserType?: 'crossSite' | 'thirdParty';
216
216
  requiresSourceHydration?: boolean;
217
217
  sources: UserSource[];
218
+ hasProductAccess?: boolean;
218
219
  }
219
220
  export interface User extends OptionData {
220
221
  avatarUrl?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "9.6.3",
3
+ "version": "9.7.1",
4
4
  "description": "Fabric component for display a dropdown to select a user from",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -32,8 +32,8 @@
32
32
  "@atlaskit/logo": "^13.10.0",
33
33
  "@atlaskit/lozenge": "^11.3.0",
34
34
  "@atlaskit/popper": "^5.4.0",
35
- "@atlaskit/select": "^15.7.0",
36
- "@atlaskit/spinner": "^15.2.0",
35
+ "@atlaskit/select": "^16.0.0",
36
+ "@atlaskit/spinner": "^15.3.0",
37
37
  "@atlaskit/theme": "^12.2.0",
38
38
  "@atlaskit/tokens": "^0.11.0",
39
39
  "@atlaskit/tooltip": "^17.6.0",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "devDependencies": {
53
53
  "@atlaskit/analytics-viewer": "^0.4.0",
54
- "@atlaskit/button": "^16.4.0",
54
+ "@atlaskit/button": "^16.5.0",
55
55
  "@atlaskit/docs": "*",
56
56
  "@atlaskit/elements-test-helpers": "^0.7.0",
57
57
  "@atlaskit/modal-dialog": "^12.4.0",
package/report.api.md CHANGED
@@ -8,6 +8,7 @@
8
8
  ### Table of contents
9
9
 
10
10
  - [Main Entry Types](#main-entry-types)
11
+ - [Peer Dependencies](#peer-dependencies)
11
12
 
12
13
  ### Main Entry Types
13
14
 
@@ -97,6 +98,8 @@ export interface ExternalUser extends User {
97
98
  // (undocumented)
98
99
  externalUserType?: 'crossSite' | 'thirdParty';
99
100
  // (undocumented)
101
+ hasProductAccess?: boolean;
102
+ // (undocumented)
100
103
  requiresSourceHydration?: boolean;
101
104
  // (undocumented)
102
105
  sources: UserSource[];
@@ -558,3 +561,17 @@ export type Value = OptionData | OptionData[] | null | undefined;
558
561
  ```
559
562
 
560
563
  <!--SECTION END: Main Entry Types-->
564
+
565
+ ### Peer Dependencies
566
+
567
+ <!--SECTION START: Peer Dependencies-->
568
+
569
+ ```json
570
+ {
571
+ "react": "^16.8.0",
572
+ "react-dom": "^16.8.0",
573
+ "react-intl-next": "npm:react-intl@^5.18.1"
574
+ }
575
+ ```
576
+
577
+ <!--SECTION END: Peer Dependencies-->
@@ -77,6 +77,8 @@ export interface ExternalUser extends User {
77
77
  // (undocumented)
78
78
  externalUserType?: 'crossSite' | 'thirdParty';
79
79
  // (undocumented)
80
+ hasProductAccess?: boolean;
81
+ // (undocumented)
80
82
  requiresSourceHydration?: boolean;
81
83
  // (undocumented)
82
84
  sources: UserSource[];