@atlaskit/user-picker 11.22.0 → 11.23.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.
- package/CHANGELOG.md +14 -0
- package/afm-cc/tsconfig.json +0 -1
- package/afm-jira/tsconfig.json +0 -1
- package/afm-products/tsconfig.json +0 -1
- package/dist/cjs/analytics.js +1 -1
- package/dist/cjs/components/BaseUserPicker.js +16 -24
- package/dist/cjs/components/TeamOption/main.js +1 -2
- package/dist/cjs/components/UserPicker.js +1 -1
- package/dist/cjs/components/styles.js +11 -11
- package/dist/es2019/analytics.js +1 -1
- package/dist/es2019/components/BaseUserPicker.js +16 -22
- package/dist/es2019/components/TeamOption/main.js +1 -2
- package/dist/es2019/components/UserPicker.js +1 -1
- package/dist/es2019/components/styles.js +9 -9
- package/dist/esm/analytics.js +1 -1
- package/dist/esm/components/BaseUserPicker.js +16 -24
- package/dist/esm/components/TeamOption/main.js +1 -2
- package/dist/esm/components/UserPicker.js +1 -1
- package/dist/esm/components/styles.js +11 -11
- package/dist/types/components/BaseUserPicker.d.ts +6 -7
- package/dist/types/components/PopupUserPicker.d.ts +2 -0
- package/dist/types/components/UserPicker.d.ts +2 -1
- package/dist/types/components/popup.d.ts +2 -2
- package/dist/types/components/styles.d.ts +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types-ts4.5/components/BaseUserPicker.d.ts +6 -7
- package/dist/types-ts4.5/components/PopupUserPicker.d.ts +2 -0
- package/dist/types-ts4.5/components/UserPicker.d.ts +2 -1
- package/dist/types-ts4.5/components/popup.d.ts +2 -2
- package/dist/types-ts4.5/components/styles.d.ts +1 -1
- package/dist/types-ts4.5/types.d.ts +2 -0
- package/package.json +3 -6
- package/tsconfig.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/user-picker
|
|
2
2
|
|
|
3
|
+
## 11.23.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 11.23.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`4222fa748c46e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4222fa748c46e) -
|
|
14
|
+
[ux] Feature flag clean up to enable keyboard interactions in with header prop plugin in
|
|
15
|
+
Confluence
|
|
16
|
+
|
|
3
17
|
## 11.22.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/afm-cc/tsconfig.json
CHANGED
package/afm-jira/tsconfig.json
CHANGED
package/dist/cjs/analytics.js
CHANGED
|
@@ -13,7 +13,7 @@ var _utils = require("./components/utils");
|
|
|
13
13
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
14
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
15
15
|
var packageName = "@atlaskit/user-picker";
|
|
16
|
-
var packageVersion = "
|
|
16
|
+
var packageVersion = "0.0.0-development";
|
|
17
17
|
var UUID_REGEXP_TEAMS_GROUPS = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;
|
|
18
18
|
var UUID_REGEXP_OLD_AAID = /^[a-fA-F0-9]{1,8}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;
|
|
19
19
|
var UUID_REGEXP_NEW_AAID = /^[a-fA-F0-9]{24,24}$/;
|
|
@@ -25,7 +25,6 @@ var _i18n = require("./i18n");
|
|
|
25
25
|
var _utils = require("./utils");
|
|
26
26
|
var _groupOptionsByType = require("../util/group-options-by-type");
|
|
27
27
|
var _ufoExperiences = require("../util/ufoExperiences");
|
|
28
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
29
28
|
var _excluded = ["aria-labelledby", "aria-describedby"];
|
|
30
29
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
31
30
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -253,7 +252,7 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
253
252
|
});
|
|
254
253
|
});
|
|
255
254
|
(0, _defineProperty2.default)(_this, "handleBlur", function () {
|
|
256
|
-
if (_this.
|
|
255
|
+
if (_this.props.isFooterFocused || _this.props.isHeaderFocused) {
|
|
257
256
|
return;
|
|
258
257
|
}
|
|
259
258
|
(0, _utils.callCallback)(_this.props.onBlur, _this.getSessionId());
|
|
@@ -269,7 +268,7 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
269
268
|
});
|
|
270
269
|
});
|
|
271
270
|
(0, _defineProperty2.default)(_this, "handleClose", function () {
|
|
272
|
-
if (_this.
|
|
271
|
+
if (_this.props.isFooterFocused || _this.props.isHeaderFocused) {
|
|
273
272
|
return;
|
|
274
273
|
}
|
|
275
274
|
_this.resetInputState();
|
|
@@ -332,21 +331,19 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
332
331
|
}
|
|
333
332
|
}
|
|
334
333
|
_this.props.onKeyDown && _this.props.onKeyDown(event);
|
|
335
|
-
if (
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
_this.props.setIsHeaderFocused(true);
|
|
349
|
-
}
|
|
334
|
+
if (event.key === 'Escape') {
|
|
335
|
+
_this.setState({
|
|
336
|
+
menuIsOpen: false,
|
|
337
|
+
options: []
|
|
338
|
+
});
|
|
339
|
+
_this.props.setIsFooterFocused && _this.props.setIsFooterFocused(false);
|
|
340
|
+
_this.props.setIsHeaderFocused && _this.props.setIsHeaderFocused(false);
|
|
341
|
+
}
|
|
342
|
+
if (event.key === 'Tab' && _this.props.setIsFooterFocused && _this.props.footer) {
|
|
343
|
+
_this.props.setIsFooterFocused(true);
|
|
344
|
+
}
|
|
345
|
+
if (event.key === 'Tab' && _this.props.setIsHeaderFocused && _this.props.header) {
|
|
346
|
+
_this.props.setIsHeaderFocused(true);
|
|
350
347
|
}
|
|
351
348
|
});
|
|
352
349
|
(0, _defineProperty2.default)(_this, "handleClearIndicatorHover", function (hoveringClearIndicator) {
|
|
@@ -441,11 +438,6 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
441
438
|
get: function get() {
|
|
442
439
|
return this.props.openMenuOnClick && !this.props.isMulti;
|
|
443
440
|
}
|
|
444
|
-
}, {
|
|
445
|
-
key: "isCreateTeamA11yEnabled",
|
|
446
|
-
get: function get() {
|
|
447
|
-
return (0, _platformFeatureFlags.fg)('a11y-create-team-is-not-focusable-and-has-no-btn');
|
|
448
|
-
}
|
|
449
441
|
}, {
|
|
450
442
|
key: "componentDidMount",
|
|
451
443
|
value: function componentDidMount() {
|
|
@@ -471,7 +463,7 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
471
463
|
inputValue = _this$state2.inputValue;
|
|
472
464
|
|
|
473
465
|
// Close menu when isFooterFocused or isHeaderFocused changes from true to false
|
|
474
|
-
if (
|
|
466
|
+
if (menuIsOpen && (prevProps.isFooterFocused === true && this.props.isFooterFocused === false || prevProps.isHeaderFocused === true && this.props.isHeaderFocused === false) && !this.shouldKeepMenuOpen()) {
|
|
475
467
|
this.resetInputState();
|
|
476
468
|
(0, _utils.callCallback)(this.props.onClose, this.getSessionId());
|
|
477
469
|
this.setState({
|
|
@@ -148,8 +148,7 @@ var TeamOption = exports.TeamOption = /*#__PURE__*/function (_React$PureComponen
|
|
|
148
148
|
if (_this.props.team.verified) {
|
|
149
149
|
return (0, _react.jsx)(_verifiedTeamIcon.VerifiedTeamIcon, {
|
|
150
150
|
label: "",
|
|
151
|
-
size: "small"
|
|
152
|
-
spacing: "none"
|
|
151
|
+
size: "small"
|
|
153
152
|
});
|
|
154
153
|
}
|
|
155
154
|
return undefined;
|
|
@@ -108,7 +108,7 @@ var UserPickerWithoutAnalytics = exports.UserPickerWithoutAnalytics = /*#__PURE_
|
|
|
108
108
|
SelectComponent: SelectComponent
|
|
109
109
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
110
110
|
,
|
|
111
|
-
styles: (0, _styles.getStyles)(width, isMulti, this.props.appearance === 'compact', this.props.styles, (0, _platformFeatureFlags.fg)('platform-component-visual-refresh'), false, this.props.height),
|
|
111
|
+
styles: (0, _styles.getStyles)(width, isMulti, this.props.appearance === 'compact', this.props.styles, (0, _platformFeatureFlags.fg)('platform-component-visual-refresh'), false, this.props.height, this.props.minHeight),
|
|
112
112
|
components: (0, _components.getComponents)(isMulti, anchor, showClearIndicator, (_this$props2 = this.props) !== null && _this$props2 !== void 0 && _this$props2.components ? this.props.components : {}),
|
|
113
113
|
pickerProps: pickerProps
|
|
114
114
|
})))));
|
|
@@ -10,14 +10,14 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _colors = require("@atlaskit/theme/colors");
|
|
11
11
|
var _memoizeOne = _interopRequireDefault(require("memoize-one"));
|
|
12
12
|
var _select = require("@atlaskit/select");
|
|
13
|
-
var _excluded = ["
|
|
14
|
-
_excluded2 = ["
|
|
13
|
+
var _excluded = ["_paddingTop", "_paddingBottom", "_paddingLeft", "_paddingRight"],
|
|
14
|
+
_excluded2 = ["_paddingTop", "_paddingBottom", "_position"];
|
|
15
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
17
|
var BORDER_PADDING = exports.BORDER_PADDING = "var(--ds-space-075, 6px)";
|
|
18
18
|
var AVATAR_PADDING = exports.AVATAR_PADDING = 6;
|
|
19
19
|
var INDICATOR_WIDTH = exports.INDICATOR_WIDTH = 39;
|
|
20
|
-
var getStyles = exports.getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, overrideStyles, isVisualRefresh, isPopupStyles, height) {
|
|
20
|
+
var getStyles = exports.getStyles = (0, _memoizeOne.default)(function (width, isMulti, isCompact, overrideStyles, isVisualRefresh, isPopupStyles, height, minHeight) {
|
|
21
21
|
var styles = {
|
|
22
22
|
menu: function menu(css, state) {
|
|
23
23
|
return _objectSpread(_objectSpread({}, css), {}, {
|
|
@@ -45,17 +45,17 @@ var getStyles = exports.getStyles = (0, _memoizeOne.default)(function (width, is
|
|
|
45
45
|
backgroundColor: state.selectProps.subtle && state.selectProps.hoveringClearIndicator ? "var(--ds-background-danger, ".concat(_colors.R50, ")") : state.isFocused ? css[':hover'] ? "var(--ds-background-input, ".concat(css[':hover'].backgroundColor, ")") : "var(--ds-background-input, ".concat(_colors.N0, ")") : state.isDisabled ? "var(--ds-background-disabled, ".concat(_colors.N10, ")") : "var(--ds-background-input-hovered, ".concat(_colors.N30, ")")
|
|
46
46
|
}),
|
|
47
47
|
padding: 0,
|
|
48
|
-
minHeight: height || isCompact ? 'none' : 44,
|
|
48
|
+
minHeight: minHeight ? minHeight : height || isCompact ? 'none' : 44,
|
|
49
49
|
/* IE 11 needs to set height explicitly to be vertical align when being in not compact mode */
|
|
50
50
|
height: height ? height : isCompact || isMulti ? '100%' : 44,
|
|
51
51
|
maxWidth: '100%'
|
|
52
52
|
});
|
|
53
53
|
},
|
|
54
54
|
clearIndicator: function clearIndicator(_ref) {
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
var _paddingTop = _ref._paddingTop,
|
|
56
|
+
_paddingBottom = _ref._paddingBottom,
|
|
57
|
+
_paddingLeft = _ref._paddingLeft,
|
|
58
|
+
_paddingRight = _ref._paddingRight,
|
|
59
59
|
css = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
60
60
|
return _objectSpread(_objectSpread({}, css), {}, {
|
|
61
61
|
// By default show clear indicator, except for on devices where "hover" is supported.
|
|
@@ -78,9 +78,9 @@ var getStyles = exports.getStyles = (0, _memoizeOne.default)(function (width, is
|
|
|
78
78
|
});
|
|
79
79
|
},
|
|
80
80
|
valueContainer: function valueContainer(_ref2, state) {
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
var _paddingTop = _ref2._paddingTop,
|
|
82
|
+
_paddingBottom = _ref2._paddingBottom,
|
|
83
|
+
_position = _ref2._position,
|
|
84
84
|
css = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
85
85
|
var isMulti = state.selectProps.isMulti;
|
|
86
86
|
return _objectSpread(_objectSpread({}, css), {}, {
|
package/dist/es2019/analytics.js
CHANGED
|
@@ -4,7 +4,7 @@ import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
5
5
|
import { isCustom, isExternalUser } from './components/utils';
|
|
6
6
|
const packageName = "@atlaskit/user-picker";
|
|
7
|
-
const packageVersion = "
|
|
7
|
+
const packageVersion = "0.0.0-development";
|
|
8
8
|
const UUID_REGEXP_TEAMS_GROUPS = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;
|
|
9
9
|
const UUID_REGEXP_OLD_AAID = /^[a-fA-F0-9]{1,8}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;
|
|
10
10
|
const UUID_REGEXP_NEW_AAID = /^[a-fA-F0-9]{24,24}$/;
|
|
@@ -13,7 +13,6 @@ import { messages } from './i18n';
|
|
|
13
13
|
import { callCallback, extractOptionValue, getOptions, isIterable, isPopupUserPickerByComponent, isDefaultValuePopulated, isSingleValue, optionToSelectableOptions } from './utils';
|
|
14
14
|
import { groupOptionsByType } from '../util/group-options-by-type';
|
|
15
15
|
import { userPickerOptionsShownUfoExperience } from '../util/ufoExperiences';
|
|
16
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
17
16
|
const loadingMessage = () => null;
|
|
18
17
|
const classNamePrefix = 'fabric-user-picker';
|
|
19
18
|
export class BaseUserPickerWithoutAnalytics extends React.Component {
|
|
@@ -243,7 +242,7 @@ export class BaseUserPickerWithoutAnalytics extends React.Component {
|
|
|
243
242
|
});
|
|
244
243
|
});
|
|
245
244
|
_defineProperty(this, "handleBlur", () => {
|
|
246
|
-
if (this.
|
|
245
|
+
if (this.props.isFooterFocused || this.props.isHeaderFocused) {
|
|
247
246
|
return;
|
|
248
247
|
}
|
|
249
248
|
callCallback(this.props.onBlur, this.getSessionId());
|
|
@@ -259,7 +258,7 @@ export class BaseUserPickerWithoutAnalytics extends React.Component {
|
|
|
259
258
|
});
|
|
260
259
|
});
|
|
261
260
|
_defineProperty(this, "handleClose", () => {
|
|
262
|
-
if (this.
|
|
261
|
+
if (this.props.isFooterFocused || this.props.isHeaderFocused) {
|
|
263
262
|
return;
|
|
264
263
|
}
|
|
265
264
|
this.resetInputState();
|
|
@@ -322,21 +321,19 @@ export class BaseUserPickerWithoutAnalytics extends React.Component {
|
|
|
322
321
|
}
|
|
323
322
|
}
|
|
324
323
|
this.props.onKeyDown && this.props.onKeyDown(event);
|
|
325
|
-
if (
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
this.props.setIsHeaderFocused(true);
|
|
339
|
-
}
|
|
324
|
+
if (event.key === 'Escape') {
|
|
325
|
+
this.setState({
|
|
326
|
+
menuIsOpen: false,
|
|
327
|
+
options: []
|
|
328
|
+
});
|
|
329
|
+
this.props.setIsFooterFocused && this.props.setIsFooterFocused(false);
|
|
330
|
+
this.props.setIsHeaderFocused && this.props.setIsHeaderFocused(false);
|
|
331
|
+
}
|
|
332
|
+
if (event.key === 'Tab' && this.props.setIsFooterFocused && this.props.footer) {
|
|
333
|
+
this.props.setIsFooterFocused(true);
|
|
334
|
+
}
|
|
335
|
+
if (event.key === 'Tab' && this.props.setIsHeaderFocused && this.props.header) {
|
|
336
|
+
this.props.setIsHeaderFocused(true);
|
|
340
337
|
}
|
|
341
338
|
});
|
|
342
339
|
_defineProperty(this, "handleClearIndicatorHover", hoveringClearIndicator => {
|
|
@@ -420,9 +417,6 @@ export class BaseUserPickerWithoutAnalytics extends React.Component {
|
|
|
420
417
|
get isMenuOpenOnClickForSingleSelect() {
|
|
421
418
|
return this.props.openMenuOnClick && !this.props.isMulti;
|
|
422
419
|
}
|
|
423
|
-
get isCreateTeamA11yEnabled() {
|
|
424
|
-
return fg('a11y-create-team-is-not-focusable-and-has-no-btn');
|
|
425
|
-
}
|
|
426
420
|
componentDidMount() {
|
|
427
421
|
const {
|
|
428
422
|
open,
|
|
@@ -446,7 +440,7 @@ export class BaseUserPickerWithoutAnalytics extends React.Component {
|
|
|
446
440
|
} = this.state;
|
|
447
441
|
|
|
448
442
|
// Close menu when isFooterFocused or isHeaderFocused changes from true to false
|
|
449
|
-
if (
|
|
443
|
+
if (menuIsOpen && (prevProps.isFooterFocused === true && this.props.isFooterFocused === false || prevProps.isHeaderFocused === true && this.props.isHeaderFocused === false) && !this.shouldKeepMenuOpen()) {
|
|
450
444
|
this.resetInputState();
|
|
451
445
|
callCallback(this.props.onClose, this.getSessionId());
|
|
452
446
|
this.setState({
|
|
@@ -85,7 +85,7 @@ export class UserPickerWithoutAnalytics extends React.Component {
|
|
|
85
85
|
SelectComponent: SelectComponent
|
|
86
86
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
87
87
|
,
|
|
88
|
-
styles: getStyles(width, isMulti, this.props.appearance === 'compact', this.props.styles, fg('platform-component-visual-refresh'), false, this.props.height),
|
|
88
|
+
styles: getStyles(width, isMulti, this.props.appearance === 'compact', this.props.styles, fg('platform-component-visual-refresh'), false, this.props.height, this.props.minHeight),
|
|
89
89
|
components: getComponents(isMulti, anchor, showClearIndicator, (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.components ? this.props.components : {}),
|
|
90
90
|
pickerProps: pickerProps
|
|
91
91
|
})))));
|
|
@@ -4,7 +4,7 @@ import { mergeStyles } from '@atlaskit/select';
|
|
|
4
4
|
export const BORDER_PADDING = "var(--ds-space-075, 6px)";
|
|
5
5
|
export const AVATAR_PADDING = 6;
|
|
6
6
|
export const INDICATOR_WIDTH = 39;
|
|
7
|
-
export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles, isVisualRefresh, isPopupStyles, height) => {
|
|
7
|
+
export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles, isVisualRefresh, isPopupStyles, height, minHeight) => {
|
|
8
8
|
let styles = {
|
|
9
9
|
menu: (css, state) => ({
|
|
10
10
|
...css,
|
|
@@ -32,17 +32,17 @@ export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles,
|
|
|
32
32
|
backgroundColor: state.selectProps.subtle && state.selectProps.hoveringClearIndicator ? `var(--ds-background-danger, ${R50})` : state.isFocused ? css[':hover'] ? `var(--ds-background-input, ${css[':hover'].backgroundColor})` : `var(--ds-background-input, ${N0})` : state.isDisabled ? `var(--ds-background-disabled, ${N10})` : `var(--ds-background-input-hovered, ${N30})`
|
|
33
33
|
},
|
|
34
34
|
padding: 0,
|
|
35
|
-
minHeight: height || isCompact ? 'none' : 44,
|
|
35
|
+
minHeight: minHeight ? minHeight : height || isCompact ? 'none' : 44,
|
|
36
36
|
/* IE 11 needs to set height explicitly to be vertical align when being in not compact mode */
|
|
37
37
|
height: height ? height : isCompact || isMulti ? '100%' : 44,
|
|
38
38
|
maxWidth: '100%'
|
|
39
39
|
};
|
|
40
40
|
},
|
|
41
41
|
clearIndicator: ({
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
_paddingTop,
|
|
43
|
+
_paddingBottom,
|
|
44
|
+
_paddingLeft,
|
|
45
|
+
_paddingRight,
|
|
46
46
|
...css
|
|
47
47
|
}) => ({
|
|
48
48
|
...css,
|
|
@@ -64,9 +64,9 @@ export const getStyles = memoizeOne((width, isMulti, isCompact, overrideStyles,
|
|
|
64
64
|
paddingRight: "var(--ds-space-050, 4px)"
|
|
65
65
|
}),
|
|
66
66
|
valueContainer: ({
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
_paddingTop,
|
|
68
|
+
_paddingBottom,
|
|
69
|
+
_position,
|
|
70
70
|
...css
|
|
71
71
|
}, state) => {
|
|
72
72
|
const isMulti = state.selectProps.isMulti;
|
package/dist/esm/analytics.js
CHANGED
|
@@ -7,7 +7,7 @@ import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
|
7
7
|
import { v4 as uuidv4 } from 'uuid';
|
|
8
8
|
import { isCustom, isExternalUser } from './components/utils';
|
|
9
9
|
var packageName = "@atlaskit/user-picker";
|
|
10
|
-
var packageVersion = "
|
|
10
|
+
var packageVersion = "0.0.0-development";
|
|
11
11
|
var UUID_REGEXP_TEAMS_GROUPS = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;
|
|
12
12
|
var UUID_REGEXP_OLD_AAID = /^[a-fA-F0-9]{1,8}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;
|
|
13
13
|
var UUID_REGEXP_NEW_AAID = /^[a-fA-F0-9]{24,24}$/;
|
|
@@ -27,7 +27,6 @@ import { messages } from './i18n';
|
|
|
27
27
|
import { callCallback, extractOptionValue, getOptions, isIterable, isPopupUserPickerByComponent, isDefaultValuePopulated, isSingleValue, optionToSelectableOptions } from './utils';
|
|
28
28
|
import { groupOptionsByType } from '../util/group-options-by-type';
|
|
29
29
|
import { userPickerOptionsShownUfoExperience } from '../util/ufoExperiences';
|
|
30
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
31
30
|
var loadingMessage = function loadingMessage() {
|
|
32
31
|
return null;
|
|
33
32
|
};
|
|
@@ -247,7 +246,7 @@ export var BaseUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compon
|
|
|
247
246
|
});
|
|
248
247
|
});
|
|
249
248
|
_defineProperty(_this, "handleBlur", function () {
|
|
250
|
-
if (_this.
|
|
249
|
+
if (_this.props.isFooterFocused || _this.props.isHeaderFocused) {
|
|
251
250
|
return;
|
|
252
251
|
}
|
|
253
252
|
callCallback(_this.props.onBlur, _this.getSessionId());
|
|
@@ -263,7 +262,7 @@ export var BaseUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compon
|
|
|
263
262
|
});
|
|
264
263
|
});
|
|
265
264
|
_defineProperty(_this, "handleClose", function () {
|
|
266
|
-
if (_this.
|
|
265
|
+
if (_this.props.isFooterFocused || _this.props.isHeaderFocused) {
|
|
267
266
|
return;
|
|
268
267
|
}
|
|
269
268
|
_this.resetInputState();
|
|
@@ -326,21 +325,19 @@ export var BaseUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compon
|
|
|
326
325
|
}
|
|
327
326
|
}
|
|
328
327
|
_this.props.onKeyDown && _this.props.onKeyDown(event);
|
|
329
|
-
if (
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
_this.props.setIsHeaderFocused(true);
|
|
343
|
-
}
|
|
328
|
+
if (event.key === 'Escape') {
|
|
329
|
+
_this.setState({
|
|
330
|
+
menuIsOpen: false,
|
|
331
|
+
options: []
|
|
332
|
+
});
|
|
333
|
+
_this.props.setIsFooterFocused && _this.props.setIsFooterFocused(false);
|
|
334
|
+
_this.props.setIsHeaderFocused && _this.props.setIsHeaderFocused(false);
|
|
335
|
+
}
|
|
336
|
+
if (event.key === 'Tab' && _this.props.setIsFooterFocused && _this.props.footer) {
|
|
337
|
+
_this.props.setIsFooterFocused(true);
|
|
338
|
+
}
|
|
339
|
+
if (event.key === 'Tab' && _this.props.setIsHeaderFocused && _this.props.header) {
|
|
340
|
+
_this.props.setIsHeaderFocused(true);
|
|
344
341
|
}
|
|
345
342
|
});
|
|
346
343
|
_defineProperty(_this, "handleClearIndicatorHover", function (hoveringClearIndicator) {
|
|
@@ -435,11 +432,6 @@ export var BaseUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compon
|
|
|
435
432
|
get: function get() {
|
|
436
433
|
return this.props.openMenuOnClick && !this.props.isMulti;
|
|
437
434
|
}
|
|
438
|
-
}, {
|
|
439
|
-
key: "isCreateTeamA11yEnabled",
|
|
440
|
-
get: function get() {
|
|
441
|
-
return fg('a11y-create-team-is-not-focusable-and-has-no-btn');
|
|
442
|
-
}
|
|
443
435
|
}, {
|
|
444
436
|
key: "componentDidMount",
|
|
445
437
|
value: function componentDidMount() {
|
|
@@ -465,7 +457,7 @@ export var BaseUserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Compon
|
|
|
465
457
|
inputValue = _this$state2.inputValue;
|
|
466
458
|
|
|
467
459
|
// Close menu when isFooterFocused or isHeaderFocused changes from true to false
|
|
468
|
-
if (
|
|
460
|
+
if (menuIsOpen && (prevProps.isFooterFocused === true && this.props.isFooterFocused === false || prevProps.isHeaderFocused === true && this.props.isHeaderFocused === false) && !this.shouldKeepMenuOpen()) {
|
|
469
461
|
this.resetInputState();
|
|
470
462
|
callCallback(this.props.onClose, this.getSessionId());
|
|
471
463
|
this.setState({
|
|
@@ -143,8 +143,7 @@ export var TeamOption = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
143
143
|
if (_this.props.team.verified) {
|
|
144
144
|
return jsx(VerifiedTeamIcon, {
|
|
145
145
|
label: "",
|
|
146
|
-
size: "small"
|
|
147
|
-
spacing: "none"
|
|
146
|
+
size: "small"
|
|
148
147
|
});
|
|
149
148
|
}
|
|
150
149
|
return undefined;
|
|
@@ -100,7 +100,7 @@ export var UserPickerWithoutAnalytics = /*#__PURE__*/function (_React$Component)
|
|
|
100
100
|
SelectComponent: SelectComponent
|
|
101
101
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
102
102
|
,
|
|
103
|
-
styles: getStyles(width, isMulti, this.props.appearance === 'compact', this.props.styles, fg('platform-component-visual-refresh'), false, this.props.height),
|
|
103
|
+
styles: getStyles(width, isMulti, this.props.appearance === 'compact', this.props.styles, fg('platform-component-visual-refresh'), false, this.props.height, this.props.minHeight),
|
|
104
104
|
components: getComponents(isMulti, anchor, showClearIndicator, (_this$props2 = this.props) !== null && _this$props2 !== void 0 && _this$props2.components ? this.props.components : {}),
|
|
105
105
|
pickerProps: pickerProps
|
|
106
106
|
})))));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
var _excluded = ["
|
|
4
|
-
_excluded2 = ["
|
|
3
|
+
var _excluded = ["_paddingTop", "_paddingBottom", "_paddingLeft", "_paddingRight"],
|
|
4
|
+
_excluded2 = ["_paddingTop", "_paddingBottom", "_position"];
|
|
5
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7
7
|
import { B100, N0, N10, N20, N30, N100, R50, R400, N90 } from '@atlaskit/theme/colors';
|
|
@@ -10,7 +10,7 @@ import { mergeStyles } from '@atlaskit/select';
|
|
|
10
10
|
export var BORDER_PADDING = "var(--ds-space-075, 6px)";
|
|
11
11
|
export var AVATAR_PADDING = 6;
|
|
12
12
|
export var INDICATOR_WIDTH = 39;
|
|
13
|
-
export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideStyles, isVisualRefresh, isPopupStyles, height) {
|
|
13
|
+
export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideStyles, isVisualRefresh, isPopupStyles, height, minHeight) {
|
|
14
14
|
var styles = {
|
|
15
15
|
menu: function menu(css, state) {
|
|
16
16
|
return _objectSpread(_objectSpread({}, css), {}, {
|
|
@@ -38,17 +38,17 @@ export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideS
|
|
|
38
38
|
backgroundColor: state.selectProps.subtle && state.selectProps.hoveringClearIndicator ? "var(--ds-background-danger, ".concat(R50, ")") : state.isFocused ? css[':hover'] ? "var(--ds-background-input, ".concat(css[':hover'].backgroundColor, ")") : "var(--ds-background-input, ".concat(N0, ")") : state.isDisabled ? "var(--ds-background-disabled, ".concat(N10, ")") : "var(--ds-background-input-hovered, ".concat(N30, ")")
|
|
39
39
|
}),
|
|
40
40
|
padding: 0,
|
|
41
|
-
minHeight: height || isCompact ? 'none' : 44,
|
|
41
|
+
minHeight: minHeight ? minHeight : height || isCompact ? 'none' : 44,
|
|
42
42
|
/* IE 11 needs to set height explicitly to be vertical align when being in not compact mode */
|
|
43
43
|
height: height ? height : isCompact || isMulti ? '100%' : 44,
|
|
44
44
|
maxWidth: '100%'
|
|
45
45
|
});
|
|
46
46
|
},
|
|
47
47
|
clearIndicator: function clearIndicator(_ref) {
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
var _paddingTop = _ref._paddingTop,
|
|
49
|
+
_paddingBottom = _ref._paddingBottom,
|
|
50
|
+
_paddingLeft = _ref._paddingLeft,
|
|
51
|
+
_paddingRight = _ref._paddingRight,
|
|
52
52
|
css = _objectWithoutProperties(_ref, _excluded);
|
|
53
53
|
return _objectSpread(_objectSpread({}, css), {}, {
|
|
54
54
|
// By default show clear indicator, except for on devices where "hover" is supported.
|
|
@@ -71,9 +71,9 @@ export var getStyles = memoizeOne(function (width, isMulti, isCompact, overrideS
|
|
|
71
71
|
});
|
|
72
72
|
},
|
|
73
73
|
valueContainer: function valueContainer(_ref2, state) {
|
|
74
|
-
var
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
var _paddingTop = _ref2._paddingTop,
|
|
75
|
+
_paddingBottom = _ref2._paddingBottom,
|
|
76
|
+
_position = _ref2._position,
|
|
77
77
|
css = _objectWithoutProperties(_ref2, _excluded2);
|
|
78
78
|
var isMulti = state.selectProps.isMulti;
|
|
79
79
|
return _objectSpread(_objectSpread({}, css), {}, {
|
|
@@ -49,7 +49,6 @@ export declare class BaseUserPickerWithoutAnalytics extends React.Component<Base
|
|
|
49
49
|
private get isMenuOpenOnClickForSingleSelect();
|
|
50
50
|
abortOptionsShownUfoExperience: () => void;
|
|
51
51
|
startOptionsShownUfoExperience: () => void;
|
|
52
|
-
private get isCreateTeamA11yEnabled();
|
|
53
52
|
private executeLoadOptions;
|
|
54
53
|
private handleFocus;
|
|
55
54
|
private resetInputState;
|
|
@@ -78,7 +77,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
78
77
|
ariaDescribedBy?: string;
|
|
79
78
|
ariaLabel?: string;
|
|
80
79
|
ariaLabelledBy?: string;
|
|
81
|
-
ariaLive?:
|
|
80
|
+
ariaLive?: 'polite' | 'off' | 'assertive';
|
|
82
81
|
autoFocus?: boolean;
|
|
83
82
|
captureMenuScroll?: boolean;
|
|
84
83
|
clearValueLabel?: string;
|
|
@@ -90,7 +89,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
90
89
|
fieldId: string | null;
|
|
91
90
|
footer?: React.ReactNode;
|
|
92
91
|
forwardedRef?: React.ForwardedRef<UserPickerRef>;
|
|
93
|
-
groupByTypeOrder?: NonNullable<OptionData[
|
|
92
|
+
groupByTypeOrder?: NonNullable<OptionData['type']>[];
|
|
94
93
|
header?: React.ReactNode;
|
|
95
94
|
height?: number | string;
|
|
96
95
|
includeTeamsUpdates?: boolean;
|
|
@@ -113,7 +112,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
113
112
|
menuIsOpen?: boolean;
|
|
114
113
|
menuMinWidth?: number;
|
|
115
114
|
menuPortalTarget?: HTMLElement;
|
|
116
|
-
menuPosition?:
|
|
115
|
+
menuPosition?: 'absolute' | 'fixed';
|
|
117
116
|
menuShouldBlockScroll?: boolean;
|
|
118
117
|
name?: string;
|
|
119
118
|
noBorder?: boolean;
|
|
@@ -133,14 +132,14 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
133
132
|
openMenuOnClick?: boolean;
|
|
134
133
|
options?: OptionData[];
|
|
135
134
|
placeholder?: React.ReactNode;
|
|
136
|
-
placeholderAvatar?:
|
|
135
|
+
placeholderAvatar?: 'person' | 'team';
|
|
137
136
|
popupSelectProps?: PopupSelectProps<OptionData>;
|
|
138
137
|
required?: boolean;
|
|
139
138
|
search?: string;
|
|
140
139
|
setIsFooterFocused?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
141
140
|
setIsHeaderFocused?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
142
141
|
showClearIndicator?: boolean;
|
|
143
|
-
strategy?:
|
|
142
|
+
strategy?: 'fixed' | 'absolute';
|
|
144
143
|
styles?: StylesConfig;
|
|
145
144
|
subtle?: boolean;
|
|
146
145
|
suggestEmailsForDomain?: string;
|
|
@@ -161,7 +160,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
161
160
|
*/
|
|
162
161
|
UNSAFE_hasDraggableParentComponent?: boolean;
|
|
163
162
|
width: string | number;
|
|
164
|
-
}, keyof WithAnalyticsEventsProps>,
|
|
163
|
+
}, keyof WithAnalyticsEventsProps>, 'options' | 'noOptionsMessage' | 'placeholder' | 'addMoreMessage' | 'allowEmail' | 'anchor' | 'appearance' | 'ariaDescribedBy' | 'ariaLabel' | 'ariaLabelledBy' | 'ariaLive' | 'autoFocus' | 'captureMenuScroll' | 'clearValueLabel' | 'closeMenuOnScroll' | 'components' | 'defaultValue' | 'disableInput' | 'emailLabel' | 'fieldId' | 'footer' | 'forwardedRef' | 'groupByTypeOrder' | 'header' | 'height' | 'includeTeamsUpdates' | 'inputId' | 'isDisabled' | 'isFooterFocused' | 'isInvalid' | 'isLoading' | 'isValidEmail' | 'loadOptions' | 'loadUserSource' | 'maxOptions' | 'maxPickerHeight' | 'menuIsOpen' | 'menuMinWidth' | 'menuPortalTarget' | 'menuPosition' | 'menuShouldBlockScroll' | 'name' | 'onBlur' | 'onChange' | 'onClear' | 'onClose' | 'onFocus' | 'onInputChange' | 'onKeyDown' | 'onOpen' | 'onSelection' | 'open' | 'placeholderAvatar' | 'popupSelectProps' | 'required' | 'search' | 'setIsFooterFocused' | 'showClearIndicator' | 'strategy' | 'styles' | 'suggestEmailsForDomain' | 'UNSAFE_hasDraggableParentComponent' | 'value' | 'width' | 'pickerProps' | 'SelectComponent'> & {
|
|
165
164
|
isClearable?: boolean | undefined;
|
|
166
165
|
isMulti?: boolean | undefined;
|
|
167
166
|
loadOptionsErrorMessage?: ((value: {
|
|
@@ -64,6 +64,7 @@ export declare const PopupUserPicker: React.ForwardRefExoticComponent<Omit<Pick<
|
|
|
64
64
|
menuPortalTarget?: HTMLElement;
|
|
65
65
|
menuPosition?: "absolute" | "fixed";
|
|
66
66
|
menuShouldBlockScroll?: boolean;
|
|
67
|
+
minHeight?: number | string;
|
|
67
68
|
name?: string;
|
|
68
69
|
noBorder?: boolean;
|
|
69
70
|
noOptionsMessage?: ((value: {
|
|
@@ -167,6 +168,7 @@ export declare const PopupUserPicker: React.ForwardRefExoticComponent<Omit<Pick<
|
|
|
167
168
|
maxOptions?: number | undefined;
|
|
168
169
|
maxPickerHeight?: number | undefined;
|
|
169
170
|
menuMinWidth?: number | undefined;
|
|
171
|
+
minHeight?: number | string | undefined;
|
|
170
172
|
noBorder?: boolean | undefined;
|
|
171
173
|
onClear?: import("..").OnPicker | undefined;
|
|
172
174
|
onClose?: import("..").OnPicker | undefined;
|
|
@@ -55,6 +55,7 @@ export declare const UserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
55
55
|
menuPortalTarget?: HTMLElement;
|
|
56
56
|
menuPosition?: "absolute" | "fixed";
|
|
57
57
|
menuShouldBlockScroll?: boolean;
|
|
58
|
+
minHeight?: number | string;
|
|
58
59
|
name?: string;
|
|
59
60
|
noBorder?: boolean;
|
|
60
61
|
noOptionsMessage?: ((value: {
|
|
@@ -88,7 +89,7 @@ export declare const UserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
88
89
|
UNSAFE_hasDraggableParentComponent?: boolean;
|
|
89
90
|
value?: import("..").Value;
|
|
90
91
|
width?: number | string;
|
|
91
|
-
}, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "placeholder" | "isDisabled" | "onChange" | "onInputChange" | "value" | "appearance" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isClearable" | "isInvalid" | "isLoading" | "menuIsOpen" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "name" | "noOptionsMessage" | "onBlur" | "onFocus" | "onKeyDown" | "openMenuOnClick" | "options" | "styles" | "required" | "search" | "anchor" | "addMoreMessage" | "allowEmail" | "ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "ariaLive" | "clearValueLabel" | "defaultValue" | "disableInput" | "emailLabel" | "fieldId" | "footer" | "forwardedRef" | "groupByTypeOrder" | "header" | "height" | "includeTeamsUpdates" | "isFooterFocused" | "isHeaderFocused" | "isValidEmail" | "loadOptions" | "loadOptionsErrorMessage" | "loadUserSource" | "maxOptions" | "maxPickerHeight" | "menuMinWidth" | "noBorder" | "onClear" | "onClose" | "onOpen" | "onSelection" | "open" | "placeholderAvatar" | "popupSelectProps" | "setIsFooterFocused" | "setIsHeaderFocused" | "showClearIndicator" | "strategy" | "subtle" | "suggestEmailsForDomain" | "textFieldBackgroundColor" | "UNSAFE_hasDraggableParentComponent"> & {
|
|
92
|
+
}, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "placeholder" | "isDisabled" | "onChange" | "onInputChange" | "value" | "appearance" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isClearable" | "isInvalid" | "isLoading" | "menuIsOpen" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "name" | "noOptionsMessage" | "onBlur" | "onFocus" | "onKeyDown" | "openMenuOnClick" | "options" | "styles" | "required" | "search" | "anchor" | "addMoreMessage" | "allowEmail" | "ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "ariaLive" | "clearValueLabel" | "defaultValue" | "disableInput" | "emailLabel" | "fieldId" | "footer" | "forwardedRef" | "groupByTypeOrder" | "header" | "height" | "includeTeamsUpdates" | "isFooterFocused" | "isHeaderFocused" | "isValidEmail" | "loadOptions" | "loadOptionsErrorMessage" | "loadUserSource" | "maxOptions" | "maxPickerHeight" | "menuMinWidth" | "minHeight" | "noBorder" | "onClear" | "onClose" | "onOpen" | "onSelection" | "open" | "placeholderAvatar" | "popupSelectProps" | "setIsFooterFocused" | "setIsHeaderFocused" | "showClearIndicator" | "strategy" | "subtle" | "suggestEmailsForDomain" | "textFieldBackgroundColor" | "UNSAFE_hasDraggableParentComponent"> & {
|
|
92
93
|
isMulti?: boolean | undefined;
|
|
93
94
|
width?: number | string | undefined;
|
|
94
95
|
} & {} & React.RefAttributes<any>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type MemoizedFn } from 'memoize-one';
|
|
2
2
|
import { type Placement } from '@atlaskit/popper';
|
|
3
3
|
import { type Target, type BoundariesElement, type RootBoundary } from '../types';
|
|
4
|
-
export declare const getPopupProps: MemoizedFn<(width: string | number, target: Target, onFlip: (data: any) => any, boundariesElement?: BoundariesElement, offset?: number[], placement?: Placement, rootBoundary?: RootBoundary, shouldFlip?: boolean, popupTitle?: string, strategy?:
|
|
4
|
+
export declare const getPopupProps: MemoizedFn<(width: string | number, target: Target, onFlip: (data: any) => any, boundariesElement?: BoundariesElement, offset?: number[], placement?: Placement, rootBoundary?: RootBoundary, shouldFlip?: boolean, popupTitle?: string, strategy?: 'fixed' | 'absolute') => {
|
|
5
5
|
autoFocus: boolean;
|
|
6
6
|
controlShouldRenderValue: boolean;
|
|
7
7
|
maxMenuWidth: string | number;
|
|
@@ -41,7 +41,7 @@ export declare const getPopupProps: MemoizedFn<(width: string | number, target:
|
|
|
41
41
|
order?: undefined;
|
|
42
42
|
})[];
|
|
43
43
|
placement: Placement;
|
|
44
|
-
strategy:
|
|
44
|
+
strategy: 'fixed' | 'absolute';
|
|
45
45
|
};
|
|
46
46
|
popupTitle: string | undefined;
|
|
47
47
|
searchThreshold: number;
|
|
@@ -2,5 +2,5 @@ import { type StylesConfig } from '@atlaskit/select';
|
|
|
2
2
|
export declare const BORDER_PADDING: "var(--ds-space-075)";
|
|
3
3
|
export declare const AVATAR_PADDING = 6;
|
|
4
4
|
export declare const INDICATOR_WIDTH = 39;
|
|
5
|
-
export declare const getStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean, isCompact?: boolean, overrideStyles?: StylesConfig, isVisualRefresh?: boolean, isPopupStyles?: boolean, height?: number | string) => StylesConfig>;
|
|
5
|
+
export declare const getStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean, isCompact?: boolean, overrideStyles?: StylesConfig, isVisualRefresh?: boolean, isPopupStyles?: boolean, height?: number | string, minHeight?: number | string) => StylesConfig>;
|
|
6
6
|
export declare const getPopupStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean, overrideStyles?: StylesConfig, isVisualRefresh?: boolean) => StylesConfig>;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -125,6 +125,8 @@ export type UserPickerProps = WithAnalyticsEventsProps & {
|
|
|
125
125
|
menuPosition?: 'absolute' | 'fixed';
|
|
126
126
|
/** Whether to block scrolling actions */
|
|
127
127
|
menuShouldBlockScroll?: boolean;
|
|
128
|
+
/** Sets the minimum height of the user picker. If not set, the minimum height will be based on the "height" prop then "compact" or "normal" appearance if height is not set. */
|
|
129
|
+
minHeight?: number | string;
|
|
128
130
|
/** Name to use for input element. */
|
|
129
131
|
name?: string;
|
|
130
132
|
/** Display the picker with no border. */
|
|
@@ -49,7 +49,6 @@ export declare class BaseUserPickerWithoutAnalytics extends React.Component<Base
|
|
|
49
49
|
private get isMenuOpenOnClickForSingleSelect();
|
|
50
50
|
abortOptionsShownUfoExperience: () => void;
|
|
51
51
|
startOptionsShownUfoExperience: () => void;
|
|
52
|
-
private get isCreateTeamA11yEnabled();
|
|
53
52
|
private executeLoadOptions;
|
|
54
53
|
private handleFocus;
|
|
55
54
|
private resetInputState;
|
|
@@ -78,7 +77,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
78
77
|
ariaDescribedBy?: string;
|
|
79
78
|
ariaLabel?: string;
|
|
80
79
|
ariaLabelledBy?: string;
|
|
81
|
-
ariaLive?:
|
|
80
|
+
ariaLive?: 'polite' | 'off' | 'assertive';
|
|
82
81
|
autoFocus?: boolean;
|
|
83
82
|
captureMenuScroll?: boolean;
|
|
84
83
|
clearValueLabel?: string;
|
|
@@ -90,7 +89,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
90
89
|
fieldId: string | null;
|
|
91
90
|
footer?: React.ReactNode;
|
|
92
91
|
forwardedRef?: React.ForwardedRef<UserPickerRef>;
|
|
93
|
-
groupByTypeOrder?: NonNullable<OptionData[
|
|
92
|
+
groupByTypeOrder?: NonNullable<OptionData['type']>[];
|
|
94
93
|
header?: React.ReactNode;
|
|
95
94
|
height?: number | string;
|
|
96
95
|
includeTeamsUpdates?: boolean;
|
|
@@ -113,7 +112,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
113
112
|
menuIsOpen?: boolean;
|
|
114
113
|
menuMinWidth?: number;
|
|
115
114
|
menuPortalTarget?: HTMLElement;
|
|
116
|
-
menuPosition?:
|
|
115
|
+
menuPosition?: 'absolute' | 'fixed';
|
|
117
116
|
menuShouldBlockScroll?: boolean;
|
|
118
117
|
name?: string;
|
|
119
118
|
noBorder?: boolean;
|
|
@@ -133,14 +132,14 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
133
132
|
openMenuOnClick?: boolean;
|
|
134
133
|
options?: OptionData[];
|
|
135
134
|
placeholder?: React.ReactNode;
|
|
136
|
-
placeholderAvatar?:
|
|
135
|
+
placeholderAvatar?: 'person' | 'team';
|
|
137
136
|
popupSelectProps?: PopupSelectProps<OptionData>;
|
|
138
137
|
required?: boolean;
|
|
139
138
|
search?: string;
|
|
140
139
|
setIsFooterFocused?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
141
140
|
setIsHeaderFocused?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
142
141
|
showClearIndicator?: boolean;
|
|
143
|
-
strategy?:
|
|
142
|
+
strategy?: 'fixed' | 'absolute';
|
|
144
143
|
styles?: StylesConfig;
|
|
145
144
|
subtle?: boolean;
|
|
146
145
|
suggestEmailsForDomain?: string;
|
|
@@ -161,7 +160,7 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
161
160
|
*/
|
|
162
161
|
UNSAFE_hasDraggableParentComponent?: boolean;
|
|
163
162
|
width: string | number;
|
|
164
|
-
}, keyof WithAnalyticsEventsProps>,
|
|
163
|
+
}, keyof WithAnalyticsEventsProps>, 'options' | 'noOptionsMessage' | 'placeholder' | 'addMoreMessage' | 'allowEmail' | 'anchor' | 'appearance' | 'ariaDescribedBy' | 'ariaLabel' | 'ariaLabelledBy' | 'ariaLive' | 'autoFocus' | 'captureMenuScroll' | 'clearValueLabel' | 'closeMenuOnScroll' | 'components' | 'defaultValue' | 'disableInput' | 'emailLabel' | 'fieldId' | 'footer' | 'forwardedRef' | 'groupByTypeOrder' | 'header' | 'height' | 'includeTeamsUpdates' | 'inputId' | 'isDisabled' | 'isFooterFocused' | 'isInvalid' | 'isLoading' | 'isValidEmail' | 'loadOptions' | 'loadUserSource' | 'maxOptions' | 'maxPickerHeight' | 'menuIsOpen' | 'menuMinWidth' | 'menuPortalTarget' | 'menuPosition' | 'menuShouldBlockScroll' | 'name' | 'onBlur' | 'onChange' | 'onClear' | 'onClose' | 'onFocus' | 'onInputChange' | 'onKeyDown' | 'onOpen' | 'onSelection' | 'open' | 'placeholderAvatar' | 'popupSelectProps' | 'required' | 'search' | 'setIsFooterFocused' | 'showClearIndicator' | 'strategy' | 'styles' | 'suggestEmailsForDomain' | 'UNSAFE_hasDraggableParentComponent' | 'value' | 'width' | 'pickerProps' | 'SelectComponent'> & {
|
|
165
164
|
isClearable?: boolean | undefined;
|
|
166
165
|
isMulti?: boolean | undefined;
|
|
167
166
|
loadOptionsErrorMessage?: ((value: {
|
|
@@ -64,6 +64,7 @@ export declare const PopupUserPicker: React.ForwardRefExoticComponent<Omit<Pick<
|
|
|
64
64
|
menuPortalTarget?: HTMLElement;
|
|
65
65
|
menuPosition?: "absolute" | "fixed";
|
|
66
66
|
menuShouldBlockScroll?: boolean;
|
|
67
|
+
minHeight?: number | string;
|
|
67
68
|
name?: string;
|
|
68
69
|
noBorder?: boolean;
|
|
69
70
|
noOptionsMessage?: ((value: {
|
|
@@ -173,6 +174,7 @@ export declare const PopupUserPicker: React.ForwardRefExoticComponent<Omit<Pick<
|
|
|
173
174
|
maxOptions?: number | undefined;
|
|
174
175
|
maxPickerHeight?: number | undefined;
|
|
175
176
|
menuMinWidth?: number | undefined;
|
|
177
|
+
minHeight?: number | string | undefined;
|
|
176
178
|
noBorder?: boolean | undefined;
|
|
177
179
|
onClear?: import("..").OnPicker | undefined;
|
|
178
180
|
onClose?: import("..").OnPicker | undefined;
|
|
@@ -55,6 +55,7 @@ export declare const UserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
55
55
|
menuPortalTarget?: HTMLElement;
|
|
56
56
|
menuPosition?: "absolute" | "fixed";
|
|
57
57
|
menuShouldBlockScroll?: boolean;
|
|
58
|
+
minHeight?: number | string;
|
|
58
59
|
name?: string;
|
|
59
60
|
noBorder?: boolean;
|
|
60
61
|
noOptionsMessage?: ((value: {
|
|
@@ -88,7 +89,7 @@ export declare const UserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
|
|
|
88
89
|
UNSAFE_hasDraggableParentComponent?: boolean;
|
|
89
90
|
value?: import("..").Value;
|
|
90
91
|
width?: number | string;
|
|
91
|
-
}, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "placeholder" | "isDisabled" | "onChange" | "onInputChange" | "value" | "appearance" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isClearable" | "isInvalid" | "isLoading" | "menuIsOpen" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "name" | "noOptionsMessage" | "onBlur" | "onFocus" | "onKeyDown" | "openMenuOnClick" | "options" | "styles" | "required" | "search" | "anchor" | "addMoreMessage" | "allowEmail" | "ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "ariaLive" | "clearValueLabel" | "defaultValue" | "disableInput" | "emailLabel" | "fieldId" | "footer" | "forwardedRef" | "groupByTypeOrder" | "header" | "height" | "includeTeamsUpdates" | "isFooterFocused" | "isHeaderFocused" | "isValidEmail" | "loadOptions" | "loadOptionsErrorMessage" | "loadUserSource" | "maxOptions" | "maxPickerHeight" | "menuMinWidth" | "noBorder" | "onClear" | "onClose" | "onOpen" | "onSelection" | "open" | "placeholderAvatar" | "popupSelectProps" | "setIsFooterFocused" | "setIsHeaderFocused" | "showClearIndicator" | "strategy" | "subtle" | "suggestEmailsForDomain" | "textFieldBackgroundColor" | "UNSAFE_hasDraggableParentComponent"> & {
|
|
92
|
+
}, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "placeholder" | "isDisabled" | "onChange" | "onInputChange" | "value" | "appearance" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isClearable" | "isInvalid" | "isLoading" | "menuIsOpen" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "name" | "noOptionsMessage" | "onBlur" | "onFocus" | "onKeyDown" | "openMenuOnClick" | "options" | "styles" | "required" | "search" | "anchor" | "addMoreMessage" | "allowEmail" | "ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "ariaLive" | "clearValueLabel" | "defaultValue" | "disableInput" | "emailLabel" | "fieldId" | "footer" | "forwardedRef" | "groupByTypeOrder" | "header" | "height" | "includeTeamsUpdates" | "isFooterFocused" | "isHeaderFocused" | "isValidEmail" | "loadOptions" | "loadOptionsErrorMessage" | "loadUserSource" | "maxOptions" | "maxPickerHeight" | "menuMinWidth" | "minHeight" | "noBorder" | "onClear" | "onClose" | "onOpen" | "onSelection" | "open" | "placeholderAvatar" | "popupSelectProps" | "setIsFooterFocused" | "setIsHeaderFocused" | "showClearIndicator" | "strategy" | "subtle" | "suggestEmailsForDomain" | "textFieldBackgroundColor" | "UNSAFE_hasDraggableParentComponent"> & {
|
|
92
93
|
isMulti?: boolean | undefined;
|
|
93
94
|
width?: number | string | undefined;
|
|
94
95
|
} & {} & React.RefAttributes<any>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type MemoizedFn } from 'memoize-one';
|
|
2
2
|
import { type Placement } from '@atlaskit/popper';
|
|
3
3
|
import { type Target, type BoundariesElement, type RootBoundary } from '../types';
|
|
4
|
-
export declare const getPopupProps: MemoizedFn<(width: string | number, target: Target, onFlip: (data: any) => any, boundariesElement?: BoundariesElement, offset?: number[], placement?: Placement, rootBoundary?: RootBoundary, shouldFlip?: boolean, popupTitle?: string, strategy?:
|
|
4
|
+
export declare const getPopupProps: MemoizedFn<(width: string | number, target: Target, onFlip: (data: any) => any, boundariesElement?: BoundariesElement, offset?: number[], placement?: Placement, rootBoundary?: RootBoundary, shouldFlip?: boolean, popupTitle?: string, strategy?: 'fixed' | 'absolute') => {
|
|
5
5
|
autoFocus: boolean;
|
|
6
6
|
controlShouldRenderValue: boolean;
|
|
7
7
|
maxMenuWidth: string | number;
|
|
@@ -41,7 +41,7 @@ export declare const getPopupProps: MemoizedFn<(width: string | number, target:
|
|
|
41
41
|
order?: undefined;
|
|
42
42
|
})[];
|
|
43
43
|
placement: Placement;
|
|
44
|
-
strategy:
|
|
44
|
+
strategy: 'fixed' | 'absolute';
|
|
45
45
|
};
|
|
46
46
|
popupTitle: string | undefined;
|
|
47
47
|
searchThreshold: number;
|
|
@@ -2,5 +2,5 @@ import { type StylesConfig } from '@atlaskit/select';
|
|
|
2
2
|
export declare const BORDER_PADDING: "var(--ds-space-075)";
|
|
3
3
|
export declare const AVATAR_PADDING = 6;
|
|
4
4
|
export declare const INDICATOR_WIDTH = 39;
|
|
5
|
-
export declare const getStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean, isCompact?: boolean, overrideStyles?: StylesConfig, isVisualRefresh?: boolean, isPopupStyles?: boolean, height?: number | string) => StylesConfig>;
|
|
5
|
+
export declare const getStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean, isCompact?: boolean, overrideStyles?: StylesConfig, isVisualRefresh?: boolean, isPopupStyles?: boolean, height?: number | string, minHeight?: number | string) => StylesConfig>;
|
|
6
6
|
export declare const getPopupStyles: import("memoize-one").MemoizedFn<(width: string | number, isMulti?: boolean, overrideStyles?: StylesConfig, isVisualRefresh?: boolean) => StylesConfig>;
|
|
@@ -125,6 +125,8 @@ export type UserPickerProps = WithAnalyticsEventsProps & {
|
|
|
125
125
|
menuPosition?: 'absolute' | 'fixed';
|
|
126
126
|
/** Whether to block scrolling actions */
|
|
127
127
|
menuShouldBlockScroll?: boolean;
|
|
128
|
+
/** Sets the minimum height of the user picker. If not set, the minimum height will be based on the "height" prop then "compact" or "normal" appearance if height is not set. */
|
|
129
|
+
minHeight?: number | string;
|
|
128
130
|
/** Name to use for input element. */
|
|
129
131
|
name?: string;
|
|
130
132
|
/** Display the picker with no border. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/user-picker",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.23.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/"
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@atlaskit/afm-i18n-platform-elements-user-picker": "2.7.0",
|
|
46
46
|
"@atlaskit/analytics-next": "^11.1.0",
|
|
47
|
-
"@atlaskit/avatar": "^25.
|
|
47
|
+
"@atlaskit/avatar": "^25.8.0",
|
|
48
48
|
"@atlaskit/feature-gate-js-client": "^5.5.0",
|
|
49
|
-
"@atlaskit/icon": "^
|
|
49
|
+
"@atlaskit/icon": "^32.0.0",
|
|
50
50
|
"@atlaskit/logo": "^19.10.0",
|
|
51
51
|
"@atlaskit/lozenge": "^13.4.0",
|
|
52
52
|
"@atlaskit/people-teams-ui-public": "^3.7.0",
|
|
@@ -118,9 +118,6 @@
|
|
|
118
118
|
},
|
|
119
119
|
"jira_ai_agent_avatar_user_picker_user_option": {
|
|
120
120
|
"type": "boolean"
|
|
121
|
-
},
|
|
122
|
-
"a11y-create-team-is-not-focusable-and-has-no-btn": {
|
|
123
|
-
"type": "boolean"
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
123
|
}
|