@atlaskit/smart-card 26.14.5 → 26.14.6

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/constants.js +1 -0
  3. package/dist/cjs/utils/index.js +46 -5
  4. package/dist/cjs/version.json +1 -1
  5. package/dist/cjs/view/BlockCard/actions/DownloadAction.js +4 -34
  6. package/dist/cjs/view/BlockCard/views/flexible/utils.js +14 -2
  7. package/dist/cjs/view/FlexibleCard/components/actions/action/download-action/index.js +2 -47
  8. package/dist/cjs/view/FlexibleCard/components/common/atlaskit-icon/index.js +4 -0
  9. package/dist/cjs/view/FlexibleCard/components/elements/utils.js +1 -1
  10. package/dist/cjs/view/HoverCard/utils.js +1 -1
  11. package/dist/es2019/constants.js +1 -0
  12. package/dist/es2019/utils/index.js +23 -0
  13. package/dist/es2019/version.json +1 -1
  14. package/dist/es2019/view/BlockCard/actions/DownloadAction.js +2 -12
  15. package/dist/es2019/view/BlockCard/views/flexible/utils.js +14 -2
  16. package/dist/es2019/view/FlexibleCard/components/actions/action/download-action/index.js +2 -28
  17. package/dist/es2019/view/FlexibleCard/components/common/atlaskit-icon/index.js +2 -1
  18. package/dist/es2019/view/FlexibleCard/components/elements/utils.js +1 -1
  19. package/dist/es2019/view/HoverCard/utils.js +1 -1
  20. package/dist/esm/constants.js +1 -0
  21. package/dist/esm/utils/index.js +44 -4
  22. package/dist/esm/version.json +1 -1
  23. package/dist/esm/view/BlockCard/actions/DownloadAction.js +4 -33
  24. package/dist/esm/view/BlockCard/views/flexible/utils.js +14 -2
  25. package/dist/esm/view/FlexibleCard/components/actions/action/download-action/index.js +2 -47
  26. package/dist/esm/view/FlexibleCard/components/common/atlaskit-icon/index.js +2 -0
  27. package/dist/esm/view/FlexibleCard/components/elements/utils.js +1 -1
  28. package/dist/esm/view/HoverCard/utils.js +1 -1
  29. package/dist/types/constants.d.ts +2 -1
  30. package/dist/types/utils/index.d.ts +1 -0
  31. package/dist/types/view/BlockCard/actions/DownloadAction.d.ts +0 -4
  32. package/dist/types/view/FlexibleCard/components/actions/action/download-action/types.d.ts +0 -3
  33. package/dist/types-ts4.5/constants.d.ts +2 -1
  34. package/dist/types-ts4.5/utils/index.d.ts +1 -0
  35. package/dist/types-ts4.5/view/BlockCard/actions/DownloadAction.d.ts +0 -4
  36. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/download-action/types.d.ts +0 -3
  37. package/package.json +1 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.14.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [`88b90baf84c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/88b90baf84c) - Update icon for SubTasksProgress flex ui element & update metadata elements order in Block & Hover Card
8
+ - [`e6d7b777ce0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e6d7b777ce0) - Remove dependency to @atlaskit/media-common
9
+
3
10
  ## 26.14.5
4
11
 
5
12
  ### Patch Changes
@@ -222,6 +222,7 @@ var IconType = /*#__PURE__*/function (IconType) {
222
222
  IconType["PriorityUndefined"] = "Badge:PriorityUndefined";
223
223
  IconType["ProgrammingLanguage"] = "Badge:ProgrammingLanguage";
224
224
  IconType["Subscriber"] = "Badge:Subscriber";
225
+ IconType["SubTasksProgress"] = "Badge:SubTask";
225
226
  return IconType;
226
227
  }({});
227
228
  /**
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.sleep = exports.openUrl = exports.isSpecialKey = exports.isSpecialEvent = exports.isSpecialClick = exports.isIntersectionObserverSupported = exports.isIframe = exports.isCardWithData = exports.importWithRetry = exports.handleOnClick = exports.getLabelForFileType = exports.getIframeSandboxAttribute = exports.getIconForFileType = void 0;
8
+ exports.sleep = exports.openUrl = exports.isSpecialKey = exports.isSpecialEvent = exports.isSpecialClick = exports.isIntersectionObserverSupported = exports.isIframe = exports.isCardWithData = exports.importWithRetry = exports.handleOnClick = exports.getLabelForFileType = exports.getIframeSandboxAttribute = exports.getIconForFileType = exports.downloadUrl = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -398,8 +398,9 @@ var importWithRetry = /*#__PURE__*/function () {
398
398
  };
399
399
  }();
400
400
  exports.importWithRetry = importWithRetry;
401
- var openUrl = /*#__PURE__*/function () {
401
+ var downloadUrl = /*#__PURE__*/function () {
402
402
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
403
+ var isIE11, isSafari, iframeName, link, iframe;
403
404
  return _regenerator.default.wrap(function _callee2$(_context2) {
404
405
  while (1) switch (_context2.prev = _context2.next) {
405
406
  case 0:
@@ -409,15 +410,55 @@ var openUrl = /*#__PURE__*/function () {
409
410
  }
410
411
  return _context2.abrupt("return");
411
412
  case 2:
412
- window.open(url, '_blank', 'noopener=yes');
413
- case 3:
413
+ isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
414
+ isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
415
+ iframeName = 'media-download-iframe';
416
+ link = document.createElement('a');
417
+ iframe = document.getElementById(iframeName);
418
+ if (!iframe) {
419
+ iframe = document.createElement('iframe');
420
+ iframe.style.display = 'none';
421
+ iframe.id = iframeName;
422
+ iframe.name = iframeName;
423
+ document.body.appendChild(iframe);
424
+ }
425
+ link.href = url;
426
+ link.download = url;
427
+ link.target = isIE11 || isSafari ? '_blank' : iframeName;
428
+ document.body.appendChild(link);
429
+ link.click();
430
+ document.body.removeChild(link);
431
+ case 14:
414
432
  case "end":
415
433
  return _context2.stop();
416
434
  }
417
435
  }, _callee2);
418
436
  }));
419
- return function openUrl(_x2) {
437
+ return function downloadUrl(_x2) {
420
438
  return _ref2.apply(this, arguments);
421
439
  };
422
440
  }();
441
+ exports.downloadUrl = downloadUrl;
442
+ var openUrl = /*#__PURE__*/function () {
443
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(url) {
444
+ return _regenerator.default.wrap(function _callee3$(_context3) {
445
+ while (1) switch (_context3.prev = _context3.next) {
446
+ case 0:
447
+ if (url) {
448
+ _context3.next = 2;
449
+ break;
450
+ }
451
+ return _context3.abrupt("return");
452
+ case 2:
453
+ window.open(url, '_blank', 'noopener=yes');
454
+ case 3:
455
+ case "end":
456
+ return _context3.stop();
457
+ }
458
+ }, _callee3);
459
+ }));
460
+ return function openUrl(_x3) {
461
+ return _ref3.apply(this, arguments);
462
+ };
463
+ }();
423
464
  exports.openUrl = openUrl;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.14.5",
3
+ "version": "26.14.6",
4
4
  "sideEffects": false
5
5
  }
@@ -5,47 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.DownloadAction = void 0;
8
- exports.downloadFunction = downloadFunction;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
8
  var _react = _interopRequireDefault(require("react"));
12
9
  var _reactIntlNext = require("react-intl-next");
13
- var _mediaCommon = require("@atlaskit/media-common");
14
10
  var _messages = require("../../../messages");
15
- function downloadFunction(_x) {
16
- return _downloadFunction.apply(this, arguments);
17
- }
18
- function _downloadFunction() {
19
- _downloadFunction = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
20
- var url;
21
- return _regenerator.default.wrap(function _callee$(_context) {
22
- while (1) switch (_context.prev = _context.next) {
23
- case 0:
24
- url = _ref.url;
25
- if (url) {
26
- _context.next = 3;
27
- break;
28
- }
29
- return _context.abrupt("return");
30
- case 3:
31
- (0, _mediaCommon.downloadUrl)(url);
32
- case 4:
33
- case "end":
34
- return _context.stop();
35
- }
36
- }, _callee);
37
- }));
38
- return _downloadFunction.apply(this, arguments);
39
- }
40
- var DownloadAction = function DownloadAction(_ref2) {
41
- var url = _ref2.url;
11
+ var _utils = require("../../../utils");
12
+ var DownloadAction = function DownloadAction(_ref) {
13
+ var url = _ref.url;
42
14
  return {
43
15
  id: 'download-content',
44
16
  text: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.download),
45
17
  promise: function promise() {
46
- return downloadFunction({
47
- url: url
48
- });
18
+ return (0, _utils.downloadUrl)(url);
49
19
  }
50
20
  };
51
21
  };
@@ -64,8 +64,20 @@ var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(cardDetails
64
64
  name: _constants.ElementName.AssignedToGroup
65
65
  }, {
66
66
  name: _constants.ElementName.AssignedTo
67
- }].concat(baseTopMetadata) : defaultTopMetadata,
68
- bottomMetadata: defaultBottomMetadata
67
+ }, {
68
+ name: _constants.ElementName.ModifiedOn
69
+ }] : [{
70
+ name: _constants.ElementName.AuthorGroup
71
+ }, {
72
+ name: _constants.ElementName.CreatedBy
73
+ }, {
74
+ name: _constants.ElementName.ModifiedOn
75
+ }],
76
+ bottomMetadata: [{
77
+ name: _constants.ElementName.Priority
78
+ }, {
79
+ name: _constants.ElementName.SubTasksProgress
80
+ }]
69
81
  };
70
82
  default:
71
83
  return {
@@ -5,12 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
10
  var _react = _interopRequireDefault(require("react"));
13
11
  var _index = _interopRequireDefault(require("../index"));
12
+ var _utils = require("../../../../../../utils");
14
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
14
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
15
  var DownloadAction = function DownloadAction(props) {
@@ -23,9 +22,7 @@ var DownloadAction = function DownloadAction(props) {
23
22
  if (downloadUrl && url) {
24
23
  var action = _objectSpread(_objectSpread({}, props), {}, {
25
24
  onClick: function onClick() {
26
- downloadFunction({
27
- url: downloadUrl
28
- });
25
+ (0, _utils.downloadUrl)(downloadUrl);
29
26
  if (_onClick) {
30
27
  _onClick();
31
28
  }
@@ -40,47 +37,5 @@ var DownloadAction = function DownloadAction(props) {
40
37
  return null;
41
38
  }
42
39
  };
43
- function downloadFunction(_x) {
44
- return _downloadFunction.apply(this, arguments);
45
- }
46
- function _downloadFunction() {
47
- _downloadFunction = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
48
- var url, isIE11, isSafari, iframeName, link, iframe;
49
- return _regenerator.default.wrap(function _callee$(_context) {
50
- while (1) switch (_context.prev = _context.next) {
51
- case 0:
52
- url = _ref.url;
53
- if (url) {
54
- _context.next = 3;
55
- break;
56
- }
57
- return _context.abrupt("return");
58
- case 3:
59
- isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
60
- isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
61
- iframeName = 'media-download-iframe';
62
- link = document.createElement('a');
63
- iframe = document.getElementById(iframeName);
64
- if (!iframe) {
65
- iframe = document.createElement('iframe');
66
- iframe.style.display = 'none';
67
- iframe.id = iframeName;
68
- iframe.name = iframeName;
69
- document.body.appendChild(iframe);
70
- }
71
- link.href = url;
72
- link.download = url;
73
- link.target = isIE11 || isSafari ? '_blank' : iframeName;
74
- document.body.appendChild(link);
75
- link.click();
76
- document.body.removeChild(link);
77
- case 15:
78
- case "end":
79
- return _context.stop();
80
- }
81
- }, _callee);
82
- }));
83
- return _downloadFunction.apply(this, arguments);
84
- }
85
40
  var _default = DownloadAction;
86
41
  exports.default = _default;
@@ -267,6 +267,10 @@ var importIconMapper = (_importIconMapper = {}, (0, _defineProperty2.default)(_i
267
267
  return Promise.resolve().then(function () {
268
268
  return _interopRequireWildcard(require( /* webpackChunkName: "glyphSubscriber" */'@atlaskit/icon/glyph/people'));
269
269
  });
270
+ }), (0, _defineProperty2.default)(_importIconMapper, _constants.IconType.SubTasksProgress, function () {
271
+ return Promise.resolve().then(function () {
272
+ return _interopRequireWildcard(require( /* webpackChunkName: "glyphSubtask" */'@atlaskit/icon/glyph/subtask'));
273
+ });
270
274
  }), _importIconMapper);
271
275
  var getIconImportFn = function getIconImportFn(icon) {
272
276
  return importIconMapper[icon];
@@ -119,7 +119,7 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
119
119
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.SubTasksProgress, {
120
120
  component: _badge.default,
121
121
  props: {
122
- icon: _constants.IconType.CheckItem
122
+ icon: _constants.IconType.SubTasksProgress
123
123
  }
124
124
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.TargetBranch, {
125
125
  component: _text.default
@@ -131,7 +131,7 @@ var getSimulatedBetterMetadata = function getSimulatedBetterMetadata() {
131
131
  subtitle: []
132
132
  },
133
133
  bottomMetadataBlock: {
134
- primary: [_constants.ElementName.CommentCount, _constants.ElementName.ReactCount, _constants.ElementName.ViewCount],
134
+ primary: [_constants.ElementName.ReactCount, _constants.ElementName.CommentCount, _constants.ElementName.ViewCount],
135
135
  secondary: [],
136
136
  subtitle: []
137
137
  }
@@ -215,6 +215,7 @@ export let IconType = /*#__PURE__*/function (IconType) {
215
215
  IconType["PriorityUndefined"] = "Badge:PriorityUndefined";
216
216
  IconType["ProgrammingLanguage"] = "Badge:ProgrammingLanguage";
217
217
  IconType["Subscriber"] = "Badge:Subscriber";
218
+ IconType["SubTasksProgress"] = "Badge:SubTask";
218
219
  return IconType;
219
220
  }({});
220
221
 
@@ -120,6 +120,29 @@ export const importWithRetry = async (importFn, retries = 2, interval = 500) =>
120
120
  }
121
121
  }
122
122
  };
123
+ export const downloadUrl = async url => {
124
+ if (!url) {
125
+ return;
126
+ }
127
+ const isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
128
+ const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
129
+ const iframeName = 'media-download-iframe';
130
+ const link = document.createElement('a');
131
+ let iframe = document.getElementById(iframeName);
132
+ if (!iframe) {
133
+ iframe = document.createElement('iframe');
134
+ iframe.style.display = 'none';
135
+ iframe.id = iframeName;
136
+ iframe.name = iframeName;
137
+ document.body.appendChild(iframe);
138
+ }
139
+ link.href = url;
140
+ link.download = url;
141
+ link.target = isIE11 || isSafari ? '_blank' : iframeName;
142
+ document.body.appendChild(link);
143
+ link.click();
144
+ document.body.removeChild(link);
145
+ };
123
146
  export const openUrl = async url => {
124
147
  if (!url) {
125
148
  return;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.14.5",
3
+ "version": "26.14.6",
4
4
  "sideEffects": false
5
5
  }
@@ -1,21 +1,11 @@
1
1
  import React from 'react';
2
2
  import { FormattedMessage } from 'react-intl-next';
3
- import { downloadUrl } from '@atlaskit/media-common';
4
3
  import { messages } from '../../../messages';
5
- export async function downloadFunction({
6
- url
7
- }) {
8
- if (!url) {
9
- return;
10
- }
11
- downloadUrl(url);
12
- }
4
+ import { downloadUrl } from '../../../utils';
13
5
  export const DownloadAction = ({
14
6
  url
15
7
  }) => ({
16
8
  id: 'download-content',
17
9
  text: /*#__PURE__*/React.createElement(FormattedMessage, messages.download),
18
- promise: () => downloadFunction({
19
- url
20
- })
10
+ promise: () => downloadUrl(url)
21
11
  });
@@ -58,8 +58,20 @@ export const getSimulatedBetterMetadata = cardDetails => {
58
58
  name: ElementName.AssignedToGroup
59
59
  }, {
60
60
  name: ElementName.AssignedTo
61
- }, ...baseTopMetadata] : defaultTopMetadata,
62
- bottomMetadata: defaultBottomMetadata
61
+ }, {
62
+ name: ElementName.ModifiedOn
63
+ }] : [{
64
+ name: ElementName.AuthorGroup
65
+ }, {
66
+ name: ElementName.CreatedBy
67
+ }, {
68
+ name: ElementName.ModifiedOn
69
+ }],
70
+ bottomMetadata: [{
71
+ name: ElementName.Priority
72
+ }, {
73
+ name: ElementName.SubTasksProgress
74
+ }]
63
75
  };
64
76
  default:
65
77
  return {
@@ -1,6 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import Action from '../index';
4
+ import { downloadUrl as download } from '../../../../../../utils';
4
5
  const DownloadAction = props => {
5
6
  const {
6
7
  appearance,
@@ -14,9 +15,7 @@ const DownloadAction = props => {
14
15
  const action = {
15
16
  ...props,
16
17
  onClick: () => {
17
- downloadFunction({
18
- url: downloadUrl
19
- });
18
+ download(downloadUrl);
20
19
  if (onClick) {
21
20
  onClick();
22
21
  }
@@ -31,29 +30,4 @@ const DownloadAction = props => {
31
30
  return null;
32
31
  }
33
32
  };
34
- async function downloadFunction({
35
- url
36
- }) {
37
- if (!url) {
38
- return;
39
- }
40
- const isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
41
- const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
42
- const iframeName = 'media-download-iframe';
43
- const link = document.createElement('a');
44
- let iframe = document.getElementById(iframeName);
45
- if (!iframe) {
46
- iframe = document.createElement('iframe');
47
- iframe.style.display = 'none';
48
- iframe.id = iframeName;
49
- iframe.name = iframeName;
50
- document.body.appendChild(iframe);
51
- }
52
- link.href = url;
53
- link.download = url;
54
- link.target = isIE11 || isSafari ? '_blank' : iframeName;
55
- document.body.appendChild(link);
56
- link.click();
57
- document.body.removeChild(link);
58
- }
59
33
  export default DownloadAction;
@@ -78,7 +78,8 @@ const importIconMapper = {
78
78
  [IconType.PriorityTrivial]: () => import( /* webpackChunkName: "glyphTrivial" */'@atlaskit/icon-priority/glyph/priority-trivial'),
79
79
  [IconType.PriorityUndefined]: () => import( /* webpackChunkName: "glyphUndefined" */'@atlaskit/icon/glyph/question'),
80
80
  [IconType.ProgrammingLanguage]: () => import( /* webpackChunkName: "glyphProgrammingLanguage" */'@atlaskit/icon/glyph/code'),
81
- [IconType.Subscriber]: () => import( /* webpackChunkName: "glyphSubscriber" */'@atlaskit/icon/glyph/people')
81
+ [IconType.Subscriber]: () => import( /* webpackChunkName: "glyphSubscriber" */'@atlaskit/icon/glyph/people'),
82
+ [IconType.SubTasksProgress]: () => import( /* webpackChunkName: "glyphSubtask" */'@atlaskit/icon/glyph/subtask')
82
83
  };
83
84
  const getIconImportFn = icon => importIconMapper[icon];
84
85
  const importIcon = importFn => {
@@ -136,7 +136,7 @@ const elementMappings = {
136
136
  [ElementName.SubTasksProgress]: {
137
137
  component: Badge,
138
138
  props: {
139
- icon: IconType.CheckItem
139
+ icon: IconType.SubTasksProgress
140
140
  }
141
141
  },
142
142
  [ElementName.TargetBranch]: {
@@ -118,7 +118,7 @@ export const getSimulatedBetterMetadata = (extensionKey = '', data) => {
118
118
  subtitle: []
119
119
  },
120
120
  bottomMetadataBlock: {
121
- primary: [ElementName.CommentCount, ElementName.ReactCount, ElementName.ViewCount],
121
+ primary: [ElementName.ReactCount, ElementName.CommentCount, ElementName.ViewCount],
122
122
  secondary: [],
123
123
  subtitle: []
124
124
  }
@@ -215,6 +215,7 @@ export var IconType = /*#__PURE__*/function (IconType) {
215
215
  IconType["PriorityUndefined"] = "Badge:PriorityUndefined";
216
216
  IconType["ProgrammingLanguage"] = "Badge:ProgrammingLanguage";
217
217
  IconType["Subscriber"] = "Badge:Subscriber";
218
+ IconType["SubTasksProgress"] = "Badge:SubTask";
218
219
  return IconType;
219
220
  }({});
220
221
 
@@ -276,8 +276,9 @@ export var importWithRetry = /*#__PURE__*/function () {
276
276
  return _ref.apply(this, arguments);
277
277
  };
278
278
  }();
279
- export var openUrl = /*#__PURE__*/function () {
279
+ export var downloadUrl = /*#__PURE__*/function () {
280
280
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(url) {
281
+ var isIE11, isSafari, iframeName, link, iframe;
281
282
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
282
283
  while (1) switch (_context2.prev = _context2.next) {
283
284
  case 0:
@@ -287,14 +288,53 @@ export var openUrl = /*#__PURE__*/function () {
287
288
  }
288
289
  return _context2.abrupt("return");
289
290
  case 2:
290
- window.open(url, '_blank', 'noopener=yes');
291
- case 3:
291
+ isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
292
+ isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
293
+ iframeName = 'media-download-iframe';
294
+ link = document.createElement('a');
295
+ iframe = document.getElementById(iframeName);
296
+ if (!iframe) {
297
+ iframe = document.createElement('iframe');
298
+ iframe.style.display = 'none';
299
+ iframe.id = iframeName;
300
+ iframe.name = iframeName;
301
+ document.body.appendChild(iframe);
302
+ }
303
+ link.href = url;
304
+ link.download = url;
305
+ link.target = isIE11 || isSafari ? '_blank' : iframeName;
306
+ document.body.appendChild(link);
307
+ link.click();
308
+ document.body.removeChild(link);
309
+ case 14:
292
310
  case "end":
293
311
  return _context2.stop();
294
312
  }
295
313
  }, _callee2);
296
314
  }));
297
- return function openUrl(_x2) {
315
+ return function downloadUrl(_x2) {
298
316
  return _ref2.apply(this, arguments);
299
317
  };
318
+ }();
319
+ export var openUrl = /*#__PURE__*/function () {
320
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(url) {
321
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
322
+ while (1) switch (_context3.prev = _context3.next) {
323
+ case 0:
324
+ if (url) {
325
+ _context3.next = 2;
326
+ break;
327
+ }
328
+ return _context3.abrupt("return");
329
+ case 2:
330
+ window.open(url, '_blank', 'noopener=yes');
331
+ case 3:
332
+ case "end":
333
+ return _context3.stop();
334
+ }
335
+ }, _callee3);
336
+ }));
337
+ return function openUrl(_x3) {
338
+ return _ref3.apply(this, arguments);
339
+ };
300
340
  }();
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.14.5",
3
+ "version": "26.14.6",
4
4
  "sideEffects": false
5
5
  }
@@ -1,43 +1,14 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
1
  import React from 'react';
4
2
  import { FormattedMessage } from 'react-intl-next';
5
- import { downloadUrl } from '@atlaskit/media-common';
6
3
  import { messages } from '../../../messages';
7
- export function downloadFunction(_x) {
8
- return _downloadFunction.apply(this, arguments);
9
- }
10
- function _downloadFunction() {
11
- _downloadFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
12
- var url;
13
- return _regeneratorRuntime.wrap(function _callee$(_context) {
14
- while (1) switch (_context.prev = _context.next) {
15
- case 0:
16
- url = _ref.url;
17
- if (url) {
18
- _context.next = 3;
19
- break;
20
- }
21
- return _context.abrupt("return");
22
- case 3:
23
- downloadUrl(url);
24
- case 4:
25
- case "end":
26
- return _context.stop();
27
- }
28
- }, _callee);
29
- }));
30
- return _downloadFunction.apply(this, arguments);
31
- }
32
- export var DownloadAction = function DownloadAction(_ref2) {
33
- var url = _ref2.url;
4
+ import { downloadUrl } from '../../../utils';
5
+ export var DownloadAction = function DownloadAction(_ref) {
6
+ var url = _ref.url;
34
7
  return {
35
8
  id: 'download-content',
36
9
  text: /*#__PURE__*/React.createElement(FormattedMessage, messages.download),
37
10
  promise: function promise() {
38
- return downloadFunction({
39
- url: url
40
- });
11
+ return downloadUrl(url);
41
12
  }
42
13
  };
43
14
  };
@@ -58,8 +58,20 @@ export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(card
58
58
  name: ElementName.AssignedToGroup
59
59
  }, {
60
60
  name: ElementName.AssignedTo
61
- }].concat(baseTopMetadata) : defaultTopMetadata,
62
- bottomMetadata: defaultBottomMetadata
61
+ }, {
62
+ name: ElementName.ModifiedOn
63
+ }] : [{
64
+ name: ElementName.AuthorGroup
65
+ }, {
66
+ name: ElementName.CreatedBy
67
+ }, {
68
+ name: ElementName.ModifiedOn
69
+ }],
70
+ bottomMetadata: [{
71
+ name: ElementName.Priority
72
+ }, {
73
+ name: ElementName.SubTasksProgress
74
+ }]
63
75
  };
64
76
  default:
65
77
  return {
@@ -1,11 +1,10 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
3
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
4
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
5
  import React from 'react';
8
6
  import Action from '../index';
7
+ import { downloadUrl as download } from '../../../../../../utils';
9
8
  var DownloadAction = function DownloadAction(props) {
10
9
  var appearance = props.appearance,
11
10
  asDropDownItem = props.asDropDownItem,
@@ -16,9 +15,7 @@ var DownloadAction = function DownloadAction(props) {
16
15
  if (downloadUrl && url) {
17
16
  var action = _objectSpread(_objectSpread({}, props), {}, {
18
17
  onClick: function onClick() {
19
- downloadFunction({
20
- url: downloadUrl
21
- });
18
+ download(downloadUrl);
22
19
  if (_onClick) {
23
20
  _onClick();
24
21
  }
@@ -33,46 +30,4 @@ var DownloadAction = function DownloadAction(props) {
33
30
  return null;
34
31
  }
35
32
  };
36
- function downloadFunction(_x) {
37
- return _downloadFunction.apply(this, arguments);
38
- }
39
- function _downloadFunction() {
40
- _downloadFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
41
- var url, isIE11, isSafari, iframeName, link, iframe;
42
- return _regeneratorRuntime.wrap(function _callee$(_context) {
43
- while (1) switch (_context.prev = _context.next) {
44
- case 0:
45
- url = _ref.url;
46
- if (url) {
47
- _context.next = 3;
48
- break;
49
- }
50
- return _context.abrupt("return");
51
- case 3:
52
- isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
53
- isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
54
- iframeName = 'media-download-iframe';
55
- link = document.createElement('a');
56
- iframe = document.getElementById(iframeName);
57
- if (!iframe) {
58
- iframe = document.createElement('iframe');
59
- iframe.style.display = 'none';
60
- iframe.id = iframeName;
61
- iframe.name = iframeName;
62
- document.body.appendChild(iframe);
63
- }
64
- link.href = url;
65
- link.download = url;
66
- link.target = isIE11 || isSafari ? '_blank' : iframeName;
67
- document.body.appendChild(link);
68
- link.click();
69
- document.body.removeChild(link);
70
- case 15:
71
- case "end":
72
- return _context.stop();
73
- }
74
- }, _callee);
75
- }));
76
- return _downloadFunction.apply(this, arguments);
77
- }
78
33
  export default DownloadAction;
@@ -137,6 +137,8 @@ var importIconMapper = (_importIconMapper = {}, _defineProperty(_importIconMappe
137
137
  return import( /* webpackChunkName: "glyphProgrammingLanguage" */'@atlaskit/icon/glyph/code');
138
138
  }), _defineProperty(_importIconMapper, IconType.Subscriber, function () {
139
139
  return import( /* webpackChunkName: "glyphSubscriber" */'@atlaskit/icon/glyph/people');
140
+ }), _defineProperty(_importIconMapper, IconType.SubTasksProgress, function () {
141
+ return import( /* webpackChunkName: "glyphSubtask" */'@atlaskit/icon/glyph/subtask');
140
142
  }), _importIconMapper);
141
143
  var getIconImportFn = function getIconImportFn(icon) {
142
144
  return importIconMapper[icon];
@@ -109,7 +109,7 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_elementMappings,
109
109
  }), _defineProperty(_elementMappings, ElementName.SubTasksProgress, {
110
110
  component: Badge,
111
111
  props: {
112
- icon: IconType.CheckItem
112
+ icon: IconType.SubTasksProgress
113
113
  }
114
114
  }), _defineProperty(_elementMappings, ElementName.TargetBranch, {
115
115
  component: Text
@@ -123,7 +123,7 @@ export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata() {
123
123
  subtitle: []
124
124
  },
125
125
  bottomMetadataBlock: {
126
- primary: [ElementName.CommentCount, ElementName.ReactCount, ElementName.ViewCount],
126
+ primary: [ElementName.ReactCount, ElementName.CommentCount, ElementName.ViewCount],
127
127
  secondary: [],
128
128
  subtitle: []
129
129
  }
@@ -193,7 +193,8 @@ export declare enum IconType {
193
193
  PriorityTrivial = "Badge:PriorityTrivial",
194
194
  PriorityUndefined = "Badge:PriorityUndefined",
195
195
  ProgrammingLanguage = "Badge:ProgrammingLanguage",
196
- Subscriber = "Badge:Subscriber"
196
+ Subscriber = "Badge:Subscriber",
197
+ SubTasksProgress = "Badge:SubTask"
197
198
  }
198
199
  /**
199
200
  * Type for Flexible UI's Media element
@@ -21,4 +21,5 @@ export declare const handleOnClick: (handler: Function) => (e: React.BaseSynthet
21
21
  export declare const isIntersectionObserverSupported: () => boolean;
22
22
  export declare const sleep: (ms: number) => Promise<void>;
23
23
  export declare const importWithRetry: <T>(importFn: () => Promise<T>, retries?: number, interval?: number) => Promise<T>;
24
+ export declare const downloadUrl: (url?: string) => Promise<void>;
24
25
  export declare const openUrl: (url?: string) => Promise<void>;
@@ -1,8 +1,4 @@
1
1
  import { ActionProps } from '../components/Action';
2
- export interface DownloadFunctionArg {
3
- url?: string;
4
- }
5
- export declare function downloadFunction({ url }: DownloadFunctionArg): Promise<void>;
6
2
  export declare const DownloadAction: ({ url }: {
7
3
  url?: string | undefined;
8
4
  }) => ActionProps;
@@ -3,6 +3,3 @@ export type DownloadActionProps = ActionProps & {
3
3
  downloadUrl?: string;
4
4
  url: string;
5
5
  };
6
- export interface DownloadFunctionProps {
7
- url?: string;
8
- }
@@ -193,7 +193,8 @@ export declare enum IconType {
193
193
  PriorityTrivial = "Badge:PriorityTrivial",
194
194
  PriorityUndefined = "Badge:PriorityUndefined",
195
195
  ProgrammingLanguage = "Badge:ProgrammingLanguage",
196
- Subscriber = "Badge:Subscriber"
196
+ Subscriber = "Badge:Subscriber",
197
+ SubTasksProgress = "Badge:SubTask"
197
198
  }
198
199
  /**
199
200
  * Type for Flexible UI's Media element
@@ -21,4 +21,5 @@ export declare const handleOnClick: (handler: Function) => (e: React.BaseSynthet
21
21
  export declare const isIntersectionObserverSupported: () => boolean;
22
22
  export declare const sleep: (ms: number) => Promise<void>;
23
23
  export declare const importWithRetry: <T>(importFn: () => Promise<T>, retries?: number, interval?: number) => Promise<T>;
24
+ export declare const downloadUrl: (url?: string) => Promise<void>;
24
25
  export declare const openUrl: (url?: string) => Promise<void>;
@@ -1,8 +1,4 @@
1
1
  import { ActionProps } from '../components/Action';
2
- export interface DownloadFunctionArg {
3
- url?: string;
4
- }
5
- export declare function downloadFunction({ url }: DownloadFunctionArg): Promise<void>;
6
2
  export declare const DownloadAction: ({ url }: {
7
3
  url?: string | undefined;
8
4
  }) => ActionProps;
@@ -3,6 +3,3 @@ export type DownloadActionProps = ActionProps & {
3
3
  downloadUrl?: string;
4
4
  url: string;
5
5
  };
6
- export interface DownloadFunctionProps {
7
- url?: string;
8
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.14.5",
3
+ "version": "26.14.6",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -41,7 +41,6 @@
41
41
  "@atlaskit/linking-types": "^8.2.0",
42
42
  "@atlaskit/logo": "^13.14.0",
43
43
  "@atlaskit/lozenge": "^11.4.0",
44
- "@atlaskit/media-common": "^8.0.0",
45
44
  "@atlaskit/modal-dialog": "^12.6.0",
46
45
  "@atlaskit/outbound-auth-flow-client": "^3.4.0",
47
46
  "@atlaskit/platform-feature-flags": "^0.2.1",