react-slideshow-image 4.3.0 → 4.3.1

Sign up to get free protection for your applications and to get access to all the features.
package/dist/helpers.d.ts CHANGED
@@ -4,5 +4,5 @@ export declare const getStartingIndex: (children: ReactNode, defaultIndex?: numb
4
4
  export declare const getResponsiveSettings: (wrapperWidth: number, responsive?: Responsive[] | undefined) => Responsive | undefined;
5
5
  export declare const getEasing: (easeMethod?: string | undefined) => TweenEasingFn;
6
6
  export declare const showPreviousArrow: ({ prevArrow, infinite }: FadeProps | SlideProps | ZoomProps, currentIndex: number, moveSlides: ButtonClick) => ReactNode;
7
- export declare const showNextArrow: (properties: FadeProps | SlideProps | ZoomProps, currentIndex: number, moveSlides: ButtonClick) => React.JSX.Element;
7
+ export declare const showNextArrow: (properties: FadeProps | SlideProps | ZoomProps, currentIndex: number, moveSlides: ButtonClick, responsiveSettings?: Responsive | undefined) => React.JSX.Element;
8
8
  export declare const showIndicators: (props: FadeProps | SlideProps | ZoomProps, currentIndex: number, navigate: ButtonClick, responsiveSettings?: Responsive | undefined) => ReactNode;
@@ -80,12 +80,14 @@ var showPreviousArrow = function showPreviousArrow(_ref, currentIndex, moveSlide
80
80
  d: "M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z"
81
81
  })));
82
82
  };
83
- var showNextArrow = function showNextArrow(properties, currentIndex, moveSlides) {
83
+ var showNextArrow = function showNextArrow(properties, currentIndex, moveSlides, responsiveSettings) {
84
84
  var nextArrow = properties.nextArrow,
85
85
  infinite = properties.infinite,
86
86
  children = properties.children;
87
87
  var slidesToScroll = 1;
88
- if ('slidesToScroll' in properties) {
88
+ if (responsiveSettings) {
89
+ slidesToScroll = responsiveSettings == null ? void 0 : responsiveSettings.settings.slidesToScroll;
90
+ } else if ('slidesToScroll' in properties) {
89
91
  slidesToScroll = properties.slidesToScroll || 1;
90
92
  }
91
93
  var isDisabled = currentIndex >= React__default.Children.count(children) - slidesToScroll && !infinite;
@@ -749,7 +751,7 @@ var Slide = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
749
751
  "aria-roledescription": "slide",
750
752
  "aria-hidden": isThisSlideActive ? 'false' : 'true'
751
753
  }, each);
752
- }), renderTrailingSlides())), props.arrows && showNextArrow(props, index, moveSlides)), !!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings));
754
+ }), renderTrailingSlides())), props.arrows && showNextArrow(props, index, moveSlides, responsiveSettings)), !!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings));
753
755
  });
754
756
  Slide.defaultProps = defaultProps;
755
757
 
@@ -1 +1 @@
1
- {"version":3,"file":"react-slideshow-image.cjs.development.js","sources":["../src/helpers.tsx","../src/props.ts","../src/fadezoom.tsx","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","export const defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n easing: 'linear',\n canSwipe: true,\n cssClass: '',\n responsive: [],\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\nimport { defaultProps } from './props';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const [index, setIndex] = useState<number>(\n getStartingIndex(props.children, props.defaultIndex)\n );\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current && wrapperRef.current) {\n const wrapperWidth = wrapperRef.current.clientWidth;\n const fullwidth = wrapperWidth * childrenCount;\n innerWrapperRef.current.style.width = `${fullwidth}px`;\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${wrapperWidth}px`;\n eachDiv.style.left = `${index * -wrapperWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperRef, innerWrapperRef, childrenCount]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n applyStyle();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, applyStyle]);\n\n const play = useCallback(() => {\n const { autoplay, children, duration, infinite } = props;\n if (\n autoplay &&\n React.Children.count(children) > 1 &&\n (infinite || index < React.Children.count(children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, index]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, props.autoplay, play]);\n\n useEffect(() => {\n applyStyle();\n }, [childrenCount, applyStyle]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver.current && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n const { pauseOnHover, autoplay, duration } = props;\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n const { children, infinite } = props;\n if (!infinite && index === React.Children.count(children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(children));\n };\n\n const moveBack = () => {\n const { children, infinite } = props;\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: props.scale }, props.transitionDuration)\n .onUpdate((value) => {\n if (!innerWrapperRef.current) {\n return;\n }\n innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;\n innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;\n innerWrapperRef.current.children[\n index\n ].style.transform = `scale(${value.scale})`;\n });\n tween.easing(getEasing(props.easing));\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n tween.onComplete(() => {\n if (innerWrapperRef.current) {\n setIndex(newIndex);\n innerWrapperRef.current.children[index].style.transform = `scale(1)`;\n }\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n });\n tween.start();\n }\n };\n\n const moveTo = (gotoIndex: number) => {\n if (gotoIndex !== index) {\n transitionSlide(gotoIndex);\n }\n };\n\n const navigate: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (!currentTarget.dataset.key) {\n return;\n }\n if (parseInt(currentTarget.dataset.key) !== index) {\n moveTo(parseInt(currentTarget.dataset.key));\n }\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className={`react-slideshow-container ${props.cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {props.arrows && showPreviousArrow(props, index, preTransition)}\n <div\n className={`react-slideshow-fadezoom-wrapper ${props.cssClass}`}\n ref={wrapperRef}\n >\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0',\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n )\n )}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, preTransition)}\n </div>\n {props.indicators && showIndicators(props, index, navigate)}\n </div>\n );\n});\n\nFadeZoom.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...props} scale={1} ref={ref} />;\n});\n\nFade.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...props} ref={ref} />;\n});\n\nZoom.defaultProps = defaultProps;\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\nimport { defaultProps } from './props';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const [index, setIndex] = useState(getStartingIndex(props.children, props.defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, props.responsive),\n [wrapperSize, props.responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return props.slidesToScroll || 1;\n }, [responsiveSettings, props.slidesToScroll]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return props.slidesToShow || 1;\n }, [responsiveSettings, props.slidesToShow]);\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = props.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = props.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = props.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = props.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (props.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!props.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef]);\n\n const play = useCallback(() => {\n const { autoplay, infinite, duration } = props;\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, props.autoplay, play]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!props.infinite && index === childrenCount - slidesToScroll && distance < 0) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!props.infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!props.infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!props.infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex = Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n transitionSlide(previousIndex);\n };\n\n const goToSlide: ButtonClick = ({ currentTarget }) => {\n if (!currentTarget.dataset.key) {\n return;\n }\n const datasetKey = parseInt(currentTarget.dataset.key);\n moveTo(datasetKey * slidesToScroll);\n };\n\n const moveTo = (index: number) => {\n transitionSlide(calculateIndex(index));\n };\n\n const calculateIndex = (nextIndex: number): number => {\n if (nextIndex < childrenCount && nextIndex + slidesToScroll > childrenCount) {\n if ((childrenCount - slidesToScroll) % slidesToScroll) {\n return childrenCount - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n };\n\n const startSlides = () => {\n if (dragging) {\n endSwipe();\n } else if (props.pauseOnHover && props.autoplay) {\n timeout.current = setTimeout(moveNext, props.duration);\n }\n };\n\n const moveSlides: ButtonClick = ({ currentTarget: { dataset } }) => {\n if (dataset.type === 'next') {\n moveNext();\n } else {\n moveBack();\n }\n };\n\n const renderPreceedingSlides = () => {\n return React.Children.toArray(props.children)\n .slice(-slidesToShow)\n .map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n };\n\n const renderTrailingSlides = () => {\n if (!props.infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(props.children)\n .slice(0, slidesToShow)\n .map((each, index) => (\n <div\n data-index={childrenCount + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={childrenCount + index}\n >\n {each}\n </div>\n ));\n };\n\n const setSize = () => {\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n if (props.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (props.canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || props.transitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(props.easing));\n\n animate();\n\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\n\n tween.start();\n }\n };\n\n const isSlideActive = (key: number) => {\n return key < index + slidesToShow && key >= index;\n };\n\n const getOffset = (): number => {\n if (!props.infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {props.arrows && showPreviousArrow(props, index, moveSlides)}\n <div\n className={`react-slideshow-wrapper slide ${props.cssClass || ''}`}\n ref={wrapperRef}\n >\n <div\n className={`images-wrap ${props.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {props.infinite && renderPreceedingSlides()}\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => {\n const isThisSlideActive = isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isThisSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isThisSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n }\n )}\n {renderTrailingSlides()}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, moveSlides)}\n </div>\n {!!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n\nSlide.defaultProps = defaultProps;\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","getResponsiveSettings","wrapperWidth","responsive","window","Array","isArray","find","each","breakpoint","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","nextArrow","slidesToScroll","showDefaultIndicator","isCurrentPageActive","key","indicatorProps","showCustomIndicator","eachIndicator","showIndicators","navigate","responsiveSettings","indicators","settings","pages","Math","ceil","from","length","_","floor","defaultProps","duration","transitionDuration","autoplay","arrows","pauseOnHover","easing","canSwipe","cssClass","FadeZoom","forwardRef","ref","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","clientWidth","fullwidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","startSlides","transitionSlide","preTransition","event","currentTarget","dataset","animate","requestAnimationFrame","update","newIndex","existingTweens","getAll","_innerWrapperRef$curr","value","opacity","scale","tween","Tween","to","onUpdate","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","Fade","Zoom","Slide","_useState2","wrapperSize","setWrapperSize","slidesToShow","eachChildSize","startingSwipePosition","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","fullSize","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","_ref2","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childSize","margin","isSlideActive","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","isThisSlideActive"],"mappings":"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"}
1
+ {"version":3,"file":"react-slideshow-image.cjs.development.js","sources":["../src/helpers.tsx","../src/props.ts","../src/fadezoom.tsx","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick,\n responsiveSettings?: Responsive\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","export const defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n easing: 'linear',\n canSwipe: true,\n cssClass: '',\n responsive: [],\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\nimport { defaultProps } from './props';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const [index, setIndex] = useState<number>(\n getStartingIndex(props.children, props.defaultIndex)\n );\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current && wrapperRef.current) {\n const wrapperWidth = wrapperRef.current.clientWidth;\n const fullwidth = wrapperWidth * childrenCount;\n innerWrapperRef.current.style.width = `${fullwidth}px`;\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${wrapperWidth}px`;\n eachDiv.style.left = `${index * -wrapperWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperRef, innerWrapperRef, childrenCount]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n applyStyle();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, applyStyle]);\n\n const play = useCallback(() => {\n const { autoplay, children, duration, infinite } = props;\n if (\n autoplay &&\n React.Children.count(children) > 1 &&\n (infinite || index < React.Children.count(children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, index]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, props.autoplay, play]);\n\n useEffect(() => {\n applyStyle();\n }, [childrenCount, applyStyle]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver.current && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n const { pauseOnHover, autoplay, duration } = props;\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n const { children, infinite } = props;\n if (!infinite && index === React.Children.count(children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(children));\n };\n\n const moveBack = () => {\n const { children, infinite } = props;\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: props.scale }, props.transitionDuration)\n .onUpdate((value) => {\n if (!innerWrapperRef.current) {\n return;\n }\n innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;\n innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;\n innerWrapperRef.current.children[\n index\n ].style.transform = `scale(${value.scale})`;\n });\n tween.easing(getEasing(props.easing));\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n tween.onComplete(() => {\n if (innerWrapperRef.current) {\n setIndex(newIndex);\n innerWrapperRef.current.children[index].style.transform = `scale(1)`;\n }\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n });\n tween.start();\n }\n };\n\n const moveTo = (gotoIndex: number) => {\n if (gotoIndex !== index) {\n transitionSlide(gotoIndex);\n }\n };\n\n const navigate: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (!currentTarget.dataset.key) {\n return;\n }\n if (parseInt(currentTarget.dataset.key) !== index) {\n moveTo(parseInt(currentTarget.dataset.key));\n }\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className={`react-slideshow-container ${props.cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {props.arrows && showPreviousArrow(props, index, preTransition)}\n <div\n className={`react-slideshow-fadezoom-wrapper ${props.cssClass}`}\n ref={wrapperRef}\n >\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0',\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n )\n )}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, preTransition)}\n </div>\n {props.indicators && showIndicators(props, index, navigate)}\n </div>\n );\n});\n\nFadeZoom.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...props} scale={1} ref={ref} />;\n});\n\nFade.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...props} ref={ref} />;\n});\n\nZoom.defaultProps = defaultProps;\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\nimport { defaultProps } from './props';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const [index, setIndex] = useState(getStartingIndex(props.children, props.defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, props.responsive),\n [wrapperSize, props.responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return props.slidesToScroll || 1;\n }, [responsiveSettings, props.slidesToScroll]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return props.slidesToShow || 1;\n }, [responsiveSettings, props.slidesToShow]);\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = props.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = props.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = props.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = props.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (props.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!props.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef]);\n\n const play = useCallback(() => {\n const { autoplay, infinite, duration } = props;\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, props.autoplay, play]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!props.infinite && index === childrenCount - slidesToScroll && distance < 0) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!props.infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!props.infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!props.infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex = Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n transitionSlide(previousIndex);\n };\n\n const goToSlide: ButtonClick = ({ currentTarget }) => {\n if (!currentTarget.dataset.key) {\n return;\n }\n const datasetKey = parseInt(currentTarget.dataset.key);\n moveTo(datasetKey * slidesToScroll);\n };\n\n const moveTo = (index: number) => {\n transitionSlide(calculateIndex(index));\n };\n\n const calculateIndex = (nextIndex: number): number => {\n if (nextIndex < childrenCount && nextIndex + slidesToScroll > childrenCount) {\n if ((childrenCount - slidesToScroll) % slidesToScroll) {\n return childrenCount - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n };\n\n const startSlides = () => {\n if (dragging) {\n endSwipe();\n } else if (props.pauseOnHover && props.autoplay) {\n timeout.current = setTimeout(moveNext, props.duration);\n }\n };\n\n const moveSlides: ButtonClick = ({ currentTarget: { dataset } }) => {\n if (dataset.type === 'next') {\n moveNext();\n } else {\n moveBack();\n }\n };\n\n const renderPreceedingSlides = () => {\n return React.Children.toArray(props.children)\n .slice(-slidesToShow)\n .map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n };\n\n const renderTrailingSlides = () => {\n if (!props.infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(props.children)\n .slice(0, slidesToShow)\n .map((each, index) => (\n <div\n data-index={childrenCount + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={childrenCount + index}\n >\n {each}\n </div>\n ));\n };\n\n const setSize = () => {\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n if (props.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (props.canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || props.transitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(props.easing));\n\n animate();\n\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\n\n tween.start();\n }\n };\n\n const isSlideActive = (key: number) => {\n return key < index + slidesToShow && key >= index;\n };\n\n const getOffset = (): number => {\n if (!props.infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {props.arrows && showPreviousArrow(props, index, moveSlides)}\n <div\n className={`react-slideshow-wrapper slide ${props.cssClass || ''}`}\n ref={wrapperRef}\n >\n <div\n className={`images-wrap ${props.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {props.infinite && renderPreceedingSlides()}\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => {\n const isThisSlideActive = isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isThisSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isThisSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n }\n )}\n {renderTrailingSlides()}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, moveSlides, responsiveSettings)}\n </div>\n {!!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n\nSlide.defaultProps = defaultProps;\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","getResponsiveSettings","wrapperWidth","responsive","window","Array","isArray","find","each","breakpoint","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","responsiveSettings","nextArrow","slidesToScroll","settings","showDefaultIndicator","isCurrentPageActive","key","indicatorProps","showCustomIndicator","eachIndicator","showIndicators","navigate","indicators","pages","Math","ceil","from","length","_","floor","defaultProps","duration","transitionDuration","autoplay","arrows","pauseOnHover","easing","canSwipe","cssClass","FadeZoom","forwardRef","ref","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","clientWidth","fullwidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","startSlides","transitionSlide","preTransition","event","currentTarget","dataset","animate","requestAnimationFrame","update","newIndex","existingTweens","getAll","_innerWrapperRef$curr","value","opacity","scale","tween","Tween","to","onUpdate","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","Fade","Zoom","Slide","_useState2","wrapperSize","setWrapperSize","slidesToShow","eachChildSize","startingSwipePosition","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","fullSize","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","_ref2","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childSize","margin","isSlideActive","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","isThisSlideActive"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n),r=e(require("resize-observer-polyfill")),i=require("@tweenjs/tween.js");function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}var c=function(e,n){return n&&n<t.Children.count(e)?n:0},o={linear:i.Easing.Linear.None,ease:i.Easing.Quadratic.InOut,"ease-in":i.Easing.Quadratic.In,"ease-out":i.Easing.Quadratic.Out,cubic:i.Easing.Cubic.InOut,"cubic-in":i.Easing.Cubic.In,"cubic-out":i.Easing.Cubic.Out},u=function(e){return e?o[e]:o.linear},l=function(e,n,r){var i=e.prevArrow,c=n<=0&&!e.infinite,o={"data-type":"prev","aria-label":"Previous Slide",disabled:c,onClick:r};return i?t.cloneElement(i,a({className:(i.props.className||"")+" nav "+(c?"disabled":"")},o)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(c?"disabled":"")},o),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z"})))},s=function(e,n,r){var i=e.nextArrow,c=e.infinite,o=1;"slidesToScroll"in e&&(o=e.slidesToScroll||1);var u=n>=t.Children.count(e.children)-o&&!c,l={"data-type":"next","aria-label":"Next Slide",disabled:u,onClick:r};return i?t.cloneElement(i,a({className:(i.props.className||"")+" nav "+(u?"disabled":"")},l)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(u?"disabled":"")},l),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z"})))},f=function(e,n,r,i){var c=e.indicators,o=1;i?o=null==i?void 0:i.settings.slidesToScroll:"slidesToScroll"in e&&(o=e.slidesToScroll||1);var u=Math.ceil(t.Children.count(e.children)/o);return t.createElement("ul",{className:"indicators"},Array.from({length:u},(function(e,i){var u={"data-key":i,"aria-label":"Go to slide "+(i+1),onClick:r},l=Math.floor((n+o-1)/o)===i;return"function"==typeof c?function(e,n,r,i){return t.cloneElement(i,a({className:i.props.className+" "+(e?"active":""),key:n},r))}(l,i,u,c(i)):function(e,n,r){return t.createElement("li",{key:n},t.createElement("button",Object.assign({type:"button",className:"each-slideshow-indicator "+(e?"active":"")},r)))}(l,i,u)})))},d={duration:5e3,transitionDuration:1e3,defaultIndex:0,infinite:!0,autoplay:!0,indicators:!1,arrows:!0,pauseOnHover:!0,easing:"linear",canSwipe:!0,cssClass:"",responsive:[]},v=t.forwardRef((function(e,a){var o=n.useState(c(e.children,e.defaultIndex)),d=o[0],v=o[1],p=n.useRef(null),h=n.useRef(null),m=n.useRef(new i.Group),y=n.useRef(),g=n.useRef(),w=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),E=n.useCallback((function(){if(h.current&&p.current){var e=p.current.clientWidth;h.current.style.width=e*w+"px";for(var n=0;n<h.current.children.length;n++){var t=h.current.children[n];t&&(t.style.width=e+"px",t.style.left=n*-e+"px",t.style.display="block")}}}),[p,h,w]),b=n.useCallback((function(){p.current&&(g.current=new r((function(e){e&&E()})),g.current.observe(p.current))}),[p,E]),T=n.useCallback((function(){var n=e.children,r=e.duration,i=e.infinite;e.autoplay&&t.Children.count(n)>1&&(i||d<t.Children.count(n)-1)&&(y.current=setTimeout(k,r))}),[e,d]);n.useEffect((function(){return b(),function(){m.current.removeAll(),clearTimeout(y.current),C()}}),[b,m]),n.useEffect((function(){clearTimeout(y.current),T()}),[d,e.autoplay,T]),n.useEffect((function(){E()}),[w,E]),n.useImperativeHandle(a,(function(){return{goNext:function(){k()},goBack:function(){S()},goTo:function(e,n){null!=n&&n.skipTransition?v(e):O(e)}}}));var C=function(){g.current&&p.current&&g.current.unobserve(p.current)},x=function(){e.pauseOnHover&&clearTimeout(y.current)},k=function(){var n=e.children;(e.infinite||d!==t.Children.count(n)-1)&&N((d+1)%t.Children.count(n))},S=function(){(e.infinite||0!==d)&&N(0===d?t.Children.count(e.children)-1:d-1)},M=function(e){"prev"===e.currentTarget.dataset.type?S():k()},N=function(n){if(!m.current.getAll().length){var t;null!=(t=h.current)&&t.children[n]||(n=0),clearTimeout(y.current),function e(){requestAnimationFrame(e),m.current.update()}();var r=new i.Tween({opacity:0,scale:1},m.current).to({opacity:1,scale:e.scale},e.transitionDuration).onUpdate((function(e){h.current&&(h.current.children[n].style.opacity=e.opacity,h.current.children[d].style.opacity=1-e.opacity,h.current.children[d].style.transform="scale("+e.scale+")")}));r.easing(u(e.easing)),r.onStart((function(){"function"==typeof e.onStartChange&&e.onStartChange(d,n)})),r.onComplete((function(){h.current&&(v(n),h.current.children[d].style.transform="scale(1)"),"function"==typeof e.onChange&&e.onChange(d,n)})),r.start()}},O=function(e){e!==d&&N(e)};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container "+(e.cssClass||""),onMouseEnter:x,onMouseOver:x,onMouseLeave:function(){e.pauseOnHover&&e.autoplay&&(y.current=setTimeout((function(){return k()}),e.duration))}},e.arrows&&l(e,d,M),t.createElement("div",{className:"react-slideshow-fadezoom-wrapper "+e.cssClass,ref:p},t.createElement("div",{className:"react-slideshow-fadezoom-images-wrap",ref:h},(t.Children.map(e.children,(function(e){return e}))||[]).map((function(e,n){return t.createElement("div",{style:{opacity:n===d?"1":"0",zIndex:n===d?"1":"0"},"data-index":n,key:n,"aria-roledescription":"slide","aria-hidden":n===d?"false":"true"},e)})))),e.arrows&&s(e,d,M)),e.indicators&&f(e,d,(function(e){var n=e.currentTarget;n.dataset.key&&parseInt(n.dataset.key)!==d&&O(parseInt(n.dataset.key))})))}));v.defaultProps=d;var p=t.forwardRef((function(e,n){return t.createElement(v,Object.assign({},e,{scale:1,ref:n}))}));p.defaultProps=d;var h=t.forwardRef((function(e,n){return t.createElement(v,Object.assign({},e,{ref:n}))}));h.defaultProps=d;var m=t.forwardRef((function(e,a){var o,d=n.useState(c(e.children,e.defaultIndex)),v=d[0],p=d[1],h=n.useState(0),m=h[0],y=h[1],g=n.useRef(null),w=n.useRef(null),E=n.useRef(new i.Group),b=n.useMemo((function(){return function(e,n){if("undefined"!=typeof window&&Array.isArray(n))return n.find((function(n){return n.breakpoint<=e}))}(m,e.responsive)}),[m,e.responsive]),T=n.useMemo((function(){return b?b.settings.slidesToScroll:e.slidesToScroll||1}),[b,e.slidesToScroll]),C=n.useMemo((function(){return b?b.settings.slidesToShow:e.slidesToShow||1}),[b,e.slidesToShow]),x=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),k=n.useMemo((function(){return m/C}),[m,C]),S=n.useRef(),M=n.useRef(),N=!1,O=0,R=e.vertical?"translateY":"translateX",A=e.vertical?"clientY":"clientX",I=e.vertical?"pageY":"pageX",j=n.useCallback((function(){if(w.current){var n=e.vertical?"height":"width";w.current.style[n]=m*w.current.children.length+"px",e.vertical&&g.current&&(g.current.style[n]=m+"px");for(var t=0;t<w.current.children.length;t++){var r=w.current.children[t];r&&(e.vertical||(r.style[n]=k+"px"),r.style.display="block")}}}),[m,k]),H=n.useCallback((function(){g.current&&(M.current=new r((function(e){e&&U()})),M.current.observe(g.current))}),[g]),z=n.useCallback((function(){e.autoplay&&(e.infinite||v<x-1)&&(S.current=setTimeout(D,e.duration))}),[e,x,v]);n.useEffect((function(){j()}),[m,j]),n.useEffect((function(){return H(),function(){E.current.removeAll(),clearTimeout(S.current),P()}}),[g,H,E]),n.useEffect((function(){clearTimeout(S.current),z()}),[v,m,e.autoplay,z]),n.useImperativeHandle(a,(function(){return{goNext:function(){D()},goBack:function(){F()},goTo:function(e,n){null!=n&&n.skipTransition?p(e):G(e)}}}));var P=function(){M&&g.current&&M.current.unobserve(g.current)},q=function(){e.pauseOnHover&&clearTimeout(S.current)},B=function(n){var t;if(e.canSwipe&&N&&(t=window.TouchEvent&&n.nativeEvent instanceof TouchEvent?n.nativeEvent.touches[0][I]:n.nativeEvent[A])&&o){var r=k*(v+_()),i=t-o;if(!e.infinite&&v===x-T&&i<0)return;if(!e.infinite&&0===v&&i>0)return;w.current.style.transform=R+"(-"+(r-=O=i)+"px)"}},D=function(){if(e.infinite||v!==x-T){var n=L(v+T);Y(n)}},F=function(){if(e.infinite||0!==v){var n=v-T;n%T&&(n=Math.ceil(n/T)*T),Y(n)}},G=function(e){Y(L(e))},L=function(e){return e<x&&e+T>x&&(x-T)%T?x-T:e},Q=function(e){"next"===e.currentTarget.dataset.type?D():F()},U=function(){var n=e.vertical?"clientHeight":"clientWidth";e.vertical?w.current&&y(w.current.children[0][n]):g.current&&y(g.current[n])},W=function(n){e.canSwipe&&(o=window.TouchEvent&&n.nativeEvent instanceof TouchEvent?n.nativeEvent.touches[0][I]:n.nativeEvent[A],clearTimeout(S.current),N=!0)},X=function(){e.canSwipe&&(N=!1,Math.abs(O)/m>.2?O<0?D():F():Math.abs(O)>0&&Y(v,300))},Y=function(n,t){var r=t||e.transitionDuration,a=v,c=E.current.getAll();if(g.current){var o=g.current[e.vertical?"clientHeight":"clientWidth"]/C;if(!c.length){clearTimeout(S.current);var l={margin:-o*(a+_())+O},s=new i.Tween(l,E.current).to({margin:-o*(n+_())},r).onUpdate((function(e){w.current&&(w.current.style.transform=R+"("+e.margin+"px)")}));s.easing(u(e.easing)),function e(){requestAnimationFrame(e),E.current.update()}();var f=n;f<0?f=x-T:f>=x&&(f=0),s.onStart((function(){"function"==typeof e.onStartChange&&e.onStartChange(v,f)})),s.onComplete((function(){O=0,"function"==typeof e.onChange&&e.onChange(v,f),p(f)})),s.start()}}},_=function(){return e.infinite?C:0},Z={transform:R+"(-"+(v+_())*k+"px)"};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container",onMouseEnter:q,onMouseOver:q,onMouseLeave:function(){N?X():e.pauseOnHover&&e.autoplay&&(S.current=setTimeout(D,e.duration))},onMouseDown:W,onMouseUp:X,onMouseMove:B,onTouchStart:W,onTouchEnd:X,onTouchCancel:X,onTouchMove:B},e.arrows&&l(e,v,Q),t.createElement("div",{className:"react-slideshow-wrapper slide "+(e.cssClass||""),ref:g},t.createElement("div",{className:"images-wrap "+(e.vertical?"vertical":"horizontal"),style:Z,ref:w},e.infinite&&t.Children.toArray(e.children).slice(-C).map((function(e,n){return t.createElement("div",{"data-index":n-C,"aria-roledescription":"slide","aria-hidden":"true",key:n-C},e)})),(t.Children.map(e.children,(function(e){return e}))||[]).map((function(e,n){var r=function(e){return e<v+C&&e>=v}(n);return t.createElement("div",{"data-index":n,key:n,className:r?"active":"","aria-roledescription":"slide","aria-hidden":r?"false":"true"},e)})),function(){if(e.infinite||C!==T)return t.Children.toArray(e.children).slice(0,C).map((function(e,n){return t.createElement("div",{"data-index":x+n,"aria-roledescription":"slide","aria-hidden":"true",key:x+n},e)}))}())),e.arrows&&s(e,v,Q)),!!e.indicators&&f(e,v,(function(e){var n=e.currentTarget;if(n.dataset.key){var t=parseInt(n.dataset.key);G(t*T)}}),b))}));m.defaultProps=d,exports.Fade=p,exports.Slide=m,exports.Zoom=h;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n),r=e(require("resize-observer-polyfill")),i=require("@tweenjs/tween.js");function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}var c=function(e,n){return n&&n<t.Children.count(e)?n:0},o={linear:i.Easing.Linear.None,ease:i.Easing.Quadratic.InOut,"ease-in":i.Easing.Quadratic.In,"ease-out":i.Easing.Quadratic.Out,cubic:i.Easing.Cubic.InOut,"cubic-in":i.Easing.Cubic.In,"cubic-out":i.Easing.Cubic.Out},u=function(e){return e?o[e]:o.linear},l=function(e,n,r){var i=e.prevArrow,c=n<=0&&!e.infinite,o={"data-type":"prev","aria-label":"Previous Slide",disabled:c,onClick:r};return i?t.cloneElement(i,a({className:(i.props.className||"")+" nav "+(c?"disabled":"")},o)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(c?"disabled":"")},o),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z"})))},s=function(e,n,r,i){var c=e.nextArrow,o=e.infinite,u=1;i?u=null==i?void 0:i.settings.slidesToScroll:"slidesToScroll"in e&&(u=e.slidesToScroll||1);var l=n>=t.Children.count(e.children)-u&&!o,s={"data-type":"next","aria-label":"Next Slide",disabled:l,onClick:r};return c?t.cloneElement(c,a({className:(c.props.className||"")+" nav "+(l?"disabled":"")},s)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(l?"disabled":"")},s),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z"})))},f=function(e,n,r,i){var c=e.indicators,o=1;i?o=null==i?void 0:i.settings.slidesToScroll:"slidesToScroll"in e&&(o=e.slidesToScroll||1);var u=Math.ceil(t.Children.count(e.children)/o);return t.createElement("ul",{className:"indicators"},Array.from({length:u},(function(e,i){var u={"data-key":i,"aria-label":"Go to slide "+(i+1),onClick:r},l=Math.floor((n+o-1)/o)===i;return"function"==typeof c?function(e,n,r,i){return t.cloneElement(i,a({className:i.props.className+" "+(e?"active":""),key:n},r))}(l,i,u,c(i)):function(e,n,r){return t.createElement("li",{key:n},t.createElement("button",Object.assign({type:"button",className:"each-slideshow-indicator "+(e?"active":"")},r)))}(l,i,u)})))},d={duration:5e3,transitionDuration:1e3,defaultIndex:0,infinite:!0,autoplay:!0,indicators:!1,arrows:!0,pauseOnHover:!0,easing:"linear",canSwipe:!0,cssClass:"",responsive:[]},v=t.forwardRef((function(e,a){var o=n.useState(c(e.children,e.defaultIndex)),d=o[0],v=o[1],p=n.useRef(null),h=n.useRef(null),m=n.useRef(new i.Group),y=n.useRef(),g=n.useRef(),w=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),E=n.useCallback((function(){if(h.current&&p.current){var e=p.current.clientWidth;h.current.style.width=e*w+"px";for(var n=0;n<h.current.children.length;n++){var t=h.current.children[n];t&&(t.style.width=e+"px",t.style.left=n*-e+"px",t.style.display="block")}}}),[p,h,w]),b=n.useCallback((function(){p.current&&(g.current=new r((function(e){e&&E()})),g.current.observe(p.current))}),[p,E]),T=n.useCallback((function(){var n=e.children,r=e.duration,i=e.infinite;e.autoplay&&t.Children.count(n)>1&&(i||d<t.Children.count(n)-1)&&(y.current=setTimeout(S,r))}),[e,d]);n.useEffect((function(){return b(),function(){m.current.removeAll(),clearTimeout(y.current),C()}}),[b,m]),n.useEffect((function(){clearTimeout(y.current),T()}),[d,e.autoplay,T]),n.useEffect((function(){E()}),[w,E]),n.useImperativeHandle(a,(function(){return{goNext:function(){S()},goBack:function(){k()},goTo:function(e,n){null!=n&&n.skipTransition?v(e):O(e)}}}));var C=function(){g.current&&p.current&&g.current.unobserve(p.current)},x=function(){e.pauseOnHover&&clearTimeout(y.current)},S=function(){var n=e.children;(e.infinite||d!==t.Children.count(n)-1)&&N((d+1)%t.Children.count(n))},k=function(){(e.infinite||0!==d)&&N(0===d?t.Children.count(e.children)-1:d-1)},M=function(e){"prev"===e.currentTarget.dataset.type?k():S()},N=function(n){if(!m.current.getAll().length){var t;null!=(t=h.current)&&t.children[n]||(n=0),clearTimeout(y.current),function e(){requestAnimationFrame(e),m.current.update()}();var r=new i.Tween({opacity:0,scale:1},m.current).to({opacity:1,scale:e.scale},e.transitionDuration).onUpdate((function(e){h.current&&(h.current.children[n].style.opacity=e.opacity,h.current.children[d].style.opacity=1-e.opacity,h.current.children[d].style.transform="scale("+e.scale+")")}));r.easing(u(e.easing)),r.onStart((function(){"function"==typeof e.onStartChange&&e.onStartChange(d,n)})),r.onComplete((function(){h.current&&(v(n),h.current.children[d].style.transform="scale(1)"),"function"==typeof e.onChange&&e.onChange(d,n)})),r.start()}},O=function(e){e!==d&&N(e)};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container "+(e.cssClass||""),onMouseEnter:x,onMouseOver:x,onMouseLeave:function(){e.pauseOnHover&&e.autoplay&&(y.current=setTimeout((function(){return S()}),e.duration))}},e.arrows&&l(e,d,M),t.createElement("div",{className:"react-slideshow-fadezoom-wrapper "+e.cssClass,ref:p},t.createElement("div",{className:"react-slideshow-fadezoom-images-wrap",ref:h},(t.Children.map(e.children,(function(e){return e}))||[]).map((function(e,n){return t.createElement("div",{style:{opacity:n===d?"1":"0",zIndex:n===d?"1":"0"},"data-index":n,key:n,"aria-roledescription":"slide","aria-hidden":n===d?"false":"true"},e)})))),e.arrows&&s(e,d,M)),e.indicators&&f(e,d,(function(e){var n=e.currentTarget;n.dataset.key&&parseInt(n.dataset.key)!==d&&O(parseInt(n.dataset.key))})))}));v.defaultProps=d;var p=t.forwardRef((function(e,n){return t.createElement(v,Object.assign({},e,{scale:1,ref:n}))}));p.defaultProps=d;var h=t.forwardRef((function(e,n){return t.createElement(v,Object.assign({},e,{ref:n}))}));h.defaultProps=d;var m=t.forwardRef((function(e,a){var o,d=n.useState(c(e.children,e.defaultIndex)),v=d[0],p=d[1],h=n.useState(0),m=h[0],y=h[1],g=n.useRef(null),w=n.useRef(null),E=n.useRef(new i.Group),b=n.useMemo((function(){return function(e,n){if("undefined"!=typeof window&&Array.isArray(n))return n.find((function(n){return n.breakpoint<=e}))}(m,e.responsive)}),[m,e.responsive]),T=n.useMemo((function(){return b?b.settings.slidesToScroll:e.slidesToScroll||1}),[b,e.slidesToScroll]),C=n.useMemo((function(){return b?b.settings.slidesToShow:e.slidesToShow||1}),[b,e.slidesToShow]),x=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),S=n.useMemo((function(){return m/C}),[m,C]),k=n.useRef(),M=n.useRef(),N=!1,O=0,R=e.vertical?"translateY":"translateX",A=e.vertical?"clientY":"clientX",I=e.vertical?"pageY":"pageX",j=n.useCallback((function(){if(w.current){var n=e.vertical?"height":"width";w.current.style[n]=m*w.current.children.length+"px",e.vertical&&g.current&&(g.current.style[n]=m+"px");for(var t=0;t<w.current.children.length;t++){var r=w.current.children[t];r&&(e.vertical||(r.style[n]=S+"px"),r.style.display="block")}}}),[m,S]),H=n.useCallback((function(){g.current&&(M.current=new r((function(e){e&&U()})),M.current.observe(g.current))}),[g]),z=n.useCallback((function(){e.autoplay&&(e.infinite||v<x-1)&&(k.current=setTimeout(D,e.duration))}),[e,x,v]);n.useEffect((function(){j()}),[m,j]),n.useEffect((function(){return H(),function(){E.current.removeAll(),clearTimeout(k.current),P()}}),[g,H,E]),n.useEffect((function(){clearTimeout(k.current),z()}),[v,m,e.autoplay,z]),n.useImperativeHandle(a,(function(){return{goNext:function(){D()},goBack:function(){F()},goTo:function(e,n){null!=n&&n.skipTransition?p(e):G(e)}}}));var P=function(){M&&g.current&&M.current.unobserve(g.current)},q=function(){e.pauseOnHover&&clearTimeout(k.current)},B=function(n){var t;if(e.canSwipe&&N&&(t=window.TouchEvent&&n.nativeEvent instanceof TouchEvent?n.nativeEvent.touches[0][I]:n.nativeEvent[A])&&o){var r=S*(v+_()),i=t-o;if(!e.infinite&&v===x-T&&i<0)return;if(!e.infinite&&0===v&&i>0)return;w.current.style.transform=R+"(-"+(r-=O=i)+"px)"}},D=function(){if(e.infinite||v!==x-T){var n=L(v+T);Y(n)}},F=function(){if(e.infinite||0!==v){var n=v-T;n%T&&(n=Math.ceil(n/T)*T),Y(n)}},G=function(e){Y(L(e))},L=function(e){return e<x&&e+T>x&&(x-T)%T?x-T:e},Q=function(e){"next"===e.currentTarget.dataset.type?D():F()},U=function(){var n=e.vertical?"clientHeight":"clientWidth";e.vertical?w.current&&y(w.current.children[0][n]):g.current&&y(g.current[n])},W=function(n){e.canSwipe&&(o=window.TouchEvent&&n.nativeEvent instanceof TouchEvent?n.nativeEvent.touches[0][I]:n.nativeEvent[A],clearTimeout(k.current),N=!0)},X=function(){e.canSwipe&&(N=!1,Math.abs(O)/m>.2?O<0?D():F():Math.abs(O)>0&&Y(v,300))},Y=function(n,t){var r=t||e.transitionDuration,a=v,c=E.current.getAll();if(g.current){var o=g.current[e.vertical?"clientHeight":"clientWidth"]/C;if(!c.length){clearTimeout(k.current);var l={margin:-o*(a+_())+O},s=new i.Tween(l,E.current).to({margin:-o*(n+_())},r).onUpdate((function(e){w.current&&(w.current.style.transform=R+"("+e.margin+"px)")}));s.easing(u(e.easing)),function e(){requestAnimationFrame(e),E.current.update()}();var f=n;f<0?f=x-T:f>=x&&(f=0),s.onStart((function(){"function"==typeof e.onStartChange&&e.onStartChange(v,f)})),s.onComplete((function(){O=0,"function"==typeof e.onChange&&e.onChange(v,f),p(f)})),s.start()}}},_=function(){return e.infinite?C:0},Z={transform:R+"(-"+(v+_())*S+"px)"};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container",onMouseEnter:q,onMouseOver:q,onMouseLeave:function(){N?X():e.pauseOnHover&&e.autoplay&&(k.current=setTimeout(D,e.duration))},onMouseDown:W,onMouseUp:X,onMouseMove:B,onTouchStart:W,onTouchEnd:X,onTouchCancel:X,onTouchMove:B},e.arrows&&l(e,v,Q),t.createElement("div",{className:"react-slideshow-wrapper slide "+(e.cssClass||""),ref:g},t.createElement("div",{className:"images-wrap "+(e.vertical?"vertical":"horizontal"),style:Z,ref:w},e.infinite&&t.Children.toArray(e.children).slice(-C).map((function(e,n){return t.createElement("div",{"data-index":n-C,"aria-roledescription":"slide","aria-hidden":"true",key:n-C},e)})),(t.Children.map(e.children,(function(e){return e}))||[]).map((function(e,n){var r=function(e){return e<v+C&&e>=v}(n);return t.createElement("div",{"data-index":n,key:n,className:r?"active":"","aria-roledescription":"slide","aria-hidden":r?"false":"true"},e)})),function(){if(e.infinite||C!==T)return t.Children.toArray(e.children).slice(0,C).map((function(e,n){return t.createElement("div",{"data-index":x+n,"aria-roledescription":"slide","aria-hidden":"true",key:x+n},e)}))}())),e.arrows&&s(e,v,Q,b)),!!e.indicators&&f(e,v,(function(e){var n=e.currentTarget;if(n.dataset.key){var t=parseInt(n.dataset.key);G(t*T)}}),b))}));m.defaultProps=d,exports.Fade=p,exports.Slide=m,exports.Zoom=h;
2
2
  //# sourceMappingURL=react-slideshow-image.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-slideshow-image.cjs.production.min.js","sources":["../src/helpers.tsx","../src/props.ts","../src/fadezoom.tsx","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","export const defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n easing: 'linear',\n canSwipe: true,\n cssClass: '',\n responsive: [],\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\nimport { defaultProps } from './props';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const [index, setIndex] = useState<number>(\n getStartingIndex(props.children, props.defaultIndex)\n );\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current && wrapperRef.current) {\n const wrapperWidth = wrapperRef.current.clientWidth;\n const fullwidth = wrapperWidth * childrenCount;\n innerWrapperRef.current.style.width = `${fullwidth}px`;\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${wrapperWidth}px`;\n eachDiv.style.left = `${index * -wrapperWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperRef, innerWrapperRef, childrenCount]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n applyStyle();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, applyStyle]);\n\n const play = useCallback(() => {\n const { autoplay, children, duration, infinite } = props;\n if (\n autoplay &&\n React.Children.count(children) > 1 &&\n (infinite || index < React.Children.count(children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, index]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, props.autoplay, play]);\n\n useEffect(() => {\n applyStyle();\n }, [childrenCount, applyStyle]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver.current && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n const { pauseOnHover, autoplay, duration } = props;\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n const { children, infinite } = props;\n if (!infinite && index === React.Children.count(children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(children));\n };\n\n const moveBack = () => {\n const { children, infinite } = props;\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: props.scale }, props.transitionDuration)\n .onUpdate((value) => {\n if (!innerWrapperRef.current) {\n return;\n }\n innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;\n innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;\n innerWrapperRef.current.children[\n index\n ].style.transform = `scale(${value.scale})`;\n });\n tween.easing(getEasing(props.easing));\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n tween.onComplete(() => {\n if (innerWrapperRef.current) {\n setIndex(newIndex);\n innerWrapperRef.current.children[index].style.transform = `scale(1)`;\n }\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n });\n tween.start();\n }\n };\n\n const moveTo = (gotoIndex: number) => {\n if (gotoIndex !== index) {\n transitionSlide(gotoIndex);\n }\n };\n\n const navigate: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (!currentTarget.dataset.key) {\n return;\n }\n if (parseInt(currentTarget.dataset.key) !== index) {\n moveTo(parseInt(currentTarget.dataset.key));\n }\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className={`react-slideshow-container ${props.cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {props.arrows && showPreviousArrow(props, index, preTransition)}\n <div\n className={`react-slideshow-fadezoom-wrapper ${props.cssClass}`}\n ref={wrapperRef}\n >\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0',\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n )\n )}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, preTransition)}\n </div>\n {props.indicators && showIndicators(props, index, navigate)}\n </div>\n );\n});\n\nFadeZoom.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...props} scale={1} ref={ref} />;\n});\n\nFade.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...props} ref={ref} />;\n});\n\nZoom.defaultProps = defaultProps;\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\nimport { defaultProps } from './props';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const [index, setIndex] = useState(getStartingIndex(props.children, props.defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, props.responsive),\n [wrapperSize, props.responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return props.slidesToScroll || 1;\n }, [responsiveSettings, props.slidesToScroll]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return props.slidesToShow || 1;\n }, [responsiveSettings, props.slidesToShow]);\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = props.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = props.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = props.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = props.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (props.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!props.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef]);\n\n const play = useCallback(() => {\n const { autoplay, infinite, duration } = props;\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, props.autoplay, play]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!props.infinite && index === childrenCount - slidesToScroll && distance < 0) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!props.infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!props.infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!props.infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex = Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n transitionSlide(previousIndex);\n };\n\n const goToSlide: ButtonClick = ({ currentTarget }) => {\n if (!currentTarget.dataset.key) {\n return;\n }\n const datasetKey = parseInt(currentTarget.dataset.key);\n moveTo(datasetKey * slidesToScroll);\n };\n\n const moveTo = (index: number) => {\n transitionSlide(calculateIndex(index));\n };\n\n const calculateIndex = (nextIndex: number): number => {\n if (nextIndex < childrenCount && nextIndex + slidesToScroll > childrenCount) {\n if ((childrenCount - slidesToScroll) % slidesToScroll) {\n return childrenCount - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n };\n\n const startSlides = () => {\n if (dragging) {\n endSwipe();\n } else if (props.pauseOnHover && props.autoplay) {\n timeout.current = setTimeout(moveNext, props.duration);\n }\n };\n\n const moveSlides: ButtonClick = ({ currentTarget: { dataset } }) => {\n if (dataset.type === 'next') {\n moveNext();\n } else {\n moveBack();\n }\n };\n\n const renderPreceedingSlides = () => {\n return React.Children.toArray(props.children)\n .slice(-slidesToShow)\n .map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n };\n\n const renderTrailingSlides = () => {\n if (!props.infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(props.children)\n .slice(0, slidesToShow)\n .map((each, index) => (\n <div\n data-index={childrenCount + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={childrenCount + index}\n >\n {each}\n </div>\n ));\n };\n\n const setSize = () => {\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n if (props.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (props.canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || props.transitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(props.easing));\n\n animate();\n\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\n\n tween.start();\n }\n };\n\n const isSlideActive = (key: number) => {\n return key < index + slidesToShow && key >= index;\n };\n\n const getOffset = (): number => {\n if (!props.infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {props.arrows && showPreviousArrow(props, index, moveSlides)}\n <div\n className={`react-slideshow-wrapper slide ${props.cssClass || ''}`}\n ref={wrapperRef}\n >\n <div\n className={`images-wrap ${props.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {props.infinite && renderPreceedingSlides()}\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => {\n const isThisSlideActive = isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isThisSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isThisSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n }\n )}\n {renderTrailingSlides()}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, moveSlides)}\n </div>\n {!!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n\nSlide.defaultProps = defaultProps;\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","ease-in","In","ease-out","Out","cubic","Cubic","cubic-in","cubic-out","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","isDisabled","infinite","props","data-type","aria-label","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","nextArrow","slidesToScroll","showIndicators","navigate","responsiveSettings","indicators","settings","pages","Math","ceil","Array","from","length","_","key","indicatorProps","data-key","isCurrentPageActive","floor","eachIndicator","showCustomIndicator","showDefaultIndicator","defaultProps","duration","transitionDuration","autoplay","arrows","pauseOnHover","easing","canSwipe","cssClass","responsive","FadeZoom","forwardRef","ref","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","wrapperWidth","clientWidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","transitionSlide","preTransition","event","currentTarget","dataset","newIndex","getAll","_innerWrapperRef$curr","animate","requestAnimationFrame","update","tween","Tween","opacity","scale","to","onUpdate","value","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","each","zIndex","parseInt","Fade","Zoom","Slide","startingSwipePosition","_useState2","wrapperSize","setWrapperSize","window","isArray","find","breakpoint","getResponsiveSettings","slidesToShow","eachChildSize","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","_ref2","startSwipe","endSwipe","abs","toIndex","animationDuration","existingTweens","childSize","margin","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","toArray","slice","isThisSlideActive","isSlideActive","renderTrailingSlides","datasetKey"],"mappings":"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"}
1
+ {"version":3,"file":"react-slideshow-image.cjs.production.min.js","sources":["../src/helpers.tsx","../src/props.ts","../src/fadezoom.tsx","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick,\n responsiveSettings?: Responsive\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","export const defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n easing: 'linear',\n canSwipe: true,\n cssClass: '',\n responsive: [],\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\nimport { defaultProps } from './props';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const [index, setIndex] = useState<number>(\n getStartingIndex(props.children, props.defaultIndex)\n );\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current && wrapperRef.current) {\n const wrapperWidth = wrapperRef.current.clientWidth;\n const fullwidth = wrapperWidth * childrenCount;\n innerWrapperRef.current.style.width = `${fullwidth}px`;\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${wrapperWidth}px`;\n eachDiv.style.left = `${index * -wrapperWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperRef, innerWrapperRef, childrenCount]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n applyStyle();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, applyStyle]);\n\n const play = useCallback(() => {\n const { autoplay, children, duration, infinite } = props;\n if (\n autoplay &&\n React.Children.count(children) > 1 &&\n (infinite || index < React.Children.count(children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, index]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, props.autoplay, play]);\n\n useEffect(() => {\n applyStyle();\n }, [childrenCount, applyStyle]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver.current && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n const { pauseOnHover, autoplay, duration } = props;\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n const { children, infinite } = props;\n if (!infinite && index === React.Children.count(children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(children));\n };\n\n const moveBack = () => {\n const { children, infinite } = props;\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: props.scale }, props.transitionDuration)\n .onUpdate((value) => {\n if (!innerWrapperRef.current) {\n return;\n }\n innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;\n innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;\n innerWrapperRef.current.children[\n index\n ].style.transform = `scale(${value.scale})`;\n });\n tween.easing(getEasing(props.easing));\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n tween.onComplete(() => {\n if (innerWrapperRef.current) {\n setIndex(newIndex);\n innerWrapperRef.current.children[index].style.transform = `scale(1)`;\n }\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n });\n tween.start();\n }\n };\n\n const moveTo = (gotoIndex: number) => {\n if (gotoIndex !== index) {\n transitionSlide(gotoIndex);\n }\n };\n\n const navigate: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (!currentTarget.dataset.key) {\n return;\n }\n if (parseInt(currentTarget.dataset.key) !== index) {\n moveTo(parseInt(currentTarget.dataset.key));\n }\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className={`react-slideshow-container ${props.cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {props.arrows && showPreviousArrow(props, index, preTransition)}\n <div\n className={`react-slideshow-fadezoom-wrapper ${props.cssClass}`}\n ref={wrapperRef}\n >\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0',\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n )\n )}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, preTransition)}\n </div>\n {props.indicators && showIndicators(props, index, navigate)}\n </div>\n );\n});\n\nFadeZoom.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...props} scale={1} ref={ref} />;\n});\n\nFade.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...props} ref={ref} />;\n});\n\nZoom.defaultProps = defaultProps;\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\nimport { defaultProps } from './props';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const [index, setIndex] = useState(getStartingIndex(props.children, props.defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, props.responsive),\n [wrapperSize, props.responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return props.slidesToScroll || 1;\n }, [responsiveSettings, props.slidesToScroll]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return props.slidesToShow || 1;\n }, [responsiveSettings, props.slidesToShow]);\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = props.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = props.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = props.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = props.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (props.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!props.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef]);\n\n const play = useCallback(() => {\n const { autoplay, infinite, duration } = props;\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, props.autoplay, play]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!props.infinite && index === childrenCount - slidesToScroll && distance < 0) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!props.infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!props.infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!props.infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex = Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n transitionSlide(previousIndex);\n };\n\n const goToSlide: ButtonClick = ({ currentTarget }) => {\n if (!currentTarget.dataset.key) {\n return;\n }\n const datasetKey = parseInt(currentTarget.dataset.key);\n moveTo(datasetKey * slidesToScroll);\n };\n\n const moveTo = (index: number) => {\n transitionSlide(calculateIndex(index));\n };\n\n const calculateIndex = (nextIndex: number): number => {\n if (nextIndex < childrenCount && nextIndex + slidesToScroll > childrenCount) {\n if ((childrenCount - slidesToScroll) % slidesToScroll) {\n return childrenCount - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n };\n\n const startSlides = () => {\n if (dragging) {\n endSwipe();\n } else if (props.pauseOnHover && props.autoplay) {\n timeout.current = setTimeout(moveNext, props.duration);\n }\n };\n\n const moveSlides: ButtonClick = ({ currentTarget: { dataset } }) => {\n if (dataset.type === 'next') {\n moveNext();\n } else {\n moveBack();\n }\n };\n\n const renderPreceedingSlides = () => {\n return React.Children.toArray(props.children)\n .slice(-slidesToShow)\n .map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n };\n\n const renderTrailingSlides = () => {\n if (!props.infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(props.children)\n .slice(0, slidesToShow)\n .map((each, index) => (\n <div\n data-index={childrenCount + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={childrenCount + index}\n >\n {each}\n </div>\n ));\n };\n\n const setSize = () => {\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n if (props.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (props.canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || props.transitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(props.easing));\n\n animate();\n\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\n\n tween.start();\n }\n };\n\n const isSlideActive = (key: number) => {\n return key < index + slidesToShow && key >= index;\n };\n\n const getOffset = (): number => {\n if (!props.infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {props.arrows && showPreviousArrow(props, index, moveSlides)}\n <div\n className={`react-slideshow-wrapper slide ${props.cssClass || ''}`}\n ref={wrapperRef}\n >\n <div\n className={`images-wrap ${props.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {props.infinite && renderPreceedingSlides()}\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => {\n const isThisSlideActive = isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isThisSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isThisSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n }\n )}\n {renderTrailingSlides()}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, moveSlides, responsiveSettings)}\n </div>\n {!!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n\nSlide.defaultProps = defaultProps;\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","ease-in","In","ease-out","Out","cubic","Cubic","cubic-in","cubic-out","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","isDisabled","infinite","props","data-type","aria-label","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","responsiveSettings","nextArrow","slidesToScroll","settings","showIndicators","navigate","indicators","pages","Math","ceil","Array","from","length","_","key","indicatorProps","data-key","isCurrentPageActive","floor","eachIndicator","showCustomIndicator","showDefaultIndicator","defaultProps","duration","transitionDuration","autoplay","arrows","pauseOnHover","easing","canSwipe","cssClass","responsive","FadeZoom","forwardRef","ref","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","wrapperWidth","clientWidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","transitionSlide","preTransition","event","currentTarget","dataset","newIndex","getAll","_innerWrapperRef$curr","animate","requestAnimationFrame","update","tween","Tween","opacity","scale","to","onUpdate","value","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","each","zIndex","parseInt","Fade","Zoom","Slide","startingSwipePosition","_useState2","wrapperSize","setWrapperSize","window","isArray","find","breakpoint","getResponsiveSettings","slidesToShow","eachChildSize","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","_ref2","startSwipe","endSwipe","abs","toIndex","animationDuration","existingTweens","childSize","margin","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","toArray","slice","isThisSlideActive","isSlideActive","renderTrailingSlides","datasetKey"],"mappings":"mdAYO,IAAMA,EAAmB,SAACC,EAAqBC,GAClD,OAAIA,GAAgBA,EAAeC,EAAMC,SAASC,MAAMJ,GAC7CC,EAEJ,GAaLI,EAAmD,CACrDC,OAAQC,SAAOC,OAAOC,KACtBC,KAAMH,SAAOI,UAAUC,MACvBC,UAAWN,SAAOI,UAAUG,GAC5BC,WAAYR,SAAOI,UAAUK,IAC7BC,MAAOV,SAAOW,MAAMN,MACpBO,WAAYZ,SAAOW,MAAMJ,GACzBM,YAAab,SAAOW,MAAMF,KAGjBK,EAAY,SAACC,GACtB,OAAIA,EACOjB,EAAeiB,GAEnBjB,EAAeC,QAGbiB,EAAoB,SAAHC,EAE1BC,EACAC,OAFEC,EAASH,EAATG,UAIIC,EAAaH,GAAgB,IAJdD,EAARK,SAKPC,EAAQ,CACVC,YAAa,OACbC,aAAc,iBACdC,SAAUL,EACVM,QAASR,GAEb,OAAIC,EACOzB,EAAMiC,aAAaR,EAASS,GAC/BC,WAAcV,EAAUG,MAAMO,WAAa,aAAUT,EAAa,WAAa,KAC5EE,IAKP5B,wCAAQoC,KAAK,SAASD,8BAFWT,EAAa,WAAa,KAEXE,GAC5C5B,uBAAKqC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,aAChCvC,wBAAMwC,EAAE,4EAMXC,EAAgB,SACzBC,EACAnB,EACAC,EACAmB,GAEA,IAAQC,EAAkCF,EAAlCE,UAAWjB,EAAuBe,EAAvBf,SACfkB,EAAiB,EACjBF,EACAE,QAAiBF,SAAAA,EAAoBG,SAASD,eACvC,mBAAoBH,IAC3BG,EAAiBH,EAAWG,gBAAkB,GAElD,IAAMnB,EAAaH,GAAgBvB,EAAMC,SAASC,MAPRwC,EAAb5C,UAOuC+C,IAAmBlB,EACjFC,EAAQ,CACVC,YAAa,OACbC,aAAc,aACdC,SAAUL,EACVM,QAASR,GAEb,OAAIoB,EACO5C,EAAMiC,aAAaW,EAASV,GAC/BC,WAAcS,EAAUhB,MAAMO,WAAa,aAAUT,EAAa,WAAa,KAC5EE,IAKP5B,wCAAQoC,KAAK,SAASD,8BAFWT,EAAa,WAAa,KAEXE,GAC5C5B,uBAAKqC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,aAChCvC,wBAAMwC,EAAE,qDAmCXO,EAAiB,SAC1BnB,EACAL,EACAyB,EACAL,GAEA,IAAkBM,EAAerB,EAAfqB,WACdJ,EAAiB,EACjBF,EACAE,QAAiBF,SAAAA,EAAoBG,SAASD,eACvC,mBAAoBjB,IAC3BiB,EAAiBjB,EAAMiB,gBAAkB,GAE7C,IAAMK,EAAQC,KAAKC,KAAKpD,EAAMC,SAASC,MAPN0B,EAAzB9B,UAOiD+C,GACzD,OACI7C,sBAAImC,UAAU,cACTkB,MAAMC,KAAK,CAAEC,OAAQL,IAAS,SAACM,EAAGC,GAC/B,IAAMC,EAAqC,CACvCC,WAAYF,EACZ3B,6BAA6B2B,EAAM,GACnCzB,QAASgB,GAEPY,EACFT,KAAKU,OAAOtC,EAAesB,EAAiB,GAAKA,KAAoBY,EACzE,MAA0B,mBAAfR,EArCC,SACxBW,EACAH,EACAC,EACAI,GAEA,OAAO9D,EAAMiC,aAAa6B,EAAa5B,GACnCC,UAAc2B,EAAclC,MAAMO,eAAayB,EAAsB,SAAW,IAChFH,IAAAA,GACGC,IA6BgBK,CACHH,EACAH,EACAC,EACAT,EAAWQ,IA1DN,SACzBG,EACAH,EACAC,GAEA,OACI1D,sBAAIyD,IAAKA,GACLzD,wCACIoC,KAAK,SACLD,uCAAuCyB,EAAsB,SAAW,KACpEF,KAmDGM,CAAqBJ,EAAqBH,EAAKC,QC3KzDO,EAAe,CAC1BC,SAAU,IACVC,mBAAoB,IACpBpE,aAAc,EACd4B,UAAU,EACVyC,UAAU,EACVnB,YAAY,EACZoB,QAAQ,EACRC,cAAc,EACdC,OAAQ,SACRC,UAAU,EACVC,SAAU,GACVC,WAAY,ICQDC,EAAW3E,EAAM4E,YAAoC,SAAChD,EAAOiD,GACtE,IAAAC,EAA0BC,WACtBlF,EAAiB+B,EAAM9B,SAAU8B,EAAM7B,eADpCiF,EAAKF,KAAEG,EAAQH,KAGhBI,EAAaC,SAAuB,MACpCC,EAAkBD,SAAY,MAC9BE,EAAaF,SAAO,IAAIG,SACxBC,EAAUJ,WACVK,EAAiBL,WACjBM,EAAgBC,WAAQ,WAAA,OAAM1F,EAAMC,SAASC,MAAM0B,EAAM9B,YAAW,CAAC8B,EAAM9B,WAE3E6F,EAAaC,eAAY,WAC3B,GAAIR,EAAgBS,SAAWX,EAAWW,QAAS,CAC/C,IAAMC,EAAeZ,EAAWW,QAAQE,YAExCX,EAAgBS,QAAQG,MAAM3D,MADZyD,EAAeL,OAEjC,IAAK,IAAIT,EAAQ,EAAGA,EAAQI,EAAgBS,QAAQ/F,SAASyD,OAAQyB,IAAS,CAC1E,IAAMiB,EAAUb,EAAgBS,QAAQ/F,SAASkF,GAC7CiB,IACAA,EAAQD,MAAM3D,MAAWyD,OACzBG,EAAQD,MAAME,KAAUlB,GAASc,OACjCG,EAAQD,MAAMG,qBAI3B,CAACjB,EAAYE,EAAiBK,IAE3BW,EAAqBR,eAAY,WAC/BV,EAAWW,UACXL,EAAeK,QAAU,IAAIQ,GAAe,SAACC,GACpCA,GACLX,OAEJH,EAAeK,QAAQU,QAAQrB,EAAWW,YAE/C,CAACX,EAAYS,IAEVa,EAAOZ,eAAY,WACrB,IAAkB9F,EAAiC8B,EAAjC9B,SAAUoE,EAAuBtC,EAAvBsC,SAAUvC,EAAaC,EAAbD,SAAaC,EAA3CwC,UAGJpE,EAAMC,SAASC,MAAMJ,GAAY,IAChC6B,GAAYqD,EAAQhF,EAAMC,SAASC,MAAMJ,GAAY,KAEtDyF,EAAQM,QAAUY,WAAWC,EAAUxC,MAG5C,CAACtC,EAAOoD,IAEX2B,aAAU,WAEN,OADAP,IACO,WACHf,EAAWQ,QAAQe,YACnBC,aAAatB,EAAQM,SACrBiB,OAEL,CAACV,EAAoBf,IAExBsB,aAAU,WACNE,aAAatB,EAAQM,SACrBW,MACD,CAACxB,EAAOpD,EAAMwC,SAAUoC,IAE3BG,aAAU,WACNhB,MACD,CAACF,EAAeE,IAEnBoB,sBAAoBlC,GAAK,WAAA,MAAO,CAC5BmC,OAAQ,WACJN,KAEJO,OAAQ,WACJC,KAEJC,KAAM,SAACnC,EAAeoC,SACdA,GAAAA,EAASC,eACTpC,EAASD,GAETsC,EAAOtC,QAKnB,IAAM8B,EAAuB,WACrBtB,EAAeK,SAAWX,EAAWW,SACrCL,EAAeK,QAAQ0B,UAAUrC,EAAWW,UAI9C2B,EAAc,WACZ5F,EAAM0C,cACNuC,aAAatB,EAAQM,UAWvBa,EAAW,WACb,IAAQ5G,EAAuB8B,EAAvB9B,UAAuB8B,EAAbD,UACDqD,IAAUhF,EAAMC,SAASC,MAAMJ,GAAY,IAG5D2H,GAAiBzC,EAAQ,GAAKhF,EAAMC,SAASC,MAAMJ,KAGjDoH,EAAW,YACkBtF,EAAbD,UACS,IAAVqD,IAGjByC,EAA0B,IAAVzC,EAAchF,EAAMC,SAASC,MAJd0B,EAAvB9B,UAIuD,EAAIkF,EAAQ,IAGzE0C,EAA6B,SAACC,GAEG,SADTA,EAAlBC,cACUC,QAAQzF,KACtB8E,IAEAR,KASFe,EAAkB,SAACK,GAErB,IADuBzC,EAAWQ,QAAQkC,SACtBxE,OAAQ,CAAA,IAAAyE,SACpBA,EAAC5C,EAAgBS,UAAhBmC,EAAyBlI,SAASgI,KACnCA,EAAW,GAEfjB,aAAatB,EAAQM,SAXb,SAAVoC,IACFC,sBAAsBD,GACtB5C,EAAWQ,QAAQsC,SAYfF,GAEA,IAAMG,EAAQ,IAAIC,QAJJ,CAAEC,QAAS,EAAGC,MAAO,GAIJlD,EAAWQ,SACrC2C,GAAG,CAAEF,QAAS,EAAGC,MAAO3G,EAAM2G,OAAS3G,EAAMuC,oBAC7CsE,UAAS,SAACC,GACFtD,EAAgBS,UAGrBT,EAAgBS,QAAQ/F,SAASgI,GAAU9B,MAAMsC,QAAUI,EAAMJ,QACjElD,EAAgBS,QAAQ/F,SAASkF,GAAOgB,MAAMsC,QAAU,EAAII,EAAMJ,QAClElD,EAAgBS,QAAQ/F,SACpBkF,GACFgB,MAAM2C,mBAAqBD,EAAMH,cAE3CH,EAAM7D,OAAOpD,EAAUS,EAAM2C,SAC7B6D,EAAMQ,SAAQ,WACyB,mBAAxBhH,EAAMiH,eACbjH,EAAMiH,cAAc7D,EAAO8C,MAGnCM,EAAMU,YAAW,WACT1D,EAAgBS,UAChBZ,EAAS6C,GACT1C,EAAgBS,QAAQ/F,SAASkF,GAAOgB,MAAM2C,sBAEpB,mBAAnB/G,EAAMmH,UACbnH,EAAMmH,SAAS/D,EAAO8C,MAG9BM,EAAMY,UAIR1B,EAAS,SAAC2B,GACRA,IAAcjE,GACdyC,EAAgBwB,IAcxB,OACIjJ,uBAAKkJ,IAAI,6BAA2B,YAChClJ,uBACImC,wCAAwCP,EAAM6C,UAAY,IAC1D0E,aAAc3B,EACd4B,YAAa5B,EACb6B,aArGQ,WAC6BzH,EAArC0C,cAAqC1C,EAAvBwC,WAElBmB,EAAQM,QAAUY,YAAW,WAAA,OAAMC,MAFM9E,EAAbsC,aAsGvBtC,EAAMyC,QAAUhD,EAAkBO,EAAOoD,EAAO0C,GACjD1H,uBACImC,8CAA+CP,EAAM6C,SACrDI,IAAKK,GAELlF,uBAAKmC,UAAU,uCAAuC0C,IAAKO,IACrDpF,EAAMC,SAASqJ,IAAI1H,EAAM9B,UAAU,SAACyJ,GAAO,OAAKA,MAAY,IAAID,KAC9D,SAACE,EAAM/F,GAAG,OACNzD,uBACIgG,MAAO,CACHsC,QAAS7E,IAAQuB,EAAQ,IAAM,IAC/ByE,OAAQhG,IAAQuB,EAAQ,IAAM,kBAEtBvB,EACZA,IAAKA,yBACgB,sBACRA,IAAQuB,EAAQ,QAAU,QAEtCwE,QAMpB5H,EAAMyC,QAAU5B,EAAcb,EAAOoD,EAAO0C,IAEhD9F,EAAMqB,YAAcF,EAAenB,EAAOoD,GA5CrB,SAAC2C,GAC3B,IAAQC,EAAkBD,EAAlBC,cACHA,EAAcC,QAAQpE,KAGvBiG,SAAS9B,EAAcC,QAAQpE,OAASuB,GACxCsC,EAAOoC,SAAS9B,EAAcC,QAAQpE,aA2ClDkB,EAASV,aAAeA,MCpPX0F,EAAO3J,EAAM4E,YAAoC,SAAChD,EAAOiD,GAClE,OAAO7E,gBAAC2E,mBAAa/C,GAAO2G,MAAO,EAAG1D,IAAKA,QAG/C8E,EAAK1F,aAAeA,MCJP2F,EAAO5J,EAAM4E,YAAoC,SAAChD,EAAOiD,GAClE,OAAO7E,gBAAC2E,mBAAa/C,GAAOiD,IAAKA,QAGrC+E,EAAK3F,aAAeA,MCYP4F,EAAQ7J,EAAM4E,YAAqC,SAAChD,EAAOiD,GACpE,IAyBIiF,EAzBJhF,EAA0BC,WAASlF,EAAiB+B,EAAM9B,SAAU8B,EAAM7B,eAAnEiF,EAAKF,KAAEG,EAAQH,KACtBiF,EAAsChF,WAAiB,GAAhDiF,EAAWD,KAAEE,EAAcF,KAC5B7E,EAAaC,SAAuB,MACpCC,EAAkBD,SAAY,MAC9BE,EAAaF,SAAO,IAAIG,SACxB3C,EAAqB+C,WACvB,WAAA,OLT6B,SACjCI,EACApB,GAEA,GAAsB,oBAAXwF,QAA0B7G,MAAM8G,QAAQzF,GAC/C,OAAOA,EAAW0F,MAAK,SAACZ,GAAI,OAAKA,EAAKa,YAAcvE,KKI9CwE,CAAsBN,EAAapI,EAAM8C,cAC/C,CAACsF,EAAapI,EAAM8C,aAElB7B,EAAiB6C,WAAQ,WAC3B,OAAI/C,EACOA,EAAmBG,SAASD,eAEhCjB,EAAMiB,gBAAkB,IAChC,CAACF,EAAoBf,EAAMiB,iBACxB0H,EAAe7E,WAAQ,WACzB,OAAI/C,EACOA,EAAmBG,SAASyH,aAEhC3I,EAAM2I,cAAgB,IAC9B,CAAC5H,EAAoBf,EAAM2I,eACxB9E,EAAgBC,WAAQ,WAAA,OAAM1F,EAAMC,SAASC,MAAM0B,EAAM9B,YAAW,CAAC8B,EAAM9B,WAC3E0K,EAAgB9E,WAAQ,WAAA,OAAMsE,EAAcO,IAAc,CAACP,EAAaO,IACxEhF,EAAUJ,WACVK,EAAiBL,WAEnBsF,GAAoB,EACpBC,EAAyB,EACvBC,EAAgB/I,EAAMgJ,SAAW,aAAe,aAChDC,EAAqBjJ,EAAMgJ,SAAW,UAAY,UAClDE,EAAyBlJ,EAAMgJ,SAAW,QAAU,QAEpDjF,EAAaC,eAAY,WAC3B,GAAIR,EAAgBS,QAAS,CACzB,IACMkF,EAAYnJ,EAAMgJ,SAAW,SAAW,QAC9CxF,EAAgBS,QAAQG,MAAM+E,GAFbf,EAAc5E,EAAgBS,QAAQ/F,SAASyD,YAG5D3B,EAAMgJ,UAAY1F,EAAWW,UAC7BX,EAAWW,QAAQG,MAAM+E,GAAgBf,QAE7C,IAAK,IAAIhF,EAAQ,EAAGA,EAAQI,EAAgBS,QAAQ/F,SAASyD,OAAQyB,IAAS,CAC1E,IAAMiB,EAAUb,EAAgBS,QAAQ/F,SAASkF,GAC7CiB,IACKrE,EAAMgJ,WACP3E,EAAQD,MAAM+E,GAAgBP,QAElCvE,EAAQD,MAAMG,qBAI3B,CAAC6D,EAAaQ,IAEXpE,EAAqBR,eAAY,WAC/BV,EAAWW,UACXL,EAAeK,QAAU,IAAIQ,GAAe,SAACC,GACpCA,GACL0E,OAEJxF,EAAeK,QAAQU,QAAQrB,EAAWW,YAE/C,CAACX,IAEEsB,EAAOZ,eAAY,WACoBhE,EAAjCwC,WAAiCxC,EAAvBD,UACWqD,EAAQS,EAAgB,KACjDF,EAAQM,QAAUY,WAAWC,EAFQ9E,EAAbsC,aAK7B,CAACtC,EAAO6D,EAAeT,IAE1B2B,aAAU,WACNhB,MACD,CAACqE,EAAarE,IAEjBgB,aAAU,WAEN,OADAP,IACO,WACHf,EAAWQ,QAAQe,YACnBC,aAAatB,EAAQM,SACrBiB,OAEL,CAAC5B,EAAYkB,EAAoBf,IAEpCsB,aAAU,WACNE,aAAatB,EAAQM,SACrBW,MACD,CAACxB,EAAOgF,EAAapI,EAAMwC,SAAUoC,IAExCO,sBAAoBlC,GAAK,WAAA,MAAO,CAC5BmC,OAAQ,WACJN,KAEJO,OAAQ,WACJC,KAEJC,KAAM,SAACnC,EAAeoC,SACdA,GAAAA,EAASC,eACTpC,EAASD,GAETsC,EAAOtC,QAKnB,IAAM8B,EAAuB,WACrBtB,GAAkBN,EAAWW,SAC7BL,EAAeK,QAAQ0B,UAAUrC,EAAWW,UAI9C2B,EAAc,WACZ5F,EAAM0C,cACNuC,aAAatB,EAAQM,UAIvBoF,EAAQ,SAACtD,GAEP,IAAIuD,EADR,GAAItJ,EAAM4C,UAAYiG,IAGdS,EADAhB,OAAOiB,YAAcxD,EAAMyD,uBAAuBD,WACvCxD,EAAMyD,YAAYC,QAAQ,GAAGP,GAE5BnD,EAAMyD,YAA2BP,KAEjCf,EAAuB,CACnC,IAAIwB,EAAiBd,GAAiBxF,EAAQuG,KACxCC,EAAWN,EAAWpB,EAC5B,IAAKlI,EAAMD,UAAYqD,IAAUS,EAAgB5C,GAAkB2I,EAAW,EAG1E,OAEJ,IAAK5J,EAAMD,UAAsB,IAAVqD,GAAewG,EAAW,EAG7C,OAIJpG,EAAgBS,QAAQG,MAAM2C,UAAegC,QAD7CW,GADAZ,EAAiBc,WAOvB9E,EAAW,WACb,GAAK9E,EAAMD,UAAYqD,IAAUS,EAAgB5C,EAAjD,CAGA,IAAM4I,EAAYC,EAAe1G,EAAQnC,GACzC4E,EAAgBgE,KAGdvE,EAAW,WACb,GAAKtF,EAAMD,UAAsB,IAAVqD,EAAvB,CAGA,IAAI2G,EAAgB3G,EAAQnC,EACxB8I,EAAgB9I,IAChB8I,EAAgBxI,KAAKC,KAAKuI,EAAgB9I,GAAkBA,GAEhE4E,EAAgBkE,KAWdrE,EAAS,SAACtC,GACZyC,EAAgBiE,EAAe1G,KAG7B0G,EAAiB,SAACD,GACpB,OAAIA,EAAYhG,GAAiBgG,EAAY5I,EAAiB4C,IACrDA,EAAgB5C,GAAkBA,EAC5B4C,EAAgB5C,EAIxB4I,GAWLjK,EAA0B,SAAhBoK,GACS,SADkCA,EAAxBhE,cAAiBC,QACpCzF,KACRsE,IAEAQ,KAqCF8D,EAAU,WACZ,IAAMD,EAAYnJ,EAAMgJ,SAAW,eAAiB,cAChDhJ,EAAMgJ,SACFxF,EAAgBS,SAChBoE,EAAe7E,EAAgBS,QAAQ/F,SAAS,GAAGiL,IAGnD7F,EAAWW,SACXoE,EAAe/E,EAAWW,QAAQkF,KAKxCc,EAAa,SAAClE,GACZ/F,EAAM4C,WAEFsF,EADAI,OAAOiB,YAAcxD,EAAMyD,uBAAuBD,WAC1BxD,EAAMyD,YAAYC,QAAQ,GAAGP,GAE5BnD,EAAMyD,YAA2BP,GAE9DhE,aAAatB,EAAQM,SACrB4E,GAAW,IAIbqB,EAAW,WACTlK,EAAM4C,WACNiG,GAAW,EACPtH,KAAK4I,IAAIrB,GAAkBV,EAAc,GACrCU,EAAiB,EACjBhE,IAEAQ,IAGA/D,KAAK4I,IAAIrB,GAAkB,GAC3BjD,EAAgBzC,EAAO,OAWjCyC,EAAkB,SAACuE,EAAiBC,GACtC,IAAM9H,EAAqB8H,GAAqBrK,EAAMuC,mBAChD5C,EAAeyD,EACfkH,EAAiB7G,EAAWQ,QAAQkC,SAC1C,GAAK7C,EAAWW,QAAhB,CAGA,IACMsG,EAAYjH,EAAWW,QADXjE,EAAMgJ,SAAW,eAAiB,eACFL,EAClD,IAAK2B,EAAe3I,OAAQ,CACxBsD,aAAatB,EAAQM,SACrB,IAAM6C,EAAQ,CACV0D,QAASD,GAAa5K,EAAegK,KAAeb,GAElDtC,EAAQ,IAAIC,QAAMK,EAAOrD,EAAWQ,SACrC2C,GAAG,CAAE4D,QAASD,GAAaH,EAAUT,MAAgBpH,GACrDsE,UAAS,SAACC,GACHtD,EAAgBS,UAChBT,EAAgBS,QAAQG,MAAM2C,UAAegC,MAAiBjC,EAAM0D,iBAGhFhE,EAAM7D,OAAOpD,EAAUS,EAAM2C,SA1BrB,SAAV0D,IACFC,sBAAsBD,GACtB5C,EAAWQ,QAAQsC,SA0BfF,GAEA,IAAIH,EAAWkE,EACXlE,EAAW,EACXA,EAAWrC,EAAgB5C,EACpBiF,GAAYrC,IACnBqC,EAAW,GAGfM,EAAMQ,SAAQ,WACyB,mBAAxBhH,EAAMiH,eACbjH,EAAMiH,cAAc7D,EAAO8C,MAInCM,EAAMU,YAAW,WACb4B,EAAiB,EACa,mBAAnB9I,EAAMmH,UACbnH,EAAMmH,SAAS/D,EAAO8C,GAE1B7C,EAAS6C,MAGbM,EAAMY,WAQRuC,EAAY,WACd,OAAK3J,EAAMD,SAGJ4I,EAFI,GAKTvE,EAAQ,CACV2C,UAAcgC,QAAmB3F,EAAQuG,KAAef,SAE5D,OACIxK,uBAAKkJ,IAAI,6BAA2B,YAChClJ,uBACImC,UAAU,4BACVgH,aAAc3B,EACd4B,YAAa5B,EACb6B,aAtKQ,WACZoB,EACAqB,IACOlK,EAAM0C,cAAgB1C,EAAMwC,WACnCmB,EAAQM,QAAUY,WAAWC,EAAU9E,EAAMsC,YAmKzCmI,YAAaR,EACbS,UAAWR,EACXS,YAAatB,EACbuB,aAAcX,EACdY,WAAYX,EACZY,cAAeZ,EACfa,YAAa1B,GAEZrJ,EAAMyC,QAAUhD,EAAkBO,EAAOoD,EAAOxD,GACjDxB,uBACImC,4CAA4CP,EAAM6C,UAAY,IAC9DI,IAAKK,GAELlF,uBACImC,0BAA0BP,EAAMgJ,SAAW,WAAa,cACxD5E,MAAOA,EACPnB,IAAKO,GAEJxD,EAAMD,UAxKhB3B,EAAMC,SAAS2M,QAAQhL,EAAM9B,UAC/B+M,OAAOtC,GACPjB,KAAI,SAACE,EAAMxE,GAAK,OACbhF,oCACgBgF,EAAQuF,yBACC,sBACT,OACZ9G,IAAKuB,EAAQuF,GAEZf,OAgKKxJ,EAAMC,SAASqJ,IAAI1H,EAAM9B,UAAU,SAACyJ,GAAO,OAAKA,MAAY,IAAID,KAC9D,SAACE,EAAM/F,GACH,IAAMqJ,EA1CZ,SAACrJ,GACnB,OAAOA,EAAMuB,EAAQuF,GAAgB9G,GAAOuB,EAyCM+H,CAActJ,GACxC,OACIzD,oCACgByD,EACZA,IAAKA,EACLtB,UAAW2K,EAAoB,SAAW,0BACrB,sBACRA,EAAoB,QAAU,QAE1CtD,MAtKR,WACzB,GAAK5H,EAAMD,UAAY4I,IAAiB1H,EAGxC,OAAO7C,EAAMC,SAAS2M,QAAQhL,EAAM9B,UAC/B+M,MAAM,EAAGtC,GACTjB,KAAI,SAACE,EAAMxE,GAAK,OACbhF,oCACgByF,EAAgBT,yBACP,sBACT,OACZvB,IAAKgC,EAAgBT,GAEpBwE,MA8JIwD,KAGRpL,EAAMyC,QAAU5B,EAAcb,EAAOoD,EAAOxD,EAAYmB,MAE1Df,EAAMqB,YAAcF,EAAenB,EAAOoD,GArOtB,SAAhB1D,OAAmBsG,EAAatG,EAAbsG,cAC9B,GAAKA,EAAcC,QAAQpE,IAA3B,CAGA,IAAMwJ,EAAavD,SAAS9B,EAAcC,QAAQpE,KAClD6D,EAAO2F,EAAapK,MAgO+CF,OAK3EkH,EAAM5F,aAAeA"}
@@ -73,12 +73,14 @@ var showPreviousArrow = function showPreviousArrow(_ref, currentIndex, moveSlide
73
73
  d: "M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z"
74
74
  })));
75
75
  };
76
- var showNextArrow = function showNextArrow(properties, currentIndex, moveSlides) {
76
+ var showNextArrow = function showNextArrow(properties, currentIndex, moveSlides, responsiveSettings) {
77
77
  var nextArrow = properties.nextArrow,
78
78
  infinite = properties.infinite,
79
79
  children = properties.children;
80
80
  var slidesToScroll = 1;
81
- if ('slidesToScroll' in properties) {
81
+ if (responsiveSettings) {
82
+ slidesToScroll = responsiveSettings == null ? void 0 : responsiveSettings.settings.slidesToScroll;
83
+ } else if ('slidesToScroll' in properties) {
82
84
  slidesToScroll = properties.slidesToScroll || 1;
83
85
  }
84
86
  var isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;
@@ -742,7 +744,7 @@ var Slide = /*#__PURE__*/React.forwardRef(function (props, ref) {
742
744
  "aria-roledescription": "slide",
743
745
  "aria-hidden": isThisSlideActive ? 'false' : 'true'
744
746
  }, each);
745
- }), renderTrailingSlides())), props.arrows && showNextArrow(props, index, moveSlides)), !!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings));
747
+ }), renderTrailingSlides())), props.arrows && showNextArrow(props, index, moveSlides, responsiveSettings)), !!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings));
746
748
  });
747
749
  Slide.defaultProps = defaultProps;
748
750
 
@@ -1 +1 @@
1
- {"version":3,"file":"react-slideshow-image.esm.js","sources":["../src/helpers.tsx","../src/props.ts","../src/fadezoom.tsx","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","export const defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n easing: 'linear',\n canSwipe: true,\n cssClass: '',\n responsive: [],\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\nimport { defaultProps } from './props';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const [index, setIndex] = useState<number>(\n getStartingIndex(props.children, props.defaultIndex)\n );\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current && wrapperRef.current) {\n const wrapperWidth = wrapperRef.current.clientWidth;\n const fullwidth = wrapperWidth * childrenCount;\n innerWrapperRef.current.style.width = `${fullwidth}px`;\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${wrapperWidth}px`;\n eachDiv.style.left = `${index * -wrapperWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperRef, innerWrapperRef, childrenCount]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n applyStyle();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, applyStyle]);\n\n const play = useCallback(() => {\n const { autoplay, children, duration, infinite } = props;\n if (\n autoplay &&\n React.Children.count(children) > 1 &&\n (infinite || index < React.Children.count(children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, index]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, props.autoplay, play]);\n\n useEffect(() => {\n applyStyle();\n }, [childrenCount, applyStyle]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver.current && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n const { pauseOnHover, autoplay, duration } = props;\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n const { children, infinite } = props;\n if (!infinite && index === React.Children.count(children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(children));\n };\n\n const moveBack = () => {\n const { children, infinite } = props;\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: props.scale }, props.transitionDuration)\n .onUpdate((value) => {\n if (!innerWrapperRef.current) {\n return;\n }\n innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;\n innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;\n innerWrapperRef.current.children[\n index\n ].style.transform = `scale(${value.scale})`;\n });\n tween.easing(getEasing(props.easing));\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n tween.onComplete(() => {\n if (innerWrapperRef.current) {\n setIndex(newIndex);\n innerWrapperRef.current.children[index].style.transform = `scale(1)`;\n }\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n });\n tween.start();\n }\n };\n\n const moveTo = (gotoIndex: number) => {\n if (gotoIndex !== index) {\n transitionSlide(gotoIndex);\n }\n };\n\n const navigate: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (!currentTarget.dataset.key) {\n return;\n }\n if (parseInt(currentTarget.dataset.key) !== index) {\n moveTo(parseInt(currentTarget.dataset.key));\n }\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className={`react-slideshow-container ${props.cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {props.arrows && showPreviousArrow(props, index, preTransition)}\n <div\n className={`react-slideshow-fadezoom-wrapper ${props.cssClass}`}\n ref={wrapperRef}\n >\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0',\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n )\n )}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, preTransition)}\n </div>\n {props.indicators && showIndicators(props, index, navigate)}\n </div>\n );\n});\n\nFadeZoom.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...props} scale={1} ref={ref} />;\n});\n\nFade.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...props} ref={ref} />;\n});\n\nZoom.defaultProps = defaultProps;\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\nimport { defaultProps } from './props';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const [index, setIndex] = useState(getStartingIndex(props.children, props.defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, props.responsive),\n [wrapperSize, props.responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return props.slidesToScroll || 1;\n }, [responsiveSettings, props.slidesToScroll]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return props.slidesToShow || 1;\n }, [responsiveSettings, props.slidesToShow]);\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = props.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = props.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = props.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = props.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (props.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!props.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef]);\n\n const play = useCallback(() => {\n const { autoplay, infinite, duration } = props;\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, props.autoplay, play]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!props.infinite && index === childrenCount - slidesToScroll && distance < 0) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!props.infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!props.infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!props.infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex = Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n transitionSlide(previousIndex);\n };\n\n const goToSlide: ButtonClick = ({ currentTarget }) => {\n if (!currentTarget.dataset.key) {\n return;\n }\n const datasetKey = parseInt(currentTarget.dataset.key);\n moveTo(datasetKey * slidesToScroll);\n };\n\n const moveTo = (index: number) => {\n transitionSlide(calculateIndex(index));\n };\n\n const calculateIndex = (nextIndex: number): number => {\n if (nextIndex < childrenCount && nextIndex + slidesToScroll > childrenCount) {\n if ((childrenCount - slidesToScroll) % slidesToScroll) {\n return childrenCount - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n };\n\n const startSlides = () => {\n if (dragging) {\n endSwipe();\n } else if (props.pauseOnHover && props.autoplay) {\n timeout.current = setTimeout(moveNext, props.duration);\n }\n };\n\n const moveSlides: ButtonClick = ({ currentTarget: { dataset } }) => {\n if (dataset.type === 'next') {\n moveNext();\n } else {\n moveBack();\n }\n };\n\n const renderPreceedingSlides = () => {\n return React.Children.toArray(props.children)\n .slice(-slidesToShow)\n .map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n };\n\n const renderTrailingSlides = () => {\n if (!props.infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(props.children)\n .slice(0, slidesToShow)\n .map((each, index) => (\n <div\n data-index={childrenCount + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={childrenCount + index}\n >\n {each}\n </div>\n ));\n };\n\n const setSize = () => {\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n if (props.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (props.canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || props.transitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(props.easing));\n\n animate();\n\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\n\n tween.start();\n }\n };\n\n const isSlideActive = (key: number) => {\n return key < index + slidesToShow && key >= index;\n };\n\n const getOffset = (): number => {\n if (!props.infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {props.arrows && showPreviousArrow(props, index, moveSlides)}\n <div\n className={`react-slideshow-wrapper slide ${props.cssClass || ''}`}\n ref={wrapperRef}\n >\n <div\n className={`images-wrap ${props.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {props.infinite && renderPreceedingSlides()}\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => {\n const isThisSlideActive = isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isThisSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isThisSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n }\n )}\n {renderTrailingSlides()}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, moveSlides)}\n </div>\n {!!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n\nSlide.defaultProps = defaultProps;\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","getResponsiveSettings","wrapperWidth","responsive","window","Array","isArray","find","each","breakpoint","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","nextArrow","slidesToScroll","showDefaultIndicator","isCurrentPageActive","key","indicatorProps","showCustomIndicator","eachIndicator","showIndicators","navigate","responsiveSettings","indicators","settings","pages","Math","ceil","from","length","_","floor","defaultProps","duration","transitionDuration","autoplay","arrows","pauseOnHover","easing","canSwipe","cssClass","FadeZoom","forwardRef","ref","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","clientWidth","fullwidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","startSlides","transitionSlide","preTransition","event","currentTarget","dataset","animate","requestAnimationFrame","update","newIndex","existingTweens","getAll","_innerWrapperRef$curr","value","opacity","scale","tween","Tween","to","onUpdate","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","Fade","Zoom","Slide","_useState2","wrapperSize","setWrapperSize","slidesToShow","eachChildSize","startingSwipePosition","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","fullSize","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","_ref2","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childSize","margin","isSlideActive","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","isThisSlideActive"],"mappings":"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"}
1
+ {"version":3,"file":"react-slideshow-image.esm.js","sources":["../src/helpers.tsx","../src/props.ts","../src/fadezoom.tsx","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick,\n responsiveSettings?: Responsive\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","export const defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n easing: 'linear',\n canSwipe: true,\n cssClass: '',\n responsive: [],\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\nimport { defaultProps } from './props';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const [index, setIndex] = useState<number>(\n getStartingIndex(props.children, props.defaultIndex)\n );\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current && wrapperRef.current) {\n const wrapperWidth = wrapperRef.current.clientWidth;\n const fullwidth = wrapperWidth * childrenCount;\n innerWrapperRef.current.style.width = `${fullwidth}px`;\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${wrapperWidth}px`;\n eachDiv.style.left = `${index * -wrapperWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperRef, innerWrapperRef, childrenCount]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n applyStyle();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, applyStyle]);\n\n const play = useCallback(() => {\n const { autoplay, children, duration, infinite } = props;\n if (\n autoplay &&\n React.Children.count(children) > 1 &&\n (infinite || index < React.Children.count(children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, index]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, props.autoplay, play]);\n\n useEffect(() => {\n applyStyle();\n }, [childrenCount, applyStyle]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver.current && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n const { pauseOnHover, autoplay, duration } = props;\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n const { children, infinite } = props;\n if (!infinite && index === React.Children.count(children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(children));\n };\n\n const moveBack = () => {\n const { children, infinite } = props;\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: props.scale }, props.transitionDuration)\n .onUpdate((value) => {\n if (!innerWrapperRef.current) {\n return;\n }\n innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;\n innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;\n innerWrapperRef.current.children[\n index\n ].style.transform = `scale(${value.scale})`;\n });\n tween.easing(getEasing(props.easing));\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n tween.onComplete(() => {\n if (innerWrapperRef.current) {\n setIndex(newIndex);\n innerWrapperRef.current.children[index].style.transform = `scale(1)`;\n }\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n });\n tween.start();\n }\n };\n\n const moveTo = (gotoIndex: number) => {\n if (gotoIndex !== index) {\n transitionSlide(gotoIndex);\n }\n };\n\n const navigate: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (!currentTarget.dataset.key) {\n return;\n }\n if (parseInt(currentTarget.dataset.key) !== index) {\n moveTo(parseInt(currentTarget.dataset.key));\n }\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className={`react-slideshow-container ${props.cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {props.arrows && showPreviousArrow(props, index, preTransition)}\n <div\n className={`react-slideshow-fadezoom-wrapper ${props.cssClass}`}\n ref={wrapperRef}\n >\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0',\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n )\n )}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, preTransition)}\n </div>\n {props.indicators && showIndicators(props, index, navigate)}\n </div>\n );\n});\n\nFadeZoom.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...props} scale={1} ref={ref} />;\n});\n\nFade.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...props} ref={ref} />;\n});\n\nZoom.defaultProps = defaultProps;\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\nimport { defaultProps } from './props';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const [index, setIndex] = useState(getStartingIndex(props.children, props.defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, props.responsive),\n [wrapperSize, props.responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return props.slidesToScroll || 1;\n }, [responsiveSettings, props.slidesToScroll]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return props.slidesToShow || 1;\n }, [responsiveSettings, props.slidesToShow]);\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = props.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = props.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = props.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = props.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (props.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!props.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef]);\n\n const play = useCallback(() => {\n const { autoplay, infinite, duration } = props;\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, props.autoplay, play]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!props.infinite && index === childrenCount - slidesToScroll && distance < 0) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!props.infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!props.infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!props.infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex = Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n transitionSlide(previousIndex);\n };\n\n const goToSlide: ButtonClick = ({ currentTarget }) => {\n if (!currentTarget.dataset.key) {\n return;\n }\n const datasetKey = parseInt(currentTarget.dataset.key);\n moveTo(datasetKey * slidesToScroll);\n };\n\n const moveTo = (index: number) => {\n transitionSlide(calculateIndex(index));\n };\n\n const calculateIndex = (nextIndex: number): number => {\n if (nextIndex < childrenCount && nextIndex + slidesToScroll > childrenCount) {\n if ((childrenCount - slidesToScroll) % slidesToScroll) {\n return childrenCount - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n };\n\n const startSlides = () => {\n if (dragging) {\n endSwipe();\n } else if (props.pauseOnHover && props.autoplay) {\n timeout.current = setTimeout(moveNext, props.duration);\n }\n };\n\n const moveSlides: ButtonClick = ({ currentTarget: { dataset } }) => {\n if (dataset.type === 'next') {\n moveNext();\n } else {\n moveBack();\n }\n };\n\n const renderPreceedingSlides = () => {\n return React.Children.toArray(props.children)\n .slice(-slidesToShow)\n .map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n };\n\n const renderTrailingSlides = () => {\n if (!props.infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(props.children)\n .slice(0, slidesToShow)\n .map((each, index) => (\n <div\n data-index={childrenCount + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={childrenCount + index}\n >\n {each}\n </div>\n ));\n };\n\n const setSize = () => {\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n if (props.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (props.canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || props.transitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(props.easing));\n\n animate();\n\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\n\n tween.start();\n }\n };\n\n const isSlideActive = (key: number) => {\n return key < index + slidesToShow && key >= index;\n };\n\n const getOffset = (): number => {\n if (!props.infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {props.arrows && showPreviousArrow(props, index, moveSlides)}\n <div\n className={`react-slideshow-wrapper slide ${props.cssClass || ''}`}\n ref={wrapperRef}\n >\n <div\n className={`images-wrap ${props.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {props.infinite && renderPreceedingSlides()}\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => {\n const isThisSlideActive = isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isThisSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isThisSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n }\n )}\n {renderTrailingSlides()}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, moveSlides, responsiveSettings)}\n </div>\n {!!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n\nSlide.defaultProps = defaultProps;\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","getResponsiveSettings","wrapperWidth","responsive","window","Array","isArray","find","each","breakpoint","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","responsiveSettings","nextArrow","slidesToScroll","settings","showDefaultIndicator","isCurrentPageActive","key","indicatorProps","showCustomIndicator","eachIndicator","showIndicators","navigate","indicators","pages","Math","ceil","from","length","_","floor","defaultProps","duration","transitionDuration","autoplay","arrows","pauseOnHover","easing","canSwipe","cssClass","FadeZoom","forwardRef","ref","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","clientWidth","fullwidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","startSlides","transitionSlide","preTransition","event","currentTarget","dataset","animate","requestAnimationFrame","update","newIndex","existingTweens","getAll","_innerWrapperRef$curr","value","opacity","scale","tween","Tween","to","onUpdate","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","Fade","Zoom","Slide","_useState2","wrapperSize","setWrapperSize","slidesToShow","eachChildSize","startingSwipePosition","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","fullSize","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","_ref2","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childSize","margin","isSlideActive","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","isThisSlideActive"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-slideshow-image",
3
- "version": "4.3.0",
3
+ "version": "4.3.1",
4
4
  "description": "An image slideshow with react",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",