@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 +7 -0
- package/dist/cjs/components/AvatarItemOption.js +10 -16
- package/dist/cjs/components/ExternalUserOption/ExternalAvatarItemOption.js +43 -0
- package/dist/cjs/components/ExternalUserOption/InfoIcon.js +57 -0
- package/dist/cjs/components/ExternalUserOption/main.js +9 -12
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/AvatarItemOption.js +3 -9
- package/dist/es2019/components/ExternalUserOption/ExternalAvatarItemOption.js +49 -0
- package/dist/es2019/components/ExternalUserOption/InfoIcon.js +22 -0
- package/dist/es2019/components/ExternalUserOption/main.js +7 -11
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/AvatarItemOption.js +10 -16
- package/dist/esm/components/ExternalUserOption/ExternalAvatarItemOption.js +24 -0
- package/dist/esm/components/ExternalUserOption/InfoIcon.js +33 -0
- package/dist/esm/components/ExternalUserOption/main.js +7 -11
- package/dist/esm/version.json +1 -1
- package/dist/types/components/AvatarItemOption.d.ts +1 -2
- package/dist/types/components/ExternalUserOption/ExternalAvatarItemOption.d.ts +8 -0
- package/dist/types/components/ExternalUserOption/InfoIcon.d.ts +3 -0
- package/package.json +1 -1
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
|
|
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 (
|
|
53
|
-
var 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(
|
|
60
|
-
var avatar =
|
|
61
|
-
primaryText =
|
|
62
|
-
secondaryText =
|
|
63
|
-
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))
|
|
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
|
|
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(
|
|
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(
|
|
181
|
+
return /*#__PURE__*/_react.default.createElement(_ExternalAvatarItemOption.ExternalAvatarItemOption, {
|
|
185
182
|
avatar: this.renderAvatar(),
|
|
186
183
|
primaryText: this.getPrimaryText(),
|
|
187
184
|
secondaryText: this.renderSecondaryText(),
|
package/dist/cjs/version.json
CHANGED
|
@@ -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))
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
125
|
+
return /*#__PURE__*/React.createElement(ExternalAvatarItemOption, {
|
|
130
126
|
avatar: this.renderAvatar(),
|
|
131
127
|
primaryText: this.getPrimaryText(),
|
|
132
128
|
secondaryText: this.renderSecondaryText(),
|
package/dist/es2019/version.json
CHANGED
|
@@ -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
|
|
25
|
-
|
|
26
|
-
|
|
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(
|
|
33
|
-
var avatar =
|
|
34
|
-
primaryText =
|
|
35
|
-
secondaryText =
|
|
36
|
-
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))
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
138
|
+
return /*#__PURE__*/React.createElement(ExternalAvatarItemOption, {
|
|
143
139
|
avatar: this.renderAvatar(),
|
|
144
140
|
primaryText: this.getPrimaryText(),
|
|
145
141
|
secondaryText: this.renderSecondaryText(),
|
package/dist/esm/version.json
CHANGED
|
@@ -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,
|
|
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;
|