@atlaskit/smart-card 17.1.0 → 17.3.1
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 +28 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/FlexibleCard/components/actions/{delete-action → action}/index.js +40 -25
- package/dist/cjs/view/FlexibleCard/components/actions/{types.js → action/types.js} +0 -0
- package/dist/cjs/view/FlexibleCard/components/actions/index.js +3 -1
- package/dist/cjs/view/FlexibleCard/components/actions/utils.js +34 -6
- package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +7 -6
- package/dist/cjs/view/FlexibleCard/components/blocks/index.js +9 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/metadata-block/index.js +116 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/metadata-block/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +20 -10
- package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +24 -2
- package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +49 -40
- package/dist/cjs/view/FlexibleCard/components/utils.js +1 -1
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/FlexibleCard/components/actions/{delete-action → action}/index.js +31 -15
- package/dist/es2019/view/FlexibleCard/components/actions/{types.js → action/types.js} +0 -0
- package/dist/es2019/view/FlexibleCard/components/actions/index.js +5 -3
- package/dist/es2019/view/FlexibleCard/components/actions/utils.js +27 -4
- package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +1 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +12 -5
- package/dist/es2019/view/FlexibleCard/components/blocks/index.js +2 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/metadata-block/index.js +97 -0
- package/dist/{esm/view/FlexibleCard/components/actions → es2019/view/FlexibleCard/components/blocks/metadata-block}/types.js +0 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +16 -9
- package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +28 -2
- package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +49 -38
- package/dist/es2019/view/FlexibleCard/components/utils.js +0 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/FlexibleCard/components/actions/action/index.js +82 -0
- package/dist/esm/view/FlexibleCard/components/actions/action/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/actions/index.js +5 -3
- package/dist/esm/view/FlexibleCard/components/actions/utils.js +26 -4
- package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +1 -1
- package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +7 -6
- package/dist/esm/view/FlexibleCard/components/blocks/index.js +2 -1
- package/dist/esm/view/FlexibleCard/components/blocks/metadata-block/index.js +97 -0
- package/dist/esm/view/FlexibleCard/components/blocks/metadata-block/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +1 -1
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +17 -10
- package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +24 -2
- package/dist/esm/view/FlexibleCard/components/elements/link/index.js +1 -1
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +49 -40
- package/dist/esm/view/FlexibleCard/components/utils.js +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/actions/action/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +18 -0
- package/dist/types/view/FlexibleCard/components/actions/index.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/actions/utils.d.ts +2 -1
- package/dist/types/view/FlexibleCard/components/blocks/element-group/types.d.ts +2 -0
- package/dist/types/view/FlexibleCard/components/blocks/index.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/blocks/metadata-block/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/blocks/metadata-block/types.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/blocks/utils.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/elements/avatar-group/index.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/elements/avatar-group/types.d.ts +1 -2
- package/package.json +1 -1
- package/dist/esm/view/FlexibleCard/components/actions/delete-action/index.js +0 -64
- package/dist/types/view/FlexibleCard/components/actions/delete-action/index.d.ts +0 -5
- package/dist/types/view/FlexibleCard/components/actions/types.d.ts +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 17.3.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`66dc86e0331`](https://bitbucket.org/atlassian/atlassian-frontend/commits/66dc86e0331) - Flexible UI: Check for null element
|
|
8
|
+
|
|
9
|
+
## 17.3.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`dab29fc6697`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dab29fc6697) - [ux] Flexible UI: AvatarGroup sizing updated for small and medium size
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [`25408fac413`](https://bitbucket.org/atlassian/atlassian-frontend/commits/25408fac413) - Flexible UI: Add MetadataBlock example
|
|
18
|
+
|
|
19
|
+
## 17.2.1
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- [`1d701660954`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1d701660954) - Refactored deleteAction into a re-usable action component
|
|
24
|
+
|
|
25
|
+
## 17.2.0
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- [`3200ce3abc5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3200ce3abc5) - Flexible UI: Add MetadataBlock
|
|
30
|
+
|
|
3
31
|
## 17.1.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
package/dist/cjs/index.js
CHANGED
|
@@ -53,6 +53,12 @@ Object.defineProperty(exports, "EmbedResizeMessageListener", {
|
|
|
53
53
|
return _EmbedResizeMessageListener.EmbedResizeMessageListener;
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
|
+
Object.defineProperty(exports, "MetadataBlock", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function get() {
|
|
59
|
+
return _blocks.MetadataBlock;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
56
62
|
Object.defineProperty(exports, "Provider", {
|
|
57
63
|
enumerable: true,
|
|
58
64
|
get: function get() {
|
package/dist/cjs/version.json
CHANGED
|
@@ -11,22 +11,16 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
11
11
|
|
|
12
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
|
|
14
|
-
var _reactIntlNext = require("react-intl-next");
|
|
15
|
-
|
|
16
14
|
var _core = require("@emotion/core");
|
|
17
15
|
|
|
18
16
|
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
19
17
|
|
|
20
|
-
var _cross = _interopRequireDefault(require("@atlaskit/icon/glyph/cross"));
|
|
21
|
-
|
|
22
18
|
var _constants = require("../../../../../constants");
|
|
23
19
|
|
|
24
20
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
25
21
|
|
|
26
22
|
var _utils = require("../../utils");
|
|
27
23
|
|
|
28
|
-
var _messages = require("../../../../../messages");
|
|
29
|
-
|
|
30
24
|
var _token = require("../../../../../utils/token");
|
|
31
25
|
|
|
32
26
|
var _utils2 = require("../../../../../utils");
|
|
@@ -46,38 +40,59 @@ var getWidth = function getWidth(size) {
|
|
|
46
40
|
}
|
|
47
41
|
};
|
|
48
42
|
|
|
49
|
-
var
|
|
43
|
+
var getIconStyles = function getIconStyles(size) {
|
|
50
44
|
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n ", ";\n"])), _token.tokens.actionIcon, (0, _utils.getIconSizeStyles)(getWidth(size)));
|
|
51
45
|
};
|
|
52
46
|
|
|
53
|
-
var
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
var ActionIcon = function ActionIcon(_ref) {
|
|
48
|
+
var size = _ref.size,
|
|
49
|
+
testId = _ref.testId,
|
|
50
|
+
icon = _ref.icon;
|
|
51
|
+
return (0, _core.jsx)("span", {
|
|
52
|
+
css: getIconStyles(size),
|
|
53
|
+
"data-testid": "".concat(testId, "-icon")
|
|
54
|
+
}, icon);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var Action = function Action(_ref2) {
|
|
58
|
+
var _ref2$appearance = _ref2.appearance,
|
|
59
|
+
appearance = _ref2$appearance === void 0 ? 'subtle' : _ref2$appearance,
|
|
60
|
+
content = _ref2.content,
|
|
61
|
+
onClick = _ref2.onClick,
|
|
62
|
+
_ref2$size = _ref2.size,
|
|
63
|
+
size = _ref2$size === void 0 ? _constants.SmartLinkSize.Medium : _ref2$size,
|
|
64
|
+
_ref2$testId = _ref2.testId,
|
|
65
|
+
testId = _ref2$testId === void 0 ? 'smart-action' : _ref2$testId,
|
|
66
|
+
icon = _ref2.icon,
|
|
67
|
+
_ref2$iconPosition = _ref2.iconPosition,
|
|
68
|
+
iconPosition = _ref2$iconPosition === void 0 ? 'before' : _ref2$iconPosition,
|
|
69
|
+
tooltipMessage = _ref2.tooltipMessage;
|
|
62
70
|
|
|
63
71
|
if (!onClick) {
|
|
64
72
|
return null;
|
|
65
73
|
}
|
|
66
74
|
|
|
75
|
+
var iconBefore = iconPosition === 'before' ? (0, _core.jsx)(ActionIcon, {
|
|
76
|
+
size: size,
|
|
77
|
+
testId: testId,
|
|
78
|
+
icon: icon
|
|
79
|
+
}) : undefined;
|
|
80
|
+
var iconAfter = iconPosition === 'after' ? (0, _core.jsx)(ActionIcon, {
|
|
81
|
+
size: size,
|
|
82
|
+
testId: testId,
|
|
83
|
+
icon: icon
|
|
84
|
+
}) : undefined;
|
|
67
85
|
return (0, _core.jsx)(_tooltip.default, {
|
|
68
|
-
content:
|
|
86
|
+
content: tooltipMessage
|
|
69
87
|
}, (0, _core.jsx)(_customThemeButton.default, {
|
|
70
88
|
spacing: "none",
|
|
71
89
|
appearance: appearance,
|
|
72
90
|
testId: testId,
|
|
73
|
-
onClick: (0, _utils2.handleOnClick)(onClick)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}, (0, _core.jsx)(_cross.default, {
|
|
78
|
-
label: "Delete"
|
|
79
|
-
}))));
|
|
91
|
+
onClick: (0, _utils2.handleOnClick)(onClick),
|
|
92
|
+
iconBefore: iconBefore,
|
|
93
|
+
iconAfter: iconAfter
|
|
94
|
+
}, content));
|
|
80
95
|
};
|
|
81
96
|
|
|
82
|
-
var _default =
|
|
97
|
+
var _default = Action;
|
|
83
98
|
exports.default = _default;
|
|
File without changes
|
|
@@ -12,5 +12,7 @@ var _utils = require("./utils");
|
|
|
12
12
|
// Attention: Keep the export name and action name the same.
|
|
13
13
|
// This will help reducing the code for mapping action inside
|
|
14
14
|
// createAction and renderActionItems
|
|
15
|
-
|
|
15
|
+
// UIActions infer that you do not need to get any data from the context.
|
|
16
|
+
// DataActions infer that the action depends on the data from the context.
|
|
17
|
+
var DeleteAction = (0, _utils.createUIAction)(_constants.ActionName.DeleteAction);
|
|
16
18
|
exports.DeleteAction = DeleteAction;
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.createUIAction = exports.createDataAction = void 0;
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
@@ -19,14 +19,27 @@ var _flexibleUiContext = require("../../../../state/flexible-ui-context");
|
|
|
19
19
|
|
|
20
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _action = _interopRequireDefault(require("./action"));
|
|
23
|
+
|
|
24
|
+
var _reactIntlNext = require("react-intl-next");
|
|
25
|
+
|
|
26
|
+
var _messages = require("../../../../messages");
|
|
27
|
+
|
|
28
|
+
var _cross = _interopRequireDefault(require("@atlaskit/icon/glyph/cross"));
|
|
23
29
|
|
|
24
30
|
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); }
|
|
25
31
|
|
|
26
32
|
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; }
|
|
27
33
|
|
|
28
34
|
var actionMappings = (0, _defineProperty2.default)({}, _constants.ActionName.DeleteAction, {
|
|
29
|
-
component:
|
|
35
|
+
component: _action.default,
|
|
36
|
+
props: {
|
|
37
|
+
testId: 'smart-action-delete-action',
|
|
38
|
+
icon: /*#__PURE__*/_react.default.createElement(_cross.default, {
|
|
39
|
+
label: "Delete"
|
|
40
|
+
}),
|
|
41
|
+
toolTipMessage: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.delete)
|
|
42
|
+
}
|
|
30
43
|
});
|
|
31
44
|
|
|
32
45
|
var getContextKey = function getContextKey(name) {
|
|
@@ -43,13 +56,12 @@ var getActionData = function getActionData(actionName, contextKey, context) {
|
|
|
43
56
|
var data = context[contextKey];
|
|
44
57
|
|
|
45
58
|
switch (actionName) {
|
|
46
|
-
case _constants.ActionName.DeleteAction:
|
|
47
59
|
default:
|
|
48
60
|
return data;
|
|
49
61
|
}
|
|
50
62
|
};
|
|
51
63
|
|
|
52
|
-
var
|
|
64
|
+
var createDataAction = function createDataAction(name) {
|
|
53
65
|
var _ref = actionMappings[name] || {},
|
|
54
66
|
BaseAction = _ref.component,
|
|
55
67
|
props = _ref.props;
|
|
@@ -67,4 +79,20 @@ var createAction = function createAction(name) {
|
|
|
67
79
|
};
|
|
68
80
|
};
|
|
69
81
|
|
|
70
|
-
exports.
|
|
82
|
+
exports.createDataAction = createDataAction;
|
|
83
|
+
|
|
84
|
+
var createUIAction = function createUIAction(name) {
|
|
85
|
+
var _ref2 = actionMappings[name] || {},
|
|
86
|
+
BaseAction = _ref2.component,
|
|
87
|
+
props = _ref2.props;
|
|
88
|
+
|
|
89
|
+
if (!BaseAction) {
|
|
90
|
+
throw Error("Action ".concat(name, " does not exist."));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return function (overrides) {
|
|
94
|
+
return /*#__PURE__*/_react.default.createElement(BaseAction, (0, _extends2.default)({}, props, overrides));
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
exports.createUIAction = createUIAction;
|
|
@@ -19,7 +19,7 @@ var _constants = require("../../../../../constants");
|
|
|
19
19
|
|
|
20
20
|
var _templateObject;
|
|
21
21
|
|
|
22
|
-
var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n line-height:
|
|
22
|
+
var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n line-height: 1rem;\n"])));
|
|
23
23
|
|
|
24
24
|
var ActionGroup = function ActionGroup(_ref) {
|
|
25
25
|
var _ref$items = _ref.items,
|
|
@@ -17,21 +17,21 @@ var _constants = require("../../../../../constants");
|
|
|
17
17
|
|
|
18
18
|
var _utils = require("../utils");
|
|
19
19
|
|
|
20
|
-
var _templateObject;
|
|
20
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var getAlignmentStyles = function getAlignmentStyles(align) {
|
|
23
23
|
switch (align) {
|
|
24
24
|
case _constants.SmartLinkAlignment.Right:
|
|
25
|
-
return
|
|
25
|
+
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n justify-content: flex-end;\n text-align: right;\n "])));
|
|
26
26
|
|
|
27
27
|
case _constants.SmartLinkAlignment.Left:
|
|
28
28
|
default:
|
|
29
|
-
return
|
|
29
|
+
return (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n justify-content: flex-start;\n text-align: left;\n "])));
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
var getElementGroupStyles = function getElementGroupStyles(direction, size, align, width) {
|
|
34
|
-
return (0, _core.css)(
|
|
34
|
+
return (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n min-width: 10%;\n ", "\n"])), (0, _utils.getBaseStyles)(direction, size), getAlignmentStyles(align), width === _constants.SmartLinkWidth.Flexible ? "flex: 1 3;" : '');
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
exports.getElementGroupStyles = getElementGroupStyles;
|
|
@@ -40,6 +40,7 @@ var ElementGroup = function ElementGroup(_ref) {
|
|
|
40
40
|
var _ref$align = _ref.align,
|
|
41
41
|
align = _ref$align === void 0 ? _constants.SmartLinkAlignment.Left : _ref$align,
|
|
42
42
|
children = _ref.children,
|
|
43
|
+
css = _ref.css,
|
|
43
44
|
_ref$direction = _ref.direction,
|
|
44
45
|
direction = _ref$direction === void 0 ? _constants.SmartLinkDirection.Horizontal : _ref$direction,
|
|
45
46
|
_ref$size = _ref.size,
|
|
@@ -49,7 +50,7 @@ var ElementGroup = function ElementGroup(_ref) {
|
|
|
49
50
|
_ref$width = _ref.width,
|
|
50
51
|
width = _ref$width === void 0 ? _constants.SmartLinkWidth.FitToContent : _ref$width;
|
|
51
52
|
return (0, _core.jsx)("div", {
|
|
52
|
-
css: getElementGroupStyles(direction, size, align, width),
|
|
53
|
+
css: [getElementGroupStyles(direction, size, align, width), css],
|
|
53
54
|
"data-smart-element-group": true,
|
|
54
55
|
"data-testid": testId
|
|
55
56
|
}, (0, _utils.renderChildren)(children, size));
|
|
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
Object.defineProperty(exports, "MetadataBlock", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _metadataBlock.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
8
14
|
Object.defineProperty(exports, "TitleBlock", {
|
|
9
15
|
enumerable: true,
|
|
10
16
|
get: function get() {
|
|
@@ -12,4 +18,6 @@ Object.defineProperty(exports, "TitleBlock", {
|
|
|
12
18
|
}
|
|
13
19
|
});
|
|
14
20
|
|
|
15
|
-
var _titleBlock = _interopRequireDefault(require("./title-block"));
|
|
21
|
+
var _titleBlock = _interopRequireDefault(require("./title-block"));
|
|
22
|
+
|
|
23
|
+
var _metadataBlock = _interopRequireDefault(require("./metadata-block"));
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
|
|
18
|
+
var _core = require("@emotion/core");
|
|
19
|
+
|
|
20
|
+
var _constants = require("../../../../../constants");
|
|
21
|
+
|
|
22
|
+
var _utils = require("../utils");
|
|
23
|
+
|
|
24
|
+
var _block = _interopRequireDefault(require("../block"));
|
|
25
|
+
|
|
26
|
+
var _elementGroup = _interopRequireDefault(require("../element-group"));
|
|
27
|
+
|
|
28
|
+
var _excluded = ["maxLines", "status", "testId", "primary", "secondary"];
|
|
29
|
+
|
|
30
|
+
var _templateObject;
|
|
31
|
+
|
|
32
|
+
var DEFAULT_MAX_LINES = 2;
|
|
33
|
+
var MAXIMUM_MAX_LINES = 2;
|
|
34
|
+
var MINIMUM_MAX_LINES = 1;
|
|
35
|
+
|
|
36
|
+
var getElementGroupStyles = function getElementGroupStyles(size, maxLines) {
|
|
37
|
+
// MetadataBlock allows metadata elements to be displayed in
|
|
38
|
+
// multiple lines, with maximum of 2 lines.
|
|
39
|
+
// a) We need the height of the line to be equal on both left and right
|
|
40
|
+
// sides so they line up nicely.
|
|
41
|
+
// b) There is no way to truncate non-text elements nicely. Here
|
|
42
|
+
// it's fix max height of the element group so that anything that is
|
|
43
|
+
// overflown will not be visible.
|
|
44
|
+
var lineHeight = getLineHeight(size);
|
|
45
|
+
var gap = (0, _utils.getGapSize)(size);
|
|
46
|
+
var gapHeight = gap * (maxLines - 1);
|
|
47
|
+
var height = lineHeight * maxLines + gapHeight;
|
|
48
|
+
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n flex-wrap: wrap;\n line-height: ", "rem;\n max-height: ", "rem;\n > span,\n > div {\n min-height: ", "rem;\n max-height: ", "rem;\n line-height: ", "rem;\n }\n "])), lineHeight, height, lineHeight, lineHeight, lineHeight);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var getLineHeight = function getLineHeight(size) {
|
|
52
|
+
// The maximum height of all elements in specific size.
|
|
53
|
+
// These heights belongs to AvatarGroup.
|
|
54
|
+
switch (size) {
|
|
55
|
+
case _constants.SmartLinkSize.XLarge:
|
|
56
|
+
case _constants.SmartLinkSize.Large:
|
|
57
|
+
return 1.75;
|
|
58
|
+
|
|
59
|
+
case _constants.SmartLinkSize.Medium:
|
|
60
|
+
case _constants.SmartLinkSize.Small:
|
|
61
|
+
default:
|
|
62
|
+
return 1.5;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var getMaxLines = function getMaxLines(maxLines) {
|
|
67
|
+
if (maxLines > MAXIMUM_MAX_LINES) {
|
|
68
|
+
return DEFAULT_MAX_LINES;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (maxLines < MINIMUM_MAX_LINES) {
|
|
72
|
+
return MINIMUM_MAX_LINES;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return maxLines;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
var MetadataBlock = function MetadataBlock(_ref) {
|
|
79
|
+
var _ref$maxLines = _ref.maxLines,
|
|
80
|
+
maxLines = _ref$maxLines === void 0 ? DEFAULT_MAX_LINES : _ref$maxLines,
|
|
81
|
+
_ref$status = _ref.status,
|
|
82
|
+
status = _ref$status === void 0 ? _constants.SmartLinkStatus.Fallback : _ref$status,
|
|
83
|
+
_ref$testId = _ref.testId,
|
|
84
|
+
testId = _ref$testId === void 0 ? 'smart-block-metadata' : _ref$testId,
|
|
85
|
+
_ref$primary = _ref.primary,
|
|
86
|
+
primary = _ref$primary === void 0 ? [] : _ref$primary,
|
|
87
|
+
_ref$secondary = _ref.secondary,
|
|
88
|
+
secondary = _ref$secondary === void 0 ? [] : _ref$secondary,
|
|
89
|
+
blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
90
|
+
|
|
91
|
+
if (primary.length === 0 && secondary.length === 0 || status !== _constants.SmartLinkStatus.Resolved) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
var primaryElements = (0, _utils.renderElementItems)(primary);
|
|
96
|
+
var secondaryElements = (0, _utils.renderElementItems)(secondary);
|
|
97
|
+
var _blockProps$size = blockProps.size,
|
|
98
|
+
size = _blockProps$size === void 0 ? _constants.SmartLinkSize.Medium : _blockProps$size;
|
|
99
|
+
var elementGroupStyles = getElementGroupStyles(size, getMaxLines(maxLines));
|
|
100
|
+
return /*#__PURE__*/_react.default.createElement(_block.default, (0, _extends2.default)({}, blockProps, {
|
|
101
|
+
testId: "".concat(testId, "-resolved-view")
|
|
102
|
+
}), primaryElements && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
|
|
103
|
+
align: _constants.SmartLinkAlignment.Left,
|
|
104
|
+
css: elementGroupStyles,
|
|
105
|
+
direction: _constants.SmartLinkDirection.Horizontal,
|
|
106
|
+
width: _constants.SmartLinkWidth.Flexible
|
|
107
|
+
}, primaryElements), secondaryElements && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
|
|
108
|
+
align: _constants.SmartLinkAlignment.Right,
|
|
109
|
+
css: elementGroupStyles,
|
|
110
|
+
direction: _constants.SmartLinkDirection.Horizontal,
|
|
111
|
+
width: _constants.SmartLinkWidth.Flexible
|
|
112
|
+
}, secondaryElements));
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
var _default = MetadataBlock;
|
|
116
|
+
exports.default = _default;
|
|
@@ -39,7 +39,7 @@ var actionStyles = (0, _core.css)(_templateObject || (_templateObject = (0, _tag
|
|
|
39
39
|
|
|
40
40
|
var getMessageStyles = function getMessageStyles(size, hasAction) {
|
|
41
41
|
var sizeStyles = (0, _utils.getLinkSizeStyles)(size);
|
|
42
|
-
return (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n justify-content: flex-end;\n ", "\n ", "\n ", "\n color: ", ";\n "])), hasAction ? actionStyles : '', sizeStyles, (0, _utils.getTruncateStyles)(1, (0, _utils.getLinkLineHeight)(size)), _token.tokens.errorMessage);
|
|
42
|
+
return (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1 1 auto;\n justify-content: flex-end;\n ", "\n ", "\n ", "\n color: ", ";\n "])), hasAction ? actionStyles : '', sizeStyles, (0, _utils.getTruncateStyles)(1, (0, _utils.getLinkLineHeight)(size)), _token.tokens.errorMessage);
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
var TitleBlockErroredView = function TitleBlockErroredView(_ref) {
|
|
@@ -7,12 +7,12 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.renderElementItems = exports.renderChildren = exports.renderActionItems = exports.getBaseStyles = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
exports.renderElementItems = exports.renderChildren = exports.renderActionItems = exports.getGapSize = exports.getBaseStyles = void 0;
|
|
13
11
|
|
|
14
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
13
|
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
16
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
17
|
|
|
18
18
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -56,22 +56,24 @@ var getDirectionStyles = function getDirectionStyles(direction) {
|
|
|
56
56
|
var getGapSize = function getGapSize(size) {
|
|
57
57
|
switch (size) {
|
|
58
58
|
case _constants.SmartLinkSize.XLarge:
|
|
59
|
-
return
|
|
59
|
+
return 1.25;
|
|
60
60
|
|
|
61
61
|
case _constants.SmartLinkSize.Large:
|
|
62
|
-
return
|
|
62
|
+
return 1;
|
|
63
63
|
|
|
64
64
|
case _constants.SmartLinkSize.Medium:
|
|
65
|
-
return
|
|
65
|
+
return 0.5;
|
|
66
66
|
|
|
67
67
|
case _constants.SmartLinkSize.Small:
|
|
68
68
|
default:
|
|
69
|
-
return
|
|
69
|
+
return 0.25;
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
+
exports.getGapSize = getGapSize;
|
|
74
|
+
|
|
73
75
|
var getBaseStyles = function getBaseStyles(direction, size) {
|
|
74
|
-
return (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n gap: ", ";\n line-height: 1rem;\n min-width: 0;\n overflow: hidden;\n overflow-y: hidden;\n ", ";\n &:empty {\n display: none;\n }\n & > * {\n min-width: 0;\n }\n & > [data-fit-to-content] {\n min-width: fit-content;\n }\n"])), getGapSize(size), getDirectionStyles(direction));
|
|
76
|
+
return (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n gap: ", "rem;\n line-height: 1rem;\n min-width: 0;\n overflow: hidden;\n overflow-y: hidden;\n ", ";\n &:empty {\n display: none;\n }\n & > * {\n min-width: 0;\n }\n & > [data-fit-to-content] {\n min-width: fit-content;\n }\n"])), getGapSize(size), getDirectionStyles(direction));
|
|
75
77
|
};
|
|
76
78
|
|
|
77
79
|
exports.getBaseStyles = getBaseStyles;
|
|
@@ -80,6 +82,10 @@ var isActionGroup = function isActionGroup(node) {
|
|
|
80
82
|
return /*#__PURE__*/_react.default.isValidElement(node) && node.type === _actionGroup.default;
|
|
81
83
|
};
|
|
82
84
|
|
|
85
|
+
var isElementNull = function isElementNull(children) {
|
|
86
|
+
return Boolean(children.type() === null);
|
|
87
|
+
};
|
|
88
|
+
|
|
83
89
|
var isElementOrElementGroup = function isElementOrElementGroup(node) {
|
|
84
90
|
return /*#__PURE__*/_react.default.isValidElement(node) && ((0, _flexible.isFlexibleUiElement)(node) || node.type === _elementGroup.default);
|
|
85
91
|
};
|
|
@@ -108,9 +114,13 @@ var renderElementItems = function renderElementItems() {
|
|
|
108
114
|
var Element = Elements[name];
|
|
109
115
|
|
|
110
116
|
if (Element) {
|
|
111
|
-
|
|
117
|
+
var element = /*#__PURE__*/_react.default.createElement(Element, (0, _extends2.default)({
|
|
112
118
|
key: idx
|
|
113
|
-
}, props))
|
|
119
|
+
}, props));
|
|
120
|
+
|
|
121
|
+
if (!isElementNull(element)) {
|
|
122
|
+
return [].concat((0, _toConsumableArray2.default)(acc), [element]);
|
|
123
|
+
}
|
|
114
124
|
}
|
|
115
125
|
|
|
116
126
|
return acc;
|
|
@@ -7,14 +7,34 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireDefault(require("react"));
|
|
11
13
|
|
|
14
|
+
var _core = require("@emotion/core");
|
|
15
|
+
|
|
12
16
|
var _avatarGroup = _interopRequireDefault(require("@atlaskit/avatar-group"));
|
|
13
17
|
|
|
14
18
|
var _constants = require("../../../../../constants");
|
|
15
19
|
|
|
20
|
+
var _templateObject;
|
|
21
|
+
|
|
16
22
|
var MAX_COUNT = 4;
|
|
17
23
|
|
|
24
|
+
var getStyles = function getStyles(size) {
|
|
25
|
+
switch (size) {
|
|
26
|
+
case _constants.SmartLinkSize.XLarge:
|
|
27
|
+
case _constants.SmartLinkSize.Large:
|
|
28
|
+
// Default AK small size
|
|
29
|
+
return;
|
|
30
|
+
|
|
31
|
+
case _constants.SmartLinkSize.Medium:
|
|
32
|
+
case _constants.SmartLinkSize.Small:
|
|
33
|
+
default:
|
|
34
|
+
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n li {\n span,\n svg {\n max-height: 1.25rem;\n max-width: 1.25rem;\n }\n }\n "])));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
18
38
|
var AvatarGroup = function AvatarGroup(_ref) {
|
|
19
39
|
var _ref$items = _ref.items,
|
|
20
40
|
items = _ref$items === void 0 ? [] : _ref$items,
|
|
@@ -29,13 +49,15 @@ var AvatarGroup = function AvatarGroup(_ref) {
|
|
|
29
49
|
return null;
|
|
30
50
|
}
|
|
31
51
|
|
|
32
|
-
return
|
|
52
|
+
return (0, _core.jsx)("span", {
|
|
53
|
+
css: getStyles(size)
|
|
54
|
+
}, (0, _core.jsx)(_avatarGroup.default, {
|
|
33
55
|
maxCount: maxCount,
|
|
34
56
|
appearance: "stack",
|
|
35
57
|
size: "small",
|
|
36
58
|
data: items,
|
|
37
59
|
testId: testId
|
|
38
|
-
});
|
|
60
|
+
}));
|
|
39
61
|
};
|
|
40
62
|
|
|
41
63
|
var _default = AvatarGroup;
|
|
@@ -41,7 +41,7 @@ var getThemeStyles = function getThemeStyles(theme) {
|
|
|
41
41
|
|
|
42
42
|
var getAnchorStyles = function getAnchorStyles(size, theme, maxLines) {
|
|
43
43
|
var sizeStyles = (0, _utils.getLinkSizeStyles)(size);
|
|
44
|
-
return (0, _core.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n // Theme should be last to be spread because it contains override values\n ", "\n "])), sizeStyles, (0, _utils.getTruncateStyles)(maxLines, (0, _utils.getLinkLineHeight)(size)), getThemeStyles(theme));
|
|
44
|
+
return (0, _core.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1 1 auto;\n ", "\n ", "\n // Theme should be last to be spread because it contains override values\n ", "\n "])), sizeStyles, (0, _utils.getTruncateStyles)(maxLines, (0, _utils.getLinkLineHeight)(size)), getThemeStyles(theme));
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
var getMaxLines = function getMaxLines(maxLines) {
|