@atlaskit/user-picker 8.4.1 → 8.5.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,12 @@
1
1
  # @atlaskit/user-picker
2
2
 
3
+ ## 8.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`b74959620f2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b74959620f2) - added hover state for info icon, and updated primary color correspondingly
8
+ separated avatar item option for external users and applied different css settings
9
+
3
10
  ## 8.4.1
4
11
 
5
12
  ### Patch Changes
@@ -44,24 +44,20 @@ var Text = _styledComponents.default.span(_templateObject2 || (_templateObject2
44
44
  return secondary && "color: ".concat((0, _tokens.token)('color.text.selected', _colors.B400), "; font-size: 0.85em;");
45
45
  });
46
46
 
47
- var AdditionalInfo = _styledComponents.default.span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n float: right;\n ", "\n"])), function (_ref2) {
48
- var withTooltip = _ref2.withTooltip;
49
- return withTooltip && " padding-top: 5px;";
50
- });
47
+ var AdditionalInfo = _styledComponents.default.span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n float: right;\n"])));
51
48
 
52
- var TextWrapper = _styledComponents.default.span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n"])), function (_ref3) {
53
- var color = _ref3.color;
49
+ var TextWrapper = _styledComponents.default.span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n"])), function (_ref2) {
50
+ var color = _ref2.color;
54
51
  return color;
55
52
  });
56
53
 
57
54
  exports.TextWrapper = TextWrapper;
58
55
 
59
- var AvatarItemOption = function AvatarItemOption(_ref4) {
60
- var avatar = _ref4.avatar,
61
- primaryText = _ref4.primaryText,
62
- secondaryText = _ref4.secondaryText,
63
- lozenge = _ref4.lozenge,
64
- sourcesInfoTooltip = _ref4.sourcesInfoTooltip;
56
+ var AvatarItemOption = function AvatarItemOption(_ref3) {
57
+ var avatar = _ref3.avatar,
58
+ primaryText = _ref3.primaryText,
59
+ secondaryText = _ref3.secondaryText,
60
+ lozenge = _ref3.lozenge;
65
61
  return /*#__PURE__*/_react.default.createElement(Wrapper, null, avatar, /*#__PURE__*/_react.default.createElement("div", {
66
62
  style: {
67
63
  maxWidth: '100%',
@@ -70,9 +66,7 @@ var AvatarItemOption = function AvatarItemOption(_ref4) {
70
66
  lineHeight: '1.4',
71
67
  paddingLeft: '8px'
72
68
  }
73
- }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, null, primaryText), /*#__PURE__*/_react.default.createElement(AdditionalInfo, {
74
- withTooltip: Boolean(sourcesInfoTooltip)
75
- }, !sourcesInfoTooltip && (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
69
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, null, primaryText), /*#__PURE__*/_react.default.createElement(AdditionalInfo, null, (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
76
70
  /*#__PURE__*/
77
71
  // Note that entire Lozenge must be wrapped in the Tooltip (rather than just the
78
72
  // Lozenge text) or tooltip won't work
@@ -80,7 +74,7 @@ var AvatarItemOption = function AvatarItemOption(_ref4) {
80
74
  fallback: /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text)
81
75
  }, /*#__PURE__*/_react.default.createElement(AsyncTooltip, {
82
76
  content: lozenge.tooltip
83
- }, /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text))) : /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, {
77
+ }, /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text))) : /*#__PURE__*/_react.default.createElement(_lozenge.default, lozenge, lozenge.text)))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, {
84
78
  secondary: true
85
79
  }, secondaryText))));
86
80
  };
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ExternalAvatarItemOption = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _colors = require("@atlaskit/theme/colors");
17
+
18
+ var _tokens = require("@atlaskit/tokens");
19
+
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
21
+
22
+ var OuterWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n box-sizing: border-box;\n display: flex;\n line-height: 1;\n outline: none;\n margin: 0;\n width: 100%;\n cursor: pointer;\n"])));
23
+
24
+ var DetailsWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n max-width: 100%;\n min-width: 0;\n flex: 1 1 100%;\n line-height: 1.4;\n padding-left: 8px;\n align-items: center;\n"])));
25
+
26
+ var TextSection = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n width: calc(100% - 32px);\n flex: auto;\n"])));
27
+
28
+ var Text = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n max-width: 100%;\n margin: 0;\n color: ", ";\n ", "\n white-space: nowrap;\n\n > span {\n max-width: inherit;\n }\n"])), (0, _tokens.token)('color.text.selected', _colors.B400), function (_ref) {
29
+ var secondary = _ref.secondary;
30
+ return secondary && "color: ".concat((0, _tokens.token)('color.text.selected', _colors.B400), "; font-size: 0.85em;");
31
+ });
32
+
33
+ var ExternalAvatarItemOption = function ExternalAvatarItemOption(_ref2) {
34
+ var avatar = _ref2.avatar,
35
+ primaryText = _ref2.primaryText,
36
+ secondaryText = _ref2.secondaryText,
37
+ sourcesInfoTooltip = _ref2.sourcesInfoTooltip;
38
+ return /*#__PURE__*/_react.default.createElement(OuterWrapper, null, avatar, /*#__PURE__*/_react.default.createElement(DetailsWrapper, null, /*#__PURE__*/_react.default.createElement(TextSection, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, null, primaryText)), secondaryText && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Text, {
39
+ secondary: true
40
+ }, secondaryText))), /*#__PURE__*/_react.default.createElement("div", null, sourcesInfoTooltip)));
41
+ };
42
+
43
+ exports.ExternalAvatarItemOption = ExternalAvatarItemOption;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _panel = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/panel"));
21
+
22
+ var _colors = require("@atlaskit/theme/colors");
23
+
24
+ var _tokens = require("@atlaskit/tokens");
25
+
26
+ var _templateObject;
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n"])));
33
+
34
+ var _default = function _default() {
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ isMouseHovered = _useState2[0],
38
+ setHoverState = _useState2[1];
39
+
40
+ var onMouseEnter = (0, _react.useCallback)(function () {
41
+ return setHoverState(true);
42
+ }, [setHoverState]);
43
+ var onMouseLeave = (0, _react.useCallback)(function () {
44
+ return setHoverState(false);
45
+ }, [setHoverState]);
46
+ return /*#__PURE__*/_react.default.createElement(Wrapper, {
47
+ onMouseEnter: onMouseEnter,
48
+ onMouseLeave: onMouseLeave
49
+ }, /*#__PURE__*/_react.default.createElement(_panel.default, {
50
+ testId: "source-icon",
51
+ label: "",
52
+ size: "large",
53
+ primaryColor: (0, _tokens.token)('color.text.lowEmphasis', isMouseHovered ? _colors.N200 : _colors.N50)
54
+ }));
55
+ };
56
+
57
+ exports.default = _default;
@@ -29,26 +29,24 @@ var _react = _interopRequireDefault(require("react"));
29
29
 
30
30
  var _reactIntlNext = require("react-intl-next");
31
31
 
32
- var _panel = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/panel"));
32
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
33
33
 
34
34
  var _confluenceIcon = require("@atlaskit/logo/confluence-icon");
35
35
 
36
36
  var _jiraIcon = require("@atlaskit/logo/jira-icon");
37
37
 
38
- var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
39
-
40
38
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
41
39
 
42
40
  var _colors = require("@atlaskit/theme/colors");
43
41
 
44
42
  var _tokens = require("@atlaskit/tokens");
45
43
 
44
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
45
+
46
46
  var _AvatarItemOption = require("../AvatarItemOption");
47
47
 
48
48
  var _SizeableAvatar = require("../SizeableAvatar");
49
49
 
50
- var _styledComponents = _interopRequireDefault(require("styled-components"));
51
-
52
50
  var _slack = require("../assets/slack");
53
51
 
54
52
  var _google = require("../assets/google");
@@ -61,6 +59,10 @@ var _i18n = require("../i18n");
61
59
 
62
60
  var _ExternalUserSourcesContainer = require("../ExternalUserSourcesContainer");
63
61
 
62
+ var _InfoIcon = _interopRequireDefault(require("./InfoIcon"));
63
+
64
+ var _ExternalAvatarItemOption = require("./ExternalAvatarItemOption");
65
+
64
66
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
65
67
 
66
68
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -168,12 +170,7 @@ var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
168
170
  return _this.props.user.isExternal ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
169
171
  content: _this.formattedTooltipContent(),
170
172
  position: 'right-start'
171
- }, /*#__PURE__*/_react.default.createElement(_panel.default, {
172
- testId: "source-icon",
173
- label: "",
174
- size: "large",
175
- primaryColor: (0, _tokens.token)('color.text.lowEmphasis', _colors.N200)
176
- })) : undefined;
173
+ }, /*#__PURE__*/_react.default.createElement(_InfoIcon.default, null)) : undefined;
177
174
  });
178
175
  return _this;
179
176
  }
@@ -181,7 +178,7 @@ var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
181
178
  (0, _createClass2.default)(ExternalUserOption, [{
182
179
  key: "render",
183
180
  value: function render() {
184
- return /*#__PURE__*/_react.default.createElement(_AvatarItemOption.AvatarItemOption, {
181
+ return /*#__PURE__*/_react.default.createElement(_ExternalAvatarItemOption.ExternalAvatarItemOption, {
185
182
  avatar: this.renderAvatar(),
186
183
  primaryText: this.getPrimaryText(),
187
184
  secondaryText: this.renderSecondaryText(),
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.4.1",
3
+ "version": "8.5.0",
4
4
  "sideEffects": false
5
5
  }
@@ -32,9 +32,6 @@ const Text = styled.span`
32
32
  `;
33
33
  const AdditionalInfo = styled.span`
34
34
  float: right;
35
- ${({
36
- withTooltip
37
- }) => withTooltip && ` padding-top: 5px;`}
38
35
  `;
39
36
  export const TextWrapper = styled.span`
40
37
  color: ${({
@@ -48,8 +45,7 @@ export const AvatarItemOption = ({
48
45
  avatar,
49
46
  primaryText,
50
47
  secondaryText,
51
- lozenge,
52
- sourcesInfoTooltip
48
+ lozenge
53
49
  }) => /*#__PURE__*/React.createElement(Wrapper, null, avatar, /*#__PURE__*/React.createElement("div", {
54
50
  style: {
55
51
  maxWidth: '100%',
@@ -58,9 +54,7 @@ export const AvatarItemOption = ({
58
54
  lineHeight: '1.4',
59
55
  paddingLeft: '8px'
60
56
  }
61
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText), /*#__PURE__*/React.createElement(AdditionalInfo, {
62
- withTooltip: Boolean(sourcesInfoTooltip)
63
- }, !sourcesInfoTooltip && (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
57
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText), /*#__PURE__*/React.createElement(AdditionalInfo, null, (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
64
58
  /*#__PURE__*/
65
59
  // Note that entire Lozenge must be wrapped in the Tooltip (rather than just the
66
60
  // Lozenge text) or tooltip won't work
@@ -68,6 +62,6 @@ React.createElement(React.Suspense, {
68
62
  fallback: /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)
69
63
  }, /*#__PURE__*/React.createElement(AsyncTooltip, {
70
64
  content: lozenge.tooltip
71
- }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text))) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
65
+ }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text))) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
72
66
  secondary: true
73
67
  }, secondaryText))));
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+ import { B400 } from '@atlaskit/theme/colors';
4
+ import { token } from '@atlaskit/tokens';
5
+ const OuterWrapper = styled.div`
6
+ align-items: center;
7
+ box-sizing: border-box;
8
+ display: flex;
9
+ line-height: 1;
10
+ outline: none;
11
+ margin: 0;
12
+ width: 100%;
13
+ cursor: pointer;
14
+ `;
15
+ const DetailsWrapper = styled.div`
16
+ display: flex;
17
+ max-width: 100%;
18
+ min-width: 0;
19
+ flex: 1 1 100%;
20
+ line-height: 1.4;
21
+ padding-left: 8px;
22
+ align-items: center;
23
+ `;
24
+ const TextSection = styled.div`
25
+ width: calc(100% - 32px);
26
+ flex: auto;
27
+ `;
28
+ const Text = styled.div`
29
+ display: flex;
30
+ max-width: 100%;
31
+ margin: 0;
32
+ color: ${token('color.text.selected', B400)};
33
+ ${({
34
+ secondary
35
+ }) => secondary && `color: ${token('color.text.selected', B400)}; font-size: 0.85em;`}
36
+ white-space: nowrap;
37
+
38
+ > span {
39
+ max-width: inherit;
40
+ }
41
+ `;
42
+ export const ExternalAvatarItemOption = ({
43
+ avatar,
44
+ primaryText,
45
+ secondaryText,
46
+ sourcesInfoTooltip
47
+ }) => /*#__PURE__*/React.createElement(OuterWrapper, null, avatar, /*#__PURE__*/React.createElement(DetailsWrapper, null, /*#__PURE__*/React.createElement(TextSection, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText)), secondaryText && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
48
+ secondary: true
49
+ }, secondaryText))), /*#__PURE__*/React.createElement("div", null, sourcesInfoTooltip)));
@@ -0,0 +1,22 @@
1
+ import React, { useCallback, useState } from 'react';
2
+ import styled from 'styled-components';
3
+ import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
4
+ import { N50, N200 } from '@atlaskit/theme/colors';
5
+ import { token } from '@atlaskit/tokens';
6
+ const Wrapper = styled.div`
7
+ display: flex;
8
+ `;
9
+ export default (() => {
10
+ const [isMouseHovered, setHoverState] = useState(false);
11
+ const onMouseEnter = useCallback(() => setHoverState(true), [setHoverState]);
12
+ const onMouseLeave = useCallback(() => setHoverState(false), [setHoverState]);
13
+ return /*#__PURE__*/React.createElement(Wrapper, {
14
+ onMouseEnter: onMouseEnter,
15
+ onMouseLeave: onMouseLeave
16
+ }, /*#__PURE__*/React.createElement(EditorPanelIcon, {
17
+ testId: "source-icon",
18
+ label: "",
19
+ size: "large",
20
+ primaryColor: token('color.text.lowEmphasis', isMouseHovered ? N200 : N50)
21
+ }));
22
+ });
@@ -1,22 +1,23 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import React from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
- import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
4
+ import styled from 'styled-components';
5
5
  import { ConfluenceIcon } from '@atlaskit/logo/confluence-icon';
6
6
  import { JiraIcon } from '@atlaskit/logo/jira-icon';
7
- import Tooltip from '@atlaskit/tooltip';
8
7
  import Spinner from '@atlaskit/spinner';
9
8
  import { B400, N200, N800 } from '@atlaskit/theme/colors';
10
9
  import { token } from '@atlaskit/tokens';
11
- import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
10
+ import Tooltip from '@atlaskit/tooltip';
11
+ import { TextWrapper } from '../AvatarItemOption';
12
12
  import { SizeableAvatar } from '../SizeableAvatar';
13
- import styled from 'styled-components';
14
13
  import { SlackIcon } from '../assets/slack';
15
14
  import { GoogleIcon } from '../assets/google';
16
15
  import { MicrosoftIcon } from '../assets/microsoft';
17
16
  import { GitHubIcon } from '../assets/github';
18
17
  import { messages } from '../i18n';
19
18
  import { ExternalUserSourcesContainer } from '../ExternalUserSourcesContainer';
19
+ import InfoIcon from './InfoIcon';
20
+ import { ExternalAvatarItemOption } from './ExternalAvatarItemOption';
20
21
  export const ImageContainer = styled.span`
21
22
  height: 16px;
22
23
  width: 16px;
@@ -117,16 +118,11 @@ export class ExternalUserOption extends React.PureComponent {
117
118
  _defineProperty(this, "getSourcesInfoTooltip", () => this.props.user.isExternal ? /*#__PURE__*/React.createElement(Tooltip, {
118
119
  content: this.formattedTooltipContent(),
119
120
  position: 'right-start'
120
- }, /*#__PURE__*/React.createElement(EditorPanelIcon, {
121
- testId: "source-icon",
122
- label: "",
123
- size: "large",
124
- primaryColor: token('color.text.lowEmphasis', N200)
125
- })) : undefined);
121
+ }, /*#__PURE__*/React.createElement(InfoIcon, null)) : undefined);
126
122
  }
127
123
 
128
124
  render() {
129
- return /*#__PURE__*/React.createElement(AvatarItemOption, {
125
+ return /*#__PURE__*/React.createElement(ExternalAvatarItemOption, {
130
126
  avatar: this.renderAvatar(),
131
127
  primaryText: this.getPrimaryText(),
132
128
  secondaryText: this.renderSecondaryText(),
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.4.1",
3
+ "version": "8.5.0",
4
4
  "sideEffects": false
5
5
  }
@@ -21,20 +21,16 @@ var Text = styled.span(_templateObject2 || (_templateObject2 = _taggedTemplateLi
21
21
  var secondary = _ref.secondary;
22
22
  return secondary && "color: ".concat(token('color.text.selected', B400), "; font-size: 0.85em;");
23
23
  });
24
- var AdditionalInfo = styled.span(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n float: right;\n ", "\n"])), function (_ref2) {
25
- var withTooltip = _ref2.withTooltip;
26
- return withTooltip && " padding-top: 5px;";
27
- });
28
- export var TextWrapper = styled.span(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n"])), function (_ref3) {
29
- var color = _ref3.color;
24
+ var AdditionalInfo = styled.span(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n float: right;\n"])));
25
+ export var TextWrapper = styled.span(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n"])), function (_ref2) {
26
+ var color = _ref2.color;
30
27
  return color;
31
28
  });
32
- export var AvatarItemOption = function AvatarItemOption(_ref4) {
33
- var avatar = _ref4.avatar,
34
- primaryText = _ref4.primaryText,
35
- secondaryText = _ref4.secondaryText,
36
- lozenge = _ref4.lozenge,
37
- sourcesInfoTooltip = _ref4.sourcesInfoTooltip;
29
+ export var AvatarItemOption = function AvatarItemOption(_ref3) {
30
+ var avatar = _ref3.avatar,
31
+ primaryText = _ref3.primaryText,
32
+ secondaryText = _ref3.secondaryText,
33
+ lozenge = _ref3.lozenge;
38
34
  return /*#__PURE__*/React.createElement(Wrapper, null, avatar, /*#__PURE__*/React.createElement("div", {
39
35
  style: {
40
36
  maxWidth: '100%',
@@ -43,9 +39,7 @@ export var AvatarItemOption = function AvatarItemOption(_ref4) {
43
39
  lineHeight: '1.4',
44
40
  paddingLeft: '8px'
45
41
  }
46
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText), /*#__PURE__*/React.createElement(AdditionalInfo, {
47
- withTooltip: Boolean(sourcesInfoTooltip)
48
- }, !sourcesInfoTooltip && (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
42
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText), /*#__PURE__*/React.createElement(AdditionalInfo, null, (lozenge === null || lozenge === void 0 ? void 0 : lozenge.text) && (lozenge !== null && lozenge !== void 0 && lozenge.tooltip ?
49
43
  /*#__PURE__*/
50
44
  // Note that entire Lozenge must be wrapped in the Tooltip (rather than just the
51
45
  // Lozenge text) or tooltip won't work
@@ -53,7 +47,7 @@ export var AvatarItemOption = function AvatarItemOption(_ref4) {
53
47
  fallback: /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)
54
48
  }, /*#__PURE__*/React.createElement(AsyncTooltip, {
55
49
  content: lozenge.tooltip
56
- }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text))) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)), sourcesInfoTooltip)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
50
+ }, /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text))) : /*#__PURE__*/React.createElement(Lozenge, lozenge, lozenge.text)))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
57
51
  secondary: true
58
52
  }, secondaryText))));
59
53
  };
@@ -0,0 +1,24 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
4
+
5
+ import React from 'react';
6
+ import styled from 'styled-components';
7
+ import { B400 } from '@atlaskit/theme/colors';
8
+ import { token } from '@atlaskit/tokens';
9
+ var OuterWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n box-sizing: border-box;\n display: flex;\n line-height: 1;\n outline: none;\n margin: 0;\n width: 100%;\n cursor: pointer;\n"])));
10
+ var DetailsWrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n max-width: 100%;\n min-width: 0;\n flex: 1 1 100%;\n line-height: 1.4;\n padding-left: 8px;\n align-items: center;\n"])));
11
+ var TextSection = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: calc(100% - 32px);\n flex: auto;\n"])));
12
+ var Text = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n max-width: 100%;\n margin: 0;\n color: ", ";\n ", "\n white-space: nowrap;\n\n > span {\n max-width: inherit;\n }\n"])), token('color.text.selected', B400), function (_ref) {
13
+ var secondary = _ref.secondary;
14
+ return secondary && "color: ".concat(token('color.text.selected', B400), "; font-size: 0.85em;");
15
+ });
16
+ export var ExternalAvatarItemOption = function ExternalAvatarItemOption(_ref2) {
17
+ var avatar = _ref2.avatar,
18
+ primaryText = _ref2.primaryText,
19
+ secondaryText = _ref2.secondaryText,
20
+ sourcesInfoTooltip = _ref2.sourcesInfoTooltip;
21
+ return /*#__PURE__*/React.createElement(OuterWrapper, null, avatar, /*#__PURE__*/React.createElement(DetailsWrapper, null, /*#__PURE__*/React.createElement(TextSection, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, null, primaryText)), secondaryText && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
22
+ secondary: true
23
+ }, secondaryText))), /*#__PURE__*/React.createElement("div", null, sourcesInfoTooltip)));
24
+ };
@@ -0,0 +1,33 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
+
4
+ var _templateObject;
5
+
6
+ import React, { useCallback, useState } from 'react';
7
+ import styled from 'styled-components';
8
+ import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
9
+ import { N50, N200 } from '@atlaskit/theme/colors';
10
+ import { token } from '@atlaskit/tokens';
11
+ var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n"])));
12
+ export default (function () {
13
+ var _useState = useState(false),
14
+ _useState2 = _slicedToArray(_useState, 2),
15
+ isMouseHovered = _useState2[0],
16
+ setHoverState = _useState2[1];
17
+
18
+ var onMouseEnter = useCallback(function () {
19
+ return setHoverState(true);
20
+ }, [setHoverState]);
21
+ var onMouseLeave = useCallback(function () {
22
+ return setHoverState(false);
23
+ }, [setHoverState]);
24
+ return /*#__PURE__*/React.createElement(Wrapper, {
25
+ onMouseEnter: onMouseEnter,
26
+ onMouseLeave: onMouseLeave
27
+ }, /*#__PURE__*/React.createElement(EditorPanelIcon, {
28
+ testId: "source-icon",
29
+ label: "",
30
+ size: "large",
31
+ primaryColor: token('color.text.lowEmphasis', isMouseHovered ? N200 : N50)
32
+ }));
33
+ });
@@ -16,22 +16,23 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
16
16
 
17
17
  import React from 'react';
18
18
  import { FormattedMessage } from 'react-intl-next';
19
- import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
19
+ import styled from 'styled-components';
20
20
  import { ConfluenceIcon } from '@atlaskit/logo/confluence-icon';
21
21
  import { JiraIcon } from '@atlaskit/logo/jira-icon';
22
- import Tooltip from '@atlaskit/tooltip';
23
22
  import Spinner from '@atlaskit/spinner';
24
23
  import { B400, N200, N800 } from '@atlaskit/theme/colors';
25
24
  import { token } from '@atlaskit/tokens';
26
- import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
25
+ import Tooltip from '@atlaskit/tooltip';
26
+ import { TextWrapper } from '../AvatarItemOption';
27
27
  import { SizeableAvatar } from '../SizeableAvatar';
28
- import styled from 'styled-components';
29
28
  import { SlackIcon } from '../assets/slack';
30
29
  import { GoogleIcon } from '../assets/google';
31
30
  import { MicrosoftIcon } from '../assets/microsoft';
32
31
  import { GitHubIcon } from '../assets/github';
33
32
  import { messages } from '../i18n';
34
33
  import { ExternalUserSourcesContainer } from '../ExternalUserSourcesContainer';
34
+ import InfoIcon from './InfoIcon';
35
+ import { ExternalAvatarItemOption } from './ExternalAvatarItemOption';
35
36
  export var ImageContainer = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 16px;\n width: 16px;\n padding-right: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
36
37
  export var SourcesTooltipContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding-bottom: 4px;\n padding-right: 4px;\n"])));
37
38
  export var SourceWrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding-top: 4px;\n display: flex;\n align-items: center;\n"])));
@@ -125,12 +126,7 @@ export var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
125
126
  return _this.props.user.isExternal ? /*#__PURE__*/React.createElement(Tooltip, {
126
127
  content: _this.formattedTooltipContent(),
127
128
  position: 'right-start'
128
- }, /*#__PURE__*/React.createElement(EditorPanelIcon, {
129
- testId: "source-icon",
130
- label: "",
131
- size: "large",
132
- primaryColor: token('color.text.lowEmphasis', N200)
133
- })) : undefined;
129
+ }, /*#__PURE__*/React.createElement(InfoIcon, null)) : undefined;
134
130
  });
135
131
 
136
132
  return _this;
@@ -139,7 +135,7 @@ export var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
139
135
  _createClass(ExternalUserOption, [{
140
136
  key: "render",
141
137
  value: function render() {
142
- return /*#__PURE__*/React.createElement(AvatarItemOption, {
138
+ return /*#__PURE__*/React.createElement(ExternalAvatarItemOption, {
143
139
  avatar: this.renderAvatar(),
144
140
  primaryText: this.getPrimaryText(),
145
141
  secondaryText: this.renderSecondaryText(),
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.4.1",
3
+ "version": "8.5.0",
4
4
  "sideEffects": false
5
5
  }
@@ -6,6 +6,5 @@ export declare type AvatarItemOptionProps = {
6
6
  primaryText?: ReactNode;
7
7
  secondaryText?: ReactNode;
8
8
  lozenge?: LozengeProps;
9
- sourcesInfoTooltip?: ReactNode;
10
9
  };
11
- export declare const AvatarItemOption: ({ avatar, primaryText, secondaryText, lozenge, sourcesInfoTooltip, }: AvatarItemOptionProps) => JSX.Element;
10
+ export declare const AvatarItemOption: ({ avatar, primaryText, secondaryText, lozenge, }: AvatarItemOptionProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ export declare type ExternalAvatarItemOptionProps = {
3
+ avatar: ReactNode;
4
+ primaryText: ReactNode;
5
+ secondaryText?: ReactNode;
6
+ sourcesInfoTooltip?: ReactNode;
7
+ };
8
+ export declare const ExternalAvatarItemOption: ({ avatar, primaryText, secondaryText, sourcesInfoTooltip, }: ExternalAvatarItemOptionProps) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/user-picker",
3
- "version": "8.4.1",
3
+ "version": "8.5.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/"