@royaloperahouse/harmonic 0.1.8-k → 0.1.8-l

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.
@@ -8,5 +8,6 @@ declare const Swipe: React.ForwardRefExoticComponent<{
8
8
  infinite?: boolean | undefined;
9
9
  slidesOffsetBefore?: number | undefined;
10
10
  onIndexChange?: ((index: number) => void) | undefined;
11
+ onActiveChange?: ((value: boolean) => void) | undefined;
11
12
  } & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<SwipeRef>>;
12
13
  export default Swipe;
@@ -1 +1,2 @@
1
1
  export declare const getVisibleIndexes: (currentIndex: number, slideWidths: number[], containerWidth: number, slidesLength: number) => number[];
2
+ export declare const getMovedSlides: (delta: number, slideWidths: number[]) => number;
@@ -3,6 +3,8 @@ export declare const GRID_VALUES: {
3
3
  desktop: {
4
4
  gapsNumber: number;
5
5
  columnsNumber: number;
6
+ gapsNumberOffset: number;
7
+ columnsNumberOffset: number;
6
8
  largeCard: {
7
9
  gapsPerSlide: number;
8
10
  columnsPerSlide: number;
@@ -19,6 +21,6 @@ export declare const GRID_VALUES: {
19
21
  gapsPerSlide: number;
20
22
  };
21
23
  };
22
- export declare const getCardSlideDesktopStyles: (type: CarouselType) => string;
24
+ export declare const getCardSlideDesktopStyles: (type: CarouselType, isActive?: boolean | undefined) => string;
23
25
  export declare const getCardSlideMobileStyles: () => string;
24
26
  export declare const getImageSlideStyles: (imageHeight: number) => string;
@@ -7316,6 +7316,8 @@ var GRID_VALUES = {
7316
7316
  desktop: {
7317
7317
  gapsNumber: 13,
7318
7318
  columnsNumber: 13,
7319
+ gapsNumberOffset: 15,
7320
+ columnsNumberOffset: 14,
7319
7321
  largeCard: {
7320
7322
  gapsPerSlide: 4,
7321
7323
  columnsPerSlide: 5
@@ -7343,16 +7345,20 @@ var calculateSlideGapsSpace = function calculateSlideGapsSpace(gapsPerSlide) {
7343
7345
  return "calc(" + GRID_COLUMN_GAP + " * " + gapsPerSlide + ")";
7344
7346
  };
7345
7347
  // Slide styles
7346
- var getCardSlideDesktopStyles = function getCardSlideDesktopStyles(type) {
7348
+ var getCardSlideDesktopStyles = function getCardSlideDesktopStyles(type, isActive) {
7347
7349
  var _GRID_VALUES$desktop = GRID_VALUES.desktop,
7348
7350
  gapsNumber = _GRID_VALUES$desktop.gapsNumber,
7349
- columnsNumber = _GRID_VALUES$desktop.columnsNumber;
7351
+ columnsNumber = _GRID_VALUES$desktop.columnsNumber,
7352
+ columnsNumberOffset = _GRID_VALUES$desktop.columnsNumberOffset,
7353
+ gapsNumberOffset = _GRID_VALUES$desktop.gapsNumberOffset;
7350
7354
  var _ref = type === exports.CarouselType.LargeCard ? GRID_VALUES.desktop.largeCard : GRID_VALUES.desktop.smallCard,
7351
7355
  gapsPerSlide = _ref.gapsPerSlide,
7352
7356
  columnsPerSlide = _ref.columnsPerSlide;
7353
- var gapsSpaceInMainGrid = calculateGapsSpaceInMainGrid(gapsNumber);
7357
+ var columns = isActive ? columnsNumberOffset : columnsNumber;
7358
+ var gaps = isActive ? gapsNumberOffset : gapsNumber;
7359
+ var gapsSpaceInMainGrid = calculateGapsSpaceInMainGrid(gaps);
7354
7360
  var slideGapsSpace = calculateSlideGapsSpace(gapsPerSlide);
7355
- return "\n width: calc( (" + columnsPerSlide + " * (100% - " + gapsSpaceInMainGrid + ") / " + columnsNumber + ") + " + slideGapsSpace + " );\n margin-right: " + GRID_COLUMN_GAP + ";\n ";
7361
+ return "\n width: calc( (" + columnsPerSlide + " * (100% - " + gapsSpaceInMainGrid + ") / " + columns + ") + " + slideGapsSpace + " );\n margin-right: " + GRID_COLUMN_GAP + ";\n ";
7356
7362
  };
7357
7363
  var getCardSlideMobileStyles = function getCardSlideMobileStyles() {
7358
7364
  var _GRID_VALUES$mobile = GRID_VALUES.mobile,
@@ -7376,8 +7382,9 @@ var ImageCarouselWrapper = /*#__PURE__*/styled__default.div(_templateObject$N ||
7376
7382
  return "&&& {\n .swipe-slide > figure {\n " + getImageSlideStyles(imagesHeightDevice) + "\n }\n }";
7377
7383
  });
7378
7384
  var CardsCarouselWrapper = /*#__PURE__*/styled__default.div(_templateObject2$A || (_templateObject2$A = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n ", "\n\n @media ", " {\n && {\n .swipe-slide {\n ", "\n }\n }\n}}"])), function (_ref3) {
7379
- var type = _ref3.type;
7380
- return "\n & {\n .swipe-slide {\n " + getCardSlideDesktopStyles(type) + "\n }\n }\n ";
7385
+ var type = _ref3.type,
7386
+ isActive = _ref3.isActive;
7387
+ return "\n & {\n .swipe-slide {\n " + getCardSlideDesktopStyles(type, isActive) + "\n }\n }\n ";
7381
7388
  }, devices.mobile, /*#__PURE__*/getCardSlideMobileStyles());
7382
7389
  var TitleButtonsGrid = /*#__PURE__*/styled__default(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);
7383
7390
  var CarouselInfoWrapper = /*#__PURE__*/styled__default.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"])));
@@ -7395,10 +7402,12 @@ var SwipeGridWrapper = /*#__PURE__*/styled__default(GridItem)(_templateObject8$5
7395
7402
  var _templateObject$O, _templateObject2$B;
7396
7403
  var SWIPE_SLIDE_CLASS_NAME = 'swipe-slide';
7397
7404
  var SwipeContainer = /*#__PURE__*/styled__default.div(_templateObject$O || (_templateObject$O = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n overflow: hidden;\n width: 100%;\n touch-action: pan-y;\n"])));
7398
- var SwipeTrack = /*#__PURE__*/styled__default.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) {
7399
- return props.transitioning ? 'transform 0.3s ease-in-out' : 'none';
7400
- }, function (props) {
7401
- return props.translateX;
7405
+ var SwipeTrack = /*#__PURE__*/styled__default.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) {
7406
+ var transitioning = _ref.transitioning;
7407
+ return transitioning ? 'transform 0.3s ease' : 'none';
7408
+ }, function (_ref2) {
7409
+ var translateX = _ref2.translateX;
7410
+ return translateX + "px";
7402
7411
  }, SWIPE_SLIDE_CLASS_NAME);
7403
7412
 
7404
7413
  /**
@@ -7426,9 +7435,26 @@ var getVisibleIndexes = function getVisibleIndexes(currentIndex, slideWidths, co
7426
7435
  }
7427
7436
  return visible;
7428
7437
  };
7438
+ var getMovedSlides = function getMovedSlides(delta, slideWidths) {
7439
+ var absDelta = Math.abs(delta);
7440
+ var movedSlides = 0;
7441
+ var accumulated = 0;
7442
+ for (var i = 0; i < slideWidths.length; i++) {
7443
+ accumulated += slideWidths[i];
7444
+ // Allow partial slide (e.g. 50% of next slide) to count
7445
+ var partialThreshold = slideWidths[i] * 0.5;
7446
+ if (absDelta > accumulated - partialThreshold) {
7447
+ movedSlides++;
7448
+ } else {
7449
+ break;
7450
+ }
7451
+ }
7452
+ return movedSlides;
7453
+ };
7429
7454
 
7430
- var _excluded$h = ["children", "infinite", "onIndexChange", "slidesOffsetBefore"];
7455
+ var _excluded$h = ["children", "infinite", "onIndexChange", "slidesOffsetBefore", "onActiveChange"];
7431
7456
  var MAX_CLONES_NUMBER = 6;
7457
+ var CLICK_DRAG_THRESHOLD = 20;
7432
7458
  var getClonesCount = function getClonesCount(infinite, childrenLength) {
7433
7459
  if (!infinite) return 0;
7434
7460
  if (childrenLength > MAX_CLONES_NUMBER) return MAX_CLONES_NUMBER;
@@ -7448,13 +7474,29 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7448
7474
  onIndexChange = _ref.onIndexChange,
7449
7475
  _ref$slidesOffsetBefo = _ref.slidesOffsetBefore,
7450
7476
  slidesOffsetBefore = _ref$slidesOffsetBefo === void 0 ? 0 : _ref$slidesOffsetBefo,
7477
+ onActiveChange = _ref.onActiveChange,
7451
7478
  props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
7452
7479
  var containerRef = React.useRef(null);
7453
7480
  var childRefs = React.useRef([]);
7454
7481
  var startX = React.useRef(0);
7455
7482
  var currentTranslate = React.useRef(0);
7456
7483
  var isDragging = React.useRef(false);
7484
+ var isMouseDown = React.useRef(false);
7485
+ var isActive = React.useRef(false);
7486
+ var isClickPrevented = React.useRef(false);
7457
7487
  var uniqueIdRef = React.useRef(generateDomElementId());
7488
+ var _useState = React.useState(null),
7489
+ dragTranslateX = _useState[0],
7490
+ setDragTranslateX = _useState[1];
7491
+ var _useState2 = React.useState(false),
7492
+ transitioning = _useState2[0],
7493
+ setTransitioning = _useState2[1];
7494
+ var _useState3 = React.useState([]),
7495
+ slideWidths = _useState3[0],
7496
+ setSlideWidths = _useState3[1];
7497
+ var _useState4 = React.useState(0),
7498
+ containerWidth = _useState4[0],
7499
+ setContainerWidth = _useState4[1];
7458
7500
  var _useMemo = React.useMemo(function () {
7459
7501
  var count = getClonesCount(infinite, children.length);
7460
7502
  var leftClones = infinite ? children.slice(-count) : [];
@@ -7467,65 +7509,74 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7467
7509
  }, [children, infinite]),
7468
7510
  slides = _useMemo.slides,
7469
7511
  clonesCount = _useMemo.clonesCount;
7470
- // Set the initial index to clonesCount (so the first real slide is shown)
7471
- var _useState = React.useState(infinite ? clonesCount : 0),
7472
- currentIndex = _useState[0],
7473
- setCurrentIndex = _useState[1];
7474
- var _useState2 = React.useState(false),
7475
- transitioning = _useState2[0],
7476
- setTransitioning = _useState2[1];
7477
- var _useState3 = React.useState([]),
7478
- slideWidths = _useState3[0],
7479
- setSlideWidths = _useState3[1];
7480
- var _useState4 = React.useState(0),
7481
- containerWidth = _useState4[0],
7482
- setContainerWidth = _useState4[1];
7512
+ var _useState5 = React.useState(infinite ? clonesCount : 0),
7513
+ currentIndex = _useState5[0],
7514
+ setCurrentIndex = _useState5[1];
7483
7515
  React.useEffect(function () {
7484
7516
  if (!onIndexChange) return;
7485
7517
  if (!infinite) {
7486
7518
  onIndexChange(currentIndex);
7487
- return;
7519
+ } else {
7520
+ var offset = currentIndex - clonesCount + children.length;
7521
+ var realIndex = offset % children.length;
7522
+ onIndexChange(realIndex);
7488
7523
  }
7489
- var offset = currentIndex - clonesCount + children.length;
7490
- var realIndex = offset % children.length;
7491
- onIndexChange(realIndex);
7492
- }, [currentIndex, onIndexChange, infinite, children.length]);
7493
- // Update dimensions
7524
+ }, [currentIndex, onIndexChange, infinite, children.length, clonesCount]);
7494
7525
  var updateDimensions = React.useCallback(function () {
7495
7526
  if (containerRef.current) setContainerWidth(containerRef.current.offsetWidth);
7496
7527
  if (childRefs.current.length) setSlideWidths(childRefs.current.map(getSlidedWidth));
7497
7528
  }, []);
7498
7529
  React.useEffect(function () {
7499
- var animationFrameRequestId = requestAnimationFrame(function () {
7500
- updateDimensions();
7501
- });
7530
+ var animationFrameRequestId = requestAnimationFrame(updateDimensions);
7502
7531
  return function () {
7503
- cancelAnimationFrame(animationFrameRequestId);
7532
+ return cancelAnimationFrame(animationFrameRequestId);
7504
7533
  };
7505
7534
  }, [children]);
7506
7535
  React.useEffect(function () {
7507
7536
  var observer = new ResizeObserver(updateDimensions);
7508
7537
  if (containerRef.current) observer.observe(containerRef.current);
7509
7538
  return function () {
7510
- observer.disconnect();
7539
+ return observer.disconnect();
7511
7540
  };
7512
7541
  }, [children]);
7513
- // Compute current translate X value by summing widths of all slides before currentIndex.
7542
+ var setIsActive = function setIsActive() {
7543
+ if (!isActive.current) {
7544
+ isActive.current = true;
7545
+ onActiveChange == null || onActiveChange(true);
7546
+ }
7547
+ };
7514
7548
  var getTranslateX = function getTranslateX() {
7515
- var slideOffset = slidesOffsetBefore - slideWidths.slice(0, currentIndex).reduce(function (acc, width) {
7549
+ var offset = slidesOffsetBefore - slideWidths.slice(0, currentIndex).reduce(function (acc, width) {
7516
7550
  return acc + width;
7517
7551
  }, 0);
7518
- return slideOffset + (slidesOffsetBefore || 0); // Apply offsetBefore
7552
+ return offset + (slidesOffsetBefore || 0);
7553
+ };
7554
+ var navigateOnSwipeEnd = function navigateOnSwipeEnd() {
7555
+ var delta = currentTranslate.current - getTranslateX();
7556
+ var direction = delta > 0 ? -1 : 1;
7557
+ var movedSlides = getMovedSlides(delta, slideWidths);
7558
+ if (Math.abs(delta) > 20) {
7559
+ movedSlides = Math.max(1, movedSlides);
7560
+ var targetIndex = currentIndex + direction * movedSlides;
7561
+ var finalIndex = infinite ? targetIndex : Math.max(0, Math.min(slides.length - 1, targetIndex));
7562
+ setTransitioning(true);
7563
+ setCurrentIndex(finalIndex);
7564
+ } else {
7565
+ setTransitioning(true);
7566
+ setCurrentIndex(function (prev) {
7567
+ return prev;
7568
+ });
7569
+ }
7570
+ setDragTranslateX(null);
7519
7571
  };
7520
7572
  var canMoveNext = function canMoveNext() {
7521
7573
  var totalVisibleWidth = slideWidths.slice(currentIndex).reduce(function (acc, width) {
7522
7574
  return acc + width;
7523
7575
  }, 0);
7524
- // In non-infinite mode, only move if there is more to show
7525
7576
  return infinite || totalVisibleWidth > containerWidth - (slidesOffsetBefore || 0);
7526
7577
  };
7527
7578
  var handleTransitionEnd = function handleTransitionEnd() {
7528
- setTransitioning(false); // Reset transitioning after animation ends
7579
+ setTransitioning(false);
7529
7580
  if (!infinite) return;
7530
7581
  if (currentIndex >= children.length + clonesCount) {
7531
7582
  setCurrentIndex(clonesCount);
@@ -7534,22 +7585,16 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7534
7585
  }
7535
7586
  };
7536
7587
  var goToPrev = function goToPrev() {
7537
- if (transitioning) return; // Prevent clicks during transition
7538
- if (currentIndex === 0 && !infinite) {
7539
- setTransitioning(false); // Reset immediately if no more slides
7540
- return;
7541
- }
7588
+ if (transitioning) return;
7589
+ setIsActive();
7542
7590
  setTransitioning(true);
7543
7591
  setCurrentIndex(function (prev) {
7544
7592
  return infinite ? prev - 1 : Math.max(0, prev - 1);
7545
7593
  });
7546
7594
  };
7547
7595
  var goToNext = function goToNext() {
7548
- if (transitioning || !canMoveNext()) return; // Prevent clicks during transition
7549
- if (currentIndex === children.length - 1 && !infinite) {
7550
- setTransitioning(false); // Reset immediately if no more slides
7551
- return;
7552
- }
7596
+ if (transitioning || !canMoveNext()) return;
7597
+ setIsActive();
7553
7598
  setTransitioning(true);
7554
7599
  setCurrentIndex(function (prev) {
7555
7600
  return infinite ? prev + 1 : Math.min(children.length - 1, prev + 1);
@@ -7562,26 +7607,70 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7562
7607
  };
7563
7608
  });
7564
7609
  var handleTouchStart = function handleTouchStart(e) {
7610
+ setIsActive();
7565
7611
  startX.current = e.touches[0].clientX;
7566
7612
  isDragging.current = true;
7613
+ isClickPrevented.current = false;
7567
7614
  setTransitioning(false);
7568
7615
  };
7569
7616
  var handleTouchMove = function handleTouchMove(e) {
7570
7617
  if (!isDragging.current) return;
7571
7618
  var deltaX = e.touches[0].clientX - startX.current;
7572
- currentTranslate.current = getTranslateX() + deltaX;
7619
+ if (Math.abs(deltaX) > CLICK_DRAG_THRESHOLD) {
7620
+ isClickPrevented.current = true;
7621
+ }
7622
+ var visualOffset = getTranslateX() + deltaX;
7623
+ currentTranslate.current = visualOffset;
7624
+ setDragTranslateX(visualOffset);
7573
7625
  };
7574
7626
  var handleTouchEnd = function handleTouchEnd() {
7575
7627
  isDragging.current = false;
7576
- setTransitioning(true);
7577
- if (currentTranslate.current > getTranslateX()) {
7578
- goToPrev();
7579
- } else if (currentTranslate.current < getTranslateX()) {
7580
- goToNext();
7628
+ navigateOnSwipeEnd();
7629
+ };
7630
+ var handleMouseMove = function handleMouseMove(e) {
7631
+ if (!isDragging.current || !isMouseDown.current || transitioning) return;
7632
+ var deltaX = e.clientX - startX.current;
7633
+ if (Math.abs(deltaX) > CLICK_DRAG_THRESHOLD) {
7634
+ isClickPrevented.current = true;
7581
7635
  }
7636
+ var visualOffset = getTranslateX() + deltaX;
7637
+ currentTranslate.current = visualOffset;
7638
+ setDragTranslateX(visualOffset);
7639
+ };
7640
+ var _handleMouseUp = function handleMouseUp() {
7641
+ if (!isDragging.current || !isMouseDown.current) return;
7642
+ isDragging.current = false;
7643
+ isMouseDown.current = false;
7644
+ window.removeEventListener('mousemove', handleMouseMove);
7645
+ window.removeEventListener('mouseup', _handleMouseUp);
7646
+ if (!isClickPrevented.current) {
7647
+ setDragTranslateX(null);
7648
+ return;
7649
+ }
7650
+ navigateOnSwipeEnd();
7651
+ };
7652
+ var handleMouseDown = function handleMouseDown(e) {
7653
+ if (transitioning || e.button !== 0) return;
7654
+ e.preventDefault();
7655
+ setIsActive();
7656
+ startX.current = e.clientX;
7657
+ isDragging.current = true;
7658
+ isMouseDown.current = true;
7659
+ isClickPrevented.current = false;
7660
+ setTransitioning(false);
7661
+ window.addEventListener('mousemove', handleMouseMove);
7662
+ window.addEventListener('mouseup', _handleMouseUp);
7582
7663
  };
7583
7664
  var onSlideFocus = function onSlideFocus(isVisible, index) {
7584
- if (!isVisible) setCurrentIndex(index);
7665
+ if (!isVisible) {
7666
+ setCurrentIndex(index);
7667
+ }
7668
+ };
7669
+ var onClickCapture = function onClickCapture(e) {
7670
+ if (isClickPrevented.current) {
7671
+ e.preventDefault();
7672
+ e.stopPropagation();
7673
+ }
7585
7674
  };
7586
7675
  var visibleIndexes = getVisibleIndexes(currentIndex, slideWidths, containerWidth, slides.length);
7587
7676
  return /*#__PURE__*/React__default.createElement(SwipeContainer, Object.assign({
@@ -7589,11 +7678,12 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7589
7678
  onTouchStart: handleTouchStart,
7590
7679
  onTouchMove: handleTouchMove,
7591
7680
  onTouchEnd: handleTouchEnd,
7681
+ onMouseDown: handleMouseDown,
7592
7682
  className: "swipe"
7593
7683
  }, props), /*#__PURE__*/React__default.createElement(SwipeTrack, {
7594
7684
  className: "swipe-track-wrapper",
7595
- translateX: getTranslateX(),
7596
- transitioning: transitioning,
7685
+ translateX: dragTranslateX !== null ? dragTranslateX : getTranslateX(),
7686
+ transitioning: transitioning && dragTranslateX === null,
7597
7687
  onTransitionEnd: handleTransitionEnd
7598
7688
  }, slides.map(function (child, index) {
7599
7689
  var isVisible = visibleIndexes.includes(index);
@@ -7606,7 +7696,8 @@ var Swipe = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7606
7696
  },
7607
7697
  onFocus: function onFocus() {
7608
7698
  return onSlideFocus(isVisible, index);
7609
- }
7699
+ },
7700
+ onClickCapture: onClickCapture
7610
7701
  });
7611
7702
  })));
7612
7703
  });
@@ -7660,19 +7751,23 @@ var Carousel = function Carousel(_ref) {
7660
7751
  }, [useOffset, active]);
7661
7752
  var onNext = function onNext() {
7662
7753
  var _swipeRef$current;
7663
- if (useOffset && !active) setActive(true);
7664
7754
  (_swipeRef$current = swipeRef.current) == null || _swipeRef$current.nextSlide();
7665
7755
  };
7666
7756
  var onPrev = function onPrev() {
7667
7757
  var _swipeRef$current2;
7668
- if (useOffset && !active) setActive(true);
7669
7758
  (_swipeRef$current2 = swipeRef.current) == null || _swipeRef$current2.prevSlide();
7670
7759
  };
7760
+ var onActiveChangeHandler = function onActiveChangeHandler(value) {
7761
+ if (useOffset && !active) {
7762
+ setActive(value);
7763
+ }
7764
+ };
7671
7765
  var carouselTitleId = "carousel-title-" + title;
7672
7766
  var Wrapper = type === exports.CarouselType.Image ? ImageCarouselWrapper : CardsCarouselWrapper;
7673
7767
  return /*#__PURE__*/React__default.createElement(Wrapper, {
7674
7768
  className: className,
7675
7769
  type: type,
7770
+ isActive: active,
7676
7771
  imagesHeightDevice: imagesHeightDevice,
7677
7772
  imagesHeightDesktop: imagesHeightDesktop,
7678
7773
  role: "region",
@@ -7711,6 +7806,9 @@ var Carousel = function Carousel(_ref) {
7711
7806
  columnStartDevice: 2,
7712
7807
  columnSpanDevice: 13
7713
7808
  }, /*#__PURE__*/React__default.createElement(Swipe, {
7809
+ onActiveChange: function onActiveChange(value) {
7810
+ return onActiveChangeHandler(value);
7811
+ },
7714
7812
  "data-testid": "carousel-swipe",
7715
7813
  ref: swipeRef,
7716
7814
  infinite: infinite,