@royaloperahouse/harmonic 0.1.8-k → 0.1.8-m

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.
@@ -5093,8 +5093,82 @@ var _templateObject$w, _templateObject2$n;
5093
5093
  var MediaLinksWrapper = /*#__PURE__*/styled.div(_templateObject$w || (_templateObject$w = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: var(--footer-media-gap);\n"])));
5094
5094
  var MediaIconWrapper = /*#__PURE__*/styled.a(_templateObject2$n || (_templateObject2$n = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: var(--footer-media-icon-height);\n width: var(--footer-media-icon-width);\n\n &:focus {\n outline: 2px solid var(--color-base-white);\n }\n"])));
5095
5095
 
5096
+ // WARNING: Do not use this on server side rendering, it may throw an error.
5097
+ var isIOS = function isIOS() {
5098
+ try {
5099
+ console.warn('Do not use this on server side rendering, it may throw an error.');
5100
+ if (typeof navigator === undefined) return false;
5101
+ return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) ||
5102
+ // iPad on iOS 13 detection
5103
+ navigator.userAgent.includes('Mac') && 'ontouchend' in document;
5104
+ } catch (e) {
5105
+ console.warn('Error checking if device is iOS.', e);
5106
+ return false;
5107
+ }
5108
+ };
5109
+ // React hook version of isIOS (for server side rendering)
5110
+ var useIOS = function useIOS() {
5111
+ var _useState = useState(false),
5112
+ IOS = _useState[0],
5113
+ setIOS = _useState[1];
5114
+ useEffect(function () {
5115
+ if (typeof navigator === undefined) return;
5116
+ setIOS(isIOS());
5117
+ }, []);
5118
+ return IOS;
5119
+ };
5120
+ // Checks device size based on window width
5121
+ var isMobile = function isMobile() {
5122
+ try {
5123
+ console.warn('Do not use this on server side rendering, it may throw an error.');
5124
+ if (typeof window === undefined) return false;
5125
+ return window.innerWidth < breakpoints.sm;
5126
+ } catch (e) {
5127
+ console.warn('Error checking if device is mobile.', e);
5128
+ return false;
5129
+ }
5130
+ };
5131
+ // React hook version of isMobile (for server side rendering)
5132
+ var useMobile = function useMobile() {
5133
+ var _useState2 = useState(false),
5134
+ mobile = _useState2[0],
5135
+ setMobile = _useState2[1];
5136
+ useEffect(function () {
5137
+ if (typeof window === undefined) return;
5138
+ setMobile(isMobile());
5139
+ }, []);
5140
+ return mobile;
5141
+ };
5142
+ var useViewport = function useViewport() {
5143
+ var _useState3 = useState({
5144
+ width: window.innerWidth,
5145
+ isMobile: window.innerWidth < breakpoints.sm,
5146
+ isTablet: window.innerWidth >= breakpoints.sm && window.innerWidth < breakpoints.md,
5147
+ isDesktop: window.innerWidth >= breakpoints.md
5148
+ }),
5149
+ viewport = _useState3[0],
5150
+ setViewport = _useState3[1];
5151
+ useEffect(function () {
5152
+ var handleResize = function handleResize() {
5153
+ setViewport({
5154
+ width: window.innerWidth,
5155
+ isMobile: window.innerWidth < breakpoints.sm,
5156
+ isTablet: window.innerWidth >= breakpoints.sm && window.innerWidth < breakpoints.md,
5157
+ isDesktop: window.innerWidth >= breakpoints.md
5158
+ });
5159
+ };
5160
+ window.addEventListener('resize', handleResize);
5161
+ return function () {
5162
+ return window.removeEventListener('resize', handleResize);
5163
+ };
5164
+ }, []);
5165
+ return viewport;
5166
+ };
5167
+
5096
5168
  var SocialLinks = function SocialLinks(_ref) {
5097
5169
  var items = _ref.items;
5170
+ var _useViewport = useViewport(),
5171
+ isMobile = _useViewport.isMobile;
5098
5172
  return /*#__PURE__*/React__default.createElement(MediaLinksWrapper, null, items.map(function (mediaLink, idx) {
5099
5173
  return /*#__PURE__*/React__default.createElement(MediaIconWrapper, {
5100
5174
  key: mediaLink.name + "-" + idx,
@@ -5103,7 +5177,8 @@ var SocialLinks = function SocialLinks(_ref) {
5103
5177
  "aria-label": mediaLink.name,
5104
5178
  rel: "noopener noreferrer" // Ensures security for external links
5105
5179
  ,
5106
- target: "_blank"
5180
+ target: "_blank",
5181
+ tabIndex: isMobile ? 1 : undefined
5107
5182
  }, /*#__PURE__*/React__default.createElement(Icon, {
5108
5183
  iconName: mediaLink.name,
5109
5184
  color: "white",
@@ -5117,8 +5192,8 @@ var NavigationWrapper = /*#__PURE__*/styled.div(_templateObject$x || (_templateO
5117
5192
  var isMenuOpen = _ref.isMenuOpen;
5118
5193
  return isMenuOpen && "\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: " + zIndexes.overlay + ";\n background-color: var(--color-base-white);\n overflow-y: auto;\n scrollbar-width: none;\n ::-webkit-scrollbar {\n display: none;\n }\n ";
5119
5194
  });
5120
- var FullScreenContainer = /*#__PURE__*/styled.div(_templateObject2$o || (_templateObject2$o = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n background-color: var(--color-base-white);\n width: 100vw;\n position: absolute;\n z-index: ", ";\n opacity: 0;\n animation: fadeIn 0.3s ease forwards;\n\n @media ", " {\n top: 230px;\n background-color: var(--color-base-black);\n }\n\n @keyframes fadeIn {\n to {\n opacity: 0.5;\n }\n }\n"])), zIndexes.searchOverlay, devices.mobileAndTablet);
5121
- var NavigationGrid = /*#__PURE__*/styled(Grid)(_templateObject3$e || (_templateObject3$e = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n background-color: var(--color-base-white);\n height: 140px;\n width: 100%;\n z-index: ", ";\n\n @media ", " {\n height: 60px;\n }\n"])), zIndexes.navigation, devices.mobileAndTablet);
5195
+ var FullScreenContainer = /*#__PURE__*/styled.div(_templateObject2$o || (_templateObject2$o = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n background-color: var(--color-base-white);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n width: 100%;\n z-index: ", ";\n opacity: 0;\n animation: fadeIn 0.3s ease forwards;\n\n @media ", " {\n top: 230px;\n background-color: var(--color-base-black);\n }\n\n @keyframes fadeIn {\n to {\n opacity: 0.5;\n }\n }\n"])), zIndexes.searchOverlay, devices.mobileAndTablet);
5196
+ var NavigationGrid = /*#__PURE__*/styled(Grid)(_templateObject3$e || (_templateObject3$e = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n background-color: var(--color-base-white);\n height: 140px;\n justify-content: space-evenly;\n width: 100%;\n z-index: ", ";\n\n @media ", " {\n height: 60px;\n }\n"])), zIndexes.navigation, devices.mobileAndTablet);
5122
5197
  var SearchBackground = /*#__PURE__*/styled.div(_templateObject4$b || (_templateObject4$b = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: ", ";\n opacity: ", ";\n transform: ", ";\n transition:\n opacity 0.3s ease,\n transform 0.3s ease,\n visibility 0.3s ease;\n background-color: var(--color-base-white);\n height: 100px;\n border-top: 1px solid var(--color-base-light-grey);\n width: 100%;\n position: absolute;\n top: 140px;\n z-index: ", ";\n\n @media ", " {\n height: 86px;\n top: 144px;\n }\n"])), function (_ref2) {
5123
5198
  var visible = _ref2.visible;
5124
5199
  return visible ? 'visible' : 'hidden';
@@ -5144,13 +5219,13 @@ var MobileMenuContainer = /*#__PURE__*/styled(Grid)(_templateObject7$2 || (_temp
5144
5219
  var showSearch = _ref8.showSearch;
5145
5220
  return showSearch ? '110px' : '12px';
5146
5221
  });
5147
- var LogoContainer = /*#__PURE__*/styled.a(_templateObject8$2 || (_templateObject8$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n &&& .logoImg {\n height: 96px;\n width: 80px;\n }\n\n span > svg path,\n span > svg g path {\n fill: var(--color-primary-black);\n }\n\n @media ", " {\n display: none;\n }\n"])), devices.mobileAndTablet);
5148
- var LogoContainerMobile = /*#__PURE__*/styled.div(_templateObject9$1 || (_templateObject9$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n\n @media ", " {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 235px;\n padding: 16px;\n\n &&& .logoImg {\n width: 235px;\n }\n\n span > svg path {\n fill: var(--color-primary-black);\n }\n }\n"])), devices.mobileAndTablet);
5149
- var MenuContainer = /*#__PURE__*/styled.div(_templateObject10$1 || (_templateObject10$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 140px;\n width: 100%;\n\n @media ", " {\n flex-direction: row;\n justify-content: space-between;\n height: 60px;\n width 100%;\n }\n"])), devices.mobileAndTablet);
5150
- var NavWrapper = /*#__PURE__*/styled.div(_templateObject11 || (_templateObject11 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 50%;\n width: 100%;\n gap: 32px;\n\n @media ", " {\n flex-direction: row;\n height: 60px;\n width: 30%;\n justify-content: flex-end;\n }\n"])), devices.mobileAndTablet);
5151
- var NavContainer = /*#__PURE__*/styled.div(_templateObject12 || (_templateObject12 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 50%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n flex-gap: 32px;\n width: fit-content;\n\n @media ", " {\n flex-gap: 0;\n height: auto;\n width: fit-content;\n margin-left: 20px;\n margin-right: 20px;\n }\n"])), devices.mobileAndTablet);
5222
+ var LogoContainer = /*#__PURE__*/styled.a(_templateObject8$2 || (_templateObject8$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n &&& .logoImg {\n height: 96px;\n width: 80px;\n }\n\n span > svg path,\n span > svg g path {\n fill: var(--color-primary-black);\n }\n\n @media ", " {\n display: none;\n }\n"])), devices.mobileAndTablet);
5223
+ var LogoContainerMobile = /*#__PURE__*/styled.div(_templateObject9$1 || (_templateObject9$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n\n @media ", " {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n\n span > svg path {\n fill: var(--color-primary-black);\n }\n }\n"])), devices.mobileAndTablet);
5224
+ var MenuContainer = /*#__PURE__*/styled.div(_templateObject10$1 || (_templateObject10$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 140px;\n justify-content: space-evenly;\n width: 100%;\n\n @media ", " {\n flex-direction: row;\n justify-content: space-between;\n height: 60px;\n width 100%;\n }\n"])), devices.mobileAndTablet);
5225
+ var NavWrapper = /*#__PURE__*/styled.div(_templateObject11 || (_templateObject11 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 100%;\n gap: 32px;\n\n @media ", " {\n flex-direction: row;\n height: 60px;\n justify-content: flex-end;\n }\n"])), devices.mobileAndTablet);
5226
+ var NavContainer = /*#__PURE__*/styled.div(_templateObject12 || (_templateObject12 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n flex-gap: 32px;\n width: fit-content;\n\n @media ", " {\n flex-gap: 0;\n height: auto;\n width: fit-content;\n margin-left: 20px;\n margin-right: 20px;\n }\n"])), devices.mobileAndTablet);
5152
5227
  var NavContainerGridItem = /*#__PURE__*/styled(GridItem)(_templateObject13 || (_templateObject13 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
5153
- var NavTopContainer = /*#__PURE__*/styled.div(_templateObject14 || (_templateObject14 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n height: 50%;\n\n @media ", " {\n display: none;\n }\n"])), devices.mobileAndTablet);
5228
+ var NavTopContainer = /*#__PURE__*/styled.div(_templateObject14 || (_templateObject14 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n\n @media ", " {\n display: none;\n }\n"])), devices.mobileAndTablet);
5154
5229
  var NavTopContainerMobile = /*#__PURE__*/styled.div(_templateObject15 || (_templateObject15 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n\n @media ", " {\n display: flex;\n width: fit-content;\n align-items: center;\n height: 10%;\n margin-left: 20px;\n padding-bottom: 36px;\n }\n"])), devices.mobileAndTablet);
5155
5230
 
5156
5231
  var _templateObject$y;
@@ -5172,7 +5247,7 @@ var BasketContainer = /*#__PURE__*/styled.div(_templateObject$z || (_templateObj
5172
5247
  });
5173
5248
  var SvgContainer = /*#__PURE__*/styled.div(_templateObject2$p || (_templateObject2$p = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n\n svg {\n width: var(--navigation-large-gap);\n height: var(--navigation-large-gap);\n }\n"])));
5174
5249
  var NumContainer = /*#__PURE__*/styled.div(_templateObject3$f || (_templateObject3$f = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n width: 12px;\n height: 12px;\n position: absolute;\n top: 8px;\n margin-left: 6px;\n"])));
5175
- var BasketInfo = /*#__PURE__*/styled.div(_templateObject4$c || (_templateObject4$c = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n @media ", " {\n width: max-content;\n }\n"])), devices.mobileAndTablet);
5250
+ var BasketInfo = /*#__PURE__*/styled.div(_templateObject4$c || (_templateObject4$c = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n @media ", " {\n width: max-content;\n }\n"])), devices.mobileAndTablet);
5176
5251
  var BasketNum = /*#__PURE__*/styled.span(_templateObject5$9 || (_templateObject5$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--color-base-white);\n font-size: 10px;\n font-family: var(--font-family-sans);\n"])));
5177
5252
  var BasketText = /*#__PURE__*/styled.a(_templateObject6$6 || (_templateObject6$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: var(--harmonic-font-size-navigation);\n font-family: var(--font-family-sans);\n font-weight: var(--font-weight-navigation);\n color: var(--color-primary-black);\n margin-left: 6px;\n text-decoration: none;\n"])));
5178
5253
 
@@ -5717,78 +5792,6 @@ var InputContainer = /*#__PURE__*/styled.div(_templateObject5$a || (_templateObj
5717
5792
  var TextLinkWrapper$1 = /*#__PURE__*/styled(TextLink)(_templateObject6$7 || (_templateObject6$7 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--color-primary-red);\n"])));
5718
5793
  var SearchArrowContainer = /*#__PURE__*/styled.a(_templateObject7$3 || (_templateObject7$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n padding-right: 8px;\n\n svg {\n width: var(--navigation-large-gap);\n height: var(--navigation-large-gap);\n }\n"])));
5719
5794
 
5720
- // WARNING: Do not use this on server side rendering, it may throw an error.
5721
- var isIOS = function isIOS() {
5722
- try {
5723
- console.warn('Do not use this on server side rendering, it may throw an error.');
5724
- if (typeof navigator === undefined) return false;
5725
- return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) ||
5726
- // iPad on iOS 13 detection
5727
- navigator.userAgent.includes('Mac') && 'ontouchend' in document;
5728
- } catch (e) {
5729
- console.warn('Error checking if device is iOS.', e);
5730
- return false;
5731
- }
5732
- };
5733
- // React hook version of isIOS (for server side rendering)
5734
- var useIOS = function useIOS() {
5735
- var _useState = useState(false),
5736
- IOS = _useState[0],
5737
- setIOS = _useState[1];
5738
- useEffect(function () {
5739
- if (typeof navigator === undefined) return;
5740
- setIOS(isIOS());
5741
- }, []);
5742
- return IOS;
5743
- };
5744
- // Checks device size based on window width
5745
- var isMobile = function isMobile() {
5746
- try {
5747
- console.warn('Do not use this on server side rendering, it may throw an error.');
5748
- if (typeof window === undefined) return false;
5749
- return window.innerWidth < breakpoints.sm;
5750
- } catch (e) {
5751
- console.warn('Error checking if device is mobile.', e);
5752
- return false;
5753
- }
5754
- };
5755
- // React hook version of isMobile (for server side rendering)
5756
- var useMobile = function useMobile() {
5757
- var _useState2 = useState(false),
5758
- mobile = _useState2[0],
5759
- setMobile = _useState2[1];
5760
- useEffect(function () {
5761
- if (typeof window === undefined) return;
5762
- setMobile(isMobile());
5763
- }, []);
5764
- return mobile;
5765
- };
5766
- var useViewport = function useViewport() {
5767
- var _useState3 = useState({
5768
- width: window.innerWidth,
5769
- isMobile: window.innerWidth < breakpoints.sm,
5770
- isTablet: window.innerWidth >= breakpoints.sm && window.innerWidth < breakpoints.md,
5771
- isDesktop: window.innerWidth >= breakpoints.md
5772
- }),
5773
- viewport = _useState3[0],
5774
- setViewport = _useState3[1];
5775
- useEffect(function () {
5776
- var handleResize = function handleResize() {
5777
- setViewport({
5778
- width: window.innerWidth,
5779
- isMobile: window.innerWidth < breakpoints.sm,
5780
- isTablet: window.innerWidth >= breakpoints.sm && window.innerWidth < breakpoints.md,
5781
- isDesktop: window.innerWidth >= breakpoints.md
5782
- });
5783
- };
5784
- window.addEventListener('resize', handleResize);
5785
- return function () {
5786
- return window.removeEventListener('resize', handleResize);
5787
- };
5788
- }, []);
5789
- return viewport;
5790
- };
5791
-
5792
5795
  var SearchBar = function SearchBar(_ref) {
5793
5796
  var onClick = _ref.onClick,
5794
5797
  onClose = _ref.onClose,
@@ -6043,13 +6046,16 @@ var PolicyLinksTextLinkWrapper = /*#__PURE__*/styled(TextLink)(_templateObject$E
6043
6046
 
6044
6047
  var PolicyLinks = function PolicyLinks(_ref) {
6045
6048
  var items = _ref.items;
6049
+ var _useViewport = useViewport(),
6050
+ isMobile = _useViewport.isMobile;
6046
6051
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, items.map(function (link, idx) {
6047
6052
  return /*#__PURE__*/React__default.createElement(PolicyLinksTextLinkWrapper, {
6048
6053
  key: link.href + "-" + idx,
6049
6054
  target: link.href,
6050
6055
  href: link.href,
6051
6056
  "data-roh": link.dataRoh,
6052
- "aria-label": link.title
6057
+ "aria-label": link.title,
6058
+ tabIndex: isMobile ? 4 : undefined
6053
6059
  }, link.title);
6054
6060
  }));
6055
6061
  };
@@ -6069,7 +6075,9 @@ var Footer = function Footer(_ref) {
6069
6075
  var _useViewport = useViewport(),
6070
6076
  isMobile = _useViewport.isMobile;
6071
6077
  return /*#__PURE__*/React__default.createElement(FooterSection, {
6072
- className: className
6078
+ className: className,
6079
+ "aria-label": "Footer",
6080
+ role: "contentinfo"
6073
6081
  }, /*#__PURE__*/React__default.createElement(FooterContainer, null, /*#__PURE__*/React__default.createElement(PolicyLinksSection, {
6074
6082
  "data-testid": "policy-links"
6075
6083
  }, /*#__PURE__*/React__default.createElement(PolicyLinks, {
@@ -6080,14 +6088,16 @@ var Footer = function Footer(_ref) {
6080
6088
  items: rawSocialMediaLinks
6081
6089
  }), /*#__PURE__*/React__default.createElement(TextLinkWrapper$2, {
6082
6090
  href: contact.href,
6083
- "aria-label": contact.title
6091
+ "aria-label": contact.title,
6092
+ tabIndex: isMobile ? 2 : undefined
6084
6093
  }, contact.title)), /*#__PURE__*/React__default.createElement(SectionWrapper, null, /*#__PURE__*/React__default.createElement(BodyCopyHarmonic, {
6085
6094
  size: "large",
6086
6095
  color: "white"
6087
6096
  }, newsletter.text), /*#__PURE__*/React__default.createElement(TextLinkWrapper$2, {
6088
6097
  href: newsletter.link.href,
6089
6098
  "data-roh": newsletter.link.dataRoh,
6090
- "aria-label": newsletter.link.title
6099
+ "aria-label": newsletter.link.title,
6100
+ tabIndex: isMobile ? 3 : undefined
6091
6101
  }, newsletter.link.title))), /*#__PURE__*/React__default.createElement(LogoAndDescriptionSection, null, /*#__PURE__*/React__default.createElement("div", {
6092
6102
  "data-testid": "arts-logo"
6093
6103
  }, /*#__PURE__*/React__default.createElement("a", Object.assign({
@@ -7314,6 +7324,8 @@ var GRID_VALUES = {
7314
7324
  desktop: {
7315
7325
  gapsNumber: 13,
7316
7326
  columnsNumber: 13,
7327
+ gapsNumberOffset: 15,
7328
+ columnsNumberOffset: 14,
7317
7329
  largeCard: {
7318
7330
  gapsPerSlide: 4,
7319
7331
  columnsPerSlide: 5
@@ -7341,16 +7353,20 @@ var calculateSlideGapsSpace = function calculateSlideGapsSpace(gapsPerSlide) {
7341
7353
  return "calc(" + GRID_COLUMN_GAP + " * " + gapsPerSlide + ")";
7342
7354
  };
7343
7355
  // Slide styles
7344
- var getCardSlideDesktopStyles = function getCardSlideDesktopStyles(type) {
7356
+ var getCardSlideDesktopStyles = function getCardSlideDesktopStyles(type, isActive) {
7345
7357
  var _GRID_VALUES$desktop = GRID_VALUES.desktop,
7346
7358
  gapsNumber = _GRID_VALUES$desktop.gapsNumber,
7347
- columnsNumber = _GRID_VALUES$desktop.columnsNumber;
7359
+ columnsNumber = _GRID_VALUES$desktop.columnsNumber,
7360
+ columnsNumberOffset = _GRID_VALUES$desktop.columnsNumberOffset,
7361
+ gapsNumberOffset = _GRID_VALUES$desktop.gapsNumberOffset;
7348
7362
  var _ref = type === CarouselType.LargeCard ? GRID_VALUES.desktop.largeCard : GRID_VALUES.desktop.smallCard,
7349
7363
  gapsPerSlide = _ref.gapsPerSlide,
7350
7364
  columnsPerSlide = _ref.columnsPerSlide;
7351
- var gapsSpaceInMainGrid = calculateGapsSpaceInMainGrid(gapsNumber);
7365
+ var columns = isActive ? columnsNumberOffset : columnsNumber;
7366
+ var gaps = isActive ? gapsNumberOffset : gapsNumber;
7367
+ var gapsSpaceInMainGrid = calculateGapsSpaceInMainGrid(gaps);
7352
7368
  var slideGapsSpace = calculateSlideGapsSpace(gapsPerSlide);
7353
- return "\n width: calc( (" + columnsPerSlide + " * (100% - " + gapsSpaceInMainGrid + ") / " + columnsNumber + ") + " + slideGapsSpace + " );\n margin-right: " + GRID_COLUMN_GAP + ";\n ";
7369
+ return "\n width: calc( (" + columnsPerSlide + " * (100% - " + gapsSpaceInMainGrid + ") / " + columns + ") + " + slideGapsSpace + " );\n margin-right: " + GRID_COLUMN_GAP + ";\n ";
7354
7370
  };
7355
7371
  var getCardSlideMobileStyles = function getCardSlideMobileStyles() {
7356
7372
  var _GRID_VALUES$mobile = GRID_VALUES.mobile,
@@ -7374,8 +7390,9 @@ var ImageCarouselWrapper = /*#__PURE__*/styled.div(_templateObject$N || (_templa
7374
7390
  return "&&& {\n .swipe-slide > figure {\n " + getImageSlideStyles(imagesHeightDevice) + "\n }\n }";
7375
7391
  });
7376
7392
  var CardsCarouselWrapper = /*#__PURE__*/styled.div(_templateObject2$A || (_templateObject2$A = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n ", "\n\n @media ", " {\n && {\n .swipe-slide {\n ", "\n }\n }\n}}"])), function (_ref3) {
7377
- var type = _ref3.type;
7378
- return "\n & {\n .swipe-slide {\n " + getCardSlideDesktopStyles(type) + "\n }\n }\n ";
7393
+ var type = _ref3.type,
7394
+ isActive = _ref3.isActive;
7395
+ return "\n & {\n .swipe-slide {\n " + getCardSlideDesktopStyles(type, isActive) + "\n }\n }\n ";
7379
7396
  }, devices.mobile, /*#__PURE__*/getCardSlideMobileStyles());
7380
7397
  var TitleButtonsGrid = /*#__PURE__*/styled(Grid)(_templateObject3$o || (_templateObject3$o = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 28px;\n\n @media ", " {\n padding-bottom: 0;\n }\n\n @media ", " {\n margin-bottom: 20px;\n }\n"])), devices.mobile, devices.mobile);
7381
7398
  var CarouselInfoWrapper = /*#__PURE__*/styled.div(_templateObject4$j || (_templateObject4$j = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n user-select: text;\n"])));
@@ -7393,10 +7410,12 @@ var SwipeGridWrapper = /*#__PURE__*/styled(GridItem)(_templateObject8$5 || (_tem
7393
7410
  var _templateObject$O, _templateObject2$B;
7394
7411
  var SWIPE_SLIDE_CLASS_NAME = 'swipe-slide';
7395
7412
  var SwipeContainer = /*#__PURE__*/styled.div(_templateObject$O || (_templateObject$O = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n overflow: hidden;\n width: 100%;\n touch-action: pan-y;\n"])));
7396
- var SwipeTrack = /*#__PURE__*/styled.div(_templateObject2$B || (_templateObject2$B = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n transition: ", ";\n transform: translateX(", "px);\n\n .", " {\n flex-shrink: 0;\n }\n"])), function (props) {
7397
- return props.transitioning ? 'transform 0.3s ease-in-out' : 'none';
7398
- }, function (props) {
7399
- return props.translateX;
7413
+ var SwipeTrack = /*#__PURE__*/styled.div(_templateObject2$B || (_templateObject2$B = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n transition: ", ";\n transform: translateX(", ");\n\n .", " {\n flex-shrink: 0;\n }\n"])), function (_ref) {
7414
+ var transitioning = _ref.transitioning;
7415
+ return transitioning ? 'transform 0.3s ease' : 'none';
7416
+ }, function (_ref2) {
7417
+ var translateX = _ref2.translateX;
7418
+ return translateX + "px";
7400
7419
  }, SWIPE_SLIDE_CLASS_NAME);
7401
7420
 
7402
7421
  /**
@@ -7424,9 +7443,26 @@ var getVisibleIndexes = function getVisibleIndexes(currentIndex, slideWidths, co
7424
7443
  }
7425
7444
  return visible;
7426
7445
  };
7446
+ var getMovedSlides = function getMovedSlides(delta, slideWidths) {
7447
+ var absDelta = Math.abs(delta);
7448
+ var movedSlides = 0;
7449
+ var accumulated = 0;
7450
+ for (var i = 0; i < slideWidths.length; i++) {
7451
+ accumulated += slideWidths[i];
7452
+ // Allow partial slide (e.g. 50% of next slide) to count
7453
+ var partialThreshold = slideWidths[i] * 0.5;
7454
+ if (absDelta > accumulated - partialThreshold) {
7455
+ movedSlides++;
7456
+ } else {
7457
+ break;
7458
+ }
7459
+ }
7460
+ return movedSlides;
7461
+ };
7427
7462
 
7428
- var _excluded$h = ["children", "infinite", "onIndexChange", "slidesOffsetBefore"];
7463
+ var _excluded$h = ["children", "infinite", "onIndexChange", "slidesOffsetBefore", "onActiveChange"];
7429
7464
  var MAX_CLONES_NUMBER = 6;
7465
+ var CLICK_DRAG_THRESHOLD = 20;
7430
7466
  var getClonesCount = function getClonesCount(infinite, childrenLength) {
7431
7467
  if (!infinite) return 0;
7432
7468
  if (childrenLength > MAX_CLONES_NUMBER) return MAX_CLONES_NUMBER;
@@ -7446,13 +7482,29 @@ var Swipe = /*#__PURE__*/forwardRef(function (_ref, ref) {
7446
7482
  onIndexChange = _ref.onIndexChange,
7447
7483
  _ref$slidesOffsetBefo = _ref.slidesOffsetBefore,
7448
7484
  slidesOffsetBefore = _ref$slidesOffsetBefo === void 0 ? 0 : _ref$slidesOffsetBefo,
7485
+ onActiveChange = _ref.onActiveChange,
7449
7486
  props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
7450
7487
  var containerRef = useRef(null);
7451
7488
  var childRefs = useRef([]);
7452
7489
  var startX = useRef(0);
7453
7490
  var currentTranslate = useRef(0);
7454
7491
  var isDragging = useRef(false);
7492
+ var isMouseDown = useRef(false);
7493
+ var isActive = useRef(false);
7494
+ var isClickPrevented = useRef(false);
7455
7495
  var uniqueIdRef = useRef(generateDomElementId());
7496
+ var _useState = useState(null),
7497
+ dragTranslateX = _useState[0],
7498
+ setDragTranslateX = _useState[1];
7499
+ var _useState2 = useState(false),
7500
+ transitioning = _useState2[0],
7501
+ setTransitioning = _useState2[1];
7502
+ var _useState3 = useState([]),
7503
+ slideWidths = _useState3[0],
7504
+ setSlideWidths = _useState3[1];
7505
+ var _useState4 = useState(0),
7506
+ containerWidth = _useState4[0],
7507
+ setContainerWidth = _useState4[1];
7456
7508
  var _useMemo = useMemo(function () {
7457
7509
  var count = getClonesCount(infinite, children.length);
7458
7510
  var leftClones = infinite ? children.slice(-count) : [];
@@ -7465,65 +7517,74 @@ var Swipe = /*#__PURE__*/forwardRef(function (_ref, ref) {
7465
7517
  }, [children, infinite]),
7466
7518
  slides = _useMemo.slides,
7467
7519
  clonesCount = _useMemo.clonesCount;
7468
- // Set the initial index to clonesCount (so the first real slide is shown)
7469
- var _useState = useState(infinite ? clonesCount : 0),
7470
- currentIndex = _useState[0],
7471
- setCurrentIndex = _useState[1];
7472
- var _useState2 = useState(false),
7473
- transitioning = _useState2[0],
7474
- setTransitioning = _useState2[1];
7475
- var _useState3 = useState([]),
7476
- slideWidths = _useState3[0],
7477
- setSlideWidths = _useState3[1];
7478
- var _useState4 = useState(0),
7479
- containerWidth = _useState4[0],
7480
- setContainerWidth = _useState4[1];
7520
+ var _useState5 = useState(infinite ? clonesCount : 0),
7521
+ currentIndex = _useState5[0],
7522
+ setCurrentIndex = _useState5[1];
7481
7523
  useEffect(function () {
7482
7524
  if (!onIndexChange) return;
7483
7525
  if (!infinite) {
7484
7526
  onIndexChange(currentIndex);
7485
- return;
7527
+ } else {
7528
+ var offset = currentIndex - clonesCount + children.length;
7529
+ var realIndex = offset % children.length;
7530
+ onIndexChange(realIndex);
7486
7531
  }
7487
- var offset = currentIndex - clonesCount + children.length;
7488
- var realIndex = offset % children.length;
7489
- onIndexChange(realIndex);
7490
- }, [currentIndex, onIndexChange, infinite, children.length]);
7491
- // Update dimensions
7532
+ }, [currentIndex, onIndexChange, infinite, children.length, clonesCount]);
7492
7533
  var updateDimensions = useCallback(function () {
7493
7534
  if (containerRef.current) setContainerWidth(containerRef.current.offsetWidth);
7494
7535
  if (childRefs.current.length) setSlideWidths(childRefs.current.map(getSlidedWidth));
7495
7536
  }, []);
7496
7537
  useEffect(function () {
7497
- var animationFrameRequestId = requestAnimationFrame(function () {
7498
- updateDimensions();
7499
- });
7538
+ var animationFrameRequestId = requestAnimationFrame(updateDimensions);
7500
7539
  return function () {
7501
- cancelAnimationFrame(animationFrameRequestId);
7540
+ return cancelAnimationFrame(animationFrameRequestId);
7502
7541
  };
7503
7542
  }, [children]);
7504
7543
  useEffect(function () {
7505
7544
  var observer = new ResizeObserver(updateDimensions);
7506
7545
  if (containerRef.current) observer.observe(containerRef.current);
7507
7546
  return function () {
7508
- observer.disconnect();
7547
+ return observer.disconnect();
7509
7548
  };
7510
7549
  }, [children]);
7511
- // Compute current translate X value by summing widths of all slides before currentIndex.
7550
+ var setIsActive = function setIsActive() {
7551
+ if (!isActive.current) {
7552
+ isActive.current = true;
7553
+ onActiveChange == null || onActiveChange(true);
7554
+ }
7555
+ };
7512
7556
  var getTranslateX = function getTranslateX() {
7513
- var slideOffset = slidesOffsetBefore - slideWidths.slice(0, currentIndex).reduce(function (acc, width) {
7557
+ var offset = slidesOffsetBefore - slideWidths.slice(0, currentIndex).reduce(function (acc, width) {
7514
7558
  return acc + width;
7515
7559
  }, 0);
7516
- return slideOffset + (slidesOffsetBefore || 0); // Apply offsetBefore
7560
+ return offset + (slidesOffsetBefore || 0);
7561
+ };
7562
+ var navigateOnSwipeEnd = function navigateOnSwipeEnd() {
7563
+ var delta = currentTranslate.current - getTranslateX();
7564
+ var direction = delta > 0 ? -1 : 1;
7565
+ var movedSlides = getMovedSlides(delta, slideWidths);
7566
+ if (Math.abs(delta) > 20) {
7567
+ movedSlides = Math.max(1, movedSlides);
7568
+ var targetIndex = currentIndex + direction * movedSlides;
7569
+ var finalIndex = infinite ? targetIndex : Math.max(0, Math.min(slides.length - 1, targetIndex));
7570
+ setTransitioning(true);
7571
+ setCurrentIndex(finalIndex);
7572
+ } else {
7573
+ setTransitioning(true);
7574
+ setCurrentIndex(function (prev) {
7575
+ return prev;
7576
+ });
7577
+ }
7578
+ setDragTranslateX(null);
7517
7579
  };
7518
7580
  var canMoveNext = function canMoveNext() {
7519
7581
  var totalVisibleWidth = slideWidths.slice(currentIndex).reduce(function (acc, width) {
7520
7582
  return acc + width;
7521
7583
  }, 0);
7522
- // In non-infinite mode, only move if there is more to show
7523
7584
  return infinite || totalVisibleWidth > containerWidth - (slidesOffsetBefore || 0);
7524
7585
  };
7525
7586
  var handleTransitionEnd = function handleTransitionEnd() {
7526
- setTransitioning(false); // Reset transitioning after animation ends
7587
+ setTransitioning(false);
7527
7588
  if (!infinite) return;
7528
7589
  if (currentIndex >= children.length + clonesCount) {
7529
7590
  setCurrentIndex(clonesCount);
@@ -7532,22 +7593,16 @@ var Swipe = /*#__PURE__*/forwardRef(function (_ref, ref) {
7532
7593
  }
7533
7594
  };
7534
7595
  var goToPrev = function goToPrev() {
7535
- if (transitioning) return; // Prevent clicks during transition
7536
- if (currentIndex === 0 && !infinite) {
7537
- setTransitioning(false); // Reset immediately if no more slides
7538
- return;
7539
- }
7596
+ if (transitioning) return;
7597
+ setIsActive();
7540
7598
  setTransitioning(true);
7541
7599
  setCurrentIndex(function (prev) {
7542
7600
  return infinite ? prev - 1 : Math.max(0, prev - 1);
7543
7601
  });
7544
7602
  };
7545
7603
  var goToNext = function goToNext() {
7546
- if (transitioning || !canMoveNext()) return; // Prevent clicks during transition
7547
- if (currentIndex === children.length - 1 && !infinite) {
7548
- setTransitioning(false); // Reset immediately if no more slides
7549
- return;
7550
- }
7604
+ if (transitioning || !canMoveNext()) return;
7605
+ setIsActive();
7551
7606
  setTransitioning(true);
7552
7607
  setCurrentIndex(function (prev) {
7553
7608
  return infinite ? prev + 1 : Math.min(children.length - 1, prev + 1);
@@ -7560,26 +7615,70 @@ var Swipe = /*#__PURE__*/forwardRef(function (_ref, ref) {
7560
7615
  };
7561
7616
  });
7562
7617
  var handleTouchStart = function handleTouchStart(e) {
7618
+ setIsActive();
7563
7619
  startX.current = e.touches[0].clientX;
7564
7620
  isDragging.current = true;
7621
+ isClickPrevented.current = false;
7565
7622
  setTransitioning(false);
7566
7623
  };
7567
7624
  var handleTouchMove = function handleTouchMove(e) {
7568
7625
  if (!isDragging.current) return;
7569
7626
  var deltaX = e.touches[0].clientX - startX.current;
7570
- currentTranslate.current = getTranslateX() + deltaX;
7627
+ if (Math.abs(deltaX) > CLICK_DRAG_THRESHOLD) {
7628
+ isClickPrevented.current = true;
7629
+ }
7630
+ var visualOffset = getTranslateX() + deltaX;
7631
+ currentTranslate.current = visualOffset;
7632
+ setDragTranslateX(visualOffset);
7571
7633
  };
7572
7634
  var handleTouchEnd = function handleTouchEnd() {
7573
7635
  isDragging.current = false;
7574
- setTransitioning(true);
7575
- if (currentTranslate.current > getTranslateX()) {
7576
- goToPrev();
7577
- } else if (currentTranslate.current < getTranslateX()) {
7578
- goToNext();
7636
+ navigateOnSwipeEnd();
7637
+ };
7638
+ var handleMouseMove = function handleMouseMove(e) {
7639
+ if (!isDragging.current || !isMouseDown.current || transitioning) return;
7640
+ var deltaX = e.clientX - startX.current;
7641
+ if (Math.abs(deltaX) > CLICK_DRAG_THRESHOLD) {
7642
+ isClickPrevented.current = true;
7643
+ }
7644
+ var visualOffset = getTranslateX() + deltaX;
7645
+ currentTranslate.current = visualOffset;
7646
+ setDragTranslateX(visualOffset);
7647
+ };
7648
+ var _handleMouseUp = function handleMouseUp() {
7649
+ if (!isDragging.current || !isMouseDown.current) return;
7650
+ isDragging.current = false;
7651
+ isMouseDown.current = false;
7652
+ window.removeEventListener('mousemove', handleMouseMove);
7653
+ window.removeEventListener('mouseup', _handleMouseUp);
7654
+ if (!isClickPrevented.current) {
7655
+ setDragTranslateX(null);
7656
+ return;
7579
7657
  }
7658
+ navigateOnSwipeEnd();
7659
+ };
7660
+ var handleMouseDown = function handleMouseDown(e) {
7661
+ if (transitioning || e.button !== 0) return;
7662
+ e.preventDefault();
7663
+ setIsActive();
7664
+ startX.current = e.clientX;
7665
+ isDragging.current = true;
7666
+ isMouseDown.current = true;
7667
+ isClickPrevented.current = false;
7668
+ setTransitioning(false);
7669
+ window.addEventListener('mousemove', handleMouseMove);
7670
+ window.addEventListener('mouseup', _handleMouseUp);
7580
7671
  };
7581
7672
  var onSlideFocus = function onSlideFocus(isVisible, index) {
7582
- if (!isVisible) setCurrentIndex(index);
7673
+ if (!isVisible) {
7674
+ setCurrentIndex(index);
7675
+ }
7676
+ };
7677
+ var onClickCapture = function onClickCapture(e) {
7678
+ if (isClickPrevented.current) {
7679
+ e.preventDefault();
7680
+ e.stopPropagation();
7681
+ }
7583
7682
  };
7584
7683
  var visibleIndexes = getVisibleIndexes(currentIndex, slideWidths, containerWidth, slides.length);
7585
7684
  return /*#__PURE__*/React__default.createElement(SwipeContainer, Object.assign({
@@ -7587,11 +7686,12 @@ var Swipe = /*#__PURE__*/forwardRef(function (_ref, ref) {
7587
7686
  onTouchStart: handleTouchStart,
7588
7687
  onTouchMove: handleTouchMove,
7589
7688
  onTouchEnd: handleTouchEnd,
7689
+ onMouseDown: handleMouseDown,
7590
7690
  className: "swipe"
7591
7691
  }, props), /*#__PURE__*/React__default.createElement(SwipeTrack, {
7592
7692
  className: "swipe-track-wrapper",
7593
- translateX: getTranslateX(),
7594
- transitioning: transitioning,
7693
+ translateX: dragTranslateX !== null ? dragTranslateX : getTranslateX(),
7694
+ transitioning: transitioning && dragTranslateX === null,
7595
7695
  onTransitionEnd: handleTransitionEnd
7596
7696
  }, slides.map(function (child, index) {
7597
7697
  var isVisible = visibleIndexes.includes(index);
@@ -7604,7 +7704,8 @@ var Swipe = /*#__PURE__*/forwardRef(function (_ref, ref) {
7604
7704
  },
7605
7705
  onFocus: function onFocus() {
7606
7706
  return onSlideFocus(isVisible, index);
7607
- }
7707
+ },
7708
+ onClickCapture: onClickCapture
7608
7709
  });
7609
7710
  })));
7610
7711
  });
@@ -7658,19 +7759,23 @@ var Carousel = function Carousel(_ref) {
7658
7759
  }, [useOffset, active]);
7659
7760
  var onNext = function onNext() {
7660
7761
  var _swipeRef$current;
7661
- if (useOffset && !active) setActive(true);
7662
7762
  (_swipeRef$current = swipeRef.current) == null || _swipeRef$current.nextSlide();
7663
7763
  };
7664
7764
  var onPrev = function onPrev() {
7665
7765
  var _swipeRef$current2;
7666
- if (useOffset && !active) setActive(true);
7667
7766
  (_swipeRef$current2 = swipeRef.current) == null || _swipeRef$current2.prevSlide();
7668
7767
  };
7768
+ var onActiveChangeHandler = function onActiveChangeHandler(value) {
7769
+ if (useOffset && !active) {
7770
+ setActive(value);
7771
+ }
7772
+ };
7669
7773
  var carouselTitleId = "carousel-title-" + title;
7670
7774
  var Wrapper = type === CarouselType.Image ? ImageCarouselWrapper : CardsCarouselWrapper;
7671
7775
  return /*#__PURE__*/React__default.createElement(Wrapper, {
7672
7776
  className: className,
7673
7777
  type: type,
7778
+ isActive: active,
7674
7779
  imagesHeightDevice: imagesHeightDevice,
7675
7780
  imagesHeightDesktop: imagesHeightDesktop,
7676
7781
  role: "region",
@@ -7709,6 +7814,9 @@ var Carousel = function Carousel(_ref) {
7709
7814
  columnStartDevice: 2,
7710
7815
  columnSpanDevice: 13
7711
7816
  }, /*#__PURE__*/React__default.createElement(Swipe, {
7817
+ onActiveChange: function onActiveChange(value) {
7818
+ return onActiveChangeHandler(value);
7819
+ },
7712
7820
  "data-testid": "carousel-swipe",
7713
7821
  ref: swipeRef,
7714
7822
  infinite: infinite,
@@ -8045,7 +8153,7 @@ var SvgContainer$2 = /*#__PURE__*/styled.div(_templateObject2$E || (_templateObj
8045
8153
  var isClickable = _ref2.isClickable;
8046
8154
  return isClickable && "\n :hover:not(:active) {\n && svg path {\n fill: var(--announcement-banner-hover-color);\n }\n }\n :active {\n && svg path {\n fill: var(--announcement-banner-pressed-color);\n }\n }\n ";
8047
8155
  });
8048
- var ContentContainer$1 = /*#__PURE__*/styled.div(_templateObject3$r || (_templateObject3$r = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n overflow: auto;\n transition: max-height 0.2s ease;\n font-size: var(--font-size-body-1);\n font-family: var(--font-family-sans);\n font-feature-settings: var(--font-feature-settings-body);\n font-weight: var(--font-weight-body-1);\n letter-spacing: var(--letter-spacing-body-1);\n line-height: var(--line-height-body-1);\n text-transform: var(--text-transform-body);\n color: var(--announcement-banner-color);\n a {\n color: var(--announcement-banner-color);\n text-decoration: underline;\n }\n"])));
8156
+ var ContentContainer$1 = /*#__PURE__*/styled.div(_templateObject3$r || (_templateObject3$r = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n overflow: auto;\n transition: max-height 0.2s ease;\n font-size: var(--font-size-body-1);\n font-family: var(--font-family-sans);\n font-feature-settings: var(--font-feature-settings-body);\n font-weight: var(--font-weight-body-1);\n letter-spacing: var(--letter-spacing-body-1);\n line-height: var(--line-height-body-1);\n text-transform: var(--text-transform-body);\n color: var(--announcement-banner-color);\n a {\n color: var(--announcement-banner-color);\n text-decoration: underline;\n }\n\n * {\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n"])));
8049
8157
  var OverlineWrapper = /*#__PURE__*/styled(HarmonicOverline)(_templateObject4$m || (_templateObject4$m = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n padding-bottom: 4px;\n && {\n color: var(--announcement-banner-color);\n }\n"])));
8050
8158
  var BannerContentWrapper = /*#__PURE__*/styled(GridItem)(_templateObject5$h || (_templateObject5$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n && {\n grid-column: 3 / span 10;\n }\n\n @media ", ", ", " {\n && {\n grid-column: 3 / span 12;\n }\n }\n\n @media ", " {\n margin-left: ", ";\n margin-right: ", ";\n }\n"])), devices.desktop, devices.largeDesktop, devices.mobile, function (_ref3) {
8051
8159
  var variant = _ref3.variant;