@royaloperahouse/harmonic 0.2.3-d → 0.2.3-e

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.
@@ -7449,6 +7449,17 @@ var generateDomElementId = function generateDomElementId() {
7449
7449
  return randomPart + "-" + datePart;
7450
7450
  };
7451
7451
 
7452
+ var DISABLED_TABBING_TAGS = 'a, button';
7453
+ var disableTabbingInside = function disableTabbingInside(element, shouldDisable) {
7454
+ if (!element) return;
7455
+ var focusables = element.querySelectorAll(DISABLED_TABBING_TAGS);
7456
+ focusables.forEach(function (el) {
7457
+ if (shouldDisable) el.setAttribute('tabindex', '-1');
7458
+ });
7459
+ };
7460
+ var isCloneSlide = function isCloneSlide(index, clonesCount, childrenLength, infinite) {
7461
+ return infinite && (index < clonesCount || index >= childrenLength + clonesCount);
7462
+ };
7452
7463
  var getVisibleIndexes = function getVisibleIndexes(currentIndex, slideWidths, containerWidth, slidesLength) {
7453
7464
  var widthSoFar = 0;
7454
7465
  var visible = [];
@@ -7712,11 +7723,13 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7712
7723
  var visibleIndexes = getVisibleIndexes(currentIndex, slideWidths, containerWidth, slides.length);
7713
7724
  return /*#__PURE__*/React__default.createElement(SwipeContainer, Object.assign({
7714
7725
  ref: containerRef,
7726
+ className: "swipe",
7715
7727
  onTouchStart: handleTouchStart,
7716
7728
  onTouchMove: handleTouchMove,
7717
7729
  onTouchEnd: handleTouchEnd,
7718
7730
  onMouseDown: handleMouseDown,
7719
- className: "swipe"
7731
+ "aria-roledescription": "carousel",
7732
+ role: "list"
7720
7733
  }, props), /*#__PURE__*/React__default.createElement(SwipeTrack, {
7721
7734
  className: "swipe-track-wrapper",
7722
7735
  translateX: dragTranslateX !== null ? dragTranslateX : getTranslateX(),
@@ -7724,17 +7737,21 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7724
7737
  onTransitionEnd: handleTransitionEnd
7725
7738
  }, slides.map(function (child, index) {
7726
7739
  var isVisible = visibleIndexes.includes(index);
7727
- return /*#__PURE__*/React__default.cloneElement(child, {
7740
+ var isClone = isCloneSlide(index, clonesCount, children.length, infinite);
7741
+ return /*#__PURE__*/React__default.createElement("div", {
7728
7742
  key: "swipe-slide-" + uniqueIdRef.current + "-" + index,
7729
- ariaHidden: !isVisible,
7730
7743
  className: SWIPE_SLIDE_CLASS_NAME,
7744
+ "aria-hidden": !isVisible,
7745
+ "aria-roledescription": "slide",
7746
+ role: "listitem",
7731
7747
  ref: function ref(el) {
7732
7748
  childRefs.current[index] = el;
7749
+ disableTabbingInside(el, isClone);
7733
7750
  },
7734
7751
  onFocus: function onFocus() {
7735
7752
  return onSlideFocus(isVisible, index);
7736
7753
  }
7737
- });
7754
+ }, child);
7738
7755
  })));
7739
7756
  });
7740
7757
  Swipe.displayName = 'Swipe';
@@ -7849,15 +7866,8 @@ var Carousel = function Carousel(_ref) {
7849
7866
  "data-testid": "carousel-swipe",
7850
7867
  ref: swipeRef,
7851
7868
  infinite: infinite,
7852
- slidesOffsetBefore: slidesOffsetBefore,
7853
- role: "list",
7854
- "aria-roledescription": "carousel"
7855
- }, React__default.Children.toArray(children).map(function (child, index) {
7856
- return /*#__PURE__*/React__default.createElement("div", {
7857
- key: "carousel-slide-" + index,
7858
- "aria-roledescription": "slide"
7859
- }, child);
7860
- })))));
7869
+ slidesOffsetBefore: slidesOffsetBefore
7870
+ }, children))));
7861
7871
  };
7862
7872
 
7863
7873
  var _templateObject$P, _templateObject2$C, _templateObject3$p, _templateObject4$k, _templateObject5$f, _templateObject6$d, _templateObject7$8, _templateObject8$6, _templateObject9$3, _templateObject10$3, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16, _templateObject17;
@@ -8333,55 +8343,11 @@ var ButtonsContainer$1 = /*#__PURE__*/styled__default.div(_templateObject14$2 ||
8333
8343
  return '';
8334
8344
  });
8335
8345
 
8336
- // Function to check if a URL is from the same site
8337
- // NOTE: This function is not SSR compatible
8338
- var isSameSiteUrl = function isSameSiteUrl(url) {
8339
- var _window;
8340
- if (url[0] === '/') return true; // URL is relative (e.g. /about)
8341
- if (!((_window = window) != null && _window.location)) return false; // window.location is not available (e.g. in SSR)
8342
- var currentPageURL = window.location.href || '';
8343
- var regexPattern = /^(https?:\/\/)?(www\d?\.)?([\w.-]+)\.\w+.*$/;
8344
- var match = url.match(regexPattern);
8345
- if (match != null && match[3] && currentPageURL) {
8346
- var urlDomain = match[3]; // Extract the domain from the third capture group
8347
- var currentMatch = currentPageURL.match(regexPattern);
8348
- if (currentMatch) {
8349
- var currentDomain = currentMatch[3];
8350
- return urlDomain === currentDomain;
8351
- }
8352
- }
8353
- return false; // URL didn't match the pattern
8354
- };
8355
- // Hook to check if a URL is from the same site - use for SSR
8356
- var useSameSiteUrl = function useSameSiteUrl(url) {
8357
- var _useState = React.useState(false),
8358
- hasSameSiteUrl = _useState[0],
8359
- setSameSiteUrl = _useState[1];
8360
- React.useEffect(function () {
8361
- setSameSiteUrl(isSameSiteUrl(url));
8362
- }, [url]);
8363
- return hasSameSiteUrl;
8364
- };
8365
- var limitImageUrlDimension = function limitImageUrlDimension(imageUrl, widthLimit) {
8366
- try {
8367
- var url = new URL(imageUrl);
8368
- var widthParam = url.searchParams.get('w') || url.searchParams.get('width');
8369
- if (widthParam) {
8370
- return imageUrl.replace(/(w|width)=\d+/, "$1=" + widthLimit);
8371
- }
8372
- var separator = url.search.includes('?') ? '&' : '?';
8373
- return "" + imageUrl + separator + "w=" + widthLimit;
8374
- } catch (error) {
8375
- return imageUrl;
8376
- }
8377
- };
8378
-
8379
8346
  var _excluded$k = ["text"],
8380
8347
  _excluded2$3 = ["text"];
8381
8348
  var _buttonTypeToButton$1;
8382
8349
  var LENGTH_LARGE_TEXT$1 = 28;
8383
8350
  var LENGTH_SMALL_TEXT$2 = 19;
8384
- var IMAGE_WIDTH_LIMIT = 600;
8385
8351
  var buttonTypeToButton$1 = (_buttonTypeToButton$1 = {}, _buttonTypeToButton$1[exports.ButtonType.Primary] = PrimaryButton, _buttonTypeToButton$1[exports.ButtonType.Secondary] = SecondaryButton, _buttonTypeToButton$1[exports.ButtonType.Tertiary] = TertiaryButton, _buttonTypeToButton$1);
8386
8352
  var Card = function Card(_ref) {
8387
8353
  var _labelParams$color;
@@ -8447,7 +8413,6 @@ var Card = function Card(_ref) {
8447
8413
  };
8448
8414
  var FirstButtonComponent = firstButton != null && firstButton.buttonType ? buttonTypeToButton$1[firstButton.buttonType] : PrimaryButton;
8449
8415
  var SecondButtonComponent = secondButton != null && secondButton.buttonType ? buttonTypeToButton$1[secondButton.buttonType] : TertiaryButton;
8450
- var limitedImage = image ? limitImageUrlDimension(image, IMAGE_WIDTH_LIMIT) : image;
8451
8416
  return /*#__PURE__*/React__default.createElement(CardContainer, {
8452
8417
  onMouseOver: function onMouseOver() {
8453
8418
  return onlyShowButtonsOnHover ? hoverHandler(true) : undefined;
@@ -8487,7 +8452,7 @@ var Card = function Card(_ref) {
8487
8452
  }), /*#__PURE__*/React__default.createElement(ImageAspectRatioWrapper, {
8488
8453
  aspectRatio: exports.AspectRatio['4:3']
8489
8454
  }, /*#__PURE__*/React__default.createElement("img", {
8490
- src: limitedImage,
8455
+ src: image,
8491
8456
  alt: imageAltText || title
8492
8457
  })), withContinueWatching && (/*#__PURE__*/React__default.createElement(ProgressContainer, null, /*#__PURE__*/React__default.createElement(Progress, {
8493
8458
  progress: progress,
@@ -9239,7 +9204,7 @@ var TitleWrapper$3 = /*#__PURE__*/styled__default.div(_templateObject10$5 || (_t
9239
9204
  var isButtonPresent = _ref6.isButtonPresent;
9240
9205
  return isButtonPresent ? '20px' : '0';
9241
9206
  });
9242
- var ContentWrapper$2 = /*#__PURE__*/styled__default.div(_templateObject11$3 || (_templateObject11$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n min-height: 70px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n @media ", " {\n height: auto;\n flex-direction: column;\n justify-content: start;\n }\n"])), devices.mobile);
9207
+ var ContentWrapper$2 = /*#__PURE__*/styled__default.div(_templateObject11$3 || (_templateObject11$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n min-height: 70px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n @media ", " {\n min-height: auto;\n flex-direction: column;\n justify-content: start;\n }\n"])), devices.mobile);
9243
9208
 
9244
9209
  var PageHeadingPromoBadge;
9245
9210
  (function (PageHeadingPromoBadge) {
@@ -9461,6 +9426,36 @@ var PrimaryButtonWithInversion = /*#__PURE__*/styled__default(PrimaryButton)(_te
9461
9426
  return invert ? theme.colors.white : theme.colors.black;
9462
9427
  });
9463
9428
 
9429
+ // Function to check if a URL is from the same site
9430
+ // NOTE: This function is not SSR compatible
9431
+ var isSameSiteUrl = function isSameSiteUrl(url) {
9432
+ var _window;
9433
+ if (url[0] === '/') return true; // URL is relative (e.g. /about)
9434
+ if (!((_window = window) != null && _window.location)) return false; // window.location is not available (e.g. in SSR)
9435
+ var currentPageURL = window.location.href || '';
9436
+ var regexPattern = /^(https?:\/\/)?(www\d?\.)?([\w.-]+)\.\w+.*$/;
9437
+ var match = url.match(regexPattern);
9438
+ if (match != null && match[3] && currentPageURL) {
9439
+ var urlDomain = match[3]; // Extract the domain from the third capture group
9440
+ var currentMatch = currentPageURL.match(regexPattern);
9441
+ if (currentMatch) {
9442
+ var currentDomain = currentMatch[3];
9443
+ return urlDomain === currentDomain;
9444
+ }
9445
+ }
9446
+ return false; // URL didn't match the pattern
9447
+ };
9448
+ // Hook to check if a URL is from the same site - use for SSR
9449
+ var useSameSiteUrl = function useSameSiteUrl(url) {
9450
+ var _useState = React.useState(false),
9451
+ hasSameSiteUrl = _useState[0],
9452
+ setSameSiteUrl = _useState[1];
9453
+ React.useEffect(function () {
9454
+ setSameSiteUrl(isSameSiteUrl(url));
9455
+ }, [url]);
9456
+ return hasSameSiteUrl;
9457
+ };
9458
+
9464
9459
  var renderBranding = function renderBranding(brandingStyle, invert, brandingText, brandingLink) {
9465
9460
  // eslint-disable-next-line react-hooks/rules-of-hooks
9466
9461
  var sameSiteUrl = brandingLink && useSameSiteUrl(brandingLink);
@@ -10176,13 +10171,13 @@ var PromoWithTitleImageWrapper = /*#__PURE__*/styled__default.div(_templateObjec
10176
10171
  var imageToLeft = _ref3.imageToLeft;
10177
10172
  return imageToLeft ? 'left' : 'right';
10178
10173
  }, devices.mobile);
10179
- var PromoWithTitleContentWrapper = /*#__PURE__*/styled__default.div(_templateObject3$G || (_templateObject3$G = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-area: ", ";\n align-self: center;\n @media ", " {\n & {\n grid-area: row2;\n align-self: start;\n }\n }\n"])), function (_ref4) {
10174
+ var PromoWithTitleContentWrapper = /*#__PURE__*/styled__default.div(_templateObject3$G || (_templateObject3$G = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-area: ", ";\n align-self: center;\n\n @media ", " {\n & {\n grid-area: row2;\n align-self: start;\n }\n }\n"])), function (_ref4) {
10180
10175
  var imageToLeft = _ref4.imageToLeft;
10181
10176
  return imageToLeft ? 'right' : 'left';
10182
10177
  }, devices.mobile);
10183
- var PromoWithTitleContainer = /*#__PURE__*/styled__default.div(_templateObject4$A || (_templateObject4$A = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n h2,\n h3 {\n margin: 0 0 32px;\n\n @media ", " {\n & {\n margin: 0 0 24px;\n }\n }\n }\n"])), devices.mobile);
10184
- var PromoWithTitleSubtitle = /*#__PURE__*/styled__default.span(_templateObject5$t || (_templateObject5$t = /*#__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"])));
10185
- var PromoWithTitleText = /*#__PURE__*/styled__default.div(_templateObject6$n || (_templateObject6$n = /*#__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: var(--color-primary-black);\n }\n\n &:visited {\n color: var(--color-base-dark-grey);\n }\n\n &:hover {\n color: var(--color-primary-red);\n }\n }\n"])));
10178
+ var HarmonicHeaderWithWrapper = /*#__PURE__*/styled__default(HarmonicHeader)(_templateObject4$A || (_templateObject4$A = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 32px;\n\n @media ", " {\n margin-bottom: 24px;\n }\n"])), devices.mobile);
10179
+ var HarmonicSubtitleWithWrapper = /*#__PURE__*/styled__default(HarmonicSubtitle)(_templateObject5$t || (_templateObject5$t = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0;\n overflow-wrap: break-word;\n margin-bottom: 16px;\n"])));
10180
+ var BodyCopyHarmonicWithWrapper = /*#__PURE__*/styled__default(BodyCopyHarmonic)(_templateObject6$n || (_templateObject6$n = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n padding: 0;\n margin: 0;\n margin-bottom: 32px;\n whiete-space: break-spaces;\n overflow-wrap: break-word;\n\n a {\n text-decoration: underline;\n cursor: pointer;\n\n &[href^='tel:'] {\n text-decoration: none;\n }\n\n &:link {\n color: var(--color-primary-black);\n }\n\n &:visited {\n color: var(--color-base-dark-grey);\n }\n\n &:hover {\n color: var(--color-primary-red);\n }\n }\n @media ", " {\n margin-bottom: 24px;\n }\n"])), devices.mobile);
10186
10181
  var ButtonsContainer$3 = /*#__PURE__*/styled__default.div(_templateObject7$h || (_templateObject7$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: 16px;\n margin-top: 32px;\n\n ", "\n\n @media ", " {\n gap: 24px;\n margin-top: 24px;\n flex-direction: column;\n align-items: center;\n }\n\n @media ", " {\n gap: 24px;\n margin-top: 24px;\n align-items: flex-start;\n\n ", "\n }\n"])), function (_ref5) {
10187
10182
  var _ref5$primaryButtonTe = _ref5.primaryButtonTextLength,
10188
10183
  primaryButtonTextLength = _ref5$primaryButtonTe === void 0 ? 0 : _ref5$primaryButtonTe,
@@ -10328,18 +10323,17 @@ var PromoWithTitle = function PromoWithTitle(_ref) {
10328
10323
  title = _ref$title === void 0 ? '' : _ref$title,
10329
10324
  _ref$titleSize = _ref.titleSize,
10330
10325
  titleSize = _ref$titleSize === void 0 ? 'large' : _ref$titleSize,
10326
+ titleHierarchy = _ref.titleHierarchy,
10331
10327
  subtitle = _ref.subtitle,
10332
10328
  text = _ref.text,
10333
10329
  links = _ref.links,
10334
10330
  children = _ref.children,
10335
10331
  videoSettings = _ref.videoSettings,
10336
- titleSemanticLevel = _ref.titleSemanticLevel,
10337
10332
  className = _ref.className;
10338
10333
  var truncate = function truncate(str, n) {
10339
10334
  return str.length >= n ? str.substr(0, n) : str;
10340
10335
  };
10341
10336
  var imageToLeft = imagePosition === 'left';
10342
- var titleLevel = titleSize === 'large' ? 2 : 3;
10343
10337
  var primaryButton = links == null ? void 0 : links[0];
10344
10338
  var _ref2 = primaryButton || {},
10345
10339
  _ref2$text = _ref2.text,
@@ -10363,20 +10357,19 @@ var PromoWithTitle = function PromoWithTitle(_ref) {
10363
10357
  imageToLeft: imageToLeft,
10364
10358
  className: className,
10365
10359
  "data-testid": "promo-with-title"
10366
- }, /*#__PURE__*/React__default.createElement(PromoChild
10367
- // eslint-disable-next-line react/no-children-prop
10368
- , {
10369
- // eslint-disable-next-line react/no-children-prop
10370
- children: children,
10360
+ }, /*#__PURE__*/React__default.createElement(PromoChild, {
10371
10361
  videoSettings: _extends({}, defaultVideoSettings, videoSettings),
10372
10362
  imageToLeft: imageToLeft
10373
- }), /*#__PURE__*/React__default.createElement(PromoWithTitleContentWrapper, {
10363
+ }, children), /*#__PURE__*/React__default.createElement(PromoWithTitleContentWrapper, {
10374
10364
  "data-testid": "content-wrapper",
10375
10365
  imageToLeft: imageToLeft
10376
- }, /*#__PURE__*/React__default.createElement(PromoWithTitleContainer, null, /*#__PURE__*/React__default.createElement(Header, {
10377
- level: titleLevel,
10378
- semanticLevel: titleSemanticLevel != null ? titleSemanticLevel : titleLevel
10379
- }, title)), subtitle ? /*#__PURE__*/React__default.createElement(PromoWithTitleSubtitle, null, subtitle) : null, /*#__PURE__*/React__default.createElement(PromoWithTitleText, {
10366
+ }, /*#__PURE__*/React__default.createElement(HarmonicHeaderWithWrapper, {
10367
+ size: titleSize,
10368
+ hierarchy: titleHierarchy
10369
+ }, title), subtitle ? /*#__PURE__*/React__default.createElement(HarmonicSubtitleWithWrapper, {
10370
+ size: "medium"
10371
+ }, subtitle) : null, /*#__PURE__*/React__default.createElement(BodyCopyHarmonicWithWrapper, {
10372
+ size: "medium",
10380
10373
  dangerouslySetInnerHTML: {
10381
10374
  __html: text
10382
10375
  }
@@ -12222,7 +12215,6 @@ var isVideoSlide = function isVideoSlide(slideMedia) {
12222
12215
  return slideMedia.video !== undefined;
12223
12216
  };
12224
12217
 
12225
- var IMAGE_WIDTH_LIMIT$1 = 800;
12226
12218
  var VideoSlide = function VideoSlide(_ref) {
12227
12219
  var index = _ref.index,
12228
12220
  settings = _ref.settings,
@@ -12249,27 +12241,18 @@ var SwipeCarousel = function SwipeCarousel(_ref2) {
12249
12241
  currentSlide = _ref2.currentSlide,
12250
12242
  carouselRef = _ref2.carouselRef,
12251
12243
  hasMultipleSlides = _ref2.hasMultipleSlides,
12252
- setCurrentSlide = _ref2.setCurrentSlide;
12244
+ setCurrentSlide = _ref2.setCurrentSlide,
12245
+ carouselTitle = _ref2.carouselTitle;
12253
12246
  var hasOnlyImageSlides = slidesMedia.every(function (slide) {
12254
12247
  return !isVideoSlide(slide);
12255
12248
  });
12256
- var limitedMediaContent = slidesMedia.map(function (slide) {
12257
- if (isVideoSlide(slide)) return slide;
12258
- return _extends({}, slide, {
12259
- src: slide.src ? limitImageUrlDimension(slide.src, IMAGE_WIDTH_LIMIT$1) : undefined
12260
- });
12261
- });
12262
12249
  return /*#__PURE__*/React__default.createElement(Swipe, {
12263
12250
  ref: carouselRef,
12264
12251
  infinite: hasMultipleSlides && hasOnlyImageSlides,
12265
- onIndexChange: setCurrentSlide,
12266
- "aria-roledescription": "carousel"
12267
- }, limitedMediaContent.map(function (mediaContent, index) {
12252
+ onIndexChange: setCurrentSlide
12253
+ }, slidesMedia.map(function (mediaContent, index) {
12268
12254
  return /*#__PURE__*/React__default.createElement("div", {
12269
- className: "swiper-slide",
12270
- key: mediaContent.key,
12271
- "aria-hidden": index !== currentSlide,
12272
- "aria-roledescription": "slide"
12255
+ key: mediaContent.key + "-" + carouselTitle
12273
12256
  }, /*#__PURE__*/React__default.createElement(ImageAspectRatioWrapper, {
12274
12257
  aspectRatio: exports.AspectRatio['4:3']
12275
12258
  }, isVideoSlide(mediaContent) ? (/*#__PURE__*/React__default.createElement(VideoSlide, {
@@ -12353,6 +12336,7 @@ var HighlightsCarousel = function HighlightsCarousel(_ref) {
12353
12336
  availablePrev: hasOnlyImageSlides || currentSlide !== 0,
12354
12337
  availableNext: hasOnlyImageSlides || currentSlide !== slidesMedia.length - 1
12355
12338
  }))), /*#__PURE__*/React__default.createElement(SwipeCarousel, {
12339
+ carouselTitle: carouselTitle,
12356
12340
  slidesMedia: slidesMedia,
12357
12341
  hasMultipleSlides: hasMultipleSlides,
12358
12342
  carouselRef: carouselRef,