@atlaskit/smart-card 19.0.3 → 19.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/CardWithUrl/component.js +2 -1
- package/dist/cjs/view/FlexibleCard/index.js +16 -2
- package/dist/cjs/view/HoverCard/index.js +10 -3
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/CardWithUrl/component.js +2 -1
- package/dist/es2019/view/FlexibleCard/index.js +10 -2
- package/dist/es2019/view/HoverCard/index.js +12 -3
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/CardWithUrl/component.js +2 -1
- package/dist/esm/view/FlexibleCard/index.js +10 -2
- package/dist/esm/view/HoverCard/index.js +10 -3
- package/dist/types/view/FlexibleCard/types.d.ts +5 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 19.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`3eea7c153d6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3eea7c153d6) - Handle onResolve prop from smart-card in flexible-card and use the prop inside hover-card to dynamically update popup positioning
|
|
8
|
+
|
|
3
9
|
## 19.0.3
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/cjs/version.json
CHANGED
|
@@ -136,7 +136,8 @@ function CardWithUrlContent(_ref) {
|
|
|
136
136
|
renderers: renderers,
|
|
137
137
|
ui: ui,
|
|
138
138
|
url: url,
|
|
139
|
-
testId: testId
|
|
139
|
+
testId: testId,
|
|
140
|
+
onResolve: onResolve
|
|
140
141
|
}, children);
|
|
141
142
|
} // We have to keep this last to prevent hook order from being violated
|
|
142
143
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -9,7 +11,7 @@ exports.default = void 0;
|
|
|
9
11
|
|
|
10
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
13
|
|
|
12
|
-
var _react =
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
15
|
|
|
14
16
|
var _container = _interopRequireDefault(require("./components/container"));
|
|
15
17
|
|
|
@@ -17,6 +19,10 @@ var _flexibleUiContext = require("../../state/flexible-ui-context");
|
|
|
17
19
|
|
|
18
20
|
var _utils = require("./utils");
|
|
19
21
|
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
+
|
|
20
26
|
/**
|
|
21
27
|
* This represents a Flexible Card: a link represented by a card with metadata.
|
|
22
28
|
* This is the container in which all Flexible UI Blocks and Elements exist.
|
|
@@ -31,12 +37,20 @@ var FlexibleCard = function FlexibleCard(_ref) {
|
|
|
31
37
|
ui = _ref.ui,
|
|
32
38
|
url = _ref.url,
|
|
33
39
|
onClick = _ref.onClick,
|
|
34
|
-
testId = _ref.testId
|
|
40
|
+
testId = _ref.testId,
|
|
41
|
+
onResolve = _ref.onResolve;
|
|
35
42
|
var cardType = cardState.status,
|
|
36
43
|
details = cardState.details;
|
|
37
44
|
var status = cardType;
|
|
38
45
|
var context = (0, _utils.getContextByStatus)(url, status, details, renderers);
|
|
39
46
|
var retry = (0, _utils.getRetryOptions)(url, status, details, onAuthorize);
|
|
47
|
+
(0, _react.useEffect)(function () {
|
|
48
|
+
if (status === 'resolved' && onResolve) {
|
|
49
|
+
onResolve({
|
|
50
|
+
url: url
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}, [onResolve, status, url]);
|
|
40
54
|
return /*#__PURE__*/_react.default.createElement(_flexibleUiContext.FlexibleUiContext.Provider, {
|
|
41
55
|
value: context
|
|
42
56
|
}, /*#__PURE__*/_react.default.createElement(_container.default, (0, _extends2.default)({
|
|
@@ -138,7 +138,8 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
138
138
|
};
|
|
139
139
|
}, [url, definitionId, extensionKey, analytics]);
|
|
140
140
|
|
|
141
|
-
var CardComponent = function CardComponent() {
|
|
141
|
+
var CardComponent = function CardComponent(_ref2) {
|
|
142
|
+
var update = _ref2.update;
|
|
142
143
|
//TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
143
144
|
var metadataElements = (0, _extractMetadata.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey));
|
|
144
145
|
return (0, _core.jsx)("div", {
|
|
@@ -151,7 +152,8 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
151
152
|
ui: {
|
|
152
153
|
hideElevation: true,
|
|
153
154
|
size: _constants.SmartLinkSize.Large
|
|
154
|
-
}
|
|
155
|
+
},
|
|
156
|
+
onResolve: update
|
|
155
157
|
}, (0, _core.jsx)(_blocks.TitleBlock, {
|
|
156
158
|
actions: [openAction]
|
|
157
159
|
}), (0, _core.jsx)(_blocks.MetadataBlock, {
|
|
@@ -170,7 +172,12 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
170
172
|
isOpen: isOpen,
|
|
171
173
|
onClose: onClose,
|
|
172
174
|
placement: "bottom-start",
|
|
173
|
-
content:
|
|
175
|
+
content: function content(_ref3) {
|
|
176
|
+
var update = _ref3.update;
|
|
177
|
+
return (0, _core.jsx)(CardComponent, {
|
|
178
|
+
update: update
|
|
179
|
+
});
|
|
180
|
+
},
|
|
174
181
|
trigger: function trigger(triggerProps) {
|
|
175
182
|
return (0, _core.jsx)("span", (0, _extends2.default)({}, triggerProps, {
|
|
176
183
|
onMouseEnter: initShowCard,
|
package/dist/es2019/version.json
CHANGED
|
@@ -104,7 +104,8 @@ export function CardWithUrlContent({
|
|
|
104
104
|
renderers: renderers,
|
|
105
105
|
ui: ui,
|
|
106
106
|
url: url,
|
|
107
|
-
testId: testId
|
|
107
|
+
testId: testId,
|
|
108
|
+
onResolve: onResolve
|
|
108
109
|
}, children);
|
|
109
110
|
} // We have to keep this last to prevent hook order from being violated
|
|
110
111
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { useEffect } 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';
|
|
@@ -18,7 +18,8 @@ const FlexibleCard = ({
|
|
|
18
18
|
ui,
|
|
19
19
|
url,
|
|
20
20
|
onClick,
|
|
21
|
-
testId
|
|
21
|
+
testId,
|
|
22
|
+
onResolve
|
|
22
23
|
}) => {
|
|
23
24
|
const {
|
|
24
25
|
status: cardType,
|
|
@@ -27,6 +28,13 @@ const FlexibleCard = ({
|
|
|
27
28
|
const status = cardType;
|
|
28
29
|
const context = getContextByStatus(url, status, details, renderers);
|
|
29
30
|
const retry = getRetryOptions(url, status, details, onAuthorize);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (status === 'resolved' && onResolve) {
|
|
33
|
+
onResolve({
|
|
34
|
+
url
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}, [onResolve, status, url]);
|
|
30
38
|
return /*#__PURE__*/React.createElement(FlexibleUiContext.Provider, {
|
|
31
39
|
value: context
|
|
32
40
|
}, /*#__PURE__*/React.createElement(Container, _extends({
|
|
@@ -91,7 +91,9 @@ export const HoverCardComponent = ({
|
|
|
91
91
|
};
|
|
92
92
|
}, [url, definitionId, extensionKey, analytics]);
|
|
93
93
|
|
|
94
|
-
const CardComponent = (
|
|
94
|
+
const CardComponent = ({
|
|
95
|
+
update
|
|
96
|
+
}) => {
|
|
95
97
|
//TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
96
98
|
const metadataElements = extractMetadata(getSimulatedMetadata(extensionKey));
|
|
97
99
|
return jsx("div", {
|
|
@@ -104,7 +106,8 @@ export const HoverCardComponent = ({
|
|
|
104
106
|
ui: {
|
|
105
107
|
hideElevation: true,
|
|
106
108
|
size: SmartLinkSize.Large
|
|
107
|
-
}
|
|
109
|
+
},
|
|
110
|
+
onResolve: update
|
|
108
111
|
}, jsx(TitleBlock, {
|
|
109
112
|
actions: [openAction]
|
|
110
113
|
}), jsx(MetadataBlock, {
|
|
@@ -121,7 +124,13 @@ export const HoverCardComponent = ({
|
|
|
121
124
|
isOpen: isOpen,
|
|
122
125
|
onClose: onClose,
|
|
123
126
|
placement: "bottom-start",
|
|
124
|
-
content:
|
|
127
|
+
content: ({
|
|
128
|
+
update
|
|
129
|
+
}) => {
|
|
130
|
+
return jsx(CardComponent, {
|
|
131
|
+
update: update
|
|
132
|
+
});
|
|
133
|
+
},
|
|
125
134
|
trigger: triggerProps => jsx("span", _extends({}, triggerProps, {
|
|
126
135
|
onMouseEnter: initShowCard,
|
|
127
136
|
onMouseLeave: initHideCard
|
package/dist/esm/version.json
CHANGED
|
@@ -110,7 +110,8 @@ export function CardWithUrlContent(_ref) {
|
|
|
110
110
|
renderers: renderers,
|
|
111
111
|
ui: ui,
|
|
112
112
|
url: url,
|
|
113
|
-
testId: testId
|
|
113
|
+
testId: testId,
|
|
114
|
+
onResolve: onResolve
|
|
114
115
|
}, children);
|
|
115
116
|
} // We have to keep this last to prevent hook order from being violated
|
|
116
117
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { useEffect } 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';
|
|
@@ -18,12 +18,20 @@ var FlexibleCard = function FlexibleCard(_ref) {
|
|
|
18
18
|
ui = _ref.ui,
|
|
19
19
|
url = _ref.url,
|
|
20
20
|
onClick = _ref.onClick,
|
|
21
|
-
testId = _ref.testId
|
|
21
|
+
testId = _ref.testId,
|
|
22
|
+
onResolve = _ref.onResolve;
|
|
22
23
|
var cardType = cardState.status,
|
|
23
24
|
details = cardState.details;
|
|
24
25
|
var status = cardType;
|
|
25
26
|
var context = getContextByStatus(url, status, details, renderers);
|
|
26
27
|
var retry = getRetryOptions(url, status, details, onAuthorize);
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (status === 'resolved' && onResolve) {
|
|
30
|
+
onResolve({
|
|
31
|
+
url: url
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}, [onResolve, status, url]);
|
|
27
35
|
return /*#__PURE__*/React.createElement(FlexibleUiContext.Provider, {
|
|
28
36
|
value: context
|
|
29
37
|
}, /*#__PURE__*/React.createElement(Container, _extends({
|
|
@@ -106,7 +106,8 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
106
106
|
};
|
|
107
107
|
}, [url, definitionId, extensionKey, analytics]);
|
|
108
108
|
|
|
109
|
-
var CardComponent = function CardComponent() {
|
|
109
|
+
var CardComponent = function CardComponent(_ref2) {
|
|
110
|
+
var update = _ref2.update;
|
|
110
111
|
//TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
111
112
|
var metadataElements = extractMetadata(getSimulatedMetadata(extensionKey));
|
|
112
113
|
return jsx("div", {
|
|
@@ -119,7 +120,8 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
119
120
|
ui: {
|
|
120
121
|
hideElevation: true,
|
|
121
122
|
size: SmartLinkSize.Large
|
|
122
|
-
}
|
|
123
|
+
},
|
|
124
|
+
onResolve: update
|
|
123
125
|
}, jsx(TitleBlock, {
|
|
124
126
|
actions: [openAction]
|
|
125
127
|
}), jsx(MetadataBlock, {
|
|
@@ -138,7 +140,12 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
138
140
|
isOpen: isOpen,
|
|
139
141
|
onClose: onClose,
|
|
140
142
|
placement: "bottom-start",
|
|
141
|
-
content:
|
|
143
|
+
content: function content(_ref3) {
|
|
144
|
+
var update = _ref3.update;
|
|
145
|
+
return jsx(CardComponent, {
|
|
146
|
+
update: update
|
|
147
|
+
});
|
|
148
|
+
},
|
|
142
149
|
trigger: function trigger(triggerProps) {
|
|
143
150
|
return jsx("span", _extends({}, triggerProps, {
|
|
144
151
|
onMouseEnter: initShowCard,
|
|
@@ -4,6 +4,7 @@ import { CardState } from '@atlaskit/linking-common';
|
|
|
4
4
|
import { CardProviderRenderers } from '@atlaskit/link-provider';
|
|
5
5
|
import { SmartLinkSize, SmartLinkTheme } from '../../constants';
|
|
6
6
|
import { CardAppearance } from '../../view/Card';
|
|
7
|
+
import { OnResolveCallback } from '../Card/types';
|
|
7
8
|
export declare type FlexibleCardProps = {
|
|
8
9
|
/**
|
|
9
10
|
* Determines the appearance of the Smart Link.
|
|
@@ -51,6 +52,10 @@ export declare type FlexibleCardProps = {
|
|
|
51
52
|
* Determines the URL of the Smart Link.
|
|
52
53
|
*/
|
|
53
54
|
url: string;
|
|
55
|
+
/**
|
|
56
|
+
* function to be called after a flexible card has rendered its resolved state
|
|
57
|
+
*/
|
|
58
|
+
onResolve?: OnResolveCallback;
|
|
54
59
|
};
|
|
55
60
|
export declare type FlexibleUiOptions = {
|
|
56
61
|
/**
|