@atlaskit/smart-card 20.0.5 → 20.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/dist/cjs/state/actions/constants.js +4 -2
- package/dist/cjs/state/actions/index.js +51 -19
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/BlockCard/index.js +29 -0
- package/dist/cjs/view/CardWithUrl/component.js +7 -2
- package/dist/cjs/view/CardWithUrl/loader.js +2 -0
- package/dist/cjs/view/EmbedCard/index.js +29 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +2 -2
- package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/index.js +6 -4
- package/dist/cjs/view/FlexibleCard/index.js +34 -7
- package/dist/cjs/view/HoverCard/components/HoverCardContent.js +32 -10
- package/dist/cjs/view/HoverCard/components/HoverCardLoadingView.js +46 -0
- package/dist/cjs/view/HoverCard/styled.js +10 -4
- package/dist/cjs/view/InlineCard/index.js +29 -0
- package/dist/es2019/state/actions/constants.js +2 -1
- package/dist/es2019/state/actions/index.js +46 -18
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/BlockCard/index.js +29 -0
- package/dist/es2019/view/CardWithUrl/component.js +7 -2
- package/dist/es2019/view/CardWithUrl/loader.js +2 -0
- package/dist/es2019/view/EmbedCard/index.js +29 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +4 -0
- package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/index.js +38 -31
- package/dist/es2019/view/FlexibleCard/index.js +32 -7
- package/dist/es2019/view/HoverCard/components/HoverCardContent.js +28 -9
- package/dist/es2019/view/HoverCard/components/HoverCardLoadingView.js +32 -0
- package/dist/es2019/view/HoverCard/styled.js +12 -1
- package/dist/es2019/view/InlineCard/index.js +29 -0
- package/dist/esm/state/actions/constants.js +2 -1
- package/dist/esm/state/actions/index.js +51 -20
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/BlockCard/index.js +29 -0
- package/dist/esm/view/CardWithUrl/component.js +7 -2
- package/dist/esm/view/CardWithUrl/loader.js +2 -0
- package/dist/esm/view/EmbedCard/index.js +29 -0
- package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +2 -2
- package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/index.js +6 -3
- package/dist/esm/view/FlexibleCard/index.js +33 -7
- package/dist/esm/view/HoverCard/components/HoverCardContent.js +30 -10
- package/dist/esm/view/HoverCard/components/HoverCardLoadingView.js +31 -0
- package/dist/esm/view/HoverCard/styled.js +6 -3
- package/dist/esm/view/InlineCard/index.js +29 -0
- package/dist/types/state/actions/constants.d.ts +1 -0
- package/dist/types/state/actions/index.d.ts +1 -0
- package/dist/types/state/hooks/useSmartLink.d.ts +1 -0
- package/dist/types/view/BlockCard/types.d.ts +2 -0
- package/dist/types/view/Card/index.d.ts +1 -1
- package/dist/types/view/Card/types.d.ts +2 -1
- package/dist/types/view/CardWithUrl/component.d.ts +1 -1
- package/dist/types/view/CardWithUrl/types.d.ts +2 -1
- package/dist/types/view/EmbedCard/components/styled.d.ts +16 -16
- package/dist/types/view/EmbedCard/types.d.ts +2 -0
- package/dist/types/view/FlexibleCard/components/common/loading-skeleton/types.d.ts +8 -0
- package/dist/types/view/FlexibleCard/types.d.ts +9 -4
- package/dist/types/view/HoverCard/components/HoverCardLoadingView.d.ts +4 -0
- package/dist/types/view/HoverCard/styled.d.ts +3 -0
- package/dist/types/view/HoverCard/types.d.ts +7 -0
- package/dist/types/view/InlineCard/Frame/styled.d.ts +1 -1
- 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 +13 -5
- package/dist/types/view/InlineCard/styled.d.ts +8 -4
- package/dist/types/view/InlineCard/types.d.ts +2 -1
- package/dist/types/view/types.d.ts +6 -0
- package/package.json +4 -4
|
@@ -4,12 +4,14 @@ import React, { useCallback, useEffect, useMemo } from 'react';
|
|
|
4
4
|
import { ActionName, SmartLinkPosition, SmartLinkSize } from '../../../constants';
|
|
5
5
|
import extractPreview from '../../../extractors/flexible/extract-preview';
|
|
6
6
|
import { extractMetadata } from '../../../extractors/hover/extractMetadata';
|
|
7
|
+
import { useSmartCardActions } from '../../../state/actions';
|
|
7
8
|
import { getExtensionKey } from '../../../state/helpers';
|
|
8
9
|
import { isSpecialEvent } from '../../../utils';
|
|
9
10
|
import FlexibleCard from '../../FlexibleCard';
|
|
10
11
|
import { FooterBlock, MetadataBlock, PreviewBlock, SnippetBlock, TitleBlock } from '../../FlexibleCard/components/blocks';
|
|
11
12
|
import { flexibleUiOptions, footerBlockCss, metadataBlockCss, titleBlockCss } from '../styled';
|
|
12
13
|
import { getSimulatedMetadata, SMART_CARD_ANALYTICS_DISPLAY } from '../utils';
|
|
14
|
+
import HoverCardLoadingView from './HoverCardLoadingView';
|
|
13
15
|
export var getOpenAction = function getOpenAction(url, analytics, onActionClick) {
|
|
14
16
|
return {
|
|
15
17
|
name: ActionName.CustomAction,
|
|
@@ -49,7 +51,9 @@ export var toFooterActions = function toFooterActions(cardActions, onActionClick
|
|
|
49
51
|
var HoverCardContent = function HoverCardContent(_ref) {
|
|
50
52
|
var _cardState$details;
|
|
51
53
|
|
|
52
|
-
var
|
|
54
|
+
var _ref$id = _ref.id,
|
|
55
|
+
id = _ref$id === void 0 ? '' : _ref$id,
|
|
56
|
+
analytics = _ref.analytics,
|
|
53
57
|
_ref$cardActions = _ref.cardActions,
|
|
54
58
|
cardActions = _ref$cardActions === void 0 ? [] : _ref$cardActions,
|
|
55
59
|
cardState = _ref.cardState,
|
|
@@ -57,6 +61,10 @@ var HoverCardContent = function HoverCardContent(_ref) {
|
|
|
57
61
|
onResolve = _ref.onResolve,
|
|
58
62
|
renderers = _ref.renderers,
|
|
59
63
|
url = _ref.url;
|
|
64
|
+
var actions = useSmartCardActions(id, url, analytics);
|
|
65
|
+
useEffect(function () {
|
|
66
|
+
actions.loadMetadata();
|
|
67
|
+
}, [actions]);
|
|
60
68
|
useEffect(function () {
|
|
61
69
|
// Since hover preview only render on resolved status,
|
|
62
70
|
// there is no need to check for statuses.
|
|
@@ -85,21 +93,33 @@ var HoverCardContent = function HoverCardContent(_ref) {
|
|
|
85
93
|
|
|
86
94
|
var titleMaxLines = subtitle && subtitle.length > 0 ? 1 : 2;
|
|
87
95
|
var body = data && extractPreview(data) ? /*#__PURE__*/React.createElement(PreviewBlock, null) : /*#__PURE__*/React.createElement(SnippetBlock, null);
|
|
88
|
-
|
|
89
|
-
cardState: cardState,
|
|
90
|
-
onClick: onClick,
|
|
91
|
-
onResolve: onResolve,
|
|
92
|
-
renderers: renderers,
|
|
93
|
-
ui: flexibleUiOptions,
|
|
94
|
-
url: url
|
|
95
|
-
}, /*#__PURE__*/React.createElement(TitleBlock, {
|
|
96
|
+
var titleBlockProps = {
|
|
96
97
|
actions: titleActions,
|
|
97
98
|
maxLines: titleMaxLines,
|
|
98
99
|
overrideCss: titleBlockCss,
|
|
99
100
|
size: SmartLinkSize.Large,
|
|
100
101
|
position: SmartLinkPosition.Center,
|
|
101
102
|
subtitle: subtitle
|
|
102
|
-
}
|
|
103
|
+
};
|
|
104
|
+
var flexibleCardProps = {
|
|
105
|
+
cardState: cardState,
|
|
106
|
+
onClick: onClick,
|
|
107
|
+
onResolve: onResolve,
|
|
108
|
+
renderers: renderers,
|
|
109
|
+
ui: flexibleUiOptions,
|
|
110
|
+
url: url,
|
|
111
|
+
children: {}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
if (cardState.metadataStatus === 'pending') {
|
|
115
|
+
return /*#__PURE__*/React.createElement(HoverCardLoadingView, {
|
|
116
|
+
flexibleCardProps: flexibleCardProps,
|
|
117
|
+
titleBlockProps: titleBlockProps
|
|
118
|
+
});
|
|
119
|
+
} // if metadataStatus is 'errored' simply render using data available (normal path)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
return /*#__PURE__*/React.createElement(FlexibleCard, flexibleCardProps, /*#__PURE__*/React.createElement(TitleBlock, titleBlockProps), /*#__PURE__*/React.createElement(MetadataBlock, {
|
|
103
123
|
primary: primary,
|
|
104
124
|
secondary: secondary,
|
|
105
125
|
size: SmartLinkSize.Large,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
import { jsx } from '@emotion/core';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import LoadingSkeleton from '../../FlexibleCard/components/common/loading-skeleton';
|
|
5
|
+
import FlexibleCard from '../../FlexibleCard';
|
|
6
|
+
import { TitleBlock } from '../../FlexibleCard/components/blocks';
|
|
7
|
+
import { CARD_WIDTH_REM, loadingViewContainer, skeletonContainer } from '../styled';
|
|
8
|
+
|
|
9
|
+
var HoverCardLoadingView = function HoverCardLoadingView(_ref) {
|
|
10
|
+
var flexibleCardProps = _ref.flexibleCardProps,
|
|
11
|
+
titleBlockProps = _ref.titleBlockProps;
|
|
12
|
+
var lineHeightRem = 1.25;
|
|
13
|
+
var skeletonWidth = CARD_WIDTH_REM - 2;
|
|
14
|
+
return jsx("div", {
|
|
15
|
+
css: loadingViewContainer,
|
|
16
|
+
"data-testid": "hover-card-loading-view"
|
|
17
|
+
}, jsx(FlexibleCard, flexibleCardProps, jsx(TitleBlock, titleBlockProps)), jsx("div", {
|
|
18
|
+
css: skeletonContainer
|
|
19
|
+
}, jsx("span", null), jsx(LoadingSkeleton, {
|
|
20
|
+
width: skeletonWidth,
|
|
21
|
+
height: lineHeightRem
|
|
22
|
+
}), jsx(LoadingSkeleton, {
|
|
23
|
+
width: skeletonWidth,
|
|
24
|
+
height: lineHeightRem * 3
|
|
25
|
+
}), jsx(LoadingSkeleton, {
|
|
26
|
+
width: skeletonWidth,
|
|
27
|
+
height: lineHeightRem
|
|
28
|
+
})));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default HoverCardLoadingView;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
2
|
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
4
4
|
|
|
5
5
|
import { css } from '@emotion/core';
|
|
6
6
|
import { loadingPlaceholderClassName } from '../../index';
|
|
@@ -12,10 +12,13 @@ export var flexibleUiOptions = {
|
|
|
12
12
|
theme: SmartLinkTheme.Black,
|
|
13
13
|
hidePadding: true
|
|
14
14
|
};
|
|
15
|
+
export var CARD_WIDTH_REM = 24;
|
|
15
16
|
var blockGap = '0.5rem';
|
|
16
17
|
var elementGap = '0.5rem';
|
|
17
18
|
var separatorCss = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n [data-separator] + [data-separator]:before {\n margin-right: ", ";\n }\n"])), elementGap);
|
|
18
|
-
export var HoverCardContainer = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: none;\n border-width: 0;\n box-sizing: border-box;\n width:
|
|
19
|
+
export var HoverCardContainer = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: none;\n border-width: 0;\n box-sizing: border-box;\n width: ", "rem;\n padding: 1rem;\n\n .", " {\n display: none;\n }\n"])), CARD_WIDTH_REM, loadingPlaceholderClassName);
|
|
19
20
|
export var titleBlockCss = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n gap: ", ";\n\n ", "\n\n // title and subtitle element group\n [data-smart-element-group] {\n // gap between title and subtitle\n gap: 0.06rem;\n\n /* subtitle element group */\n > [data-smart-element-group] {\n > span {\n margin-right: ", ";\n }\n }\n }\n"])), blockGap, separatorCss, elementGap);
|
|
20
21
|
export var metadataBlockCss = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n gap: 0px;\n\n /* primary element group */\n [data-smart-element-group]:nth-of-type(1) {\n flex-grow: 7;\n\n // a separator between text-based element\n ", "\n\n /* horizontal spacing between elements in group */\n > span {\n margin-right: ", ";\n }\n }\n /* secondary element group */\n [data-smart-element-group]:nth-of-type(2) {\n flex-grow: 3;\n /* horizontal spacing between elements in group */\n > span {\n margin-left: ", ";\n }\n }\n"])), separatorCss, elementGap, elementGap);
|
|
21
|
-
export var footerBlockCss = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding-top: 0.25rem;\n"])));
|
|
22
|
+
export var footerBlockCss = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding-top: 0.25rem;\n"])));
|
|
23
|
+
export var loadingViewContainer = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n"])));
|
|
24
|
+
export var skeletonContainer = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n gap: 0.625rem;\n align-items: center;\n"])));
|
|
@@ -22,6 +22,7 @@ export var InlineCard = function InlineCard(_ref) {
|
|
|
22
22
|
isSelected = _ref.isSelected,
|
|
23
23
|
renderers = _ref.renderers,
|
|
24
24
|
onResolve = _ref.onResolve,
|
|
25
|
+
onError = _ref.onError,
|
|
25
26
|
testId = _ref.testId,
|
|
26
27
|
inlinePreloaderStyle = _ref.inlinePreloaderStyle,
|
|
27
28
|
showHoverPreview = _ref.showHoverPreview;
|
|
@@ -61,6 +62,13 @@ export var InlineCard = function InlineCard(_ref) {
|
|
|
61
62
|
}));
|
|
62
63
|
|
|
63
64
|
case 'unauthorized':
|
|
65
|
+
if (onError) {
|
|
66
|
+
onError({
|
|
67
|
+
url: url,
|
|
68
|
+
status: status
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
64
72
|
var provider = extractProvider(cardDetails);
|
|
65
73
|
return /*#__PURE__*/React.createElement(InlineCardUnauthorizedView, {
|
|
66
74
|
icon: provider && provider.icon,
|
|
@@ -72,6 +80,13 @@ export var InlineCard = function InlineCard(_ref) {
|
|
|
72
80
|
});
|
|
73
81
|
|
|
74
82
|
case 'forbidden':
|
|
83
|
+
if (onError) {
|
|
84
|
+
onError({
|
|
85
|
+
url: url,
|
|
86
|
+
status: status
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
75
90
|
var providerForbidden = extractProvider(cardDetails);
|
|
76
91
|
var cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : getUnauthorizedJsonLd().meta;
|
|
77
92
|
var requestAccessContext = extractRequestAccessContext({
|
|
@@ -91,6 +106,13 @@ export var InlineCard = function InlineCard(_ref) {
|
|
|
91
106
|
});
|
|
92
107
|
|
|
93
108
|
case 'not_found':
|
|
109
|
+
if (onError) {
|
|
110
|
+
onError({
|
|
111
|
+
url: url,
|
|
112
|
+
status: status
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
94
116
|
var providerNotFound = extractProvider(cardDetails);
|
|
95
117
|
return /*#__PURE__*/React.createElement(InlineCardErroredView, {
|
|
96
118
|
url: url,
|
|
@@ -103,6 +125,13 @@ export var InlineCard = function InlineCard(_ref) {
|
|
|
103
125
|
|
|
104
126
|
case 'fallback':
|
|
105
127
|
case 'errored':
|
|
128
|
+
if (onError) {
|
|
129
|
+
onError({
|
|
130
|
+
url: url,
|
|
131
|
+
status: status
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
106
135
|
return /*#__PURE__*/React.createElement(CardLinkView, {
|
|
107
136
|
link: url,
|
|
108
137
|
isSelected: isSelected,
|
|
@@ -3,3 +3,4 @@ export declare const ANALYTICS_ERROR = "errored";
|
|
|
3
3
|
export declare const ANALYTICS_FALLBACK = "fallback";
|
|
4
4
|
export declare const ERROR_MESSAGE_OAUTH = "Provider.authFlow is not set to OAuth2.";
|
|
5
5
|
export declare const ERROR_MESSAGE_FATAL = "Fatal error resolving URL";
|
|
6
|
+
export declare const ERROR_MESSAGE_METADATA = "Error resolving metadata.";
|
|
@@ -8,4 +8,5 @@ export declare const useSmartCardActions: (id: string, url: string, analytics: A
|
|
|
8
8
|
reload: () => void;
|
|
9
9
|
authorize: (appearance: CardAppearance) => void;
|
|
10
10
|
invoke: (opts: InvokeClientOpts | InvokeServerOpts, appearance: CardInnerAppearance) => Promise<JsonLd.Response | void>;
|
|
11
|
+
loadMetadata: () => Promise<void> | undefined;
|
|
11
12
|
};
|
|
@@ -7,6 +7,7 @@ export declare function useSmartLink(id: string, url: string, dispatchAnalytics:
|
|
|
7
7
|
reload: () => void;
|
|
8
8
|
authorize: (appearance: import("@atlaskit/linking-common").CardAppearance) => void;
|
|
9
9
|
invoke: (opts: import("../../model/invoke-opts").InvokeClientOpts | import("../../model/invoke-opts").InvokeServerOpts, appearance: import("../../view/Card/types").CardInnerAppearance) => Promise<void | import("json-ld-types").JsonLd.Response<import("json-ld-types").JsonLd.Data.BaseData>>;
|
|
10
|
+
loadMetadata: () => Promise<void> | undefined;
|
|
10
11
|
};
|
|
11
12
|
config: (import("@atlaskit/link-provider").CardProviderCacheOpts & import("@atlaskit/link-provider").CardAuthFlowOpts) | undefined;
|
|
12
13
|
analytics: {
|
|
@@ -4,6 +4,7 @@ import { CardState } from '../../state/types';
|
|
|
4
4
|
import { InvokeHandler } from '../../model/invoke-handler';
|
|
5
5
|
import { AnalyticsHandler } from '../../utils/types';
|
|
6
6
|
import { OnResolveCallback, CardPlatform } from '../Card/types';
|
|
7
|
+
import { OnErrorCallback } from '../types';
|
|
7
8
|
export declare type BlockCardProps = {
|
|
8
9
|
id: string;
|
|
9
10
|
url: string;
|
|
@@ -16,6 +17,7 @@ export declare type BlockCardProps = {
|
|
|
16
17
|
handleFrameClick: React.EventHandler<React.MouseEvent | React.KeyboardEvent>;
|
|
17
18
|
isSelected?: boolean;
|
|
18
19
|
onResolve?: OnResolveCallback;
|
|
20
|
+
onError?: OnErrorCallback;
|
|
19
21
|
testId?: string;
|
|
20
22
|
showActions?: boolean;
|
|
21
23
|
renderers?: CardProviderRenderers;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { CardAppearance, CardPlatform, CardProps } from './types';
|
|
3
3
|
import { WrappedComponentProps } from 'react-intl-next';
|
|
4
|
-
export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<React.PropsWithChildren<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps<"intl">>>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "children" | "data" | "appearance" | "testId" | "isSelected" | "inheritDimensions" | "id" | "placeholder" | "onClick" | "analyticsContext" | "key" | "url" | "ui" | "showActions" | "onResolve" | "platform" | "isFrameVisible" | "embedIframeRef" | "showHoverPreview" | "inlinePreloaderStyle" | "importer" | "container" | "analyticsEvents" | "forwardedRef"> & React.RefAttributes<any>>;
|
|
4
|
+
export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<React.PropsWithChildren<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps<"intl">>>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "children" | "data" | "appearance" | "testId" | "isSelected" | "inheritDimensions" | "id" | "placeholder" | "onError" | "onClick" | "analyticsContext" | "key" | "url" | "ui" | "showActions" | "onResolve" | "platform" | "isFrameVisible" | "embedIframeRef" | "showHoverPreview" | "inlinePreloaderStyle" | "importer" | "container" | "analyticsEvents" | "forwardedRef"> & React.RefAttributes<any>>;
|
|
5
5
|
export type { CardAppearance, CardProps, CardPlatform };
|
|
@@ -3,7 +3,7 @@ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
|
|
|
3
3
|
import { CardAppearance, CardPlatform } from '@atlaskit/linking-common';
|
|
4
4
|
import { AnalyticsFacade } from '../../state/analytics';
|
|
5
5
|
import { FlexibleUiOptions } from '../FlexibleCard/types';
|
|
6
|
-
import { InlinePreloaderStyle } from '../types';
|
|
6
|
+
import { InlinePreloaderStyle, OnErrorCallback } from '../types';
|
|
7
7
|
export type { CardAppearance, CardPlatform };
|
|
8
8
|
export declare type CardInnerAppearance = CardAppearance | 'preview' | 'flexible';
|
|
9
9
|
export declare type OnResolveCallback = (data: {
|
|
@@ -25,6 +25,7 @@ export interface CardProps extends WithAnalyticsEventsProps {
|
|
|
25
25
|
testId?: string;
|
|
26
26
|
showActions?: boolean;
|
|
27
27
|
onResolve?: OnResolveCallback;
|
|
28
|
+
onError?: OnErrorCallback;
|
|
28
29
|
inheritDimensions?: boolean;
|
|
29
30
|
embedIframeRef?: React.Ref<HTMLIFrameElement>;
|
|
30
31
|
inlinePreloaderStyle?: InlinePreloaderStyle;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CardWithUrlContentProps } from './types';
|
|
3
|
-
export declare function CardWithUrlContent({ id, url, isSelected, isFrameVisible, platform, onClick, appearance, dispatchAnalytics, onResolve, testId, showActions, inheritDimensions, embedIframeRef, inlinePreloaderStyle, ui, children, showHoverPreview, analyticsEvents, }: CardWithUrlContentProps): JSX.Element;
|
|
3
|
+
export declare function CardWithUrlContent({ id, url, isSelected, isFrameVisible, platform, onClick, appearance, dispatchAnalytics, onResolve, onError, testId, showActions, inheritDimensions, embedIframeRef, inlinePreloaderStyle, ui, children, showHoverPreview, analyticsEvents, }: CardWithUrlContentProps): JSX.Element;
|
|
@@ -2,7 +2,7 @@ import { EventHandler, MouseEvent, KeyboardEvent } from 'react';
|
|
|
2
2
|
import { CardAppearance, CardPlatform, OnResolveCallback } from '../Card/types';
|
|
3
3
|
import { AnalyticsHandler } from '../../utils/types';
|
|
4
4
|
import { FlexibleUiOptions } from '../FlexibleCard/types';
|
|
5
|
-
import { InlinePreloaderStyle } from '../types';
|
|
5
|
+
import { InlinePreloaderStyle, OnErrorCallback } from '../types';
|
|
6
6
|
import { AnalyticsFacade } from '../../state/analytics';
|
|
7
7
|
export declare type CardWithUrlContentProps = {
|
|
8
8
|
id: string;
|
|
@@ -16,6 +16,7 @@ export declare type CardWithUrlContentProps = {
|
|
|
16
16
|
dispatchAnalytics: AnalyticsHandler;
|
|
17
17
|
testId?: string;
|
|
18
18
|
onResolve?: OnResolveCallback;
|
|
19
|
+
onError?: OnErrorCallback;
|
|
19
20
|
showActions?: boolean;
|
|
20
21
|
inheritDimensions?: boolean;
|
|
21
22
|
embedIframeRef?: React.Ref<HTMLIFrameElement>;
|
|
@@ -13,33 +13,33 @@ export interface WrapperProps {
|
|
|
13
13
|
export declare const borderRadius: string;
|
|
14
14
|
export declare const ellipsis: (maxWidth?: string | number) => string;
|
|
15
15
|
export declare const csssize: (value?: string | number) => string;
|
|
16
|
-
export declare const LinkWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, WrapperProps,
|
|
17
|
-
export declare const Wrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, WrapperProps,
|
|
16
|
+
export declare const LinkWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, WrapperProps, object>;
|
|
17
|
+
export declare const Wrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, WrapperProps, object>;
|
|
18
18
|
export declare const embedHeaderHeight = 32;
|
|
19
|
-
export declare const Header: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
19
|
+
export declare const Header: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
20
20
|
export interface PlaceholderProps {
|
|
21
21
|
isPlaceholder: boolean;
|
|
22
22
|
}
|
|
23
|
-
export declare const IconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, PlaceholderProps,
|
|
24
|
-
export declare const TextWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, PlaceholderProps,
|
|
23
|
+
export declare const IconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, PlaceholderProps, object>;
|
|
24
|
+
export declare const TextWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, PlaceholderProps, object>;
|
|
25
25
|
export interface ContentProps {
|
|
26
26
|
isInteractive: boolean;
|
|
27
27
|
}
|
|
28
|
-
export declare const Content: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ContentProps,
|
|
28
|
+
export declare const Content: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ContentProps, object>;
|
|
29
29
|
export interface ImageProps {
|
|
30
30
|
size: number;
|
|
31
31
|
}
|
|
32
|
-
export declare const Image: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, ImageProps,
|
|
32
|
+
export declare const Image: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, ImageProps, object>;
|
|
33
33
|
export declare const maxAvatarCount = 6;
|
|
34
|
-
export declare const ContentWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
35
|
-
export declare const Title: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
36
|
-
export declare const Byline: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
37
|
-
export declare const Description: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
38
|
-
export declare const ResolvedViewIconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
34
|
+
export declare const ContentWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
35
|
+
export declare const Title: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
36
|
+
export declare const Byline: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
37
|
+
export declare const Description: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
38
|
+
export declare const ResolvedViewIconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
39
39
|
export interface ThumbnailProps {
|
|
40
40
|
src: string;
|
|
41
41
|
}
|
|
42
|
-
export declare const Thumbnail: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ThumbnailProps,
|
|
43
|
-
export declare const UsersWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
44
|
-
export declare const ActionsWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
45
|
-
export declare const AlertWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
42
|
+
export declare const Thumbnail: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ThumbnailProps, object>;
|
|
43
|
+
export declare const UsersWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
44
|
+
export declare const ActionsWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
45
|
+
export declare const AlertWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
@@ -5,6 +5,7 @@ import { CardPlatform, OnResolveCallback } from '../Card/types';
|
|
|
5
5
|
import { ReactNode } from 'react';
|
|
6
6
|
import { ActionProps } from '../BlockCard/components/Action';
|
|
7
7
|
import { RequestAccessMessageKey } from '../../messages';
|
|
8
|
+
import { OnErrorCallback } from '../types';
|
|
8
9
|
export declare type EmbedCardProps = {
|
|
9
10
|
url: string;
|
|
10
11
|
cardState: CardState;
|
|
@@ -18,6 +19,7 @@ export declare type EmbedCardProps = {
|
|
|
18
19
|
isFrameVisible?: boolean;
|
|
19
20
|
platform?: CardPlatform;
|
|
20
21
|
onResolve?: OnResolveCallback;
|
|
22
|
+
onError?: OnErrorCallback;
|
|
21
23
|
testId?: string;
|
|
22
24
|
inheritDimensions?: boolean;
|
|
23
25
|
showActions?: boolean;
|
|
@@ -5,4 +5,12 @@ export declare type LoadingSkeletonProps = {
|
|
|
5
5
|
* code, serving as a hook for automated tests
|
|
6
6
|
*/
|
|
7
7
|
testId?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Width of the loading skeleton, defaults to width of the parent element
|
|
10
|
+
*/
|
|
11
|
+
width?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Height of loading skeleton, defaults to height of the parent element
|
|
14
|
+
*/
|
|
15
|
+
height?: number;
|
|
8
16
|
};
|
|
@@ -5,6 +5,7 @@ import { CardProviderRenderers } from '@atlaskit/link-provider';
|
|
|
5
5
|
import { SmartLinkSize, SmartLinkTheme } from '../../constants';
|
|
6
6
|
import { CardAppearance } from '../../view/Card';
|
|
7
7
|
import { OnResolveCallback } from '../Card/types';
|
|
8
|
+
import { OnErrorCallback } from '../types';
|
|
8
9
|
export declare type FlexibleCardProps = {
|
|
9
10
|
/**
|
|
10
11
|
* @internal A unique ID for a Smart Link.
|
|
@@ -36,6 +37,14 @@ export declare type FlexibleCardProps = {
|
|
|
36
37
|
* @internal
|
|
37
38
|
*/
|
|
38
39
|
onAuthorize?: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* function to be called after a flexible card has rendered its error states
|
|
42
|
+
*/
|
|
43
|
+
onError?: OnErrorCallback;
|
|
44
|
+
/**
|
|
45
|
+
* function to be called after a flexible card has rendered its resolved state
|
|
46
|
+
*/
|
|
47
|
+
onResolve?: OnResolveCallback;
|
|
39
48
|
/**
|
|
40
49
|
* Any additional renderers required by Flexible UI. Currently used by icon
|
|
41
50
|
* to render Emoji.
|
|
@@ -56,10 +65,6 @@ export declare type FlexibleCardProps = {
|
|
|
56
65
|
* Determines the URL of the Smart Link.
|
|
57
66
|
*/
|
|
58
67
|
url: string;
|
|
59
|
-
/**
|
|
60
|
-
* function to be called after a flexible card has rendered its resolved state
|
|
61
|
-
*/
|
|
62
|
-
onResolve?: OnResolveCallback;
|
|
63
68
|
};
|
|
64
69
|
export declare type FlexibleUiOptions = {
|
|
65
70
|
/**
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { FlexibleUiOptions } from '../FlexibleCard/types';
|
|
2
2
|
export declare const flexibleUiOptions: FlexibleUiOptions;
|
|
3
|
+
export declare const CARD_WIDTH_REM = 24;
|
|
3
4
|
export declare const HoverCardContainer: import("@emotion/utils").SerializedStyles;
|
|
4
5
|
export declare const titleBlockCss: import("@emotion/utils").SerializedStyles;
|
|
5
6
|
export declare const metadataBlockCss: import("@emotion/utils").SerializedStyles;
|
|
6
7
|
export declare const footerBlockCss: import("@emotion/utils").SerializedStyles;
|
|
8
|
+
export declare const loadingViewContainer: import("@emotion/utils").SerializedStyles;
|
|
9
|
+
export declare const skeletonContainer: import("@emotion/utils").SerializedStyles;
|
|
@@ -6,6 +6,8 @@ import { CardState } from '@atlaskit/linking-common';
|
|
|
6
6
|
import { CardProviderRenderers } from '@atlaskit/link-provider';
|
|
7
7
|
import { AnalyticsHandler } from '../../utils/types';
|
|
8
8
|
import { ReactElement } from 'react';
|
|
9
|
+
import { TitleBlockProps } from '../FlexibleCard/components/blocks/title-block/types';
|
|
10
|
+
import { FlexibleCardProps } from '../FlexibleCard/types';
|
|
9
11
|
export interface HoverCardProps extends WithAnalyticsEventsProps {
|
|
10
12
|
id?: string;
|
|
11
13
|
url: string;
|
|
@@ -23,6 +25,7 @@ export interface MetadataOptions {
|
|
|
23
25
|
subtitle: Array<ElementItem>;
|
|
24
26
|
}
|
|
25
27
|
export declare type HoverCardContentProps = {
|
|
28
|
+
id?: string;
|
|
26
29
|
analytics: AnalyticsFacade;
|
|
27
30
|
cardActions?: LinkAction[];
|
|
28
31
|
cardState: CardState;
|
|
@@ -31,3 +34,7 @@ export declare type HoverCardContentProps = {
|
|
|
31
34
|
onResolve: () => void;
|
|
32
35
|
url: string;
|
|
33
36
|
};
|
|
37
|
+
export declare type HoverCardLoadingViewProps = {
|
|
38
|
+
flexibleCardProps: FlexibleCardProps;
|
|
39
|
+
titleBlockProps: TitleBlockProps;
|
|
40
|
+
};
|
|
@@ -5,4 +5,4 @@ export interface WrapperProps {
|
|
|
5
5
|
withoutHover?: boolean;
|
|
6
6
|
withoutBackground?: boolean;
|
|
7
7
|
}
|
|
8
|
-
export declare const Wrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, WrapperProps,
|
|
8
|
+
export declare const Wrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, WrapperProps, object>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const Icon: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>,
|
|
3
|
-
export declare const AKIconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
4
|
-
export declare const Shimmer: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
2
|
+
export declare const Icon: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, Pick<import("react").ClassAttributes<HTMLImageElement> & import("react").ImgHTMLAttributes<HTMLImageElement>, keyof import("react").ImgHTMLAttributes<HTMLImageElement>>, object>;
|
|
3
|
+
export declare const AKIconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
4
|
+
export declare const Shimmer: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const IconObjectOverrides = "\n & > span {\n height: 16px;\n width: 14px;\n position: absolute;\n top: 0;\n left: 0;\n line-height: 14px;\n & > svg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n";
|
|
3
3
|
export declare const IconOverrides = "\n & > * > span {\n height: 16px;\n width: 14px;\n position: absolute;\n top: 0;\n left: 0;\n & > svg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n";
|
|
4
|
-
export declare const IconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
5
|
-
export declare const EmojiWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
6
|
-
export declare const IconTitleWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
7
|
-
export declare const LozengeWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
8
|
-
export declare const LozengeBlockWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
9
|
-
export declare const RightIconPositionWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
10
|
-
export declare const IconPositionWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
11
|
-
export declare const IconEmptyWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
4
|
+
export declare const IconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
5
|
+
export declare const EmojiWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
6
|
+
export declare const IconTitleWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
7
|
+
export declare const LozengeWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
8
|
+
export declare const LozengeBlockWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
9
|
+
export declare const RightIconPositionWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
10
|
+
export declare const IconPositionWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
11
|
+
export declare const IconEmptyWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
12
12
|
export declare const TitleWrapperClassName = "smart-link-title-wrapper";
|
|
13
|
-
export declare const TitleWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
13
|
+
export declare const TitleWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const SpinnerWrapper: import("@emotion/styled-base").StyledComponent<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & import("
|
|
3
|
-
theme?:
|
|
4
|
-
} &
|
|
5
|
-
|
|
6
|
-
}
|
|
2
|
+
export declare const SpinnerWrapper: import("@emotion/styled-base").StyledComponent<Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & Pick<Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
|
|
3
|
+
theme?: object | undefined;
|
|
4
|
+
} & {
|
|
5
|
+
children?: import("react").ReactNode;
|
|
6
|
+
}, "theme" | "key" | keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
|
|
7
|
+
ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
8
|
+
}, Pick<Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & Pick<Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
|
|
9
|
+
theme?: object | undefined;
|
|
10
|
+
} & {
|
|
11
|
+
children?: import("react").ReactNode;
|
|
12
|
+
}, "theme" | "key" | keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
|
|
13
|
+
ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
14
|
+
}, "theme" | keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const IconStyledButton: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
3
|
-
export declare const NoLinkAppearance: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
export declare const IconStyledButton: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
3
|
+
export declare const NoLinkAppearance: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("@emotion/styled-base/types/helper").Overwrapped<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, import("@atlaskit/theme").ThemeProps | undefined>, never>, {
|
|
4
|
+
__ATLASKIT_THEME__: import("@atlaskit/theme").Theme;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const LowercaseAppearance: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
|
|
7
|
+
export declare const LinkAppearance: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("@emotion/styled-base/types/helper").Overwrapped<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, import("@atlaskit/theme").ThemeProps | undefined>, never>, {
|
|
8
|
+
__ATLASKIT_THEME__: import("@atlaskit/theme").Theme;
|
|
9
|
+
}>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventHandler, MouseEvent, KeyboardEvent } from 'react';
|
|
2
2
|
import { CardProviderRenderers } from '@atlaskit/link-provider';
|
|
3
3
|
import { CardState } from '../../state/types';
|
|
4
|
-
import { InlinePreloaderStyle } from '../types';
|
|
4
|
+
import { InlinePreloaderStyle, OnErrorCallback } from '../types';
|
|
5
5
|
export declare type InlineCardProps = {
|
|
6
6
|
id: string;
|
|
7
7
|
url: string;
|
|
@@ -14,6 +14,7 @@ export declare type InlineCardProps = {
|
|
|
14
14
|
url?: string;
|
|
15
15
|
title?: string;
|
|
16
16
|
}) => void;
|
|
17
|
+
onError?: OnErrorCallback;
|
|
17
18
|
inlinePreloaderStyle?: InlinePreloaderStyle;
|
|
18
19
|
renderers?: CardProviderRenderers;
|
|
19
20
|
showHoverPreview?: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { CardType } from '@atlaskit/linking-common';
|
|
2
3
|
import { ActionProps } from './BlockCard/components/Action';
|
|
3
4
|
import { RequestAccessMessageKey } from '../messages';
|
|
4
5
|
export interface WithShowControlMethodProp {
|
|
@@ -21,3 +22,8 @@ export interface RequestAccessContextProps extends AccessContext {
|
|
|
21
22
|
descriptiveMessageKey?: RequestAccessMessageKey;
|
|
22
23
|
}
|
|
23
24
|
export declare type InlinePreloaderStyle = 'on-left-with-skeleton' | 'on-right-without-skeleton';
|
|
25
|
+
export declare type ErrorCardType = 'errored' | 'fallback' | 'forbidden' | 'not_found' | 'unauthorized';
|
|
26
|
+
export declare type OnErrorCallback = (data: {
|
|
27
|
+
status: Extract<CardType, ErrorCardType>;
|
|
28
|
+
url: string;
|
|
29
|
+
}) => void;
|