@atlaskit/smart-card 19.0.3 → 19.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 CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 19.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 19.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`6b7ba46a96b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6b7ba46a96b) - [MEX-1456] Remove unused infinite scroll from Media-UI and Remove lodash from Media package
14
+
15
+ ### Patch Changes
16
+
17
+ - [`7c926026ca3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7c926026ca3) - Adds testId to FlexibleCard test.
18
+ - Updated dependencies
19
+
20
+ ## 19.0.4
21
+
22
+ ### Patch Changes
23
+
24
+ - [`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
25
+
3
26
  ## 19.0.3
4
27
 
5
28
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.3",
3
+ "version": "19.1.1",
4
4
  "sideEffects": false
5
5
  }
@@ -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
 
@@ -311,11 +311,22 @@ var AtlaskitIcon = function AtlaskitIcon(_ref3) {
311
311
 
312
312
  switch (icon) {
313
313
  case _constants.IconType.Confluence:
314
+ return /*#__PURE__*/_react.default.createElement(ImportedIcon, {
315
+ testId: testId,
316
+ textColor: (0, _tokens.token)('color.text.subtle', _colors.N700)
317
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
318
+ ,
319
+ iconColor: _colors.B200,
320
+ iconGradientStart: _colors.B400,
321
+ iconGradientStop: _colors.B200
322
+ /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
323
+
324
+ });
325
+
314
326
  case _constants.IconType.Jira:
315
327
  // Logo component has a different prop set from other icon components
316
328
  return /*#__PURE__*/_react.default.createElement(ImportedIcon, {
317
- "data-testid": testId // Confluence and Jira imports don't have native testId prop
318
- ,
329
+ testId: testId,
319
330
  textColor: (0, _tokens.token)('color.text.subtle', _colors.N700)
320
331
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
321
332
  ,
@@ -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 = _interopRequireDefault(require("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: CardComponent,
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,
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.3",
3
+ "version": "19.1.1",
4
4
  "sideEffects": false
5
5
  }
@@ -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
 
@@ -224,11 +224,22 @@ const AtlaskitIcon = ({
224
224
 
225
225
  switch (icon) {
226
226
  case IconType.Confluence:
227
+ return /*#__PURE__*/React.createElement(ImportedIcon, {
228
+ testId: testId,
229
+ textColor: token('color.text.subtle', N700)
230
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
231
+ ,
232
+ iconColor: B200,
233
+ iconGradientStart: B400,
234
+ iconGradientStop: B200
235
+ /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
236
+
237
+ });
238
+
227
239
  case IconType.Jira:
228
240
  // Logo component has a different prop set from other icon components
229
241
  return /*#__PURE__*/React.createElement(ImportedIcon, {
230
- "data-testid": testId // Confluence and Jira imports don't have native testId prop
231
- ,
242
+ testId: testId,
232
243
  textColor: token('color.text.subtle', N700)
233
244
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
234
245
  ,
@@ -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: CardComponent,
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
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.3",
3
+ "version": "19.1.1",
4
4
  "sideEffects": false
5
5
  }
@@ -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
 
@@ -291,11 +291,22 @@ var AtlaskitIcon = function AtlaskitIcon(_ref3) {
291
291
 
292
292
  switch (icon) {
293
293
  case IconType.Confluence:
294
+ return /*#__PURE__*/React.createElement(ImportedIcon, {
295
+ testId: testId,
296
+ textColor: token('color.text.subtle', N700)
297
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
298
+ ,
299
+ iconColor: B200,
300
+ iconGradientStart: B400,
301
+ iconGradientStop: B200
302
+ /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
303
+
304
+ });
305
+
294
306
  case IconType.Jira:
295
307
  // Logo component has a different prop set from other icon components
296
308
  return /*#__PURE__*/React.createElement(ImportedIcon, {
297
- "data-testid": testId // Confluence and Jira imports don't have native testId prop
298
- ,
309
+ testId: testId,
299
310
  textColor: token('color.text.subtle', N700)
300
311
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
301
312
  ,
@@ -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: CardComponent,
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
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.3",
3
+ "version": "19.1.1",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -34,16 +34,16 @@
34
34
  "@atlaskit/icon-priority": "^6.3.0",
35
35
  "@atlaskit/in-product-testing": "^0.1.0",
36
36
  "@atlaskit/linking-common": "^1.1.0",
37
- "@atlaskit/logo": "^13.5.0",
37
+ "@atlaskit/logo": "^13.6.0",
38
38
  "@atlaskit/lozenge": "^11.1.0",
39
- "@atlaskit/media-common": "^2.12.0",
40
- "@atlaskit/media-ui": "^21.1.0",
39
+ "@atlaskit/media-common": "^2.13.0",
40
+ "@atlaskit/media-ui": "^22.0.0",
41
41
  "@atlaskit/modal-dialog": "^12.2.0",
42
42
  "@atlaskit/outbound-auth-flow-client": "^3.3.0",
43
43
  "@atlaskit/popup": "^1.3.0",
44
44
  "@atlaskit/spinner": "^15.1.0",
45
45
  "@atlaskit/theme": "^12.1.0",
46
- "@atlaskit/tokens": "^0.9.0",
46
+ "@atlaskit/tokens": "^0.10.0",
47
47
  "@atlaskit/tooltip": "^17.5.2",
48
48
  "@atlaskit/ufo": "^0.1.0",
49
49
  "@babel/runtime": "^7.0.0",
@@ -74,7 +74,7 @@
74
74
  "@atlaskit/inline-message": "^11.2.0",
75
75
  "@atlaskit/lozenge": "^11.1.0",
76
76
  "@atlaskit/media-integration-test-helpers": "^2.6.0",
77
- "@atlaskit/media-test-helpers": "^29.4.0",
77
+ "@atlaskit/media-test-helpers": "^30.0.0",
78
78
  "@atlaskit/page": "^12.1.0",
79
79
  "@atlaskit/radio": "^5.3.0",
80
80
  "@atlaskit/range": "^6.0.0",
@@ -90,7 +90,6 @@
90
90
  "@testing-library/react-hooks": "^1.0.4",
91
91
  "@testing-library/user-event": "10.4.0",
92
92
  "@types/enzyme": "^3.1.15",
93
- "@types/lodash": "^4.14.157",
94
93
  "@types/lorem-ipsum": "^1.0.2",
95
94
  "@types/react": "^16.8.0",
96
95
  "@types/react-loadable": "^5.4.1",