@atlaskit/user-picker 11.23.3 → 11.25.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 +16 -0
- package/afm-cc/tsconfig.json +3 -0
- package/afm-jira/tsconfig.json +3 -0
- package/afm-products/tsconfig.json +3 -0
- package/dist/cjs/analytics.js +2 -1
- package/dist/cjs/components/AvatarItemOption.js +31 -2
- package/dist/cjs/components/AvatarOrIcon.js +1 -1
- package/dist/cjs/components/BaseUserPicker.js +69 -39
- package/dist/cjs/components/ClearIndicator.js +1 -1
- package/dist/cjs/components/Control.js +1 -1
- package/dist/cjs/components/CustomOption/main.js +1 -1
- package/dist/cjs/components/EmailOption/main.js +1 -1
- package/dist/cjs/components/ExternalUserOption/ExternalAvatarItemOption.js +1 -1
- package/dist/cjs/components/ExternalUserOption/InfoIcon.js +1 -1
- package/dist/cjs/components/GroupOption/main.js +1 -1
- package/dist/cjs/components/Input.js +1 -1
- package/dist/cjs/components/MultiValue.js +152 -10
- package/dist/cjs/components/MultiValueContainer.js +1 -1
- package/dist/cjs/components/SingleValue.compiled.css +2 -0
- package/dist/cjs/components/SingleValue.js +13 -3
- package/dist/cjs/components/SingleValueContainer.js +1 -1
- package/dist/cjs/components/UserPicker.js +1 -1
- package/dist/cjs/components/i18n.js +5 -0
- package/dist/cjs/components/styles.js +2 -1
- package/dist/cjs/components/utils.js +1 -1
- package/dist/cjs/util/group-options-by-type/index.js +7 -3
- package/dist/es2019/analytics.js +1 -0
- package/dist/es2019/components/AvatarItemOption.js +31 -2
- package/dist/es2019/components/AvatarOrIcon.js +1 -1
- package/dist/es2019/components/BaseUserPicker.js +30 -1
- package/dist/es2019/components/ClearIndicator.js +1 -1
- package/dist/es2019/components/Control.js +1 -1
- package/dist/es2019/components/CustomOption/main.js +1 -1
- package/dist/es2019/components/EmailOption/main.js +1 -1
- package/dist/es2019/components/ExternalUserOption/ExternalAvatarItemOption.js +1 -1
- package/dist/es2019/components/ExternalUserOption/InfoIcon.js +1 -1
- package/dist/es2019/components/GroupOption/main.js +1 -1
- package/dist/es2019/components/Input.js +1 -1
- package/dist/es2019/components/MultiValue.js +151 -11
- package/dist/es2019/components/MultiValueContainer.js +1 -1
- package/dist/es2019/components/SingleValue.compiled.css +2 -0
- package/dist/es2019/components/SingleValue.js +12 -3
- package/dist/es2019/components/SingleValueContainer.js +1 -1
- package/dist/es2019/components/UserPicker.js +1 -1
- package/dist/es2019/components/i18n.js +5 -0
- package/dist/es2019/components/styles.js +2 -1
- package/dist/es2019/components/utils.js +1 -1
- package/dist/es2019/util/group-options-by-type/index.js +7 -3
- package/dist/esm/analytics.js +1 -0
- package/dist/esm/components/AvatarItemOption.js +31 -2
- package/dist/esm/components/AvatarOrIcon.js +1 -1
- package/dist/esm/components/BaseUserPicker.js +69 -39
- package/dist/esm/components/ClearIndicator.js +1 -1
- package/dist/esm/components/Control.js +1 -1
- package/dist/esm/components/CustomOption/main.js +1 -1
- package/dist/esm/components/EmailOption/main.js +1 -1
- package/dist/esm/components/ExternalUserOption/ExternalAvatarItemOption.js +1 -1
- package/dist/esm/components/ExternalUserOption/InfoIcon.js +1 -1
- package/dist/esm/components/GroupOption/main.js +1 -1
- package/dist/esm/components/Input.js +1 -1
- package/dist/esm/components/MultiValue.js +150 -10
- package/dist/esm/components/MultiValueContainer.js +1 -1
- package/dist/esm/components/SingleValue.compiled.css +2 -0
- package/dist/esm/components/SingleValue.js +12 -3
- package/dist/esm/components/SingleValueContainer.js +1 -1
- package/dist/esm/components/UserPicker.js +1 -1
- package/dist/esm/components/i18n.js +5 -0
- package/dist/esm/components/styles.js +2 -1
- package/dist/esm/components/utils.js +1 -1
- package/dist/esm/util/group-options-by-type/index.js +7 -3
- package/dist/types/analytics.d.ts +2 -2
- package/dist/types/components/AvatarItemOption.d.ts +2 -2
- package/dist/types/components/BaseUserPicker.d.ts +4 -1
- package/dist/types/components/ExternalUserOption/index.d.ts +4 -2
- package/dist/types/components/ExternalUserOption/main.d.ts +3 -2
- package/dist/types/components/GroupOption/main.d.ts +2 -2
- package/dist/types/components/PopupUserPicker.d.ts +90 -86
- package/dist/types/components/UserPicker.d.ts +2 -1
- package/dist/types/components/i18n.d.ts +5 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types.d.ts +4 -0
- package/dist/types/util/group-options-by-type/index.d.ts +2 -1
- package/dist/types-ts4.5/analytics.d.ts +2 -2
- package/dist/types-ts4.5/components/AvatarItemOption.d.ts +2 -2
- package/dist/types-ts4.5/components/BaseUserPicker.d.ts +4 -1
- package/dist/types-ts4.5/components/ExternalUserOption/index.d.ts +4 -2
- package/dist/types-ts4.5/components/ExternalUserOption/main.d.ts +3 -2
- package/dist/types-ts4.5/components/GroupOption/main.d.ts +2 -2
- package/dist/types-ts4.5/components/PopupUserPicker.d.ts +90 -86
- package/dist/types-ts4.5/components/UserPicker.d.ts +2 -1
- package/dist/types-ts4.5/components/i18n.d.ts +5 -0
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/types.d.ts +4 -0
- package/dist/types-ts4.5/util/group-options-by-type/index.d.ts +2 -1
- package/package.json +16 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/user-picker
|
|
2
2
|
|
|
3
|
+
## 11.25.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`e40e50d76e29c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e40e50d76e29c) -
|
|
8
|
+
[ux] Updates user picker to use ADS tags in cases where we see icons in tags, insead of using ADS
|
|
9
|
+
Avatar tags.
|
|
10
|
+
|
|
11
|
+
## 11.24.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [`1ad583e025c33`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/1ad583e025c33) -
|
|
16
|
+
[ux] Updates User picker, behind a feature gate, to use @atlaski/tag component when isMulti is
|
|
17
|
+
true.
|
|
18
|
+
|
|
3
19
|
## 11.23.3
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/afm-cc/tsconfig.json
CHANGED
package/afm-jira/tsconfig.json
CHANGED
package/dist/cjs/analytics.js
CHANGED
|
@@ -11,7 +11,8 @@ var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gat
|
|
|
11
11
|
var _uuid = require("uuid");
|
|
12
12
|
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
|
-
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 @
|
|
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 @typescript-eslint/consistent-type-imports
|
|
15
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
15
16
|
var packageName = "@atlaskit/user-picker";
|
|
16
17
|
var packageVersion = "0.0.0-development";
|
|
17
18
|
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}$/;
|
|
@@ -10,6 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
var _react2 = require("@emotion/react");
|
|
12
12
|
var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
|
|
13
|
+
var _tag = _interopRequireDefault(require("@atlaskit/tag"));
|
|
13
14
|
var _utils = require("./utils");
|
|
14
15
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
15
16
|
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; }
|
|
@@ -17,7 +18,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
17
18
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } /**
|
|
18
19
|
* @jsxRuntime classic
|
|
19
20
|
* @jsx jsx
|
|
20
|
-
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
21
|
+
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
21
22
|
var AsyncTooltip = /*#__PURE__*/_react.default.lazy(function () {
|
|
22
23
|
return Promise.resolve().then(function () {
|
|
23
24
|
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_@atlaskit/tooltip" */'@atlaskit/tooltip'));
|
|
@@ -116,12 +117,40 @@ var textWrapper = exports.textWrapper = function textWrapper(color) {
|
|
|
116
117
|
color: color
|
|
117
118
|
});
|
|
118
119
|
};
|
|
120
|
+
var lozengeAppearanceToTagColor = {
|
|
121
|
+
default: 'standard',
|
|
122
|
+
success: 'lime',
|
|
123
|
+
removed: 'red',
|
|
124
|
+
inprogress: 'blue',
|
|
125
|
+
new: 'purple',
|
|
126
|
+
moved: 'orange'
|
|
127
|
+
};
|
|
119
128
|
var AvatarItemOption = exports.AvatarItemOption = function AvatarItemOption(_ref) {
|
|
120
129
|
var avatar = _ref.avatar,
|
|
121
130
|
isDisabled = _ref.isDisabled,
|
|
122
131
|
lozenge = _ref.lozenge,
|
|
123
132
|
primaryText = _ref.primaryText,
|
|
124
133
|
secondaryText = _ref.secondaryText;
|
|
134
|
+
var renderTag = function renderTag() {
|
|
135
|
+
if ((0, _utils.isLozengeText)(lozenge) && !lozenge.isBold) {
|
|
136
|
+
var color = lozenge.appearance ? lozengeAppearanceToTagColor[lozenge.appearance] : 'standard';
|
|
137
|
+
var tag = (0, _react2.jsx)(_tag.default, {
|
|
138
|
+
text: lozenge.text,
|
|
139
|
+
color: color,
|
|
140
|
+
isRemovable: false,
|
|
141
|
+
migration_fallback: "lozenge"
|
|
142
|
+
});
|
|
143
|
+
if (lozenge.tooltip) {
|
|
144
|
+
return (0, _react2.jsx)(_react.default.Suspense, {
|
|
145
|
+
fallback: tag
|
|
146
|
+
}, (0, _react2.jsx)(AsyncTooltip, {
|
|
147
|
+
content: lozenge.tooltip
|
|
148
|
+
}, tag));
|
|
149
|
+
}
|
|
150
|
+
return tag;
|
|
151
|
+
}
|
|
152
|
+
return renderLozenge();
|
|
153
|
+
};
|
|
125
154
|
var renderLozenge = function renderLozenge() {
|
|
126
155
|
if ((0, _utils.isLozengeText)(lozenge)) {
|
|
127
156
|
if (lozenge !== null && lozenge !== void 0 && lozenge.tooltip) {
|
|
@@ -149,6 +178,6 @@ var AvatarItemOption = exports.AvatarItemOption = function AvatarItemOption(_ref
|
|
|
149
178
|
css: getTextStyle(true)
|
|
150
179
|
}, secondaryText))), lozenge && (0, _react2.jsx)("div", {
|
|
151
180
|
css: additionalInfo
|
|
152
|
-
}, renderLozenge()))
|
|
181
|
+
}, (0, _platformFeatureFlags.fg)('platform-dst-lozenge-tag-badge-visual-uplifts') ? renderTag() : renderLozenge()))
|
|
153
182
|
);
|
|
154
183
|
};
|
|
@@ -12,7 +12,7 @@ var _react = require("@emotion/react");
|
|
|
12
12
|
* @jsx jsx
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
15
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
16
16
|
|
|
17
17
|
var iconStyle = (0, _react.css)({
|
|
18
18
|
display: 'flex',
|
|
@@ -13,6 +13,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
13
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
14
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
17
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
17
18
|
var _ufo = require("@atlaskit/ufo");
|
|
18
19
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
@@ -351,7 +352,7 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
351
352
|
hoveringClearIndicator: hoveringClearIndicator
|
|
352
353
|
});
|
|
353
354
|
});
|
|
354
|
-
(0, _defineProperty2.default)(_this, "
|
|
355
|
+
(0, _defineProperty2.default)(_this, "getOptionsOld", function () {
|
|
355
356
|
var options = (0, _utils.getOptions)(_this.state.options) || [];
|
|
356
357
|
var _this$props2 = _this.props,
|
|
357
358
|
maxOptions = _this$props2.maxOptions,
|
|
@@ -376,6 +377,35 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
376
377
|
}
|
|
377
378
|
return groupByTypeOrder ? (0, _groupOptionsByType.groupOptionsByType)(options, groupByTypeOrder) : options;
|
|
378
379
|
});
|
|
380
|
+
(0, _defineProperty2.default)(_this, "getOptionsNew", function () {
|
|
381
|
+
var options = (0, _utils.getOptions)(_this.state.options) || [];
|
|
382
|
+
var _this$props3 = _this.props,
|
|
383
|
+
maxOptions = _this$props3.maxOptions,
|
|
384
|
+
isMulti = _this$props3.isMulti,
|
|
385
|
+
groupByTypeOrder = _this$props3.groupByTypeOrder,
|
|
386
|
+
customGroupLabels = _this$props3.customGroupLabels;
|
|
387
|
+
if (maxOptions === 0) {
|
|
388
|
+
return [];
|
|
389
|
+
}
|
|
390
|
+
if (maxOptions && maxOptions > 0 && maxOptions < options.length) {
|
|
391
|
+
var _value3 = _this.state.value;
|
|
392
|
+
var filteredOptions = options;
|
|
393
|
+
// Filter out previously selected options
|
|
394
|
+
if (isMulti && Array.isArray(_value3)) {
|
|
395
|
+
var valueIds = _value3.map(function (item) {
|
|
396
|
+
return item.data.id;
|
|
397
|
+
});
|
|
398
|
+
filteredOptions = options.filter(function (option) {
|
|
399
|
+
return valueIds.indexOf(option.data.id) === -1;
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
return groupByTypeOrder ? (0, _groupOptionsByType.groupOptionsByType)(filteredOptions.slice(0, maxOptions), groupByTypeOrder, customGroupLabels) : filteredOptions.slice(0, maxOptions);
|
|
403
|
+
}
|
|
404
|
+
return groupByTypeOrder ? (0, _groupOptionsByType.groupOptionsByType)(options, groupByTypeOrder, customGroupLabels) : options;
|
|
405
|
+
});
|
|
406
|
+
(0, _defineProperty2.default)(_this, "getOptions", function () {
|
|
407
|
+
return (0, _platformFeatureFlags.fg)('jsm-wfo-assignee-recommendation-on-queues') ? _this.getOptionsNew() : _this.getOptionsOld();
|
|
408
|
+
});
|
|
379
409
|
(0, _defineProperty2.default)(_this, "getAppearance", function () {
|
|
380
410
|
return _this.props.appearance ? _this.props.appearance : 'normal';
|
|
381
411
|
});
|
|
@@ -441,9 +471,9 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
441
471
|
}, {
|
|
442
472
|
key: "componentDidMount",
|
|
443
473
|
value: function componentDidMount() {
|
|
444
|
-
var _this$
|
|
445
|
-
open = _this$
|
|
446
|
-
search = _this$
|
|
474
|
+
var _this$props4 = this.props,
|
|
475
|
+
open = _this$props4.open,
|
|
476
|
+
search = _this$props4.search;
|
|
447
477
|
// load options when the picker open
|
|
448
478
|
if (open) {
|
|
449
479
|
if (!this.session) {
|
|
@@ -511,41 +541,41 @@ var BaseUserPickerWithoutAnalytics = exports.BaseUserPickerWithoutAnalytics = /*
|
|
|
511
541
|
}, {
|
|
512
542
|
key: "render",
|
|
513
543
|
value: function render() {
|
|
514
|
-
var _this$
|
|
515
|
-
isMulti = _this$
|
|
516
|
-
isLoading = _this$
|
|
517
|
-
subtle = _this$
|
|
518
|
-
noBorder = _this$
|
|
519
|
-
placeholder = _this$
|
|
520
|
-
isClearable = _this$
|
|
521
|
-
isDisabled = _this$
|
|
522
|
-
isInvalid = _this$
|
|
523
|
-
clearValueLabel = _this$
|
|
524
|
-
menuMinWidth = _this$
|
|
525
|
-
menuPortalTarget = _this$
|
|
526
|
-
loadOptionsErrorMessage = _this$
|
|
527
|
-
addMoreMessage = _this$
|
|
528
|
-
noOptionsMessage = _this$
|
|
529
|
-
footer = _this$
|
|
530
|
-
disableInput = _this$
|
|
531
|
-
components = _this$
|
|
532
|
-
pickerProps = _this$
|
|
533
|
-
SelectComponent = _this$
|
|
534
|
-
styles = _this$
|
|
535
|
-
autoFocus = _this$
|
|
536
|
-
fieldId = _this$
|
|
537
|
-
inputId = _this$
|
|
538
|
-
maxPickerHeight = _this$
|
|
539
|
-
textFieldBackgroundColor = _this$
|
|
540
|
-
ariaLabelledBy = _this$
|
|
541
|
-
ariaDescribedBy = _this$
|
|
542
|
-
ariaLive = _this$
|
|
543
|
-
ariaLabel = _this$
|
|
544
|
-
name = _this$
|
|
545
|
-
header = _this$
|
|
546
|
-
required = _this$
|
|
547
|
-
UNSAFE_hasDraggableParentComponent = _this$
|
|
548
|
-
placeholderAvatar = _this$
|
|
544
|
+
var _this$props5 = this.props,
|
|
545
|
+
isMulti = _this$props5.isMulti,
|
|
546
|
+
isLoading = _this$props5.isLoading,
|
|
547
|
+
subtle = _this$props5.subtle,
|
|
548
|
+
noBorder = _this$props5.noBorder,
|
|
549
|
+
placeholder = _this$props5.placeholder,
|
|
550
|
+
isClearable = _this$props5.isClearable,
|
|
551
|
+
isDisabled = _this$props5.isDisabled,
|
|
552
|
+
isInvalid = _this$props5.isInvalid,
|
|
553
|
+
clearValueLabel = _this$props5.clearValueLabel,
|
|
554
|
+
menuMinWidth = _this$props5.menuMinWidth,
|
|
555
|
+
menuPortalTarget = _this$props5.menuPortalTarget,
|
|
556
|
+
loadOptionsErrorMessage = _this$props5.loadOptionsErrorMessage,
|
|
557
|
+
addMoreMessage = _this$props5.addMoreMessage,
|
|
558
|
+
noOptionsMessage = _this$props5.noOptionsMessage,
|
|
559
|
+
footer = _this$props5.footer,
|
|
560
|
+
disableInput = _this$props5.disableInput,
|
|
561
|
+
components = _this$props5.components,
|
|
562
|
+
pickerProps = _this$props5.pickerProps,
|
|
563
|
+
SelectComponent = _this$props5.SelectComponent,
|
|
564
|
+
styles = _this$props5.styles,
|
|
565
|
+
autoFocus = _this$props5.autoFocus,
|
|
566
|
+
fieldId = _this$props5.fieldId,
|
|
567
|
+
inputId = _this$props5.inputId,
|
|
568
|
+
maxPickerHeight = _this$props5.maxPickerHeight,
|
|
569
|
+
textFieldBackgroundColor = _this$props5.textFieldBackgroundColor,
|
|
570
|
+
ariaLabelledBy = _this$props5.ariaLabelledBy,
|
|
571
|
+
ariaDescribedBy = _this$props5.ariaDescribedBy,
|
|
572
|
+
ariaLive = _this$props5.ariaLive,
|
|
573
|
+
ariaLabel = _this$props5.ariaLabel,
|
|
574
|
+
name = _this$props5.name,
|
|
575
|
+
header = _this$props5.header,
|
|
576
|
+
required = _this$props5.required,
|
|
577
|
+
UNSAFE_hasDraggableParentComponent = _this$props5.UNSAFE_hasDraggableParentComponent,
|
|
578
|
+
placeholderAvatar = _this$props5.placeholderAvatar;
|
|
549
579
|
var _this$state3 = this.state,
|
|
550
580
|
count = _this$state3.count,
|
|
551
581
|
hoveringClearIndicator = _this$state3.hoveringClearIndicator,
|
|
@@ -22,7 +22,7 @@ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0,
|
|
|
22
22
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
|
|
23
23
|
* @jsxRuntime classic
|
|
24
24
|
* @jsx jsx
|
|
25
|
-
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
25
|
+
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
26
26
|
var CustomOption = exports.CustomOption = /*#__PURE__*/function (_React$PureComponent) {
|
|
27
27
|
function CustomOption() {
|
|
28
28
|
var _this;
|
|
@@ -22,7 +22,7 @@ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0,
|
|
|
22
22
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
|
|
23
23
|
* @jsxRuntime classic
|
|
24
24
|
* @jsx jsx
|
|
25
|
-
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
25
|
+
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
26
26
|
var getAddEmailMessage = function getAddEmailMessage(validity) {
|
|
27
27
|
return validity === 'POTENTIAL' ? _i18n.messages.continueToAddEmail : _i18n.messages.selectToAddEmail;
|
|
28
28
|
};
|
|
@@ -12,7 +12,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
12
12
|
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; } /**
|
|
13
13
|
* @jsxRuntime classic
|
|
14
14
|
* @jsx jsx
|
|
15
|
-
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
15
|
+
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
16
16
|
var outerWrapper = function outerWrapper(isDisabled) {
|
|
17
17
|
return (0, _react.css)({
|
|
18
18
|
alignItems: 'center',
|
|
@@ -15,7 +15,7 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
15
15
|
* @jsx jsx
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
18
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
19
19
|
|
|
20
20
|
var wrapper = (0, _react2.css)({
|
|
21
21
|
display: 'flex',
|
|
@@ -25,7 +25,7 @@ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0,
|
|
|
25
25
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
|
|
26
26
|
* @jsxRuntime classic
|
|
27
27
|
* @jsx jsx
|
|
28
|
-
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
28
|
+
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
29
29
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
30
30
|
var groupOptionIconWrapper = exports.groupOptionIconWrapper = (0, _react2.css)({
|
|
31
31
|
padding: "var(--ds-space-025, 2px)",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -17,13 +18,21 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
18
|
var _primitives = require("@atlaskit/primitives");
|
|
18
19
|
var _select = require("@atlaskit/select");
|
|
19
20
|
var _react2 = require("@emotion/react");
|
|
21
|
+
var _avatar = _interopRequireDefault(require("@atlaskit/avatar"));
|
|
22
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
23
|
+
var _tag = _interopRequireWildcard(require("@atlaskit/tag"));
|
|
24
|
+
var _teamsAvatar = _interopRequireDefault(require("@atlaskit/teams-avatar"));
|
|
20
25
|
var _AddOptionAvatar = require("./AddOptionAvatar");
|
|
21
26
|
var _AvatarOrIcon = require("./AvatarOrIcon");
|
|
22
27
|
var _SizeableAvatar = require("./SizeableAvatar");
|
|
23
28
|
var _utils = require("./utils");
|
|
29
|
+
var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
|
|
24
30
|
var _peopleGroup = _interopRequireDefault(require("@atlaskit/icon/core/people-group"));
|
|
25
31
|
var _verifiedTeamIcon = require("@atlaskit/people-teams-ui-public/verified-team-icon");
|
|
26
|
-
var
|
|
32
|
+
var _reactIntlNext = require("react-intl-next");
|
|
33
|
+
var _i18n = require("./i18n");
|
|
34
|
+
var _excluded = ["children", "innerProps", "removeProps", "data"];
|
|
35
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
27
36
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
28
37
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
|
|
29
38
|
* @jsxRuntime classic
|
|
@@ -43,14 +52,34 @@ var scrollToValue = exports.scrollToValue = function scrollToValue(valueContaine
|
|
|
43
52
|
valueContainer.scrollIntoView(false);
|
|
44
53
|
}
|
|
45
54
|
};
|
|
46
|
-
var
|
|
55
|
+
var groupTagContainerOld = (0, _primitives.xcss)({
|
|
47
56
|
paddingLeft: 'space.025',
|
|
48
57
|
marginTop: 'space.025'
|
|
49
58
|
});
|
|
59
|
+
var groupTagContainer = (0, _primitives.xcss)({
|
|
60
|
+
paddingLeft: 'space.050'
|
|
61
|
+
});
|
|
62
|
+
var archivedLozengeWrapper = (0, _primitives.xcss)({
|
|
63
|
+
display: 'flex',
|
|
64
|
+
paddingLeft: 'space.050'
|
|
65
|
+
});
|
|
66
|
+
var iconStyle = (0, _react2.css)({
|
|
67
|
+
display: 'flex',
|
|
68
|
+
alignItems: 'center',
|
|
69
|
+
justifyContent: 'center',
|
|
70
|
+
flexShrink: 0,
|
|
71
|
+
width: '20px',
|
|
72
|
+
height: '20px'
|
|
73
|
+
});
|
|
50
74
|
var nameWrapper = (0, _react2.css)({
|
|
51
75
|
font: "var(--ds-font-body, normal 400 14px/20px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
52
76
|
paddingLeft: "var(--ds-space-050, 4px)"
|
|
53
77
|
});
|
|
78
|
+
var avatarTagWrapperStyle = (0, _react2.css)({
|
|
79
|
+
display: 'inline-flex',
|
|
80
|
+
// eslint-disable-next-line @atlaskit/design-system/use-tokens-space -- offsets AvatarTag's built-in space.050 margin down to space.025
|
|
81
|
+
margin: '-2px'
|
|
82
|
+
});
|
|
54
83
|
var MultiValue = exports.MultiValue = /*#__PURE__*/function (_React$Component) {
|
|
55
84
|
function MultiValue(props) {
|
|
56
85
|
var _this;
|
|
@@ -67,7 +96,7 @@ var MultiValue = exports.MultiValue = /*#__PURE__*/function (_React$Component) {
|
|
|
67
96
|
}
|
|
68
97
|
if ((0, _utils.isGroup)(data)) {
|
|
69
98
|
return (0, _react2.jsx)(_primitives.Box, {
|
|
70
|
-
xcss:
|
|
99
|
+
xcss: groupTagContainerOld
|
|
71
100
|
}, (0, _react2.jsx)(_peopleGroup.default, {
|
|
72
101
|
color: "currentColor",
|
|
73
102
|
label: "" // This element is a decorative icon and does not require a label
|
|
@@ -91,11 +120,19 @@ var MultiValue = exports.MultiValue = /*#__PURE__*/function (_React$Component) {
|
|
|
91
120
|
});
|
|
92
121
|
(0, _defineProperty2.default)(_this, "getElemAfter", function () {
|
|
93
122
|
var data = _this.props.data.data;
|
|
123
|
+
var canShowArchivedLozenge = (0, _utils.isTeam)(data) && (data === null || data === void 0 ? void 0 : data.state) === 'DISBANDED' && (0, _platformFeatureFlags.fg)('enable-sup-archive-experience');
|
|
94
124
|
if ((0, _utils.isGroup)(data) && data.includeTeamsUpdates || (0, _utils.isTeam)(data) && data.verified) {
|
|
95
125
|
return (0, _react2.jsx)(_verifiedTeamIcon.VerifiedTeamIcon, {
|
|
96
126
|
size: data.includeTeamsUpdates ? 'small' : 'medium'
|
|
97
127
|
});
|
|
98
128
|
}
|
|
129
|
+
if (canShowArchivedLozenge) {
|
|
130
|
+
return (0, _react2.jsx)(_primitives.Box, {
|
|
131
|
+
xcss: archivedLozengeWrapper
|
|
132
|
+
}, (0, _react2.jsx)(_lozenge.default, {
|
|
133
|
+
appearance: "default"
|
|
134
|
+
}, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.archivedLozenge)));
|
|
135
|
+
}
|
|
99
136
|
return null;
|
|
100
137
|
});
|
|
101
138
|
_this.containerRef = /*#__PURE__*/_react.default.createRef();
|
|
@@ -114,16 +151,19 @@ var MultiValue = exports.MultiValue = /*#__PURE__*/function (_React$Component) {
|
|
|
114
151
|
key: "shouldComponentUpdate",
|
|
115
152
|
value: function shouldComponentUpdate(nextProps) {
|
|
116
153
|
var _this$props = this.props,
|
|
117
|
-
|
|
118
|
-
label = _this$props$data.label,
|
|
119
|
-
data = _this$props$data.data,
|
|
154
|
+
option = _this$props.data,
|
|
120
155
|
innerProps = _this$props.innerProps,
|
|
121
156
|
isFocused = _this$props.isFocused;
|
|
122
|
-
var
|
|
123
|
-
nextLabel = _nextProps$data.label,
|
|
124
|
-
nextData = _nextProps$data.data,
|
|
157
|
+
var nextOption = nextProps.data,
|
|
125
158
|
nextInnerProps = nextProps.innerProps,
|
|
126
159
|
nextIsFocused = nextProps.isFocused;
|
|
160
|
+
if (option == null || nextOption == null) {
|
|
161
|
+
return option !== nextOption || innerProps !== nextInnerProps || isFocused !== nextIsFocused;
|
|
162
|
+
}
|
|
163
|
+
var label = option.label,
|
|
164
|
+
data = option.data;
|
|
165
|
+
var nextLabel = nextOption.label,
|
|
166
|
+
nextData = nextOption.data;
|
|
127
167
|
|
|
128
168
|
// We can ignore onRemove here because it is an anonymous function
|
|
129
169
|
// that will be recreated every time but with the same implementation.
|
|
@@ -134,9 +174,111 @@ var MultiValue = exports.MultiValue = /*#__PURE__*/function (_React$Component) {
|
|
|
134
174
|
value: function render() {
|
|
135
175
|
var _this$props2 = this.props,
|
|
136
176
|
children = _this$props2.children,
|
|
137
|
-
|
|
177
|
+
_innerProps = _this$props2.innerProps,
|
|
178
|
+
removeProps = _this$props2.removeProps,
|
|
179
|
+
option = _this$props2.data,
|
|
138
180
|
rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
|
|
181
|
+
if ((0, _platformFeatureFlags.fg)('platform-dst-lozenge-tag-badge-visual-uplifts')) {
|
|
182
|
+
var _this$props$selectPro;
|
|
183
|
+
var data = option.data,
|
|
184
|
+
label = option.label;
|
|
185
|
+
var isTeamOption = (0, _utils.isTeam)(data);
|
|
186
|
+
var isGroupOption = (0, _utils.isGroup)(data);
|
|
187
|
+
var isEmailOption = (0, _utils.isEmail)(data);
|
|
188
|
+
var avatarUrl = (0, _utils.getAvatarUrl)(data);
|
|
189
|
+
var isDisabled = Boolean((_this$props$selectPro = this.props.selectProps) === null || _this$props$selectPro === void 0 ? void 0 : _this$props$selectPro.isDisabled);
|
|
190
|
+
var canShowArchivedLozenge = (0, _utils.isTeam)(data) && (data === null || data === void 0 ? void 0 : data.state) === 'DISBANDED' && (0, _platformFeatureFlags.fg)('enable-sup-archive-experience');
|
|
191
|
+
var avatarProps = avatarUrl ? {
|
|
192
|
+
name: data.name,
|
|
193
|
+
src: avatarUrl
|
|
194
|
+
} : {
|
|
195
|
+
name: data.name
|
|
196
|
+
};
|
|
197
|
+
var removeAction = function removeAction() {
|
|
198
|
+
removeProps.onClick({});
|
|
199
|
+
return true;
|
|
200
|
+
};
|
|
201
|
+
if (isEmailOption) {
|
|
202
|
+
return (0, _react2.jsx)("span", {
|
|
203
|
+
ref: this.containerRef,
|
|
204
|
+
css: avatarTagWrapperStyle,
|
|
205
|
+
"data-user-picker-multi-value": true
|
|
206
|
+
}, (0, _react2.jsx)(_tag.default, {
|
|
207
|
+
text: label,
|
|
208
|
+
elemBefore: (0, _react2.jsx)(_AddOptionAvatar.AddOptionAvatar, {
|
|
209
|
+
isLozenge: true,
|
|
210
|
+
isPendingAction: data.isPendingAction
|
|
211
|
+
}),
|
|
212
|
+
isRemovable: !isDisabled,
|
|
213
|
+
onBeforeRemoveAction: removeAction
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
216
|
+
if (isGroupOption) {
|
|
217
|
+
return (0, _react2.jsx)("span", {
|
|
218
|
+
ref: this.containerRef,
|
|
219
|
+
css: avatarTagWrapperStyle,
|
|
220
|
+
"data-user-picker-multi-value": true
|
|
221
|
+
}, (0, _react2.jsx)(_tag.default, {
|
|
222
|
+
text: label,
|
|
223
|
+
elemBefore: (0, _react2.jsx)(_primitives.Box, {
|
|
224
|
+
xcss: groupTagContainer
|
|
225
|
+
}, (0, _react2.jsx)(_peopleGroup.default, {
|
|
226
|
+
color: "currentColor",
|
|
227
|
+
label: "" // This element is a decorative icon and does not require a label
|
|
228
|
+
,
|
|
229
|
+
size: "small"
|
|
230
|
+
})),
|
|
231
|
+
isRemovable: !isDisabled,
|
|
232
|
+
onBeforeRemoveAction: removeAction
|
|
233
|
+
}));
|
|
234
|
+
}
|
|
235
|
+
if (data.icon) {
|
|
236
|
+
return (0, _react2.jsx)("span", {
|
|
237
|
+
ref: this.containerRef,
|
|
238
|
+
css: avatarTagWrapperStyle,
|
|
239
|
+
"data-user-picker-multi-value": true
|
|
240
|
+
}, (0, _react2.jsx)(_tag.default, {
|
|
241
|
+
text: label,
|
|
242
|
+
elemBefore: (0, _react2.jsx)("div", {
|
|
243
|
+
css: iconStyle,
|
|
244
|
+
style: {
|
|
245
|
+
color: data.iconColor
|
|
246
|
+
}
|
|
247
|
+
}, data.icon),
|
|
248
|
+
isRemovable: !isDisabled,
|
|
249
|
+
onBeforeRemoveAction: removeAction
|
|
250
|
+
}));
|
|
251
|
+
}
|
|
252
|
+
return (0, _react2.jsx)("span", {
|
|
253
|
+
ref: this.containerRef,
|
|
254
|
+
css: avatarTagWrapperStyle,
|
|
255
|
+
"data-user-picker-multi-value": true
|
|
256
|
+
}, isTeamOption ? (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_tag.AvatarTag, {
|
|
257
|
+
type: "other",
|
|
258
|
+
text: label,
|
|
259
|
+
isVerified: isTeamOption ? data.verified : undefined,
|
|
260
|
+
isRemovable: !isDisabled,
|
|
261
|
+
onBeforeRemoveAction: removeAction,
|
|
262
|
+
avatar: function avatar(props) {
|
|
263
|
+
return (0, _react2.jsx)(_teamsAvatar.default, (0, _extends2.default)({}, props, avatarProps));
|
|
264
|
+
}
|
|
265
|
+
}), canShowArchivedLozenge ? (0, _react2.jsx)(_primitives.Box, {
|
|
266
|
+
xcss: archivedLozengeWrapper
|
|
267
|
+
}, (0, _react2.jsx)(_lozenge.default, {
|
|
268
|
+
appearance: "default"
|
|
269
|
+
}, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.archivedLozenge))) : null) : (0, _react2.jsx)(_tag.AvatarTag, {
|
|
270
|
+
type: "user",
|
|
271
|
+
text: label,
|
|
272
|
+
isRemovable: !isDisabled,
|
|
273
|
+
onBeforeRemoveAction: removeAction,
|
|
274
|
+
avatar: function avatar(props) {
|
|
275
|
+
return (0, _react2.jsx)(_avatar.default, (0, _extends2.default)({}, props, avatarProps));
|
|
276
|
+
}
|
|
277
|
+
}));
|
|
278
|
+
}
|
|
139
279
|
return (0, _react2.jsx)(_select.components.MultiValue, (0, _extends2.default)({}, rest, {
|
|
280
|
+
data: option,
|
|
281
|
+
removeProps: removeProps,
|
|
140
282
|
innerProps: {
|
|
141
283
|
ref: this.containerRef
|
|
142
284
|
},
|