@atlaskit/smart-card 17.7.2 → 17.7.5
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/classNames.js +2 -2
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/BlockCard/actions/PreviewAction.js +1 -1
- package/dist/cjs/view/BlockCard/components/ActionList.js +1 -1
- package/dist/cjs/view/BlockCard/components/CollaboratorList.js +1 -1
- package/dist/cjs/view/BlockCard/components/Content.js +1 -1
- package/dist/cjs/view/BlockCard/components/ContentFooter.js +1 -1
- package/dist/cjs/view/BlockCard/components/Emoji.js +1 -1
- package/dist/cjs/view/BlockCard/components/Frame.js +1 -1
- package/dist/cjs/view/BlockCard/components/Name.js +1 -1
- package/dist/cjs/view/BlockCard/components/Provider.js +1 -1
- package/dist/cjs/view/BlockCard/components/Thumbnail.js +1 -1
- package/dist/cjs/view/BlockCard/views/ErroredView.js +1 -1
- package/dist/cjs/view/BlockCard/views/ForbiddenView.js +1 -1
- package/dist/cjs/view/BlockCard/views/NotFoundView.js +1 -1
- package/dist/cjs/view/BlockCard/views/ResolvedView.js +4 -4
- package/dist/cjs/view/BlockCard/views/ResolvingView.js +1 -1
- package/dist/cjs/view/BlockCard/views/UnauthorizedView.js +1 -1
- package/dist/cjs/view/EmbedCard/components/styled.js +1 -1
- package/dist/cjs/view/EmbedCard/views/ErroredView.js +1 -1
- package/dist/cjs/view/EmbedCard/views/UnresolvedView.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +15 -7
- package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +3 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +40 -11
- package/dist/cjs/view/HoverCard/index.js +37 -0
- package/dist/cjs/view/HoverCard/styled.js +19 -0
- package/dist/cjs/view/HoverCard/types.js +5 -0
- package/dist/cjs/view/InlineCard/ResolvedView/index.js +15 -2
- package/dist/cjs/view/InlineCard/index.js +3 -1
- package/dist/cjs/view/{BlockCard/components → common}/Byline.js +1 -1
- package/dist/cjs/view/{BlockCard/components → common}/Icon.js +1 -1
- package/dist/cjs/view/{BlockCard/components → common}/Metadata.js +1 -1
- package/dist/cjs/view/{BlockCard/components → common}/MetadataList.js +1 -1
- package/dist/cjs/view/{BlockCard/components → common}/Modal.js +1 -1
- package/dist/cjs/view/{BlockCard/components → common}/ModalHeader.js +1 -1
- package/dist/cjs/view/{BlockCard/utils/index.js → common/utils.js} +0 -0
- package/dist/es2019/classNames.js +2 -2
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/BlockCard/actions/PreviewAction.js +1 -1
- package/dist/es2019/view/BlockCard/components/ActionList.js +1 -1
- package/dist/es2019/view/BlockCard/components/CollaboratorList.js +1 -1
- package/dist/es2019/view/BlockCard/components/Content.js +1 -1
- package/dist/es2019/view/BlockCard/components/ContentFooter.js +1 -1
- package/dist/es2019/view/BlockCard/components/Emoji.js +1 -1
- package/dist/es2019/view/BlockCard/components/Frame.js +1 -1
- package/dist/es2019/view/BlockCard/components/Name.js +1 -1
- package/dist/es2019/view/BlockCard/components/Provider.js +1 -1
- package/dist/es2019/view/BlockCard/components/Thumbnail.js +1 -1
- package/dist/es2019/view/BlockCard/views/ErroredView.js +1 -1
- package/dist/es2019/view/BlockCard/views/ForbiddenView.js +1 -1
- package/dist/es2019/view/BlockCard/views/NotFoundView.js +1 -1
- package/dist/es2019/view/BlockCard/views/ResolvedView.js +4 -4
- package/dist/es2019/view/BlockCard/views/ResolvingView.js +1 -1
- package/dist/es2019/view/BlockCard/views/UnauthorizedView.js +1 -1
- package/dist/es2019/view/EmbedCard/components/styled.js +1 -1
- package/dist/es2019/view/EmbedCard/views/ErroredView.js +1 -1
- package/dist/es2019/view/EmbedCard/views/UnresolvedView.js +1 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +10 -4
- package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +3 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +30 -10
- package/dist/es2019/view/HoverCard/index.js +20 -0
- package/dist/es2019/view/HoverCard/styled.js +9 -0
- package/dist/es2019/view/HoverCard/types.js +1 -0
- package/dist/es2019/view/InlineCard/ResolvedView/index.js +12 -2
- package/dist/es2019/view/InlineCard/index.js +3 -1
- package/dist/es2019/view/{BlockCard/components → common}/Byline.js +1 -1
- package/dist/es2019/view/{BlockCard/components → common}/Icon.js +1 -1
- package/dist/es2019/view/{BlockCard/components → common}/Metadata.js +1 -1
- package/dist/es2019/view/{BlockCard/components → common}/MetadataList.js +1 -1
- package/dist/es2019/view/{BlockCard/components → common}/Modal.js +1 -1
- package/dist/es2019/view/{BlockCard/components → common}/ModalHeader.js +1 -1
- package/dist/es2019/view/{BlockCard/utils/index.js → common/utils.js} +0 -0
- package/dist/esm/classNames.js +2 -2
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/BlockCard/actions/PreviewAction.js +1 -1
- package/dist/esm/view/BlockCard/components/ActionList.js +1 -1
- package/dist/esm/view/BlockCard/components/CollaboratorList.js +1 -1
- package/dist/esm/view/BlockCard/components/Content.js +1 -1
- package/dist/esm/view/BlockCard/components/ContentFooter.js +1 -1
- package/dist/esm/view/BlockCard/components/Emoji.js +1 -1
- package/dist/esm/view/BlockCard/components/Frame.js +1 -1
- package/dist/esm/view/BlockCard/components/Name.js +1 -1
- package/dist/esm/view/BlockCard/components/Provider.js +1 -1
- package/dist/esm/view/BlockCard/components/Thumbnail.js +1 -1
- package/dist/esm/view/BlockCard/views/ErroredView.js +1 -1
- package/dist/esm/view/BlockCard/views/ForbiddenView.js +1 -1
- package/dist/esm/view/BlockCard/views/NotFoundView.js +1 -1
- package/dist/esm/view/BlockCard/views/ResolvedView.js +4 -4
- package/dist/esm/view/BlockCard/views/ResolvingView.js +1 -1
- package/dist/esm/view/BlockCard/views/UnauthorizedView.js +1 -1
- package/dist/esm/view/EmbedCard/components/styled.js +1 -1
- package/dist/esm/view/EmbedCard/views/ErroredView.js +1 -1
- package/dist/esm/view/EmbedCard/views/UnresolvedView.js +1 -1
- package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +15 -7
- package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +3 -2
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +31 -11
- package/dist/esm/view/HoverCard/index.js +19 -0
- package/dist/esm/view/HoverCard/styled.js +7 -0
- package/dist/esm/view/HoverCard/types.js +1 -0
- package/dist/esm/view/InlineCard/ResolvedView/index.js +13 -2
- package/dist/esm/view/InlineCard/index.js +3 -1
- package/dist/esm/view/{BlockCard/components → common}/Byline.js +1 -1
- package/dist/esm/view/{BlockCard/components → common}/Icon.js +1 -1
- package/dist/esm/view/{BlockCard/components → common}/Metadata.js +1 -1
- package/dist/esm/view/{BlockCard/components → common}/MetadataList.js +1 -1
- package/dist/esm/view/{BlockCard/components → common}/Modal.js +1 -1
- package/dist/esm/view/{BlockCard/components → common}/ModalHeader.js +1 -1
- package/dist/esm/view/{BlockCard/utils/index.js → common/utils.js} +0 -0
- package/dist/types/classNames.d.ts +2 -2
- package/dist/types/view/BlockCard/actions/PreviewAction.d.ts +3 -3
- package/dist/types/view/BlockCard/views/ForbiddenView.d.ts +1 -1
- package/dist/types/view/BlockCard/views/NotFoundView.d.ts +1 -1
- package/dist/types/view/BlockCard/views/ResolvedView.d.ts +2 -2
- package/dist/types/view/BlockCard/views/UnauthorizedView.d.ts +1 -1
- package/dist/types/view/Card/index.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/blocks/action-group/types.d.ts +2 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/types.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +2 -0
- package/dist/types/view/HoverCard/index.d.ts +3 -0
- package/dist/types/view/HoverCard/styled.d.ts +2 -0
- package/dist/types/view/HoverCard/types.d.ts +3 -0
- package/dist/types/view/InlineCard/ResolvedView/index.d.ts +2 -0
- package/dist/types/view/InlineCard/types.d.ts +1 -0
- package/dist/types/view/{BlockCard/components → common}/Byline.d.ts +0 -0
- package/dist/types/view/{BlockCard/components → common}/Icon.d.ts +0 -0
- package/dist/types/view/{BlockCard/components → common}/Metadata.d.ts +0 -0
- package/dist/types/view/{BlockCard/components → common}/MetadataList.d.ts +0 -0
- package/dist/types/view/{BlockCard/components → common}/Modal.d.ts +0 -0
- package/dist/types/view/{BlockCard/components → common}/ModalHeader.d.ts +0 -0
- package/dist/types/view/{BlockCard/utils/index.d.ts → common/utils.d.ts} +0 -0
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import Button from '@atlaskit/button/standard-button';
|
|
|
7
7
|
import DropdownMenu, { DropdownItem, DropdownItemGroup } from '@atlaskit/dropdown-menu';
|
|
8
8
|
import MoreIcon from '@atlaskit/icon/glyph/more';
|
|
9
9
|
import { Action } from './Action';
|
|
10
|
-
import { gs, mq } from '
|
|
10
|
+
import { gs, mq } from '../../common/utils';
|
|
11
11
|
export const ActionList = ({
|
|
12
12
|
items
|
|
13
13
|
}) => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { N20A, N30A, B200, N40A, N50A } from '@atlaskit/theme/colors';
|
|
5
|
-
import { gs, br, mq } from '
|
|
5
|
+
import { gs, br, mq } from '../../common/utils';
|
|
6
6
|
export const Frame = (props = {
|
|
7
7
|
isSelected: false,
|
|
8
8
|
isHoverable: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
3
|
import { fontSize } from '@atlaskit/theme/constants';
|
|
4
|
-
import { gs } from '
|
|
4
|
+
import { gs } from '../../common/utils';
|
|
5
5
|
export const blockCardContentHeaderNameClassName = 'block-card-content-header-name';
|
|
6
6
|
export const Name = ({
|
|
7
7
|
name,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
|
-
import { gs, mq } from '
|
|
3
|
+
import { gs, mq } from '../../common/utils';
|
|
4
4
|
export const Thumbnail = props => {
|
|
5
5
|
return props.color ? jsx(ThumbnailWithBackground, props) : jsx(ThumbnailDefault, props);
|
|
6
6
|
};
|
|
@@ -5,7 +5,7 @@ import { useMemo } from 'react';
|
|
|
5
5
|
import { R300 } from '@atlaskit/theme/colors';
|
|
6
6
|
import WarningIcon from '@atlaskit/icon/glyph/warning';
|
|
7
7
|
import { Frame } from '../components/Frame';
|
|
8
|
-
import { Byline } from '
|
|
8
|
+
import { Byline } from '../../common/Byline';
|
|
9
9
|
import { ActionList } from '../components/ActionList';
|
|
10
10
|
import { Content } from '../components/Content';
|
|
11
11
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
@@ -7,7 +7,7 @@ import { R300 } from '@atlaskit/theme/colors';
|
|
|
7
7
|
import LockIcon from '@atlaskit/icon/glyph/lock-filled';
|
|
8
8
|
import { Frame } from '../components/Frame';
|
|
9
9
|
import { Provider } from '../components/Provider';
|
|
10
|
-
import { Byline } from '
|
|
10
|
+
import { Byline } from '../../common/Byline';
|
|
11
11
|
import { ActionList } from '../components/ActionList';
|
|
12
12
|
import { Content } from '../components/Content';
|
|
13
13
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
@@ -6,7 +6,7 @@ import { R300 } from '@atlaskit/theme/colors';
|
|
|
6
6
|
import WarningIcon from '@atlaskit/icon/glyph/warning';
|
|
7
7
|
import { Frame } from '../components/Frame';
|
|
8
8
|
import { Provider } from '../components/Provider';
|
|
9
|
-
import { Byline } from '
|
|
9
|
+
import { Byline } from '../../common/Byline';
|
|
10
10
|
import { Content } from '../components/Content';
|
|
11
11
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
12
12
|
import { ContentFooter } from '../components/ContentFooter';
|
|
@@ -5,17 +5,17 @@ import { Frame } from '../components/Frame';
|
|
|
5
5
|
import { Thumbnail } from '../components/Thumbnail';
|
|
6
6
|
import { Provider } from '../components/Provider';
|
|
7
7
|
import { Name } from '../components/Name';
|
|
8
|
-
import { Byline } from '
|
|
8
|
+
import { Byline } from '../../common/Byline';
|
|
9
9
|
import { ActionList } from '../components/ActionList';
|
|
10
10
|
import { CollaboratorList } from '../components/CollaboratorList';
|
|
11
11
|
import { Emoji } from '../components/Emoji';
|
|
12
|
-
import { Icon } from '
|
|
12
|
+
import { Icon } from '../../common/Icon';
|
|
13
13
|
import { Content } from '../components/Content';
|
|
14
|
-
import { MetadataList } from '
|
|
14
|
+
import { MetadataList } from '../../common/MetadataList';
|
|
15
15
|
import { LozengeBlockWrapper } from '../../InlineCard/IconAndTitleLayout/styled';
|
|
16
16
|
import { ContentHeader } from '../components/ContentHeader';
|
|
17
17
|
import { ContentFooter } from '../components/ContentFooter';
|
|
18
|
-
import { gs } from '
|
|
18
|
+
import { gs } from '../../common/utils';
|
|
19
19
|
import { handleClickCommon } from '../utils/handlers';
|
|
20
20
|
export const blockCardResolvedViewClassName = 'block-card-resolved-view';
|
|
21
21
|
export const blockCardResolvedViewByClassName = 'block-card-resolved-view-by';
|
|
@@ -4,7 +4,7 @@ import DocumentFilledIcon from '@atlaskit/icon/glyph/document-filled';
|
|
|
4
4
|
import { N50, N90 } from '@atlaskit/theme/colors';
|
|
5
5
|
import { fontSize } from '@atlaskit/theme/constants';
|
|
6
6
|
import { Frame } from '../components/Frame';
|
|
7
|
-
import { gs } from '
|
|
7
|
+
import { gs } from '../../common/utils';
|
|
8
8
|
import { FormattedMessage } from 'react-intl-next';
|
|
9
9
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
10
10
|
export const blockCardResolvingViewClassName = 'block-card-resolving-view';
|
|
@@ -5,7 +5,7 @@ import { jsx } from '@emotion/core';
|
|
|
5
5
|
import { FormattedMessage } from 'react-intl-next';
|
|
6
6
|
import { Frame } from '../components/Frame';
|
|
7
7
|
import { Provider } from '../components/Provider';
|
|
8
|
-
import { Byline } from '
|
|
8
|
+
import { Byline } from '../../common/Byline';
|
|
9
9
|
import { ActionList } from '../components/ActionList';
|
|
10
10
|
import { Content } from '../components/Content';
|
|
11
11
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
@@ -2,7 +2,7 @@ import styled from '@emotion/styled';
|
|
|
2
2
|
import { size as csssize, borderRadius, size, ellipsis } from '@atlaskit/media-ui';
|
|
3
3
|
import { fontFamily } from '@atlaskit/theme/constants';
|
|
4
4
|
import * as colors from '@atlaskit/theme/colors';
|
|
5
|
-
import { gs as gridSize } from '../../
|
|
5
|
+
import { gs as gridSize } from '../../common/utils';
|
|
6
6
|
export const className = 'media-card-frame';
|
|
7
7
|
export const cardShadow = ``;
|
|
8
8
|
|
|
@@ -7,7 +7,7 @@ import { R300 } from '@atlaskit/theme/colors';
|
|
|
7
7
|
import { Frame } from '../../BlockCard/components/Frame';
|
|
8
8
|
import { FormattedMessage } from 'react-intl-next';
|
|
9
9
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
10
|
-
import { gs } from '../../
|
|
10
|
+
import { gs } from '../../common/utils';
|
|
11
11
|
export const EmbedCardErroredView = ({
|
|
12
12
|
onRetry,
|
|
13
13
|
isSelected = false,
|
|
@@ -6,7 +6,7 @@ import Button from '@atlaskit/button/custom-theme-button';
|
|
|
6
6
|
import { fontSize } from '@atlaskit/theme/constants';
|
|
7
7
|
import { FormattedMessage } from 'react-intl-next';
|
|
8
8
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
9
|
-
import { gs as gridSize } from '../../
|
|
9
|
+
import { gs as gridSize } from '../../common/utils';
|
|
10
10
|
export const EmbedCardUnresolvedView = ({
|
|
11
11
|
image,
|
|
12
12
|
title,
|
|
@@ -17,19 +17,25 @@ const styles = css`
|
|
|
17
17
|
const ActionGroup = ({
|
|
18
18
|
items = [],
|
|
19
19
|
size = SmartLinkSize.Medium,
|
|
20
|
-
appearance
|
|
20
|
+
appearance,
|
|
21
|
+
visibleButtonsNum = 2,
|
|
22
|
+
onDropdownOpenChange
|
|
21
23
|
}) => {
|
|
22
|
-
const isMoreThenTwoItems = items.length >
|
|
23
|
-
const firstActions = isMoreThenTwoItems ? items.slice(0, 1) : items;
|
|
24
|
-
const restActions = isMoreThenTwoItems ? items.slice(1) : [];
|
|
24
|
+
const isMoreThenTwoItems = items.length > visibleButtonsNum;
|
|
25
|
+
const firstActions = isMoreThenTwoItems ? items.slice(0, visibleButtonsNum - 1) : items;
|
|
26
|
+
const restActions = isMoreThenTwoItems ? items.slice(visibleButtonsNum - 1) : [];
|
|
25
27
|
return jsx("div", {
|
|
26
28
|
css: styles
|
|
27
29
|
}, jsx(ButtonGroup, null, renderActionItems(firstActions, size, appearance), restActions.length > 0 ? jsx(DropdownMenu, {
|
|
30
|
+
onOpenChange: ({
|
|
31
|
+
isOpen
|
|
32
|
+
}) => onDropdownOpenChange && onDropdownOpenChange(isOpen),
|
|
28
33
|
trigger: ({
|
|
29
34
|
triggerRef,
|
|
30
35
|
...props
|
|
31
36
|
}) => jsx(Button, _extends({}, props, {
|
|
32
37
|
spacing: sizeToSpacing[size],
|
|
38
|
+
className: "action-group-more-button",
|
|
33
39
|
testId: "action-group-more-button",
|
|
34
40
|
iconBefore: jsx(MoreIcon, {
|
|
35
41
|
label: "more"
|
|
@@ -13,9 +13,10 @@ const Block = ({
|
|
|
13
13
|
children,
|
|
14
14
|
direction = SmartLinkDirection.Horizontal,
|
|
15
15
|
size = SmartLinkSize.Medium,
|
|
16
|
-
testId = 'smart-block'
|
|
16
|
+
testId = 'smart-block',
|
|
17
|
+
extraCss
|
|
17
18
|
}) => jsx("div", {
|
|
18
|
-
css: getBlockStyles(direction, size),
|
|
19
|
+
css: [getBlockStyles(direction, size), extraCss],
|
|
19
20
|
"data-smart-block": true,
|
|
20
21
|
"data-testid": testId
|
|
21
22
|
}, renderChildren(children, size));
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
/** @jsx jsx */
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import { css, jsx } from '@emotion/core';
|
|
3
6
|
import { LinkIcon, Title } from '../../../elements';
|
|
4
7
|
import Block from '../../block';
|
|
5
8
|
import ElementGroup from '../../element-group';
|
|
6
9
|
import { SmartLinkAlignment, SmartLinkDirection, SmartLinkWidth } from '../../../../../../constants';
|
|
7
10
|
import { renderElementItems } from '../../utils';
|
|
8
11
|
import ActionGroup from '../../action-group';
|
|
12
|
+
const actionOnHoverOnlyStyle = css`
|
|
13
|
+
.action-group-more-button {
|
|
14
|
+
visibility: hidden;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&:hover {
|
|
18
|
+
.action-group-more-button {
|
|
19
|
+
visibility: visible;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
`;
|
|
9
23
|
|
|
10
24
|
const TitleBlockResolvedView = ({
|
|
11
25
|
maxLines,
|
|
@@ -16,30 +30,36 @@ const TitleBlockResolvedView = ({
|
|
|
16
30
|
testId,
|
|
17
31
|
theme,
|
|
18
32
|
text,
|
|
33
|
+
showActionOnHover,
|
|
19
34
|
...blockProps
|
|
20
35
|
}) => {
|
|
36
|
+
const [actionDropdownOpen, setActionDropdownOpen] = useState(false);
|
|
21
37
|
const metadataElements = renderElementItems(metadata);
|
|
22
38
|
const subtitleElements = renderElementItems(subtitle);
|
|
23
39
|
const overrideText = !!text ? {
|
|
24
40
|
text
|
|
25
41
|
} : {};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
42
|
+
const extraCss = showActionOnHover && !actionDropdownOpen ? actionOnHoverOnlyStyle : undefined;
|
|
43
|
+
return jsx(Block, _extends({}, blockProps, {
|
|
44
|
+
testId: `${testId}-resolved-view`,
|
|
45
|
+
extraCss: extraCss
|
|
46
|
+
}), jsx(LinkIcon, {
|
|
29
47
|
position: position
|
|
30
|
-
}),
|
|
48
|
+
}), jsx(ElementGroup, {
|
|
31
49
|
direction: SmartLinkDirection.Vertical,
|
|
32
50
|
width: SmartLinkWidth.Flexible
|
|
33
|
-
},
|
|
51
|
+
}, jsx(Title, _extends({
|
|
34
52
|
maxLines: maxLines,
|
|
35
53
|
theme: theme
|
|
36
|
-
}, overrideText)), subtitleElements &&
|
|
54
|
+
}, overrideText)), subtitleElements && jsx(ElementGroup, {
|
|
37
55
|
direction: SmartLinkDirection.Horizontal
|
|
38
|
-
}, subtitleElements)), metadataElements &&
|
|
56
|
+
}, subtitleElements)), metadataElements && jsx(ElementGroup, {
|
|
39
57
|
direction: SmartLinkDirection.Horizontal,
|
|
40
58
|
align: SmartLinkAlignment.Right
|
|
41
|
-
}, metadataElements), actions.length > 0 &&
|
|
42
|
-
items: actions
|
|
59
|
+
}, metadataElements), actions.length > 0 && jsx(ActionGroup, {
|
|
60
|
+
items: actions,
|
|
61
|
+
visibleButtonsNum: showActionOnHover ? 1 : 2,
|
|
62
|
+
onDropdownOpenChange: isOpen => setActionDropdownOpen(isOpen)
|
|
43
63
|
}));
|
|
44
64
|
};
|
|
45
65
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Tooltip from '@atlaskit/tooltip';
|
|
3
|
+
import { TitleBlock, SnippetBlock, FooterBlock } from '../FlexibleCard/components/blocks';
|
|
4
|
+
import { Card } from '../Card';
|
|
5
|
+
import { HoverCardContainer } from './styled';
|
|
6
|
+
export const HoverCard = ({
|
|
7
|
+
children,
|
|
8
|
+
url
|
|
9
|
+
}) => {
|
|
10
|
+
const cardComponent = /*#__PURE__*/React.createElement(Card, {
|
|
11
|
+
appearance: "block",
|
|
12
|
+
url: url
|
|
13
|
+
}, /*#__PURE__*/React.createElement(TitleBlock, null), /*#__PURE__*/React.createElement(SnippetBlock, null), /*#__PURE__*/React.createElement(FooterBlock, null));
|
|
14
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
15
|
+
content: cardComponent,
|
|
16
|
+
component: HoverCardContainer,
|
|
17
|
+
testId: "hover-card",
|
|
18
|
+
tag: "span"
|
|
19
|
+
}, children);
|
|
20
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import { TooltipPrimitive } from '@atlaskit/tooltip';
|
|
3
|
+
export const HoverCardContainer = styled(TooltipPrimitive)`
|
|
4
|
+
background: none;
|
|
5
|
+
border-width: 0;
|
|
6
|
+
box-sizing: content-box; /* do not set this to border-box or it will break the overflow handling */
|
|
7
|
+
max-width: 500px;
|
|
8
|
+
padding: 0;
|
|
9
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -3,6 +3,7 @@ import { Frame } from '../Frame';
|
|
|
3
3
|
import Lozenge from '@atlaskit/lozenge';
|
|
4
4
|
import { IconAndTitleLayout } from '../IconAndTitleLayout';
|
|
5
5
|
import { LozengeWrapper } from '../IconAndTitleLayout/styled';
|
|
6
|
+
import { HoverCard } from '../../../view/HoverCard/index';
|
|
6
7
|
export class InlineCardResolvedView extends React.Component {
|
|
7
8
|
renderLozenge() {
|
|
8
9
|
const {
|
|
@@ -28,9 +29,10 @@ export class InlineCardResolvedView extends React.Component {
|
|
|
28
29
|
link,
|
|
29
30
|
testId = 'inline-card-resolved-view',
|
|
30
31
|
titleTextColor,
|
|
31
|
-
titlePrefix
|
|
32
|
+
titlePrefix,
|
|
33
|
+
showHoverPreview = false
|
|
32
34
|
} = this.props;
|
|
33
|
-
|
|
35
|
+
const inlineCardResolvedView = /*#__PURE__*/React.createElement(Frame, {
|
|
34
36
|
testId: testId,
|
|
35
37
|
link: link,
|
|
36
38
|
isSelected: isSelected,
|
|
@@ -41,6 +43,14 @@ export class InlineCardResolvedView extends React.Component {
|
|
|
41
43
|
title: title,
|
|
42
44
|
titleTextColor: titleTextColor
|
|
43
45
|
}), this.renderLozenge());
|
|
46
|
+
|
|
47
|
+
if (showHoverPreview && link) {
|
|
48
|
+
return /*#__PURE__*/React.createElement(HoverCard, {
|
|
49
|
+
url: link
|
|
50
|
+
}, inlineCardResolvedView);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return inlineCardResolvedView;
|
|
44
54
|
}
|
|
45
55
|
|
|
46
56
|
}
|
|
@@ -19,7 +19,8 @@ export const InlineCard = ({
|
|
|
19
19
|
renderers,
|
|
20
20
|
onResolve,
|
|
21
21
|
testId,
|
|
22
|
-
inlinePreloaderStyle
|
|
22
|
+
inlinePreloaderStyle,
|
|
23
|
+
showHoverPreview
|
|
23
24
|
}) => {
|
|
24
25
|
var _details$meta;
|
|
25
26
|
|
|
@@ -52,6 +53,7 @@ export const InlineCard = ({
|
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
return /*#__PURE__*/React.createElement(InlineCardResolvedView, _extends({}, resolvedProps, {
|
|
56
|
+
showHoverPreview: showHoverPreview,
|
|
55
57
|
link: url,
|
|
56
58
|
isSelected: isSelected,
|
|
57
59
|
onClick: handleFrameClick,
|
|
@@ -3,7 +3,7 @@ import { jsx } from '@emotion/core';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import ImageLoader from 'react-render-image';
|
|
5
5
|
import LinkIcon from '@atlaskit/icon/glyph/link';
|
|
6
|
-
import { gs } from '
|
|
6
|
+
import { gs } from './utils';
|
|
7
7
|
export const blockCardIconImageClassName = 'block-card-icon-image';
|
|
8
8
|
export const Icon = ({
|
|
9
9
|
url,
|
|
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
3
3
|
/** @jsx jsx */
|
|
4
4
|
import { jsx } from '@emotion/core';
|
|
5
5
|
import { Metadata } from './Metadata';
|
|
6
|
-
import { gs } from '
|
|
6
|
+
import { gs } from './utils';
|
|
7
7
|
export const metadataListClassName = 'smart-link-metadata-list';
|
|
8
8
|
export const MetadataList = ({
|
|
9
9
|
items,
|
|
@@ -17,7 +17,7 @@ https://atlassian.design/components/modal-dialog/examples#customizing-modal-dial
|
|
|
17
17
|
import React, { useState } from 'react';
|
|
18
18
|
import ModalDialog, { ModalTransition, ModalBody } from '@atlaskit/modal-dialog';
|
|
19
19
|
import { Header } from './ModalHeader';
|
|
20
|
-
import { getIframeSandboxAttribute } from '
|
|
20
|
+
import { getIframeSandboxAttribute } from '../../utils';
|
|
21
21
|
const iframeStyles = {
|
|
22
22
|
width: `100%`,
|
|
23
23
|
height: 'calc(100vh - 248px)'
|
|
@@ -7,7 +7,7 @@ import ShortcutIcon from '@atlaskit/icon/glyph/shortcut';
|
|
|
7
7
|
import Button from '@atlaskit/button/custom-theme-button';
|
|
8
8
|
import { N100, N30A } from '@atlaskit/theme/colors';
|
|
9
9
|
import { FormattedMessage } from 'react-intl-next';
|
|
10
|
-
import { gs } from '
|
|
10
|
+
import { gs } from './utils';
|
|
11
11
|
import { Icon } from './Icon';
|
|
12
12
|
import { MetadataList } from './MetadataList';
|
|
13
13
|
import { Byline } from './Byline';
|
|
File without changes
|
package/dist/esm/classNames.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { contentFooterClassName } from './view/BlockCard/components/ContentFooter';
|
|
2
|
-
export { metadataListClassName } from './view/
|
|
2
|
+
export { metadataListClassName } from './view/common/MetadataList';
|
|
3
3
|
export { blockCardResolvingViewClassName } from './view/BlockCard/views/ResolvingView';
|
|
4
4
|
export { blockCardResolvedViewClassName, blockCardResolvedViewByClassName } from './view/BlockCard/views/ResolvedView';
|
|
5
5
|
export { blockCardForbiddenViewClassName, blockCardForbiddenViewLinkClassName } from './view/BlockCard/views/ForbiddenView';
|
|
6
|
-
export { blockCardIconImageClassName } from './view/
|
|
6
|
+
export { blockCardIconImageClassName } from './view/common/Icon';
|
|
7
7
|
export { blockCardContentClassName } from './view/BlockCard/components/Content';
|
|
8
8
|
export { blockCardContentHeaderClassName } from './view/BlockCard/components/ContentHeader';
|
|
9
9
|
export { blockCardContentHeaderNameClassName } from './view/BlockCard/components/Name';
|
package/dist/esm/version.json
CHANGED
|
@@ -9,7 +9,7 @@ import Button from '@atlaskit/button/standard-button';
|
|
|
9
9
|
import DropdownMenu, { DropdownItem, DropdownItemGroup } from '@atlaskit/dropdown-menu';
|
|
10
10
|
import MoreIcon from '@atlaskit/icon/glyph/more';
|
|
11
11
|
import { Action } from './Action';
|
|
12
|
-
import { gs, mq } from '
|
|
12
|
+
import { gs, mq } from '../../common/utils';
|
|
13
13
|
export var ActionList = function ActionList(_ref) {
|
|
14
14
|
var items = _ref.items;
|
|
15
15
|
var actionsToShow = items.slice(0, 2);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
3
|
import AvatarGroup from '@atlaskit/avatar-group';
|
|
4
|
-
import { mq } from '
|
|
4
|
+
import { mq } from '../../common/utils';
|
|
5
5
|
export var CollaboratorList = function CollaboratorList(_ref) {
|
|
6
6
|
var items = _ref.items,
|
|
7
7
|
_ref$handleAvatarClic = _ref.handleAvatarClick,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
|
-
import { gs, mq } from '
|
|
3
|
+
import { gs, mq } from '../../common/utils';
|
|
4
4
|
export var blockCardContentClassName = 'block-card-content';
|
|
5
5
|
export var Content = function Content(_ref) {
|
|
6
6
|
var children = _ref.children,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
|
-
import { gs, mq } from '
|
|
3
|
+
import { gs, mq } from '../../common/utils';
|
|
4
4
|
export var contentFooterClassName = 'smart-link-content-footer';
|
|
5
5
|
export var ContentFooter = function ContentFooter(_ref) {
|
|
6
6
|
var children = _ref.children,
|
|
@@ -8,7 +8,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
8
8
|
import { jsx } from '@emotion/core';
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import { N20A, N30A, B200, N40A, N50A } from '@atlaskit/theme/colors';
|
|
11
|
-
import { gs, br, mq } from '
|
|
11
|
+
import { gs, br, mq } from '../../common/utils';
|
|
12
12
|
export var Frame = function Frame() {
|
|
13
13
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
14
14
|
isSelected: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
3
|
import { fontSize } from '@atlaskit/theme/constants';
|
|
4
|
-
import { gs } from '
|
|
4
|
+
import { gs } from '../../common/utils';
|
|
5
5
|
export var blockCardContentHeaderNameClassName = 'block-card-content-header-name';
|
|
6
6
|
export var Name = function Name(_ref) {
|
|
7
7
|
var name = _ref.name,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import { jsx } from '@emotion/core';
|
|
3
3
|
import { N300 } from '@atlaskit/theme/colors';
|
|
4
|
-
import { gs } from '
|
|
4
|
+
import { gs } from '../../common/utils';
|
|
5
5
|
export var Provider = function Provider(_ref) {
|
|
6
6
|
var name = _ref.name,
|
|
7
7
|
icon = _ref.icon;
|
|
@@ -6,7 +6,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
6
6
|
|
|
7
7
|
/** @jsx jsx */
|
|
8
8
|
import { jsx } from '@emotion/core';
|
|
9
|
-
import { gs, mq } from '
|
|
9
|
+
import { gs, mq } from '../../common/utils';
|
|
10
10
|
export var Thumbnail = function Thumbnail(props) {
|
|
11
11
|
return props.color ? jsx(ThumbnailWithBackground, props) : jsx(ThumbnailDefault, props);
|
|
12
12
|
};
|
|
@@ -11,7 +11,7 @@ import { useMemo } from 'react';
|
|
|
11
11
|
import { R300 } from '@atlaskit/theme/colors';
|
|
12
12
|
import WarningIcon from '@atlaskit/icon/glyph/warning';
|
|
13
13
|
import { Frame } from '../components/Frame';
|
|
14
|
-
import { Byline } from '
|
|
14
|
+
import { Byline } from '../../common/Byline';
|
|
15
15
|
import { ActionList } from '../components/ActionList';
|
|
16
16
|
import { Content } from '../components/Content';
|
|
17
17
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
@@ -8,7 +8,7 @@ import { R300 } from '@atlaskit/theme/colors';
|
|
|
8
8
|
import LockIcon from '@atlaskit/icon/glyph/lock-filled';
|
|
9
9
|
import { Frame } from '../components/Frame';
|
|
10
10
|
import { Provider } from '../components/Provider';
|
|
11
|
-
import { Byline } from '
|
|
11
|
+
import { Byline } from '../../common/Byline';
|
|
12
12
|
import { ActionList } from '../components/ActionList';
|
|
13
13
|
import { Content } from '../components/Content';
|
|
14
14
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
@@ -12,7 +12,7 @@ import { R300 } from '@atlaskit/theme/colors';
|
|
|
12
12
|
import WarningIcon from '@atlaskit/icon/glyph/warning';
|
|
13
13
|
import { Frame } from '../components/Frame';
|
|
14
14
|
import { Provider } from '../components/Provider';
|
|
15
|
-
import { Byline } from '
|
|
15
|
+
import { Byline } from '../../common/Byline';
|
|
16
16
|
import { Content } from '../components/Content';
|
|
17
17
|
import { messages } from '@atlaskit/media-ui/messages';
|
|
18
18
|
import { ContentFooter } from '../components/ContentFooter';
|