@atlaskit/smart-card 42.3.4 → 43.0.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 (56) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/analytics.spec.yaml +63 -7
  3. package/dist/cjs/state/actions/index.js +6 -8
  4. package/dist/cjs/state/hooks/useSmartLink.js +3 -3
  5. package/dist/cjs/state/store/index.js +1 -5
  6. package/dist/cjs/utils/analytics/analytics.js +1 -1
  7. package/dist/cjs/view/CardWithUrl/component.js +15 -14
  8. package/dist/cjs/view/FlexibleCard/index.js +13 -5
  9. package/dist/cjs/view/LinkUrl/HyperlinkResolver/index.js +5 -32
  10. package/dist/cjs/view/LinkUrl/HyperlinkResolver/unauthorize-view.js +11 -15
  11. package/dist/cjs/view/LinkUrl/index.js +23 -30
  12. package/dist/es2019/state/actions/index.js +4 -6
  13. package/dist/es2019/state/hooks/useSmartLink.js +3 -3
  14. package/dist/es2019/state/store/index.js +1 -5
  15. package/dist/es2019/utils/analytics/analytics.js +1 -1
  16. package/dist/es2019/view/CardWithUrl/component.js +15 -14
  17. package/dist/es2019/view/FlexibleCard/index.js +12 -5
  18. package/dist/es2019/view/LinkUrl/HyperlinkResolver/index.js +5 -32
  19. package/dist/es2019/view/LinkUrl/HyperlinkResolver/unauthorize-view.js +4 -4
  20. package/dist/es2019/view/LinkUrl/index.js +23 -28
  21. package/dist/esm/state/actions/index.js +6 -8
  22. package/dist/esm/state/hooks/useSmartLink.js +3 -3
  23. package/dist/esm/state/store/index.js +1 -5
  24. package/dist/esm/utils/analytics/analytics.js +1 -1
  25. package/dist/esm/view/CardWithUrl/component.js +15 -14
  26. package/dist/esm/view/FlexibleCard/index.js +12 -5
  27. package/dist/esm/view/LinkUrl/HyperlinkResolver/index.js +5 -32
  28. package/dist/esm/view/LinkUrl/HyperlinkResolver/unauthorize-view.js +11 -13
  29. package/dist/esm/view/LinkUrl/index.js +23 -28
  30. package/dist/types/common/analytics/generated/analytics.types.d.ts +29 -29
  31. package/dist/types/state/actions/index.d.ts +1 -2
  32. package/dist/types/state/hooks/useSmartLink.d.ts +2 -3
  33. package/dist/types/state/store/index.d.ts +1 -1
  34. package/dist/types/view/Card/types.d.ts +1 -1
  35. package/dist/types/view/FlexibleCard/index.d.ts +13 -1
  36. package/dist/types/view/LinkUrl/HyperlinkResolver/index.d.ts +0 -5
  37. package/dist/types/view/LinkUrl/HyperlinkResolver/unauthorize-view.d.ts +2 -1
  38. package/dist/types-ts4.5/common/analytics/generated/analytics.types.d.ts +29 -29
  39. package/dist/types-ts4.5/state/actions/index.d.ts +1 -2
  40. package/dist/types-ts4.5/state/hooks/useSmartLink.d.ts +2 -3
  41. package/dist/types-ts4.5/state/store/index.d.ts +1 -1
  42. package/dist/types-ts4.5/view/Card/types.d.ts +1 -1
  43. package/dist/types-ts4.5/view/FlexibleCard/index.d.ts +13 -1
  44. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/index.d.ts +0 -5
  45. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/unauthorize-view.d.ts +2 -1
  46. package/package.json +4 -7
  47. package/dist/cjs/view/LinkUrl/HyperlinkResolver/error-boundary.js +0 -18
  48. package/dist/cjs/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.js +0 -70
  49. package/dist/es2019/view/LinkUrl/HyperlinkResolver/error-boundary.js +0 -9
  50. package/dist/es2019/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.js +0 -60
  51. package/dist/esm/view/LinkUrl/HyperlinkResolver/error-boundary.js +0 -11
  52. package/dist/esm/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.js +0 -62
  53. package/dist/types/view/LinkUrl/HyperlinkResolver/error-boundary.d.ts +0 -4
  54. package/dist/types/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.d.ts +0 -3
  55. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/error-boundary.d.ts +0 -4
  56. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.d.ts +0 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 43.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [`ec9cef4db241c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ec9cef4db241c) -
8
+ [ux] Show connect button for unauthorized blue hyperlinks, following the same auth flow as Smart
9
+ Links
10
+
11
+ ## 42.3.5
12
+
13
+ ### Patch Changes
14
+
15
+ - [`0f97c81f07f53`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0f97c81f07f53) -
16
+ Internal logic change for `placeholderData` (unreleased prop) so it's used exclusively for
17
+ rendering purposes.
18
+ - [`2d0bdb4a28fef`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/2d0bdb4a28fef) -
19
+ Feature gate cleanup: navx-1834-refactor-resolved-hyperlink
20
+ - Updated dependencies
21
+
3
22
  ## 42.3.4
4
23
 
5
24
  ### Patch Changes
@@ -165,7 +165,7 @@ attributes:
165
165
  description: The definitionId of the Smart Link resolver invoked.
166
166
  display:
167
167
  required: false
168
- type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview']
168
+ type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview', 'hyperlink']
169
169
  description: Whether the card was an Inline, Block, Embed or Flexible UI.
170
170
  resourceType:
171
171
  required: false
@@ -313,7 +313,7 @@ events:
313
313
  description: The unique ID for this Smart Link
314
314
  display:
315
315
  required: true
316
- type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview']
316
+ type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview', 'hyperlink']
317
317
  description: Whether the card was an Inline, Block, Embed or Flexible UI
318
318
  definitionId:
319
319
  required: false
@@ -337,7 +337,7 @@ events:
337
337
  description: The unique ID for this Smart Link.
338
338
  display:
339
339
  required: true
340
- type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview']
340
+ type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview', 'hyperlink']
341
341
  description: Whether the card was an Inline, Block, Embed or Flexible UI.
342
342
  definitionId:
343
343
  required: false
@@ -480,7 +480,7 @@ events:
480
480
  <<: [*PackageMetaDataContext, *CommonContext]
481
481
  display:
482
482
  required: true
483
- type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview']
483
+ type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview', 'hyperlink']
484
484
  description: Whether the card was an Inline, Block, Embed or Flexible UI.
485
485
  definitionId:
486
486
  required: false
@@ -516,6 +516,62 @@ events:
516
516
  required: false
517
517
  type: string
518
518
  description: Failure reason
519
+ - hyperlink resolved:
520
+ type: operational
521
+ description: Fires an event when a hyperlink is successfully resolved.
522
+ attributes:
523
+ packageName:
524
+ type: string
525
+ description: name of the package the event was fired from
526
+ packageVersion:
527
+ type: string
528
+ description: version of the package the event was fired from
529
+ extensionKey:
530
+ type: string
531
+ required: false
532
+ description: The provider identifier of the resolver that was used to resolve the link
533
+ definitionId:
534
+ required: false
535
+ type: string
536
+ description: The definitionId of the Smart Link resolver invoked.
537
+ resourceType:
538
+ required: false
539
+ type: string
540
+ description: Type of resource the link is pointing to
541
+ duration:
542
+ required: false
543
+ type: number
544
+ description: Total time the hyperlink resolution took to complete
545
+ - hyperlink unresolved:
546
+ type: operational
547
+ description: Fires an event when a hyperlink fails to resolve.
548
+ attributes:
549
+ packageName:
550
+ type: string
551
+ description: name of the package the event was fired from
552
+ packageVersion:
553
+ type: string
554
+ description: version of the package the event was fired from
555
+ extensionKey:
556
+ type: string
557
+ required: false
558
+ description: The provider identifier of the resolver that was used to resolve the link
559
+ definitionId:
560
+ required: false
561
+ type: string
562
+ description: The definitionId of the Smart Link resolver invoked.
563
+ resourceType:
564
+ required: false
565
+ type: string
566
+ description: Type of resource the link is pointing to
567
+ reason:
568
+ required: false
569
+ type: string
570
+ description: The status/reason why the hyperlink failed to resolve
571
+ error:
572
+ required: false
573
+ type: object
574
+ description: Error object providing more details about the failure
519
575
  - smartLink clicked:
520
576
  type: ui
521
577
  description: fires an event that represents when a user clicks on a Smart Link.
@@ -623,7 +679,7 @@ events:
623
679
  <<: [*PackageMetaDataContext, *CommonContext]
624
680
  display:
625
681
  required: true
626
- type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview']
682
+ type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview', 'hyperlink']
627
683
  description: Whether the card was an Inline, Block, Embed or Flexible UI.
628
684
  definitionId:
629
685
  required: false
@@ -638,7 +694,7 @@ events:
638
694
  <<: [*PackageMetaDataContext, *CommonContext]
639
695
  display:
640
696
  required: true
641
- type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview']
697
+ type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview', 'hyperlink']
642
698
  description: Whether the card was an Inline, Block, Embed or Flexible UI.
643
699
  definitionId:
644
700
  required: false
@@ -653,7 +709,7 @@ events:
653
709
  <<: [*PackageMetaDataContext, *CommonContext]
654
710
  display:
655
711
  required: true
656
- type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview']
712
+ type: ['inline', 'block', 'embed', 'embedPreview', 'flexible', 'hoverCardPreview', 'hyperlink']
657
713
  description: Whether the card was an Inline, Block, Embed or Flexible UI.
658
714
  definitionId:
659
715
  required: false
@@ -11,14 +11,13 @@ var _react = require("react");
11
11
  var _linkProvider = require("@atlaskit/link-provider");
12
12
  var _linkingCommon = require("@atlaskit/linking-common");
13
13
  var _outboundAuthFlowClient = require("@atlaskit/outbound-auth-flow-client");
14
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
14
  var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
16
15
  var _constants = require("../../constants");
17
16
  var _analytics = require("../analytics");
18
17
  var _helpers = require("../helpers");
19
18
  var _useInvokeClientAction = _interopRequireDefault(require("../hooks/use-invoke-client-action"));
20
19
  var _useResolve = _interopRequireDefault(require("../hooks/use-resolve"));
21
- var useSmartCardActions = exports.useSmartCardActions = function useSmartCardActions(id, url, placeholderData) {
20
+ var useSmartCardActions = exports.useSmartCardActions = function useSmartCardActions(id, url) {
22
21
  var resolveUrl = (0, _useResolve.default)();
23
22
  var invokeClientAction = (0, _useInvokeClientAction.default)({});
24
23
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
@@ -28,9 +27,8 @@ var useSmartCardActions = exports.useSmartCardActions = function useSmartCardAct
28
27
  var getState = store.getState,
29
28
  dispatch = store.dispatch;
30
29
  var getSmartLinkState = (0, _react.useCallback)(function () {
31
- var _ref2, _getState$url;
32
- var placeholderObject = (0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards') ? placeholderData : undefined;
33
- var _ref = (_ref2 = (_getState$url = getState()[url]) !== null && _getState$url !== void 0 ? _getState$url : placeholderObject) !== null && _ref2 !== void 0 ? _ref2 : {
30
+ var _getState$url;
31
+ var _ref = (_getState$url = getState()[url]) !== null && _getState$url !== void 0 ? _getState$url : {
34
32
  status: _constants.SmartLinkStatus.Pending
35
33
  },
36
34
  details = _ref.details,
@@ -41,7 +39,7 @@ var useSmartCardActions = exports.useSmartCardActions = function useSmartCardAct
41
39
  status: status,
42
40
  metadataStatus: metadataStatus
43
41
  };
44
- }, [getState, url, placeholderData]);
42
+ }, [getState, url]);
45
43
  var setMetadataStatus = (0, _react.useCallback)(function (metadataStatus) {
46
44
  dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_UPDATE_METADATA_STATUS, {
47
45
  url: url
@@ -154,7 +152,7 @@ var useSmartCardActions = exports.useSmartCardActions = function useSmartCardAct
154
152
  }
155
153
  }, [getSmartLinkState, id, reload, fireEvent]);
156
154
  var invoke = (0, _react.useCallback)( /*#__PURE__*/function () {
157
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(opts, appearance) {
155
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(opts, appearance) {
158
156
  var key, action, source;
159
157
  return _regenerator.default.wrap(function _callee2$(_context2) {
160
158
  while (1) switch (_context2.prev = _context2.next) {
@@ -181,7 +179,7 @@ var useSmartCardActions = exports.useSmartCardActions = function useSmartCardAct
181
179
  }, _callee2);
182
180
  }));
183
181
  return function (_x, _x2) {
184
- return _ref4.apply(this, arguments);
182
+ return _ref3.apply(this, arguments);
185
183
  };
186
184
  }(), [invokeClientAction]);
187
185
  return (0, _react.useMemo)(function () {
@@ -12,13 +12,13 @@ var _actions = require("../actions");
12
12
  var _config = require("../config");
13
13
  var _renderers = require("../renderers");
14
14
  var _store = require("../store");
15
- function useSmartLink(id, url, placeholderData) {
16
- var state = (0, _store.useSmartCardState)(url, placeholderData);
15
+ function useSmartLink(id, url) {
16
+ var state = (0, _store.useSmartCardState)(url);
17
17
  var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
18
18
  store = _useSmartLinkContext.store,
19
19
  isPreviewPanelAvailable = _useSmartLinkContext.isPreviewPanelAvailable,
20
20
  openPreviewPanel = _useSmartLinkContext.openPreviewPanel;
21
- var actions = (0, _actions.useSmartCardActions)(id, url, placeholderData);
21
+ var actions = (0, _actions.useSmartCardActions)(id, url);
22
22
  var config = (0, _config.useSmartLinkConfig)();
23
23
  var renderers = (0, _renderers.useSmartLinkRenderers)();
24
24
 
@@ -6,18 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useSmartCardState = useSmartCardState;
7
7
  var _withSelector = require("use-sync-external-store/shim/with-selector");
8
8
  var _linkProvider = require("@atlaskit/link-provider");
9
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
9
  var PENDING_STATE = {
11
10
  status: 'pending'
12
11
  };
13
- function useSmartCardState(url, placeholderData) {
12
+ function useSmartCardState(url) {
14
13
  var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
15
14
  store = _useSmartLinkContext.store;
16
15
  var cardState = (0, _withSelector.useSyncExternalStoreWithSelector)(store.subscribe, store.getState, store.getState, function (state) {
17
16
  return state[url];
18
17
  });
19
- if ((0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards')) {
20
- return (cardState === null || cardState === void 0 ? void 0 : cardState.status) !== 'resolved' && placeholderData ? placeholderData : cardState !== null && cardState !== void 0 ? cardState : PENDING_STATE;
21
- }
22
18
  return cardState !== null && cardState !== void 0 ? cardState : PENDING_STATE;
23
19
  }
@@ -11,7 +11,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
11
11
  var context = exports.context = {
12
12
  componentName: 'smart-cards',
13
13
  packageName: "@atlaskit/smart-card",
14
- packageVersion: "0.0.0-development"
14
+ packageVersion: "42.3.5"
15
15
  };
16
16
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
17
17
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -67,22 +67,9 @@ function Component(_ref) {
67
67
  var isFlexibleUi = (0, _react.useMemo)(function () {
68
68
  return (0, _flexible.isFlexibleUiCard)(children, ui);
69
69
  }, [children, ui]);
70
- var structuredPlaceholderData = (0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards') ?
71
- // eslint-disable-next-line react-hooks/rules-of-hooks
72
- (0, _react.useMemo)(function () {
73
- // execute some basic validation logic to ensure we should consider using placeholder data
74
- if (appearance === 'inline' && isValidPlaceholderData(placeholderData)) {
75
- var data = {
76
- status: 'resolved',
77
- metadataStatus: undefined,
78
- details: placeholderData
79
- };
80
- return data;
81
- }
82
- }, [appearance, placeholderData]) : undefined;
83
70
 
84
71
  // Get state, actions for this card.
85
- var _useSmartLink = (0, _state.useSmartLink)(id, url, (0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards') ? structuredPlaceholderData : undefined),
72
+ var _useSmartLink = (0, _state.useSmartLink)(id, url),
86
73
  state = _useSmartLink.state,
87
74
  actions = _useSmartLink.actions,
88
75
  config = _useSmartLink.config,
@@ -242,6 +229,19 @@ function Component(_ref) {
242
229
  display: isFlexibleUi ? 'flexible' : appearance
243
230
  });
244
231
  }, [id, appearance, definitionId, isFlexibleUi, fireEvent]);
232
+ var structuredPlaceholderData = (0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards') ?
233
+ // eslint-disable-next-line react-hooks/rules-of-hooks
234
+ (0, _react.useMemo)(function () {
235
+ // execute some basic validation logic to ensure we should consider using placeholder data
236
+ if (isFlexibleUi && isValidPlaceholderData(placeholderData)) {
237
+ var data = {
238
+ status: 'resolved',
239
+ metadataStatus: undefined,
240
+ details: placeholderData
241
+ };
242
+ return data;
243
+ }
244
+ }, [isFlexibleUi, placeholderData]) : undefined;
245
245
  if (isFlexibleUi) {
246
246
  var cardState = state;
247
247
  if (error) {
@@ -256,6 +256,7 @@ function Component(_ref) {
256
256
  return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
257
257
  id: id,
258
258
  cardState: cardState,
259
+ placeholderData: (0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards') ? structuredPlaceholderData : undefined,
259
260
  onAuthorize: services.length && handleAuthorize || undefined,
260
261
  onClick: handleClickWrapper,
261
262
  origin: "smartLinkCard",
@@ -9,6 +9,7 @@ exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _linkProvider = require("@atlaskit/link-provider");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
13
14
  var _constants = require("../../constants");
14
15
  var _flexibleUiContext = require("../../state/flexible-ui-context");
@@ -17,6 +18,8 @@ var _useResolve = _interopRequireDefault(require("../../state/hooks/use-resolve"
17
18
  var _container = _interopRequireDefault(require("./components/container"));
18
19
  var _utils = require("./utils");
19
20
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
21
+ var PENDING_LINK_STATUSES = [_constants.SmartLinkStatus.Pending, _constants.SmartLinkStatus.Resolving];
22
+
20
23
  /**
21
24
  * This represents a Flexible Card: a link represented by a card with metadata.
22
25
  * This is the container in which all Flexible UI Blocks and Elements exist.
@@ -28,6 +31,7 @@ var FlexibleCard = function FlexibleCard(_ref) {
28
31
  var _ref$appearance = _ref.appearance,
29
32
  appearance = _ref$appearance === void 0 ? 'flexible' : _ref$appearance,
30
33
  cardState = _ref.cardState,
34
+ placeholderData = _ref.placeholderData,
31
35
  children = _ref.children,
32
36
  id = _ref.id,
33
37
  onAuthorize = _ref.onAuthorize,
@@ -52,12 +56,16 @@ var FlexibleCard = function FlexibleCard(_ref) {
52
56
  var cardType = cardState.status,
53
57
  details = cardState.details;
54
58
  var status = cardType;
59
+ var shouldUsePlaceholderData = PENDING_LINK_STATUSES.includes(status) && placeholderData && (0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards');
60
+ // if we have placeholder data it means we can internally use it
61
+ // as resolved data until the actual data comes back as one of the final statuses
62
+ var contextStatus = shouldUsePlaceholderData ? _constants.SmartLinkStatus.Resolved : status;
55
63
  var context = (0, _react.useMemo)(function () {
56
64
  return (0, _utils.getContextByStatus)({
57
65
  aiSummaryConfig: aiSummaryConfig,
58
66
  appearance: appearance,
59
67
  fireEvent: fireEvent,
60
- response: details,
68
+ response: shouldUsePlaceholderData ? placeholderData.details : details,
61
69
  id: id,
62
70
  onAuthorize: onAuthorize,
63
71
  onClick: onClick,
@@ -65,19 +73,19 @@ var FlexibleCard = function FlexibleCard(_ref) {
65
73
  renderers: renderers,
66
74
  resolve: resolve,
67
75
  actionOptions: actionOptions,
68
- status: status,
76
+ status: shouldUsePlaceholderData ? contextStatus : status,
69
77
  url: url,
70
78
  isPreviewPanelAvailable: isPreviewPanelAvailable,
71
79
  openPreviewPanel: openPreviewPanel
72
80
  });
73
- }, [aiSummaryConfig, appearance, fireEvent, details, id, onAuthorize, onClick, origin, renderers, resolve, actionOptions, status, url, isPreviewPanelAvailable, openPreviewPanel]);
81
+ }, [aiSummaryConfig, appearance, fireEvent, shouldUsePlaceholderData, placeholderData === null || placeholderData === void 0 ? void 0 : placeholderData.details, details, id, onAuthorize, onClick, origin, renderers, resolve, actionOptions, contextStatus, status, url, isPreviewPanelAvailable, openPreviewPanel]);
74
82
  var flexibleCardContext = (0, _react.useMemo)(function () {
75
83
  return {
76
84
  data: context,
77
- status: status,
85
+ status: (0, _platformFeatureFlags.fg)('platform_initial_data_for_smart_cards') ? contextStatus : status,
78
86
  ui: ui
79
87
  };
80
- }, [context, status, ui]);
88
+ }, [context, contextStatus, status, ui]);
81
89
  var _ref2 = context || {},
82
90
  linkTitle = _ref2.linkTitle;
83
91
  var title = linkTitle === null || linkTitle === void 0 ? void 0 : linkTitle.text;
@@ -5,24 +5,20 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.HyperlinkWithSmartLinkResolver = void 0;
8
+ exports.HyperlinkWithSmartLinkResolver = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactErrorBoundary = require("react-error-boundary");
13
13
  var _reactIntlNext = require("react-intl-next");
14
- var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
15
14
  var _linkExtractors = require("@atlaskit/link-extractors");
16
15
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
- var _state = require("../../../state");
18
16
  var _helpers = require("../../../state/helpers");
19
17
  var _useResolveHyperlink2 = _interopRequireDefault(require("../../../state/hooks/use-resolve-hyperlink"));
20
- var _useResolveHyperlinkValidator = _interopRequireWildcard(require("../../../state/hooks/use-resolve-hyperlink/useResolveHyperlinkValidator"));
18
+ var _useResolveHyperlinkValidator = _interopRequireDefault(require("../../../state/hooks/use-resolve-hyperlink/useResolveHyperlinkValidator"));
21
19
  var _intlProvider = _interopRequireDefault(require("../../common/intl-provider"));
22
20
  var _useSmartLinkEvents = require("../../SmartLinkEvents/useSmartLinkEvents");
23
21
  var _Hyperlink = _interopRequireDefault(require("../Hyperlink"));
24
- var _errorBoundary = _interopRequireDefault(require("./error-boundary"));
25
- var _resolveHyperlink = require("./resolve-hyperlink");
26
22
  var _unauthorizeView = _interopRequireDefault(require("./unauthorize-view"));
27
23
  var _excluded = ["onClick"];
28
24
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
@@ -58,15 +54,10 @@ var HyperlinkWithSmartLinkResolverInner = function HyperlinkWithSmartLinkResolve
58
54
  }
59
55
  onClickCallback === null || onClickCallback === void 0 || onClickCallback(e);
60
56
  }, [onClickCallback, fire3PClickEvent, state === null || state === void 0 ? void 0 : state.status]);
61
-
62
- // TODO: AI3W-1113: Show auth button
63
57
  var onAuthorize = (0, _platformFeatureFlags.fg)('platform_linking_plain_hyperlink_connect_button') ?
64
58
  // eslint-disable-next-line react-hooks/rules-of-hooks
65
59
  (0, _react.useCallback)(function () {
66
- return (
67
- // TODO: Need to add hyperlink type
68
- actions.authorize('inline')
69
- );
60
+ return actions.authorize('hyperlink');
70
61
  }, [actions]) : undefined;
71
62
  if ((0, _platformFeatureFlags.fg)('platform_linking_plain_hyperlink_connect_button')) {
72
63
  switch (state === null || state === void 0 ? void 0 : state.status) {
@@ -75,6 +66,7 @@ var HyperlinkWithSmartLinkResolverInner = function HyperlinkWithSmartLinkResolve
75
66
  return /*#__PURE__*/_react.default.createElement(_unauthorizeView.default, (0, _extends2.default)({}, props, {
76
67
  onAuthorize: services !== null && services !== void 0 && services.length ? onAuthorize : undefined,
77
68
  onClick: onClick,
69
+ showConnectBtn: (services === null || services === void 0 ? void 0 : services.length) > 0,
78
70
  provider: provider
79
71
  }));
80
72
  default:
@@ -91,23 +83,4 @@ var HyperlinkWithSmartLinkResolver = exports.HyperlinkWithSmartLinkResolver = (0
91
83
  enforceContext: false
92
84
  }), _Hyperlink.default), {
93
85
  FallbackComponent: HyperlinkFallbackComponent
94
- });
95
-
96
- // Remove on navx-1834-refactor-resolved-hyperlink cleanup
97
-
98
- var HyperlinkResolver = function HyperlinkResolver(_ref2) {
99
- var href = _ref2.href;
100
- var hasSmartCardProvider = !!(0, _react.useContext)(_state.SmartCardContext);
101
- var isSharePointResolveEnabled = _featureGateJsClient.default.getExperimentValue('platform_editor_resolve_hyperlinks_confluence', 'isEnabled', false) || _featureGateJsClient.default.getExperimentValue('platform_editor_resolve_hyperlinks_jira', 'isEnabled', false);
102
- var isGoogleResolveEnabled = _featureGateJsClient.default.getExperimentValue('platform_editor_resolve_google_hyperlinks', 'isEnabled', false);
103
- var shouldResolveSharePoint = (0, _useResolveHyperlinkValidator.isSharePointDomain)(href) && isSharePointResolveEnabled;
104
- var shouldResolveGoogle = (0, _useResolveHyperlinkValidator.isGoogleDomain)(href) && isGoogleResolveEnabled;
105
- var shouldResolveHyperlink = hasSmartCardProvider && (shouldResolveSharePoint || shouldResolveGoogle);
106
- if (!shouldResolveHyperlink) {
107
- return null;
108
- }
109
- return /*#__PURE__*/_react.default.createElement(_resolveHyperlink.ResolveHyperlink, {
110
- href: href
111
- });
112
- };
113
- var _default = exports.default = (0, _errorBoundary.default)(HyperlinkResolver);
86
+ });
@@ -1,34 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
12
11
  var _reactIntlNext = require("react-intl-next");
13
12
  var _messages = require("../../../messages");
14
13
  var _actionButton = require("../../InlineCard/common/action-button");
15
14
  var _Hyperlink = _interopRequireDefault(require("../Hyperlink"));
16
- var _excluded = ["onAuthorize", "provider"];
17
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
+ var _excluded = ["onAuthorize", "provider", "showConnectBtn"];
18
16
  var HyperlinkUnauthorizedView = function HyperlinkUnauthorizedView(_ref) {
19
17
  var onAuthorize = _ref.onAuthorize,
20
18
  provider = _ref.provider,
19
+ showConnectBtn = _ref.showConnectBtn,
21
20
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
22
- var actionButton = (0, _react.useMemo)(function () {
23
- return onAuthorize ? /*#__PURE__*/_react.default.createElement(_actionButton.ActionButton, {
24
- onClick: onAuthorize,
25
- testId: "button-connect-account"
26
- }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages.connect_link_account_card_name, {
27
- values: {
28
- context: provider === null || provider === void 0 ? void 0 : provider.text
29
- }
30
- }))) : null;
31
- }, [onAuthorize, provider === null || provider === void 0 ? void 0 : provider.text]);
32
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Hyperlink.default, props), actionButton);
21
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Hyperlink.default, props), showConnectBtn && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ' ', /*#__PURE__*/_react.default.createElement(_actionButton.ActionButton, {
22
+ onClick: onAuthorize,
23
+ testId: "button-connect-account"
24
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages.connect_link_account_card_name, {
25
+ values: {
26
+ context: provider === null || provider === void 0 ? void 0 : provider.text
27
+ }
28
+ })))));
33
29
  };
34
30
  var _default = exports.default = HyperlinkUnauthorizedView;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -13,19 +12,17 @@ var _reactMagneticDi = require("react-magnetic-di");
13
12
  var _analyticsNext = require("@atlaskit/analytics-next");
14
13
  var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
15
14
  var _link = _interopRequireDefault(require("@atlaskit/link"));
16
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
15
  var _click = require("../../utils/analytics/click");
18
16
  var _LinkAnalyticsContext = require("../../utils/analytics/LinkAnalyticsContext");
19
17
  var _Hyperlink = _interopRequireDefault(require("./Hyperlink"));
20
- var _HyperlinkResolver = _interopRequireWildcard(require("./HyperlinkResolver"));
18
+ var _HyperlinkResolver = require("./HyperlinkResolver");
21
19
  var _LinkWarningModal = _interopRequireDefault(require("./LinkWarningModal"));
22
20
  var _useLinkWarningModal2 = require("./LinkWarningModal/hooks/use-link-warning-modal");
23
21
  var _excluded = ["href", "children", "checkSafety", "onClick", "testId", "isLinkComponent", "enableResolve"],
24
22
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
25
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
26
23
  var PACKAGE_DATA = {
27
24
  packageName: "@atlaskit/smart-card",
28
- packageVersion: "0.0.0-development",
25
+ packageVersion: "42.3.5",
29
26
  componentName: 'linkUrl'
30
27
  };
31
28
  var Anchor = (0, _click.withLinkClickedEvent)('a');
@@ -48,30 +45,28 @@ var LinkUrl = function LinkUrl(_ref) {
48
45
  showSafetyWarningModal = _useLinkWarningModal.showSafetyWarningModal,
49
46
  linkWarningModalProps = (0, _objectWithoutProperties2.default)(_useLinkWarningModal, _excluded2);
50
47
  var resolveHyperlinkFG = _featureGateJsClient.default.checkGate('platform_editor_resolve_hyperlinks_killswitch');
51
- if ((0, _platformFeatureFlags.fg)('navx-1834-refactor-resolved-hyperlink')) {
52
- if (resolveHyperlinkFG) {
53
- var _Link = enableResolve ? _HyperlinkResolver.HyperlinkWithSmartLinkResolver : _Hyperlink.default;
54
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_LinkAnalyticsContext.LinkAnalyticsContext, {
55
- url: href,
56
- display: "url"
57
- }, /*#__PURE__*/_react.default.createElement(_Link, (0, _extends2.default)({
58
- href: href,
59
- isLinkComponent: isLinkComponent,
60
- onClick: function onClick(e) {
61
- if (!checkSafety) {
62
- _onClick && _onClick(e);
63
- return;
64
- }
48
+ if (resolveHyperlinkFG) {
49
+ var _Link = enableResolve ? _HyperlinkResolver.HyperlinkWithSmartLinkResolver : _Hyperlink.default;
50
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_LinkAnalyticsContext.LinkAnalyticsContext, {
51
+ url: href,
52
+ display: "url"
53
+ }, /*#__PURE__*/_react.default.createElement(_Link, (0, _extends2.default)({
54
+ href: href,
55
+ isLinkComponent: isLinkComponent,
56
+ onClick: function onClick(e) {
57
+ if (!checkSafety) {
58
+ _onClick && _onClick(e);
59
+ return;
60
+ }
65
61
 
66
- // Only call the onClick if the link is safe
67
- if (isLinkSafe(e, href)) {
68
- _onClick && _onClick(e);
69
- } else {
70
- showSafetyWarningModal(e, href);
71
- }
62
+ // Only call the onClick if the link is safe
63
+ if (isLinkSafe(e, href)) {
64
+ _onClick && _onClick(e);
65
+ } else {
66
+ showSafetyWarningModal(e, href);
72
67
  }
73
- }, props), children)), checkSafety && /*#__PURE__*/_react.default.createElement(_LinkWarningModal.default, linkWarningModalProps));
74
- }
68
+ }
69
+ }, props), children)), checkSafety && /*#__PURE__*/_react.default.createElement(_LinkWarningModal.default, linkWarningModalProps));
75
70
  }
76
71
  var Link = isLinkComponent ? LinkComponent : Anchor;
77
72
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_LinkAnalyticsContext.LinkAnalyticsContext, {
@@ -96,8 +91,6 @@ var LinkUrl = function LinkUrl(_ref) {
96
91
  showSafetyWarningModal(e, href);
97
92
  }
98
93
  }
99
- }, props), children)), checkSafety && /*#__PURE__*/_react.default.createElement(_LinkWarningModal.default, linkWarningModalProps), enableResolve && href && resolveHyperlinkFG && !(0, _platformFeatureFlags.fg)('navx-1834-refactor-resolved-hyperlink') && /*#__PURE__*/_react.default.createElement(_HyperlinkResolver.default, {
100
- href: href
101
- }));
94
+ }, props), children)), checkSafety && /*#__PURE__*/_react.default.createElement(_LinkWarningModal.default, linkWarningModalProps));
102
95
  };
103
96
  var _default = exports.default = (0, _analyticsNext.withAnalyticsContext)(PACKAGE_DATA)(LinkUrl);
@@ -2,14 +2,13 @@ import { useCallback, useMemo } from 'react';
2
2
  import { useSmartLinkContext } from '@atlaskit/link-provider';
3
3
  import { ACTION_RESOLVING, ACTION_UPDATE_METADATA_STATUS, cardAction } from '@atlaskit/linking-common';
4
4
  import { auth } from '@atlaskit/outbound-auth-flow-client';
5
- import { fg } from '@atlaskit/platform-feature-flags';
6
5
  import { useAnalyticsEvents } from '../../common/analytics/generated/use-analytics-events';
7
6
  import { SmartLinkStatus } from '../../constants';
8
7
  import { startUfoExperience } from '../analytics';
9
8
  import { getByDefinitionId, getDefinitionId, getExtensionKey, getServices } from '../helpers';
10
9
  import useInvokeClientAction from '../hooks/use-invoke-client-action';
11
10
  import useResolve from '../hooks/use-resolve';
12
- export const useSmartCardActions = (id, url, placeholderData) => {
11
+ export const useSmartCardActions = (id, url) => {
13
12
  const resolveUrl = useResolve();
14
13
  const invokeClientAction = useInvokeClientAction({});
15
14
  const {
@@ -23,13 +22,12 @@ export const useSmartCardActions = (id, url, placeholderData) => {
23
22
  dispatch
24
23
  } = store;
25
24
  const getSmartLinkState = useCallback(() => {
26
- var _ref, _getState$url;
27
- const placeholderObject = fg('platform_initial_data_for_smart_cards') ? placeholderData : undefined;
25
+ var _getState$url;
28
26
  const {
29
27
  details,
30
28
  status,
31
29
  metadataStatus
32
- } = (_ref = (_getState$url = getState()[url]) !== null && _getState$url !== void 0 ? _getState$url : placeholderObject) !== null && _ref !== void 0 ? _ref : {
30
+ } = (_getState$url = getState()[url]) !== null && _getState$url !== void 0 ? _getState$url : {
33
31
  status: SmartLinkStatus.Pending
34
32
  };
35
33
  return {
@@ -37,7 +35,7 @@ export const useSmartCardActions = (id, url, placeholderData) => {
37
35
  status,
38
36
  metadataStatus
39
37
  };
40
- }, [getState, url, placeholderData]);
38
+ }, [getState, url]);
41
39
  const setMetadataStatus = useCallback(metadataStatus => {
42
40
  dispatch(cardAction(ACTION_UPDATE_METADATA_STATUS, {
43
41
  url