@atlaskit/smart-card 40.17.2 → 40.19.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 (98) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/extractors/action/extract-invoke-preview-action.js +9 -2
  3. package/dist/cjs/state/hooks-external/useSmartLinkActions.js +8 -1
  4. package/dist/cjs/utils/analytics/analytics.js +1 -1
  5. package/dist/cjs/utils/iframe-utils.js +40 -0
  6. package/dist/cjs/view/EmbedCard/components/ImageIcon.compiled.css +1 -1
  7. package/dist/cjs/view/EmbedCard/components/ImageIcon.js +1 -1
  8. package/dist/cjs/view/EmbedCard/components/styled.compiled.css +1 -1
  9. package/dist/cjs/view/EmbedCard/components/styled.js +2 -2
  10. package/dist/cjs/view/EmbedModal/utils.js +21 -3
  11. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.compiled.css +1 -1
  12. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.js +1 -1
  13. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.compiled.css +1 -1
  14. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.js +2 -2
  15. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/action-footer/index.compiled.css +1 -1
  16. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +1 -1
  17. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.compiled.css +1 -1
  18. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +1 -1
  19. package/dist/cjs/view/InlineCard/ForbiddenView/index.compiled.css +1 -1
  20. package/dist/cjs/view/InlineCard/ForbiddenView/index.js +1 -1
  21. package/dist/cjs/view/InlineCard/IconAndTitleLayout/index.compiled.css +1 -2
  22. package/dist/cjs/view/InlineCard/IconAndTitleLayout/index.js +2 -2
  23. package/dist/cjs/view/LinkUrl/HyperlinkResolver/error-boundary.js +17 -0
  24. package/dist/cjs/view/LinkUrl/HyperlinkResolver/hooks/useScheduledRegister.js +82 -0
  25. package/dist/cjs/view/LinkUrl/HyperlinkResolver/index.js +34 -0
  26. package/dist/cjs/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.js +69 -0
  27. package/dist/cjs/view/LinkUrl/index.js +10 -3
  28. package/dist/es2019/extractors/action/extract-invoke-preview-action.js +6 -1
  29. package/dist/es2019/state/hooks-external/useSmartLinkActions.js +8 -1
  30. package/dist/es2019/utils/analytics/analytics.js +1 -1
  31. package/dist/es2019/utils/iframe-utils.js +34 -0
  32. package/dist/es2019/view/EmbedCard/components/ImageIcon.compiled.css +1 -1
  33. package/dist/es2019/view/EmbedCard/components/ImageIcon.js +1 -1
  34. package/dist/es2019/view/EmbedCard/components/styled.compiled.css +1 -1
  35. package/dist/es2019/view/EmbedCard/components/styled.js +2 -2
  36. package/dist/es2019/view/EmbedModal/utils.js +12 -0
  37. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.compiled.css +1 -1
  38. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.js +1 -1
  39. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.compiled.css +1 -1
  40. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.js +2 -2
  41. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/action-footer/index.compiled.css +1 -1
  42. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +1 -1
  43. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.compiled.css +1 -1
  44. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +1 -1
  45. package/dist/es2019/view/InlineCard/ForbiddenView/index.compiled.css +1 -1
  46. package/dist/es2019/view/InlineCard/ForbiddenView/index.js +1 -1
  47. package/dist/es2019/view/InlineCard/IconAndTitleLayout/index.compiled.css +1 -2
  48. package/dist/es2019/view/InlineCard/IconAndTitleLayout/index.js +2 -2
  49. package/dist/es2019/view/LinkUrl/HyperlinkResolver/error-boundary.js +8 -0
  50. package/dist/es2019/view/LinkUrl/HyperlinkResolver/hooks/useScheduledRegister.js +77 -0
  51. package/dist/es2019/view/LinkUrl/HyperlinkResolver/index.js +26 -0
  52. package/dist/es2019/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.js +58 -0
  53. package/dist/es2019/view/LinkUrl/index.js +8 -2
  54. package/dist/esm/extractors/action/extract-invoke-preview-action.js +9 -2
  55. package/dist/esm/state/hooks-external/useSmartLinkActions.js +8 -1
  56. package/dist/esm/utils/analytics/analytics.js +1 -1
  57. package/dist/esm/utils/iframe-utils.js +34 -0
  58. package/dist/esm/view/EmbedCard/components/ImageIcon.compiled.css +1 -1
  59. package/dist/esm/view/EmbedCard/components/ImageIcon.js +1 -1
  60. package/dist/esm/view/EmbedCard/components/styled.compiled.css +1 -1
  61. package/dist/esm/view/EmbedCard/components/styled.js +2 -2
  62. package/dist/esm/view/EmbedModal/utils.js +21 -3
  63. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.compiled.css +1 -1
  64. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.js +1 -1
  65. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.compiled.css +1 -1
  66. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.js +2 -2
  67. package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/index.compiled.css +1 -1
  68. package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +1 -1
  69. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.compiled.css +1 -1
  70. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +1 -1
  71. package/dist/esm/view/InlineCard/ForbiddenView/index.compiled.css +1 -1
  72. package/dist/esm/view/InlineCard/ForbiddenView/index.js +1 -1
  73. package/dist/esm/view/InlineCard/IconAndTitleLayout/index.compiled.css +1 -2
  74. package/dist/esm/view/InlineCard/IconAndTitleLayout/index.js +2 -2
  75. package/dist/esm/view/LinkUrl/HyperlinkResolver/error-boundary.js +10 -0
  76. package/dist/esm/view/LinkUrl/HyperlinkResolver/hooks/useScheduledRegister.js +76 -0
  77. package/dist/esm/view/LinkUrl/HyperlinkResolver/index.js +25 -0
  78. package/dist/esm/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.js +60 -0
  79. package/dist/esm/view/LinkUrl/index.js +10 -3
  80. package/dist/types/common/analytics/generated/analytics.types.d.ts +19 -0
  81. package/dist/types/state/hooks-external/useSmartLinkActions.d.ts +6 -1
  82. package/dist/types/utils/iframe-utils.d.ts +5 -0
  83. package/dist/types/view/EmbedModal/types.d.ts +1 -0
  84. package/dist/types/view/LinkUrl/HyperlinkResolver/error-boundary.d.ts +4 -0
  85. package/dist/types/view/LinkUrl/HyperlinkResolver/hooks/useScheduledRegister.d.ts +5 -0
  86. package/dist/types/view/LinkUrl/HyperlinkResolver/index.d.ts +7 -0
  87. package/dist/types/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.d.ts +3 -0
  88. package/dist/types/view/LinkUrl/types.d.ts +4 -0
  89. package/dist/types-ts4.5/common/analytics/generated/analytics.types.d.ts +19 -0
  90. package/dist/types-ts4.5/state/hooks-external/useSmartLinkActions.d.ts +6 -1
  91. package/dist/types-ts4.5/utils/iframe-utils.d.ts +5 -0
  92. package/dist/types-ts4.5/view/EmbedModal/types.d.ts +1 -0
  93. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/error-boundary.d.ts +4 -0
  94. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/hooks/useScheduledRegister.d.ts +5 -0
  95. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/index.d.ts +7 -0
  96. package/dist/types-ts4.5/view/LinkUrl/HyperlinkResolver/resolve-hyperlink.d.ts +3 -0
  97. package/dist/types-ts4.5/view/LinkUrl/types.d.ts +4 -0
  98. package/package.json +6 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 40.19.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`9163aea4d4aee`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9163aea4d4aee) -
8
+ Adds preview panel logic to embedded modal component and adds the ability to trigger the modal
9
+ action from within the useSmartLinkActions hook
10
+
11
+ ### Patch Changes
12
+
13
+ - [`beaa6ee463aa8`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/beaa6ee463aa8) -
14
+ Internal changes to how border radius is applied.
15
+ - Updated dependencies
16
+
17
+ ## 40.18.0
18
+
19
+ ### Minor Changes
20
+
21
+ - [`7992070df7ee6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7992070df7ee6) -
22
+ Add functionality to enable resolving sharepoint hyperlinks on the renderer
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies
27
+
3
28
  ## 40.17.2
4
29
 
5
30
  ### Patch Changes
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.extractInvokePreviewAction = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
11
  var _linkExtractors = require("@atlaskit/link-extractors");
11
12
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
@@ -13,12 +14,15 @@ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
13
14
  var _index = require("../../index");
14
15
  var _helpers = require("../../state/helpers");
15
16
  var _canShowAction = require("../../utils/actions/can-show-action");
17
+ var _iframeUtils = require("../../utils/iframe-utils");
16
18
  var _utils = require("../../view/EmbedModal/utils");
17
19
  var _extractIsSupportTheming = require("../common/meta/extractIsSupportTheming");
18
20
  var _extractIsTrusted = require("../common/meta/extractIsTrusted");
19
21
  var _icon = require("../flexible/icon");
20
22
  var _extractInvokeDownloadAction = require("./extract-invoke-download-action");
21
23
  var _extractInvokeViewAction = require("./extract-invoke-view-action");
24
+ 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; }
25
+ 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) { (0, _defineProperty2.default)(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; }
22
26
  var extractInvokePreviewAction = exports.extractInvokePreviewAction = function extractInvokePreviewAction(param) {
23
27
  var _extractPreviewData;
24
28
  var actionOptions = param.actionOptions,
@@ -37,6 +41,7 @@ var extractInvokePreviewAction = exports.extractInvokePreviewAction = function e
37
41
  var hasPreviewPanel = hasPreviewPanelParams && isPreviewPanelAvailable({
38
42
  ari: ari
39
43
  });
44
+ var isInPreviewPanel = (0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test') && (0, _iframeUtils.isModalWithinPreviewPanelIFrame)();
40
45
  var data = response.data;
41
46
  var meta = response.meta;
42
47
  if (!(0, _canShowAction.canShowAction)(_index.CardAction.PreviewAction, actionOptions)) {
@@ -67,7 +72,7 @@ var extractInvokePreviewAction = exports.extractInvokePreviewAction = function e
67
72
  break;
68
73
  case 4:
69
74
  _context.next = 6;
70
- return (0, _utils.openEmbedModal)({
75
+ return (0, _utils.openEmbedModal)(_objectSpread({
71
76
  fireEvent: fireEvent,
72
77
  extensionKey: extensionKey,
73
78
  id: id,
@@ -83,7 +88,9 @@ var extractInvokePreviewAction = exports.extractInvokePreviewAction = function e
83
88
  title: (0, _linkExtractors.extractSmartLinkTitle)(response),
84
89
  url: url,
85
90
  size: (0, _platformFeatureFlags.fg)('platform_linking_enable_card_preview_action_size') ? actionOptions === null || actionOptions === void 0 || (_actionOptions$previe = actionOptions.previewAction) === null || _actionOptions$previe === void 0 ? void 0 : _actionOptions$previe.size : undefined
86
- });
91
+ }, (0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test') && {
92
+ isInPreviewPanel: isInPreviewPanel
93
+ }));
87
94
  case 6:
88
95
  case "end":
89
96
  return _context.stop();
@@ -9,6 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _react = require("react");
10
10
  var _uuid = _interopRequireDefault(require("uuid"));
11
11
  var _linkProvider = require("@atlaskit/link-provider");
12
+ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
12
13
  var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
13
14
  var _extractInvokeDownloadAction = require("../../extractors/action/extract-invoke-download-action");
14
15
  var _extractInvokePreviewAction = require("../../extractors/action/extract-invoke-preview-action");
@@ -16,6 +17,7 @@ var _extractInvokeViewAction = require("../../extractors/action/extract-invoke-v
16
17
  var _messages = require("../../messages");
17
18
  var _toAction = require("../../utils/actions/to-action");
18
19
  var _useInvokeClientAction = _interopRequireDefault(require("../hooks/use-invoke-client-action"));
20
+ var _useResolve = _interopRequireDefault(require("../hooks/use-resolve"));
19
21
  var _store = require("../store");
20
22
  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; }
21
23
  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) { (0, _defineProperty2.default)(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; }
@@ -23,7 +25,8 @@ function useSmartLinkActions(_ref) {
23
25
  var url = _ref.url,
24
26
  appearance = _ref.appearance,
25
27
  origin = _ref.origin,
26
- actionOptions = _ref.actionOptions;
28
+ actionOptions = _ref.actionOptions,
29
+ prefetch = _ref.prefetch;
27
30
  var id = (0, _react.useMemo)(function () {
28
31
  return (0, _uuid.default)();
29
32
  }, []);
@@ -36,6 +39,10 @@ function useSmartLinkActions(_ref) {
36
39
  var invokeClientAction = (0, _useInvokeClientAction.default)({
37
40
  fireEvent: fireEvent
38
41
  });
42
+ var resolve = (0, _useResolve.default)();
43
+ if ((0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test') && prefetch && !linkState.details) {
44
+ resolve(url);
45
+ }
39
46
  if (linkState.details && !(actionOptions !== null && actionOptions !== void 0 && actionOptions.hide)) {
40
47
  var actions = [];
41
48
  var invokeParam = {
@@ -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: "40.17.1"
14
+ packageVersion: "0.0.0-development"
15
15
  };
16
16
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
17
17
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.openEmbedModalInParent = exports.isWithinPreviewPanel = exports.isModalWithinPreviewPanelIFrame = exports.isInIframe = void 0;
7
+ var isInIframe = exports.isInIframe = function isInIframe() {
8
+ try {
9
+ return window !== window.top;
10
+ } catch (_unused) {
11
+ // If we can't access window.top due to cross-origin restrictions, assume we're in an iframe
12
+ return true;
13
+ }
14
+ };
15
+ var isWithinPreviewPanel = exports.isWithinPreviewPanel = function isWithinPreviewPanel() {
16
+ try {
17
+ var params = new URLSearchParams(window.location.search);
18
+ return params.has('previewPanels') || params.get('embeddedConfluenceSource') === 'confluence-page-preview-panel';
19
+ } catch (_unused2) {
20
+ return false;
21
+ }
22
+ };
23
+ var isModalWithinPreviewPanelIFrame = exports.isModalWithinPreviewPanelIFrame = function isModalWithinPreviewPanelIFrame() {
24
+ return isInIframe() && isWithinPreviewPanel();
25
+ };
26
+
27
+ // Signals parent product to open embed modal via postMessage when in iframe context
28
+ var openEmbedModalInParent = exports.openEmbedModalInParent = function openEmbedModalInParent(modalProps) {
29
+ if (!isInIframe()) {
30
+ return;
31
+ }
32
+ window.parent.postMessage({
33
+ type: 'OPEN_EMBED_MODAL',
34
+ payload: {
35
+ modal: {
36
+ url: (modalProps === null || modalProps === void 0 ? void 0 : modalProps.url) || ''
37
+ }
38
+ }
39
+ }, '*');
40
+ };
@@ -1 +1 @@
1
- ._2rko1twn{border-radius:var(--ds-border-radius-circle,9999px)}
1
+ ._2rko1rr0{border-radius:var(--ds-radius-full,9999px)}
@@ -17,7 +17,7 @@ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
17
17
  var _styled = require("./styled");
18
18
  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); }
19
19
  var styles = {
20
- roundedImage: "_2rko1twn"
20
+ roundedImage: "_2rko1rr0"
21
21
  };
22
22
  var ImageIcon = exports.ImageIcon = function ImageIcon(_ref) {
23
23
  var _ref$alt = _ref.alt,
@@ -1,5 +1,5 @@
1
1
 
2
- ._2rko1sit{border-radius:var(--ds-border-radius,3px)}._18m915vq{overflow-y:hidden}
2
+ ._2rkofajl{border-radius:var(--ds-radius-small,3px)}._18m915vq{overflow-y:hidden}
3
3
  ._18u0utpp{margin-left:var(--ds-space-150,9pt)}
4
4
  ._19pk1b66{margin-top:var(--ds-space-050,4px)}
5
5
  ._1aaxusic{float:right}
@@ -40,7 +40,7 @@ var Image = exports.Image = (0, _react.forwardRef)(function (_ref, __cmplr) {
40
40
  "--_rcxkve": (0, _runtime.ix)(getSizeWithUnit(__cmplp.size))
41
41
  }),
42
42
  ref: __cmplr,
43
- className: (0, _runtime.ax)(["_2rko1sit _1reo15vq _18m915vq _1bsb17ym _4t3i17ym", __cmplp.className])
43
+ className: (0, _runtime.ax)(["_2rkofajl _1reo15vq _18m915vq _1bsb17ym _4t3i17ym", __cmplp.className])
44
44
  }));
45
45
  });
46
46
 
@@ -58,7 +58,7 @@ var Thumbnail = exports.Thumbnail = (0, _react.forwardRef)(function (_ref2, __cm
58
58
  "--_13orr8u": (0, _runtime.ix)("url(".concat(__cmplp.src, ")"))
59
59
  }),
60
60
  ref: __cmplr,
61
- className: (0, _runtime.ax)(["_2rko1sit _1bsbckbl _4t3ickbl _1aaxusic _19pk1b66 _2hwxidpf _otyrutpp _18u0utpp _bfhkqrzy _1lrw1dfr _1itk2pcs", __cmplp.className])
61
+ className: (0, _runtime.ax)(["_2rkofajl _1bsbckbl _4t3ickbl _1aaxusic _19pk1b66 _2hwxidpf _otyrutpp _18u0utpp _bfhkqrzy _1lrw1dfr _1itk2pcs", __cmplp.className])
62
62
  }));
63
63
  });
64
64
  if (process.env.NODE_ENV !== 'production') {
@@ -8,13 +8,18 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.openEmbedModal = openEmbedModal;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14
  var _react = _interopRequireDefault(require("react"));
14
15
  var _reactDom = _interopRequireDefault(require("react-dom"));
15
16
  var _reactIntlNext = require("react-intl-next");
17
+ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
18
+ var _iframeUtils = require("../../utils/iframe-utils");
16
19
  var _excluded = ["onClose"];
17
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
+ 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; }
22
+ 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) { (0, _defineProperty2.default)(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; }
18
23
  var IFRAME_NAME = 'twp-editor-preview-iframe';
19
24
  var POPUP_MOUNT_POINT_ID = 'twp-editor-preview-iframe';
20
25
 
@@ -48,6 +53,19 @@ function _openEmbedModal() {
48
53
  case 0:
49
54
  _ref = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
50
55
  _ref$onClose = _ref.onClose, _onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose, props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
56
+ if (!(0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test')) {
57
+ _context2.next = 6;
58
+ break;
59
+ }
60
+ if (!props.isInPreviewPanel) {
61
+ _context2.next = 6;
62
+ break;
63
+ }
64
+ (0, _iframeUtils.openEmbedModalInParent)(_objectSpread({
65
+ onClose: _onClose
66
+ }, props));
67
+ return _context2.abrupt("return");
68
+ case 6:
51
69
  popupMountPoint = document.getElementById(POPUP_MOUNT_POINT_ID);
52
70
  if (!popupMountPoint) {
53
71
  popupMountPoint = document.createElement('div');
@@ -55,11 +73,11 @@ function _openEmbedModal() {
55
73
  popupMountPoint.setAttribute('data-testid', 'preview-modal');
56
74
  document.body.appendChild(popupMountPoint);
57
75
  }
58
- _context2.next = 6;
76
+ _context2.next = 10;
59
77
  return Promise.resolve().then(function () {
60
78
  return _interopRequireWildcard(require('./index'));
61
79
  });
62
- case 6:
80
+ case 10:
63
81
  Modal = _context2.sent;
64
82
  _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, {
65
83
  locale: "en"
@@ -75,7 +93,7 @@ function _openEmbedModal() {
75
93
  },
76
94
  showModal: true
77
95
  }))), popupMountPoint);
78
- case 8:
96
+ case 12:
79
97
  case "end":
80
98
  return _context2.stop();
81
99
  }
@@ -1,5 +1,5 @@
1
1
 
2
- ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}._18zr1b66{padding-inline:var(--ds-space-050,4px)}
2
+ ._2rko12b0{border-radius:var(--ds-radius-small,4px)}._18zr1b66{padding-inline:var(--ds-space-050,4px)}
3
3
  ._1rjcv77o{padding-block:var(--ds-space-025,2px)}
4
4
  ._19pkutpp{margin-top:var(--ds-space-150,9pt)}
5
5
  ._2hwxutpp{margin-right:var(--ds-space-150,9pt)}
@@ -20,7 +20,7 @@ var _colors = require("@atlaskit/theme/colors");
20
20
  var _menuContext = require("../../menu-context");
21
21
  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); }
22
22
  var styles = {
23
- iconStyle: "_2rkoglpi _18zr1b66 _1rjcv77o _2hwxutpp",
23
+ iconStyle: "_2rko12b0 _18zr1b66 _1rjcv77o _2hwxutpp",
24
24
  modalDescriptionStyle: "_19pkutpp"
25
25
  };
26
26
  var i18n = (0, _reactIntlNext.defineMessages)({
@@ -1,5 +1,5 @@
1
1
 
2
- ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}._189e1bk5{border-width:var(--ds-border-width-outline,2px)}
2
+ ._2rko12b0{border-radius:var(--ds-radius-small,4px)}._189e1bk5{border-width:var(--ds-border-width-outline,2px)}
3
3
  ._189ee4h9{border-width:var(--ds-border-width,1px)}
4
4
  ._1dqonqa1{border-style:solid}
5
5
  ._1h6d15qp{border-color:var(--ds-border-accent-blue,#1d7afc)}
@@ -17,8 +17,8 @@ var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
17
17
  var _menuContext = require("../../menu-context");
18
18
  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); }
19
19
  var styles = {
20
- ruleButtonStyle: "_2rkoglpi _1h6dmuej _1dqonqa1 _189ee4h9",
21
- selectedRuleButtonStyle: "_2rkoglpi _1h6d15qp _1dqonqa1 _189e1bk5",
20
+ ruleButtonStyle: "_2rko12b0 _1h6dmuej _1dqonqa1 _189ee4h9",
21
+ selectedRuleButtonStyle: "_2rko12b0 _1h6d15qp _1dqonqa1 _189e1bk5",
22
22
  ruleNameStyle: "_4t3i1f4h"
23
23
  };
24
24
  var AutomationModalRule = exports.AutomationModalRule = function AutomationModalRule(_ref) {
@@ -1,6 +1,6 @@
1
1
 
2
2
  ._kkk2n7od{all:unset}._11c8dcr7{font:var(--ds-font-body-UNSAFE_small,normal 400 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
3
- ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}
3
+ ._2rko12b0{border-radius:var(--ds-radius-small,4px)}
4
4
  ._18zru2gc{padding-inline:var(--ds-space-100,8px)}
5
5
  ._1rjc12x7{padding-block:var(--ds-space-075,6px)}
6
6
  ._18u0u2gc{margin-left:var(--ds-space-100,8px)}
@@ -15,7 +15,7 @@ var _compiled = require("@atlaskit/primitives/compiled");
15
15
  var _motionWrapper = _interopRequireDefault(require("../../../common/motion-wrapper"));
16
16
  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); }
17
17
  var styles = {
18
- containerStyles: "_kkk2n7od _2rkoglpi _1rjc12x7 _18zru2gc _19pku2gc _2hwxu2gc _otyrze3t _18u0u2gc _1bsb1osq _fiawglyw",
18
+ containerStyles: "_kkk2n7od _2rko12b0 _1rjc12x7 _18zru2gc _19pku2gc _2hwxu2gc _otyrze3t _18u0u2gc _1bsb1osq _fiawglyw",
19
19
  errorContentStyles: "_bozgv77o",
20
20
  titleStyles: "_11c8dcr7 _syaz1gjq"
21
21
  };
@@ -1 +1 @@
1
- ._2rko1twn{border-radius:var(--ds-border-radius-circle,9999px)}
1
+ ._2rko1rr0{border-radius:var(--ds-radius-full,9999px)}
@@ -16,7 +16,7 @@ var _reactRenderImage = _interopRequireDefault(require("react-render-image"));
16
16
  var _loadingSkeleton = require("../loading-skeleton");
17
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); }
18
18
  var styles = {
19
- roundImg: "_2rko1twn"
19
+ roundImg: "_2rko1rr0"
20
20
  };
21
21
  var ImageIcon = function ImageIcon(_ref) {
22
22
  var defaultIcon = _ref.defaultIcon,
@@ -1,5 +1,5 @@
1
1
 
2
- ._2rkogqwt{border-radius:var(--ds-border-radius-050,2px)}._19bvze3t{padding-left:var(--ds-space-0,0)}
2
+ ._2rkolb4i{border-radius:var(--ds-radius-xsmall,2px)}._19bvze3t{padding-left:var(--ds-space-0,0)}
3
3
  ._bfhksm61{background-color:var(--ds-background-neutral-subtle,#00000000)}
4
4
  ._ca0qze3t{padding-top:var(--ds-space-0,0)}
5
5
  ._n3tdze3t{padding-bottom:var(--ds-space-0,0)}
@@ -24,7 +24,7 @@ var _inlineLozenge = _interopRequireDefault(require("../common/inline-lozenge"))
24
24
  var _Frame = require("../Frame");
25
25
  var _IconAndTitleLayout = require("../IconAndTitleLayout");
26
26
  var styles = {
27
- actionButtonLozengeStyle: "_2rkogqwt _bfhksm61 _ca0qze3t _u5f3ze3t _n3tdze3t _19bvze3t _p12f1osq"
27
+ actionButtonLozengeStyle: "_2rkolb4i _bfhksm61 _ca0qze3t _u5f3ze3t _n3tdze3t _19bvze3t _p12f1osq"
28
28
  };
29
29
  var fallbackForbiddenIcon = function fallbackForbiddenIcon() {
30
30
  return /*#__PURE__*/_react.default.createElement(_lockLocked.default, {
@@ -1,6 +1,5 @@
1
1
  ._11c81o8v{font:var(--ds-font-body-small,normal 400 11px/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
- ._2rko1twn{border-radius:var(--ds-border-radius-circle,9999px)}
3
- ._2rkogqwt{border-radius:var(--ds-border-radius-050,2px)}
2
+ ._2rko1rr0{border-radius:var(--ds-radius-full,9999px)}
4
3
  ._2rkolb4i{border-radius:var(--ds-radius-xsmall,2px)}
5
4
  ._154i1ssb{top:50%}
6
5
  ._16d9qvcn{-webkit-box-decoration-break:clone;box-decoration-break:clone}
@@ -29,9 +29,9 @@ var styles = {
29
29
  iconEmptyStyle: "_1bsb7vkz _4t3i1osq _1e0c1o8l _tzy4idpf",
30
30
  iconOuterWrapperStyle: "_1e0c1o8l _2hwx1b66 _kqswh2mm",
31
31
  iconTitleWrapperStyle: "_o5721jtm _1nmz9jpi _16d9qvcn _ca0qv77o _u5f31b66 _n3tdv77o _19bv1b66",
32
- linkStyle: "_2rkogqwt",
32
+ linkStyle: "_2rkolb4i",
33
33
  noLinkAppearanceStyle: "_syaz131l _18u01b66",
34
- roundImageStyle: "_2rko1twn"
34
+ roundImageStyle: "_2rko1rr0"
35
35
  };
36
36
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled,@atlaskit/design-system/no-html-anchor -- Ignored via go/DSP-18766
37
37
  var LinkAppearance = (0, _react.forwardRef)(function (_ref, __cmplr) {
@@ -0,0 +1,17 @@
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 _react = _interopRequireDefault(require("react"));
9
+ var _reactErrorBoundary = require("react-error-boundary");
10
+ var withErrorBoundary = function withErrorBoundary(Component) {
11
+ return function (props) {
12
+ return /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
13
+ fallback: null
14
+ }, /*#__PURE__*/_react.default.createElement(Component, props));
15
+ };
16
+ };
17
+ var _default = exports.default = withErrorBoundary;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useScheduledRegister = void 0;
7
+ var _react = require("react");
8
+ /**
9
+ * This is a scheduled batched register mechanism for resolving blue hyperlinks while the page is idle.
10
+ * i.e. SharePoint tenants with the same hostname will be grouped together before the register is made.
11
+ */
12
+
13
+ var batchQueue = new Map();
14
+ var batchTimeouts = new Map();
15
+ var BATCH_DELAY = 250;
16
+ var executeBatch = function executeBatch(hostname) {
17
+ var items = batchQueue.get(hostname) || [];
18
+ if (items.length === 0) {
19
+ return;
20
+ }
21
+ batchQueue.delete(hostname);
22
+ batchTimeouts.delete(hostname);
23
+ items.forEach(function (_ref) {
24
+ var register = _ref.register,
25
+ resolve = _ref.resolve,
26
+ reject = _ref.reject;
27
+ register().then(resolve).catch(reject);
28
+ });
29
+ };
30
+ var addToBatch = function addToBatch(hostname, item) {
31
+ if (!batchQueue.has(hostname)) {
32
+ batchQueue.set(hostname, []);
33
+ }
34
+ batchQueue.get(hostname).push(item);
35
+ if (batchTimeouts.has(hostname)) {
36
+ clearTimeout(batchTimeouts.get(hostname));
37
+ }
38
+ batchTimeouts.set(hostname, setTimeout(function () {
39
+ executeBatch(hostname);
40
+ }, BATCH_DELAY));
41
+ };
42
+ var useScheduledRegister = exports.useScheduledRegister = function useScheduledRegister(href, register) {
43
+ var isScheduled = (0, _react.useRef)(false);
44
+ var scheduledRegister = (0, _react.useCallback)(function () {
45
+ if (!href || !register || isScheduled.current) {
46
+ return Promise.resolve();
47
+ }
48
+ isScheduled.current = true;
49
+ return new Promise(function (_resolve, _reject) {
50
+ var scheduleRegister = function scheduleRegister() {
51
+ try {
52
+ var hostname = new URL(href).hostname;
53
+ addToBatch(hostname, {
54
+ href: href,
55
+ register: register,
56
+ resolve: function resolve(value) {
57
+ isScheduled.current = false;
58
+ _resolve(value);
59
+ },
60
+ reject: function reject(error) {
61
+ isScheduled.current = false;
62
+ _reject(error);
63
+ }
64
+ });
65
+ } catch (error) {
66
+ isScheduled.current = false;
67
+ register().then(_resolve).catch(_reject);
68
+ }
69
+ };
70
+ if (typeof window !== 'undefined') {
71
+ if ('requestIdleCallback' in window) {
72
+ window.requestIdleCallback(scheduleRegister);
73
+ } else {
74
+ setTimeout(scheduleRegister, 0);
75
+ }
76
+ } else {
77
+ scheduleRegister();
78
+ }
79
+ });
80
+ }, [href, register]);
81
+ return scheduledRegister;
82
+ };
@@ -0,0 +1,34 @@
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.isSharePointDomain = exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
11
+ var _state = require("../../../state");
12
+ var _errorBoundary = _interopRequireDefault(require("./error-boundary"));
13
+ var _resolveHyperlink = require("./resolve-hyperlink");
14
+ 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 isSharePointDomain = exports.isSharePointDomain = function isSharePointDomain(href) {
16
+ try {
17
+ var hostname = new URL(href).hostname.toLowerCase();
18
+ return hostname.includes('sharepoint.com') || hostname.includes('onedrive.com') || hostname.includes('.live.com');
19
+ } catch (_unused) {
20
+ return false;
21
+ }
22
+ };
23
+ var HyperlinkResolver = function HyperlinkResolver(_ref) {
24
+ var href = _ref.href;
25
+ var hasSmartCardProvider = !!(0, _react.useContext)(_state.SmartCardContext);
26
+ var isHyperlinkResolveExperimentEnabled = _featureGateJsClient.default.getExperimentValue('platform_editor_resolve_hyperlinks_confluence', 'isEnabled', false) || _featureGateJsClient.default.getExperimentValue('platform_editor_resolve_hyperlinks_jira', 'isEnabled', false);
27
+ if (!isSharePointDomain(href) || !hasSmartCardProvider || !isHyperlinkResolveExperimentEnabled) {
28
+ return null;
29
+ }
30
+ return /*#__PURE__*/_react.default.createElement(_resolveHyperlink.ResolveHyperlink, {
31
+ href: href
32
+ });
33
+ };
34
+ var _default = exports.default = (0, _errorBoundary.default)(HyperlinkResolver);
@@ -0,0 +1,69 @@
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.ResolveHyperlink = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ var _uuid = _interopRequireDefault(require("uuid"));
12
+ var _useAnalyticsEvents2 = require("../../../common/analytics/generated/use-analytics-events");
13
+ var _actions = require("../../../state/actions");
14
+ var _helpers = require("../../../state/helpers");
15
+ var _store = require("../../../state/store");
16
+ var measure = _interopRequireWildcard(require("../../../utils/performance"));
17
+ var _useScheduledRegister = require("./hooks/useScheduledRegister");
18
+ 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); }
19
+ var ResolveHyperlink = exports.ResolveHyperlink = function ResolveHyperlink(_ref) {
20
+ var href = _ref.href;
21
+ var _useState = (0, _react.useState)(function () {
22
+ return (0, _uuid.default)();
23
+ }),
24
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
25
+ id = _useState2[0];
26
+ var state = (0, _store.useSmartCardState)(href);
27
+ var definitionId = (0, _helpers.getDefinitionId)(state.details);
28
+ var extensionKey = (0, _helpers.getExtensionKey)(state.details);
29
+ var resourceType = (0, _helpers.getResourceType)(state.details);
30
+ var _useSmartCardActions = (0, _actions.useSmartCardActions)(id, href),
31
+ register = _useSmartCardActions.register;
32
+ var scheduledRegister = (0, _useScheduledRegister.useScheduledRegister)(href, register);
33
+ var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
34
+ fireEvent = _useAnalyticsEvents.fireEvent;
35
+ (0, _react.useEffect)(function () {
36
+ scheduledRegister().catch(function (error) {
37
+ throw error;
38
+ });
39
+ }, [scheduledRegister]);
40
+ (0, _react.useEffect)(function () {
41
+ measure.mark(id, state.status);
42
+ if (state.status !== 'pending' && state.status !== 'resolving') {
43
+ var _state$error, _state$error2;
44
+ measure.create(id, state.status);
45
+ if (state.status === 'resolved') {
46
+ var _measure$getMeasure$d, _measure$getMeasure;
47
+ fireEvent('operational.hyperlink.resolved', {
48
+ definitionId: definitionId !== null && definitionId !== void 0 ? definitionId : null,
49
+ extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : null,
50
+ resourceType: resourceType !== null && resourceType !== void 0 ? resourceType : null,
51
+ duration: (_measure$getMeasure$d = (_measure$getMeasure = measure.getMeasure(id, state.status)) === null || _measure$getMeasure === void 0 ? void 0 : _measure$getMeasure.duration) !== null && _measure$getMeasure$d !== void 0 ? _measure$getMeasure$d : null
52
+ });
53
+ } else if (((_state$error = state.error) === null || _state$error === void 0 ? void 0 : _state$error.type) !== 'ResolveUnsupportedError' && ((_state$error2 = state.error) === null || _state$error2 === void 0 ? void 0 : _state$error2.type) !== 'UnsupportedError') {
54
+ fireEvent('operational.hyperlink.unresolved', {
55
+ definitionId: definitionId !== null && definitionId !== void 0 ? definitionId : null,
56
+ extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : null,
57
+ resourceType: resourceType !== null && resourceType !== void 0 ? resourceType : null,
58
+ reason: state.status,
59
+ error: state.error === undefined ? null : {
60
+ name: state.error.name,
61
+ kind: state.error.kind,
62
+ type: state.error.type
63
+ }
64
+ });
65
+ }
66
+ }
67
+ }, [id, state.status, state.error, definitionId, extensionKey, resourceType, fireEvent]);
68
+ return null;
69
+ };