@trap_stevo/legendarybuilderproreact-ui
Version:
The legendary UI & utility API that makes your application a legendary application. ~ Created by Steven Compton
684 lines • 31.3 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
import React, { useState, useRef, useEffect } from "react";
import { useSwipeable } from "react-swipeable";
import { useTimeout } from "../HUDManagers/HUDUniversalHUDEventEffectsManager.js";
import HUDIcon from "./HUDIcon.js";
function HUDCarousel(_ref) {
var _ref$carouselArrowRig = _ref.carouselArrowRightHoverConfigurationSettings,
carouselArrowRightHoverConfigurationSettings = _ref$carouselArrowRig === void 0 ? {} : _ref$carouselArrowRig,
_ref$carouselDotConte = _ref.carouselDotContentHoverConfigurationSettings,
carouselDotContentHoverConfigurationSettings = _ref$carouselDotConte === void 0 ? {} : _ref$carouselDotConte,
_ref$carouselSlideCon = _ref.carouselSlideContainerConfigurationSettings,
carouselSlideContainerConfigurationSettings = _ref$carouselSlideCon === void 0 ? {} : _ref$carouselSlideCon,
_ref$carouselArrowLef = _ref.carouselArrowLeftHoverConfigurationSettings,
carouselArrowLeftHoverConfigurationSettings = _ref$carouselArrowLef === void 0 ? {} : _ref$carouselArrowLef,
_ref$carouselDotsCont = _ref.carouselDotsContainerConfigurationSettings,
carouselDotsContainerConfigurationSettings = _ref$carouselDotsCont === void 0 ? {} : _ref$carouselDotsCont,
_ref$carouselDotConte2 = _ref.carouselDotContentConfigurationSettings,
carouselDotContentConfigurationSettings = _ref$carouselDotConte2 === void 0 ? {} : _ref$carouselDotConte2,
_ref$carouselArrowRig2 = _ref.carouselArrowRightConfigurationSettings,
carouselArrowRightConfigurationSettings = _ref$carouselArrowRig2 === void 0 ? {} : _ref$carouselArrowRig2,
_ref$carouselContaine = _ref.carouselContainerConfigurationSettings,
carouselContainerConfigurationSettings = _ref$carouselContaine === void 0 ? {} : _ref$carouselContaine,
_ref$carouselArrowLef2 = _ref.carouselArrowLeftConfigurationSettings,
carouselArrowLeftConfigurationSettings = _ref$carouselArrowLef2 === void 0 ? {} : _ref$carouselArrowLef2,
_ref$carouselRightSid = _ref.carouselRightSideConfigurationSettings,
carouselRightSideConfigurationSettings = _ref$carouselRightSid === void 0 ? {} : _ref$carouselRightSid,
_ref$carouselDotHover = _ref.carouselDotHoverConfigurationSettings,
carouselDotHoverConfigurationSettings = _ref$carouselDotHover === void 0 ? {} : _ref$carouselDotHover,
_ref$carouselLeftSide = _ref.carouselLeftSideConfigurationSettings,
carouselLeftSideConfigurationSettings = _ref$carouselLeftSide === void 0 ? {} : _ref$carouselLeftSide,
_ref$carouselDotConfi = _ref.carouselDotConfigurationSettings,
carouselDotConfigurationSettings = _ref$carouselDotConfi === void 0 ? {} : _ref$carouselDotConfi,
_ref$slideConfigurati = _ref.slideConfigurationSettings,
slideConfigurationSettings = _ref$slideConfigurati === void 0 ? {} : _ref$slideConfigurati,
_ref$carouselDotsCont2 = _ref.carouselDotsContainerConfigurations,
carouselDotsContainerConfigurations = _ref$carouselDotsCont2 === void 0 ? {} : _ref$carouselDotsCont2,
_ref$carouselDotConte3 = _ref.carouselDotContentConfigurations,
carouselDotContentConfigurations = _ref$carouselDotConte3 === void 0 ? {} : _ref$carouselDotConte3,
_ref$carouselArrowRig3 = _ref.carouselArrowRightConfigurations,
carouselArrowRightConfigurations = _ref$carouselArrowRig3 === void 0 ? {} : _ref$carouselArrowRig3,
_ref$carouselArrowLef3 = _ref.carouselArrowLeftConfigurations,
carouselArrowLeftConfigurations = _ref$carouselArrowLef3 === void 0 ? {} : _ref$carouselArrowLef3,
_ref$carouselRightSid2 = _ref.carouselRightSideConfigurations,
carouselRightSideConfigurations = _ref$carouselRightSid2 === void 0 ? {} : _ref$carouselRightSid2,
_ref$carouselLeftSide2 = _ref.carouselLeftSideConfigurations,
carouselLeftSideConfigurations = _ref$carouselLeftSide2 === void 0 ? {} : _ref$carouselLeftSide2,
_ref$carouselDotConfi2 = _ref.carouselDotConfigurations,
carouselDotConfigurations = _ref$carouselDotConfi2 === void 0 ? {} : _ref$carouselDotConfi2,
_ref$rightSideNavigat = _ref.rightSideNavigationBackgroundColor,
rightSideNavigationBackgroundColor = _ref$rightSideNavigat === void 0 ? "linear-gradient(to right, transparent -0.69%, rgba(255, 255, 255, 0.0869) 50%)" : _ref$rightSideNavigat,
_ref$leftSideNavigati = _ref.leftSideNavigationBackgroundColor,
leftSideNavigationBackgroundColor = _ref$leftSideNavigati === void 0 ? "linear-gradient(to left, transparent -0.69%, rgba(255, 255, 255, 0.0869) 50%)" : _ref$leftSideNavigati,
_ref$dotActiveColor = _ref.dotActiveColor,
dotActiveColor = _ref$dotActiveColor === void 0 ? "rgba(255, 0, 0, 1)" : _ref$dotActiveColor,
_ref$dotColor = _ref.dotColor,
dotColor = _ref$dotColor === void 0 ? "rgba(57.69, 57.69, 57.69, 1)" : _ref$dotColor,
_ref$reflectionOpacit = _ref.reflectionOpacity,
reflectionOpacity = _ref$reflectionOpacit === void 0 ? 0.69 : _ref$reflectionOpacit,
_ref$reflectionBlur = _ref.reflectionBlur,
reflectionBlur = _ref$reflectionBlur === void 0 ? 47 : _ref$reflectionBlur,
_ref$backgroundLayerI = _ref.backgroundLayerIntensity,
backgroundLayerIntensity = _ref$backgroundLayerI === void 0 ? 0.5 : _ref$backgroundLayerI,
_ref$holoDistortionIn = _ref.holoDistortionIntensity,
holoDistortionIntensity = _ref$holoDistortionIn === void 0 ? 2 : _ref$holoDistortionIn,
_ref$motionBlurIntens = _ref.motionBlurIntensity,
motionBlurIntensity = _ref$motionBlurIntens === void 0 ? 1.69 : _ref$motionBlurIntens,
_ref$parallaxIntensit = _ref.parallaxIntensity,
parallaxIntensity = _ref$parallaxIntensit === void 0 ? 30.69 : _ref$parallaxIntensit,
_ref$aberrationIntens = _ref.aberrationIntensity,
aberrationIntensity = _ref$aberrationIntens === void 0 ? 2 : _ref$aberrationIntens,
_ref$hudOverlayIntens = _ref.hudOverlayIntensity,
hudOverlayIntensity = _ref$hudOverlayIntens === void 0 ? 0.3 : _ref$hudOverlayIntens,
_ref$lightBloomIntens = _ref.lightBloomIntensity,
lightBloomIntensity = _ref$lightBloomIntens === void 0 ? 0.69 : _ref$lightBloomIntens,
_ref$lensFlareIntensi = _ref.lensFlareIntensity,
lensFlareIntensity = _ref$lensFlareIntensi === void 0 ? 0.8 : _ref$lensFlareIntensi,
_ref$floatingIntensit = _ref.floatingIntensity,
floatingIntensity = _ref$floatingIntensit === void 0 ? 15 : _ref$floatingIntensit,
_ref$rotationIntensit = _ref.rotationIntensity,
rotationIntensity = _ref$rotationIntensit === void 0 ? 5 : _ref$rotationIntensit,
_ref$zoomIntensity = _ref.zoomIntensity,
zoomIntensity = _ref$zoomIntensity === void 0 ? 1.05 : _ref$zoomIntensity,
_ref$tiltIntensity = _ref.tiltIntensity,
tiltIntensity = _ref$tiltIntensity === void 0 ? 10 : _ref$tiltIntensity,
_ref$slides = _ref.slides,
slides = _ref$slides === void 0 ? [] : _ref$slides,
_ref$autoPlayInterval = _ref.autoPlayInterval,
autoPlayInterval = _ref$autoPlayInterval === void 0 ? 3000 : _ref$autoPlayInterval,
_ref$autoPlay = _ref.autoPlay,
autoPlay = _ref$autoPlay === void 0 ? false : _ref$autoPlay,
_ref$enableChromaticA = _ref.enableChromaticAberration,
enableChromaticAberration = _ref$enableChromaticA === void 0 ? false : _ref$enableChromaticA,
_ref$enableBackground = _ref.enableBackgroundLayers,
enableBackgroundLayers = _ref$enableBackground === void 0 ? false : _ref$enableBackground,
_ref$enableFloatingEf = _ref.enableFloatingEffect,
enableFloatingEffect = _ref$enableFloatingEf === void 0 ? false : _ref$enableFloatingEf,
_ref$enableRotationEf = _ref.enableRotationEffect,
enableRotationEffect = _ref$enableRotationEf === void 0 ? true : _ref$enableRotationEf,
_ref$enableHoloDistor = _ref.enableHoloDistortion,
enableHoloDistortion = _ref$enableHoloDistor === void 0 ? false : _ref$enableHoloDistor,
_ref$enableReflection = _ref.enableReflections,
enableReflections = _ref$enableReflection === void 0 ? false : _ref$enableReflection,
_ref$enableTiltEffect = _ref.enableTiltEffect,
enableTiltEffect = _ref$enableTiltEffect === void 0 ? true : _ref$enableTiltEffect,
_ref$enableZoomEffect = _ref.enableZoomEffect,
enableZoomEffect = _ref$enableZoomEffect === void 0 ? true : _ref$enableZoomEffect,
_ref$enableMotionBlur = _ref.enableMotionBlur,
enableMotionBlur = _ref$enableMotionBlur === void 0 ? true : _ref$enableMotionBlur,
_ref$enableLightBloom = _ref.enableLightBloom,
enableLightBloom = _ref$enableLightBloom === void 0 ? false : _ref$enableLightBloom,
_ref$enableHUDOverlay = _ref.enableHUDOverlay,
enableHUDOverlay = _ref$enableHUDOverlay === void 0 ? false : _ref$enableHUDOverlay,
_ref$enableLensFlare = _ref.enableLensFlare,
enableLensFlare = _ref$enableLensFlare === void 0 ? false : _ref$enableLensFlare,
_ref$enableParallax = _ref.enableParallax,
enableParallax = _ref$enableParallax === void 0 ? true : _ref$enableParallax,
_ref$sideNavigation = _ref.sideNavigation,
sideNavigation = _ref$sideNavigation === void 0 ? true : _ref$sideNavigation,
_ref$showArrows = _ref.showArrows,
showArrows = _ref$showArrows === void 0 ? true : _ref$showArrows,
_ref$showDots = _ref.showDots,
showDots = _ref$showDots === void 0 ? true : _ref$showDots,
_ref$loop = _ref.loop,
loop = _ref$loop === void 0 ? true : _ref$loop;
var _useTimeout = useTimeout(),
schedule = _useTimeout.schedule;
var _useState = useState(null),
_useState2 = _slicedToArray(_useState, 2),
carouselNavigationArrowHover = _useState2[0],
setCarouselNavigationArrowHover = _useState2[1];
var _useState3 = useState(null),
_useState4 = _slicedToArray(_useState3, 2),
carouselNavigationDotHover = _useState4[0],
setCarouselNavigationDotHover = _useState4[1];
var _useState5 = useState(false),
_useState6 = _slicedToArray(_useState5, 2),
transitioningSlides = _useState6[0],
setTransitioningSlides = _useState6[1];
var _useState7 = useState(null),
_useState8 = _slicedToArray(_useState7, 2),
sideNavigationHover = _useState8[0],
setSideNavigationHover = _useState8[1];
var _useState9 = useState(0.869),
_useState10 = _slicedToArray(_useState9, 2),
transitionSpeed = _useState10[0],
setTransitionSpeed = _useState10[1];
var _useState11 = useState(0),
_useState12 = _slicedToArray(_useState11, 2),
currentIndex = _useState12[0],
setCurrentIndex = _useState12[1];
var _useState13 = useState("50%"),
_useState14 = _slicedToArray(_useState13, 2),
lensFlareX = _useState14[0],
setLensFlareX = _useState14[1];
var _useState15 = useState("50%"),
_useState16 = _slicedToArray(_useState15, 2),
lensFlareY = _useState16[0],
setLensFlareY = _useState16[1];
var _useState17 = useState(hudOverlayIntensity),
_useState18 = _slicedToArray(_useState17, 2),
hudOpacity = _useState18[0],
setHudOpacity = _useState18[1];
var _useState19 = useState(0),
_useState20 = _slicedToArray(_useState19, 2),
bloomOpacity = _useState20[0],
setBloomOpacity = _useState20[1];
var _useState21 = useState(0),
_useState22 = _slicedToArray(_useState21, 2),
motionBlur = _useState22[0],
setMotionBlur = _useState22[1];
var backgroundRef = useRef({
x: 0,
y: 0
});
var tiltRef = useRef({
x: 0,
y: 0
});
var prevTimeRef = useRef(Date.now());
var distortionRef = useRef(0);
var slidesRef = useRef(null);
var floatingRef = useRef(0);
var rotationRef = useRef(0);
var timerRef = useRef(null);
var goToSlide = function goToSlide(index) {
var now = Date.now();
var timeDiff = now - prevTimeRef.current;
prevTimeRef.current = now;
var speedFactor = Math.max(0.5, 1.5 - timeDiff / 500);
setTransitionSpeed(speedFactor * 0.869);
setMotionBlur(enableMotionBlur ? Math.min(speedFactor * motionBlurIntensity, motionBlurIntensity) : 0);
setTransitioningSlides(true);
if (loop) {
var totalSlides = slides.length;
var newIndex = (index + totalSlides) % totalSlides;
setCurrentIndex(newIndex);
} else {
if (index >= 0 && index < slides.length) {
setCurrentIndex(index);
}
}
schedule(function () {
setMotionBlur(0);
setTransitioningSlides(false);
}, speedFactor * 500);
};
var nextSlide = function nextSlide() {
return goToSlide(currentIndex + 1);
};
var prevSlide = function prevSlide() {
return goToSlide(currentIndex - 1);
};
var handleLensFlareMouseMove = function handleLensFlareMouseMove(e) {
if (!enableLensFlare) {
return;
}
var clientX = e.clientX,
clientY = e.clientY;
setLensFlareY("".concat(clientY / window.innerHeight * 100, "%"));
setLensFlareX("".concat(clientX / window.innerWidth * 100, "%"));
};
var handleTiltMouseMove = function handleTiltMouseMove(e) {
if (!enableTiltEffect) {
return;
}
var clientX = e.clientX,
clientY = e.clientY,
currentTarget = e.currentTarget;
var _currentTarget$getBou = currentTarget.getBoundingClientRect(),
width = _currentTarget$getBou.width,
height = _currentTarget$getBou.height,
left = _currentTarget$getBou.left,
top = _currentTarget$getBou.top;
var y = ((clientY - top) / height - 0.5) * -tiltIntensity;
var x = ((clientX - left) / width - 0.5) * tiltIntensity;
tiltRef.current = {
x: x,
y: y
};
};
var handleTiltMouseLeave = function handleTiltMouseLeave() {
tiltRef.current = {
x: 0,
y: 0
};
};
useEffect(function () {
if (autoPlay) {
timerRef.current = setInterval(nextSlide, autoPlayInterval);
}
return function () {
return clearInterval(timerRef.current);
};
}, [currentIndex, autoPlay, autoPlayInterval]);
useEffect(function () {
if (!enableFloatingEffect) {
return;
}
var startTime = Date.now();
var animationFrame;
var animateFloating = function animateFloating() {
var elapsedTime = (Date.now() - startTime) / 1000;
floatingRef.current = Math.sin(elapsedTime) * floatingIntensity;
animationFrame = requestAnimationFrame(animateFloating);
};
animateFloating();
return function () {
return cancelAnimationFrame(animationFrame);
};
}, [enableFloatingEffect, floatingIntensity, slides]);
useEffect(function () {
if (!enableRotationEffect) {
return;
}
var startTime = Date.now();
var animationFrame;
var animateRotation = function animateRotation() {
var elapsedTime = (Date.now() - startTime) / 1000;
rotationRef.current = Math.sin(elapsedTime * 0.5) * rotationIntensity;
animationFrame = requestAnimationFrame(animateRotation);
};
animateRotation();
return function () {
return cancelAnimationFrame(animationFrame);
};
}, [enableRotationEffect, rotationIntensity, slides]);
useEffect(function () {
if (!enableLightBloom) {
return;
}
if (transitioningSlides) {
setBloomOpacity(lightBloomIntensity);
return;
}
setBloomOpacity(0);
}, [transitioningSlides, enableLightBloom, lightBloomIntensity]);
useEffect(function () {
if (!enableHoloDistortion) {
return;
}
var startTime = Date.now();
var animationFrame;
var animateDistortion = function animateDistortion() {
var elapsedTime = (Date.now() - startTime) / 1000;
distortionRef.current = Math.sin(elapsedTime * 4) * holoDistortionIntensity;
animationFrame = requestAnimationFrame(animateDistortion);
};
animateDistortion();
return function () {
return cancelAnimationFrame(animationFrame);
};
}, [enableHoloDistortion, holoDistortionIntensity]);
useEffect(function () {
var nodes = slidesRef.current;
if (!nodes) {
return;
}
var handleTransitionStart = function handleTransitionStart(e) {
setTransitioningSlides(true);
};
nodes.addEventListener("transitionstart", handleTransitionStart);
return function () {
nodes.removeEventListener("transitionstart", handleTransitionStart);
};
}, []);
var gestureHandlers = useSwipeable({
preventDefaultTouchmoveEvent: true,
onSwipedRight: function onSwipedRight() {
return prevSlide();
},
onSwipedLeft: function onSwipedLeft() {
return nextSlide();
},
trackMouse: true
});
return /*#__PURE__*/React.createElement("div", _extends({
className: "hud-carousel-container",
style: _objectSpread({
position: "relative",
overflow: "hidden",
backdropFilter: "blur(10px)",
borderRadius: "20px",
boxShadow: "0px 4px 30px rgba(0, 0, 0, 0.3)",
background: "rgba(255, 255, 255, 0.1)",
width: "100%",
perspective: "1000px"
}, carouselContainerConfigurationSettings)
}, gestureHandlers, {
onMouseMove: handleLensFlareMouseMove
}), enableBackgroundLayers && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
transition: "transform 0.269s ease",
background: "radial-gradient(circle, rgba(0,255,255,0.1) 0%, rgba(0,0,0,0) 70%)",
height: "100%",
width: "100%",
opacity: 0.3,
zIndex: 0,
left: "".concat(backgroundRef.current.x * 0.2, "px"),
top: "".concat(backgroundRef.current.y * 0.2, "px")
}
}), enableBackgroundLayers && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
transition: "transform 0.269s ease",
backgroundSize: "50px 50px",
background: "linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(0deg, rgba(255,255,255,0.02) 1px, transparent 1px)",
height: "100%",
width: "100%",
opacity: 0.1,
zIndex: 1,
left: "".concat(backgroundRef.current.x * 0.4, "px"),
top: "".concat(backgroundRef.current.y * 0.4, "px")
}
}), enableBackgroundLayers && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
transition: "transform 0.269s ease",
backgroundSize: "5px 5px",
background: "radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px)",
height: "100%",
width: "100%",
opacity: 0.1,
zIndex: 2,
left: "".concat(backgroundRef.current.x * 0.6, "px"),
top: "".concat(backgroundRef.current.y * 0.6, "px")
}
}), enableHUDOverlay && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
transition: "opacity 0.369s ease-in-out",
backdropFilter: "blur(5px)",
borderRadius: "20px",
background: "radial-gradient(circle, rgba(0,255,255,".concat(hudOpacity, ") 0%, rgba(0,0,0,0) 80%)"),
height: "100%",
width: "100%",
opacity: transitioningSlides ? hudOverlayIntensity + 0.1 : hudOverlayIntensity,
zIndex: 2,
left: 0,
top: 0
}
}), enableHUDOverlay && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
animation: "scanlines 5.69s linear infinite",
background: "repeating-linear-gradient(transparent, rgba(0, 255, 255, 0.03) 2px, transparent 4px)",
height: "100%",
width: "100%",
zIndex: 3,
left: 0,
top: 0
}
}), enableHUDOverlay && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
border: "2px solid rgba(0,255,255,0.5)",
borderRadius: "20px",
boxShadow: "0px 0px 10px rgba(0,255,255,0.4)",
height: "100%",
width: "100%",
zIndex: 3
}
}), enableLightBloom && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
transition: "opacity 0.569s ease",
transform: "translate(-50%, -50%)",
filter: "blur(30px)",
background: "radial-gradient(circle, rgba(255,255,255,".concat(bloomOpacity, ") 0%, rgba(255,255,255,0) 80%)"),
height: "100%",
width: "100%",
opacity: bloomOpacity,
zIndex: 1,
left: "50%",
top: "50%"
}
}), enableLensFlare && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
transition: "all 0.269s ease",
transform: "translate(-50%, -50%)",
filter: "blur(20px)",
background: "radial-gradient(ellipse at center, rgba(255,255,255,".concat(lensFlareIntensity, ") 0%, rgba(255,255,255,0) 80%)"),
height: "169px",
width: "300px",
opacity: transitioningSlides ? 1 : 0,
zIndex: 2,
left: lensFlareX,
top: lensFlareY
}
}), enableHoloDistortion && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
top: 0,
left: 0,
height: "100%",
width: "100%",
background: "linear-gradient(transparent, rgba(0,255,255,0.1) 50%, transparent), \n repeating-linear-gradient(0deg, rgba(255,255,255,0.02) 1px, transparent 2px)",
backgroundSize: "100% 20px, 100% 5px",
filter: "blur(".concat(transitioningSlides ? holoDistortionIntensity * 2 : holoDistortionIntensity, "px)"),
mixBlendMode: "screen",
opacity: transitioningSlides ? 0.5 : 0.1269,
transition: "opacity 0.369s ease, filter 0.369s ease",
zIndex: 3
}
}), sideNavigation && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
className: "hud-carousel-side-nav hud-carousel-side-left",
style: _objectSpread({
position: "absolute",
cursor: "pointer",
transition: "background 0.269s ease-out",
background: sideNavigationHover === "left" ? leftSideNavigationBackgroundColor : "transparent",
height: "100%",
width: "18.69%",
zIndex: 5,
left: 0,
top: 0
}, carouselLeftSideConfigurationSettings),
onMouseLeave: function onMouseLeave(e) {
setSideNavigationHover(null);
},
onMouseEnter: function onMouseEnter(e) {
setSideNavigationHover("left");
},
onClick: prevSlide
}, carouselLeftSideConfigurations)), /*#__PURE__*/React.createElement("div", _extends({
className: "hud-carousel-side-nav hud-carousel-side-right",
style: _objectSpread({
position: "absolute",
cursor: "pointer",
transition: "background 0.269s ease-out",
background: sideNavigationHover === "right" ? rightSideNavigationBackgroundColor : "transparent",
height: "100%",
width: "18.69%",
zIndex: 5,
right: 0,
top: 0
}, carouselRightSideConfigurationSettings),
onMouseLeave: function onMouseLeave(e) {
setSideNavigationHover(null);
},
onMouseEnter: function onMouseEnter(e) {
setSideNavigationHover("right");
},
onClick: nextSlide
}, carouselRightSideConfigurations))), /*#__PURE__*/React.createElement("div", {
ref: slidesRef,
className: "hud-carousel-slides",
style: _objectSpread(_objectSpread({
display: "flex",
transformStyle: "preserve-3d",
transition: "transform ".concat(transitionSpeed, "s cubic-bezier(0.25, 1, 0.5, 1)"),
transform: "translateX(-".concat(currentIndex * 100, "%)"),
filter: enableMotionBlur ? "blur(".concat(motionBlur, "px)") : "none",
transformOrigin: "center"
}, transitioningSlides ? {
transform: "translateX(-".concat(currentIndex * 100, "%) skewX(").concat(motionBlur / 3, "deg)")
} : {}), carouselSlideContainerConfigurationSettings),
onTransitionEnd: function onTransitionEnd(e) {
return setTransitioningSlides(false);
}
}, slides.map(function (slide, index) {
var depth = enableParallax ? (index - currentIndex) * parallaxIntensity : 0;
var scale = enableZoomEffect && index !== currentIndex ? zoomIntensity : 1;
var floating = enableFloatingEffect && index !== currentIndex ? floatingRef.current : 0;
var rotation = enableRotationEffect && index !== currentIndex ? rotationRef.current : 0;
var tiltX = enableTiltEffect && index === currentIndex ? tiltRef.current.x : 0;
var tiltY = enableTiltEffect && index === currentIndex ? tiltRef.current.y : 0;
return /*#__PURE__*/React.createElement("div", {
key: index,
className: "hud-carousel-slide",
style: _objectSpread({
display: "flex",
flexShrink: 0,
justifyContent: "center",
alignItems: "center",
transition: "all 0.369s ease-in-out, transform 0.69s ease-out",
transform: "translateZ(".concat(depth, "px) scale(").concat(scale, ") translateY(").concat(floating, "px) rotate(").concat(rotation, "deg) rotateX(").concat(tiltY, "deg) rotateY(").concat(tiltX, "deg)"),
minWidth: "100%",
paddingBottom: "50px",
paddingTop: "20px"
}, slideConfigurationSettings),
onMouseLeave: handleTiltMouseLeave,
onMouseMove: handleTiltMouseMove
}, /*#__PURE__*/React.createElement("div", {
style: {
position: "relative",
transition: "filter 0.369s ease-in-out",
filter: enableChromaticAberration && transitioningSlides ? "drop-shadow(".concat(aberrationIntensity, "px 0px 0px red)\n drop-shadow(").concat(-aberrationIntensity, "px 0px 0px blue)\n drop-shadow(0px ").concat(aberrationIntensity, "px 0px green)") : "none"
}
}, slide), enableReflections && /*#__PURE__*/React.createElement("div", {
style: {
position: "absolute",
pointerEvents: "none",
transform: "scaleY(-1) translateY(10px)",
filter: "blur(".concat(reflectionBlur, "px)"),
background: "linear-gradient(to top, rgba(255, 255, 255, ".concat(reflectionOpacity, ") 0%, rgba(255, 255, 255, 0) 80%)"),
height: "100%",
width: "100%",
opacity: reflectionOpacity,
bottom: "-100%",
left: "0"
}
}));
})), showArrows && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HUDIcon, _extends({
className: "hud-carousel-arrow hud-carousel-arrow-right",
iconConfigurationSettings: _objectSpread(_objectSpread({
position: "absolute",
cursor: "pointer",
transition: "all 0.369s ease",
transform: "translateY(-50%)",
backdropFilter: "blur(15px)",
border: "none",
borderRadius: "0.69rem",
background: "rgba(255, 255, 255, 0)",
height: "2.69rem",
width: "1.169rem",
scale: carouselNavigationArrowHover === "left" ? "1.1069" : "1",
zIndex: 10,
padding: "10px",
left: "15px",
top: "50%"
}, carouselArrowLeftConfigurationSettings), carouselNavigationArrowHover === "left" ? carouselArrowLeftHoverConfigurationSettings : {}),
color: "#fff",
name: "chevron-left",
onMouseLeave: function onMouseLeave() {
setCarouselNavigationArrowHover(null);
},
onMouseEnter: function onMouseEnter() {
setCarouselNavigationArrowHover("left");
},
onClick: prevSlide
}, carouselArrowLeftConfigurations)), /*#__PURE__*/React.createElement(HUDIcon, _extends({
className: "hud-carousel-arrow hud-carousel-arrow-right",
iconConfigurationSettings: _objectSpread(_objectSpread({
position: "absolute",
cursor: "pointer",
transition: "all 0.369s ease",
transform: "translateY(-50%)",
backdropFilter: "blur(15px)",
border: "none",
borderRadius: "0.69rem",
background: "rgba(255, 255, 255, 0)",
height: "2.69rem",
width: "1.169rem",
scale: carouselNavigationArrowHover === "right" ? "1.1069" : "1",
zIndex: 10,
padding: "10px",
right: "15px",
top: "50%"
}, carouselArrowRightConfigurationSettings), carouselNavigationArrowHover === "right" ? carouselArrowRightHoverConfigurationSettings : {}),
color: "#fff",
name: "chevron-right",
onMouseLeave: function onMouseLeave() {
setCarouselNavigationArrowHover(null);
},
onMouseEnter: function onMouseEnter() {
setCarouselNavigationArrowHover("right");
},
onClick: nextSlide
}, carouselArrowRightConfigurations))), showDots && /*#__PURE__*/React.createElement("div", _extends({
className: "hud-carousel-dots",
style: _objectSpread({
position: "absolute",
display: "flex",
justifyContent: "center",
width: "100%",
gap: "8px",
bottom: "15px"
}, carouselDotsContainerConfigurationSettings)
}, carouselDotsContainerConfigurations), slides.map(function (_, index) {
return /*#__PURE__*/React.createElement("div", _extends({
key: index,
className: "hud-carousel-dot ".concat(index === currentIndex ? "active" : ""),
style: _objectSpread(_objectSpread({
position: "relative",
display: "flex",
alignItems: "center",
justifyContent: "center",
overflow: "hidden",
cursor: "pointer",
transition: "all 0.369s ease",
border: "2px solid ".concat(index === currentIndex ? dotActiveColor : dotColor),
borderRadius: "50%",
background: "transparent",
height: "12px",
width: "12px",
scale: carouselNavigationDotHover === index ? "1.1069" : "1"
}, carouselDotConfigurationSettings), carouselNavigationDotHover === index ? carouselDotHoverConfigurationSettings : {}),
onMouseLeave: function onMouseLeave() {
setCarouselNavigationDotHover(null);
},
onMouseEnter: function onMouseEnter() {
setCarouselNavigationDotHover(index);
},
onClick: function onClick() {
return goToSlide(index);
}
}, carouselDotConfigurations), /*#__PURE__*/React.createElement("div", _extends({
style: _objectSpread(_objectSpread({
transition: "transform 0.369s ease-in-out",
transform: index === currentIndex ? "scale(1)" : "scale(0)",
borderRadius: "50%",
background: dotActiveColor,
height: "100%",
width: "100%"
}, carouselDotContentConfigurationSettings), carouselNavigationDotHover === index ? carouselDotContentHoverConfigurationSettings : {})
}, carouselDotContentConfigurations)));
})));
}
;
export default HUDCarousel;