@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 CHANGED
@@ -1,3 +1,12 @@
1
+ ## [2.1.8]
2
+ - Add Branding Link to Compact Header
3
+
4
+ ## [2.1.7]
5
+ - Footer updates
6
+
7
+ ## [2.1.6]
8
+ - Add X logo
9
+
1
10
  ## [2.1.5]
2
11
  - Patch search bar hidden fix
3
12
 
@@ -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: 'blank',
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));