@atlaskit/smart-card 26.18.0 → 26.20.0

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 (92) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/extractors/block/index.js +2 -2
  3. package/dist/cjs/extractors/common/actions/extractActions.js +2 -2
  4. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +2 -2
  5. package/dist/cjs/extractors/common/context/extractAccessContext.js +2 -2
  6. package/dist/cjs/extractors/embed/index.js +2 -2
  7. package/dist/cjs/extractors/flexible/extract-state.js +2 -2
  8. package/dist/cjs/extractors/flexible/icon/index.js +2 -2
  9. package/dist/cjs/extractors/hover/extractMetadata.js +2 -2
  10. package/dist/cjs/messages.js +5 -0
  11. package/dist/cjs/ssr.js +2 -2
  12. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +2 -2
  13. package/dist/cjs/utils/actions/create-status-update-request.js +2 -2
  14. package/dist/cjs/utils/analytics/analytics.js +3 -3
  15. package/dist/cjs/utils/analytics/click.js +2 -2
  16. package/dist/cjs/utils/analytics/index.js +2 -2
  17. package/dist/cjs/utils/jsonld.js +2 -2
  18. package/dist/cjs/view/BlockCard/actions/PreviewAction.js +2 -2
  19. package/dist/cjs/view/BlockCard/components/Frame.js +2 -2
  20. package/dist/cjs/view/BlockCard/components/Thumbnail.js +2 -2
  21. package/dist/cjs/view/BlockCard/index.js +2 -2
  22. package/dist/cjs/view/BlockCard/views/ErroredView.js +2 -2
  23. package/dist/cjs/view/BlockCard/views/NotFoundView.js +2 -2
  24. package/dist/cjs/view/BlockCard/views/UnauthorizedView.js +2 -2
  25. package/dist/cjs/view/BlockCard/views/flexible/utils/index.js +3 -2
  26. package/dist/cjs/view/FlexibleCard/components/actions/action/download-action/index.js +2 -2
  27. package/dist/cjs/view/FlexibleCard/components/actions/action/preview-action/index.js +2 -2
  28. package/dist/cjs/view/FlexibleCard/components/actions/action/view-action/index.js +2 -2
  29. package/dist/cjs/view/FlexibleCard/components/actions/utils.js +2 -2
  30. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/action-group-item/index.js +2 -2
  31. package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +16 -4
  32. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +2 -2
  33. package/dist/cjs/view/FlexibleCard/components/elements/utils.js +7 -3
  34. package/dist/cjs/view/FlexibleCard/components/utils.js +1 -1
  35. package/dist/cjs/view/HoverCard/styled.js +2 -2
  36. package/dist/cjs/view/HoverCard/utils.js +3 -3
  37. package/dist/cjs/view/LinkUrl/index.js +1 -1
  38. package/dist/es2019/messages.js +5 -0
  39. package/dist/es2019/utils/analytics/analytics.js +1 -1
  40. package/dist/es2019/view/BlockCard/views/flexible/utils/index.js +4 -3
  41. package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +13 -2
  42. package/dist/es2019/view/FlexibleCard/components/elements/utils.js +7 -3
  43. package/dist/es2019/view/FlexibleCard/components/utils.js +1 -1
  44. package/dist/es2019/view/HoverCard/utils.js +1 -1
  45. package/dist/es2019/view/LinkUrl/index.js +1 -1
  46. package/dist/esm/extractors/block/index.js +2 -2
  47. package/dist/esm/extractors/common/actions/extractActions.js +2 -2
  48. package/dist/esm/extractors/common/actions/extractPreviewAction.js +2 -2
  49. package/dist/esm/extractors/common/context/extractAccessContext.js +2 -2
  50. package/dist/esm/extractors/embed/index.js +2 -2
  51. package/dist/esm/extractors/flexible/extract-state.js +2 -2
  52. package/dist/esm/extractors/flexible/icon/index.js +2 -2
  53. package/dist/esm/extractors/hover/extractMetadata.js +2 -2
  54. package/dist/esm/messages.js +5 -0
  55. package/dist/esm/ssr.js +2 -2
  56. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +2 -2
  57. package/dist/esm/utils/actions/create-status-update-request.js +2 -2
  58. package/dist/esm/utils/analytics/analytics.js +3 -3
  59. package/dist/esm/utils/analytics/click.js +2 -2
  60. package/dist/esm/utils/analytics/index.js +2 -2
  61. package/dist/esm/utils/jsonld.js +2 -2
  62. package/dist/esm/view/BlockCard/actions/PreviewAction.js +2 -2
  63. package/dist/esm/view/BlockCard/components/Frame.js +2 -2
  64. package/dist/esm/view/BlockCard/components/Thumbnail.js +2 -2
  65. package/dist/esm/view/BlockCard/index.js +2 -2
  66. package/dist/esm/view/BlockCard/views/ErroredView.js +2 -2
  67. package/dist/esm/view/BlockCard/views/NotFoundView.js +2 -2
  68. package/dist/esm/view/BlockCard/views/UnauthorizedView.js +2 -2
  69. package/dist/esm/view/BlockCard/views/flexible/utils/index.js +4 -3
  70. package/dist/esm/view/FlexibleCard/components/actions/action/download-action/index.js +2 -2
  71. package/dist/esm/view/FlexibleCard/components/actions/action/preview-action/index.js +2 -2
  72. package/dist/esm/view/FlexibleCard/components/actions/action/view-action/index.js +2 -2
  73. package/dist/esm/view/FlexibleCard/components/actions/utils.js +2 -2
  74. package/dist/esm/view/FlexibleCard/components/blocks/action-group/action-group-item/index.js +2 -2
  75. package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +16 -4
  76. package/dist/esm/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +2 -2
  77. package/dist/esm/view/FlexibleCard/components/elements/utils.js +7 -3
  78. package/dist/esm/view/FlexibleCard/components/utils.js +1 -1
  79. package/dist/esm/view/HoverCard/styled.js +2 -2
  80. package/dist/esm/view/HoverCard/utils.js +3 -3
  81. package/dist/esm/view/LinkUrl/index.js +1 -1
  82. package/dist/types/messages.d.ts +1 -1
  83. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +4 -0
  84. package/dist/types/view/FlexibleCard/components/elements/avatar-group/types.d.ts +4 -0
  85. package/dist/types/view/FlexibleCard/components/utils.d.ts +1 -1
  86. package/dist/types-ts4.5/messages.d.ts +1 -1
  87. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +4 -0
  88. package/dist/types-ts4.5/view/FlexibleCard/components/elements/avatar-group/types.d.ts +4 -0
  89. package/dist/types-ts4.5/view/FlexibleCard/components/utils.d.ts +1 -1
  90. package/package.json +5 -5
  91. package/report.api.md +1 -0
  92. package/tmp/api-report-tmp.d.ts +1 -0
@@ -1,5 +1,5 @@
1
1
  import { ElementName } from '../../../../../constants';
2
- import { extractOwnedBy, extractAssignedTo } from '../../../../../extractors/flexible/utils';
2
+ import { extractOwnedBy } from '../../../../../extractors/flexible/utils';
3
3
  import { getExtensionKey } from '../../../../../state/helpers';
4
4
  var baseTopMetadata = [{
5
5
  name: ElementName.ModifiedOn
@@ -28,7 +28,7 @@ var baseBottomMetaData = [{
28
28
  name: ElementName.ChecklistProgress
29
29
  }];
30
30
  export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(cardDetails) {
31
- var _getExtensionKey;
31
+ var _getExtensionKey, _data$Type$includes, _data$Type;
32
32
  var extensionKey = (_getExtensionKey = getExtensionKey(cardDetails)) !== null && _getExtensionKey !== void 0 ? _getExtensionKey : '';
33
33
  var data = cardDetails === null || cardDetails === void 0 ? void 0 : cardDetails.data;
34
34
  var defaultTitleMetadata = [{
@@ -52,9 +52,10 @@ export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(card
52
52
  bottomMetadata: defaultBottomMetadata
53
53
  };
54
54
  case 'jira-object-provider':
55
+ var isJiraTask = (_data$Type$includes = (_data$Type = data['@type']) === null || _data$Type === void 0 ? void 0 : _data$Type.includes('atlassian:Task')) !== null && _data$Type$includes !== void 0 ? _data$Type$includes : false;
55
56
  return {
56
57
  titleMetadata: defaultTitleMetadata,
57
- topMetadata: extractAssignedTo(data) ? [{
58
+ topMetadata: isJiraTask ? [{
58
59
  name: ElementName.AssignedToGroup
59
60
  }, {
60
61
  name: ElementName.AssignedTo
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
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; }
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; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  import React from 'react';
6
6
  import Action from '../index';
7
7
  import { downloadUrl as download } from '../../../../../../utils';
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
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; }
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; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  import React from 'react';
6
6
  import Action from '../index';
7
7
  import { useFlexibleUiAnalyticsContext } from '../../../../../../state/flexible-ui-context';
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
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; }
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; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  import React from 'react';
6
6
  import Action from '../index';
7
7
  import { openUrl } from '../../../../../../utils';
@@ -2,8 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _typeof from "@babel/runtime/helpers/typeof";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  var _actionMappings;
5
- 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
- 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; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  import { ActionName } from '../../../../constants';
8
8
  import { FlexibleUiContext } from '../../../../state/flexible-ui-context';
9
9
  import React, { useContext } from 'react';
@@ -2,8 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["name", "hideContent", "hideIcon", "onClick"];
5
- 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
- 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; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  /** @jsx jsx */
8
8
  import { jsx } from '@emotion/react';
9
9
  import React, { useCallback } from 'react';
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
3
  var _templateObject, _templateObject2;
4
- 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; }
5
- 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; }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  /** @jsx jsx */
7
7
  import React, { useMemo } from 'react';
8
8
  import { css, jsx } from '@emotion/react';
@@ -58,9 +58,21 @@ var AvatarGroup = function AvatarGroup(_ref) {
58
58
  _ref$testId = _ref.testId,
59
59
  testId = _ref$testId === void 0 ? 'smart-element-avatar-group' : _ref$testId,
60
60
  _ref$showNamePrefix = _ref.showNamePrefix,
61
- showNamePrefix = _ref$showNamePrefix === void 0 ? false : _ref$showNamePrefix;
61
+ showNamePrefix = _ref$showNamePrefix === void 0 ? false : _ref$showNamePrefix,
62
+ _ref$showFallbackAvat = _ref.showFallbackAvatar,
63
+ showFallbackAvatar = _ref$showFallbackAvat === void 0 ? true : _ref$showFallbackAvat;
62
64
  var intl = useIntl();
63
65
  var data = useMemo(function () {
66
+ if (!items.length && showFallbackAvatar) {
67
+ switch (name) {
68
+ case ElementName.AssignedToGroup:
69
+ return [{
70
+ name: getFormattedMessageAsString(intl, messages.unassigned)
71
+ }];
72
+ default:
73
+ return [];
74
+ }
75
+ }
64
76
  if (name && showNamePrefix) {
65
77
  return items.map(function (person) {
66
78
  return _objectSpread(_objectSpread({}, person), {}, {
@@ -69,7 +81,7 @@ var AvatarGroup = function AvatarGroup(_ref) {
69
81
  });
70
82
  }
71
83
  return items;
72
- }, [name, items, showNamePrefix, intl]);
84
+ }, [name, items, showNamePrefix, showFallbackAvatar, intl]);
73
85
  if (!data.length) {
74
86
  return null;
75
87
  }
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- 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; }
3
- 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; }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  /** @jsx jsx */
5
5
  import { jsx } from '@emotion/react';
6
6
  import { Fragment, useMemo, useCallback } from 'react';
@@ -137,11 +137,13 @@ var getData = function getData(elementName, contextKey, context) {
137
137
  }
138
138
  var data = context[contextKey];
139
139
  switch (elementName) {
140
- case ElementName.AuthorGroup:
141
140
  case ElementName.AssignedToGroup:
141
+ case ElementName.AuthorGroup:
142
142
  case ElementName.CollaboratorGroup:
143
143
  case ElementName.OwnedByGroup:
144
- return toAvatarGroupProps(data);
144
+ var AvatarGroupsWithFallback = [ElementName.AssignedToGroup];
145
+ var showFallbackAvatar = AvatarGroupsWithFallback.includes(elementName);
146
+ return toAvatarGroupProps(data, showFallbackAvatar);
145
147
  case ElementName.AttachmentCount:
146
148
  case ElementName.ChecklistProgress:
147
149
  case ElementName.CommentCount:
@@ -183,9 +185,11 @@ var getData = function getData(elementName, contextKey, context) {
183
185
  return _typeof(data) === 'object' ? data : undefined;
184
186
  }
185
187
  };
186
- var toAvatarGroupProps = function toAvatarGroupProps(items) {
188
+ var toAvatarGroupProps = function toAvatarGroupProps(items, showFallbackAvatar) {
187
189
  return items ? {
188
190
  items: items
191
+ } : showFallbackAvatar ? {
192
+ items: []
189
193
  } : undefined;
190
194
  };
191
195
  var toBadgeProps = function toBadgeProps(label) {
@@ -22,7 +22,7 @@ export var getFormattedMessageAsString = function getFormattedMessageAsString(in
22
22
  var formatMessage = intl.formatMessage;
23
23
  return message ? formatMessage(message, {
24
24
  context: context
25
- }) : null;
25
+ }) : '';
26
26
  };
27
27
  var getIconDimensionStyles = function getIconDimensionStyles(value) {
28
28
  return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: ", ";\n min-height: ", ";\n max-height: ", ";\n width: ", ";\n min-width: ", ";\n max-width: ", ";\n"])), value, value, value, value, value, value);
@@ -1,8 +1,8 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4
- 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; }
5
- 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; }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  import { css } from '@emotion/react';
7
7
  import { loadingPlaceholderClassName } from '../../index';
8
8
  import { SmartLinkSize, SmartLinkTheme } from '../../constants';
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- 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; }
3
- 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; }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  import { ElementName } from '../../constants';
5
5
  import { extractType } from '@atlaskit/link-extractors';
6
6
  import { extractOwnedBy } from '../../extractors/flexible/utils';
@@ -109,7 +109,7 @@ export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata() {
109
109
  }
110
110
  return _objectSpread(_objectSpread({}, defaultMetadata), {}, {
111
111
  topMetadataBlock: {
112
- primary: [ElementName.ModifiedOn, ElementName.CreatedBy],
112
+ primary: [ElementName.AuthorGroup, ElementName.ModifiedOn],
113
113
  secondary: [],
114
114
  subtitle: []
115
115
  }
@@ -11,7 +11,7 @@ import LinkWarningModal from './LinkWarningModal';
11
11
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
12
12
  var PACKAGE_DATA = {
13
13
  packageName: "@atlaskit/smart-card",
14
- packageVersion: "26.18.0",
14
+ packageVersion: "26.20.0",
15
15
  componentName: 'linkUrl'
16
16
  };
17
17
  var Link = withLinkClickedEvent('a');
@@ -1,6 +1,6 @@
1
1
  import { MessageDescriptor } from 'react-intl-next';
2
2
  export type RequestAccessMessageKey = 'click_to_join' | 'click_to_join_description' | 'forbidden_description' | 'request_access' | 'request_access_description' | 'request_access_pending' | 'request_access_pending_description' | 'request_denied_description';
3
- export type MessageKey = 'assigned_to' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'could_not_load_link' | 'download' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
3
+ export type MessageKey = 'assigned_to' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'could_not_load_link' | 'download' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -208,6 +208,10 @@ export type AssignedToGroup = {
208
208
  * Shows a name prefix Assigned To in the Avatar tooltip.
209
209
  */
210
210
  showNamePrefix?: boolean;
211
+ /**
212
+ * Shows a default unassigned fallback avatar when no person is assigned.
213
+ */
214
+ showFallbackAvatar?: boolean;
211
215
  };
212
216
  /**
213
217
  * Represents the props available for an ChecklistProgress element.
@@ -22,4 +22,8 @@ export type AvatarGroupProps = ElementProps & {
22
22
  * Shows a name prefix in the Avatar tooltip (Created by, Assigned To, Owned by)
23
23
  */
24
24
  showNamePrefix?: boolean;
25
+ /**
26
+ * Shows a default fallback avatar if no persons in the AvatarGroup.
27
+ */
28
+ showFallbackAvatar?: boolean;
25
29
  };
@@ -8,7 +8,7 @@ import { PreviewActionData } from '../../../state/flexible-ui-context/types';
8
8
  import { IntlShape, MessageDescriptor } from 'react-intl-next';
9
9
  export declare const sizeToButtonSpacing: Record<SmartLinkSize, Spacing>;
10
10
  export declare const getFormattedMessage: (message?: MessageProps) => JSX.Element | undefined;
11
- export declare const getFormattedMessageAsString: (intl: IntlShape, message: MessageDescriptor, context?: string) => string | null;
11
+ export declare const getFormattedMessageAsString: (intl: IntlShape, message: MessageDescriptor, context?: string) => string;
12
12
  export declare const getIconSizeStyles: (width: string) => SerializedStyles;
13
13
  export declare const getIconWidth: (size?: SmartLinkSize) => string;
14
14
  export declare const getLinkLineHeight: (size: SmartLinkSize) => string;
@@ -1,6 +1,6 @@
1
1
  import { MessageDescriptor } from 'react-intl-next';
2
2
  export type RequestAccessMessageKey = 'click_to_join' | 'click_to_join_description' | 'forbidden_description' | 'request_access' | 'request_access_description' | 'request_access_pending' | 'request_access_pending_description' | 'request_denied_description';
3
- export type MessageKey = 'assigned_to' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'could_not_load_link' | 'download' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
3
+ export type MessageKey = 'assigned_to' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'could_not_load_link' | 'download' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -208,6 +208,10 @@ export type AssignedToGroup = {
208
208
  * Shows a name prefix Assigned To in the Avatar tooltip.
209
209
  */
210
210
  showNamePrefix?: boolean;
211
+ /**
212
+ * Shows a default unassigned fallback avatar when no person is assigned.
213
+ */
214
+ showFallbackAvatar?: boolean;
211
215
  };
212
216
  /**
213
217
  * Represents the props available for an ChecklistProgress element.
@@ -22,4 +22,8 @@ export type AvatarGroupProps = ElementProps & {
22
22
  * Shows a name prefix in the Avatar tooltip (Created by, Assigned To, Owned by)
23
23
  */
24
24
  showNamePrefix?: boolean;
25
+ /**
26
+ * Shows a default fallback avatar if no persons in the AvatarGroup.
27
+ */
28
+ showFallbackAvatar?: boolean;
25
29
  };
@@ -8,7 +8,7 @@ import { PreviewActionData } from '../../../state/flexible-ui-context/types';
8
8
  import { IntlShape, MessageDescriptor } from 'react-intl-next';
9
9
  export declare const sizeToButtonSpacing: Record<SmartLinkSize, Spacing>;
10
10
  export declare const getFormattedMessage: (message?: MessageProps) => JSX.Element | undefined;
11
- export declare const getFormattedMessageAsString: (intl: IntlShape, message: MessageDescriptor, context?: string) => string | null;
11
+ export declare const getFormattedMessageAsString: (intl: IntlShape, message: MessageDescriptor, context?: string) => string;
12
12
  export declare const getIconSizeStyles: (width: string) => SerializedStyles;
13
13
  export declare const getIconWidth: (size?: SmartLinkSize) => string;
14
14
  export declare const getLinkLineHeight: (size: SmartLinkSize) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.18.0",
3
+ "version": "26.20.0",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -28,7 +28,7 @@
28
28
  "@atlaskit/avatar-group": "^9.4.0",
29
29
  "@atlaskit/badge": "^15.1.0",
30
30
  "@atlaskit/button": "^16.9.0",
31
- "@atlaskit/dropdown-menu": "^11.11.0",
31
+ "@atlaskit/dropdown-menu": "^11.12.0",
32
32
  "@atlaskit/frontend-utilities": "^2.7.0",
33
33
  "@atlaskit/icon": "^21.12.0",
34
34
  "@atlaskit/icon-file-type": "^6.4.0",
@@ -38,7 +38,7 @@
38
38
  "@atlaskit/link-analytics": "^8.2.0",
39
39
  "@atlaskit/link-client-extension": "^1.6.0",
40
40
  "@atlaskit/link-extractors": "^1.1.0",
41
- "@atlaskit/linking-common": "^4.5.0",
41
+ "@atlaskit/linking-common": "^4.6.0",
42
42
  "@atlaskit/linking-types": "^8.2.0",
43
43
  "@atlaskit/logo": "^13.14.0",
44
44
  "@atlaskit/lozenge": "^11.4.0",
@@ -47,8 +47,8 @@
47
47
  "@atlaskit/platform-feature-flags": "^0.2.1",
48
48
  "@atlaskit/popup": "^1.9.0",
49
49
  "@atlaskit/spinner": "^15.5.0",
50
- "@atlaskit/theme": "^12.5.0",
51
- "@atlaskit/tokens": "^1.17.0",
50
+ "@atlaskit/theme": "^12.6.0",
51
+ "@atlaskit/tokens": "^1.18.0",
52
52
  "@atlaskit/tooltip": "^17.8.0",
53
53
  "@atlaskit/ufo": "^0.2.0",
54
54
  "@babel/runtime": "^7.0.0",
package/report.api.md CHANGED
@@ -157,6 +157,7 @@ type AssignedTo = {
157
157
  type AssignedToGroup = {
158
158
  name: ElementName.AssignedToGroup;
159
159
  showNamePrefix?: boolean;
160
+ showFallbackAvatar?: boolean;
160
161
  };
161
162
 
162
163
  // @public
@@ -110,6 +110,7 @@ type AssignedTo = {
110
110
  type AssignedToGroup = {
111
111
  name: ElementName.AssignedToGroup;
112
112
  showNamePrefix?: boolean;
113
+ showFallbackAvatar?: boolean;
113
114
  };
114
115
 
115
116
  // @public