@royaloperahouse/harmonic 0.2.3-d → 0.2.3-f
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 +3 -0
- package/dist/components/molecules/PromoWithTitle/PromoWithTitle.style.d.ts +3 -3
- package/dist/harmonic.cjs.development.js +54 -71
- package/dist/harmonic.cjs.development.js.map +1 -1
- package/dist/harmonic.cjs.production.min.js +1 -1
- package/dist/harmonic.cjs.production.min.js.map +1 -1
- package/dist/harmonic.esm.js +54 -71
- package/dist/harmonic.esm.js.map +1 -1
- package/dist/helpers/urls.d.ts +0 -1
- package/dist/index.d.ts +1 -2
- package/dist/types/editorial.d.ts +6 -4
- package/dist/types/information.d.ts +2 -2
- package/dist/types/typography.d.ts +8 -3
- package/package.json +1 -1
package/dist/harmonic.esm.js
CHANGED
|
@@ -8361,55 +8361,11 @@ var ButtonsContainer$1 = /*#__PURE__*/styled.div(_templateObject14$2 || (_templa
|
|
|
8361
8361
|
return '';
|
|
8362
8362
|
});
|
|
8363
8363
|
|
|
8364
|
-
// Function to check if a URL is from the same site
|
|
8365
|
-
// NOTE: This function is not SSR compatible
|
|
8366
|
-
var isSameSiteUrl = function isSameSiteUrl(url) {
|
|
8367
|
-
var _window;
|
|
8368
|
-
if (url[0] === '/') return true; // URL is relative (e.g. /about)
|
|
8369
|
-
if (!((_window = window) != null && _window.location)) return false; // window.location is not available (e.g. in SSR)
|
|
8370
|
-
var currentPageURL = window.location.href || '';
|
|
8371
|
-
var regexPattern = /^(https?:\/\/)?(www\d?\.)?([\w.-]+)\.\w+.*$/;
|
|
8372
|
-
var match = url.match(regexPattern);
|
|
8373
|
-
if (match != null && match[3] && currentPageURL) {
|
|
8374
|
-
var urlDomain = match[3]; // Extract the domain from the third capture group
|
|
8375
|
-
var currentMatch = currentPageURL.match(regexPattern);
|
|
8376
|
-
if (currentMatch) {
|
|
8377
|
-
var currentDomain = currentMatch[3];
|
|
8378
|
-
return urlDomain === currentDomain;
|
|
8379
|
-
}
|
|
8380
|
-
}
|
|
8381
|
-
return false; // URL didn't match the pattern
|
|
8382
|
-
};
|
|
8383
|
-
// Hook to check if a URL is from the same site - use for SSR
|
|
8384
|
-
var useSameSiteUrl = function useSameSiteUrl(url) {
|
|
8385
|
-
var _useState = useState(false),
|
|
8386
|
-
hasSameSiteUrl = _useState[0],
|
|
8387
|
-
setSameSiteUrl = _useState[1];
|
|
8388
|
-
useEffect(function () {
|
|
8389
|
-
setSameSiteUrl(isSameSiteUrl(url));
|
|
8390
|
-
}, [url]);
|
|
8391
|
-
return hasSameSiteUrl;
|
|
8392
|
-
};
|
|
8393
|
-
var limitImageUrlDimension = function limitImageUrlDimension(imageUrl, widthLimit) {
|
|
8394
|
-
try {
|
|
8395
|
-
var url = new URL(imageUrl);
|
|
8396
|
-
var widthParam = url.searchParams.get('w') || url.searchParams.get('width');
|
|
8397
|
-
if (widthParam) {
|
|
8398
|
-
return imageUrl.replace(/(w|width)=\d+/, "$1=" + widthLimit);
|
|
8399
|
-
}
|
|
8400
|
-
var separator = url.search.includes('?') ? '&' : '?';
|
|
8401
|
-
return "" + imageUrl + separator + "w=" + widthLimit;
|
|
8402
|
-
} catch (error) {
|
|
8403
|
-
return imageUrl;
|
|
8404
|
-
}
|
|
8405
|
-
};
|
|
8406
|
-
|
|
8407
8364
|
var _excluded$k = ["text"],
|
|
8408
8365
|
_excluded2$3 = ["text"];
|
|
8409
8366
|
var _buttonTypeToButton$1;
|
|
8410
8367
|
var LENGTH_LARGE_TEXT$1 = 28;
|
|
8411
8368
|
var LENGTH_SMALL_TEXT$2 = 19;
|
|
8412
|
-
var IMAGE_WIDTH_LIMIT = 600;
|
|
8413
8369
|
var buttonTypeToButton$1 = (_buttonTypeToButton$1 = {}, _buttonTypeToButton$1[ButtonType.Primary] = PrimaryButton, _buttonTypeToButton$1[ButtonType.Secondary] = SecondaryButton, _buttonTypeToButton$1[ButtonType.Tertiary] = TertiaryButton, _buttonTypeToButton$1);
|
|
8414
8370
|
var Card = function Card(_ref) {
|
|
8415
8371
|
var _labelParams$color;
|
|
@@ -8475,7 +8431,6 @@ var Card = function Card(_ref) {
|
|
|
8475
8431
|
};
|
|
8476
8432
|
var FirstButtonComponent = firstButton != null && firstButton.buttonType ? buttonTypeToButton$1[firstButton.buttonType] : PrimaryButton;
|
|
8477
8433
|
var SecondButtonComponent = secondButton != null && secondButton.buttonType ? buttonTypeToButton$1[secondButton.buttonType] : TertiaryButton;
|
|
8478
|
-
var limitedImage = image ? limitImageUrlDimension(image, IMAGE_WIDTH_LIMIT) : image;
|
|
8479
8434
|
return /*#__PURE__*/React__default.createElement(CardContainer, {
|
|
8480
8435
|
onMouseOver: function onMouseOver() {
|
|
8481
8436
|
return onlyShowButtonsOnHover ? hoverHandler(true) : undefined;
|
|
@@ -8515,7 +8470,7 @@ var Card = function Card(_ref) {
|
|
|
8515
8470
|
}), /*#__PURE__*/React__default.createElement(ImageAspectRatioWrapper, {
|
|
8516
8471
|
aspectRatio: AspectRatio['4:3']
|
|
8517
8472
|
}, /*#__PURE__*/React__default.createElement("img", {
|
|
8518
|
-
src:
|
|
8473
|
+
src: image,
|
|
8519
8474
|
alt: imageAltText || title
|
|
8520
8475
|
})), withContinueWatching && (/*#__PURE__*/React__default.createElement(ProgressContainer, null, /*#__PURE__*/React__default.createElement(Progress, {
|
|
8521
8476
|
progress: progress,
|
|
@@ -9489,6 +9444,36 @@ var PrimaryButtonWithInversion = /*#__PURE__*/styled(PrimaryButton)(_templateObj
|
|
|
9489
9444
|
return invert ? theme.colors.white : theme.colors.black;
|
|
9490
9445
|
});
|
|
9491
9446
|
|
|
9447
|
+
// Function to check if a URL is from the same site
|
|
9448
|
+
// NOTE: This function is not SSR compatible
|
|
9449
|
+
var isSameSiteUrl = function isSameSiteUrl(url) {
|
|
9450
|
+
var _window;
|
|
9451
|
+
if (url[0] === '/') return true; // URL is relative (e.g. /about)
|
|
9452
|
+
if (!((_window = window) != null && _window.location)) return false; // window.location is not available (e.g. in SSR)
|
|
9453
|
+
var currentPageURL = window.location.href || '';
|
|
9454
|
+
var regexPattern = /^(https?:\/\/)?(www\d?\.)?([\w.-]+)\.\w+.*$/;
|
|
9455
|
+
var match = url.match(regexPattern);
|
|
9456
|
+
if (match != null && match[3] && currentPageURL) {
|
|
9457
|
+
var urlDomain = match[3]; // Extract the domain from the third capture group
|
|
9458
|
+
var currentMatch = currentPageURL.match(regexPattern);
|
|
9459
|
+
if (currentMatch) {
|
|
9460
|
+
var currentDomain = currentMatch[3];
|
|
9461
|
+
return urlDomain === currentDomain;
|
|
9462
|
+
}
|
|
9463
|
+
}
|
|
9464
|
+
return false; // URL didn't match the pattern
|
|
9465
|
+
};
|
|
9466
|
+
// Hook to check if a URL is from the same site - use for SSR
|
|
9467
|
+
var useSameSiteUrl = function useSameSiteUrl(url) {
|
|
9468
|
+
var _useState = useState(false),
|
|
9469
|
+
hasSameSiteUrl = _useState[0],
|
|
9470
|
+
setSameSiteUrl = _useState[1];
|
|
9471
|
+
useEffect(function () {
|
|
9472
|
+
setSameSiteUrl(isSameSiteUrl(url));
|
|
9473
|
+
}, [url]);
|
|
9474
|
+
return hasSameSiteUrl;
|
|
9475
|
+
};
|
|
9476
|
+
|
|
9492
9477
|
var renderBranding = function renderBranding(brandingStyle, invert, brandingText, brandingLink) {
|
|
9493
9478
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
9494
9479
|
var sameSiteUrl = brandingLink && useSameSiteUrl(brandingLink);
|
|
@@ -10204,13 +10189,13 @@ var PromoWithTitleImageWrapper = /*#__PURE__*/styled.div(_templateObject2$U || (
|
|
|
10204
10189
|
var imageToLeft = _ref3.imageToLeft;
|
|
10205
10190
|
return imageToLeft ? 'left' : 'right';
|
|
10206
10191
|
}, devices.mobile);
|
|
10207
|
-
var PromoWithTitleContentWrapper = /*#__PURE__*/styled.div(_templateObject3$G || (_templateObject3$G = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-area: ", ";\n align-self: center;\n @media ", " {\n & {\n grid-area: row2;\n align-self: start;\n }\n }\n"])), function (_ref4) {
|
|
10192
|
+
var PromoWithTitleContentWrapper = /*#__PURE__*/styled.div(_templateObject3$G || (_templateObject3$G = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-area: ", ";\n align-self: center;\n\n @media ", " {\n & {\n grid-area: row2;\n align-self: start;\n }\n }\n"])), function (_ref4) {
|
|
10208
10193
|
var imageToLeft = _ref4.imageToLeft;
|
|
10209
10194
|
return imageToLeft ? 'right' : 'left';
|
|
10210
10195
|
}, devices.mobile);
|
|
10211
|
-
var
|
|
10212
|
-
var
|
|
10213
|
-
var
|
|
10196
|
+
var HarmonicHeaderWithWrapper = /*#__PURE__*/styled(HarmonicHeader)(_templateObject4$A || (_templateObject4$A = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 32px;\n\n @media ", " {\n margin-bottom: 24px;\n }\n"])), devices.mobile);
|
|
10197
|
+
var HarmonicSubtitleWithWrapper = /*#__PURE__*/styled(HarmonicSubtitle)(_templateObject5$t || (_templateObject5$t = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0;\n overflow-wrap: break-word;\n margin-bottom: 16px;\n"])));
|
|
10198
|
+
var BodyCopyHarmonicWithWrapper = /*#__PURE__*/styled(BodyCopyHarmonic)(_templateObject6$n || (_templateObject6$n = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n padding: 0;\n margin: 0;\n margin-bottom: 32px;\n whiete-space: break-spaces;\n overflow-wrap: break-word;\n\n a {\n text-decoration: underline;\n cursor: pointer;\n\n &[href^='tel:'] {\n text-decoration: none;\n }\n\n &:link {\n color: var(--color-primary-black);\n }\n\n &:visited {\n color: var(--color-base-dark-grey);\n }\n\n &:hover {\n color: var(--color-primary-red);\n }\n }\n @media ", " {\n margin-bottom: 24px;\n }\n"])), devices.mobile);
|
|
10214
10199
|
var ButtonsContainer$3 = /*#__PURE__*/styled.div(_templateObject7$h || (_templateObject7$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: 16px;\n margin-top: 32px;\n\n ", "\n\n @media ", " {\n gap: 24px;\n margin-top: 24px;\n flex-direction: column;\n align-items: center;\n }\n\n @media ", " {\n gap: 24px;\n margin-top: 24px;\n align-items: flex-start;\n\n ", "\n }\n"])), function (_ref5) {
|
|
10215
10200
|
var _ref5$primaryButtonTe = _ref5.primaryButtonTextLength,
|
|
10216
10201
|
primaryButtonTextLength = _ref5$primaryButtonTe === void 0 ? 0 : _ref5$primaryButtonTe,
|
|
@@ -10356,18 +10341,20 @@ var PromoWithTitle = function PromoWithTitle(_ref) {
|
|
|
10356
10341
|
title = _ref$title === void 0 ? '' : _ref$title,
|
|
10357
10342
|
_ref$titleSize = _ref.titleSize,
|
|
10358
10343
|
titleSize = _ref$titleSize === void 0 ? 'large' : _ref$titleSize,
|
|
10344
|
+
titleHierarchy = _ref.titleHierarchy,
|
|
10359
10345
|
subtitle = _ref.subtitle,
|
|
10360
10346
|
text = _ref.text,
|
|
10361
10347
|
links = _ref.links,
|
|
10362
10348
|
children = _ref.children,
|
|
10363
10349
|
videoSettings = _ref.videoSettings,
|
|
10364
|
-
titleSemanticLevel = _ref.titleSemanticLevel,
|
|
10365
10350
|
className = _ref.className;
|
|
10366
10351
|
var truncate = function truncate(str, n) {
|
|
10367
10352
|
return str.length >= n ? str.substr(0, n) : str;
|
|
10368
10353
|
};
|
|
10354
|
+
// const correctTitleSize = (size: typeof titleSize): 'medium' | 'large' => {
|
|
10355
|
+
// return size === 'small' ? 'medium' : 'large';
|
|
10356
|
+
// };
|
|
10369
10357
|
var imageToLeft = imagePosition === 'left';
|
|
10370
|
-
var titleLevel = titleSize === 'large' ? 2 : 3;
|
|
10371
10358
|
var primaryButton = links == null ? void 0 : links[0];
|
|
10372
10359
|
var _ref2 = primaryButton || {},
|
|
10373
10360
|
_ref2$text = _ref2.text,
|
|
@@ -10391,20 +10378,19 @@ var PromoWithTitle = function PromoWithTitle(_ref) {
|
|
|
10391
10378
|
imageToLeft: imageToLeft,
|
|
10392
10379
|
className: className,
|
|
10393
10380
|
"data-testid": "promo-with-title"
|
|
10394
|
-
}, /*#__PURE__*/React__default.createElement(PromoChild
|
|
10395
|
-
// eslint-disable-next-line react/no-children-prop
|
|
10396
|
-
, {
|
|
10397
|
-
// eslint-disable-next-line react/no-children-prop
|
|
10398
|
-
children: children,
|
|
10381
|
+
}, /*#__PURE__*/React__default.createElement(PromoChild, {
|
|
10399
10382
|
videoSettings: _extends({}, defaultVideoSettings, videoSettings),
|
|
10400
10383
|
imageToLeft: imageToLeft
|
|
10401
|
-
}), /*#__PURE__*/React__default.createElement(PromoWithTitleContentWrapper, {
|
|
10384
|
+
}, children), /*#__PURE__*/React__default.createElement(PromoWithTitleContentWrapper, {
|
|
10402
10385
|
"data-testid": "content-wrapper",
|
|
10403
10386
|
imageToLeft: imageToLeft
|
|
10404
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
10405
|
-
|
|
10406
|
-
|
|
10407
|
-
}, title)
|
|
10387
|
+
}, /*#__PURE__*/React__default.createElement(HarmonicHeaderWithWrapper, {
|
|
10388
|
+
size: titleSize,
|
|
10389
|
+
hierarchy: titleHierarchy
|
|
10390
|
+
}, title), subtitle ? /*#__PURE__*/React__default.createElement(HarmonicSubtitleWithWrapper, {
|
|
10391
|
+
size: "medium"
|
|
10392
|
+
}, subtitle) : null, /*#__PURE__*/React__default.createElement(BodyCopyHarmonicWithWrapper, {
|
|
10393
|
+
size: "large",
|
|
10408
10394
|
dangerouslySetInnerHTML: {
|
|
10409
10395
|
__html: text
|
|
10410
10396
|
}
|
|
@@ -10412,7 +10398,11 @@ var PromoWithTitle = function PromoWithTitle(_ref) {
|
|
|
10412
10398
|
"data-testid": "buttons-wrapper",
|
|
10413
10399
|
primaryButtonTextLength: primaryButtonText.length,
|
|
10414
10400
|
tertiaryButtonTextLength: tertiaryButtonText.length
|
|
10415
|
-
}, primaryButton ? /*#__PURE__*/React__default.createElement(PrimaryButton, Object.assign({
|
|
10401
|
+
}, primaryButton ? (/*#__PURE__*/React__default.createElement(PrimaryButton, Object.assign({
|
|
10402
|
+
target: "_blank"
|
|
10403
|
+
}, restPrimaryButton), primaryButtonTextTruncate)) : null, tertiaryButton ? (/*#__PURE__*/React__default.createElement(TertiaryButton, Object.assign({
|
|
10404
|
+
target: "_blank"
|
|
10405
|
+
}, restTertiaryButton), tertiaryButtonTextTruncate)) : null)) : null));
|
|
10416
10406
|
};
|
|
10417
10407
|
|
|
10418
10408
|
var _templateObject$1a;
|
|
@@ -12250,7 +12240,6 @@ var isVideoSlide = function isVideoSlide(slideMedia) {
|
|
|
12250
12240
|
return slideMedia.video !== undefined;
|
|
12251
12241
|
};
|
|
12252
12242
|
|
|
12253
|
-
var IMAGE_WIDTH_LIMIT$1 = 800;
|
|
12254
12243
|
var VideoSlide = function VideoSlide(_ref) {
|
|
12255
12244
|
var index = _ref.index,
|
|
12256
12245
|
settings = _ref.settings,
|
|
@@ -12281,18 +12270,12 @@ var SwipeCarousel = function SwipeCarousel(_ref2) {
|
|
|
12281
12270
|
var hasOnlyImageSlides = slidesMedia.every(function (slide) {
|
|
12282
12271
|
return !isVideoSlide(slide);
|
|
12283
12272
|
});
|
|
12284
|
-
var limitedMediaContent = slidesMedia.map(function (slide) {
|
|
12285
|
-
if (isVideoSlide(slide)) return slide;
|
|
12286
|
-
return _extends({}, slide, {
|
|
12287
|
-
src: slide.src ? limitImageUrlDimension(slide.src, IMAGE_WIDTH_LIMIT$1) : undefined
|
|
12288
|
-
});
|
|
12289
|
-
});
|
|
12290
12273
|
return /*#__PURE__*/React__default.createElement(Swipe, {
|
|
12291
12274
|
ref: carouselRef,
|
|
12292
12275
|
infinite: hasMultipleSlides && hasOnlyImageSlides,
|
|
12293
12276
|
onIndexChange: setCurrentSlide,
|
|
12294
12277
|
"aria-roledescription": "carousel"
|
|
12295
|
-
},
|
|
12278
|
+
}, slidesMedia.map(function (mediaContent, index) {
|
|
12296
12279
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
12297
12280
|
className: "swiper-slide",
|
|
12298
12281
|
key: mediaContent.key,
|