@atlaskit/user-picker 11.20.3 → 11.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/user-picker
2
2
 
3
+ ## 11.21.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`9889f45fc6eca`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9889f45fc6eca) -
8
+ fix optionData.data type for user type
9
+
10
+ ## 11.20.4
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
3
16
  ## 11.20.3
4
17
 
5
18
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "../../../../tsconfig.entry-points.jira.json",
2
+ "extends": "../../../../tsconfig.local-consumption.json",
3
3
  "compilerOptions": {
4
4
  "declaration": true,
5
5
  "target": "es5",
@@ -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 = "11.20.2";
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}$/;
@@ -61,8 +61,11 @@ var TeamOption = exports.TeamOption = /*#__PURE__*/function (_React$PureComponen
61
61
  memberCount = _this$props2$team.memberCount,
62
62
  includesYou = _this$props2$team.includesYou,
63
63
  verified = _this$props2$team.verified,
64
+ teamTypeName = _this$props2$team.teamTypeName,
64
65
  includeTeamsUpdates = _this$props2.includeTeamsUpdates;
65
66
  var isVerified = includeTeamsUpdates && verified;
67
+ var hasTeamTypeName = Boolean(teamTypeName);
68
+ var verifiedIcon = isVerified ? _this.renderVerifiedIcon() : null;
66
69
 
67
70
  // if Member count is missing, do not show the byline, regardless of the availability of includesYou
68
71
  if (memberCount === null || typeof memberCount === 'undefined') {
@@ -70,16 +73,18 @@ var TeamOption = exports.TeamOption = /*#__PURE__*/function (_React$PureComponen
70
73
  } else {
71
74
  if (includesYou === true) {
72
75
  if (memberCount > 50) {
73
- return _this.getBylineComponent(isSelected, isVerified ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialPlus50MembersWithYou, {
76
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialPlus50MembersWithYou, {
74
77
  values: {
75
- verifiedIcon: _this.renderVerifiedIcon()
78
+ verifiedIcon: verifiedIcon,
79
+ teamTypeName: teamTypeName
76
80
  }
77
81
  })) : (0, _react.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.plus50MembersWithYou));
78
82
  } else {
79
- return _this.getBylineComponent(isSelected, isVerified ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialMemberCountWithYou, {
83
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialMemberCountWithYou, {
80
84
  values: {
81
- verifiedIcon: _this.renderVerifiedIcon(),
82
- count: memberCount
85
+ verifiedIcon: verifiedIcon,
86
+ count: memberCount,
87
+ teamTypeName: teamTypeName
83
88
  }
84
89
  })) : (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.memberCountWithYou, {
85
90
  values: {
@@ -89,16 +94,18 @@ var TeamOption = exports.TeamOption = /*#__PURE__*/function (_React$PureComponen
89
94
  }
90
95
  } else {
91
96
  if (memberCount > 50) {
92
- return _this.getBylineComponent(isSelected, isVerified ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialPlus50MembersWithoutYou, {
97
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialPlus50MembersWithoutYou, {
93
98
  values: {
94
- verifiedIcon: _this.renderVerifiedIcon()
99
+ verifiedIcon: verifiedIcon,
100
+ teamTypeName: teamTypeName
95
101
  }
96
102
  })) : (0, _react.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.plus50MembersWithoutYou));
97
103
  } else {
98
- return _this.getBylineComponent(isSelected, isVerified ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialMemberCountWithoutYou, {
104
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.officialMemberCountWithoutYou, {
99
105
  values: {
100
- verifiedIcon: _this.renderVerifiedIcon(),
101
- count: memberCount
106
+ verifiedIcon: verifiedIcon,
107
+ count: memberCount,
108
+ teamTypeName: teamTypeName
102
109
  }
103
110
  })) : (0, _react.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.memberCountWithoutYou, {
104
111
  values: {
@@ -38,17 +38,17 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
38
38
  },
39
39
  officialTeamByline: {
40
40
  id: 'fabric.elements.user-picker.team.byline.official',
41
- defaultMessage: 'Official team {verifiedIcon}',
42
- description: 'Byline for official team'
41
+ defaultMessage: '{teamTypeName} {verifiedIcon}',
42
+ description: 'Byline for official/verified team with dynamic team type name'
43
43
  },
44
44
  officialMemberCountWithoutYou: {
45
45
  id: 'fabric.elements.user-picker.team.member.count.official',
46
- defaultMessage: 'Official team {verifiedIcon} • {count} {count, plural, one {member} other {members}}',
46
+ defaultMessage: '{teamTypeName} {verifiedIcon} • {count} {count, plural, one {member} other {members}}',
47
47
  description: 'Byline to show the number of members in the team when the current user is not a member of the team'
48
48
  },
49
49
  officialMemberCountWithYou: {
50
50
  id: 'fabric.elements.user-picker.team.member.count.official.including.you',
51
- defaultMessage: 'Official team {verifiedIcon} • {count} {count, plural, one {member} other {members}}, including you',
51
+ defaultMessage: '{teamTypeName} {verifiedIcon} • {count} {count, plural, one {member} other {members}}, including you',
52
52
  description: 'Byline to show the number of members in the team when the current user is also a member of the team'
53
53
  },
54
54
  memberCountWithoutYou: {
@@ -63,12 +63,12 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
63
63
  },
64
64
  officialPlus50MembersWithoutYou: {
65
65
  id: 'fabric.elements.user-picker.team.member.50plus.official',
66
- defaultMessage: 'Official team {verifiedIcon} • 50+ members',
66
+ defaultMessage: '{teamTypeName} {verifiedIcon} • 50+ members',
67
67
  description: 'Byline to show the number of members in the team when the number exceeds 50'
68
68
  },
69
69
  officialPlus50MembersWithYou: {
70
70
  id: 'fabric.elements.user-picker.team.member.50plus.official.including.you',
71
- defaultMessage: 'Official team {verifiedIcon} • 50+ members, including you',
71
+ defaultMessage: '{teamTypeName} {verifiedIcon} • 50+ members, including you',
72
72
  description: 'Byline to show the number of members in the team when the number exceeds 50 and also includes the current user'
73
73
  },
74
74
  plus50MembersWithoutYou: {
@@ -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 = "11.20.2";
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}$/;
@@ -45,11 +45,14 @@ export class TeamOption extends React.PureComponent {
45
45
  team: {
46
46
  memberCount,
47
47
  includesYou,
48
- verified
48
+ verified,
49
+ teamTypeName
49
50
  },
50
51
  includeTeamsUpdates
51
52
  } = this.props;
52
53
  const isVerified = includeTeamsUpdates && verified;
54
+ const hasTeamTypeName = Boolean(teamTypeName);
55
+ const verifiedIcon = isVerified ? this.renderVerifiedIcon() : null;
53
56
 
54
57
  // if Member count is missing, do not show the byline, regardless of the availability of includesYou
55
58
  if (memberCount === null || typeof memberCount === 'undefined') {
@@ -57,16 +60,18 @@ export class TeamOption extends React.PureComponent {
57
60
  } else {
58
61
  if (includesYou === true) {
59
62
  if (memberCount > 50) {
60
- return this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithYou, {
63
+ return this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithYou, {
61
64
  values: {
62
- verifiedIcon: this.renderVerifiedIcon()
65
+ verifiedIcon,
66
+ teamTypeName
63
67
  }
64
68
  })) : jsx(FormattedMessage, messages.plus50MembersWithYou));
65
69
  } else {
66
- return this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithYou, {
70
+ return this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithYou, {
67
71
  values: {
68
- verifiedIcon: this.renderVerifiedIcon(),
69
- count: memberCount
72
+ verifiedIcon,
73
+ count: memberCount,
74
+ teamTypeName
70
75
  }
71
76
  })) : jsx(FormattedMessage, _extends({}, messages.memberCountWithYou, {
72
77
  values: {
@@ -76,16 +81,18 @@ export class TeamOption extends React.PureComponent {
76
81
  }
77
82
  } else {
78
83
  if (memberCount > 50) {
79
- return this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithoutYou, {
84
+ return this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithoutYou, {
80
85
  values: {
81
- verifiedIcon: this.renderVerifiedIcon()
86
+ verifiedIcon,
87
+ teamTypeName
82
88
  }
83
89
  })) : jsx(FormattedMessage, messages.plus50MembersWithoutYou));
84
90
  } else {
85
- return this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithoutYou, {
91
+ return this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithoutYou, {
86
92
  values: {
87
- verifiedIcon: this.renderVerifiedIcon(),
88
- count: memberCount
93
+ verifiedIcon,
94
+ count: memberCount,
95
+ teamTypeName
89
96
  }
90
97
  })) : jsx(FormattedMessage, _extends({}, messages.memberCountWithoutYou, {
91
98
  values: {
@@ -32,17 +32,17 @@ export const messages = defineMessages({
32
32
  },
33
33
  officialTeamByline: {
34
34
  id: 'fabric.elements.user-picker.team.byline.official',
35
- defaultMessage: 'Official team {verifiedIcon}',
36
- description: 'Byline for official team'
35
+ defaultMessage: '{teamTypeName} {verifiedIcon}',
36
+ description: 'Byline for official/verified team with dynamic team type name'
37
37
  },
38
38
  officialMemberCountWithoutYou: {
39
39
  id: 'fabric.elements.user-picker.team.member.count.official',
40
- defaultMessage: 'Official team {verifiedIcon} • {count} {count, plural, one {member} other {members}}',
40
+ defaultMessage: '{teamTypeName} {verifiedIcon} • {count} {count, plural, one {member} other {members}}',
41
41
  description: 'Byline to show the number of members in the team when the current user is not a member of the team'
42
42
  },
43
43
  officialMemberCountWithYou: {
44
44
  id: 'fabric.elements.user-picker.team.member.count.official.including.you',
45
- defaultMessage: 'Official team {verifiedIcon} • {count} {count, plural, one {member} other {members}}, including you',
45
+ defaultMessage: '{teamTypeName} {verifiedIcon} • {count} {count, plural, one {member} other {members}}, including you',
46
46
  description: 'Byline to show the number of members in the team when the current user is also a member of the team'
47
47
  },
48
48
  memberCountWithoutYou: {
@@ -57,12 +57,12 @@ export const messages = defineMessages({
57
57
  },
58
58
  officialPlus50MembersWithoutYou: {
59
59
  id: 'fabric.elements.user-picker.team.member.50plus.official',
60
- defaultMessage: 'Official team {verifiedIcon} • 50+ members',
60
+ defaultMessage: '{teamTypeName} {verifiedIcon} • 50+ members',
61
61
  description: 'Byline to show the number of members in the team when the number exceeds 50'
62
62
  },
63
63
  officialPlus50MembersWithYou: {
64
64
  id: 'fabric.elements.user-picker.team.member.50plus.official.including.you',
65
- defaultMessage: 'Official team {verifiedIcon} • 50+ members, including you',
65
+ defaultMessage: '{teamTypeName} {verifiedIcon} • 50+ members, including you',
66
66
  description: 'Byline to show the number of members in the team when the number exceeds 50 and also includes the current user'
67
67
  },
68
68
  plus50MembersWithoutYou: {
@@ -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 = "11.20.2";
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}$/;
@@ -56,8 +56,11 @@ export var TeamOption = /*#__PURE__*/function (_React$PureComponent) {
56
56
  memberCount = _this$props2$team.memberCount,
57
57
  includesYou = _this$props2$team.includesYou,
58
58
  verified = _this$props2$team.verified,
59
+ teamTypeName = _this$props2$team.teamTypeName,
59
60
  includeTeamsUpdates = _this$props2.includeTeamsUpdates;
60
61
  var isVerified = includeTeamsUpdates && verified;
62
+ var hasTeamTypeName = Boolean(teamTypeName);
63
+ var verifiedIcon = isVerified ? _this.renderVerifiedIcon() : null;
61
64
 
62
65
  // if Member count is missing, do not show the byline, regardless of the availability of includesYou
63
66
  if (memberCount === null || typeof memberCount === 'undefined') {
@@ -65,16 +68,18 @@ export var TeamOption = /*#__PURE__*/function (_React$PureComponent) {
65
68
  } else {
66
69
  if (includesYou === true) {
67
70
  if (memberCount > 50) {
68
- return _this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithYou, {
71
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithYou, {
69
72
  values: {
70
- verifiedIcon: _this.renderVerifiedIcon()
73
+ verifiedIcon: verifiedIcon,
74
+ teamTypeName: teamTypeName
71
75
  }
72
76
  })) : jsx(FormattedMessage, messages.plus50MembersWithYou));
73
77
  } else {
74
- return _this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithYou, {
78
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithYou, {
75
79
  values: {
76
- verifiedIcon: _this.renderVerifiedIcon(),
77
- count: memberCount
80
+ verifiedIcon: verifiedIcon,
81
+ count: memberCount,
82
+ teamTypeName: teamTypeName
78
83
  }
79
84
  })) : jsx(FormattedMessage, _extends({}, messages.memberCountWithYou, {
80
85
  values: {
@@ -84,16 +89,18 @@ export var TeamOption = /*#__PURE__*/function (_React$PureComponent) {
84
89
  }
85
90
  } else {
86
91
  if (memberCount > 50) {
87
- return _this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithoutYou, {
92
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialPlus50MembersWithoutYou, {
88
93
  values: {
89
- verifiedIcon: _this.renderVerifiedIcon()
94
+ verifiedIcon: verifiedIcon,
95
+ teamTypeName: teamTypeName
90
96
  }
91
97
  })) : jsx(FormattedMessage, messages.plus50MembersWithoutYou));
92
98
  } else {
93
- return _this.getBylineComponent(isSelected, isVerified ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithoutYou, {
99
+ return _this.getBylineComponent(isSelected, hasTeamTypeName ? jsx(FormattedMessage, _extends({}, messages.officialMemberCountWithoutYou, {
94
100
  values: {
95
- verifiedIcon: _this.renderVerifiedIcon(),
96
- count: memberCount
101
+ verifiedIcon: verifiedIcon,
102
+ count: memberCount,
103
+ teamTypeName: teamTypeName
97
104
  }
98
105
  })) : jsx(FormattedMessage, _extends({}, messages.memberCountWithoutYou, {
99
106
  values: {
@@ -32,17 +32,17 @@ export var messages = defineMessages({
32
32
  },
33
33
  officialTeamByline: {
34
34
  id: 'fabric.elements.user-picker.team.byline.official',
35
- defaultMessage: 'Official team {verifiedIcon}',
36
- description: 'Byline for official team'
35
+ defaultMessage: '{teamTypeName} {verifiedIcon}',
36
+ description: 'Byline for official/verified team with dynamic team type name'
37
37
  },
38
38
  officialMemberCountWithoutYou: {
39
39
  id: 'fabric.elements.user-picker.team.member.count.official',
40
- defaultMessage: 'Official team {verifiedIcon} • {count} {count, plural, one {member} other {members}}',
40
+ defaultMessage: '{teamTypeName} {verifiedIcon} • {count} {count, plural, one {member} other {members}}',
41
41
  description: 'Byline to show the number of members in the team when the current user is not a member of the team'
42
42
  },
43
43
  officialMemberCountWithYou: {
44
44
  id: 'fabric.elements.user-picker.team.member.count.official.including.you',
45
- defaultMessage: 'Official team {verifiedIcon} • {count} {count, plural, one {member} other {members}}, including you',
45
+ defaultMessage: '{teamTypeName} {verifiedIcon} • {count} {count, plural, one {member} other {members}}, including you',
46
46
  description: 'Byline to show the number of members in the team when the current user is also a member of the team'
47
47
  },
48
48
  memberCountWithoutYou: {
@@ -57,12 +57,12 @@ export var messages = defineMessages({
57
57
  },
58
58
  officialPlus50MembersWithoutYou: {
59
59
  id: 'fabric.elements.user-picker.team.member.50plus.official',
60
- defaultMessage: 'Official team {verifiedIcon} • 50+ members',
60
+ defaultMessage: '{teamTypeName} {verifiedIcon} • 50+ members',
61
61
  description: 'Byline to show the number of members in the team when the number exceeds 50'
62
62
  },
63
63
  officialPlus50MembersWithYou: {
64
64
  id: 'fabric.elements.user-picker.team.member.50plus.official.including.you',
65
- defaultMessage: 'Official team {verifiedIcon} • 50+ members, including you',
65
+ defaultMessage: '{teamTypeName} {verifiedIcon} • 50+ members, including you',
66
66
  description: 'Byline to show the number of members in the team when the number exceeds 50 and also includes the current user'
67
67
  },
68
68
  plus50MembersWithoutYou: {
@@ -1,6 +1,9 @@
1
+ import { type WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
1
2
  import React from 'react';
2
- import type { Appearance, OptionData, UserPickerProps, UserPickerState } from '../types';
3
+ import type { Appearance, DefaultValue, LoadOptions, LoadUserSource, OnChange, OnInputChange, OnOption, OnPicker, OptionData, UserPickerProps, UserPickerRef, UserPickerState, Value } from '../types';
3
4
  import type { AriaAttributes } from 'react';
5
+ import type { SelectComponentsConfig, PopupSelectProps, StylesConfig } from '@atlaskit/select';
6
+ import type { EmailValidator } from './emailValidation';
4
7
  export type BaseUserPickerProps = UserPickerProps & {
5
8
  components: any;
6
9
  name?: string;
@@ -80,13 +83,13 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
80
83
  captureMenuScroll?: boolean;
81
84
  clearValueLabel?: string;
82
85
  closeMenuOnScroll?: boolean | EventListener;
83
- components?: import("@atlaskit/select").SelectComponentsConfig<OptionData, boolean>;
84
- defaultValue?: import("../types").DefaultValue;
86
+ components?: SelectComponentsConfig<OptionData, boolean>;
87
+ defaultValue?: DefaultValue;
85
88
  disableInput?: boolean;
86
89
  emailLabel?: string;
87
90
  fieldId: string | null;
88
91
  footer?: React.ReactNode;
89
- forwardedRef?: React.ForwardedRef<import("../types").UserPickerRef>;
92
+ forwardedRef?: React.ForwardedRef<UserPickerRef>;
90
93
  groupByTypeOrder?: NonNullable<OptionData["type"]>[];
91
94
  header?: React.ReactNode;
92
95
  height?: number | string;
@@ -98,12 +101,12 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
98
101
  isInvalid?: boolean;
99
102
  isLoading?: boolean;
100
103
  isMulti?: boolean;
101
- isValidEmail?: import("./emailValidation").EmailValidator;
102
- loadOptions?: import("../types").LoadOptions;
104
+ isValidEmail?: EmailValidator;
105
+ loadOptions?: LoadOptions;
103
106
  loadOptionsErrorMessage?: (value: {
104
107
  inputValue: string;
105
108
  }) => React.ReactNode;
106
- loadUserSource?: import("../types").LoadUserSource;
109
+ loadUserSource?: LoadUserSource;
107
110
  maxOptions?: number;
108
111
  maxPickerHeight?: number;
109
112
  menuIsOpen?: boolean;
@@ -116,32 +119,32 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
116
119
  noOptionsMessage?: ((value: {
117
120
  inputValue: string;
118
121
  }) => string | null | React.ReactNode) | null | React.ReactNode;
119
- onBlur?: import("../types").OnPicker;
120
- onChange?: import("../types").OnChange;
121
- onClear?: import("../types").OnPicker;
122
- onClose?: import("../types").OnPicker;
123
- onFocus?: import("../types").OnPicker;
124
- onInputChange?: import("../types").OnInputChange;
122
+ onBlur?: OnPicker;
123
+ onChange?: OnChange;
124
+ onClear?: OnPicker;
125
+ onClose?: OnPicker;
126
+ onFocus?: OnPicker;
127
+ onInputChange?: OnInputChange;
125
128
  onKeyDown?: (event: React.KeyboardEvent) => void;
126
- onOpen?: import("../types").OnPicker;
127
- onSelection?: import("../types").OnOption;
129
+ onOpen?: OnPicker;
130
+ onSelection?: OnOption;
128
131
  open?: boolean;
129
132
  openMenuOnClick?: boolean;
130
133
  options?: OptionData[];
131
134
  placeholder?: React.ReactNode;
132
135
  placeholderAvatar?: "person" | "team";
133
- popupSelectProps?: import("@atlaskit/select").PopupSelectProps<OptionData>;
136
+ popupSelectProps?: PopupSelectProps<OptionData>;
134
137
  required?: boolean;
135
138
  search?: string;
136
139
  setIsFooterFocused?: React.Dispatch<React.SetStateAction<boolean>>;
137
140
  showClearIndicator?: boolean;
138
141
  strategy?: "fixed" | "absolute";
139
- styles?: import("@atlaskit/select").StylesConfig;
142
+ styles?: StylesConfig;
140
143
  subtle?: boolean;
141
144
  suggestEmailsForDomain?: string;
142
145
  textFieldBackgroundColor?: boolean;
143
146
  UNSAFE_hasDraggableParentComponent?: boolean;
144
- value?: import("../types").Value;
147
+ value?: Value;
145
148
  width?: number | string;
146
149
  } & {
147
150
  components: any;
@@ -156,14 +159,14 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
156
159
  */
157
160
  UNSAFE_hasDraggableParentComponent?: boolean;
158
161
  width: string | number;
159
- }, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "placeholder" | "isDisabled" | "onChange" | "onInputChange" | "value" | "appearance" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isInvalid" | "isLoading" | "menuIsOpen" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "name" | "noOptionsMessage" | "onBlur" | "onFocus" | "onKeyDown" | "options" | "styles" | "required" | "search" | "anchor" | "addMoreMessage" | "allowEmail" | "ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "ariaLive" | "clearValueLabel" | "defaultValue" | "disableInput" | "emailLabel" | "fieldId" | "footer" | "forwardedRef" | "groupByTypeOrder" | "header" | "height" | "includeTeamsUpdates" | "isFooterFocused" | "isValidEmail" | "loadOptions" | "loadUserSource" | "maxOptions" | "maxPickerHeight" | "menuMinWidth" | "onClear" | "onClose" | "onOpen" | "onSelection" | "open" | "placeholderAvatar" | "popupSelectProps" | "setIsFooterFocused" | "showClearIndicator" | "strategy" | "suggestEmailsForDomain" | "UNSAFE_hasDraggableParentComponent" | "width" | "pickerProps" | "SelectComponent"> & {
162
+ }, 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"> & {
160
163
  isClearable?: boolean | undefined;
161
164
  isMulti?: boolean | undefined;
162
- openMenuOnClick?: boolean | undefined;
163
165
  loadOptionsErrorMessage?: ((value: {
164
166
  inputValue: string;
165
167
  }) => React.ReactNode) | undefined;
166
168
  noBorder?: boolean | undefined;
169
+ openMenuOnClick?: boolean | undefined;
167
170
  subtle?: boolean | undefined;
168
171
  textFieldBackgroundColor?: boolean | undefined;
169
172
  } & {} & React.RefAttributes<any>>;
@@ -1,48 +1,49 @@
1
+ import { type MemoizedFn } from 'memoize-one';
1
2
  import { type Placement } from '@atlaskit/popper';
2
3
  import { type Target, type BoundariesElement, type RootBoundary } from '../types';
3
- export declare const getPopupProps: import("memoize-one").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") => {
4
- searchThreshold: number;
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
+ autoFocus: boolean;
5
6
  controlShouldRenderValue: boolean;
6
- minMenuWidth: string | number;
7
7
  maxMenuWidth: string | number;
8
- autoFocus: boolean;
9
- target: Target;
10
- popupTitle: string | undefined;
8
+ minMenuWidth: string | number;
11
9
  popperProps: {
12
- placement: Placement;
13
- strategy: "fixed" | "absolute";
14
10
  modifiers: ({
11
+ enabled?: undefined;
12
+ fn?: undefined;
15
13
  name: string;
16
14
  options: {
15
+ boundary?: undefined;
17
16
  offset: number[] | undefined;
18
17
  rootBoundary?: undefined;
19
- boundary?: undefined;
20
18
  };
21
- enabled?: undefined;
22
19
  order?: undefined;
23
- fn?: undefined;
24
20
  } | {
25
- name: string;
26
21
  enabled: boolean;
27
- order: number;
28
22
  fn: (data: any) => any;
23
+ name: string;
29
24
  options?: undefined;
25
+ order: number;
30
26
  } | {
27
+ enabled?: undefined;
28
+ fn?: undefined;
31
29
  name: string;
32
30
  options: {
33
- rootBoundary: RootBoundary | undefined;
34
31
  boundary: BoundariesElement | undefined;
35
32
  offset?: undefined;
33
+ rootBoundary: RootBoundary | undefined;
36
34
  };
37
- enabled?: undefined;
38
35
  order?: undefined;
39
- fn?: undefined;
40
36
  } | {
41
- name: string;
42
37
  enabled: boolean | undefined;
38
+ fn?: undefined;
39
+ name: string;
43
40
  options?: undefined;
44
41
  order?: undefined;
45
- fn?: undefined;
46
42
  })[];
43
+ placement: Placement;
44
+ strategy: "fixed" | "absolute";
47
45
  };
46
+ popupTitle: string | undefined;
47
+ searchThreshold: number;
48
+ target: Target;
48
49
  }>;
@@ -270,6 +270,7 @@ export interface CustomHighlight {
270
270
  export interface OptionData {
271
271
  appType?: string | null;
272
272
  avatarUrl?: any;
273
+ data?: any;
273
274
  fixed?: boolean;
274
275
  icon?: ReactNode;
275
276
  iconColor?: string;
@@ -327,6 +328,7 @@ export interface Team extends OptionData {
327
328
  includeTeamsUpdates?: boolean;
328
329
  memberCount?: number;
329
330
  members?: TeamMember[];
331
+ teamTypeName?: string;
330
332
  type: 'team';
331
333
  verified?: boolean;
332
334
  }
@@ -1,6 +1,9 @@
1
+ import { type WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
1
2
  import React from 'react';
2
- import type { Appearance, OptionData, UserPickerProps, UserPickerState } from '../types';
3
+ import type { Appearance, DefaultValue, LoadOptions, LoadUserSource, OnChange, OnInputChange, OnOption, OnPicker, OptionData, UserPickerProps, UserPickerRef, UserPickerState, Value } from '../types';
3
4
  import type { AriaAttributes } from 'react';
5
+ import type { SelectComponentsConfig, PopupSelectProps, StylesConfig } from '@atlaskit/select';
6
+ import type { EmailValidator } from './emailValidation';
4
7
  export type BaseUserPickerProps = UserPickerProps & {
5
8
  components: any;
6
9
  name?: string;
@@ -80,13 +83,13 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
80
83
  captureMenuScroll?: boolean;
81
84
  clearValueLabel?: string;
82
85
  closeMenuOnScroll?: boolean | EventListener;
83
- components?: import("@atlaskit/select").SelectComponentsConfig<OptionData, boolean>;
84
- defaultValue?: import("../types").DefaultValue;
86
+ components?: SelectComponentsConfig<OptionData, boolean>;
87
+ defaultValue?: DefaultValue;
85
88
  disableInput?: boolean;
86
89
  emailLabel?: string;
87
90
  fieldId: string | null;
88
91
  footer?: React.ReactNode;
89
- forwardedRef?: React.ForwardedRef<import("../types").UserPickerRef>;
92
+ forwardedRef?: React.ForwardedRef<UserPickerRef>;
90
93
  groupByTypeOrder?: NonNullable<OptionData["type"]>[];
91
94
  header?: React.ReactNode;
92
95
  height?: number | string;
@@ -98,12 +101,12 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
98
101
  isInvalid?: boolean;
99
102
  isLoading?: boolean;
100
103
  isMulti?: boolean;
101
- isValidEmail?: import("./emailValidation").EmailValidator;
102
- loadOptions?: import("../types").LoadOptions;
104
+ isValidEmail?: EmailValidator;
105
+ loadOptions?: LoadOptions;
103
106
  loadOptionsErrorMessage?: (value: {
104
107
  inputValue: string;
105
108
  }) => React.ReactNode;
106
- loadUserSource?: import("../types").LoadUserSource;
109
+ loadUserSource?: LoadUserSource;
107
110
  maxOptions?: number;
108
111
  maxPickerHeight?: number;
109
112
  menuIsOpen?: boolean;
@@ -116,32 +119,32 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
116
119
  noOptionsMessage?: ((value: {
117
120
  inputValue: string;
118
121
  }) => string | null | React.ReactNode) | null | React.ReactNode;
119
- onBlur?: import("../types").OnPicker;
120
- onChange?: import("../types").OnChange;
121
- onClear?: import("../types").OnPicker;
122
- onClose?: import("../types").OnPicker;
123
- onFocus?: import("../types").OnPicker;
124
- onInputChange?: import("../types").OnInputChange;
122
+ onBlur?: OnPicker;
123
+ onChange?: OnChange;
124
+ onClear?: OnPicker;
125
+ onClose?: OnPicker;
126
+ onFocus?: OnPicker;
127
+ onInputChange?: OnInputChange;
125
128
  onKeyDown?: (event: React.KeyboardEvent) => void;
126
- onOpen?: import("../types").OnPicker;
127
- onSelection?: import("../types").OnOption;
129
+ onOpen?: OnPicker;
130
+ onSelection?: OnOption;
128
131
  open?: boolean;
129
132
  openMenuOnClick?: boolean;
130
133
  options?: OptionData[];
131
134
  placeholder?: React.ReactNode;
132
135
  placeholderAvatar?: "person" | "team";
133
- popupSelectProps?: import("@atlaskit/select").PopupSelectProps<OptionData>;
136
+ popupSelectProps?: PopupSelectProps<OptionData>;
134
137
  required?: boolean;
135
138
  search?: string;
136
139
  setIsFooterFocused?: React.Dispatch<React.SetStateAction<boolean>>;
137
140
  showClearIndicator?: boolean;
138
141
  strategy?: "fixed" | "absolute";
139
- styles?: import("@atlaskit/select").StylesConfig;
142
+ styles?: StylesConfig;
140
143
  subtle?: boolean;
141
144
  suggestEmailsForDomain?: string;
142
145
  textFieldBackgroundColor?: boolean;
143
146
  UNSAFE_hasDraggableParentComponent?: boolean;
144
- value?: import("../types").Value;
147
+ value?: Value;
145
148
  width?: number | string;
146
149
  } & {
147
150
  components: any;
@@ -156,14 +159,14 @@ export declare const BaseUserPicker: React.ForwardRefExoticComponent<Pick<Omit<{
156
159
  */
157
160
  UNSAFE_hasDraggableParentComponent?: boolean;
158
161
  width: string | number;
159
- }, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, "placeholder" | "isDisabled" | "onChange" | "onInputChange" | "value" | "appearance" | "autoFocus" | "captureMenuScroll" | "closeMenuOnScroll" | "components" | "inputId" | "isInvalid" | "isLoading" | "menuIsOpen" | "menuPosition" | "menuPortalTarget" | "menuShouldBlockScroll" | "name" | "noOptionsMessage" | "onBlur" | "onFocus" | "onKeyDown" | "options" | "styles" | "required" | "search" | "anchor" | "addMoreMessage" | "allowEmail" | "ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "ariaLive" | "clearValueLabel" | "defaultValue" | "disableInput" | "emailLabel" | "fieldId" | "footer" | "forwardedRef" | "groupByTypeOrder" | "header" | "height" | "includeTeamsUpdates" | "isFooterFocused" | "isValidEmail" | "loadOptions" | "loadUserSource" | "maxOptions" | "maxPickerHeight" | "menuMinWidth" | "onClear" | "onClose" | "onOpen" | "onSelection" | "open" | "placeholderAvatar" | "popupSelectProps" | "setIsFooterFocused" | "showClearIndicator" | "strategy" | "suggestEmailsForDomain" | "UNSAFE_hasDraggableParentComponent" | "width" | "pickerProps" | "SelectComponent"> & {
162
+ }, 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"> & {
160
163
  isClearable?: boolean | undefined;
161
164
  isMulti?: boolean | undefined;
162
- openMenuOnClick?: boolean | undefined;
163
165
  loadOptionsErrorMessage?: ((value: {
164
166
  inputValue: string;
165
167
  }) => React.ReactNode) | undefined;
166
168
  noBorder?: boolean | undefined;
169
+ openMenuOnClick?: boolean | undefined;
167
170
  subtle?: boolean | undefined;
168
171
  textFieldBackgroundColor?: boolean | undefined;
169
172
  } & {} & React.RefAttributes<any>>;
@@ -1,48 +1,49 @@
1
+ import { type MemoizedFn } from 'memoize-one';
1
2
  import { type Placement } from '@atlaskit/popper';
2
3
  import { type Target, type BoundariesElement, type RootBoundary } from '../types';
3
- export declare const getPopupProps: import("memoize-one").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") => {
4
- searchThreshold: number;
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
+ autoFocus: boolean;
5
6
  controlShouldRenderValue: boolean;
6
- minMenuWidth: string | number;
7
7
  maxMenuWidth: string | number;
8
- autoFocus: boolean;
9
- target: Target;
10
- popupTitle: string | undefined;
8
+ minMenuWidth: string | number;
11
9
  popperProps: {
12
- placement: Placement;
13
- strategy: "fixed" | "absolute";
14
10
  modifiers: ({
11
+ enabled?: undefined;
12
+ fn?: undefined;
15
13
  name: string;
16
14
  options: {
15
+ boundary?: undefined;
17
16
  offset: number[] | undefined;
18
17
  rootBoundary?: undefined;
19
- boundary?: undefined;
20
18
  };
21
- enabled?: undefined;
22
19
  order?: undefined;
23
- fn?: undefined;
24
20
  } | {
25
- name: string;
26
21
  enabled: boolean;
27
- order: number;
28
22
  fn: (data: any) => any;
23
+ name: string;
29
24
  options?: undefined;
25
+ order: number;
30
26
  } | {
27
+ enabled?: undefined;
28
+ fn?: undefined;
31
29
  name: string;
32
30
  options: {
33
- rootBoundary: RootBoundary | undefined;
34
31
  boundary: BoundariesElement | undefined;
35
32
  offset?: undefined;
33
+ rootBoundary: RootBoundary | undefined;
36
34
  };
37
- enabled?: undefined;
38
35
  order?: undefined;
39
- fn?: undefined;
40
36
  } | {
41
- name: string;
42
37
  enabled: boolean | undefined;
38
+ fn?: undefined;
39
+ name: string;
43
40
  options?: undefined;
44
41
  order?: undefined;
45
- fn?: undefined;
46
42
  })[];
43
+ placement: Placement;
44
+ strategy: "fixed" | "absolute";
47
45
  };
46
+ popupTitle: string | undefined;
47
+ searchThreshold: number;
48
+ target: Target;
48
49
  }>;
@@ -273,6 +273,7 @@ export interface CustomHighlight {
273
273
  export interface OptionData {
274
274
  appType?: string | null;
275
275
  avatarUrl?: any;
276
+ data?: any;
276
277
  fixed?: boolean;
277
278
  icon?: ReactNode;
278
279
  iconColor?: string;
@@ -330,6 +331,7 @@ export interface Team extends OptionData {
330
331
  includeTeamsUpdates?: boolean;
331
332
  memberCount?: number;
332
333
  members?: TeamMember[];
334
+ teamTypeName?: string;
333
335
  type: 'team';
334
336
  verified?: boolean;
335
337
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "11.20.3",
3
+ "version": "11.21.0",
4
4
  "description": "Fabric component for display a dropdown to select a user from",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -46,7 +46,7 @@
46
46
  "@atlaskit/analytics-next": "^11.1.0",
47
47
  "@atlaskit/avatar": "^25.7.0",
48
48
  "@atlaskit/feature-gate-js-client": "^5.5.0",
49
- "@atlaskit/icon": "^29.4.0",
49
+ "@atlaskit/icon": "^30.0.0",
50
50
  "@atlaskit/logo": "^19.10.0",
51
51
  "@atlaskit/lozenge": "^13.3.0",
52
52
  "@atlaskit/people-teams-ui-public": "^3.7.0",
@@ -57,7 +57,7 @@
57
57
  "@atlaskit/spinner": "^19.0.0",
58
58
  "@atlaskit/teams-avatar": "^2.4.0",
59
59
  "@atlaskit/theme": "^21.0.0",
60
- "@atlaskit/tokens": "^10.0.0",
60
+ "@atlaskit/tokens": "^10.1.0",
61
61
  "@atlaskit/tooltip": "^20.14.0",
62
62
  "@atlaskit/ufo": "^0.4.0",
63
63
  "@babel/runtime": "^7.0.0",
@@ -78,6 +78,7 @@
78
78
  "@af/visual-regression": "workspace:^",
79
79
  "@atlaskit/elements-test-helpers": "workspace:^",
80
80
  "@atlaskit/heading": "^5.2.0",
81
+ "@atlassian/a11y-jest-testing": "^0.8.0",
81
82
  "@atlassian/feature-flags-test-utils": "^1.0.0",
82
83
  "@emotion/styled": "^11.0.0",
83
84
  "@testing-library/dom": "^10.1.0",