@atlaskit/smart-card 17.3.1 → 17.4.2
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 +24 -0
- package/dist/cjs/constants.js +63 -0
- package/dist/cjs/extractors/flexible/icon/extract-document-type-icon.js +28 -7
- package/dist/cjs/extractors/flexible/icon/extract-file-formatIcon.js +88 -22
- package/dist/cjs/extractors/flexible/icon/extract-jira-task-icon.js +36 -9
- package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -9
- package/dist/cjs/extractors/flexible/icon/extract-provider-icon.js +20 -3
- package/dist/cjs/extractors/flexible/icon/extract-url-icon.js +4 -1
- package/dist/cjs/extractors/flexible/icon/index.js +11 -20
- package/dist/cjs/extractors/flexible/index.js +5 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/utils/flexible.js +2 -2
- package/dist/cjs/utils/token.js +1 -0
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/CardWithUrl/component.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/index.js +10 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/snippet-block/index.js +51 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/snippet-block/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +15 -3
- package/dist/cjs/view/FlexibleCard/components/common/atlaskit-icon/index.js +2 -0
- package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +2 -4
- package/dist/cjs/view/FlexibleCard/components/elements/index.js +6 -2
- package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +9 -3
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +20 -0
- package/dist/cjs/view/FlexibleCard/components/utils.js +15 -1
- package/dist/es2019/constants.js +53 -0
- package/dist/es2019/extractors/flexible/icon/extract-document-type-icon.js +28 -7
- package/dist/es2019/extractors/flexible/icon/extract-file-formatIcon.js +88 -22
- package/dist/es2019/extractors/flexible/icon/extract-jira-task-icon.js +36 -9
- package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -9
- package/dist/es2019/extractors/flexible/icon/extract-provider-icon.js +19 -3
- package/dist/es2019/extractors/flexible/icon/extract-url-icon.js +4 -1
- package/dist/es2019/extractors/flexible/icon/index.js +6 -9
- package/dist/es2019/extractors/flexible/index.js +5 -1
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/utils/flexible.js +2 -2
- package/dist/es2019/utils/token.js +1 -0
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/CardWithUrl/component.js +1 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/index.js +3 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/snippet-block/index.js +29 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/snippet-block/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +28 -4
- package/dist/es2019/view/FlexibleCard/components/common/atlaskit-icon/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +2 -4
- package/dist/es2019/view/FlexibleCard/components/elements/index.js +3 -1
- package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +7 -4
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +21 -0
- package/dist/es2019/view/FlexibleCard/components/utils.js +11 -0
- package/dist/esm/constants.js +53 -0
- package/dist/esm/extractors/flexible/icon/extract-document-type-icon.js +28 -7
- package/dist/esm/extractors/flexible/icon/extract-file-formatIcon.js +88 -22
- package/dist/esm/extractors/flexible/icon/extract-jira-task-icon.js +36 -9
- package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -9
- package/dist/esm/extractors/flexible/icon/extract-provider-icon.js +19 -3
- package/dist/esm/extractors/flexible/icon/extract-url-icon.js +4 -1
- package/dist/esm/extractors/flexible/icon/index.js +12 -20
- package/dist/esm/extractors/flexible/index.js +5 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/utils/flexible.js +2 -2
- package/dist/esm/utils/token.js +1 -0
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/CardWithUrl/component.js +1 -1
- package/dist/esm/view/FlexibleCard/components/blocks/index.js +3 -2
- package/dist/esm/view/FlexibleCard/components/blocks/snippet-block/index.js +34 -0
- package/dist/esm/view/FlexibleCard/components/blocks/snippet-block/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +14 -4
- package/dist/esm/view/FlexibleCard/components/common/atlaskit-icon/index.js +2 -0
- package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +2 -4
- package/dist/esm/view/FlexibleCard/components/elements/index.js +3 -1
- package/dist/esm/view/FlexibleCard/components/elements/text/index.js +10 -3
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +19 -0
- package/dist/esm/view/FlexibleCard/components/utils.js +11 -0
- package/dist/types/__fixtures__/flexible-ui-data-context.d.ts +3 -0
- package/dist/types/constants.d.ts +54 -1
- package/dist/types/extractors/flexible/icon/extract-provider-icon.d.ts +1 -1
- package/dist/types/extractors/flexible/icon/index.d.ts +3 -3
- package/dist/types/extractors/flexible/icon/types.d.ts +5 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/state/flexible-ui-context/types.d.ts +4 -2
- package/dist/types/utils/flexible.d.ts +1 -2
- package/dist/types/utils/token.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/blocks/index.d.ts +2 -1
- package/dist/types/view/FlexibleCard/components/blocks/snippet-block/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/blocks/snippet-block/types.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/blocks/utils.d.ts +4 -2
- package/dist/types/view/FlexibleCard/components/elements/index.d.ts +2 -0
- package/dist/types/view/FlexibleCard/components/elements/text/types.d.ts +2 -0
- package/dist/types/view/FlexibleCard/components/utils.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -101,6 +101,12 @@ Object.defineProperty(exports, "SmartLinkTheme", {
|
|
|
101
101
|
return _constants.SmartLinkTheme;
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
|
+
Object.defineProperty(exports, "SnippetBlock", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function get() {
|
|
107
|
+
return _blocks.SnippetBlock;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
104
110
|
Object.defineProperty(exports, "TitleBlock", {
|
|
105
111
|
enumerable: true,
|
|
106
112
|
get: function get() {
|
|
@@ -19,8 +19,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
19
19
|
|
|
20
20
|
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; }
|
|
21
21
|
|
|
22
|
-
var isFlexibleUiCard = function isFlexibleUiCard(
|
|
23
|
-
if (
|
|
22
|
+
var isFlexibleUiCard = function isFlexibleUiCard(children) {
|
|
23
|
+
if (children && _react.default.Children.toArray(children).some(function (child) {
|
|
24
24
|
return isFlexibleUiBlock(child);
|
|
25
25
|
})) {
|
|
26
26
|
return true;
|
package/dist/cjs/utils/token.js
CHANGED
|
@@ -29,6 +29,7 @@ var tokens = {
|
|
|
29
29
|
elevation: safeToken('elevation.shadow.raised', '0px 1px 1px #091E4240, 0px 0px 1px #091E424F'),
|
|
30
30
|
errorMessage: safeToken('color.text.disabled', '#6B778C'),
|
|
31
31
|
errorMessageHover: safeToken('color.text.subtle', '#8993A4'),
|
|
32
|
+
snippet: safeToken('color.text', '#172B4D'),
|
|
32
33
|
text: safeToken('color.text.subtlest', '#626F86')
|
|
33
34
|
};
|
|
34
35
|
exports.tokens = tokens;
|
package/dist/cjs/version.json
CHANGED
|
@@ -109,7 +109,7 @@ function CardWithUrlContent(_ref) {
|
|
|
109
109
|
throw error;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
if ((0, _flexible.isFlexibleUiCard)(
|
|
112
|
+
if ((0, _flexible.isFlexibleUiCard)(children)) {
|
|
113
113
|
return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
|
|
114
114
|
cardState: state,
|
|
115
115
|
onAuthorize: services.length && handleAuthorize || undefined,
|
|
@@ -11,6 +11,12 @@ Object.defineProperty(exports, "MetadataBlock", {
|
|
|
11
11
|
return _metadataBlock.default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
+
Object.defineProperty(exports, "SnippetBlock", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _snippetBlock.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
14
20
|
Object.defineProperty(exports, "TitleBlock", {
|
|
15
21
|
enumerable: true,
|
|
16
22
|
get: function get() {
|
|
@@ -18,6 +24,8 @@ Object.defineProperty(exports, "TitleBlock", {
|
|
|
18
24
|
}
|
|
19
25
|
});
|
|
20
26
|
|
|
21
|
-
var
|
|
27
|
+
var _metadataBlock = _interopRequireDefault(require("./metadata-block"));
|
|
28
|
+
|
|
29
|
+
var _snippetBlock = _interopRequireDefault(require("./snippet-block"));
|
|
22
30
|
|
|
23
|
-
var
|
|
31
|
+
var _titleBlock = _interopRequireDefault(require("./title-block"));
|
|
@@ -0,0 +1,51 @@
|
|
|
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 _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _block = _interopRequireDefault(require("../block"));
|
|
17
|
+
|
|
18
|
+
var _constants = require("../../../../../constants");
|
|
19
|
+
|
|
20
|
+
var _elements = require("../../elements");
|
|
21
|
+
|
|
22
|
+
var _utils = require("../../utils");
|
|
23
|
+
|
|
24
|
+
var _excluded = ["maxLines", "status", "testId"];
|
|
25
|
+
var DEFAULT_MAX_LINES = 3;
|
|
26
|
+
var MAXIMUM_MAX_LINES = 3;
|
|
27
|
+
var MINIMUM_MAX_LINES = 1;
|
|
28
|
+
|
|
29
|
+
var SnippetBlock = function SnippetBlock(_ref) {
|
|
30
|
+
var _ref$maxLines = _ref.maxLines,
|
|
31
|
+
maxLines = _ref$maxLines === void 0 ? DEFAULT_MAX_LINES : _ref$maxLines,
|
|
32
|
+
_ref$status = _ref.status,
|
|
33
|
+
status = _ref$status === void 0 ? _constants.SmartLinkStatus.Fallback : _ref$status,
|
|
34
|
+
_ref$testId = _ref.testId,
|
|
35
|
+
testId = _ref$testId === void 0 ? 'smart-block-snippet' : _ref$testId,
|
|
36
|
+
blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
37
|
+
|
|
38
|
+
if (status !== _constants.SmartLinkStatus.Resolved) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var snippetMaxLines = (0, _utils.getMaxLines)(maxLines, DEFAULT_MAX_LINES, MAXIMUM_MAX_LINES, MINIMUM_MAX_LINES);
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_block.default, (0, _extends2.default)({}, blockProps, {
|
|
44
|
+
testId: "".concat(testId, "-resolved-view")
|
|
45
|
+
}), /*#__PURE__*/_react.default.createElement(_elements.Snippet, {
|
|
46
|
+
maxLines: snippetMaxLines
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var _default = SnippetBlock;
|
|
51
|
+
exports.default = _default;
|
|
@@ -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 = void 0;
|
|
10
|
+
exports.renderElementItems = exports.renderChildren = exports.renderActionItems = exports.getGapSize = exports.getBaseStyles = exports.ElementDisplaySchema = void 0;
|
|
11
11
|
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
|
|
@@ -17,6 +17,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
17
17
|
|
|
18
18
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
19
19
|
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
|
|
20
22
|
var _react = _interopRequireDefault(require("react"));
|
|
21
23
|
|
|
22
24
|
var _core = require("@emotion/core");
|
|
@@ -36,12 +38,15 @@ var _elementGroup = _interopRequireDefault(require("./element-group"));
|
|
|
36
38
|
var _excluded = ["name"],
|
|
37
39
|
_excluded2 = ["name"];
|
|
38
40
|
|
|
39
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
41
|
+
var _ElementDisplaySchema, _templateObject, _templateObject2, _templateObject3;
|
|
40
42
|
|
|
41
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); }
|
|
42
44
|
|
|
43
45
|
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; }
|
|
44
46
|
|
|
47
|
+
var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LinkIcon, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Priority, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ProgrammingLanguage, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.State, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubscriberCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Title, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Provider, ['inline']), _ElementDisplaySchema);
|
|
48
|
+
exports.ElementDisplaySchema = ElementDisplaySchema;
|
|
49
|
+
|
|
45
50
|
var getDirectionStyles = function getDirectionStyles(direction) {
|
|
46
51
|
switch (direction) {
|
|
47
52
|
case _constants.SmartLinkDirection.Vertical:
|
|
@@ -82,6 +87,12 @@ var isActionGroup = function isActionGroup(node) {
|
|
|
82
87
|
return /*#__PURE__*/_react.default.isValidElement(node) && node.type === _actionGroup.default;
|
|
83
88
|
};
|
|
84
89
|
|
|
90
|
+
var isElementDisplayValid = function isElementDisplayValid(name, display) {
|
|
91
|
+
var _ElementDisplaySchema2, _ElementDisplaySchema3;
|
|
92
|
+
|
|
93
|
+
return (_ElementDisplaySchema2 = (_ElementDisplaySchema3 = ElementDisplaySchema[name]) === null || _ElementDisplaySchema3 === void 0 ? void 0 : _ElementDisplaySchema3.includes(display)) !== null && _ElementDisplaySchema2 !== void 0 ? _ElementDisplaySchema2 : false;
|
|
94
|
+
};
|
|
95
|
+
|
|
85
96
|
var isElementNull = function isElementNull(children) {
|
|
86
97
|
return Boolean(children.type() === null);
|
|
87
98
|
};
|
|
@@ -108,12 +119,13 @@ exports.renderChildren = renderChildren;
|
|
|
108
119
|
|
|
109
120
|
var renderElementItems = function renderElementItems() {
|
|
110
121
|
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
122
|
+
var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'inline';
|
|
111
123
|
var elements = items.reduce(function (acc, curr, idx) {
|
|
112
124
|
var name = curr.name,
|
|
113
125
|
props = (0, _objectWithoutProperties2.default)(curr, _excluded);
|
|
114
126
|
var Element = Elements[name];
|
|
115
127
|
|
|
116
|
-
if (Element) {
|
|
128
|
+
if (Element && isElementDisplayValid(name, display)) {
|
|
117
129
|
var element = /*#__PURE__*/_react.default.createElement(Element, (0, _extends2.default)({
|
|
118
130
|
key: idx
|
|
119
131
|
}, props));
|
|
@@ -300,6 +300,8 @@ var AtlaskitIcon = function AtlaskitIcon(_ref3) {
|
|
|
300
300
|
case _constants.IconType.Jira:
|
|
301
301
|
// Logo component has a different prop set from other icon components
|
|
302
302
|
return /*#__PURE__*/_react.default.createElement(ImportedIcon, {
|
|
303
|
+
"data-testId": testId // Confluence and Jira imports don't have native testId prop
|
|
304
|
+
,
|
|
303
305
|
textColor: _colors.N700,
|
|
304
306
|
iconColor: _colors.B200,
|
|
305
307
|
iconGradientStart: _colors.B400,
|
|
@@ -34,7 +34,7 @@ var iconStyles = (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _tag
|
|
|
34
34
|
var labelStyles = (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n padding-left: 0.125rem;\n"])), _token.tokens.badgeText);
|
|
35
35
|
var messageMapper = (_messageMapper = {}, (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityBlocker, _messages.messages.priority_blocker), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityCritical, _messages.messages.priority_critical), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityHigh, _messages.messages.priority_high), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityHighest, _messages.messages.priority_highest), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityLow, _messages.messages.priority_low), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityLowest, _messages.messages.priority_lowest), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityMajor, _messages.messages.priority_major), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityMedium, _messages.messages.priority_medium), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityMinor, _messages.messages.priority_minor), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityTrivial, _messages.messages.priority_trivial), (0, _defineProperty2.default)(_messageMapper, _constants.IconType.PriorityUndefined, _messages.messages.priority_undefined), _messageMapper);
|
|
36
36
|
|
|
37
|
-
var
|
|
37
|
+
var getFormattedMessageFromIcon = function getFormattedMessageFromIcon(icon) {
|
|
38
38
|
if (icon) {
|
|
39
39
|
var descriptor = messageMapper[icon];
|
|
40
40
|
|
|
@@ -44,8 +44,6 @@ var getFormattedMessageOrLabel = function getFormattedMessageOrLabel(icon, conte
|
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
return content;
|
|
49
47
|
};
|
|
50
48
|
|
|
51
49
|
var renderAtlaskitIcon = function renderAtlaskitIcon(icon, testId) {
|
|
@@ -73,7 +71,7 @@ var Badge = function Badge(_ref) {
|
|
|
73
71
|
label = _ref.label,
|
|
74
72
|
_ref$testId = _ref.testId,
|
|
75
73
|
testId = _ref$testId === void 0 ? 'smart-element-badge' : _ref$testId;
|
|
76
|
-
var formattedMessageOrLabel =
|
|
74
|
+
var formattedMessageOrLabel = getFormattedMessageFromIcon(icon) || label;
|
|
77
75
|
var badgeIcon = renderAtlaskitIcon(icon, testId) || renderImageIcon(url, testId);
|
|
78
76
|
|
|
79
77
|
if (!formattedMessageOrLabel || !badgeIcon) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.Title = exports.SubscriberCount = exports.State = exports.ProgrammingLanguage = exports.Priority = exports.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.AuthorGroup = void 0;
|
|
6
|
+
exports.Title = exports.SubscriberCount = exports.State = exports.Snippet = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.AuthorGroup = void 0;
|
|
7
7
|
|
|
8
8
|
var _utils = require("./utils");
|
|
9
9
|
|
|
@@ -32,9 +32,13 @@ var Priority = (0, _utils.createElement)(_constants.ElementName.Priority);
|
|
|
32
32
|
exports.Priority = Priority;
|
|
33
33
|
var ProgrammingLanguage = (0, _utils.createElement)(_constants.ElementName.ProgrammingLanguage);
|
|
34
34
|
exports.ProgrammingLanguage = ProgrammingLanguage;
|
|
35
|
+
var Snippet = (0, _utils.createElement)(_constants.ElementName.Snippet);
|
|
36
|
+
exports.Snippet = Snippet;
|
|
35
37
|
var State = (0, _utils.createElement)(_constants.ElementName.State);
|
|
36
38
|
exports.State = State;
|
|
37
39
|
var SubscriberCount = (0, _utils.createElement)(_constants.ElementName.SubscriberCount);
|
|
38
40
|
exports.SubscriberCount = SubscriberCount;
|
|
39
41
|
var Title = (0, _utils.createElement)(_constants.ElementName.Title);
|
|
40
|
-
exports.Title = Title;
|
|
42
|
+
exports.Title = Title;
|
|
43
|
+
var Provider = (0, _utils.createElement)(_constants.ElementName.Provider);
|
|
44
|
+
exports.Provider = Provider;
|
|
@@ -19,10 +19,16 @@ var _token = require("../../../../../utils/token");
|
|
|
19
19
|
|
|
20
20
|
var _templateObject;
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var getStyles = function getStyles(maxLines, color) {
|
|
23
|
+
return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n ", "\n"])), color, (0, _utils.getTruncateStyles)(maxLines));
|
|
24
|
+
};
|
|
23
25
|
|
|
24
26
|
var Text = function Text(_ref) {
|
|
25
|
-
var
|
|
27
|
+
var _ref$color = _ref.color,
|
|
28
|
+
color = _ref$color === void 0 ? _token.tokens.text : _ref$color,
|
|
29
|
+
content = _ref.content,
|
|
30
|
+
_ref$maxLines = _ref.maxLines,
|
|
31
|
+
maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
|
|
26
32
|
message = _ref.message,
|
|
27
33
|
_ref$testId = _ref.testId,
|
|
28
34
|
testId = _ref$testId === void 0 ? 'smart-element-text' : _ref$testId;
|
|
@@ -32,7 +38,7 @@ var Text = function Text(_ref) {
|
|
|
32
38
|
}
|
|
33
39
|
|
|
34
40
|
return (0, _core.jsx)("span", {
|
|
35
|
-
css:
|
|
41
|
+
css: getStyles(maxLines, color),
|
|
36
42
|
"data-smart-element-text": true,
|
|
37
43
|
"data-testid": testId
|
|
38
44
|
}, (0, _utils.getFormattedMessage)(message) || content);
|
|
@@ -35,12 +35,15 @@ var _messages = require("../../../../messages");
|
|
|
35
35
|
|
|
36
36
|
var _dateTime = _interopRequireDefault(require("./date-time"));
|
|
37
37
|
|
|
38
|
+
var _token = require("../../../../utils/token");
|
|
39
|
+
|
|
38
40
|
var _elementMappings;
|
|
39
41
|
|
|
40
42
|
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); }
|
|
41
43
|
|
|
42
44
|
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; }
|
|
43
45
|
|
|
46
|
+
var SNIPPET_DEFAULT_MAX_LINES = 3;
|
|
44
47
|
var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.AuthorGroup, {
|
|
45
48
|
component: _avatarGroup.default
|
|
46
49
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CollaboratorGroup, {
|
|
@@ -63,6 +66,12 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
|
|
|
63
66
|
props: {
|
|
64
67
|
icon: _constants.IconType.ProgrammingLanguage
|
|
65
68
|
}
|
|
69
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Snippet, {
|
|
70
|
+
component: _text.default,
|
|
71
|
+
props: {
|
|
72
|
+
color: _token.tokens.snippet,
|
|
73
|
+
maxLines: SNIPPET_DEFAULT_MAX_LINES
|
|
74
|
+
}
|
|
66
75
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.State, {
|
|
67
76
|
component: _lozenge.default
|
|
68
77
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.SubscriberCount, {
|
|
@@ -76,6 +85,8 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
|
|
|
76
85
|
component: _dateTime.default
|
|
77
86
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ModifiedOn, {
|
|
78
87
|
component: _dateTime.default
|
|
88
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Provider, {
|
|
89
|
+
component: _badge.default
|
|
79
90
|
}), _elementMappings);
|
|
80
91
|
|
|
81
92
|
var getContextKey = function getContextKey(name) {
|
|
@@ -113,6 +124,9 @@ var getData = function getData(elementName, contextKey, context) {
|
|
|
113
124
|
case _constants.ElementName.ModifiedOn:
|
|
114
125
|
return toDateTimeProps('modified', context.modifiedOn);
|
|
115
126
|
|
|
127
|
+
case _constants.ElementName.Snippet:
|
|
128
|
+
return toTextProps(data);
|
|
129
|
+
|
|
116
130
|
case _constants.ElementName.Title:
|
|
117
131
|
return toLinkProps(context.title, context.url);
|
|
118
132
|
|
|
@@ -158,6 +172,12 @@ var toLinkProps = function toLinkProps(text, url) {
|
|
|
158
172
|
} : undefined;
|
|
159
173
|
};
|
|
160
174
|
|
|
175
|
+
var toTextProps = function toTextProps(content) {
|
|
176
|
+
return content ? {
|
|
177
|
+
content: content
|
|
178
|
+
} : undefined;
|
|
179
|
+
};
|
|
180
|
+
|
|
161
181
|
var createElement = function createElement(name) {
|
|
162
182
|
var _ref = elementMappings[name] || {},
|
|
163
183
|
BaseElement = _ref.component,
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.getTruncateStyles = exports.getLinkSizeStyles = exports.getLinkLineHeight = exports.getIconSizeStyles = exports.getFormattedMessage = void 0;
|
|
8
|
+
exports.getTruncateStyles = exports.getMaxLines = exports.getLinkSizeStyles = exports.getLinkLineHeight = exports.getIconSizeStyles = exports.getFormattedMessage = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
@@ -76,6 +76,20 @@ var getLinkSizeStyles = function getLinkSizeStyles(size) {
|
|
|
76
76
|
|
|
77
77
|
exports.getLinkSizeStyles = getLinkSizeStyles;
|
|
78
78
|
|
|
79
|
+
var getMaxLines = function getMaxLines(value, defaultValue, max, min) {
|
|
80
|
+
if (value > max) {
|
|
81
|
+
return defaultValue;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (value < min) {
|
|
85
|
+
return min;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return value;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
exports.getMaxLines = getMaxLines;
|
|
92
|
+
|
|
79
93
|
var getTruncateStyles = function getTruncateStyles(maxLines) {
|
|
80
94
|
var lineHeight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '1rem';
|
|
81
95
|
return (0, _core.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: break-word;\n -webkit-line-clamp: ", ";\n -webkit-box-orient: vertical;\n // Fallback options\n max-height: calc(", " * ", ");\n "])), maxLines, maxLines, lineHeight);
|
package/dist/es2019/constants.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The alignment of Flexible UI component.
|
|
3
|
+
*/
|
|
1
4
|
export let SmartLinkAlignment;
|
|
5
|
+
/**
|
|
6
|
+
* The direction of Flexible UI components. It establish the main-axis
|
|
7
|
+
* or how the child components laid out inside the parent component.
|
|
8
|
+
* Similar to flex's flex-direction concept.
|
|
9
|
+
*/
|
|
2
10
|
|
|
3
11
|
(function (SmartLinkAlignment) {
|
|
4
12
|
SmartLinkAlignment["Left"] = "left";
|
|
@@ -6,6 +14,10 @@ export let SmartLinkAlignment;
|
|
|
6
14
|
})(SmartLinkAlignment || (SmartLinkAlignment = {}));
|
|
7
15
|
|
|
8
16
|
export let SmartLinkDirection;
|
|
17
|
+
/**
|
|
18
|
+
* The positioning of the component within the parent component.
|
|
19
|
+
* Similar to flex's align-items or align-self concept.
|
|
20
|
+
*/
|
|
9
21
|
|
|
10
22
|
(function (SmartLinkDirection) {
|
|
11
23
|
SmartLinkDirection["Horizontal"] = "horizontal";
|
|
@@ -13,6 +25,11 @@ export let SmartLinkDirection;
|
|
|
13
25
|
})(SmartLinkDirection || (SmartLinkDirection = {}));
|
|
14
26
|
|
|
15
27
|
export let SmartLinkPosition;
|
|
28
|
+
/**
|
|
29
|
+
* The sizing options of the Flexible UI component. Every component
|
|
30
|
+
* has or inherits the sizing props. Implementation varies
|
|
31
|
+
* as per component.
|
|
32
|
+
*/
|
|
16
33
|
|
|
17
34
|
(function (SmartLinkPosition) {
|
|
18
35
|
SmartLinkPosition["Top"] = "top";
|
|
@@ -20,6 +37,9 @@ export let SmartLinkPosition;
|
|
|
20
37
|
})(SmartLinkPosition || (SmartLinkPosition = {}));
|
|
21
38
|
|
|
22
39
|
export let SmartLinkSize;
|
|
40
|
+
/**
|
|
41
|
+
* Smart Links link request status
|
|
42
|
+
*/
|
|
23
43
|
|
|
24
44
|
(function (SmartLinkSize) {
|
|
25
45
|
SmartLinkSize["XLarge"] = "xlarge";
|
|
@@ -29,6 +49,10 @@ export let SmartLinkSize;
|
|
|
29
49
|
})(SmartLinkSize || (SmartLinkSize = {}));
|
|
30
50
|
|
|
31
51
|
export let SmartLinkStatus;
|
|
52
|
+
/**
|
|
53
|
+
* Flexible UI theme available on the Card level.
|
|
54
|
+
* This determine the styling of the link.
|
|
55
|
+
*/
|
|
32
56
|
|
|
33
57
|
(function (SmartLinkStatus) {
|
|
34
58
|
SmartLinkStatus["Pending"] = "pending";
|
|
@@ -42,6 +66,11 @@ export let SmartLinkStatus;
|
|
|
42
66
|
})(SmartLinkStatus || (SmartLinkStatus = {}));
|
|
43
67
|
|
|
44
68
|
export let SmartLinkTheme;
|
|
69
|
+
/**
|
|
70
|
+
* Determines whether the container size will fit to the content
|
|
71
|
+
* or expand to the available width or the parent component.
|
|
72
|
+
* Similar to flex's flex-grow concept.
|
|
73
|
+
*/
|
|
45
74
|
|
|
46
75
|
(function (SmartLinkTheme) {
|
|
47
76
|
SmartLinkTheme["Black"] = "black";
|
|
@@ -49,6 +78,22 @@ export let SmartLinkTheme;
|
|
|
49
78
|
})(SmartLinkTheme || (SmartLinkTheme = {}));
|
|
50
79
|
|
|
51
80
|
export let SmartLinkWidth;
|
|
81
|
+
/**
|
|
82
|
+
* Flexible UI element name - each reflecting the link data its represented.
|
|
83
|
+
* When adding an element...
|
|
84
|
+
* 1) Create base element if it doesn't already existed.
|
|
85
|
+
* Base element are inside src/view/FlexibleCard/components/elements.
|
|
86
|
+
* E.g. Badge,DateTime, Icon, Lozenge, etc.
|
|
87
|
+
* 2) Update FlexibleUiContext with the new prop for data representing
|
|
88
|
+
* the element, preferably with the same name as the element itself.
|
|
89
|
+
* (src/state/flexible-ui-context/types.ts)
|
|
90
|
+
* 3) Update Flexible UI extractor (src/extractors/flexible/index.ts)
|
|
91
|
+
* 4) Set base element and data mapping
|
|
92
|
+
* (src/view/FlexibleCard/components/elements/utils.tsx)
|
|
93
|
+
* 5) Create element. (src/view/FlexibleCard/components/elements/index.ts)
|
|
94
|
+
* 6) Update element ElementDisplaySchema for inline/block display
|
|
95
|
+
* (src/view/FlexibleCard/components/blocks/utils.tsx)
|
|
96
|
+
*/
|
|
52
97
|
|
|
53
98
|
(function (SmartLinkWidth) {
|
|
54
99
|
SmartLinkWidth["FitToContent"] = "fit-to-content";
|
|
@@ -56,6 +101,9 @@ export let SmartLinkWidth;
|
|
|
56
101
|
})(SmartLinkWidth || (SmartLinkWidth = {}));
|
|
57
102
|
|
|
58
103
|
export let ElementName;
|
|
104
|
+
/**
|
|
105
|
+
* Flexible UI action (button)
|
|
106
|
+
*/
|
|
59
107
|
|
|
60
108
|
(function (ElementName) {
|
|
61
109
|
ElementName["AuthorGroup"] = "AuthorGroup";
|
|
@@ -68,12 +116,17 @@ export let ElementName;
|
|
|
68
116
|
ElementName["ModifiedOn"] = "ModifiedOn";
|
|
69
117
|
ElementName["Priority"] = "Priority";
|
|
70
118
|
ElementName["ProgrammingLanguage"] = "ProgrammingLanguage";
|
|
119
|
+
ElementName["Snippet"] = "Snippet";
|
|
71
120
|
ElementName["State"] = "State";
|
|
72
121
|
ElementName["SubscriberCount"] = "SubscriberCount";
|
|
73
122
|
ElementName["Title"] = "Title";
|
|
123
|
+
ElementName["Provider"] = "Provider";
|
|
74
124
|
})(ElementName || (ElementName = {}));
|
|
75
125
|
|
|
76
126
|
export let ActionName;
|
|
127
|
+
/**
|
|
128
|
+
* Flexible UI icons - each mapped to AK icons.
|
|
129
|
+
*/
|
|
77
130
|
|
|
78
131
|
(function (ActionName) {
|
|
79
132
|
ActionName["DeleteAction"] = "DeleteAction";
|
|
@@ -3,25 +3,46 @@ import { IconType } from '../../../constants';
|
|
|
3
3
|
const extractDocumentTypeIcon = (documentType, label) => {
|
|
4
4
|
switch (documentType) {
|
|
5
5
|
case 'schema:BlogPosting':
|
|
6
|
-
return
|
|
6
|
+
return {
|
|
7
|
+
icon: IconType.Blog,
|
|
8
|
+
label: label || 'Blog'
|
|
9
|
+
};
|
|
7
10
|
|
|
8
11
|
case 'schema:DigitalDocument':
|
|
9
|
-
return
|
|
12
|
+
return {
|
|
13
|
+
icon: IconType.File,
|
|
14
|
+
label: label || 'File'
|
|
15
|
+
};
|
|
10
16
|
|
|
11
17
|
case 'schema:TextDigitalDocument':
|
|
12
|
-
return
|
|
18
|
+
return {
|
|
19
|
+
icon: IconType.Document,
|
|
20
|
+
label: label || 'Document'
|
|
21
|
+
};
|
|
13
22
|
|
|
14
23
|
case 'schema:PresentationDigitalDocument':
|
|
15
|
-
return
|
|
24
|
+
return {
|
|
25
|
+
icon: IconType.Presentation,
|
|
26
|
+
label: label || 'Presentation'
|
|
27
|
+
};
|
|
16
28
|
|
|
17
29
|
case 'schema:SpreadsheetDigitalDocument':
|
|
18
|
-
return
|
|
30
|
+
return {
|
|
31
|
+
icon: IconType.Spreadsheet,
|
|
32
|
+
label: label || 'Spreadsheet'
|
|
33
|
+
};
|
|
19
34
|
|
|
20
35
|
case 'atlassian:Template':
|
|
21
|
-
return
|
|
36
|
+
return {
|
|
37
|
+
icon: IconType.Template,
|
|
38
|
+
label: label || 'Template'
|
|
39
|
+
};
|
|
22
40
|
|
|
23
41
|
case 'atlassian:UndefinedLink':
|
|
24
|
-
return
|
|
42
|
+
return {
|
|
43
|
+
icon: IconType.Document,
|
|
44
|
+
label: label || 'Undefined link'
|
|
45
|
+
};
|
|
25
46
|
|
|
26
47
|
default:
|
|
27
48
|
return undefined;
|