@atlaskit/smart-card 26.11.0 → 26.11.1
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 +6 -0
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/LinkUrl/LinkWarningModal/hooks/use-link-warning-modal.js +15 -4
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/LinkUrl/LinkWarningModal/hooks/use-link-warning-modal.js +15 -4
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/LinkUrl/LinkWarningModal/hooks/use-link-warning-modal.js +15 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/cjs/version.json
CHANGED
|
@@ -10,6 +10,13 @@ var _react = require("react");
|
|
|
10
10
|
var _url = require("@atlaskit/linking-common/url");
|
|
11
11
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
12
12
|
var _analytics = require("../../../../utils/analytics");
|
|
13
|
+
var toUrl = function toUrl(url, base) {
|
|
14
|
+
try {
|
|
15
|
+
return new URL(url, base);
|
|
16
|
+
} catch (_unused) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
13
20
|
var useLinkWarningModal = function useLinkWarningModal() {
|
|
14
21
|
var _useState = (0, _react.useState)(null),
|
|
15
22
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -57,8 +64,9 @@ var useLinkWarningModal = function useLinkWarningModal() {
|
|
|
57
64
|
return true;
|
|
58
65
|
}
|
|
59
66
|
var anchorLinkRegex = new RegExp(/^#/im);
|
|
60
|
-
var
|
|
61
|
-
|
|
67
|
+
var isLinkTextAnchorLink = anchorLinkRegex.test(linkText);
|
|
68
|
+
var isAnchorLink = anchorLinkRegex.test(href);
|
|
69
|
+
if (isAnchorLink || isLinkTextAnchorLink) {
|
|
62
70
|
return true;
|
|
63
71
|
}
|
|
64
72
|
var relativeLinkRegex = new RegExp(/^\//im);
|
|
@@ -66,8 +74,11 @@ var useLinkWarningModal = function useLinkWarningModal() {
|
|
|
66
74
|
if (isRelativeHrefLink) {
|
|
67
75
|
return true;
|
|
68
76
|
}
|
|
69
|
-
var hrefUrl =
|
|
70
|
-
var linkTextUrl =
|
|
77
|
+
var hrefUrl = toUrl(href, window.location.origin);
|
|
78
|
+
var linkTextUrl = toUrl(normalisedUrlFromLinkText, hrefUrl === null || hrefUrl === void 0 ? void 0 : hrefUrl.origin);
|
|
79
|
+
if (!hrefUrl || !linkTextUrl) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
71
82
|
var httpProtocols = ['http:', 'https:'];
|
|
72
83
|
var areProtocolsEquivalent;
|
|
73
84
|
if (httpProtocols.includes(linkTextUrl.protocol) && httpProtocols.includes(hrefUrl.protocol)) {
|
package/dist/es2019/version.json
CHANGED
|
@@ -2,6 +2,13 @@ import { useState } from 'react';
|
|
|
2
2
|
import { normalizeUrl } from '@atlaskit/linking-common/url';
|
|
3
3
|
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
4
4
|
import { ANALYTICS_CHANNEL } from '../../../../utils/analytics';
|
|
5
|
+
const toUrl = (url, base) => {
|
|
6
|
+
try {
|
|
7
|
+
return new URL(url, base);
|
|
8
|
+
} catch {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
5
12
|
export const useLinkWarningModal = () => {
|
|
6
13
|
const [unsafeLinkText, setUnsafeLinkText] = useState(null);
|
|
7
14
|
const [url, setUrl] = useState(null);
|
|
@@ -41,8 +48,9 @@ export const useLinkWarningModal = () => {
|
|
|
41
48
|
return true;
|
|
42
49
|
}
|
|
43
50
|
const anchorLinkRegex = new RegExp(/^#/im);
|
|
44
|
-
const
|
|
45
|
-
|
|
51
|
+
const isLinkTextAnchorLink = anchorLinkRegex.test(linkText);
|
|
52
|
+
const isAnchorLink = anchorLinkRegex.test(href);
|
|
53
|
+
if (isAnchorLink || isLinkTextAnchorLink) {
|
|
46
54
|
return true;
|
|
47
55
|
}
|
|
48
56
|
const relativeLinkRegex = new RegExp(/^\//im);
|
|
@@ -50,8 +58,11 @@ export const useLinkWarningModal = () => {
|
|
|
50
58
|
if (isRelativeHrefLink) {
|
|
51
59
|
return true;
|
|
52
60
|
}
|
|
53
|
-
const hrefUrl =
|
|
54
|
-
const linkTextUrl =
|
|
61
|
+
const hrefUrl = toUrl(href, window.location.origin);
|
|
62
|
+
const linkTextUrl = toUrl(normalisedUrlFromLinkText, hrefUrl === null || hrefUrl === void 0 ? void 0 : hrefUrl.origin);
|
|
63
|
+
if (!hrefUrl || !linkTextUrl) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
55
66
|
const httpProtocols = ['http:', 'https:'];
|
|
56
67
|
let areProtocolsEquivalent;
|
|
57
68
|
if (httpProtocols.includes(linkTextUrl.protocol) && httpProtocols.includes(hrefUrl.protocol)) {
|
package/dist/esm/version.json
CHANGED
|
@@ -3,6 +3,13 @@ import { useState } from 'react';
|
|
|
3
3
|
import { normalizeUrl } from '@atlaskit/linking-common/url';
|
|
4
4
|
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
5
5
|
import { ANALYTICS_CHANNEL } from '../../../../utils/analytics';
|
|
6
|
+
var toUrl = function toUrl(url, base) {
|
|
7
|
+
try {
|
|
8
|
+
return new URL(url, base);
|
|
9
|
+
} catch (_unused) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
6
13
|
export var useLinkWarningModal = function useLinkWarningModal() {
|
|
7
14
|
var _useState = useState(null),
|
|
8
15
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -50,8 +57,9 @@ export var useLinkWarningModal = function useLinkWarningModal() {
|
|
|
50
57
|
return true;
|
|
51
58
|
}
|
|
52
59
|
var anchorLinkRegex = new RegExp(/^#/im);
|
|
53
|
-
var
|
|
54
|
-
|
|
60
|
+
var isLinkTextAnchorLink = anchorLinkRegex.test(linkText);
|
|
61
|
+
var isAnchorLink = anchorLinkRegex.test(href);
|
|
62
|
+
if (isAnchorLink || isLinkTextAnchorLink) {
|
|
55
63
|
return true;
|
|
56
64
|
}
|
|
57
65
|
var relativeLinkRegex = new RegExp(/^\//im);
|
|
@@ -59,8 +67,11 @@ export var useLinkWarningModal = function useLinkWarningModal() {
|
|
|
59
67
|
if (isRelativeHrefLink) {
|
|
60
68
|
return true;
|
|
61
69
|
}
|
|
62
|
-
var hrefUrl =
|
|
63
|
-
var linkTextUrl =
|
|
70
|
+
var hrefUrl = toUrl(href, window.location.origin);
|
|
71
|
+
var linkTextUrl = toUrl(normalisedUrlFromLinkText, hrefUrl === null || hrefUrl === void 0 ? void 0 : hrefUrl.origin);
|
|
72
|
+
if (!hrefUrl || !linkTextUrl) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
64
75
|
var httpProtocols = ['http:', 'https:'];
|
|
65
76
|
var areProtocolsEquivalent;
|
|
66
77
|
if (httpProtocols.includes(linkTextUrl.protocol) && httpProtocols.includes(hrefUrl.protocol)) {
|