@atlaskit/smart-card 21.0.1 → 21.0.4
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 +18 -0
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/FlexibleCard/components/actions/action/action-button/index.js +87 -0
- package/dist/cjs/view/FlexibleCard/components/actions/action/action-button/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/actions/action/action-dropdown-item/index.js +31 -0
- package/dist/cjs/view/FlexibleCard/components/actions/action/action-dropdown-item/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/actions/action/action-icon/index.js +52 -0
- package/dist/cjs/view/FlexibleCard/components/actions/action/action-icon/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/actions/action/index.js +42 -104
- package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +44 -15
- package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +16 -3
- package/dist/cjs/view/FlexibleCard/components/utils.js +7 -2
- package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +20 -20
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/FlexibleCard/components/actions/action/action-button/index.js +88 -0
- package/dist/es2019/view/FlexibleCard/components/actions/action/action-button/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/actions/action/action-dropdown-item/index.js +18 -0
- package/dist/es2019/view/FlexibleCard/components/actions/action/action-dropdown-item/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/actions/action/action-icon/index.js +35 -0
- package/dist/es2019/view/FlexibleCard/components/actions/action/action-icon/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/actions/action/index.js +26 -110
- package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +31 -12
- package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +2 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +23 -2
- package/dist/es2019/view/FlexibleCard/components/utils.js +6 -0
- package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +20 -20
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/FlexibleCard/components/actions/action/action-button/index.js +67 -0
- package/dist/esm/view/FlexibleCard/components/actions/action/action-button/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/actions/action/action-dropdown-item/index.js +19 -0
- package/dist/esm/view/FlexibleCard/components/actions/action/action-dropdown-item/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/actions/action/action-icon/index.js +39 -0
- package/dist/esm/view/FlexibleCard/components/actions/action/action-icon/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/actions/action/index.js +41 -99
- package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +44 -16
- package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +2 -2
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +14 -2
- package/dist/esm/view/FlexibleCard/components/utils.js +3 -1
- package/dist/esm/view/HoverCard/components/HoverCardComponent.js +20 -20
- package/dist/types/view/FlexibleCard/components/actions/action/action-button/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/actions/action/action-button/types.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/actions/action/action-dropdown-item/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/actions/action/action-dropdown-item/types.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/actions/action/action-icon/types.d.ts +7 -0
- package/dist/types/view/FlexibleCard/components/actions/action/index.d.ts +0 -3
- package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +0 -16
- package/dist/types/view/FlexibleCard/components/blocks/utils.d.ts +2 -1
- package/dist/types/view/FlexibleCard/components/utils.d.ts +2 -0
- package/package.json +8 -5
- package/report.api.md +32 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 21.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`4347099f4ba`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4347099f4ba) - [ux] Blue highlight is removed for when a user right-clicks on a Flex UI Smart Link
|
|
8
|
+
|
|
9
|
+
## 21.0.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`a657fbfe5e1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a657fbfe5e1) - [ux] Flexible UI: Fix action menu and its tooltip not disappear after an action is clicked
|
|
14
|
+
|
|
15
|
+
## 21.0.2
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`0a08e95af20`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0a08e95af20) - fix bug where scrolling onto an inline link opens hover card in unexpected locations
|
|
20
|
+
|
|
3
21
|
## 21.0.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/cjs/version.json
CHANGED
|
@@ -0,0 +1,87 @@
|
|
|
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _core = require("@emotion/core");
|
|
17
|
+
|
|
18
|
+
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
19
|
+
|
|
20
|
+
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
21
|
+
|
|
22
|
+
var _constants = require("../../../../../../constants");
|
|
23
|
+
|
|
24
|
+
var _utils = require("../../../utils");
|
|
25
|
+
|
|
26
|
+
var _templateObject, _templateObject2;
|
|
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 getButtonStyle = function getButtonStyle(size, iconOnly) {
|
|
33
|
+
switch (size) {
|
|
34
|
+
case _constants.SmartLinkSize.Large:
|
|
35
|
+
return iconOnly ? (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n button,\n button:hover,\n button:focus,\n button:active {\n padding: 0;\n > span {\n margin: 0;\n }\n }\n "]))) : '';
|
|
36
|
+
|
|
37
|
+
case _constants.SmartLinkSize.Small:
|
|
38
|
+
return (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1rem;\n button,\n button:hover,\n button:focus,\n button:active {\n line-height: 1rem;\n ", "\n }\n "])), iconOnly ? "\n padding: 0.125rem;\n " : "\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n ");
|
|
39
|
+
|
|
40
|
+
case _constants.SmartLinkSize.XLarge:
|
|
41
|
+
case _constants.SmartLinkSize.Medium:
|
|
42
|
+
default:
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var ActionButton = function ActionButton(_ref) {
|
|
48
|
+
var appearance = _ref.appearance,
|
|
49
|
+
content = _ref.content,
|
|
50
|
+
iconAfter = _ref.iconAfter,
|
|
51
|
+
iconBefore = _ref.iconBefore,
|
|
52
|
+
onClick = _ref.onClick,
|
|
53
|
+
overrideCss = _ref.overrideCss,
|
|
54
|
+
size = _ref.size,
|
|
55
|
+
testId = _ref.testId,
|
|
56
|
+
tooltipMessage = _ref.tooltipMessage;
|
|
57
|
+
var iconOnly = !content;
|
|
58
|
+
var onButtonClick = (0, _react.useCallback)(function (handler) {
|
|
59
|
+
return function (e) {
|
|
60
|
+
e.preventDefault();
|
|
61
|
+
handler();
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
64
|
+
var onContainerClick = (0, _react.useCallback)(function (e) {
|
|
65
|
+
// Stop button on click event from propagate into parent container.
|
|
66
|
+
e.stopPropagation();
|
|
67
|
+
}, []);
|
|
68
|
+
return (0, _core.jsx)("div", {
|
|
69
|
+
css: [getButtonStyle(size, iconOnly), overrideCss],
|
|
70
|
+
"data-testid": "".concat(testId, "-button-wrapper"),
|
|
71
|
+
onClick: onContainerClick
|
|
72
|
+
}, (0, _core.jsx)(_tooltip.default, {
|
|
73
|
+
content: tooltipMessage,
|
|
74
|
+
hideTooltipOnClick: true,
|
|
75
|
+
testId: "".concat(testId, "-tooltip")
|
|
76
|
+
}, (0, _core.jsx)(_customThemeButton.default, {
|
|
77
|
+
appearance: appearance,
|
|
78
|
+
iconAfter: iconAfter,
|
|
79
|
+
iconBefore: iconBefore,
|
|
80
|
+
onClick: onButtonClick(onClick),
|
|
81
|
+
spacing: _utils.sizeToButtonSpacing[size],
|
|
82
|
+
testId: testId
|
|
83
|
+
}, content)));
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var _default = ActionButton;
|
|
87
|
+
exports.default = _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
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 _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _dropdownMenu = require("@atlaskit/dropdown-menu");
|
|
13
|
+
|
|
14
|
+
var _utils = require("../../../../../../utils");
|
|
15
|
+
|
|
16
|
+
var ActionDropdownItem = function ActionDropdownItem(_ref) {
|
|
17
|
+
var content = _ref.content,
|
|
18
|
+
iconAfter = _ref.iconAfter,
|
|
19
|
+
iconBefore = _ref.iconBefore,
|
|
20
|
+
onClick = _ref.onClick,
|
|
21
|
+
testId = _ref.testId;
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
|
|
23
|
+
elemAfter: iconAfter,
|
|
24
|
+
elemBefore: iconBefore,
|
|
25
|
+
onClick: (0, _utils.handleOnClick)(onClick),
|
|
26
|
+
testId: testId
|
|
27
|
+
}, content);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var _default = ActionDropdownItem;
|
|
31
|
+
exports.default = _default;
|
|
@@ -0,0 +1,52 @@
|
|
|
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _core = require("@emotion/core");
|
|
15
|
+
|
|
16
|
+
var _constants = require("../../../../../../constants");
|
|
17
|
+
|
|
18
|
+
var _token = require("../../../../../../utils/token");
|
|
19
|
+
|
|
20
|
+
var _utils = require("../../../utils");
|
|
21
|
+
|
|
22
|
+
var _templateObject;
|
|
23
|
+
|
|
24
|
+
var getIconWidth = function getIconWidth(size) {
|
|
25
|
+
switch (size) {
|
|
26
|
+
case _constants.SmartLinkSize.XLarge:
|
|
27
|
+
case _constants.SmartLinkSize.Large:
|
|
28
|
+
return '1.5rem';
|
|
29
|
+
|
|
30
|
+
case _constants.SmartLinkSize.Medium:
|
|
31
|
+
case _constants.SmartLinkSize.Small:
|
|
32
|
+
default:
|
|
33
|
+
return '1rem';
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var getIconStyles = function getIconStyles(size) {
|
|
38
|
+
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n ", ";\n"])), _token.tokens.actionIcon, (0, _utils.getIconSizeStyles)(getIconWidth(size)));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var ActionIcon = function ActionIcon(_ref) {
|
|
42
|
+
var size = _ref.size,
|
|
43
|
+
testId = _ref.testId,
|
|
44
|
+
icon = _ref.icon;
|
|
45
|
+
return (0, _core.jsx)("span", {
|
|
46
|
+
css: getIconStyles(size),
|
|
47
|
+
"data-testid": "".concat(testId, "-icon")
|
|
48
|
+
}, icon);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var _default = ActionIcon;
|
|
52
|
+
exports.default = _default;
|
|
@@ -5,75 +5,22 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
8
|
+
exports.default = void 0;
|
|
13
9
|
|
|
14
10
|
var _react = _interopRequireDefault(require("react"));
|
|
15
11
|
|
|
16
12
|
var _core = require("@emotion/core");
|
|
17
13
|
|
|
18
|
-
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
19
|
-
|
|
20
14
|
var _constants = require("../../../../../constants");
|
|
21
15
|
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _dropdownMenu = require("@atlaskit/dropdown-menu");
|
|
25
|
-
|
|
26
|
-
var _utils = require("../../utils");
|
|
27
|
-
|
|
28
|
-
var _token = require("../../../../../utils/token");
|
|
29
|
-
|
|
30
|
-
var _utils2 = require("../../../../../utils");
|
|
16
|
+
var _actionButton = _interopRequireDefault(require("./action-button"));
|
|
31
17
|
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
var getIconWidth = function getIconWidth(size) {
|
|
35
|
-
switch (size) {
|
|
36
|
-
case _constants.SmartLinkSize.XLarge:
|
|
37
|
-
case _constants.SmartLinkSize.Large:
|
|
38
|
-
return '1.5rem';
|
|
39
|
-
|
|
40
|
-
case _constants.SmartLinkSize.Medium:
|
|
41
|
-
case _constants.SmartLinkSize.Small:
|
|
42
|
-
default:
|
|
43
|
-
return '1rem';
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
var getIconStyles = function getIconStyles(size) {
|
|
48
|
-
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n ", ";\n"])), _token.tokens.actionIcon, (0, _utils.getIconSizeStyles)(getIconWidth(size)));
|
|
49
|
-
};
|
|
18
|
+
var _actionDropdownItem = _interopRequireDefault(require("./action-dropdown-item"));
|
|
50
19
|
|
|
51
|
-
var
|
|
52
|
-
switch (size) {
|
|
53
|
-
case _constants.SmartLinkSize.Large:
|
|
54
|
-
return iconOnly ? (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n button,\n button:hover,\n button:focus,\n button:active {\n padding: 0;\n > span {\n margin: 0;\n }\n }\n "]))) : '';
|
|
20
|
+
var _actionIcon = _interopRequireDefault(require("./action-icon"));
|
|
55
21
|
|
|
56
|
-
|
|
57
|
-
return (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1rem;\n button,\n button:hover,\n button:focus,\n button:active {\n line-height: 1rem;\n ", "\n }\n "])), iconOnly ? "\n padding: 0.125rem;\n " : "\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n ");
|
|
22
|
+
/** @jsx jsx */
|
|
58
23
|
|
|
59
|
-
case _constants.SmartLinkSize.XLarge:
|
|
60
|
-
case _constants.SmartLinkSize.Medium:
|
|
61
|
-
default:
|
|
62
|
-
return '';
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
var ActionIcon = function ActionIcon(_ref) {
|
|
67
|
-
var size = _ref.size,
|
|
68
|
-
testId = _ref.testId,
|
|
69
|
-
icon = _ref.icon;
|
|
70
|
-
return (0, _core.jsx)("span", {
|
|
71
|
-
css: getIconStyles(size),
|
|
72
|
-
"data-testid": "".concat(testId, "-icon")
|
|
73
|
-
}, icon);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
var sizeToSpacing = (_sizeToSpacing = {}, (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.Small, 'none'), (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.Medium, 'compact'), (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.Large, 'compact'), (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.XLarge, 'default'), _sizeToSpacing);
|
|
77
24
|
/**
|
|
78
25
|
* A base action that can be triggered with an on click.
|
|
79
26
|
* @internal
|
|
@@ -82,63 +29,54 @@ var sizeToSpacing = (_sizeToSpacing = {}, (0, _defineProperty2.default)(_sizeToS
|
|
|
82
29
|
* @see EditAction
|
|
83
30
|
* @see CustomAction
|
|
84
31
|
*/
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
tooltipMessage = _ref2.tooltipMessage,
|
|
101
|
-
asDropDownItem = _ref2.asDropDownItem,
|
|
102
|
-
overrideCss = _ref2.overrideCss;
|
|
32
|
+
var Action = function Action(_ref) {
|
|
33
|
+
var _ref$appearance = _ref.appearance,
|
|
34
|
+
appearance = _ref$appearance === void 0 ? 'subtle' : _ref$appearance,
|
|
35
|
+
content = _ref.content,
|
|
36
|
+
onClick = _ref.onClick,
|
|
37
|
+
_ref$size = _ref.size,
|
|
38
|
+
size = _ref$size === void 0 ? _constants.SmartLinkSize.Medium : _ref$size,
|
|
39
|
+
_ref$testId = _ref.testId,
|
|
40
|
+
testId = _ref$testId === void 0 ? 'smart-action' : _ref$testId,
|
|
41
|
+
icon = _ref.icon,
|
|
42
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
43
|
+
iconPosition = _ref$iconPosition === void 0 ? 'before' : _ref$iconPosition,
|
|
44
|
+
tooltipMessage = _ref.tooltipMessage,
|
|
45
|
+
asDropDownItem = _ref.asDropDownItem,
|
|
46
|
+
overrideCss = _ref.overrideCss;
|
|
103
47
|
|
|
104
48
|
if (!onClick) {
|
|
105
49
|
return null;
|
|
106
50
|
}
|
|
107
51
|
|
|
108
|
-
var
|
|
109
|
-
|
|
110
|
-
testId: testId,
|
|
111
|
-
icon: icon
|
|
112
|
-
}) : undefined;
|
|
113
|
-
var iconAfter = icon && iconPosition === 'after' ? (0, _core.jsx)(ActionIcon, {
|
|
52
|
+
var actionIcon = icon && (0, _core.jsx)(_actionIcon.default, {
|
|
53
|
+
icon: icon,
|
|
114
54
|
size: size,
|
|
115
|
-
testId: testId
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
var
|
|
55
|
+
testId: testId
|
|
56
|
+
});
|
|
57
|
+
var iconBefore = icon && iconPosition === 'before' ? actionIcon : undefined;
|
|
58
|
+
var iconAfter = icon && iconPosition === 'after' ? actionIcon : undefined;
|
|
119
59
|
|
|
120
60
|
if (asDropDownItem) {
|
|
121
|
-
return (0, _core.jsx)(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
onClick:
|
|
126
|
-
|
|
61
|
+
return (0, _core.jsx)(_actionDropdownItem.default, {
|
|
62
|
+
content: content,
|
|
63
|
+
iconAfter: iconAfter,
|
|
64
|
+
iconBefore: iconBefore,
|
|
65
|
+
onClick: onClick,
|
|
66
|
+
testId: testId
|
|
67
|
+
});
|
|
127
68
|
} else {
|
|
128
|
-
return (0, _core.jsx)(
|
|
129
|
-
content: tooltipMessage,
|
|
130
|
-
testId: "".concat(testId, "-tooltip")
|
|
131
|
-
}, (0, _core.jsx)("div", {
|
|
132
|
-
css: [getButtonStyle(size, iconOnly), overrideCss],
|
|
133
|
-
"data-testid": "".concat(testId, "-button-wrapper")
|
|
134
|
-
}, (0, _core.jsx)(_customThemeButton.default, {
|
|
135
|
-
spacing: sizeToSpacing[size],
|
|
69
|
+
return (0, _core.jsx)(_actionButton.default, {
|
|
136
70
|
appearance: appearance,
|
|
137
|
-
|
|
138
|
-
|
|
71
|
+
content: content,
|
|
72
|
+
iconAfter: iconAfter,
|
|
139
73
|
iconBefore: iconBefore,
|
|
140
|
-
|
|
141
|
-
|
|
74
|
+
onClick: onClick,
|
|
75
|
+
overrideCss: overrideCss,
|
|
76
|
+
size: size,
|
|
77
|
+
testId: testId,
|
|
78
|
+
tooltipMessage: tooltipMessage
|
|
79
|
+
});
|
|
142
80
|
}
|
|
143
81
|
};
|
|
144
82
|
|
|
@@ -11,6 +11,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
|
|
12
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
13
|
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
14
16
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
17
|
|
|
16
18
|
var _react = require("react");
|
|
@@ -33,7 +35,7 @@ var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-
|
|
|
33
35
|
|
|
34
36
|
var _more = _interopRequireDefault(require("@atlaskit/icon/glyph/more"));
|
|
35
37
|
|
|
36
|
-
var
|
|
38
|
+
var _utils2 = require("../../utils");
|
|
37
39
|
|
|
38
40
|
var _token = require("../../../../../utils/token");
|
|
39
41
|
|
|
@@ -62,39 +64,66 @@ var ActionGroup = function ActionGroup(_ref) {
|
|
|
62
64
|
visibleButtonsNum = _ref$visibleButtonsNu === void 0 ? 2 : _ref$visibleButtonsNu,
|
|
63
65
|
onDropdownOpenChange = _ref.onDropdownOpenChange,
|
|
64
66
|
testId = _ref.testId;
|
|
65
|
-
|
|
66
|
-
var
|
|
67
|
-
|
|
67
|
+
|
|
68
|
+
var _useState = (0, _react.useState)(false),
|
|
69
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
70
|
+
isOpen = _useState2[0],
|
|
71
|
+
setIsOpen = _useState2[1];
|
|
72
|
+
|
|
73
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
|
74
|
+
var isMoreThenTwoItems = items.length > visibleButtonsNum;
|
|
75
|
+
var buttons = isMoreThenTwoItems ? items.slice(0, visibleButtonsNum - 1) : items;
|
|
76
|
+
var dropdownItems = isMoreThenTwoItems ? items.slice(visibleButtonsNum - 1) : [];
|
|
77
|
+
return [buttons, dropdownItems];
|
|
78
|
+
}, [items, visibleButtonsNum]),
|
|
79
|
+
_useMemo2 = (0, _slicedToArray2.default)(_useMemo, 2),
|
|
80
|
+
buttonActions = _useMemo2[0],
|
|
81
|
+
dropdownItemActions = _useMemo2[1]; // Stop AK dropdown menu to propagate event on click.
|
|
82
|
+
|
|
68
83
|
|
|
69
84
|
var onClick = (0, _react.useCallback)(function (e) {
|
|
70
85
|
return e.stopPropagation();
|
|
71
86
|
}, []);
|
|
87
|
+
var onOpenChange = (0, _react.useCallback)(function (attrs) {
|
|
88
|
+
setIsOpen(attrs.isOpen);
|
|
89
|
+
|
|
90
|
+
if (onDropdownOpenChange) {
|
|
91
|
+
onDropdownOpenChange(attrs.isOpen);
|
|
92
|
+
}
|
|
93
|
+
}, [onDropdownOpenChange]);
|
|
94
|
+
var onActionClick = (0, _react.useCallback)(function () {
|
|
95
|
+
if (isOpen) {
|
|
96
|
+
onOpenChange({
|
|
97
|
+
isOpen: false
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}, [isOpen, onOpenChange]);
|
|
72
101
|
return (0, _core.jsx)("div", {
|
|
73
102
|
css: styles,
|
|
74
103
|
className: "actions-button-group",
|
|
75
104
|
onClick: onClick
|
|
76
|
-
}, (0, _core.jsx)(_buttonGroup.default, null, (0, _utils.renderActionItems)(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
var triggerRef = _ref3.triggerRef,
|
|
83
|
-
props = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
|
|
105
|
+
}, (0, _core.jsx)(_buttonGroup.default, null, (0, _utils.renderActionItems)(buttonActions, size, appearance, false, onActionClick), dropdownItemActions.length > 0 ? (0, _core.jsx)(_dropdownMenu.default, {
|
|
106
|
+
isOpen: isOpen,
|
|
107
|
+
onOpenChange: onOpenChange,
|
|
108
|
+
trigger: function trigger(_ref2) {
|
|
109
|
+
var triggerRef = _ref2.triggerRef,
|
|
110
|
+
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
84
111
|
return (0, _core.jsx)(_tooltip.default, {
|
|
85
112
|
content: (0, _core.jsx)(_reactIntlNext.FormattedMessage, _messages.messages.more_actions),
|
|
113
|
+
hideTooltipOnClick: true,
|
|
86
114
|
testId: "action-group-more-button-tooltip",
|
|
87
115
|
tag: "span"
|
|
88
116
|
}, (0, _core.jsx)(_standardButton.default, (0, _extends2.default)({}, props, {
|
|
89
|
-
spacing:
|
|
117
|
+
spacing: _utils2.sizeToButtonSpacing[size],
|
|
90
118
|
testId: "action-group-more-button",
|
|
91
119
|
iconBefore: (0, _core.jsx)(_more.default, {
|
|
92
120
|
label: "more"
|
|
93
121
|
}),
|
|
94
122
|
ref: triggerRef
|
|
95
123
|
})));
|
|
96
|
-
}
|
|
97
|
-
|
|
124
|
+
},
|
|
125
|
+
testId: "action-group-dropdown"
|
|
126
|
+
}, (0, _utils.renderActionItems)(dropdownItemActions, size, appearance, true, onActionClick)) : null));
|
|
98
127
|
};
|
|
99
128
|
|
|
100
129
|
var _default = ActionGroup;
|
|
@@ -20,7 +20,7 @@ var _utils = require("../utils");
|
|
|
20
20
|
var _templateObject;
|
|
21
21
|
|
|
22
22
|
var getBlockStyles = function getBlockStyles(direction, size) {
|
|
23
|
-
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n // Pull request elements: source branch \u2192 target branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2192';\n }\n // Pull request elements: target branch \u2190 source branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2190';\n }\n"])), (0, _utils.getBaseStyles)(direction, size), (0, _utils.getGapSize)(size), _constants.ElementName.SourceBranch, _constants.ElementName.TargetBranch, _constants.ElementName.TargetBranch, _constants.ElementName.SourceBranch);
|
|
23
|
+
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n // Pull request elements: source branch \u2192 target branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2192';\n }\n // Pull request elements: target branch \u2190 source branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2190';\n }\n"])), (0, _utils.getBaseStyles)(direction, size), _utils.highlightRemoveStyles, (0, _utils.getGapSize)(size), _constants.ElementName.SourceBranch, _constants.ElementName.TargetBranch, _constants.ElementName.TargetBranch, _constants.ElementName.SourceBranch);
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* A block represents a collection of elements and actions that are arranged
|
|
@@ -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.renderElementItems = exports.renderChildren = exports.renderActionItems = exports.getGapSize = exports.getBaseStyles = exports.ElementDisplaySchema = void 0;
|
|
10
|
+
exports.renderElementItems = exports.renderChildren = exports.renderActionItems = exports.highlightRemoveStyles = exports.getGapSize = exports.getBaseStyles = exports.ElementDisplaySchema = void 0;
|
|
11
11
|
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
|
|
@@ -38,7 +38,7 @@ var _elementGroup = _interopRequireDefault(require("./element-group"));
|
|
|
38
38
|
var _excluded = ["name"],
|
|
39
39
|
_excluded2 = ["name", "hideContent", "hideIcon", "onClick"];
|
|
40
40
|
|
|
41
|
-
var _ElementDisplaySchema, _templateObject, _templateObject2, _templateObject3;
|
|
41
|
+
var _ElementDisplaySchema, _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
42
42
|
|
|
43
43
|
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); }
|
|
44
44
|
|
|
@@ -86,6 +86,8 @@ var getBaseStyles = function getBaseStyles(direction, size) {
|
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
exports.getBaseStyles = getBaseStyles;
|
|
89
|
+
var highlightRemoveStyles = (0, _core.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n outline: none !important;\n outline-color: inherit;\n color: inherit;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n"])));
|
|
90
|
+
exports.highlightRemoveStyles = highlightRemoveStyles;
|
|
89
91
|
|
|
90
92
|
var isActionGroup = function isActionGroup(node) {
|
|
91
93
|
return /*#__PURE__*/_react.default.isValidElement(node) && node.type === _actionGroup.default;
|
|
@@ -155,6 +157,7 @@ var renderActionItems = function renderActionItems() {
|
|
|
155
157
|
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.SmartLinkSize.Medium;
|
|
156
158
|
var appearance = arguments.length > 2 ? arguments[2] : undefined;
|
|
157
159
|
var asDropDownItems = arguments.length > 3 ? arguments[3] : undefined;
|
|
160
|
+
var onActionItemClick = arguments.length > 4 ? arguments[4] : undefined;
|
|
158
161
|
var actions = items.reduce(function (acc, curr, idx) {
|
|
159
162
|
var name = curr.name,
|
|
160
163
|
hideContent = curr.hideContent,
|
|
@@ -174,12 +177,22 @@ var renderActionItems = function renderActionItems() {
|
|
|
174
177
|
}
|
|
175
178
|
|
|
176
179
|
if (Action) {
|
|
180
|
+
var handleOnClick = function handleOnClick() {
|
|
181
|
+
if (onActionItemClick) {
|
|
182
|
+
onActionItemClick();
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (onClick) {
|
|
186
|
+
onClick();
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
177
190
|
return [].concat((0, _toConsumableArray2.default)(acc), [/*#__PURE__*/_react.default.createElement(Action, (0, _extends2.default)({
|
|
178
191
|
asDropDownItem: asDropDownItems,
|
|
179
192
|
size: size,
|
|
180
193
|
key: idx,
|
|
181
194
|
appearance: appearance,
|
|
182
|
-
onClick:
|
|
195
|
+
onClick: handleOnClick
|
|
183
196
|
}, actionProps))]);
|
|
184
197
|
}
|
|
185
198
|
|
|
@@ -5,12 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.hasWhiteSpace = exports.getTruncateStyles = exports.getMaxLines = exports.getMaxLineHeight = exports.getLinkSizeStyles = exports.getLinkLineHeight = exports.getIconWidth = exports.getIconSizeStyles = exports.getFormattedMessage = void 0;
|
|
8
|
+
exports.sizeToButtonSpacing = exports.hasWhiteSpace = exports.getTruncateStyles = exports.getMaxLines = exports.getMaxLineHeight = exports.getLinkSizeStyles = exports.getLinkLineHeight = exports.getIconWidth = exports.getIconSizeStyles = exports.getFormattedMessage = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
14
16
|
var _react = _interopRequireDefault(require("react"));
|
|
15
17
|
|
|
16
18
|
var _core = require("@emotion/core");
|
|
@@ -19,7 +21,10 @@ var _reactIntlNext = require("react-intl-next");
|
|
|
19
21
|
|
|
20
22
|
var _constants = require("../../../constants");
|
|
21
23
|
|
|
22
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
24
|
+
var _sizeToButtonSpacing, _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
25
|
+
|
|
26
|
+
var sizeToButtonSpacing = (_sizeToButtonSpacing = {}, (0, _defineProperty2.default)(_sizeToButtonSpacing, _constants.SmartLinkSize.Small, 'none'), (0, _defineProperty2.default)(_sizeToButtonSpacing, _constants.SmartLinkSize.Medium, 'compact'), (0, _defineProperty2.default)(_sizeToButtonSpacing, _constants.SmartLinkSize.Large, 'compact'), (0, _defineProperty2.default)(_sizeToButtonSpacing, _constants.SmartLinkSize.XLarge, 'default'), _sizeToButtonSpacing);
|
|
27
|
+
exports.sizeToButtonSpacing = sizeToButtonSpacing;
|
|
23
28
|
|
|
24
29
|
var getFormattedMessage = function getFormattedMessage(message) {
|
|
25
30
|
if (message) {
|