@atlaskit/smart-card 26.39.0 → 26.41.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 (90) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/messages.js +20 -0
  3. package/dist/cjs/state/hooks/use-related-urls/index.js +37 -0
  4. package/dist/cjs/utils/analytics/analytics.js +1 -1
  5. package/dist/cjs/view/BlockCard/index.js +4 -1
  6. package/dist/cjs/view/BlockCard/views/flexible/FlexibleNotFoundView.js +34 -11
  7. package/dist/cjs/view/BlockCard/views/flexible/FlexibleNotFoundViewOld.js +48 -0
  8. package/dist/cjs/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  9. package/dist/cjs/view/FlexibleCard/components/blocks/index.js +8 -1
  10. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/errored/index.js +25 -0
  11. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/errored/types.js +5 -0
  12. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/index.js +99 -0
  13. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.js +30 -0
  14. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +78 -0
  15. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +43 -0
  16. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.js +5 -0
  17. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.js +5 -0
  18. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.js +5 -0
  19. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.js +23 -0
  20. package/dist/cjs/view/HoverCard/components/views/resolved/index.js +5 -1
  21. package/dist/cjs/view/LinkUrl/index.js +1 -1
  22. package/dist/es2019/messages.js +20 -0
  23. package/dist/es2019/state/hooks/use-related-urls/index.js +13 -0
  24. package/dist/es2019/utils/analytics/analytics.js +1 -1
  25. package/dist/es2019/view/BlockCard/index.js +4 -1
  26. package/dist/es2019/view/BlockCard/views/flexible/FlexibleNotFoundView.js +36 -16
  27. package/dist/es2019/view/BlockCard/views/flexible/FlexibleNotFoundViewOld.js +38 -0
  28. package/dist/es2019/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  29. package/dist/es2019/view/FlexibleCard/components/blocks/index.js +2 -1
  30. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/errored/index.js +15 -0
  31. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/errored/types.js +1 -0
  32. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/index.js +54 -0
  33. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.js +24 -0
  34. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +61 -0
  35. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +32 -0
  36. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.js +1 -0
  37. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.js +1 -0
  38. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.js +1 -0
  39. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.js +13 -0
  40. package/dist/es2019/view/HoverCard/components/views/resolved/index.js +6 -2
  41. package/dist/es2019/view/LinkUrl/index.js +1 -1
  42. package/dist/esm/messages.js +20 -0
  43. package/dist/esm/state/hooks/use-related-urls/index.js +30 -0
  44. package/dist/esm/utils/analytics/analytics.js +1 -1
  45. package/dist/esm/view/BlockCard/index.js +4 -1
  46. package/dist/esm/view/BlockCard/views/flexible/FlexibleNotFoundView.js +31 -11
  47. package/dist/esm/view/BlockCard/views/flexible/FlexibleNotFoundViewOld.js +42 -0
  48. package/dist/esm/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  49. package/dist/esm/view/FlexibleCard/components/blocks/index.js +2 -1
  50. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/errored/index.js +18 -0
  51. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/errored/types.js +1 -0
  52. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/index.js +89 -0
  53. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.js +23 -0
  54. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +68 -0
  55. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +33 -0
  56. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.js +1 -0
  57. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.js +1 -0
  58. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.js +1 -0
  59. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.js +16 -0
  60. package/dist/esm/view/HoverCard/components/views/resolved/index.js +6 -2
  61. package/dist/esm/view/LinkUrl/index.js +1 -1
  62. package/dist/types/messages.d.ts +1 -1
  63. package/dist/types/state/hooks/use-related-urls/index.d.ts +6 -0
  64. package/dist/types/view/BlockCard/views/flexible/FlexibleNotFoundViewOld.d.ts +8 -0
  65. package/dist/types/view/FlexibleCard/components/blocks/index.d.ts +1 -0
  66. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/errored/index.d.ts +3 -0
  67. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/errored/types.d.ts +4 -0
  68. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/index.d.ts +13 -0
  69. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.d.ts +3 -0
  70. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.d.ts +4 -0
  71. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.d.ts +4 -0
  72. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.d.ts +7 -0
  73. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.d.ts +10 -0
  74. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.d.ts +8 -0
  75. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.d.ts +5 -0
  76. package/dist/types-ts4.5/messages.d.ts +1 -1
  77. package/dist/types-ts4.5/state/hooks/use-related-urls/index.d.ts +6 -0
  78. package/dist/types-ts4.5/view/BlockCard/views/flexible/FlexibleNotFoundViewOld.d.ts +8 -0
  79. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/index.d.ts +1 -0
  80. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/errored/index.d.ts +3 -0
  81. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/errored/types.d.ts +4 -0
  82. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/index.d.ts +13 -0
  83. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.d.ts +3 -0
  84. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.d.ts +4 -0
  85. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.d.ts +4 -0
  86. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.d.ts +7 -0
  87. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.d.ts +10 -0
  88. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.d.ts +8 -0
  89. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.d.ts +5 -0
  90. package/package.json +7 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.41.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#41654](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41654) [`dddfb1500d0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dddfb1500d0) - [ux] expermintal hover chard changes to show related urls section behind feature flag
8
+
9
+ ## 26.40.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#42280](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42280) [`df99143a991`](https://bitbucket.org/atlassian/atlassian-frontend/commits/df99143a991) - [ux] Update block card not found view to improve cross join (behind feature flag)
14
+
3
15
  ## 26.39.0
4
16
 
5
17
  ### Minor Changes
@@ -542,5 +542,25 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
542
542
  id: 'fabric.linking.forbidden_description_crossjoin',
543
543
  defaultMessage: 'Contact your admin to request access to {hostname}.',
544
544
  description: 'Informs the user that they must contact the site administrator for access.'
545
+ },
546
+ related_work_items_not_found: {
547
+ id: 'fabric.linking.related_work_items_not_found',
548
+ defaultMessage: 'This link is not mentioned anywhere else.',
549
+ description: 'Informs the user that there are no related resources for a given url'
550
+ },
551
+ last_mentioned_in: {
552
+ id: 'fabric.linking.last_mentioned_in',
553
+ defaultMessage: 'Last mentioned in',
554
+ description: 'Informs the user about where the resource was last mentioned in'
555
+ },
556
+ related: {
557
+ id: 'fabric.linking.related',
558
+ defaultMessage: 'Related',
559
+ description: 'Informs the user about related resources'
560
+ },
561
+ generic_error_message: {
562
+ id: 'fabric.linking.generic_error_message',
563
+ defaultMessage: 'An error occurred',
564
+ description: 'A generic error message to the user'
545
565
  }
546
566
  });
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _react = require("react");
11
+ var _linkClientExtension = require("@atlaskit/link-client-extension");
12
+ var _linkProvider = require("@atlaskit/link-provider");
13
+ var useRelatedUrls = function useRelatedUrls() {
14
+ var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
15
+ connections = _useSmartLinkContext.connections;
16
+ var clientExt = (0, _linkClientExtension.useSmartLinkClientExtension)(connections.client);
17
+ return (0, _react.useCallback)( /*#__PURE__*/function () {
18
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url) {
19
+ return _regenerator.default.wrap(function _callee$(_context) {
20
+ while (1) switch (_context.prev = _context.next) {
21
+ case 0:
22
+ _context.next = 2;
23
+ return clientExt.relatedUrls(url);
24
+ case 2:
25
+ return _context.abrupt("return", _context.sent);
26
+ case 3:
27
+ case "end":
28
+ return _context.stop();
29
+ }
30
+ }, _callee);
31
+ }));
32
+ return function (_x) {
33
+ return _ref.apply(this, arguments);
34
+ };
35
+ }(), [clientExt]);
36
+ };
37
+ var _default = exports.default = useRelatedUrls;
@@ -22,7 +22,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
22
22
  var context = exports.context = {
23
23
  componentName: 'smart-cards',
24
24
  packageName: "@atlaskit/smart-card",
25
- packageVersion: "26.39.0"
25
+ packageVersion: "26.41.0"
26
26
  };
27
27
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
28
28
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -76,6 +76,7 @@ var _ErroredView = require("./views/ErroredView");
76
76
  var _FlexibleResolvedView = _interopRequireDefault(require("./views/flexible/FlexibleResolvedView"));
77
77
  var _FlexibleUnauthorisedView = _interopRequireDefault(require("./views/flexible/FlexibleUnauthorisedView"));
78
78
  var _FlexibleNotFoundView = _interopRequireDefault(require("./views/flexible/FlexibleNotFoundView"));
79
+ var _FlexibleNotFoundViewOld = _interopRequireDefault(require("./views/flexible/FlexibleNotFoundViewOld"));
79
80
  var _FlexibleForbiddenView = _interopRequireDefault(require("./views/flexible/FlexibleForbiddenView"));
80
81
  var _FlexibleForbiddenViewOld = _interopRequireDefault(require("./views/flexible/FlexibleForbiddenViewOld"));
81
82
  var _FlexibleErroredView = _interopRequireDefault(require("./views/flexible/FlexibleErroredView"));
@@ -150,7 +151,9 @@ var BlockCard = exports.BlockCard = function BlockCard(_ref) {
150
151
  onAuthorize: handleAuthorize
151
152
  }));
152
153
  case 'not_found':
153
- return (0, _react.jsx)(_FlexibleNotFoundView.default, (0, _extends2.default)({}, flexibleBlockCardProps, {
154
+ return (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.cross-join') ? (0, _react.jsx)(_FlexibleNotFoundView.default, (0, _extends2.default)({}, flexibleBlockCardProps, {
155
+ onAuthorize: handleAuthorize
156
+ })) : (0, _react.jsx)(_FlexibleNotFoundViewOld.default, (0, _extends2.default)({}, flexibleBlockCardProps, {
154
157
  onAuthorize: handleAuthorize
155
158
  }));
156
159
  case 'fallback':
@@ -1,20 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _messages = require("../../../../messages");
12
- var _warning = _interopRequireDefault(require("@atlaskit/icon/glyph/warning"));
11
+ var _lock = _interopRequireDefault(require("@atlaskit/icon/glyph/lock"));
12
+ var _linkExtractors = require("@atlaskit/link-extractors");
13
13
  var _colors = require("@atlaskit/theme/colors");
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _reactIntlNext = require("react-intl-next");
16
+ var _messages = require("../../../../messages");
14
17
  var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
15
18
  var _unresolvedView = _interopRequireDefault(require("./unresolved-view"));
16
19
  var _withFlexibleUIBlockCardStyle = require("./utils/withFlexibleUIBlockCardStyle");
17
20
  var _excluded = ["testId"];
21
+ 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); }
22
+ 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; }
18
23
  /**
19
24
  * This view represents a Block Card with a 'Not_Found' status.
20
25
  *
@@ -22,20 +27,38 @@ var _excluded = ["testId"];
22
27
  * @see FlexibleCardProps
23
28
  */
24
29
  var FlexibleNotFoundView = function FlexibleNotFoundView(_ref) {
30
+ var _cardState$details2;
25
31
  var _ref$testId = _ref.testId,
26
32
  testId = _ref$testId === void 0 ? 'smart-block-not-found-view' : _ref$testId,
27
33
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
+ var intl = (0, _reactIntlNext.useIntl)();
35
+ var cardState = props.cardState;
36
+ var product = (0, _react.useMemo)(function () {
37
+ var _cardState$details, _provider$text;
38
+ var provider = (0, _linkExtractors.extractProvider)(cardState === null || cardState === void 0 || (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data);
39
+ return (_provider$text = provider === null || provider === void 0 ? void 0 : provider.text) !== null && _provider$text !== void 0 ? _provider$text : '';
40
+ }, [cardState === null || cardState === void 0 || (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.data]);
41
+ var title = (0, _react.useMemo)(function () {
42
+ return intl.formatMessage(_messages.messages.not_found_title_crossjoin, {
43
+ product: product
44
+ });
45
+ }, [intl, product]);
46
+ var description = (0, _react.useMemo)(function () {
47
+ return {
48
+ descriptor: _messages.messages.not_found_description_crossjoin
49
+ };
50
+ }, []);
28
51
  return /*#__PURE__*/_react.default.createElement(_unresolvedView.default, (0, _extends2.default)({}, props, {
29
- testId: testId
30
- }), /*#__PURE__*/_react.default.createElement(_warning.default, {
31
- label: "not-found-warning-icon",
52
+ showPreview: true,
53
+ testId: testId,
54
+ title: title
55
+ }), /*#__PURE__*/_react.default.createElement(_lock.default, {
56
+ label: "not-found-lock-icon",
32
57
  size: "small",
33
- primaryColor: "var(--ds-icon-warning, ".concat(_colors.R300, ")"),
34
- testId: "".concat(testId, "-warning-icon")
58
+ primaryColor: "var(--ds-icon-danger, ".concat(_colors.R300, ")"),
59
+ testId: "".concat(testId, "-lock-icon")
35
60
  }), /*#__PURE__*/_react.default.createElement(_text.default, {
36
- message: {
37
- descriptor: _messages.messages.not_found_description
38
- },
61
+ message: description,
39
62
  testId: "".concat(testId, "-message")
40
63
  }));
41
64
  };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _messages = require("../../../../messages");
12
+ var _warning = _interopRequireDefault(require("@atlaskit/icon/glyph/warning"));
13
+ var _colors = require("@atlaskit/theme/colors");
14
+ var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
15
+ var _unresolvedView = _interopRequireDefault(require("./unresolved-view"));
16
+ var _withFlexibleUIBlockCardStyle = require("./utils/withFlexibleUIBlockCardStyle");
17
+ var _excluded = ["testId"];
18
+ /**
19
+ * This view represents a Block Card with a 'Not_Found' status.
20
+ *
21
+ * @see SmartLinkStatus
22
+ * @see FlexibleCardProps
23
+ */
24
+ var FlexibleNotFoundViewOld = function FlexibleNotFoundViewOld(_ref) {
25
+ var _ref$testId = _ref.testId,
26
+ testId = _ref$testId === void 0 ? 'smart-block-not-found-view' : _ref$testId,
27
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
28
+ return /*#__PURE__*/_react.default.createElement(_unresolvedView.default, (0, _extends2.default)({}, props, {
29
+ testId: testId
30
+ }), /*#__PURE__*/_react.default.createElement(_warning.default, {
31
+ label: "not-found-warning-icon",
32
+ size: "small",
33
+ primaryColor: "var(--ds-icon-warning, ".concat(_colors.R300, ")"),
34
+ testId: "".concat(testId, "-warning-icon")
35
+ }), /*#__PURE__*/_react.default.createElement(_text.default, {
36
+ message: {
37
+ descriptor: _messages.messages.not_found_description
38
+ },
39
+ testId: "".concat(testId, "-message")
40
+ }));
41
+ };
42
+
43
+ /**
44
+ * @private
45
+ * @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
46
+ * @deprecated Replaced by FlexibleNotFoundView
47
+ */
48
+ var _default = exports.default = (0, _withFlexibleUIBlockCardStyle.withFlexibleUIBlockCardStyle)(FlexibleNotFoundViewOld);
@@ -32,6 +32,7 @@ var UnresolvedView = function UnresolvedView(_ref) {
32
32
  ui: _utils.FlexibleCardUiOptions,
33
33
  url: url
34
34
  }, /*#__PURE__*/_react.default.createElement(_blocks.TitleBlock, (0, _extends2.default)({}, (0, _utils.getTitleBlockOptions)(), {
35
+ hideIcon: !!title,
35
36
  text: title
36
37
  })), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, children), showPreview && /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, _utils.PreviewBlockOptions), /*#__PURE__*/_react.default.createElement(_blocks.InternalFooterBlock, (0, _extends2.default)({}, (0, _utils.getFooterBlockOptions)(), {
37
38
  actions: actions,
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "PreviewBlock", {
34
34
  return _previewBlock.default;
35
35
  }
36
36
  });
37
+ Object.defineProperty(exports, "RelatedUrlsBlock", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _relatedUrlsBlock.default;
41
+ }
42
+ });
37
43
  Object.defineProperty(exports, "SnippetBlock", {
38
44
  enumerable: true,
39
45
  get: function get() {
@@ -52,4 +58,5 @@ var _previewBlock = _interopRequireDefault(require("./preview-block"));
52
58
  var _snippetBlock = _interopRequireDefault(require("./snippet-block"));
53
59
  var _titleBlock = _interopRequireDefault(require("./title-block"));
54
60
  var _block = _interopRequireDefault(require("./block"));
55
- var _resolved = _interopRequireDefault(require("./footer-block/resolved"));
61
+ var _resolved = _interopRequireDefault(require("./footer-block/resolved"));
62
+ var _relatedUrlsBlock = _interopRequireDefault(require("./related-urls-block"));
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RelatedUrlsBlockErroredView = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _messages = require("../../../../../../messages");
12
+ var _text = _interopRequireDefault(require("../../../elements/text"));
13
+ var _block = _interopRequireDefault(require("../../block"));
14
+ var _excluded = ["testId"];
15
+ var RelatedUrlsBlockErroredView = exports.RelatedUrlsBlockErroredView = function RelatedUrlsBlockErroredView(_ref) {
16
+ var testId = _ref.testId,
17
+ blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
18
+ return /*#__PURE__*/_react.default.createElement(_block.default, (0, _extends2.default)({}, blockProps, {
19
+ testId: testId
20
+ }), /*#__PURE__*/_react.default.createElement(_text.default, {
21
+ message: {
22
+ descriptor: _messages.messages.generic_error_message
23
+ }
24
+ }));
25
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ var _reactMagneticDi = require("react-magnetic-di");
17
+ var _react2 = require("@emotion/react");
18
+ var _useRelatedUrls = _interopRequireDefault(require("../../../../../state/hooks/use-related-urls"));
19
+ var _errored = require("./errored");
20
+ var _resolved = require("./resolved");
21
+ var _resolving = require("./resolving");
22
+ var _templateObject;
23
+ var _excluded = ["testId", "url", "renderers"];
24
+ 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); }
25
+ 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; }
26
+ /**
27
+ * Represents a block to display related resources of a url
28
+ */
29
+ var RelatedUrlsBlock = function RelatedUrlsBlock(_ref) {
30
+ var _ref$testId = _ref.testId,
31
+ testId = _ref$testId === void 0 ? 'smart-block-related-urls' : _ref$testId,
32
+ url = _ref.url,
33
+ renderers = _ref.renderers,
34
+ blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
35
+ var _useState = (0, _react.useState)(true),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ loadingRelatedUrls = _useState2[0],
38
+ setLoadingRelatedUrls = _useState2[1];
39
+ var _useState3 = (0, _react.useState)(),
40
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
41
+ err = _useState4[0],
42
+ setErr = _useState4[1];
43
+ var _useState5 = (0, _react.useState)(),
44
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
45
+ relatedUrls = _useState6[0],
46
+ setRelatedUrls = _useState6[1];
47
+ var getRelatedUrls = (0, _useRelatedUrls.default)();
48
+ (0, _react.useEffect)(function () {
49
+ var fetchRelatedUrls = /*#__PURE__*/function () {
50
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
51
+ var relUrls;
52
+ return _regenerator.default.wrap(function _callee$(_context) {
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ _context.prev = 0;
56
+ _context.next = 3;
57
+ return getRelatedUrls(url);
58
+ case 3:
59
+ relUrls = _context.sent;
60
+ setRelatedUrls(relUrls);
61
+ _context.next = 10;
62
+ break;
63
+ case 7:
64
+ _context.prev = 7;
65
+ _context.t0 = _context["catch"](0);
66
+ setErr(_context.t0);
67
+ case 10:
68
+ setLoadingRelatedUrls(false);
69
+ case 11:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }, _callee, null, [[0, 7]]);
74
+ }));
75
+ return function fetchRelatedUrls() {
76
+ return _ref2.apply(this, arguments);
77
+ };
78
+ }();
79
+ fetchRelatedUrls();
80
+ }, [getRelatedUrls, url]);
81
+ if (loadingRelatedUrls) {
82
+ return /*#__PURE__*/_react.default.createElement(_resolving.RelatedUrlsBlockResolvingView, (0, _extends2.default)({
83
+ testId: "".concat(testId, "-resolving-view")
84
+ }, blockProps));
85
+ }
86
+ if (relatedUrls) {
87
+ return /*#__PURE__*/_react.default.createElement(_resolved.RelatedUrlsResolvedView, (0, _extends2.default)({
88
+ renderers: renderers,
89
+ overrideCss: (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n min-height: 1.55rem;\n "]))),
90
+ testId: "".concat(testId, "-resolved-view"),
91
+ relatedUrlsResponse: relatedUrls
92
+ }, blockProps));
93
+ }
94
+ return /*#__PURE__*/_react.default.createElement(_errored.RelatedUrlsBlockErroredView, (0, _extends2.default)({
95
+ err: err,
96
+ testId: "".concat(testId, "-errored-view")
97
+ }, blockProps));
98
+ };
99
+ var _default = exports.default = RelatedUrlsBlock;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RelatedUrlsResolvedView = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _messages = require("../../../../../../messages");
12
+ var _block = _interopRequireDefault(require("../../block"));
13
+ var _relatedUrlList = _interopRequireDefault(require("./related-url-list"));
14
+ var _excluded = ["relatedUrlsResponse", "renderers", "testId", "initializeOpened"];
15
+ var RelatedUrlsResolvedView = exports.RelatedUrlsResolvedView = function RelatedUrlsResolvedView(_ref) {
16
+ var resolvedResults = _ref.relatedUrlsResponse.resolvedResults,
17
+ renderers = _ref.renderers,
18
+ testId = _ref.testId,
19
+ initializeOpened = _ref.initializeOpened,
20
+ blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
21
+ return /*#__PURE__*/_react.default.createElement(_block.default, (0, _extends2.default)({}, blockProps, {
22
+ testId: testId
23
+ }), resolvedResults && /*#__PURE__*/_react.default.createElement(_relatedUrlList.default, {
24
+ testId: "".concat(testId, "-list"),
25
+ renderers: renderers,
26
+ initializeOpened: initializeOpened,
27
+ title: _messages.messages.last_mentioned_in,
28
+ resolvedResults: resolvedResults
29
+ }));
30
+ };
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _reactIntlNext = require("react-intl-next");
13
+ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
14
+ var _chevronUp = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-up"));
15
+ var _primitives = require("@atlaskit/primitives");
16
+ var _react2 = require("@emotion/react");
17
+ var _messages = require("../../../../../../../messages");
18
+ var _utils = require("../../../../../components/utils");
19
+ var _text = _interopRequireDefault(require("../../../../elements/text"));
20
+ var _relatedUrlItem = _interopRequireDefault(require("./related-url-item"));
21
+ var _templateObject;
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
+ 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; }
24
+ var RelatedUrlList = function RelatedUrlList(_ref) {
25
+ var resolvedResults = _ref.resolvedResults,
26
+ title = _ref.title,
27
+ renderers = _ref.renderers,
28
+ testId = _ref.testId,
29
+ initializeOpened = _ref.initializeOpened;
30
+ var _useState = (0, _react.useState)(initializeOpened),
31
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
32
+ isOpen = _useState2[0],
33
+ setIsOpen = _useState2[1];
34
+ var chevronClickHandler = (0, _react.useCallback)(function () {
35
+ return setIsOpen(!isOpen);
36
+ }, [isOpen]);
37
+ var ChevronComponent = isOpen ? _chevronUp.default : _chevronDown.default;
38
+ var intl = (0, _reactIntlNext.useIntl)();
39
+ var resolvedResultsStack = (0, _react.useMemo)(function () {
40
+ return /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
41
+ space: "space.050",
42
+ testId: "".concat(testId, "-items-wrapper")
43
+ }, resolvedResults.map(function (resolvedResults, idx) {
44
+ return /*#__PURE__*/_react.default.createElement(_relatedUrlItem.default, {
45
+ testId: "".concat(testId, "-item"),
46
+ key: idx,
47
+ results: resolvedResults,
48
+ renderers: renderers
49
+ });
50
+ }));
51
+ }, [renderers, resolvedResults, testId]);
52
+ return resolvedResults.length > 0 ? /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
53
+ testId: testId,
54
+ xcss: (0, _primitives.xcss)({
55
+ width: '100%'
56
+ })
57
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
58
+ onClick: chevronClickHandler,
59
+ testId: "".concat(testId, "-expand-title")
60
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
61
+ alignBlock: "center",
62
+ spread: "space-between"
63
+ }, /*#__PURE__*/_react.default.createElement(_text.default, {
64
+ overrideCss: (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n font-weight: ", ";\n "])), "var(--ds-font-weight-medium, 500)"),
65
+ message: {
66
+ descriptor: title
67
+ }
68
+ }), /*#__PURE__*/_react.default.createElement(ChevronComponent, {
69
+ label: (0, _utils.getFormattedMessageAsString)(intl, title),
70
+ size: 'medium'
71
+ }))), isOpen && resolvedResultsStack) : /*#__PURE__*/_react.default.createElement(_text.default, {
72
+ testId: testId,
73
+ message: {
74
+ descriptor: _messages.messages.related_work_items_not_found
75
+ }
76
+ });
77
+ };
78
+ var _default = exports.default = RelatedUrlList;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _primitives = require("@atlaskit/primitives");
12
+ var _constants = require("../../../../../../../../constants");
13
+ var _flexible = _interopRequireDefault(require("../../../../../../../../extractors/flexible"));
14
+ var _icon = _interopRequireDefault(require("../../../../../elements/icon"));
15
+ var _link = _interopRequireDefault(require("../../../../../elements/link"));
16
+ 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); }
17
+ 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; }
18
+ var RelatedUrlItem = function RelatedUrlItem(_ref) {
19
+ var results = _ref.results,
20
+ renderers = _ref.renderers,
21
+ testId = _ref.testId;
22
+ var flexibleDataContext = (0, _react.useMemo)(function () {
23
+ return (0, _flexible.default)({
24
+ response: results,
25
+ renderers: renderers
26
+ });
27
+ }, [renderers, results]);
28
+ return /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
29
+ alignBlock: "center",
30
+ space: "space.050",
31
+ testId: testId
32
+ }, /*#__PURE__*/_react.default.createElement(_icon.default, (0, _extends2.default)({}, flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.linkIcon, {
33
+ testId: "".concat(testId, "-icon"),
34
+ size: _constants.SmartLinkSize.Small
35
+ })), /*#__PURE__*/_react.default.createElement(_link.default, {
36
+ testId: "".concat(testId, "-link"),
37
+ text: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.title,
38
+ url: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.url,
39
+ size: _constants.SmartLinkSize.Small,
40
+ maxLines: 1
41
+ }));
42
+ };
43
+ var _default = exports.default = RelatedUrlItem;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RelatedUrlsBlockResolvingView = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _loadingSkeleton = _interopRequireDefault(require("../../../common/loading-skeleton"));
12
+ var _block = _interopRequireDefault(require("../../block"));
13
+ var _excluded = ["testId"];
14
+ var RelatedUrlsBlockResolvingView = exports.RelatedUrlsBlockResolvingView = function RelatedUrlsBlockResolvingView(_ref) {
15
+ var testId = _ref.testId,
16
+ blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
17
+ return /*#__PURE__*/_react.default.createElement(_block.default, (0, _extends2.default)({}, blockProps, {
18
+ testId: testId
19
+ }), /*#__PURE__*/_react.default.createElement(_loadingSkeleton.default, {
20
+ height: 1.55,
21
+ width: 22
22
+ }));
23
+ };
@@ -65,7 +65,8 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref) {
65
65
  _ref$cardActions = _ref.cardActions,
66
66
  cardActions = _ref$cardActions === void 0 ? [] : _ref$cardActions,
67
67
  onActionClick = _ref.onActionClick,
68
- extensionKey = _ref.extensionKey;
68
+ extensionKey = _ref.extensionKey,
69
+ url = _ref.url;
69
70
  var canBeDatasource = (0, _helpers.getCanBeDatasource)(cardState.details);
70
71
  (0, _react.useEffect)(function () {
71
72
  // Since this hover view is only rendered on resolved status,
@@ -129,6 +130,9 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref) {
129
130
  size: _constants.SmartLinkSize.Large,
130
131
  overrideCss: _styled.metadataBlockCss,
131
132
  maxLines: 1
133
+ }), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-hover-card-related-urls') && /*#__PURE__*/_react.default.createElement(_blocks.RelatedUrlsBlock, {
134
+ url: url,
135
+ size: _constants.SmartLinkSize.Small
132
136
  }), /*#__PURE__*/_react.default.createElement(_blocks.FooterBlock, {
133
137
  actions: footerActions,
134
138
  size: _constants.SmartLinkSize.Large,
@@ -18,7 +18,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
18
18
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
19
19
  var PACKAGE_DATA = {
20
20
  packageName: "@atlaskit/smart-card",
21
- packageVersion: "26.39.0",
21
+ packageVersion: "26.41.0",
22
22
  componentName: 'linkUrl'
23
23
  };
24
24
  var Link = (0, _click.withLinkClickedEvent)('a');