@royaloperahouse/chord 1.2.0 → 1.3.0-a-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/dist/chord.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React__default, { createElement, memo, useRef, useCallback, useEffect, useState, useMemo } from 'react';
2
- import styled, { ThemeProvider, createGlobalStyle } from 'styled-components';
2
+ import styled, { ThemeProvider, css, createGlobalStyle } from 'styled-components';
3
3
  import { Swiper, SwiperSlide } from 'swiper/react/swiper-react.js';
4
4
  import 'swiper/swiper-bundle.css';
5
5
 
@@ -2659,10 +2659,11 @@ var SponsorLogo = function SponsorLogo(_ref) {
2659
2659
  };
2660
2660
 
2661
2661
  var _templateObject$d;
2662
+ var SponsorshipStyledIframe = /*#__PURE__*/styled.div(_templateObject$d || (_templateObject$d = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n background-color: transparent;\n height: 80px;\n margin: 0px;\n overflow: hidden;\n padding: 0;\n width: 80px;\n\n & > iframe {\n border: 0;\n display: block;\n margin: 0px;\n padding: 0px;\n overflow: hidden;\n width: 100%;\n height: 100%;\n }\n\n @media ", " {\n & {\n height: 40px;\n width: 40px;\n }\n & iframe {\n height: 80px;\n transform: scale(0.5) translate(-40px, -40px);\n width: 80px;\n }\n }\n"])), devices.mobile);
2663
+
2662
2664
  var DEFAULT_SPONSORSHIP_IFRAME = 'https://static.roh.org.uk/rolex/v3/rolex.html?size=80';
2663
2665
  var DEFAULT_SPONSORSHIP_TITLE = 'rolex';
2664
2666
  var DEFAULT_DATA_ROH = 'ImgAdvert';
2665
- var SponsorshipStyled = /*#__PURE__*/styled.div(_templateObject$d || (_templateObject$d = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n background-color: transparent;\n height: 80px;\n margin: 0px;\n overflow: hidden;\n padding: 0;\n width: 80px;\n\n & > iframe {\n border: 0;\n display: block;\n margin: 0px;\n padding: 0px;\n overflow: hidden;\n width: 100%;\n height: 100%;\n }\n\n @media ", " {\n & {\n height: 40px;\n width: 40px;\n }\n & iframe {\n height: 80px;\n transform: scale(0.5) translate(-40px, -40px);\n width: 80px;\n }\n }\n"])), devices.mobile);
2666
2667
 
2667
2668
  var Sponsorship = function Sponsorship(_ref) {
2668
2669
  var _ref$src = _ref.src,
@@ -2670,8 +2671,15 @@ var Sponsorship = function Sponsorship(_ref) {
2670
2671
  _ref$dataRoh = _ref.dataRoh,
2671
2672
  dataRoh = _ref$dataRoh === void 0 ? DEFAULT_DATA_ROH : _ref$dataRoh,
2672
2673
  _ref$title = _ref.title,
2673
- title = _ref$title === void 0 ? DEFAULT_SPONSORSHIP_TITLE : _ref$title;
2674
- return /*#__PURE__*/React__default.createElement(SponsorshipStyled, null, /*#__PURE__*/React__default.createElement("iframe", {
2674
+ title = _ref$title === void 0 ? DEFAULT_SPONSORSHIP_TITLE : _ref$title,
2675
+ isCustomImage = _ref.isCustomImage;
2676
+ if (isCustomImage) return /*#__PURE__*/React__default.createElement("img", {
2677
+ src: src,
2678
+ alt: title,
2679
+ "data-roh": dataRoh,
2680
+ "data-testid": "custom-sponsor"
2681
+ });
2682
+ return /*#__PURE__*/React__default.createElement(SponsorshipStyledIframe, null, /*#__PURE__*/React__default.createElement("iframe", {
2675
2683
  src: src,
2676
2684
  scrolling: "no",
2677
2685
  "data-roh": dataRoh,
@@ -2978,9 +2986,10 @@ var BodyText = function BodyText(_ref3) {
2978
2986
  }, children);
2979
2987
  };
2980
2988
  var Header = function Header(_ref4) {
2981
- var level = _ref4.level,
2989
+ var semanticLevel = _ref4.semanticLevel,
2990
+ level = _ref4.level,
2982
2991
  children = _ref4.children;
2983
- var renderedTag = "h" + level;
2992
+ var renderedTag = semanticLevel ? "h" + semanticLevel : "h" + level;
2984
2993
  return /*#__PURE__*/React__default.createElement(StyledTag, {
2985
2994
  tag: renderedTag,
2986
2995
  typography: "header",
@@ -5589,6 +5598,7 @@ var PageHeadingImpact = function PageHeadingImpact(_ref) {
5589
5598
  link = _ref.link,
5590
5599
  _ref$sponsor = _ref.sponsor,
5591
5600
  sponsor = _ref$sponsor === void 0 ? true : _ref$sponsor,
5601
+ customSponsorData = _ref.customSponsorData,
5592
5602
  scrollHref = _ref.scrollHref,
5593
5603
  bgUrlDesktop = _ref.bgUrlDesktop,
5594
5604
  bgUrlDevice = _ref.bgUrlDevice;
@@ -5604,7 +5614,11 @@ var PageHeadingImpact = function PageHeadingImpact(_ref) {
5604
5614
  "data-testid": "impact-wrapper"
5605
5615
  }, sponsor ? /*#__PURE__*/React__default.createElement(SponsorWrapper, {
5606
5616
  "data-testid": "impact-sponsor"
5607
- }, /*#__PURE__*/React__default.createElement(Sponsorship, null)) : null, /*#__PURE__*/React__default.createElement(ImpactGrid, null, children ? /*#__PURE__*/React__default.createElement(LogoWrapper$2, {
5617
+ }, customSponsorData ? /*#__PURE__*/React__default.createElement(Sponsorship, Object.assign({
5618
+ "data-testid": "impact-custom-sponsor"
5619
+ }, customSponsorData, {
5620
+ isCustomImage: true
5621
+ })) : /*#__PURE__*/React__default.createElement(Sponsorship, null)) : null, /*#__PURE__*/React__default.createElement(ImpactGrid, null, children ? /*#__PURE__*/React__default.createElement(LogoWrapper$2, {
5608
5622
  "data-testid": "impact-logo"
5609
5623
  }, children) : null, text ? /*#__PURE__*/React__default.createElement(TextWrapper$1, {
5610
5624
  "data-testid": "impact-text"
@@ -5701,47 +5715,41 @@ var PeopleListing = function PeopleListing(_ref) {
5701
5715
  }));
5702
5716
  };
5703
5717
 
5704
- var _templateObject$P, _templateObject2$x, _templateObject3$p, _templateObject4$j, _templateObject5$e, _templateObject6$b, _templateObject7$7, _templateObject8$6, _templateObject9$4, _templateObject10$3, _templateObject11$2, _templateObject12$1, _templateObject13, _templateObject14, _templateObject15;
5718
+ var _templateObject$P, _templateObject2$x, _templateObject3$p, _templateObject4$j, _templateObject5$e, _templateObject6$b, _templateObject7$7, _templateObject8$6, _templateObject9$4, _templateObject10$3, _templateObject11$2, _templateObject12$1, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
5705
5719
  var LENGTH_TEXT = 28;
5706
- var LENGTH_TEXT_TABLET$1 = 10;
5707
- var PromoWithTagsGrid = /*#__PURE__*/styled(Grid)(_templateObject$P || (_templateObject$P = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-template-areas: ", ";\n\n @media ", " {\n & {\n grid-template-areas: ", ";\n }\n }\n\n @media ", " {\n & {\n grid-template-columns: var(--grid-margin) minmax(0, 1fr) var(--grid-margin);\n grid-template-rows: min-content 24px min-content;\n gap: 0;\n grid-template-areas:\n 'row1 row1 row1'\n '. . .'\n '. row2 .';\n }\n }\n"])), function (_ref) {
5720
+ var LENGTH_TEXT_TABLET$1 = 12;
5721
+ var GridTemplateImageToLeft = "'left left left left left left left left . right right right right right . .'";
5722
+ var GridTemplateImageToRight = "'. . left left left left left . right right right right right right right right'";
5723
+ var GridTemplateAsCard = "'. . left left left left left right right right right right right right . . '";
5724
+ var GridTemplateAsCardTablet = "'. . left left left left left left left right right right right right . . '";
5725
+ var PromoWithTagsGrid = /*#__PURE__*/styled(Grid)(_templateObject$P || (_templateObject$P = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-template-areas: ", ";\n\n @media ", " {\n & {\n grid-template-areas: ", ";\n }\n }\n\n @media ", " {\n & {\n grid-template-columns: var(--grid-margin) minmax(0, 1fr) var(--grid-margin);\n grid-template-rows: min-content 24px min-content;\n gap: 0;\n grid-template-areas:\n 'row1 row1 row1'\n '. . .'\n '. row2 .';\n }\n }\n\n /* Overwrite template for card */\n ", "\n"])), function (_ref) {
5708
5726
  var imageToLeft = _ref.imageToLeft;
5709
- return imageToLeft ? "'left left left left left left left left . right right right right right . .'" : "'. . left left left left left . right right right right right right right right'";
5727
+ return imageToLeft ? GridTemplateImageToLeft : GridTemplateImageToRight;
5710
5728
  }, devices.tablet, function (_ref2) {
5711
5729
  var imageToLeft = _ref2.imageToLeft;
5712
5730
  return imageToLeft ? "'left left left left left left left right right right right right right .'" : "'. left left left left left left right right right right right right right'";
5713
- }, devices.mobile);
5714
- var PromoWithTagsExtraContentWrapper = /*#__PURE__*/styled.div(_templateObject2$x || (_templateObject2$x = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n grid-area: ", ";\n align-self: center;\n @media ", " {\n & {\n grid-area: row1;\n }\n }\n"])), function (_ref3) {
5715
- var imageToLeft = _ref3.imageToLeft;
5716
- return imageToLeft ? 'left' : 'right';
5717
- }, devices.mobile);
5718
- var PromoWithTagsContentWrapper = /*#__PURE__*/styled.div(_templateObject3$p || (_templateObject3$p = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-area: ", ";\n align-self: center;\n @media ", " {\n & {\n display: ", ";\n grid-area: row2;\n align-self: start;\n }\n }\n"])), function (_ref4) {
5719
- var imageToLeft = _ref4.imageToLeft;
5720
- return imageToLeft ? 'right' : 'left';
5721
- }, devices.mobile, function (_ref5) {
5722
- var hideSection = _ref5.hideSection;
5723
- return hideSection ? 'none' : 'block';
5731
+ }, devices.mobile, function (asCard) {
5732
+ return asCard ? "\n grid-template-areas: " + GridTemplateAsCard + ";\n @media " + devices.tablet + " {\n grid-template-areas: " + GridTemplateAsCardTablet + ";\n }\n " : "";
5724
5733
  });
5725
- var PromoWithTagsContainer = /*#__PURE__*/styled.div(_templateObject4$j || (_templateObject4$j = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n h2,\n h3 {\n margin: 0 0 16px;\n }\n"])));
5726
- var PromoWithTagsSubtitle = /*#__PURE__*/styled.span(_templateObject5$e || (_templateObject5$e = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-family: var(--font-family-subtitle);\n font-feature-settings: var(--font-feature-settings-subtitle);\n font-size: var(--font-size-subtitle-1);\n font-weight: var(--font-weight-subtitle-1);\n line-height: var(--line-height-subtitle-1);\n letter-spacing: var(--letter-spacing-subtitle-1);\n text-transform: var(--text-transform-subtitle);\n margin-bottom: var(--editorial-subtitle-margin-bottom);\n display: block;\n overflow-wrap: break-word;\n"])));
5727
- var PromoWithTagsText = /*#__PURE__*/styled.div(_templateObject6$b || (_templateObject6$b = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-family: var(--font-family-body);\n font-feature-settings: var(--font-feature-settings-body);\n font-size: var(--font-size-body-1);\n font-weight: var(--font-weight-body-1);\n line-height: var(--line-height-body-1);\n letter-spacing: var(--letter-spacing-body-1);\n text-transform: var(--text-transform-body);\n margin: 0;\n padding: 0;\n white-space: break-spaces;\n overflow-wrap: break-word;\n\n h5,\n h6 {\n margin: 0 0 4px 0;\n font-family: var(--font-family-subtitle);\n font-feature-settings: var(--font-feature-settings-subtitle);\n font-size: var(--font-size-subtitle-2);\n font-weight: var(--font-weight-subtitle-2);\n line-height: var(--line-height-subtitle-2);\n letter-spacing: var(--letter-spacing-subtitle-2);\n text-transform: var(--text-transform-subtitle);\n overflow-wrap: break-word;\n }\n\n em {\n font-family: var(--font-family-body-italics);\n }\n\n a {\n text-decoration: underline;\n cursor: pointer;\n\n &[href^='tel:'] {\n text-decoration: none;\n }\n\n &:link {\n color: ", ";\n }\n\n &:visited {\n color: ", ";\n }\n\n &:hover {\n color: ", ";\n }\n }\n"])), function (_ref6) {
5728
- var theme = _ref6.theme;
5734
+ var PromoWithTagsSubtitle = /*#__PURE__*/styled.span(_templateObject2$x || (_templateObject2$x = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-family: var(--font-family-subtitle);\n font-feature-settings: var(--font-feature-settings-subtitle);\n font-size: var(--font-size-subtitle-1);\n font-weight: var(--font-weight-subtitle-1);\n line-height: var(--line-height-subtitle-1);\n letter-spacing: var(--letter-spacing-subtitle-1);\n text-transform: var(--text-transform-subtitle);\n margin-bottom: var(--editorial-subtitle-margin-bottom);\n display: block;\n overflow-wrap: break-word;\n"])));
5735
+ var PromoWithTagsText = /*#__PURE__*/styled.div(_templateObject3$p || (_templateObject3$p = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-family: var(--font-family-body);\n font-feature-settings: var(--font-feature-settings-body);\n font-size: var(--font-size-body-1);\n font-weight: var(--font-weight-body-1);\n line-height: var(--line-height-body-1);\n letter-spacing: var(--letter-spacing-body-1);\n text-transform: var(--text-transform-body);\n margin: 0;\n padding: 0;\n white-space: break-spaces;\n overflow-wrap: break-word;\n\n h5,\n h6 {\n margin: 0 0 4px 0;\n font-family: var(--font-family-subtitle);\n font-feature-settings: var(--font-feature-settings-subtitle);\n font-size: var(--font-size-subtitle-2);\n font-weight: var(--font-weight-subtitle-2);\n line-height: var(--line-height-subtitle-2);\n letter-spacing: var(--letter-spacing-subtitle-2);\n text-transform: var(--text-transform-subtitle);\n overflow-wrap: break-word;\n }\n\n em {\n font-family: var(--font-family-body-italics);\n }\n\n a {\n text-decoration: underline;\n cursor: pointer;\n\n &[href^='tel:'] {\n text-decoration: none;\n }\n\n &:link {\n color: ", ";\n }\n\n &:visited {\n color: ", ";\n }\n\n &:hover {\n color: ", ";\n }\n }\n"])), function (_ref3) {
5736
+ var theme = _ref3.theme;
5729
5737
  return theme.colors.black;
5730
- }, function (_ref7) {
5731
- var theme = _ref7.theme;
5738
+ }, function (_ref4) {
5739
+ var theme = _ref4.theme;
5732
5740
  return theme.colors.darkgrey;
5733
- }, function (_ref8) {
5734
- var theme = _ref8.theme;
5741
+ }, function (_ref5) {
5742
+ var theme = _ref5.theme;
5735
5743
  return theme.colors.primary;
5736
5744
  });
5737
- var ButtonsContainer$2 = /*#__PURE__*/styled.div(_templateObject7$7 || (_templateObject7$7 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: 16px;\n margin-top: 24px;\n\n ", ";\n\n ", "\n\n @media ", " {\n gap: 24px;\n flex-direction: column;\n align-items: center;\n }\n\n @media ", " {\n gap: 24px;\n align-items: flex-start;\n\n ", "\n }\n"])), function (_ref9) {
5738
- var hasTextLinks = _ref9.hasTextLinks;
5745
+ var ButtonsContainer$2 = /*#__PURE__*/styled.div(_templateObject4$j || (_templateObject4$j = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: 16px;\n margin-top: 24px;\n\n ", ";\n\n ", "\n\n @media ", " {\n gap: 24px;\n flex-direction: column;\n align-items: center;\n }\n\n @media ", " {\n gap: 24px;\n align-items: flex-start;\n\n ", "\n }\n"])), function (_ref6) {
5746
+ var hasTextLinks = _ref6.hasTextLinks;
5739
5747
  return "margin-top: " + (hasTextLinks ? '0' : '24px') + ";";
5740
- }, function (_ref10) {
5741
- var _ref10$primaryButtonT = _ref10.primaryButtonTextLength,
5742
- primaryButtonTextLength = _ref10$primaryButtonT === void 0 ? 0 : _ref10$primaryButtonT,
5743
- _ref10$tertiaryButton = _ref10.tertiaryButtonTextLength,
5744
- tertiaryButtonTextLength = _ref10$tertiaryButton === void 0 ? 0 : _ref10$tertiaryButton;
5748
+ }, function (_ref7) {
5749
+ var _ref7$primaryButtonTe = _ref7.primaryButtonTextLength,
5750
+ primaryButtonTextLength = _ref7$primaryButtonTe === void 0 ? 0 : _ref7$primaryButtonTe,
5751
+ _ref7$tertiaryButtonT = _ref7.tertiaryButtonTextLength,
5752
+ tertiaryButtonTextLength = _ref7$tertiaryButtonT === void 0 ? 0 : _ref7$tertiaryButtonT;
5745
5753
  var isLinksLayoutColumn = primaryButtonTextLength >= LENGTH_TEXT || tertiaryButtonTextLength >= LENGTH_TEXT;
5746
5754
 
5747
5755
  if (isLinksLayoutColumn) {
@@ -5749,11 +5757,11 @@ var ButtonsContainer$2 = /*#__PURE__*/styled.div(_templateObject7$7 || (_templat
5749
5757
  }
5750
5758
 
5751
5759
  return '';
5752
- }, devices.mobile, devices.tablet, function (_ref11) {
5753
- var _ref11$primaryButtonT = _ref11.primaryButtonTextLength,
5754
- primaryButtonTextLength = _ref11$primaryButtonT === void 0 ? 0 : _ref11$primaryButtonT,
5755
- _ref11$tertiaryButton = _ref11.tertiaryButtonTextLength,
5756
- tertiaryButtonTextLength = _ref11$tertiaryButton === void 0 ? 0 : _ref11$tertiaryButton;
5760
+ }, devices.mobile, devices.tablet, function (_ref8) {
5761
+ var _ref8$primaryButtonTe = _ref8.primaryButtonTextLength,
5762
+ primaryButtonTextLength = _ref8$primaryButtonTe === void 0 ? 0 : _ref8$primaryButtonTe,
5763
+ _ref8$tertiaryButtonT = _ref8.tertiaryButtonTextLength,
5764
+ tertiaryButtonTextLength = _ref8$tertiaryButtonT === void 0 ? 0 : _ref8$tertiaryButtonT;
5757
5765
  var isLinksLayoutColumnTablet = primaryButtonTextLength >= LENGTH_TEXT_TABLET$1 || tertiaryButtonTextLength >= LENGTH_TEXT_TABLET$1;
5758
5766
 
5759
5767
  if (isLinksLayoutColumnTablet) {
@@ -5762,22 +5770,40 @@ var ButtonsContainer$2 = /*#__PURE__*/styled.div(_templateObject7$7 || (_templat
5762
5770
 
5763
5771
  return '';
5764
5772
  });
5765
- var PromoWithTagsTagWrapper = /*#__PURE__*/styled.div(_templateObject8$6 || (_templateObject8$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: ", ";\n"])), function (_ref12) {
5766
- var marginBottom = _ref12.marginBottom;
5773
+ var PromoWithTagsTagWrapper = /*#__PURE__*/styled.div(_templateObject5$e || (_templateObject5$e = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: ", ";\n"])), function (_ref9) {
5774
+ var marginBottom = _ref9.marginBottom;
5767
5775
  return marginBottom + "px";
5768
5776
  });
5769
- var PromoWithTagsAdditionalText = /*#__PURE__*/styled(PromoWithTagsText)(_templateObject9$4 || (_templateObject9$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 24px 0;\n"])));
5770
- var TextLinksContainer = /*#__PURE__*/styled.div(_templateObject10$3 || (_templateObject10$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-wrap: wrap;\n margin: 24px 0 4px 0;\n"])));
5771
- var TextLinkWrapper$2 = /*#__PURE__*/styled.div(_templateObject11$2 || (_templateObject11$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-right: 24px;\n margin-bottom: 20px;\n\n &:last-child {\n margin-right: 0;\n }\n"])));
5772
- var ExtraContentWrapper = /*#__PURE__*/styled.div(_templateObject12$1 || (_templateObject12$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n padding-right: 68px;\n\n iframe {\n height: 800px;\n }\n\n @media ", " {\n padding: 30px 0 0;\n }\n\n @media ", " {\n padding: 0;\n position: initial;\n }\n"])), devices.tablet, devices.mobile);
5773
- var IconWrapper$2 = /*#__PURE__*/styled.div(_templateObject13 || (_templateObject13 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n position: absolute;\n top: 25px;\n right: 35px;\n width: 24px;\n height: 24px;\n\n @media ", " {\n top: 30px;\n right: 30px;\n }\n\n @media ", " {\n top: 3px;\n right: 20px;\n }\n"])), devices.tablet, devices.mobile);
5774
- var PrimaryButtonWrapper$2 = /*#__PURE__*/styled.div(_templateObject14 || (_templateObject14 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: var(--button-height);\n"])));
5775
- var MobileTitleWrapper = /*#__PURE__*/styled.div(_templateObject15 || (_templateObject15 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n margin: 0 50px 0 20px;\n\n h2,\n h3 {\n margin: 0;\n }\n\n @media ", " {\n display: block;\n }\n"])), devices.mobile);
5777
+ var PromoWithTagsAdditionalText = /*#__PURE__*/styled(PromoWithTagsText)(_templateObject6$b || (_templateObject6$b = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 24px 0;\n"])));
5778
+ var TextLinksContainer = /*#__PURE__*/styled.div(_templateObject7$7 || (_templateObject7$7 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-wrap: wrap;\n margin: 24px 0 4px 0;\n"])));
5779
+ var TextLinkWrapper$2 = /*#__PURE__*/styled.div(_templateObject8$6 || (_templateObject8$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-right: 24px;\n margin-bottom: 20px;\n\n &:last-child {\n margin-right: 0;\n }\n"])));
5780
+ var ExtraContentWrapper = /*#__PURE__*/styled.div(_templateObject9$4 || (_templateObject9$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n padding-right: 68px;\n\n iframe {\n height: 800px;\n }\n\n @media ", " {\n padding: 30px 0 0;\n }\n\n @media ", " {\n padding: 0;\n position: initial;\n }\n"])), devices.tablet, devices.mobile);
5781
+ var IconWrapper$2 = /*#__PURE__*/styled.div(_templateObject10$3 || (_templateObject10$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n position: absolute;\n top: 25px;\n right: 35px;\n width: 24px;\n height: 24px;\n\n @media ", " {\n top: 30px;\n right: 30px;\n }\n\n @media ", " {\n top: 3px;\n right: 20px;\n }\n"])), devices.tablet, devices.mobile);
5782
+ var PrimaryButtonWrapper$2 = /*#__PURE__*/styled.div(_templateObject11$2 || (_templateObject11$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: var(--button-height);\n"])));
5783
+ var MobileTitleWrapper = /*#__PURE__*/styled.div(_templateObject12$1 || (_templateObject12$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n margin: 0 50px 0 20px;\n\n h2,\n h3 {\n margin: 0;\n }\n\n @media ", " {\n display: block;\n }\n"])), devices.mobile);
5784
+ var PromoWithTagsTypeTags = /*#__PURE__*/styled(TypeTags)(_templateObject13 || (_templateObject13 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
5785
+ var PromoWithTagsHeader = /*#__PURE__*/styled(Header)(_templateObject14 || (_templateObject14 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
5786
+ var asCardOverrides = /*#__PURE__*/css(_templateObject15 || (_templateObject15 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n ", " {\n font-size: var(--font-size-subtitle-2);\n }\n\n ", " {\n font-size: var(--font-size-overline-1);\n }\n\n ", " {\n flex-direction: row;\n @media ", " {\n flex-direction: row;\n }\n }\n"])), PromoWithTagsSubtitle, PromoWithTagsTypeTags, ButtonsContainer$2, devices.tablet);
5787
+ var PromoWithTagsExtraContentWrapper = /*#__PURE__*/styled.div(_templateObject16 || (_templateObject16 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n grid-area: left;\n grid-area: ", ";\n align-self: center;\n @media ", " {\n & {\n grid-area: row1;\n }\n }\n"])), function (_ref10) {
5788
+ var imageToLeft = _ref10.imageToLeft;
5789
+ return imageToLeft ? 'left' : 'right';
5790
+ }, devices.mobile);
5791
+ var PromoWithTagsContentWrapper = /*#__PURE__*/styled.div(_templateObject17 || (_templateObject17 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-area: ", ";\n align-self: center;\n @media ", " {\n & {\n display: ", ";\n grid-area: row2;\n align-self: start;\n }\n }\n\n ", "\n"])), function (_ref11) {
5792
+ var imageToLeft = _ref11.imageToLeft;
5793
+ return imageToLeft ? 'right' : 'left';
5794
+ }, devices.mobile, function (_ref12) {
5795
+ var hideSection = _ref12.hideSection;
5796
+ return hideSection ? 'none' : 'block';
5797
+ }, function (asCard) {
5798
+ return asCard && asCardOverrides;
5799
+ });
5800
+ var PromoWithTagsContainer = /*#__PURE__*/styled.div(_templateObject18 || (_templateObject18 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n h2,\n h3 {\n margin: 0 0 16px;\n }\n"])));
5776
5801
 
5777
5802
  var _excluded$j = ["text"],
5778
5803
  _excluded2$3 = ["text"],
5779
5804
  _excluded3 = ["text"];
5780
5805
  var LENGTH_TEXT$1 = 28;
5806
+ var LENGTH_TEXT_PARAGRAPH = 130;
5781
5807
 
5782
5808
  var PromoWithTags = function PromoWithTags(_ref) {
5783
5809
  var _ref$imagePosition = _ref.imagePosition,
@@ -5795,7 +5821,13 @@ var PromoWithTags = function PromoWithTags(_ref) {
5795
5821
  belowTitleTags = _ref.belowTitleTags,
5796
5822
  middleText = _ref.middleText,
5797
5823
  bottomText = _ref.bottomText,
5798
- image = _ref.image;
5824
+ image = _ref.image,
5825
+ _ref$asCard = _ref.asCard,
5826
+ asCard = _ref$asCard === void 0 ? false : _ref$asCard,
5827
+ _ref$disableCTA = _ref.disableCTA,
5828
+ disableCTA = _ref$disableCTA === void 0 ? false : _ref$disableCTA,
5829
+ _ref$disabledCTACopy = _ref.disabledCTACopy,
5830
+ disabledCTACopy = _ref$disabledCTACopy === void 0 ? 'Sold Out' : _ref$disabledCTACopy;
5799
5831
 
5800
5832
  var _useState = useState(false),
5801
5833
  showExtraContent = _useState[0],
@@ -5805,8 +5837,20 @@ var PromoWithTags = function PromoWithTags(_ref) {
5805
5837
  return str.length >= n ? str.substr(0, n) : str;
5806
5838
  };
5807
5839
 
5840
+ var getTitleLevel = function getTitleLevel(titleSize, isCard) {
5841
+ if (isCard) {
5842
+ return 5;
5843
+ }
5844
+
5845
+ if (titleSize === 'large') {
5846
+ return 3;
5847
+ }
5848
+
5849
+ return 2;
5850
+ };
5851
+
5808
5852
  var imageToLeft = imagePosition === 'left';
5809
- var titleLevel = titleSize === 'large' ? 2 : 3;
5853
+ var titleLevel = getTitleLevel(titleSize, asCard);
5810
5854
  var isExtraContentPresent = !!children;
5811
5855
  var anchorLink = title.replace(' ', '-').toLocaleLowerCase() + "-content";
5812
5856
 
@@ -5836,6 +5880,7 @@ var PromoWithTags = function PromoWithTags(_ref) {
5836
5880
  restTertiaryButton = _objectWithoutPropertiesLoose(_ref3, _excluded2$3);
5837
5881
 
5838
5882
  var tertiaryButtonTextTruncate = truncate(tertiaryButtonText, LENGTH_TEXT$1);
5883
+ var textTruncate = asCard ? truncate(text || '', LENGTH_TEXT_PARAGRAPH) : text;
5839
5884
  var textLinkItems = textLinks ? textLinks.map(function (link) {
5840
5885
  var _link$text = link.text,
5841
5886
  textLinkText = _link$text === void 0 ? '' : _link$text,
@@ -5845,24 +5890,28 @@ var PromoWithTags = function PromoWithTags(_ref) {
5845
5890
  }) : null;
5846
5891
  return /*#__PURE__*/React__default.createElement(PromoWithTagsGrid, {
5847
5892
  id: anchorLink,
5848
- imageToLeft: imageToLeft
5893
+ "data-testid": "grid-wrapper",
5894
+ imageToLeft: imageToLeft,
5895
+ asCard: asCard
5849
5896
  }, /*#__PURE__*/React__default.createElement(PromoWithTagsContentWrapper, {
5850
5897
  "data-testid": "content-wrapper",
5851
5898
  imageToLeft: imageToLeft,
5852
- hideSection: showExtraContent
5899
+ hideSection: showExtraContent,
5900
+ asCard: asCard
5853
5901
  }, /*#__PURE__*/React__default.createElement(PromoWithTagsContainer, null, !!(aboveTitleTags != null && aboveTitleTags.length) && /*#__PURE__*/React__default.createElement(PromoWithTagsTagWrapper, {
5854
5902
  marginBottom: 16
5855
- }, /*#__PURE__*/React__default.createElement(TypeTags, {
5903
+ }, /*#__PURE__*/React__default.createElement(PromoWithTagsTypeTags, {
5856
5904
  list: aboveTitleTags
5857
- })), /*#__PURE__*/React__default.createElement(Header, {
5905
+ })), /*#__PURE__*/React__default.createElement(PromoWithTagsHeader, {
5906
+ semanticLevel: 2,
5858
5907
  level: titleLevel
5859
5908
  }, title)), subtitle && /*#__PURE__*/React__default.createElement(PromoWithTagsSubtitle, null, subtitle), !!(belowTitleTags != null && belowTitleTags.length) && /*#__PURE__*/React__default.createElement(PromoWithTagsTagWrapper, {
5860
5909
  marginBottom: 8
5861
- }, /*#__PURE__*/React__default.createElement(TypeTags, {
5910
+ }, /*#__PURE__*/React__default.createElement(PromoWithTagsTypeTags, {
5862
5911
  list: belowTitleTags
5863
5912
  })), /*#__PURE__*/React__default.createElement(PromoWithTagsText, {
5864
5913
  dangerouslySetInnerHTML: {
5865
- __html: text
5914
+ __html: textTruncate
5866
5915
  }
5867
5916
  }), middleText && /*#__PURE__*/React__default.createElement(PromoWithTagsAdditionalText, {
5868
5917
  dangerouslySetInnerHTML: {
@@ -5877,12 +5926,19 @@ var PromoWithTags = function PromoWithTags(_ref) {
5877
5926
  "data-testid": "buttons-wrapper",
5878
5927
  primaryButtonTextLength: primaryButtonText.length,
5879
5928
  tertiaryButtonTextLength: tertiaryButtonText.length
5880
- }, primaryButton && /*#__PURE__*/React__default.createElement(PrimaryButtonWrapper$2, null, !showExtraContent && /*#__PURE__*/React__default.createElement(PrimaryButton, Object.assign({
5929
+ }, primaryButton && /*#__PURE__*/React__default.createElement(PrimaryButtonWrapper$2, null, disableCTA ? /*#__PURE__*/React__default.createElement(PrimaryButton, {
5930
+ bgColor: Colors.MidGrey,
5931
+ onClick: function onClick() {
5932
+ return null;
5933
+ },
5934
+ "data-testid": "diabled-link"
5935
+ }, disabledCTACopy || primaryButtonTextTruncate) : !showExtraContent && /*#__PURE__*/React__default.createElement(PrimaryButton, Object.assign({
5881
5936
  onClick: defaultOnClickHandler
5882
5937
  }, restPrimaryButton), primaryButtonTextTruncate)), tertiaryButton && /*#__PURE__*/React__default.createElement(Button$1, Object.assign({}, restTertiaryButton), tertiaryButtonTextTruncate))), /*#__PURE__*/React__default.createElement(PromoWithTagsExtraContentWrapper, {
5883
5938
  "data-testid": "extra-content-wrapper",
5884
5939
  imageToLeft: imageToLeft
5885
- }, showExtraContent && /*#__PURE__*/React__default.createElement(MobileTitleWrapper, null, /*#__PURE__*/React__default.createElement(Header, {
5940
+ }, showExtraContent && /*#__PURE__*/React__default.createElement(MobileTitleWrapper, null, /*#__PURE__*/React__default.createElement(PromoWithTagsHeader, {
5941
+ semanticLevel: 2,
5886
5942
  level: titleLevel
5887
5943
  }, title)), /*#__PURE__*/React__default.createElement(ImageAspectRatioWrapper, {
5888
5944
  aspectRatio: AspectRatio['4:3']