@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.
- package/dist/components/molecules/Swipe/Swipe.d.ts +1 -0
- package/dist/components/molecules/Swipe/helper.d.ts +1 -0
- package/dist/components/organisms/Carousels/Carousel/helper.d.ts +3 -1
- package/dist/harmonic.cjs.development.js +160 -62
- package/dist/harmonic.cjs.development.js.map +1 -1
- package/dist/harmonic.cjs.production.min.js +1 -1
- package/dist/harmonic.cjs.production.min.js.map +1 -1
- package/dist/harmonic.esm.js +160 -62
- package/dist/harmonic.esm.js.map +1 -1
- package/dist/types/carousel.d.ts +4 -0
- package/package.json +1 -1
|
@@ -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;
|
|
@@ -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
|
|
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 + ") / " +
|
|
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
|
-
|
|
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(", "
|
|
7399
|
-
|
|
7400
|
-
|
|
7401
|
-
|
|
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
|
-
|
|
7471
|
-
|
|
7472
|
-
|
|
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
|
-
|
|
7519
|
+
} else {
|
|
7520
|
+
var offset = currentIndex - clonesCount + children.length;
|
|
7521
|
+
var realIndex = offset % children.length;
|
|
7522
|
+
onIndexChange(realIndex);
|
|
7488
7523
|
}
|
|
7489
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
|
7549
|
+
var offset = slidesOffsetBefore - slideWidths.slice(0, currentIndex).reduce(function (acc, width) {
|
|
7516
7550
|
return acc + width;
|
|
7517
7551
|
}, 0);
|
|
7518
|
-
return
|
|
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);
|
|
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;
|
|
7538
|
-
|
|
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;
|
|
7549
|
-
|
|
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
|
-
|
|
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
|
-
|
|
7577
|
-
|
|
7578
|
-
|
|
7579
|
-
|
|
7580
|
-
|
|
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)
|
|
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,
|