@royaloperahouse/chord 2.1.8-a-chord-development → 2.1.8-chord-development
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 +9 -0
- package/dist/chord.cjs.development.js +42 -2
- package/dist/chord.cjs.development.js.map +1 -1
- package/dist/chord.cjs.production.min.js +1 -1
- package/dist/chord.cjs.production.min.js.map +1 -1
- package/dist/chord.esm.js +42 -2
- package/dist/chord.esm.js.map +1 -1
- package/dist/helpers/urls.d.ts +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6743,7 +6743,47 @@ var PrimaryButtonWithInversion = /*#__PURE__*/styled__default(PrimaryButton)(_te
|
|
|
6743
6743
|
return invert ? theme.colors.white : theme.colors.black;
|
|
6744
6744
|
});
|
|
6745
6745
|
|
|
6746
|
+
// NOTE: This function is not SSR compatible
|
|
6747
|
+
|
|
6748
|
+
var isSameSiteUrl = function isSameSiteUrl(url) {
|
|
6749
|
+
var _window;
|
|
6750
|
+
|
|
6751
|
+
if (url[0] === '/') return true; // URL is relative (e.g. /about)
|
|
6752
|
+
|
|
6753
|
+
if (!window || !((_window = window) != null && _window.location)) return false; // window.location is not available (e.g. in SSR)
|
|
6754
|
+
|
|
6755
|
+
var currentPageURL = window.location.href || '';
|
|
6756
|
+
var regexPattern = /^(https?:\/\/)?(www\d?\.)?([\w.-]+)\.\w+.*$/;
|
|
6757
|
+
var match = url.match(regexPattern);
|
|
6758
|
+
|
|
6759
|
+
if (match && match[3] && currentPageURL) {
|
|
6760
|
+
var urlDomain = match[3]; // Extract the domain from the third capture group
|
|
6761
|
+
|
|
6762
|
+
var currentMatch = currentPageURL.match(regexPattern);
|
|
6763
|
+
|
|
6764
|
+
if (currentMatch) {
|
|
6765
|
+
var currentDomain = currentMatch[3];
|
|
6766
|
+
return urlDomain === currentDomain;
|
|
6767
|
+
}
|
|
6768
|
+
}
|
|
6769
|
+
|
|
6770
|
+
return false; // URL didn't match the pattern
|
|
6771
|
+
}; // Hook to check if a URL is from the same site - use for SSR
|
|
6772
|
+
|
|
6773
|
+
var useSameSiteUrl = function useSameSiteUrl(url) {
|
|
6774
|
+
var _useState = React.useState(false),
|
|
6775
|
+
hasSameSiteUrl = _useState[0],
|
|
6776
|
+
setSameSiteUrl = _useState[1];
|
|
6777
|
+
|
|
6778
|
+
React.useEffect(function () {
|
|
6779
|
+
setSameSiteUrl(isSameSiteUrl(url));
|
|
6780
|
+
}, [url]);
|
|
6781
|
+
return hasSameSiteUrl;
|
|
6782
|
+
};
|
|
6783
|
+
|
|
6746
6784
|
var renderBranding = function renderBranding(brandingStyle, invert, brandingText, brandingLink) {
|
|
6785
|
+
var sameSiteUrl = brandingLink && useSameSiteUrl(brandingLink);
|
|
6786
|
+
var target = sameSiteUrl ? '_self' : '_blank';
|
|
6747
6787
|
var color = invert ? exports.Colors.Black : exports.Colors.White;
|
|
6748
6788
|
|
|
6749
6789
|
switch (brandingStyle) {
|
|
@@ -6758,8 +6798,8 @@ var renderBranding = function renderBranding(brandingStyle, invert, brandingText
|
|
|
6758
6798
|
});
|
|
6759
6799
|
|
|
6760
6800
|
case 'TextLink':
|
|
6761
|
-
return (brandingText == null ? void 0 : brandingText.trim()) && /*#__PURE__*/React__default.createElement(TextLink, {
|
|
6762
|
-
target:
|
|
6801
|
+
return (brandingText == null ? void 0 : brandingText.trim()) && brandingLink && /*#__PURE__*/React__default.createElement(TextLink, {
|
|
6802
|
+
target: target,
|
|
6763
6803
|
href: brandingLink,
|
|
6764
6804
|
color: color
|
|
6765
6805
|
}, truncate(stripAllHtmlTags(brandingText), 25));
|