@atlaskit/smart-card 26.5.13 → 26.5.14

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.5.14
4
+
5
+ ### Patch Changes
6
+
7
+ - [`fd2375e6f26`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fd2375e6f26) - [ux] Prevent skipping of warning modal when onClick callback programatically opens a window. OnClick function is no longer called if the warning modal is shown. This will prevent link click analytics from firing but there is no easy way to distinguish the effects of what happens within onClick. Additionally, clicking continue in the warning modal will always open the link in a new tab.
8
+
3
9
  ## 26.5.13
4
10
 
5
11
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.5.13",
3
+ "version": "26.5.14",
4
4
  "sideEffects": false
5
5
  }
@@ -25,37 +25,46 @@ var useLinkWarningModal = function useLinkWarningModal() {
25
25
  setIsOpen = _useState6[1];
26
26
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
27
27
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
28
- var sendAnalyticsEvent = function sendAnalyticsEvent() {
28
+ var sendWarningModalViewedEvent = function sendWarningModalViewedEvent() {
29
29
  createAnalyticsEvent({
30
- action: 'shown',
31
- actionSubject: 'warningModal',
32
- actionSubjectId: 'linkSafetyWarning',
33
- eventType: 'operational'
30
+ action: 'viewed',
31
+ actionSubject: 'linkSafetyWarningModal',
32
+ eventType: 'screen',
33
+ name: 'linkSafetyWarningModal'
34
+ }).fire(_analytics.ANALYTICS_CHANNEL);
35
+ };
36
+ var sendContinueClickedEvent = function sendContinueClickedEvent() {
37
+ createAnalyticsEvent({
38
+ action: 'clicked',
39
+ actionSubject: 'button',
40
+ actionSubjectId: 'linkSafetyWarningModalContinue',
41
+ eventType: 'ui',
42
+ screen: 'linkSafetyWarningModal'
34
43
  }).fire(_analytics.ANALYTICS_CHANNEL);
35
44
  };
36
45
 
37
46
  /**
38
47
  * It checks and warns if a link text is a URL and different from an actual link destination
39
48
  */
40
- var checkLinkSafety = function checkLinkSafety(event, href) {
49
+ var isLinkSafe = function isLinkSafe(event, href) {
41
50
  if (!href) {
42
- return;
51
+ return true;
43
52
  }
44
53
  var anchor = event.currentTarget;
45
54
  var linkText = anchor.innerText;
46
55
  var normalisedUrlFromLinkText = (0, _url.normalizeUrl)(linkText);
47
56
  if (!normalisedUrlFromLinkText) {
48
- return;
57
+ return true;
49
58
  }
50
59
  var anchorLinkRegex = new RegExp(/^#/im);
51
60
  var isAnchorLink = anchorLinkRegex.test(linkText);
52
61
  if (isAnchorLink) {
53
- return;
62
+ return true;
54
63
  }
55
64
  var relativeLinkRegex = new RegExp(/^\//im);
56
65
  var isRelativeHrefLink = relativeLinkRegex.test(href);
57
66
  if (isRelativeHrefLink) {
58
- return;
67
+ return true;
59
68
  }
60
69
  var hrefUrl = new URL(href, window.location.origin);
61
70
  var linkTextUrl = new URL(normalisedUrlFromLinkText, hrefUrl.origin);
@@ -69,12 +78,18 @@ var useLinkWarningModal = function useLinkWarningModal() {
69
78
  }
70
79
  var areEquivalentLinks = linkTextUrl.hostname === hrefUrl.hostname && linkTextUrl.pathname === hrefUrl.pathname && linkTextUrl.search === hrefUrl.search && linkTextUrl.username === hrefUrl.username && linkTextUrl.password === hrefUrl.password && areProtocolsEquivalent;
71
80
  if (!areEquivalentLinks) {
72
- event.preventDefault();
73
- setUnsafeLinkText(linkText);
74
- href && setUrl(href);
75
- setIsOpen(true);
76
- sendAnalyticsEvent();
81
+ return false;
77
82
  }
83
+ return true;
84
+ };
85
+ var showSafetyWarningModal = function showSafetyWarningModal(event, href) {
86
+ event.preventDefault();
87
+ var anchor = event.currentTarget;
88
+ var linkText = anchor.innerText;
89
+ setUnsafeLinkText(linkText);
90
+ href && setUrl(href);
91
+ setIsOpen(true);
92
+ sendWarningModalViewedEvent();
78
93
  };
79
94
  var onClose = function onClose() {
80
95
  setIsOpen(false);
@@ -83,14 +98,16 @@ var useLinkWarningModal = function useLinkWarningModal() {
83
98
  };
84
99
  var onContinue = function onContinue() {
85
100
  onClose();
86
- url && window.location.assign(url);
101
+ sendContinueClickedEvent();
102
+ url && window.open(url, '_blank', 'noopener noreferrer');
87
103
  };
88
104
  return {
89
- checkLinkSafety: checkLinkSafety,
90
- unsafeLinkText: unsafeLinkText,
105
+ isLinkSafe: isLinkSafe,
106
+ isOpen: isOpen,
91
107
  onClose: onClose,
92
108
  onContinue: onContinue,
93
- isOpen: isOpen,
109
+ showSafetyWarningModal: showSafetyWarningModal,
110
+ unsafeLinkText: unsafeLinkText,
94
111
  url: url
95
112
  };
96
113
  };
@@ -14,8 +14,9 @@ var _click = require("../../utils/analytics/click");
14
14
  var _LinkAnalyticsContext = require("../../utils/analytics/LinkAnalyticsContext");
15
15
  var _useLinkWarningModal2 = require("./LinkWarningModal/hooks/use-link-warning-modal");
16
16
  var _LinkWarningModal = _interopRequireDefault(require("./LinkWarningModal"));
17
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
18
  var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
18
- _excluded2 = ["checkLinkSafety"];
19
+ _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
19
20
  var PACKAGE_DATA = {
20
21
  packageName: _version.name,
21
22
  packageVersion: _version.version,
@@ -32,7 +33,8 @@ var LinkUrl = function LinkUrl(_ref) {
32
33
  testId = _ref$testId === void 0 ? 'link-with-safety' : _ref$testId,
33
34
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
35
  var _useLinkWarningModal = (0, _useLinkWarningModal2.useLinkWarningModal)(),
35
- checkLinkSafety = _useLinkWarningModal.checkLinkSafety,
36
+ isLinkSafe = _useLinkWarningModal.isLinkSafe,
37
+ showSafetyWarningModal = _useLinkWarningModal.showSafetyWarningModal,
36
38
  linkWarningModalProps = (0, _objectWithoutProperties2.default)(_useLinkWarningModal, _excluded2);
37
39
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_LinkAnalyticsContext.LinkAnalyticsContext, {
38
40
  url: href,
@@ -41,8 +43,25 @@ var LinkUrl = function LinkUrl(_ref) {
41
43
  "data-testid": testId,
42
44
  href: href,
43
45
  onClick: function onClick(e) {
44
- checkSafety && checkLinkSafety(e, href);
45
- _onClick && _onClick(e);
46
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.should-call-onclick-in-warning-modal-only-when-safe')) {
47
+ if (!checkSafety) {
48
+ _onClick && _onClick(e);
49
+ return;
50
+ }
51
+
52
+ // Only call the onClick if the link is safe
53
+ if (isLinkSafe(e, href)) {
54
+ _onClick && _onClick(e);
55
+ } else {
56
+ showSafetyWarningModal(e, href);
57
+ }
58
+ } else {
59
+ if (checkSafety && !isLinkSafe(e, href)) {
60
+ showSafetyWarningModal(e, href);
61
+ }
62
+ // Call the onClick regardless of the link safety
63
+ _onClick && _onClick(e);
64
+ }
46
65
  }
47
66
  }, props), children)), checkSafety && /*#__PURE__*/_react.default.createElement(_LinkWarningModal.default, linkWarningModalProps));
48
67
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.5.13",
3
+ "version": "26.5.14",
4
4
  "sideEffects": false
5
5
  }
@@ -9,37 +9,46 @@ export const useLinkWarningModal = () => {
9
9
  const {
10
10
  createAnalyticsEvent
11
11
  } = useAnalyticsEvents();
12
- const sendAnalyticsEvent = () => {
12
+ const sendWarningModalViewedEvent = () => {
13
13
  createAnalyticsEvent({
14
- action: 'shown',
15
- actionSubject: 'warningModal',
16
- actionSubjectId: 'linkSafetyWarning',
17
- eventType: 'operational'
14
+ action: 'viewed',
15
+ actionSubject: 'linkSafetyWarningModal',
16
+ eventType: 'screen',
17
+ name: 'linkSafetyWarningModal'
18
+ }).fire(ANALYTICS_CHANNEL);
19
+ };
20
+ const sendContinueClickedEvent = () => {
21
+ createAnalyticsEvent({
22
+ action: 'clicked',
23
+ actionSubject: 'button',
24
+ actionSubjectId: 'linkSafetyWarningModalContinue',
25
+ eventType: 'ui',
26
+ screen: 'linkSafetyWarningModal'
18
27
  }).fire(ANALYTICS_CHANNEL);
19
28
  };
20
29
 
21
30
  /**
22
31
  * It checks and warns if a link text is a URL and different from an actual link destination
23
32
  */
24
- const checkLinkSafety = (event, href) => {
33
+ const isLinkSafe = (event, href) => {
25
34
  if (!href) {
26
- return;
35
+ return true;
27
36
  }
28
37
  const anchor = event.currentTarget;
29
38
  const linkText = anchor.innerText;
30
39
  const normalisedUrlFromLinkText = normalizeUrl(linkText);
31
40
  if (!normalisedUrlFromLinkText) {
32
- return;
41
+ return true;
33
42
  }
34
43
  const anchorLinkRegex = new RegExp(/^#/im);
35
44
  const isAnchorLink = anchorLinkRegex.test(linkText);
36
45
  if (isAnchorLink) {
37
- return;
46
+ return true;
38
47
  }
39
48
  const relativeLinkRegex = new RegExp(/^\//im);
40
49
  const isRelativeHrefLink = relativeLinkRegex.test(href);
41
50
  if (isRelativeHrefLink) {
42
- return;
51
+ return true;
43
52
  }
44
53
  const hrefUrl = new URL(href, window.location.origin);
45
54
  const linkTextUrl = new URL(normalisedUrlFromLinkText, hrefUrl.origin);
@@ -53,12 +62,18 @@ export const useLinkWarningModal = () => {
53
62
  }
54
63
  const areEquivalentLinks = linkTextUrl.hostname === hrefUrl.hostname && linkTextUrl.pathname === hrefUrl.pathname && linkTextUrl.search === hrefUrl.search && linkTextUrl.username === hrefUrl.username && linkTextUrl.password === hrefUrl.password && areProtocolsEquivalent;
55
64
  if (!areEquivalentLinks) {
56
- event.preventDefault();
57
- setUnsafeLinkText(linkText);
58
- href && setUrl(href);
59
- setIsOpen(true);
60
- sendAnalyticsEvent();
65
+ return false;
61
66
  }
67
+ return true;
68
+ };
69
+ const showSafetyWarningModal = (event, href) => {
70
+ event.preventDefault();
71
+ const anchor = event.currentTarget;
72
+ const linkText = anchor.innerText;
73
+ setUnsafeLinkText(linkText);
74
+ href && setUrl(href);
75
+ setIsOpen(true);
76
+ sendWarningModalViewedEvent();
62
77
  };
63
78
  const onClose = () => {
64
79
  setIsOpen(false);
@@ -67,14 +82,16 @@ export const useLinkWarningModal = () => {
67
82
  };
68
83
  const onContinue = () => {
69
84
  onClose();
70
- url && window.location.assign(url);
85
+ sendContinueClickedEvent();
86
+ url && window.open(url, '_blank', 'noopener noreferrer');
71
87
  };
72
88
  return {
73
- checkLinkSafety,
74
- unsafeLinkText,
89
+ isLinkSafe,
90
+ isOpen,
75
91
  onClose,
76
92
  onContinue,
77
- isOpen,
93
+ showSafetyWarningModal,
94
+ unsafeLinkText,
78
95
  url
79
96
  };
80
97
  };
@@ -6,6 +6,7 @@ import { withLinkClickedEvent } from '../../utils/analytics/click';
6
6
  import { LinkAnalyticsContext } from '../../utils/analytics/LinkAnalyticsContext';
7
7
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
8
8
  import LinkWarningModal from './LinkWarningModal';
9
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
10
  const PACKAGE_DATA = {
10
11
  packageName,
11
12
  packageVersion,
@@ -21,7 +22,8 @@ const LinkUrl = ({
21
22
  ...props
22
23
  }) => {
23
24
  const {
24
- checkLinkSafety,
25
+ isLinkSafe,
26
+ showSafetyWarningModal,
25
27
  ...linkWarningModalProps
26
28
  } = useLinkWarningModal();
27
29
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LinkAnalyticsContext, {
@@ -31,8 +33,25 @@ const LinkUrl = ({
31
33
  "data-testid": testId,
32
34
  href: href,
33
35
  onClick: e => {
34
- checkSafety && checkLinkSafety(e, href);
35
- onClick && onClick(e);
36
+ if (getBooleanFF('platform.linking-platform.smart-card.should-call-onclick-in-warning-modal-only-when-safe')) {
37
+ if (!checkSafety) {
38
+ onClick && onClick(e);
39
+ return;
40
+ }
41
+
42
+ // Only call the onClick if the link is safe
43
+ if (isLinkSafe(e, href)) {
44
+ onClick && onClick(e);
45
+ } else {
46
+ showSafetyWarningModal(e, href);
47
+ }
48
+ } else {
49
+ if (checkSafety && !isLinkSafe(e, href)) {
50
+ showSafetyWarningModal(e, href);
51
+ }
52
+ // Call the onClick regardless of the link safety
53
+ onClick && onClick(e);
54
+ }
36
55
  }
37
56
  }, props), children)), checkSafety && /*#__PURE__*/React.createElement(LinkWarningModal, linkWarningModalProps));
38
57
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.5.13",
3
+ "version": "26.5.14",
4
4
  "sideEffects": false
5
5
  }
@@ -18,37 +18,46 @@ export var useLinkWarningModal = function useLinkWarningModal() {
18
18
  setIsOpen = _useState6[1];
19
19
  var _useAnalyticsEvents = useAnalyticsEvents(),
20
20
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
21
- var sendAnalyticsEvent = function sendAnalyticsEvent() {
21
+ var sendWarningModalViewedEvent = function sendWarningModalViewedEvent() {
22
22
  createAnalyticsEvent({
23
- action: 'shown',
24
- actionSubject: 'warningModal',
25
- actionSubjectId: 'linkSafetyWarning',
26
- eventType: 'operational'
23
+ action: 'viewed',
24
+ actionSubject: 'linkSafetyWarningModal',
25
+ eventType: 'screen',
26
+ name: 'linkSafetyWarningModal'
27
+ }).fire(ANALYTICS_CHANNEL);
28
+ };
29
+ var sendContinueClickedEvent = function sendContinueClickedEvent() {
30
+ createAnalyticsEvent({
31
+ action: 'clicked',
32
+ actionSubject: 'button',
33
+ actionSubjectId: 'linkSafetyWarningModalContinue',
34
+ eventType: 'ui',
35
+ screen: 'linkSafetyWarningModal'
27
36
  }).fire(ANALYTICS_CHANNEL);
28
37
  };
29
38
 
30
39
  /**
31
40
  * It checks and warns if a link text is a URL and different from an actual link destination
32
41
  */
33
- var checkLinkSafety = function checkLinkSafety(event, href) {
42
+ var isLinkSafe = function isLinkSafe(event, href) {
34
43
  if (!href) {
35
- return;
44
+ return true;
36
45
  }
37
46
  var anchor = event.currentTarget;
38
47
  var linkText = anchor.innerText;
39
48
  var normalisedUrlFromLinkText = normalizeUrl(linkText);
40
49
  if (!normalisedUrlFromLinkText) {
41
- return;
50
+ return true;
42
51
  }
43
52
  var anchorLinkRegex = new RegExp(/^#/im);
44
53
  var isAnchorLink = anchorLinkRegex.test(linkText);
45
54
  if (isAnchorLink) {
46
- return;
55
+ return true;
47
56
  }
48
57
  var relativeLinkRegex = new RegExp(/^\//im);
49
58
  var isRelativeHrefLink = relativeLinkRegex.test(href);
50
59
  if (isRelativeHrefLink) {
51
- return;
60
+ return true;
52
61
  }
53
62
  var hrefUrl = new URL(href, window.location.origin);
54
63
  var linkTextUrl = new URL(normalisedUrlFromLinkText, hrefUrl.origin);
@@ -62,12 +71,18 @@ export var useLinkWarningModal = function useLinkWarningModal() {
62
71
  }
63
72
  var areEquivalentLinks = linkTextUrl.hostname === hrefUrl.hostname && linkTextUrl.pathname === hrefUrl.pathname && linkTextUrl.search === hrefUrl.search && linkTextUrl.username === hrefUrl.username && linkTextUrl.password === hrefUrl.password && areProtocolsEquivalent;
64
73
  if (!areEquivalentLinks) {
65
- event.preventDefault();
66
- setUnsafeLinkText(linkText);
67
- href && setUrl(href);
68
- setIsOpen(true);
69
- sendAnalyticsEvent();
74
+ return false;
70
75
  }
76
+ return true;
77
+ };
78
+ var showSafetyWarningModal = function showSafetyWarningModal(event, href) {
79
+ event.preventDefault();
80
+ var anchor = event.currentTarget;
81
+ var linkText = anchor.innerText;
82
+ setUnsafeLinkText(linkText);
83
+ href && setUrl(href);
84
+ setIsOpen(true);
85
+ sendWarningModalViewedEvent();
71
86
  };
72
87
  var onClose = function onClose() {
73
88
  setIsOpen(false);
@@ -76,14 +91,16 @@ export var useLinkWarningModal = function useLinkWarningModal() {
76
91
  };
77
92
  var onContinue = function onContinue() {
78
93
  onClose();
79
- url && window.location.assign(url);
94
+ sendContinueClickedEvent();
95
+ url && window.open(url, '_blank', 'noopener noreferrer');
80
96
  };
81
97
  return {
82
- checkLinkSafety: checkLinkSafety,
83
- unsafeLinkText: unsafeLinkText,
98
+ isLinkSafe: isLinkSafe,
99
+ isOpen: isOpen,
84
100
  onClose: onClose,
85
101
  onContinue: onContinue,
86
- isOpen: isOpen,
102
+ showSafetyWarningModal: showSafetyWarningModal,
103
+ unsafeLinkText: unsafeLinkText,
87
104
  url: url
88
105
  };
89
106
  };
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
4
- _excluded2 = ["checkLinkSafety"];
4
+ _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
5
5
  import React from 'react';
6
6
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
7
7
  import { name as packageName, version as packageVersion } from '../../version.json';
@@ -9,6 +9,7 @@ import { withLinkClickedEvent } from '../../utils/analytics/click';
9
9
  import { LinkAnalyticsContext } from '../../utils/analytics/LinkAnalyticsContext';
10
10
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
11
11
  import LinkWarningModal from './LinkWarningModal';
12
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
12
13
  var PACKAGE_DATA = {
13
14
  packageName: packageName,
14
15
  packageVersion: packageVersion,
@@ -25,7 +26,8 @@ var LinkUrl = function LinkUrl(_ref) {
25
26
  testId = _ref$testId === void 0 ? 'link-with-safety' : _ref$testId,
26
27
  props = _objectWithoutProperties(_ref, _excluded);
27
28
  var _useLinkWarningModal = useLinkWarningModal(),
28
- checkLinkSafety = _useLinkWarningModal.checkLinkSafety,
29
+ isLinkSafe = _useLinkWarningModal.isLinkSafe,
30
+ showSafetyWarningModal = _useLinkWarningModal.showSafetyWarningModal,
29
31
  linkWarningModalProps = _objectWithoutProperties(_useLinkWarningModal, _excluded2);
30
32
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LinkAnalyticsContext, {
31
33
  url: href,
@@ -34,8 +36,25 @@ var LinkUrl = function LinkUrl(_ref) {
34
36
  "data-testid": testId,
35
37
  href: href,
36
38
  onClick: function onClick(e) {
37
- checkSafety && checkLinkSafety(e, href);
38
- _onClick && _onClick(e);
39
+ if (getBooleanFF('platform.linking-platform.smart-card.should-call-onclick-in-warning-modal-only-when-safe')) {
40
+ if (!checkSafety) {
41
+ _onClick && _onClick(e);
42
+ return;
43
+ }
44
+
45
+ // Only call the onClick if the link is safe
46
+ if (isLinkSafe(e, href)) {
47
+ _onClick && _onClick(e);
48
+ } else {
49
+ showSafetyWarningModal(e, href);
50
+ }
51
+ } else {
52
+ if (checkSafety && !isLinkSafe(e, href)) {
53
+ showSafetyWarningModal(e, href);
54
+ }
55
+ // Call the onClick regardless of the link safety
56
+ _onClick && _onClick(e);
57
+ }
39
58
  }
40
59
  }, props), children)), checkSafety && /*#__PURE__*/React.createElement(LinkWarningModal, linkWarningModalProps));
41
60
  };
@@ -1,9 +1,10 @@
1
1
  import { MouseEvent } from 'react';
2
2
  export declare const useLinkWarningModal: () => {
3
- checkLinkSafety: (event: MouseEvent<HTMLAnchorElement>, href: string | undefined) => void;
4
- unsafeLinkText: string | null;
3
+ isLinkSafe: (event: MouseEvent<HTMLAnchorElement>, href: string | undefined) => boolean;
4
+ isOpen: boolean;
5
5
  onClose: () => void;
6
6
  onContinue: () => void;
7
- isOpen: boolean;
7
+ showSafetyWarningModal: (event: MouseEvent<HTMLAnchorElement>, href: string | undefined) => void;
8
+ unsafeLinkText: string | null;
8
9
  url: string | null;
9
10
  };
@@ -1,9 +1,10 @@
1
1
  import { MouseEvent } from 'react';
2
2
  export declare const useLinkWarningModal: () => {
3
- checkLinkSafety: (event: MouseEvent<HTMLAnchorElement>, href: string | undefined) => void;
4
- unsafeLinkText: string | null;
3
+ isLinkSafe: (event: MouseEvent<HTMLAnchorElement>, href: string | undefined) => boolean;
4
+ isOpen: boolean;
5
5
  onClose: () => void;
6
6
  onContinue: () => void;
7
- isOpen: boolean;
7
+ showSafetyWarningModal: (event: MouseEvent<HTMLAnchorElement>, href: string | undefined) => void;
8
+ unsafeLinkText: string | null;
8
9
  url: string | null;
9
10
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.5.13",
3
+ "version": "26.5.14",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -149,6 +149,9 @@
149
149
  },
150
150
  "platform.linking-platform.smart-card.enable-block-card-clicks-opening-in-same-tab": {
151
151
  "type": "boolean"
152
+ },
153
+ "platform.linking-platform.smart-card.should-call-onclick-in-warning-modal-only-when-safe": {
154
+ "type": "boolean"
152
155
  }
153
156
  },
154
157
  "prettier": "@atlassian/atlassian-frontend-prettier-config-1.0.1",