@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.
Files changed (95) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/afm-jira/tsconfig.json +3 -0
  4. package/afm-products/tsconfig.json +3 -0
  5. package/dist/cjs/analytics.js +2 -1
  6. package/dist/cjs/components/AvatarItemOption.js +31 -2
  7. package/dist/cjs/components/AvatarOrIcon.js +1 -1
  8. package/dist/cjs/components/BaseUserPicker.js +69 -39
  9. package/dist/cjs/components/ClearIndicator.js +1 -1
  10. package/dist/cjs/components/Control.js +1 -1
  11. package/dist/cjs/components/CustomOption/main.js +1 -1
  12. package/dist/cjs/components/EmailOption/main.js +1 -1
  13. package/dist/cjs/components/ExternalUserOption/ExternalAvatarItemOption.js +1 -1
  14. package/dist/cjs/components/ExternalUserOption/InfoIcon.js +1 -1
  15. package/dist/cjs/components/GroupOption/main.js +1 -1
  16. package/dist/cjs/components/Input.js +1 -1
  17. package/dist/cjs/components/MultiValue.js +152 -10
  18. package/dist/cjs/components/MultiValueContainer.js +1 -1
  19. package/dist/cjs/components/SingleValue.compiled.css +2 -0
  20. package/dist/cjs/components/SingleValue.js +13 -3
  21. package/dist/cjs/components/SingleValueContainer.js +1 -1
  22. package/dist/cjs/components/UserPicker.js +1 -1
  23. package/dist/cjs/components/i18n.js +5 -0
  24. package/dist/cjs/components/styles.js +2 -1
  25. package/dist/cjs/components/utils.js +1 -1
  26. package/dist/cjs/util/group-options-by-type/index.js +7 -3
  27. package/dist/es2019/analytics.js +1 -0
  28. package/dist/es2019/components/AvatarItemOption.js +31 -2
  29. package/dist/es2019/components/AvatarOrIcon.js +1 -1
  30. package/dist/es2019/components/BaseUserPicker.js +30 -1
  31. package/dist/es2019/components/ClearIndicator.js +1 -1
  32. package/dist/es2019/components/Control.js +1 -1
  33. package/dist/es2019/components/CustomOption/main.js +1 -1
  34. package/dist/es2019/components/EmailOption/main.js +1 -1
  35. package/dist/es2019/components/ExternalUserOption/ExternalAvatarItemOption.js +1 -1
  36. package/dist/es2019/components/ExternalUserOption/InfoIcon.js +1 -1
  37. package/dist/es2019/components/GroupOption/main.js +1 -1
  38. package/dist/es2019/components/Input.js +1 -1
  39. package/dist/es2019/components/MultiValue.js +151 -11
  40. package/dist/es2019/components/MultiValueContainer.js +1 -1
  41. package/dist/es2019/components/SingleValue.compiled.css +2 -0
  42. package/dist/es2019/components/SingleValue.js +12 -3
  43. package/dist/es2019/components/SingleValueContainer.js +1 -1
  44. package/dist/es2019/components/UserPicker.js +1 -1
  45. package/dist/es2019/components/i18n.js +5 -0
  46. package/dist/es2019/components/styles.js +2 -1
  47. package/dist/es2019/components/utils.js +1 -1
  48. package/dist/es2019/util/group-options-by-type/index.js +7 -3
  49. package/dist/esm/analytics.js +1 -0
  50. package/dist/esm/components/AvatarItemOption.js +31 -2
  51. package/dist/esm/components/AvatarOrIcon.js +1 -1
  52. package/dist/esm/components/BaseUserPicker.js +69 -39
  53. package/dist/esm/components/ClearIndicator.js +1 -1
  54. package/dist/esm/components/Control.js +1 -1
  55. package/dist/esm/components/CustomOption/main.js +1 -1
  56. package/dist/esm/components/EmailOption/main.js +1 -1
  57. package/dist/esm/components/ExternalUserOption/ExternalAvatarItemOption.js +1 -1
  58. package/dist/esm/components/ExternalUserOption/InfoIcon.js +1 -1
  59. package/dist/esm/components/GroupOption/main.js +1 -1
  60. package/dist/esm/components/Input.js +1 -1
  61. package/dist/esm/components/MultiValue.js +150 -10
  62. package/dist/esm/components/MultiValueContainer.js +1 -1
  63. package/dist/esm/components/SingleValue.compiled.css +2 -0
  64. package/dist/esm/components/SingleValue.js +12 -3
  65. package/dist/esm/components/SingleValueContainer.js +1 -1
  66. package/dist/esm/components/UserPicker.js +1 -1
  67. package/dist/esm/components/i18n.js +5 -0
  68. package/dist/esm/components/styles.js +2 -1
  69. package/dist/esm/components/utils.js +1 -1
  70. package/dist/esm/util/group-options-by-type/index.js +7 -3
  71. package/dist/types/analytics.d.ts +2 -2
  72. package/dist/types/components/AvatarItemOption.d.ts +2 -2
  73. package/dist/types/components/BaseUserPicker.d.ts +4 -1
  74. package/dist/types/components/ExternalUserOption/index.d.ts +4 -2
  75. package/dist/types/components/ExternalUserOption/main.d.ts +3 -2
  76. package/dist/types/components/GroupOption/main.d.ts +2 -2
  77. package/dist/types/components/PopupUserPicker.d.ts +90 -86
  78. package/dist/types/components/UserPicker.d.ts +2 -1
  79. package/dist/types/components/i18n.d.ts +5 -0
  80. package/dist/types/index.d.ts +1 -1
  81. package/dist/types/types.d.ts +4 -0
  82. package/dist/types/util/group-options-by-type/index.d.ts +2 -1
  83. package/dist/types-ts4.5/analytics.d.ts +2 -2
  84. package/dist/types-ts4.5/components/AvatarItemOption.d.ts +2 -2
  85. package/dist/types-ts4.5/components/BaseUserPicker.d.ts +4 -1
  86. package/dist/types-ts4.5/components/ExternalUserOption/index.d.ts +4 -2
  87. package/dist/types-ts4.5/components/ExternalUserOption/main.d.ts +3 -2
  88. package/dist/types-ts4.5/components/GroupOption/main.d.ts +2 -2
  89. package/dist/types-ts4.5/components/PopupUserPicker.d.ts +90 -86
  90. package/dist/types-ts4.5/components/UserPicker.d.ts +2 -1
  91. package/dist/types-ts4.5/components/i18n.d.ts +5 -0
  92. package/dist/types-ts4.5/index.d.ts +1 -1
  93. package/dist/types-ts4.5/types.d.ts +4 -0
  94. package/dist/types-ts4.5/util/group-options-by-type/index.d.ts +2 -1
  95. 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
@@ -59,6 +59,9 @@
59
59
  {
60
60
  "path": "../../../design-system/spinner/afm-cc/tsconfig.json"
61
61
  },
62
+ {
63
+ "path": "../../../design-system/tag/afm-cc/tsconfig.json"
64
+ },
62
65
  {
63
66
  "path": "../../../people-and-teams/teams-avatar/afm-cc/tsconfig.json"
64
67
  },
@@ -59,6 +59,9 @@
59
59
  {
60
60
  "path": "../../../design-system/spinner/afm-jira/tsconfig.json"
61
61
  },
62
+ {
63
+ "path": "../../../design-system/tag/afm-jira/tsconfig.json"
64
+ },
62
65
  {
63
66
  "path": "../../../people-and-teams/teams-avatar/afm-jira/tsconfig.json"
64
67
  },
@@ -59,6 +59,9 @@
59
59
  {
60
60
  "path": "../../../design-system/spinner/afm-products/tsconfig.json"
61
61
  },
62
+ {
63
+ "path": "../../../design-system/tag/afm-products/tsconfig.json"
64
+ },
62
65
  {
63
66
  "path": "../../../people-and-teams/teams-avatar/afm-products/tsconfig.json"
64
67
  },
@@ -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 @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
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 -- Ignored via go/DSP-18766
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 -- Ignored via go/DSP-18766
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, "getOptions", function () {
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$props3 = this.props,
445
- open = _this$props3.open,
446
- search = _this$props3.search;
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$props4 = this.props,
515
- isMulti = _this$props4.isMulti,
516
- isLoading = _this$props4.isLoading,
517
- subtle = _this$props4.subtle,
518
- noBorder = _this$props4.noBorder,
519
- placeholder = _this$props4.placeholder,
520
- isClearable = _this$props4.isClearable,
521
- isDisabled = _this$props4.isDisabled,
522
- isInvalid = _this$props4.isInvalid,
523
- clearValueLabel = _this$props4.clearValueLabel,
524
- menuMinWidth = _this$props4.menuMinWidth,
525
- menuPortalTarget = _this$props4.menuPortalTarget,
526
- loadOptionsErrorMessage = _this$props4.loadOptionsErrorMessage,
527
- addMoreMessage = _this$props4.addMoreMessage,
528
- noOptionsMessage = _this$props4.noOptionsMessage,
529
- footer = _this$props4.footer,
530
- disableInput = _this$props4.disableInput,
531
- components = _this$props4.components,
532
- pickerProps = _this$props4.pickerProps,
533
- SelectComponent = _this$props4.SelectComponent,
534
- styles = _this$props4.styles,
535
- autoFocus = _this$props4.autoFocus,
536
- fieldId = _this$props4.fieldId,
537
- inputId = _this$props4.inputId,
538
- maxPickerHeight = _this$props4.maxPickerHeight,
539
- textFieldBackgroundColor = _this$props4.textFieldBackgroundColor,
540
- ariaLabelledBy = _this$props4.ariaLabelledBy,
541
- ariaDescribedBy = _this$props4.ariaDescribedBy,
542
- ariaLive = _this$props4.ariaLive,
543
- ariaLabel = _this$props4.ariaLabel,
544
- name = _this$props4.name,
545
- header = _this$props4.header,
546
- required = _this$props4.required,
547
- UNSAFE_hasDraggableParentComponent = _this$props4.UNSAFE_hasDraggableParentComponent,
548
- placeholderAvatar = _this$props4.placeholderAvatar;
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,
@@ -1,4 +1,4 @@
1
- /* ClearIndicator.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* ClearIndicator.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* Control.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* Control.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -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 -- Ignored via go/DSP-18766
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 -- Ignored via go/DSP-18766
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 -- Ignored via go/DSP-18766
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 -- Ignored via go/DSP-18766
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 -- Ignored via go/DSP-18766
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,4 +1,4 @@
1
- /* Input.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* Input.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -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 _excluded = ["children", "innerProps"];
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 groupTagContainer = (0, _primitives.xcss)({
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: groupTagContainer
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
- _this$props$data = _this$props.data,
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 _nextProps$data = nextProps.data,
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
- innerProps = _this$props2.innerProps,
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
  },
@@ -1,4 +1,4 @@
1
- /* MultiValueContainer.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* MultiValueContainer.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,6 +1,8 @@
1
1
  ._16jlkb7n{flex-grow:1}
2
2
  ._18m915vq{overflow-y:hidden}
3
+ ._19bv1b66{padding-left:var(--ds-space-050,4px)}
3
4
  ._1bto1l2s{text-overflow:ellipsis}
5
+ ._1e0c1txw{display:flex}
4
6
  ._1o9zkb7n{flex-shrink:1}
5
7
  ._1reo15vq{overflow-x:hidden}
6
8
  ._1ul953f4{min-width:75pt}