@atlaskit/smart-card 18.0.13 → 18.0.16
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/extractors/common/context/extractProvider.js +14 -4
- package/dist/cjs/extractors/common/detail/extractCommentCount.js +3 -1
- package/dist/cjs/extractors/common/detail/extractProgrammingLanguage.js +3 -1
- package/dist/cjs/extractors/common/detail/extractSubscriberCount.js +3 -1
- package/dist/cjs/extractors/common/primitives/extractTitleTextColor.js +3 -1
- package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +9 -0
- package/dist/cjs/state/flexible-ui-context/index.js +4 -0
- package/dist/cjs/utils/analytics/analytics.js +52 -2
- package/dist/cjs/utils/analytics/index.js +18 -0
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/BlockCard/components/Frame.js +10 -7
- package/dist/cjs/view/BlockCard/components/Link.js +3 -1
- package/dist/cjs/view/BlockCard/components/Provider.js +3 -1
- package/dist/cjs/view/BlockCard/views/ErroredView.js +3 -1
- package/dist/cjs/view/BlockCard/views/ForbiddenView.js +3 -1
- package/dist/cjs/view/BlockCard/views/NotFoundView.js +3 -1
- package/dist/cjs/view/BlockCard/views/ResolvingView.js +4 -2
- package/dist/cjs/view/CardWithUrl/component.js +4 -2
- package/dist/cjs/view/CardWithUrl/loader.js +4 -2
- package/dist/cjs/view/EmbedCard/components/styled.js +15 -13
- package/dist/cjs/view/EmbedCard/views/ErroredView.js +3 -1
- package/dist/cjs/view/FlexibleCard/components/actions/action/index.js +26 -4
- package/dist/cjs/view/FlexibleCard/components/actions/index.js +18 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +6 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +9 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +9 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/footer-block/index.js +6 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/metadata-block/index.js +9 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/index.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/snippet-block/index.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +39 -19
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +92 -17
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +45 -9
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolving/index.js +23 -12
- package/dist/cjs/view/FlexibleCard/components/common/atlaskit-icon/index.js +8 -2
- package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +3 -1
- package/dist/cjs/view/FlexibleCard/components/container/index.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +12 -1
- package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +18 -3
- package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +9 -1
- package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +9 -1
- package/dist/cjs/view/FlexibleCard/components/elements/index.js +96 -0
- package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +10 -1
- package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +11 -3
- package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +9 -2
- package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +12 -6
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +7 -3
- package/dist/cjs/view/FlexibleCard/index.js +6 -0
- package/dist/cjs/view/HoverCard/index.js +48 -10
- package/dist/cjs/view/HoverCard/styled.js +3 -1
- package/dist/cjs/view/InlineCard/ErroredView/index.js +3 -1
- package/dist/cjs/view/InlineCard/ForbiddenView/index.js +4 -2
- package/dist/cjs/view/InlineCard/Frame/styled.js +16 -13
- package/dist/cjs/view/InlineCard/Icon.js +3 -1
- package/dist/cjs/view/InlineCard/UnauthorisedView/index.js +4 -2
- package/dist/cjs/view/InlineCard/styled.js +6 -4
- package/dist/cjs/view/common/Byline.js +3 -1
- package/dist/cjs/view/common/Metadata.js +3 -1
- package/dist/cjs/view/common/ModalHeader.js +4 -2
- package/dist/es2019/extractors/common/context/extractProvider.js +13 -4
- package/dist/es2019/extractors/common/detail/extractCommentCount.js +2 -1
- package/dist/es2019/extractors/common/detail/extractProgrammingLanguage.js +2 -1
- package/dist/es2019/extractors/common/detail/extractSubscriberCount.js +2 -1
- package/dist/es2019/extractors/common/primitives/extractTitleTextColor.js +2 -1
- package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +7 -2
- package/dist/es2019/state/flexible-ui-context/index.js +5 -0
- package/dist/es2019/utils/analytics/analytics.js +35 -0
- package/dist/es2019/utils/analytics/index.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/BlockCard/components/Frame.js +9 -7
- package/dist/es2019/view/BlockCard/components/Link.js +2 -1
- package/dist/es2019/view/BlockCard/components/Provider.js +2 -1
- package/dist/es2019/view/BlockCard/views/ErroredView.js +2 -1
- package/dist/es2019/view/BlockCard/views/ForbiddenView.js +2 -1
- package/dist/es2019/view/BlockCard/views/NotFoundView.js +2 -1
- package/dist/es2019/view/BlockCard/views/ResolvingView.js +3 -2
- package/dist/es2019/view/CardWithUrl/component.js +4 -2
- package/dist/es2019/view/CardWithUrl/loader.js +4 -2
- package/dist/es2019/view/EmbedCard/components/styled.js +15 -15
- package/dist/es2019/view/EmbedCard/views/ErroredView.js +2 -1
- package/dist/es2019/view/FlexibleCard/components/actions/action/index.js +37 -4
- package/dist/es2019/view/FlexibleCard/components/actions/index.js +18 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +6 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +9 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +8 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/footer-block/index.js +6 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/metadata-block/index.js +9 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/preview-block/index.js +5 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/snippet-block/index.js +5 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +31 -15
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +77 -15
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +35 -8
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolving/index.js +20 -11
- package/dist/es2019/view/FlexibleCard/components/common/atlaskit-icon/index.js +8 -3
- package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +7 -6
- package/dist/es2019/view/FlexibleCard/components/container/index.js +5 -0
- package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +12 -1
- package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +18 -3
- package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +9 -1
- package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +9 -1
- package/dist/es2019/view/FlexibleCard/components/elements/index.js +96 -0
- package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +10 -1
- package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +11 -3
- package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +8 -1
- package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +11 -4
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +5 -2
- package/dist/es2019/view/FlexibleCard/index.js +6 -0
- package/dist/es2019/view/HoverCard/index.js +40 -10
- package/dist/es2019/view/HoverCard/styled.js +6 -1
- package/dist/es2019/view/InlineCard/ErroredView/index.js +2 -1
- package/dist/es2019/view/InlineCard/ForbiddenView/index.js +3 -2
- package/dist/es2019/view/InlineCard/Frame/styled.js +15 -12
- package/dist/es2019/view/InlineCard/Icon.js +7 -6
- package/dist/es2019/view/InlineCard/UnauthorisedView/index.js +3 -2
- package/dist/es2019/view/InlineCard/styled.js +5 -4
- package/dist/es2019/view/common/Byline.js +2 -1
- package/dist/es2019/view/common/Metadata.js +2 -1
- package/dist/es2019/view/common/ModalHeader.js +3 -2
- package/dist/esm/extractors/common/context/extractProvider.js +13 -4
- package/dist/esm/extractors/common/detail/extractCommentCount.js +2 -1
- package/dist/esm/extractors/common/detail/extractProgrammingLanguage.js +2 -1
- package/dist/esm/extractors/common/detail/extractSubscriberCount.js +2 -1
- package/dist/esm/extractors/common/primitives/extractTitleTextColor.js +2 -1
- package/dist/esm/state/analytics/useSmartLinkAnalytics.js +10 -1
- package/dist/esm/state/flexible-ui-context/index.js +5 -0
- package/dist/esm/utils/analytics/analytics.js +41 -0
- package/dist/esm/utils/analytics/index.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/BlockCard/components/Frame.js +9 -7
- package/dist/esm/view/BlockCard/components/Link.js +2 -1
- package/dist/esm/view/BlockCard/components/Provider.js +2 -1
- package/dist/esm/view/BlockCard/views/ErroredView.js +2 -1
- package/dist/esm/view/BlockCard/views/ForbiddenView.js +2 -1
- package/dist/esm/view/BlockCard/views/NotFoundView.js +2 -1
- package/dist/esm/view/BlockCard/views/ResolvingView.js +3 -2
- package/dist/esm/view/CardWithUrl/component.js +4 -2
- package/dist/esm/view/CardWithUrl/loader.js +4 -2
- package/dist/esm/view/EmbedCard/components/styled.js +14 -13
- package/dist/esm/view/EmbedCard/views/ErroredView.js +2 -1
- package/dist/esm/view/FlexibleCard/components/actions/action/index.js +25 -4
- package/dist/esm/view/FlexibleCard/components/actions/index.js +18 -2
- package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +6 -0
- package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +9 -2
- package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +8 -2
- package/dist/esm/view/FlexibleCard/components/blocks/footer-block/index.js +6 -0
- package/dist/esm/view/FlexibleCard/components/blocks/metadata-block/index.js +9 -2
- package/dist/esm/view/FlexibleCard/components/blocks/preview-block/index.js +5 -0
- package/dist/esm/view/FlexibleCard/components/blocks/snippet-block/index.js +5 -0
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +33 -16
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +79 -17
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +39 -8
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolving/index.js +22 -11
- package/dist/esm/view/FlexibleCard/components/common/atlaskit-icon/index.js +8 -3
- package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +2 -1
- package/dist/esm/view/FlexibleCard/components/container/index.js +5 -0
- package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +12 -1
- package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +18 -3
- package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +9 -1
- package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +9 -1
- package/dist/esm/view/FlexibleCard/components/elements/index.js +96 -0
- package/dist/esm/view/FlexibleCard/components/elements/link/index.js +10 -1
- package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +11 -3
- package/dist/esm/view/FlexibleCard/components/elements/media/index.js +9 -2
- package/dist/esm/view/FlexibleCard/components/elements/text/index.js +12 -6
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +5 -3
- package/dist/esm/view/FlexibleCard/index.js +6 -0
- package/dist/esm/view/HoverCard/index.js +42 -10
- package/dist/esm/view/HoverCard/styled.js +2 -1
- package/dist/esm/view/InlineCard/ErroredView/index.js +2 -1
- package/dist/esm/view/InlineCard/ForbiddenView/index.js +3 -2
- package/dist/esm/view/InlineCard/Frame/styled.js +16 -13
- package/dist/esm/view/InlineCard/Icon.js +2 -1
- package/dist/esm/view/InlineCard/UnauthorisedView/index.js +3 -2
- package/dist/esm/view/InlineCard/styled.js +5 -4
- package/dist/esm/view/common/Byline.js +2 -1
- package/dist/esm/view/common/Metadata.js +2 -1
- package/dist/esm/view/common/ModalHeader.js +3 -2
- package/dist/types/client/errors.d.ts +3 -2
- package/dist/types/extractors/block/index.d.ts +2 -2
- package/dist/types/extractors/common/__mocks__/jsonld.d.ts +46 -66
- package/dist/types/extractors/common/actions/extractPreviewAction.d.ts +1 -1
- package/dist/types/extractors/common/title-prefix/extractTitlePrefix.d.ts +2 -1
- package/dist/types/extractors/embed/index.d.ts +1 -1
- package/dist/types/extractors/flexible/icon/extract-url-icon.d.ts +1 -1
- package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +4 -0
- package/dist/types/state/flexible-ui-context/index.d.ts +4 -0
- package/dist/types/state/flexible-ui-context/types.d.ts +102 -0
- package/dist/types/state/hooks/useSmartLink.d.ts +3 -0
- package/dist/types/utils/analytics/analytics.d.ts +5 -1
- package/dist/types/utils/analytics/index.d.ts +1 -1
- package/dist/types/utils/types.d.ts +2 -2
- package/dist/types/view/BlockCard/utils/handlers.d.ts +1 -1
- package/dist/types/view/Card/index.d.ts +1 -1
- package/dist/types/view/Card/types.d.ts +1 -0
- package/dist/types/view/CardWithUrl/component.d.ts +1 -1
- package/dist/types/view/CardWithUrl/types.d.ts +1 -0
- package/dist/types/view/EmbedCard/components/styled.d.ts +9 -9
- package/dist/types/view/FlexibleCard/components/actions/action/index.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +4 -2
- package/dist/types/view/FlexibleCard/components/actions/index.d.ts +15 -0
- package/dist/types/view/FlexibleCard/components/blocks/action-group/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/blocks/action-group/types.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/blocks/block/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/blocks/element-group/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/blocks/element-group/types.d.ts +2 -2
- package/dist/types/view/FlexibleCard/components/blocks/footer-block/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/blocks/metadata-block/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/blocks/preview-block/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/blocks/snippet-block/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/errored/index.d.ts +9 -2
- package/dist/types/view/FlexibleCard/components/blocks/title-block/index.d.ts +11 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +7 -3
- package/dist/types/view/FlexibleCard/components/blocks/title-block/resolving/index.d.ts +8 -2
- package/dist/types/view/FlexibleCard/components/blocks/title-block/types.d.ts +10 -1
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +7 -5
- package/dist/types/view/FlexibleCard/components/blocks/utils.d.ts +2 -1
- package/dist/types/view/FlexibleCard/components/container/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/container/types.d.ts +2 -2
- package/dist/types/view/FlexibleCard/components/elements/avatar-group/index.d.ts +7 -0
- package/dist/types/view/FlexibleCard/components/elements/badge/index.d.ts +13 -0
- package/dist/types/view/FlexibleCard/components/elements/date-time/index.d.ts +7 -0
- package/dist/types/view/FlexibleCard/components/elements/icon/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/icon/types.d.ts +5 -1
- package/dist/types/view/FlexibleCard/components/elements/index.d.ts +77 -0
- package/dist/types/view/FlexibleCard/components/elements/link/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/lozenge/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/media/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/text/index.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/text/types.d.ts +1 -2
- package/dist/types/view/FlexibleCard/components/elements/types.d.ts +2 -0
- package/dist/types/view/FlexibleCard/index.d.ts +6 -0
- package/dist/types/view/HoverCard/index.d.ts +3 -2
- package/dist/types/view/HoverCard/types.d.ts +5 -2
- package/dist/types/view/InlineCard/Icon.d.ts +3 -3
- package/dist/types/view/InlineCard/IconAndTitleLayout/styled.d.ts +9 -9
- package/dist/types/view/InlineCard/ResolvingView/styled.d.ts +3 -3
- package/dist/types/view/InlineCard/styled.d.ts +4 -4
- package/package.json +9 -4
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/utils.js +0 -105
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/utils.js +0 -71
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/utils.js +0 -76
- package/dist/types/view/FlexibleCard/components/blocks/title-block/utils.d.ts +0 -11
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["actionGroup", "testId", "title"];
|
|
2
4
|
|
|
3
5
|
/** @jsx jsx */
|
|
4
6
|
import React from 'react';
|
|
5
7
|
import { jsx } from '@emotion/core';
|
|
6
8
|
import Spinner from '@atlaskit/spinner';
|
|
9
|
+
import Block from '../../block';
|
|
7
10
|
import { SmartLinkSize } from '../../../../../../constants';
|
|
8
|
-
import { BaseTitleBlockComponent } from '../utils';
|
|
9
11
|
|
|
10
12
|
var getSpinnerSize = function getSpinnerSize(size) {
|
|
11
13
|
// Spinner sizes should be equivalent or smaller than Icon size
|
|
@@ -25,19 +27,28 @@ var getSpinnerSize = function getSpinnerSize(size) {
|
|
|
25
27
|
return 12;
|
|
26
28
|
}
|
|
27
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* This represents a TitleBlock for a Smart Link that is currently waiting
|
|
32
|
+
* for a request to finish.
|
|
33
|
+
* This should render when a Smart Link has sent a request.
|
|
34
|
+
* @see TitleBlock
|
|
35
|
+
*/
|
|
28
36
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
testId =
|
|
33
|
-
|
|
37
|
+
|
|
38
|
+
var TitleBlockResolvingView = function TitleBlockResolvingView(_ref) {
|
|
39
|
+
var actionGroup = _ref.actionGroup,
|
|
40
|
+
testId = _ref.testId,
|
|
41
|
+
title = _ref.title,
|
|
42
|
+
blockProps = _objectWithoutProperties(_ref, _excluded);
|
|
43
|
+
|
|
44
|
+
var _blockProps$size = blockProps.size,
|
|
45
|
+
size = _blockProps$size === void 0 ? SmartLinkSize.Medium : _blockProps$size;
|
|
46
|
+
return jsx(Block, _extends({}, blockProps, {
|
|
47
|
+
testId: "".concat(testId, "-resolving-view")
|
|
48
|
+
}), jsx(Spinner, {
|
|
34
49
|
size: getSpinnerSize(size),
|
|
35
50
|
testId: "".concat(testId, "-resolving-spinner")
|
|
36
|
-
});
|
|
37
|
-
return jsx(BaseTitleBlockComponent, _extends({}, props, {
|
|
38
|
-
blockIcon: spinnerIcon,
|
|
39
|
-
blockTestIdPostfix: "resolving-view"
|
|
40
|
-
}));
|
|
51
|
+
}), title, actionGroup);
|
|
41
52
|
};
|
|
42
53
|
|
|
43
54
|
export default TitleBlockResolvingView;
|
|
@@ -6,7 +6,8 @@ import React from 'react';
|
|
|
6
6
|
import Loadable from 'react-loadable';
|
|
7
7
|
import { B200, B400, N700, R400 } from '@atlaskit/theme/colors';
|
|
8
8
|
import { IconType } from '../../../../../constants';
|
|
9
|
-
// prettier-ignore
|
|
9
|
+
import { token } from '@atlaskit/tokens'; // prettier-ignore
|
|
10
|
+
|
|
10
11
|
var importIconMapper = (_importIconMapper = {}, _defineProperty(_importIconMapper, IconType.Archive, function () {
|
|
11
12
|
return import(
|
|
12
13
|
/* webpackChunkName: "glyphArchive" */
|
|
@@ -295,10 +296,14 @@ var AtlaskitIcon = function AtlaskitIcon(_ref3) {
|
|
|
295
296
|
return /*#__PURE__*/React.createElement(ImportedIcon, {
|
|
296
297
|
"data-testid": testId // Confluence and Jira imports don't have native testId prop
|
|
297
298
|
,
|
|
298
|
-
textColor: N700
|
|
299
|
+
textColor: token('color.text.subtle', N700)
|
|
300
|
+
/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
|
|
301
|
+
,
|
|
299
302
|
iconColor: B200,
|
|
300
303
|
iconGradientStart: B400,
|
|
301
304
|
iconGradientStop: B200
|
|
305
|
+
/* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
|
|
306
|
+
|
|
302
307
|
});
|
|
303
308
|
|
|
304
309
|
case IconType.Error:
|
|
@@ -306,7 +311,7 @@ var AtlaskitIcon = function AtlaskitIcon(_ref3) {
|
|
|
306
311
|
return /*#__PURE__*/React.createElement(ImportedIcon, {
|
|
307
312
|
label: label,
|
|
308
313
|
testId: testId,
|
|
309
|
-
primaryColor: R400
|
|
314
|
+
primaryColor: token('color.icon.danger', R400)
|
|
310
315
|
});
|
|
311
316
|
|
|
312
317
|
default:
|
|
@@ -6,8 +6,9 @@ var _templateObject, _templateObject2;
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { css, jsx, keyframes } from '@emotion/core';
|
|
8
8
|
import ImageLoader from 'react-render-image';
|
|
9
|
+
import { token } from '@atlaskit/tokens';
|
|
9
10
|
var placeholderShimmer = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% { background-position: -20px 0; }\n 100% { background-position: 20px 0; }\n"])));
|
|
10
|
-
var shimmer = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-radius: 2px;\n user-select: none;\n
|
|
11
|
+
var shimmer = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-radius: 2px;\n user-select: none;\n background: ", ";\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4236\n background-image: linear-gradient(\n to right,\n ", " 0%,\n ", " 20%,\n ", " 40%,\n ", "100%\n );\n background-repeat: no-repeat;\n background-size: 280% 100%;\n display: inline-block;\n\n animation-duration: 1s;\n animation-fill-mode: forwards;\n animation-iteration-count: infinite;\n animation-name: ", ";\n animation-timing-function: linear;\n"])), token('color.skeleton.subtle', '#f6f7f8'), token('color.skeleton.subtle', '#f6f7f8'), token('color.skeleton', '#edeef1'), token('color.skeleton.subtle', '#f6f7f8'), token('color.skeleton.subtle', '#f6f7f8'), placeholderShimmer);
|
|
11
12
|
|
|
12
13
|
var ImageIcon = function ImageIcon(_ref) {
|
|
13
14
|
var defaultIcon = _ref.defaultIcon,
|
|
@@ -62,6 +62,11 @@ var renderChildren = function renderChildren(children, containerSize, containerT
|
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* This represents the container in which all Flexible UI Smart Links are rendered.
|
|
67
|
+
* @see Block
|
|
68
|
+
*/
|
|
69
|
+
|
|
65
70
|
|
|
66
71
|
var Container = function Container(_ref) {
|
|
67
72
|
var children = _ref.children,
|
|
@@ -22,12 +22,21 @@ var getStyles = function getStyles(size) {
|
|
|
22
22
|
return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n li {\n span,\n svg {\n max-height: 1.25rem;\n max-width: 1.25rem;\n }\n }\n "])));
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* An element that displays a group of avatars.
|
|
27
|
+
* @public
|
|
28
|
+
* @param {AvatarGroupProps} AvatarGroupProps - The props necessary for the AvatarGroup.
|
|
29
|
+
* @see AuthorGroup
|
|
30
|
+
* @see CollaboratorGroup
|
|
31
|
+
*/
|
|
32
|
+
|
|
25
33
|
|
|
26
34
|
var AvatarGroup = function AvatarGroup(_ref) {
|
|
27
35
|
var _ref$items = _ref.items,
|
|
28
36
|
items = _ref$items === void 0 ? [] : _ref$items,
|
|
29
37
|
_ref$maxCount = _ref.maxCount,
|
|
30
38
|
maxCount = _ref$maxCount === void 0 ? MAX_COUNT : _ref$maxCount,
|
|
39
|
+
overrideCss = _ref.overrideCss,
|
|
31
40
|
_ref$size = _ref.size,
|
|
32
41
|
size = _ref$size === void 0 ? SmartLinkSize.Medium : _ref$size,
|
|
33
42
|
_ref$testId = _ref.testId,
|
|
@@ -38,7 +47,9 @@ var AvatarGroup = function AvatarGroup(_ref) {
|
|
|
38
47
|
}
|
|
39
48
|
|
|
40
49
|
return jsx("span", {
|
|
41
|
-
css: getStyles(size)
|
|
50
|
+
css: [getStyles(size), overrideCss],
|
|
51
|
+
"data-smart-element-avatar-group": true,
|
|
52
|
+
"data-testid": testId
|
|
42
53
|
}, jsx(AtlaskitAvatarGroup, {
|
|
43
54
|
maxCount: maxCount,
|
|
44
55
|
appearance: "stack",
|
|
@@ -47,13 +47,28 @@ var renderImageIcon = function renderImageIcon(url, testId) {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* An element that displays some text with an associated icon.
|
|
52
|
+
* @public
|
|
53
|
+
* @param {BadgeProps} BadgeProps - The props necessary for the Badge.
|
|
54
|
+
* @see CommentCount
|
|
55
|
+
* @see ViewCount
|
|
56
|
+
* @see ReactCount
|
|
57
|
+
* @see VoteCount
|
|
58
|
+
* @see SubscriberCount
|
|
59
|
+
* @see Priority
|
|
60
|
+
* @see ProgrammingLanguage
|
|
61
|
+
* @see Provider
|
|
62
|
+
*/
|
|
63
|
+
|
|
50
64
|
|
|
51
65
|
var Badge = function Badge(_ref) {
|
|
52
66
|
var icon = _ref.icon,
|
|
53
|
-
url = _ref.url,
|
|
54
67
|
label = _ref.label,
|
|
68
|
+
overrideCss = _ref.overrideCss,
|
|
55
69
|
_ref$testId = _ref.testId,
|
|
56
|
-
testId = _ref$testId === void 0 ? 'smart-element-badge' : _ref$testId
|
|
70
|
+
testId = _ref$testId === void 0 ? 'smart-element-badge' : _ref$testId,
|
|
71
|
+
url = _ref.url;
|
|
57
72
|
var formattedMessageOrLabel = getFormattedMessageFromIcon(icon) || label;
|
|
58
73
|
var badgeIcon = renderAtlaskitIcon(icon, testId) || renderImageIcon(url, testId);
|
|
59
74
|
|
|
@@ -62,7 +77,7 @@ var Badge = function Badge(_ref) {
|
|
|
62
77
|
}
|
|
63
78
|
|
|
64
79
|
return jsx("div", {
|
|
65
|
-
css: badgeStyles,
|
|
80
|
+
css: [badgeStyles, overrideCss],
|
|
66
81
|
"data-fit-to-content": true,
|
|
67
82
|
"data-smart-element-badge": true,
|
|
68
83
|
"data-testid": testId
|
|
@@ -16,9 +16,17 @@ var typeToDescriptorMap = {
|
|
|
16
16
|
created: messages.created_on,
|
|
17
17
|
modified: messages.modified_on
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* An element that displays an ISO Timestamp in text.
|
|
21
|
+
* @public
|
|
22
|
+
* @param {DateTimeProps} DateTimeProps - The props necessary for the DateTime element.
|
|
23
|
+
* @see CreatedOn
|
|
24
|
+
* @see ModifiedOn
|
|
25
|
+
*/
|
|
19
26
|
|
|
20
27
|
var DateTime = function DateTime(_ref) {
|
|
21
28
|
var date = _ref.date,
|
|
29
|
+
overrideCss = _ref.overrideCss,
|
|
22
30
|
type = _ref.type,
|
|
23
31
|
_ref$testId = _ref.testId,
|
|
24
32
|
testId = _ref$testId === void 0 ? 'smart-element-date-time' : _ref$testId;
|
|
@@ -38,7 +46,7 @@ var DateTime = function DateTime(_ref) {
|
|
|
38
46
|
numeric: 'auto'
|
|
39
47
|
});
|
|
40
48
|
return jsx("span", {
|
|
41
|
-
css: styles,
|
|
49
|
+
css: [styles, overrideCss],
|
|
42
50
|
"data-separator": true,
|
|
43
51
|
"data-smart-element-date-time": true,
|
|
44
52
|
"data-testid": testId
|
|
@@ -73,6 +73,13 @@ var renderImageIcon = function renderImageIcon(defaultIcon, icon, url, testId) {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* An element that displays an Icon or favicon.
|
|
78
|
+
* @public
|
|
79
|
+
* @param {IconProps} IconProps - The props necessary for the Icon element.
|
|
80
|
+
* @see LinkIcon
|
|
81
|
+
*/
|
|
82
|
+
|
|
76
83
|
|
|
77
84
|
var Icon = function Icon(_ref) {
|
|
78
85
|
var icon = _ref.icon,
|
|
@@ -80,6 +87,7 @@ var Icon = function Icon(_ref) {
|
|
|
80
87
|
label = _ref$label === void 0 ? 'Link' : _ref$label,
|
|
81
88
|
_ref$position = _ref.position,
|
|
82
89
|
position = _ref$position === void 0 ? SmartLinkPosition.Top : _ref$position,
|
|
90
|
+
overrideCss = _ref.overrideCss,
|
|
83
91
|
render = _ref.render,
|
|
84
92
|
_ref$size = _ref.size,
|
|
85
93
|
size = _ref$size === void 0 ? SmartLinkSize.Medium : _ref$size,
|
|
@@ -94,7 +102,7 @@ var Icon = function Icon(_ref) {
|
|
|
94
102
|
var styles = getIconStyles(size, position, width);
|
|
95
103
|
var renderStyles = render ? getCustomRenderStyles(width) : undefined;
|
|
96
104
|
return jsx("div", {
|
|
97
|
-
css: [styles, renderStyles],
|
|
105
|
+
css: [styles, renderStyles, overrideCss],
|
|
98
106
|
"data-fit-to-content": true,
|
|
99
107
|
"data-smart-element-icon": true,
|
|
100
108
|
"data-testid": testId
|
|
@@ -3,22 +3,118 @@ import { ElementName } from '../../../../constants';
|
|
|
3
3
|
// Attention: Keep the export name and element name the same.
|
|
4
4
|
// This will help reducing the code for mapping elements inside
|
|
5
5
|
// createElement and renderElementItems
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates an AvatarGroup element using the data from AuthorGroup in the Flexible UI Context.
|
|
9
|
+
* @see AvatarGroup
|
|
10
|
+
*/
|
|
6
11
|
export var AuthorGroup = createElement(ElementName.AuthorGroup);
|
|
12
|
+
/**
|
|
13
|
+
* Creates an AvatarGroup element using the data from CollaboratorGroup in the Flexible UI Context.
|
|
14
|
+
* @see AvatarGroup
|
|
15
|
+
*/
|
|
16
|
+
|
|
7
17
|
export var CollaboratorGroup = createElement(ElementName.CollaboratorGroup);
|
|
18
|
+
/**
|
|
19
|
+
* Creates a CommentCount Badge element using the data from CommentCount in the Flexible UI Context.
|
|
20
|
+
* @see Badge
|
|
21
|
+
*/
|
|
22
|
+
|
|
8
23
|
export var CommentCount = createElement(ElementName.CommentCount);
|
|
24
|
+
/**
|
|
25
|
+
* Creates a ViewCount Badge element using the data from ViewCount in the Flexible UI Context.
|
|
26
|
+
* @see Badge
|
|
27
|
+
*/
|
|
28
|
+
|
|
9
29
|
export var ViewCount = createElement(ElementName.ViewCount);
|
|
30
|
+
/**
|
|
31
|
+
* Creates a ReactCount Badge element using the data from ReactCount in the Flexible UI Context.
|
|
32
|
+
* @see Badge
|
|
33
|
+
*/
|
|
34
|
+
|
|
10
35
|
export var ReactCount = createElement(ElementName.ReactCount);
|
|
36
|
+
/**
|
|
37
|
+
* Creates a VoteCount Badge element using the data from VoteCount in the Flexible UI Context.
|
|
38
|
+
* @see Badge
|
|
39
|
+
*/
|
|
40
|
+
|
|
11
41
|
export var VoteCount = createElement(ElementName.VoteCount);
|
|
42
|
+
/**
|
|
43
|
+
* Creates a CreatedBy text element using the data from CreatedBy in the Flexible UI Context.
|
|
44
|
+
* @see Text
|
|
45
|
+
*/
|
|
46
|
+
|
|
12
47
|
export var CreatedBy = createElement(ElementName.CreatedBy);
|
|
48
|
+
/**
|
|
49
|
+
* Creates a CreatedOn DateTime element using the data from CreatedOn in the Flexible UI Context.
|
|
50
|
+
* @see DateTime
|
|
51
|
+
*/
|
|
52
|
+
|
|
13
53
|
export var CreatedOn = createElement(ElementName.CreatedOn);
|
|
54
|
+
/**
|
|
55
|
+
* Creates a LinkIcon Icon element using the data from LinkIcon in the Flexible UI Context.
|
|
56
|
+
* @see Icon
|
|
57
|
+
*/
|
|
58
|
+
|
|
14
59
|
export var LinkIcon = createElement(ElementName.LinkIcon);
|
|
60
|
+
/**
|
|
61
|
+
* Creates a ModifiedBy Text element using the data from ModifiedBy in the Flexible UI Context.
|
|
62
|
+
* @see Text
|
|
63
|
+
*/
|
|
64
|
+
|
|
15
65
|
export var ModifiedBy = createElement(ElementName.ModifiedBy);
|
|
66
|
+
/**
|
|
67
|
+
* Creates a ModifiedOn DateTime element using the data from ModifiedOn in the Flexible UI Context.
|
|
68
|
+
* @see DateTime
|
|
69
|
+
*/
|
|
70
|
+
|
|
16
71
|
export var ModifiedOn = createElement(ElementName.ModifiedOn);
|
|
72
|
+
/**
|
|
73
|
+
* Creates a Preview element using the data from Preview in the Flexible UI Context.
|
|
74
|
+
* @see Preview
|
|
75
|
+
*/
|
|
76
|
+
|
|
17
77
|
export var Preview = createElement(ElementName.Preview);
|
|
78
|
+
/**
|
|
79
|
+
* Creates a Priority Badge element using the data from Priority in the Flexible UI Context.
|
|
80
|
+
* @see Badge
|
|
81
|
+
*/
|
|
82
|
+
|
|
18
83
|
export var Priority = createElement(ElementName.Priority);
|
|
84
|
+
/**
|
|
85
|
+
* Creates a ProgrammingLanguage Badge element using the data from ProgrammingLanguage in the Flexible UI Context.
|
|
86
|
+
* @see Badge
|
|
87
|
+
*/
|
|
88
|
+
|
|
19
89
|
export var ProgrammingLanguage = createElement(ElementName.ProgrammingLanguage);
|
|
90
|
+
/**
|
|
91
|
+
* Creates a Snippet element using the data from Snippet in the Flexible UI Context.
|
|
92
|
+
* @see Text
|
|
93
|
+
*/
|
|
94
|
+
|
|
20
95
|
export var Snippet = createElement(ElementName.Snippet);
|
|
96
|
+
/**
|
|
97
|
+
* Creates a State Lozenge element using the data from State in the Flexible UI Context.
|
|
98
|
+
* @see Lozenge
|
|
99
|
+
*/
|
|
100
|
+
|
|
21
101
|
export var State = createElement(ElementName.State);
|
|
102
|
+
/**
|
|
103
|
+
* Creates a SubscriberCount Badge element using the data from SubscriberCount in the Flexible UI Context.
|
|
104
|
+
* @see Badge
|
|
105
|
+
*/
|
|
106
|
+
|
|
22
107
|
export var SubscriberCount = createElement(ElementName.SubscriberCount);
|
|
108
|
+
/**
|
|
109
|
+
* Creates a Title Link element using the data from Title in the Flexible UI Context.
|
|
110
|
+
* This represents the main link text within the Smart Link.
|
|
111
|
+
* @see Link
|
|
112
|
+
*/
|
|
113
|
+
|
|
23
114
|
export var Title = createElement(ElementName.Title);
|
|
115
|
+
/**
|
|
116
|
+
* Creates a Provider Badge element using the data from Provider in the Flexible UI Context.
|
|
117
|
+
* @see Badge
|
|
118
|
+
*/
|
|
119
|
+
|
|
24
120
|
export var Provider = createElement(ElementName.Provider);
|
|
@@ -16,6 +16,7 @@ var containerStyles = css(_templateObject || (_templateObject = _taggedTemplateL
|
|
|
16
16
|
|
|
17
17
|
var getThemeStyles = function getThemeStyles(theme) {
|
|
18
18
|
switch (theme) {
|
|
19
|
+
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
19
20
|
case SmartLinkTheme.Black:
|
|
20
21
|
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n :active {\n color: ", ";\n }\n :hover {\n color: ", ";\n text-decoration: underline;\n }\n "])), tokens.blackLink, tokens.blackLinkPressed, tokens.blackLink);
|
|
21
22
|
|
|
@@ -41,10 +42,18 @@ var getMaxLines = function getMaxLines(maxLines) {
|
|
|
41
42
|
|
|
42
43
|
return maxLines;
|
|
43
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* An element that represent.
|
|
47
|
+
* @public
|
|
48
|
+
* @param {LinkProps} LinkProps - The props necessary for the Icon element.
|
|
49
|
+
* @see LinkIcon
|
|
50
|
+
*/
|
|
51
|
+
|
|
44
52
|
|
|
45
53
|
var Link = function Link(_ref) {
|
|
46
54
|
var _ref$maxLines = _ref.maxLines,
|
|
47
55
|
maxLines = _ref$maxLines === void 0 ? DEFAULT_MAX_LINES : _ref$maxLines,
|
|
56
|
+
overrideCss = _ref.overrideCss,
|
|
48
57
|
_ref$size = _ref.size,
|
|
49
58
|
size = _ref$size === void 0 ? SmartLinkSize.Medium : _ref$size,
|
|
50
59
|
_ref$testId = _ref.testId,
|
|
@@ -62,7 +71,7 @@ var Link = function Link(_ref) {
|
|
|
62
71
|
testId: "".concat(testId, "-tooltip"),
|
|
63
72
|
tag: "span"
|
|
64
73
|
}, jsx("a", {
|
|
65
|
-
css: getAnchorStyles(size, theme, getMaxLines(maxLines)),
|
|
74
|
+
css: [getAnchorStyles(size, theme, getMaxLines(maxLines)), overrideCss],
|
|
66
75
|
"data-smart-element-link": true,
|
|
67
76
|
"data-testid": testId,
|
|
68
77
|
onClick: onClick,
|
|
@@ -7,10 +7,17 @@ import React from 'react';
|
|
|
7
7
|
import { css, jsx } from '@emotion/core';
|
|
8
8
|
import AtlaskitLozenge from '@atlaskit/lozenge';
|
|
9
9
|
var styles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n line-height: inherit;\n"])));
|
|
10
|
+
/**
|
|
11
|
+
* An element that displays a Lozenge.
|
|
12
|
+
* @public
|
|
13
|
+
* @param {LozengeProps} LozengeProps - The props necessary for the Lozenge element.
|
|
14
|
+
* @see State
|
|
15
|
+
*/
|
|
10
16
|
|
|
11
17
|
var Lozenge = function Lozenge(_ref) {
|
|
12
18
|
var _ref$appearance = _ref.appearance,
|
|
13
19
|
appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
|
|
20
|
+
overrideCss = _ref.overrideCss,
|
|
14
21
|
text = _ref.text,
|
|
15
22
|
_ref$testId = _ref.testId,
|
|
16
23
|
testId = _ref$testId === void 0 ? 'smart-element-lozenge' : _ref$testId;
|
|
@@ -20,12 +27,13 @@ var Lozenge = function Lozenge(_ref) {
|
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
return jsx("span", {
|
|
23
|
-
css: styles,
|
|
30
|
+
css: [styles, overrideCss],
|
|
24
31
|
"data-fit-to-content": true,
|
|
25
|
-
"data-smart-element-lozenge": true
|
|
32
|
+
"data-smart-element-lozenge": true,
|
|
33
|
+
"data-testid": testId
|
|
26
34
|
}, jsx(AtlaskitLozenge, {
|
|
27
35
|
appearance: appearance,
|
|
28
|
-
testId: testId
|
|
36
|
+
testId: "".concat(testId, "-lozenge")
|
|
29
37
|
}, text));
|
|
30
38
|
};
|
|
31
39
|
|
|
@@ -18,9 +18,16 @@ import ImageIcon from '../../common/image-icon';
|
|
|
18
18
|
* contents within the element's box.
|
|
19
19
|
*/
|
|
20
20
|
var styles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n aspect-ratio: 16 / 9;\n display: flex;\n width: 100%;\n\n // fallback\n @supports not (aspect-ratio: auto) {\n padding-top: 56.25%; // 16:9 ratio (9 / 16 = 0.5625)\n height: 0;\n position: relative;\n overflow: hidden;\n }\n\n > img {\n min-height: 100%;\n min-width: 100%;\n max-height: 100%;\n max-width: 100%;\n object-fit: cover;\n object-position: center center;\n\n // fallback\n @supports not (aspect-ratio: auto) {\n position: absolute;\n transform: translate(-50%, -50%);\n left: 50%;\n top: 50%;\n width: auto;\n height: auto;\n }\n }\n"])));
|
|
21
|
+
/**
|
|
22
|
+
* An element that displays a Media.
|
|
23
|
+
* @public
|
|
24
|
+
* @param {MediaProps} MediaProps - The props necessary for the Media element.
|
|
25
|
+
* @see Preview
|
|
26
|
+
*/
|
|
21
27
|
|
|
22
28
|
var Media = function Media(_ref) {
|
|
23
|
-
var
|
|
29
|
+
var overrideCss = _ref.overrideCss,
|
|
30
|
+
_ref$testId = _ref.testId,
|
|
24
31
|
testId = _ref$testId === void 0 ? 'smart-element-media' : _ref$testId,
|
|
25
32
|
type = _ref.type,
|
|
26
33
|
url = _ref.url;
|
|
@@ -30,7 +37,7 @@ var Media = function Media(_ref) {
|
|
|
30
37
|
}
|
|
31
38
|
|
|
32
39
|
return jsx("div", {
|
|
33
|
-
css: styles,
|
|
40
|
+
css: [styles, overrideCss],
|
|
34
41
|
"data-smart-element-media": true,
|
|
35
42
|
"data-testid": testId
|
|
36
43
|
}, jsx(ImageIcon, {
|
|
@@ -8,17 +8,23 @@ import { css, jsx } from '@emotion/core';
|
|
|
8
8
|
import { getFormattedMessage, getTruncateStyles } from '../../utils';
|
|
9
9
|
import { tokens } from '../../../../../utils/token';
|
|
10
10
|
|
|
11
|
-
var getStyles = function getStyles(maxLines
|
|
12
|
-
return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n ", "\n"])),
|
|
11
|
+
var getStyles = function getStyles(maxLines) {
|
|
12
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n ", "\n"])), tokens.text, getTruncateStyles(maxLines));
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* An element that displays some Text.
|
|
16
|
+
* @public
|
|
17
|
+
* @param {TextProps} TextProps - The props necessary for the Text element.
|
|
18
|
+
* @see Title
|
|
19
|
+
*/
|
|
20
|
+
|
|
14
21
|
|
|
15
22
|
var Text = function Text(_ref) {
|
|
16
|
-
var
|
|
17
|
-
color = _ref$color === void 0 ? tokens.text : _ref$color,
|
|
18
|
-
content = _ref.content,
|
|
23
|
+
var content = _ref.content,
|
|
19
24
|
_ref$maxLines = _ref.maxLines,
|
|
20
25
|
maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
|
|
21
26
|
message = _ref.message,
|
|
27
|
+
overrideCss = _ref.overrideCss,
|
|
22
28
|
_ref$testId = _ref.testId,
|
|
23
29
|
testId = _ref$testId === void 0 ? 'smart-element-text' : _ref$testId;
|
|
24
30
|
|
|
@@ -27,7 +33,7 @@ var Text = function Text(_ref) {
|
|
|
27
33
|
}
|
|
28
34
|
|
|
29
35
|
return jsx("span", {
|
|
30
|
-
css: getStyles(maxLines,
|
|
36
|
+
css: [getStyles(maxLines), overrideCss],
|
|
31
37
|
"data-separator": true,
|
|
32
38
|
"data-smart-element-text": true,
|
|
33
39
|
"data-testid": testId
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
3
4
|
|
|
4
|
-
var _elementMappings;
|
|
5
|
+
var _templateObject, _elementMappings;
|
|
5
6
|
|
|
6
7
|
import React, { useContext } from 'react';
|
|
8
|
+
import { css } from '@emotion/core';
|
|
7
9
|
import { ElementName, IconType } from '../../../../constants';
|
|
8
10
|
import Icon from './icon';
|
|
9
11
|
import Link from './link';
|
|
@@ -59,8 +61,8 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_elementMappings,
|
|
|
59
61
|
}), _defineProperty(_elementMappings, ElementName.Snippet, {
|
|
60
62
|
component: Text,
|
|
61
63
|
props: {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
maxLines: SNIPPET_DEFAULT_MAX_LINES,
|
|
65
|
+
overrideCss: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n "])), tokens.snippet)
|
|
64
66
|
}
|
|
65
67
|
}), _defineProperty(_elementMappings, ElementName.State, {
|
|
66
68
|
component: Lozenge
|
|
@@ -3,6 +3,12 @@ import React from 'react';
|
|
|
3
3
|
import Container from './components/container';
|
|
4
4
|
import { FlexibleUiContext } from '../../state/flexible-ui-context';
|
|
5
5
|
import { getContextByStatus, getRetryOptions } from './utils';
|
|
6
|
+
/**
|
|
7
|
+
* This represents a Flexible Card: a link represented by a card with metadata.
|
|
8
|
+
* This is the container in which all Flexible UI Blocks and Elements exist.
|
|
9
|
+
* Note: TitleBlock is mandatory for a Flexible Card to render.
|
|
10
|
+
* @see Container
|
|
11
|
+
*/
|
|
6
12
|
|
|
7
13
|
var FlexibleCard = function FlexibleCard(_ref) {
|
|
8
14
|
var cardState = _ref.cardState,
|
|
@@ -11,9 +11,18 @@ import { SmartLinkSize, ActionName } from '../../constants';
|
|
|
11
11
|
import { useSmartLinkActions } from '../../state/hooks-external/useSmartLinkActions';
|
|
12
12
|
import { HoverCardContainer } from './styled';
|
|
13
13
|
import ShortcutIcon from '@atlaskit/icon/glyph/shortcut';
|
|
14
|
-
|
|
14
|
+
import { withAnalyticsEvents, withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
15
|
+
import { fireSmartLinkEvent } from '../../utils/analytics';
|
|
16
|
+
import { useSmartCardState as useLinkState } from '../../state/store';
|
|
17
|
+
import { useSmartLinkAnalytics } from '../../state/analytics';
|
|
18
|
+
import { getExtensionKey, getDefinitionId } from '../../state/helpers';
|
|
19
|
+
export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
15
20
|
var children = _ref.children,
|
|
16
|
-
url = _ref.url
|
|
21
|
+
url = _ref.url,
|
|
22
|
+
createAnalyticsEvent = _ref.createAnalyticsEvent;
|
|
23
|
+
var analyticsHandler = useCallback(function (analyticsPayload) {
|
|
24
|
+
fireSmartLinkEvent(analyticsPayload, createAnalyticsEvent);
|
|
25
|
+
}, [createAnalyticsEvent]);
|
|
17
26
|
var delay = 300;
|
|
18
27
|
|
|
19
28
|
var _React$useState = React.useState(false),
|
|
@@ -23,26 +32,45 @@ export var HoverCard = function HoverCard(_ref) {
|
|
|
23
32
|
|
|
24
33
|
var fadeOutTimeoutId = useRef();
|
|
25
34
|
var fadeInTimeoutId = useRef();
|
|
35
|
+
var cardOpenTime = useRef();
|
|
36
|
+
var linkState = useLinkState(url);
|
|
37
|
+
var analytics = useSmartLinkAnalytics(analyticsHandler);
|
|
38
|
+
var extensionKey = useMemo(function () {
|
|
39
|
+
return getExtensionKey(linkState.details);
|
|
40
|
+
}, [linkState]);
|
|
41
|
+
var definitionId = useMemo(function () {
|
|
42
|
+
return getDefinitionId(linkState.details);
|
|
43
|
+
}, [linkState]);
|
|
26
44
|
var initHideCard = useCallback(function () {
|
|
27
45
|
if (fadeInTimeoutId.current) {
|
|
28
46
|
clearTimeout(fadeInTimeoutId.current);
|
|
29
47
|
}
|
|
30
48
|
|
|
31
49
|
fadeOutTimeoutId.current = setTimeout(function () {
|
|
50
|
+
//Check its previously open to avoid firing events when moving between the child and hover card components
|
|
51
|
+
if (isOpen === true && cardOpenTime.current) {
|
|
52
|
+
var hoverTime = Date.now() - cardOpenTime.current;
|
|
53
|
+
analytics.ui.hoverCardDismissedEvent('card', hoverTime, definitionId, extensionKey);
|
|
54
|
+
}
|
|
55
|
+
|
|
32
56
|
setIsOpen(false);
|
|
33
57
|
}, delay);
|
|
34
|
-
}, [delay]);
|
|
58
|
+
}, [delay, isOpen, definitionId, extensionKey, analytics]);
|
|
35
59
|
var initShowCard = useCallback(function () {
|
|
36
60
|
if (fadeOutTimeoutId.current) {
|
|
37
61
|
clearTimeout(fadeOutTimeoutId.current);
|
|
38
62
|
}
|
|
39
63
|
|
|
40
64
|
fadeInTimeoutId.current = setTimeout(function () {
|
|
65
|
+
//Check if its previously closed to avoid firing events when moving between the child and hover card components
|
|
66
|
+
if (isOpen === false) {
|
|
67
|
+
cardOpenTime.current = Date.now();
|
|
68
|
+
analytics.ui.hoverCardViewedEvent('card', definitionId, extensionKey);
|
|
69
|
+
}
|
|
70
|
+
|
|
41
71
|
setIsOpen(true);
|
|
42
72
|
}, delay);
|
|
43
|
-
}, [delay
|
|
44
|
-
|
|
45
|
-
var analyticsHandler = useCallback(function () {}, []);
|
|
73
|
+
}, [delay, isOpen, definitionId, extensionKey, analytics]);
|
|
46
74
|
var linkActions = useSmartLinkActions({
|
|
47
75
|
url: url,
|
|
48
76
|
appearance: 'block',
|
|
@@ -69,11 +97,12 @@ export var HoverCard = function HoverCard(_ref) {
|
|
|
69
97
|
}),
|
|
70
98
|
iconPosition: 'before',
|
|
71
99
|
onClick: function onClick() {
|
|
72
|
-
|
|
100
|
+
window.open(url, '_blank');
|
|
101
|
+
analytics.ui.hoverCardOpenLinkClickedEvent('card', definitionId, extensionKey);
|
|
73
102
|
},
|
|
74
103
|
testId: 'hover-card-open-button'
|
|
75
104
|
};
|
|
76
|
-
}, [url]);
|
|
105
|
+
}, [url, definitionId, extensionKey, analytics]);
|
|
77
106
|
|
|
78
107
|
var cardComponent = function cardComponent() {
|
|
79
108
|
return jsx("div", {
|
|
@@ -101,7 +130,7 @@ export var HoverCard = function HoverCard(_ref) {
|
|
|
101
130
|
testId: "hover-card",
|
|
102
131
|
isOpen: isOpen,
|
|
103
132
|
onClose: onClose,
|
|
104
|
-
placement: "bottom",
|
|
133
|
+
placement: "bottom-start",
|
|
105
134
|
content: cardComponent,
|
|
106
135
|
trigger: function trigger(triggerProps) {
|
|
107
136
|
return jsx("span", _extends({}, triggerProps, {
|
|
@@ -110,4 +139,7 @@ export var HoverCard = function HoverCard(_ref) {
|
|
|
110
139
|
}), children);
|
|
111
140
|
}
|
|
112
141
|
});
|
|
113
|
-
};
|
|
142
|
+
};
|
|
143
|
+
export var HoverCard = withAnalyticsContext({
|
|
144
|
+
source: 'smartLinkPreviewHoverCard'
|
|
145
|
+
})(withAnalyticsEvents()(HoverCardComponent));
|
|
@@ -3,4 +3,5 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
|
3
3
|
var _templateObject;
|
|
4
4
|
|
|
5
5
|
import { css } from '@emotion/core';
|
|
6
|
-
|
|
6
|
+
import { loadingPlaceholderClassName } from '../../index';
|
|
7
|
+
export var HoverCardContainer = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: none;\n border-width: 0;\n max-width: 350px;\n padding: 0;\n\n .", " {\n display: none;\n }\n"])), loadingPlaceholderClassName);
|