@royaloperahouse/harmonic 0.4.0 → 0.4.1

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.
@@ -7,6 +7,7 @@ declare const Swipe: React.ForwardRefExoticComponent<{
7
7
  children: React.ReactNode[];
8
8
  infinite?: boolean | undefined;
9
9
  slidesOffsetBefore?: number | undefined;
10
+ slidesAriaHidden?: boolean | undefined;
10
11
  onIndexChange?: ((index: number) => void) | undefined;
11
12
  onActiveChange?: ((value: boolean) => void) | undefined;
12
13
  } & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<SwipeRef>>;
@@ -1,2 +1,4 @@
1
+ export declare const disableTabbingInside: (element: HTMLElement | null, shouldDisable: boolean) => void;
2
+ export declare const isCloneSlide: (index: number, clonesCount: number, childrenLength: number, infinite: boolean) => boolean;
1
3
  export declare const getVisibleIndexes: (currentIndex: number, slideWidths: number[], containerWidth: number, slidesLength: number) => number[];
2
4
  export declare const getMovedSlides: (delta: number, slideWidths: number[]) => number;
@@ -7,6 +7,7 @@ declare type Props = {
7
7
  setCurrentSlide: React.Dispatch<React.SetStateAction<number>>;
8
8
  carouselRef: React.RefObject<SwipeRef>;
9
9
  hasMultipleSlides: boolean;
10
+ carouselTitle?: string;
10
11
  };
11
12
  declare const SwipeCarousel: FunctionComponent<Props>;
12
13
  export default SwipeCarousel;
@@ -848,6 +848,7 @@
848
848
  --base-color-primary: #1a1a1a;
849
849
  --color-primary: #1a1a1a;
850
850
  --color-primary-button: #ffffff;
851
+ --color-primary-background: #1a1a1a;
851
852
  --color-primary-button-reverse-bg: #ffffff;
852
853
  --color-primary-button-reverse: #1a1a1a;
853
854
  --color-secondary-button: #ffffff;
@@ -2686,7 +2686,7 @@ var Icon = /*#__PURE__*/React.memo(function (props) {
2686
2686
  });
2687
2687
  Icon.displayName = 'Icon';
2688
2688
 
2689
- var _excluded$2 = ["children", "iconName", "iconDirection", "iconClassName", "color", "className"];
2689
+ var _excluded$2 = ["children", "iconName", "iconDirection", "iconClassName", "color", "className", "href", "onClick"];
2690
2690
  var Button = function Button(_ref) {
2691
2691
  var children = _ref.children,
2692
2692
  iconName = _ref.iconName,
@@ -2694,9 +2694,18 @@ var Button = function Button(_ref) {
2694
2694
  iconClassName = _ref.iconClassName,
2695
2695
  color = _ref.color,
2696
2696
  className = _ref.className,
2697
+ href = _ref.href,
2698
+ onClick = _ref.onClick,
2697
2699
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
2698
2700
  var truncatedString = children.substring(0, 30);
2701
+ var handleClick = function handleClick(e) {
2702
+ if (href) return;
2703
+ e.preventDefault();
2704
+ onClick == null || onClick(e);
2705
+ };
2699
2706
  return /*#__PURE__*/React__default.createElement(ButtonWrapper, Object.assign({}, rest, {
2707
+ href: href != null ? href : '#',
2708
+ onClick: handleClick,
2700
2709
  color: color,
2701
2710
  iconName: iconName,
2702
2711
  className: className
@@ -4647,15 +4656,12 @@ var Tickbox2Component = function Tickbox2Component(_ref, ref) {
4647
4656
  var Tickbox2 = /*#__PURE__*/React.forwardRef(Tickbox2Component);
4648
4657
 
4649
4658
  var _templateObject$s, _templateObject2$k, _templateObject3$b, _templateObject4$8, _templateObject5$5, _templateObject6$3, _templateObject7$1, _templateObject8;
4650
- var TimerWrapper = /*#__PURE__*/styled__default.div(_templateObject$s || (_templateObject$s = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--color-base-", ");\n\n .color-primary {\n color: var(--color-base-", ");\n }\n"])), function (_ref) {
4659
+ var TimerWrapper = /*#__PURE__*/styled__default.div(_templateObject$s || (_templateObject$s = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--color-", ");\n"])), function (_ref) {
4651
4660
  var color = _ref.color;
4652
4661
  return color;
4653
- }, function (_ref2) {
4654
- var color = _ref2.color;
4655
- return color;
4656
4662
  });
4657
- var Line = /*#__PURE__*/styled__default.div(_templateObject2$k || (_templateObject2$k = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 1px;\n background-color: var(--base-color-", ");\n margin-top: 32px;\n\n @media ", " {\n margin-top: 20px;\n }\n"])), function (_ref3) {
4658
- var color = _ref3.color;
4663
+ var Line = /*#__PURE__*/styled__default.div(_templateObject2$k || (_templateObject2$k = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 1px;\n background-color: var(--color-", ");\n margin-top: 32px;\n\n @media ", " {\n margin-top: 20px;\n }\n"])), function (_ref2) {
4664
+ var color = _ref2.color;
4659
4665
  return color;
4660
4666
  }, devices.mobileAndTablet);
4661
4667
  var TitleWrapper = /*#__PURE__*/styled__default.div(_templateObject3$b || (_templateObject3$b = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 16px;\n\n @media ", " {\n margin-bottom: 8px;\n }\n"])), devices.mobileAndTablet);
@@ -4672,7 +4678,7 @@ var Timer = function Timer(_ref) {
4672
4678
  _ref$bottomLine = _ref.bottomLine,
4673
4679
  bottomLine = _ref$bottomLine === void 0 ? true : _ref$bottomLine,
4674
4680
  _ref$color = _ref.color,
4675
- color = _ref$color === void 0 ? exports.Colors.Black : _ref$color;
4681
+ color = _ref$color === void 0 ? ThemeColor['base-black'] : _ref$color;
4676
4682
  var _React$useState = React__default.useState('00'),
4677
4683
  seconds = _React$useState[0],
4678
4684
  setSeconds = _React$useState[1];
@@ -4695,13 +4701,16 @@ var Timer = function Timer(_ref) {
4695
4701
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
4696
4702
  className: "harmonic-timer-value"
4697
4703
  }, /*#__PURE__*/React__default.createElement(HarmonicHeader, {
4704
+ color: "inherit",
4698
4705
  hierarchy: "h3",
4699
4706
  size: "medium"
4700
4707
  }, value)), /*#__PURE__*/React__default.createElement(TimerLabel, {
4701
4708
  className: "harmonic-timer-label"
4702
4709
  }, /*#__PURE__*/React__default.createElement(HarmonicOverline, {
4710
+ color: "inherit",
4703
4711
  size: "large"
4704
4712
  }, label))), separator && (/*#__PURE__*/React__default.createElement(HarmonicHeader, {
4713
+ color: "inherit",
4705
4714
  hierarchy: "h3",
4706
4715
  size: "medium"
4707
4716
  }, /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"))));
@@ -4745,6 +4754,7 @@ var Timer = function Timer(_ref) {
4745
4754
  }, title && (/*#__PURE__*/React__default.createElement(TitleWrapper, {
4746
4755
  className: "harmonic-timer-title-wrapper"
4747
4756
  }, /*#__PURE__*/React__default.createElement(HarmonicSubtitle, {
4757
+ color: "inherit",
4748
4758
  size: "large"
4749
4759
  }, title))), /*#__PURE__*/React__default.createElement(ValuesWrapper, {
4750
4760
  className: "harmonic-timer-values-wrapper"
@@ -5223,14 +5233,15 @@ var useMobile = function useMobile() {
5223
5233
  };
5224
5234
  var useViewport = function useViewport() {
5225
5235
  var _useState3 = React.useState({
5226
- width: window.innerWidth,
5227
- isMobile: window.innerWidth < breakpoints.sm,
5228
- isTablet: window.innerWidth >= breakpoints.sm && window.innerWidth < breakpoints.md,
5229
- isDesktop: window.innerWidth >= breakpoints.md
5236
+ width: typeof window !== 'undefined' ? window.innerWidth : 0,
5237
+ isMobile: typeof window !== 'undefined' ? window.innerWidth < breakpoints.sm : false,
5238
+ isTablet: typeof window !== 'undefined' ? window.innerWidth >= breakpoints.sm && window.innerWidth < breakpoints.md : false,
5239
+ isDesktop: typeof window !== 'undefined' ? window.innerWidth >= breakpoints.md : false
5230
5240
  }),
5231
5241
  viewport = _useState3[0],
5232
5242
  setViewport = _useState3[1];
5233
5243
  React.useEffect(function () {
5244
+ if (typeof window === 'undefined') return undefined;
5234
5245
  var handleResize = function handleResize() {
5235
5246
  setViewport({
5236
5247
  width: window.innerWidth,
@@ -7519,6 +7530,17 @@ var generateDomElementId = function generateDomElementId() {
7519
7530
  return randomPart + "-" + datePart;
7520
7531
  };
7521
7532
 
7533
+ var DISABLED_TABBING_TAGS = 'a, button';
7534
+ var disableTabbingInside = function disableTabbingInside(element, shouldDisable) {
7535
+ if (!element) return;
7536
+ var focusables = element.querySelectorAll(DISABLED_TABBING_TAGS);
7537
+ focusables.forEach(function (el) {
7538
+ if (shouldDisable) el.setAttribute('tabindex', '-1');
7539
+ });
7540
+ };
7541
+ var isCloneSlide = function isCloneSlide(index, clonesCount, childrenLength, infinite) {
7542
+ return infinite && (index < clonesCount || index >= childrenLength + clonesCount);
7543
+ };
7522
7544
  var getVisibleIndexes = function getVisibleIndexes(currentIndex, slideWidths, containerWidth, slidesLength) {
7523
7545
  var widthSoFar = 0;
7524
7546
  var visible = [];
@@ -7548,7 +7570,7 @@ var getMovedSlides = function getMovedSlides(delta, slideWidths) {
7548
7570
  return movedSlides;
7549
7571
  };
7550
7572
 
7551
- var _excluded$h = ["children", "infinite", "onIndexChange", "slidesOffsetBefore", "onActiveChange"];
7573
+ var _excluded$h = ["children", "infinite", "onIndexChange", "slidesOffsetBefore", "slidesAriaHidden", "onActiveChange"];
7552
7574
  var MAX_CLONES_NUMBER = 6;
7553
7575
  var CLICK_DRAG_THRESHOLD = 10;
7554
7576
  var getClonesCount = function getClonesCount(infinite, childrenLength) {
@@ -7570,6 +7592,8 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7570
7592
  onIndexChange = _ref.onIndexChange,
7571
7593
  _ref$slidesOffsetBefo = _ref.slidesOffsetBefore,
7572
7594
  slidesOffsetBefore = _ref$slidesOffsetBefo === void 0 ? 0 : _ref$slidesOffsetBefo,
7595
+ _ref$slidesAriaHidden = _ref.slidesAriaHidden,
7596
+ slidesAriaHidden = _ref$slidesAriaHidden === void 0 ? false : _ref$slidesAriaHidden,
7573
7597
  onActiveChange = _ref.onActiveChange,
7574
7598
  props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
7575
7599
  var containerRef = React.useRef(null);
@@ -7782,11 +7806,13 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7782
7806
  var visibleIndexes = getVisibleIndexes(currentIndex, slideWidths, containerWidth, slides.length);
7783
7807
  return /*#__PURE__*/React__default.createElement(SwipeContainer, Object.assign({
7784
7808
  ref: containerRef,
7809
+ className: "swipe",
7785
7810
  onTouchStart: handleTouchStart,
7786
7811
  onTouchMove: handleTouchMove,
7787
7812
  onTouchEnd: handleTouchEnd,
7788
7813
  onMouseDown: handleMouseDown,
7789
- className: "swipe"
7814
+ "aria-roledescription": "carousel",
7815
+ role: "list"
7790
7816
  }, props), /*#__PURE__*/React__default.createElement(SwipeTrack, {
7791
7817
  className: "swipe-track-wrapper",
7792
7818
  translateX: dragTranslateX !== null ? dragTranslateX : getTranslateX(),
@@ -7794,17 +7820,21 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7794
7820
  onTransitionEnd: handleTransitionEnd
7795
7821
  }, slides.map(function (child, index) {
7796
7822
  var isVisible = visibleIndexes.includes(index);
7797
- return /*#__PURE__*/React__default.cloneElement(child, {
7823
+ var isClone = isCloneSlide(index, clonesCount, children.length, infinite);
7824
+ return /*#__PURE__*/React__default.createElement("div", {
7798
7825
  key: "swipe-slide-" + uniqueIdRef.current + "-" + index,
7799
- ariaHidden: !isVisible,
7800
7826
  className: SWIPE_SLIDE_CLASS_NAME,
7827
+ "aria-hidden": slidesAriaHidden || isClone,
7828
+ "aria-roledescription": "slide",
7829
+ role: "listitem",
7801
7830
  ref: function ref(el) {
7802
7831
  childRefs.current[index] = el;
7832
+ disableTabbingInside(el, isClone);
7803
7833
  },
7804
7834
  onFocus: function onFocus() {
7805
7835
  return onSlideFocus(isVisible, index);
7806
7836
  }
7807
- });
7837
+ }, child);
7808
7838
  })));
7809
7839
  });
7810
7840
  Swipe.displayName = 'Swipe';
@@ -7919,15 +7949,8 @@ var Carousel = function Carousel(_ref) {
7919
7949
  "data-testid": "carousel-swipe",
7920
7950
  ref: swipeRef,
7921
7951
  infinite: infinite,
7922
- slidesOffsetBefore: slidesOffsetBefore,
7923
- role: "list",
7924
- "aria-roledescription": "carousel"
7925
- }, React__default.Children.toArray(children).map(function (child, index) {
7926
- return /*#__PURE__*/React__default.createElement("div", {
7927
- key: "carousel-slide-" + index,
7928
- "aria-roledescription": "slide"
7929
- }, child);
7930
- })))));
7952
+ slidesOffsetBefore: slidesOffsetBefore
7953
+ }, children))));
7931
7954
  };
7932
7955
 
7933
7956
  var _templateObject$P, _templateObject2$C, _templateObject3$p, _templateObject4$k, _templateObject5$f, _templateObject6$d, _templateObject7$9, _templateObject8$6, _templateObject9$3, _templateObject10$3, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16, _templateObject17;
@@ -8083,7 +8106,7 @@ var InfoSection = function InfoSection(_ref) {
8083
8106
  className: "highlight-carousel-text",
8084
8107
  size: "large"
8085
8108
  }, timerParams.endDateText)) : (/*#__PURE__*/React__default.createElement(Timer, {
8086
- color: exports.Colors.White,
8109
+ color: ThemeColor['base-white'],
8087
8110
  endDateHandler: handleEndDate,
8088
8111
  endDate: timerParams.endDate,
8089
8112
  title: timerParams.title
@@ -8343,65 +8366,68 @@ var CardContainer = /*#__PURE__*/styled__default.div(_templateObject$U || (_temp
8343
8366
  var onlyShowButtonsOnHover = _ref2.onlyShowButtonsOnHover;
8344
8367
  return !onlyShowButtonsOnHover ? "height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between; \n " : '';
8345
8368
  });
8346
- var HoverContainer = /*#__PURE__*/styled__default.div(_templateObject2$F || (_templateObject2$F = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 4px;\n background-color: var(--button-bg-color);\n position: absolute;\n width: 100%;\n z-index: ", ";\n"])), zIndexes.contentOverlay);
8369
+ var HoverContainer = /*#__PURE__*/styled__default.div(_templateObject2$F || (_templateObject2$F = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 4px;\n background-color: var(--button-bg-color);\n background-color: ", ";\n position: absolute;\n width: 100%;\n z-index: ", ";\n"])), function (_ref3) {
8370
+ var lineColor = _ref3.lineColor;
8371
+ return lineColor ? "var(--color-" + lineColor + ")" : 'var(--color-primary-background)';
8372
+ }, zIndexes.contentOverlay);
8347
8373
  var ProgressContainer = /*#__PURE__*/styled__default.div(_templateObject3$s || (_templateObject3$s = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: -6px;\n"])));
8348
- var ContentContainer$2 = /*#__PURE__*/styled__default.div(_templateObject4$n || (_templateObject4$n = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n margin-top: 24px;\n\n @media ", " {\n margin-left: ", ";\n margin-right: ", ";\n }\n"])), devices.mobile, function (_ref3) {
8349
- var fullWidth = _ref3.fullWidth;
8350
- return fullWidth ? '0' : '20px';
8351
- }, function (_ref4) {
8374
+ var ContentContainer$2 = /*#__PURE__*/styled__default.div(_templateObject4$n || (_templateObject4$n = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n margin-top: 24px;\n\n @media ", " {\n margin-left: ", ";\n margin-right: ", ";\n }\n"])), devices.mobile, function (_ref4) {
8352
8375
  var fullWidth = _ref4.fullWidth;
8353
8376
  return fullWidth ? '0' : '20px';
8377
+ }, function (_ref5) {
8378
+ var fullWidth = _ref5.fullWidth;
8379
+ return fullWidth ? '0' : '20px';
8354
8380
  });
8355
8381
  var TitleContainer$4 = /*#__PURE__*/styled__default.div(_templateObject5$i || (_templateObject5$i = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 12px 0;\n\n @media ", " {\n display: none;\n }\n"])), devices.mobile);
8356
8382
  var TitleContainerMobile = /*#__PURE__*/styled__default.div(_templateObject6$f || (_templateObject6$f = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 12px 0;\n display: none;\n\n @media ", " {\n display: block;\n }\n"])), devices.mobile);
8357
8383
  var TextContainer$2 = /*#__PURE__*/styled__default.div(_templateObject7$a || (_templateObject7$a = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n white-space: break-spaces;\n overflow-wrap: break-word;\n"])));
8358
8384
  var HighlightTextContainer = /*#__PURE__*/styled__default.div(_templateObject8$7 || (_templateObject8$7 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: 24px;\n"])));
8359
8385
  var SubtitleContainer = /*#__PURE__*/styled__default.span(_templateObject9$4 || (_templateObject9$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 4px;\n overflow-wrap: break-word;\n"])));
8360
- var LabelContainer = /*#__PURE__*/styled__default.div(_templateObject10$4 || (_templateObject10$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: ", ";\n width: fit-content;\n height: 26px;\n\n @media ", " {\n margin-left: ", ";\n }\n"])), function (_ref5) {
8361
- var isVisible = _ref5.isVisible;
8386
+ var LabelContainer = /*#__PURE__*/styled__default.div(_templateObject10$4 || (_templateObject10$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: ", ";\n width: fit-content;\n height: 25px;\n\n @media ", " {\n margin-left: ", ";\n }\n"])), function (_ref6) {
8387
+ var isVisible = _ref6.isVisible;
8362
8388
  return isVisible ? "visible" : 'hidden';
8363
- }, devices.mobile, function (_ref6) {
8364
- var isGridCard = _ref6.isGridCard;
8389
+ }, devices.mobile, function (_ref7) {
8390
+ var isGridCard = _ref7.isGridCard;
8365
8391
  return isGridCard ? '20px' : '0';
8366
8392
  });
8367
- var ExtraActionsContainer = /*#__PURE__*/styled__default.div(_templateObject11$2 || (_templateObject11$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: 26px;\n\n @media ", " {\n margin-left: ", ";\n margin-right: ", ";\n }\n"])), devices.mobile, function (_ref7) {
8368
- var fullWidth = _ref7.fullWidth;
8369
- return fullWidth ? '0' : '20px';
8370
- }, function (_ref8) {
8393
+ var ExtraActionsContainer = /*#__PURE__*/styled__default.div(_templateObject11$2 || (_templateObject11$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: 26px;\n\n @media ", " {\n margin-left: ", ";\n margin-right: ", ";\n }\n"])), devices.mobile, function (_ref8) {
8371
8394
  var fullWidth = _ref8.fullWidth;
8372
8395
  return fullWidth ? '0' : '20px';
8396
+ }, function (_ref9) {
8397
+ var fullWidth = _ref9.fullWidth;
8398
+ return fullWidth ? '0' : '20px';
8373
8399
  });
8374
- var LabelElements = /*#__PURE__*/styled__default.div(_templateObject12$2 || (_templateObject12$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n height: 26px;\n padding: 0 8px;\n background-color: ", ";\n"])), function (_ref9) {
8375
- var bgColor = _ref9.bgColor;
8400
+ var LabelElements = /*#__PURE__*/styled__default.div(_templateObject12$2 || (_templateObject12$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n height: 26px;\n padding: 0 8px;\n background-color: ", ";\n"])), function (_ref10) {
8401
+ var bgColor = _ref10.bgColor;
8376
8402
  return bgColor ? "var(--color-base-" + bgColor + ")" : 'var(--color-primary-background)';
8377
8403
  });
8378
8404
  var LabelIconWrapper = /*#__PURE__*/styled__default.div(_templateObject13$2 || (_templateObject13$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-left: 10px;\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])));
8379
- var getButtonsOpacity = function getButtonsOpacity(_ref10) {
8380
- var onlyShowButtonsOnHover = _ref10.onlyShowButtonsOnHover;
8405
+ var getButtonsOpacity = function getButtonsOpacity(_ref11) {
8406
+ var onlyShowButtonsOnHover = _ref11.onlyShowButtonsOnHover;
8381
8407
  return onlyShowButtonsOnHover ? 'opacity: 0;' : 'opacity: 1;';
8382
8408
  };
8383
- var getButtonsMinHeight = function getButtonsMinHeight(_ref11) {
8384
- var onlyShowButtonsOnHover = _ref11.onlyShowButtonsOnHover;
8409
+ var getButtonsMinHeight = function getButtonsMinHeight(_ref12) {
8410
+ var onlyShowButtonsOnHover = _ref12.onlyShowButtonsOnHover;
8385
8411
  return onlyShowButtonsOnHover ? 'min-height: unset;' : 'min-height: 120px;';
8386
8412
  };
8387
- var ButtonsContainer$1 = /*#__PURE__*/styled__default.div(_templateObject14$2 || (_templateObject14$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n ", ";\n display: flex;\n gap: 24px;\n margin-top: 24px;\n\n ", "\n\n @media ", " {\n ", ";\n margin-left: ", ";\n margin-right: ", ";\n opacity: 1 !important;\n gap: 24px;\n margin-top: 24px;\n flex-direction: column;\n align-items: center;\n }\n\n @media ", " {\n ", ";\n opacity: 1 !important;\n gap: 24px;\n margin-top: 24px;\n align-items: flex-start;\n\n ", "\n }\n"])), getButtonsOpacity, function (_ref12) {
8388
- var size = _ref12.size,
8389
- primaryButtonTextLength = _ref12.primaryButtonTextLength,
8390
- tertiaryButtonTextLength = _ref12.tertiaryButtonTextLength;
8413
+ var ButtonsContainer$1 = /*#__PURE__*/styled__default.div(_templateObject14$2 || (_templateObject14$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n ", ";\n display: flex;\n gap: 24px;\n margin-top: 24px;\n\n ", "\n\n @media ", " {\n ", ";\n margin-left: ", ";\n margin-right: ", ";\n opacity: 1 !important;\n gap: 24px;\n margin-top: 24px;\n flex-direction: column;\n align-items: center;\n }\n\n @media ", " {\n ", ";\n opacity: 1 !important;\n gap: 24px;\n margin-top: 24px;\n align-items: flex-start;\n\n ", "\n }\n"])), getButtonsOpacity, function (_ref13) {
8414
+ var size = _ref13.size,
8415
+ primaryButtonTextLength = _ref13.primaryButtonTextLength,
8416
+ tertiaryButtonTextLength = _ref13.tertiaryButtonTextLength;
8391
8417
  var isLinksLayoutColumn = size === 'small' ? primaryButtonTextLength >= LENGTH_SMALL_TEXT$1 || tertiaryButtonTextLength >= LENGTH_SMALL_TEXT$1 : primaryButtonTextLength >= LENGTH_LARGE_TEXT || tertiaryButtonTextLength >= LENGTH_LARGE_TEXT;
8392
8418
  if (isLinksLayoutColumn) {
8393
8419
  return "\n flex-direction: column;\n ";
8394
8420
  }
8395
8421
  return '';
8396
- }, devices.mobile, getButtonsMinHeight, function (_ref13) {
8397
- var fullWidth = _ref13.fullWidth;
8398
- return fullWidth ? '0' : '20px';
8399
- }, function (_ref14) {
8422
+ }, devices.mobile, getButtonsMinHeight, function (_ref14) {
8400
8423
  var fullWidth = _ref14.fullWidth;
8401
8424
  return fullWidth ? '0' : '20px';
8402
- }, devices.tablet, getButtonsMinHeight, function (_ref15) {
8403
- var primaryButtonTextLength = _ref15.primaryButtonTextLength,
8404
- tertiaryButtonTextLength = _ref15.tertiaryButtonTextLength;
8425
+ }, function (_ref15) {
8426
+ var fullWidth = _ref15.fullWidth;
8427
+ return fullWidth ? '0' : '20px';
8428
+ }, devices.tablet, getButtonsMinHeight, function (_ref16) {
8429
+ var primaryButtonTextLength = _ref16.primaryButtonTextLength,
8430
+ tertiaryButtonTextLength = _ref16.tertiaryButtonTextLength;
8405
8431
  var isLinksLayoutColumnTablet = primaryButtonTextLength >= LENGTH_TEXT_TABLET || tertiaryButtonTextLength >= LENGTH_TEXT_TABLET;
8406
8432
  if (isLinksLayoutColumnTablet) {
8407
8433
  return "\n flex-direction: column;\n ";
@@ -9344,8 +9370,8 @@ var Button$1 = function Button(_ref2) {
9344
9370
  var Image = function Image(_ref) {
9345
9371
  var desktop = _ref.desktop,
9346
9372
  mobile = _ref.mobile,
9347
- alt = _ref.alt;
9348
- var isMobile = useMobile();
9373
+ alt = _ref.alt,
9374
+ isMobile = _ref.isMobile;
9349
9375
  return /*#__PURE__*/React__default.createElement(ImageAspectRatioWrapper, {
9350
9376
  aspectRatio: isMobile ? exports.AspectRatio['75:32'] : exports.AspectRatio['90:17']
9351
9377
  }, /*#__PURE__*/React__default.createElement("picture", {
@@ -9387,7 +9413,8 @@ var PageHeadingPromo = function PageHeadingPromo(_ref) {
9387
9413
  }, /*#__PURE__*/React__default.createElement(Sponsorship, null))), /*#__PURE__*/React__default.createElement(ImageWrapper, null, /*#__PURE__*/React__default.createElement(Image, {
9388
9414
  mobile: image.mobile,
9389
9415
  desktop: image.desktop,
9390
- alt: image.alt
9416
+ alt: image.alt,
9417
+ isMobile: isMobile
9391
9418
  }), showImageButton && mainLink && (/*#__PURE__*/React__default.createElement(ImageButtonWrapper, {
9392
9419
  "data-testid": "promo-heading-image-button"
9393
9420
  }, /*#__PURE__*/React__default.createElement(PrimaryButton, Object.assign({}, mainLink, {
@@ -12393,21 +12420,19 @@ var SwipeCarousel = function SwipeCarousel(_ref2) {
12393
12420
  currentSlide = _ref2.currentSlide,
12394
12421
  carouselRef = _ref2.carouselRef,
12395
12422
  hasMultipleSlides = _ref2.hasMultipleSlides,
12396
- setCurrentSlide = _ref2.setCurrentSlide;
12423
+ setCurrentSlide = _ref2.setCurrentSlide,
12424
+ carouselTitle = _ref2.carouselTitle;
12397
12425
  var hasOnlyImageSlides = slidesMedia.every(function (slide) {
12398
12426
  return !isVideoSlide(slide);
12399
12427
  });
12400
12428
  return /*#__PURE__*/React__default.createElement(Swipe, {
12401
12429
  ref: carouselRef,
12430
+ slidesAriaHidden: true,
12402
12431
  infinite: hasMultipleSlides && hasOnlyImageSlides,
12403
- onIndexChange: setCurrentSlide,
12404
- "aria-roledescription": "carousel"
12432
+ onIndexChange: setCurrentSlide
12405
12433
  }, slidesMedia.map(function (mediaContent, index) {
12406
12434
  return /*#__PURE__*/React__default.createElement("div", {
12407
- className: "swiper-slide",
12408
- key: mediaContent.key,
12409
- "aria-hidden": index !== currentSlide,
12410
- "aria-roledescription": "slide"
12435
+ key: mediaContent.key + "-" + carouselTitle
12411
12436
  }, /*#__PURE__*/React__default.createElement(ImageAspectRatioWrapper, {
12412
12437
  aspectRatio: exports.AspectRatio['4:3']
12413
12438
  }, isVideoSlide(mediaContent) ? (/*#__PURE__*/React__default.createElement(VideoSlide, {
@@ -12493,6 +12518,7 @@ var HighlightsCarousel = function HighlightsCarousel(_ref) {
12493
12518
  availablePrev: hasOnlyImageSlides || currentSlide !== 0,
12494
12519
  availableNext: hasOnlyImageSlides || currentSlide !== slidesMedia.length - 1
12495
12520
  }))), /*#__PURE__*/React__default.createElement(SwipeCarousel, {
12521
+ carouselTitle: carouselTitle,
12496
12522
  slidesMedia: slidesMedia,
12497
12523
  hasMultipleSlides: hasMultipleSlides,
12498
12524
  carouselRef: carouselRef,