react-slideshow-image 4.1.1 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -36,17 +36,30 @@ import React from 'react';
36
36
  import { Slide } from 'react-slideshow-image';
37
37
  import 'react-slideshow-image/dist/styles.css'
38
38
 
39
+ const spanStyle = {
40
+ padding: '20px',
41
+ background: '#efefef',
42
+ color: '#000000'
43
+ }
44
+
45
+ const divStyle = {
46
+ display: 'flex',
47
+ alignItems: 'center',
48
+ justifyContent: 'center',
49
+ backgroundSize: 'cover',
50
+ height: '400px'
51
+ }
39
52
  const slideImages = [
40
53
  {
41
- url: 'images/slide_2.jpg',
54
+ url: 'https://images.unsplash.com/photo-1509721434272-b79147e0e708?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1500&q=80',
42
55
  caption: 'Slide 1'
43
56
  },
44
57
  {
45
- url: 'images/slide_3.jpg',
58
+ url: 'https://images.unsplash.com/photo-1506710507565-203b9f24669b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1536&q=80',
46
59
  caption: 'Slide 2'
47
60
  },
48
61
  {
49
- url: 'images/slide_4.jpg',
62
+ url: 'https://images.unsplash.com/photo-1536987333706-fc9adfb10d91?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1500&q=80',
50
63
  caption: 'Slide 3'
51
64
  },
52
65
  ];
@@ -56,9 +69,9 @@ const Slideshow = () => {
56
69
  <div className="slide-container">
57
70
  <Slide>
58
71
  {slideImages.map((slideImage, index)=> (
59
- <div className="each-slide" key={index}>
60
- <div style={{'backgroundImage': `url(${slideImage.url})`}}>
61
- <span>{slideImage.caption}</span>
72
+ <div key={index}>
73
+ <div style={{ ...divStyle, 'backgroundImage': `url(${slideImage.url})` }}>
74
+ <span style={spanStyle}>{slideImage.caption}</span>
62
75
  </div>
63
76
  </div>
64
77
  ))}
@@ -77,16 +90,16 @@ import 'react-slideshow-image/dist/styles.css'
77
90
 
78
91
  const fadeImages = [
79
92
  {
80
- url: 'images/slide_5.jpg',
81
- caption: 'First Slide'
93
+ url: 'https://images.unsplash.com/photo-1509721434272-b79147e0e708?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1500&q=80',
94
+ caption: 'First Slide'
82
95
  },
83
96
  {
84
- url: 'images/slide_6.jpg',
85
- caption: 'Second Slide'
97
+ url: 'https://images.unsplash.com/photo-1506710507565-203b9f24669b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1536&q=80',
98
+ caption: 'Second Slide'
86
99
  },
87
100
  {
88
- url: 'images/slide_7.jpg',
89
- caption: 'Third Slide'
101
+ url: 'https://images.unsplash.com/photo-1536987333706-fc9adfb10d91?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1500&q=80',
102
+ caption: 'Third Slide'
90
103
  },
91
104
  ];
92
105
 
@@ -95,10 +108,8 @@ const Slideshow = () => {
95
108
  <div className="slide-container">
96
109
  <Fade>
97
110
  {fadeImages.map((fadeImage, index) => (
98
- <div className="each-fade" key={index}>
99
- <div className="image-container">
100
- <img src={fadeImage.url} />
101
- </div>
111
+ <div key={index}>
112
+ <img style={{ width: '100%' }} src={fadeImage.url} />
102
113
  <h2>{fadeImage.caption}</h2>
103
114
  </div>
104
115
  ))}
package/dist/fade.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { FadeProps, SlideshowRef } from './types';
3
- export declare const Fade: React.ForwardRefExoticComponent<Pick<FadeProps, "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onChange"> & React.RefAttributes<SlideshowRef>>;
3
+ export declare const Fade: React.ForwardRefExoticComponent<Pick<FadeProps, "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onStartChange" | "onChange"> & React.RefAttributes<SlideshowRef>>;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { SlideshowRef, ZoomProps } from './types';
3
- export declare const FadeZoom: React.ForwardRefExoticComponent<Pick<ZoomProps, "scale" | "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onChange"> & React.RefAttributes<SlideshowRef>>;
3
+ export declare const FadeZoom: React.ForwardRefExoticComponent<Pick<ZoomProps, "scale" | "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onStartChange" | "onChange"> & React.RefAttributes<SlideshowRef>>;
@@ -358,8 +358,13 @@ var FadeZoom = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
358
358
  innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;
359
359
  innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;
360
360
  innerWrapperRef.current.children[index].style.transform = "scale(" + value.scale + ")";
361
- }).start();
361
+ });
362
362
  tween.easing(getEasing(props.easing));
363
+ tween.onStart(function () {
364
+ if (typeof props.onStartChange === 'function') {
365
+ props.onStartChange(index, newIndex);
366
+ }
367
+ });
363
368
  tween.onComplete(function () {
364
369
  if (innerWrapperRef.current) {
365
370
  setIndex(newIndex);
@@ -370,6 +375,7 @@ var FadeZoom = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
370
375
  props.onChange(index, newIndex);
371
376
  }
372
377
  });
378
+ tween.start();
373
379
  }
374
380
  };
375
381
 
@@ -747,18 +753,24 @@ var Slide = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
747
753
  if (innerWrapperRef.current) {
748
754
  innerWrapperRef.current.style.transform = "translate(" + value.margin + "px)";
749
755
  }
750
- }).start();
756
+ });
751
757
  tween.easing(getEasing(props.easing));
752
758
  animate();
753
- tween.onComplete(function () {
754
- distanceSwiped = 0;
755
- var newIndex = toIndex;
759
+ var newIndex = toIndex;
756
760
 
757
- if (newIndex < 0) {
758
- newIndex = childrenCount - slidesToScroll;
759
- } else if (newIndex >= childrenCount) {
760
- newIndex = 0;
761
+ if (newIndex < 0) {
762
+ newIndex = childrenCount - slidesToScroll;
763
+ } else if (newIndex >= childrenCount) {
764
+ newIndex = 0;
765
+ }
766
+
767
+ tween.onStart(function () {
768
+ if (typeof props.onStartChange === 'function') {
769
+ props.onStartChange(index, newIndex);
761
770
  }
771
+ });
772
+ tween.onComplete(function () {
773
+ distanceSwiped = 0;
762
774
 
763
775
  if (typeof props.onChange === 'function') {
764
776
  props.onChange(index, newIndex);
@@ -766,6 +778,7 @@ var Slide = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
766
778
 
767
779
  setIndex(newIndex);
768
780
  });
781
+ tween.start();
769
782
  }
770
783
  };
771
784
 
@@ -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 TWEEN 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: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.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 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 TWEEN.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.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 .start();\n tween.easing(getEasing(props.easing));\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 }\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 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 [wrapperWidth, setWrapperWidth] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new TWEEN.Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperWidth, props.responsive),\n [wrapperWidth, 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 eachChildWidth = useMemo(() => wrapperWidth / slidesToShow, [wrapperWidth, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingClientX: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullwidth = wrapperWidth * innerWrapperRef.current.children.length;\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 = `${eachChildWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperWidth, eachChildWidth]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setWidth();\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 }, [wrapperWidth, 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, wrapperWidth, 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 clientX;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n }\n if (clientX && startingClientX) {\n let translateValue = eachChildWidth * (index + getOffset());\n const distance = clientX - startingClientX;\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 = `translate(-${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 setWidth = () => {\n if (wrapperRef.current) {\n setWrapperWidth(wrapperRef.current.clientWidth);\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingClientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n startingClientX = event.nativeEvent.clientX;\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) / wrapperWidth > 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 childWidth = wrapperRef.current.clientWidth / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childWidth * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new TWEEN.Tween(value, tweenGroup.current)\n .to({ margin: -childWidth * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `translate(${value.margin}px)`;\n }\n })\n .start();\n tween.easing(getEasing(props.easing));\n\n animate();\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\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: `translate(-${(index + getOffset()) * eachChildWidth}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 className=\"images-wrap\" style={style} ref={innerWrapperRef}>\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","TWEEN","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","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","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","value","opacity","scale","tween","Tween","to","onUpdate","transform","start","onComplete","onChange","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","Fade","Zoom","Slide","setWrapperWidth","slidesToShow","eachChildWidth","startingClientX","dragging","distanceSwiped","setWidth","swipe","clientX","TouchEvent","nativeEvent","touches","pageX","MouseEvent","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childWidth","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 TWEEN 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: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.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 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 TWEEN.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.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 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 [wrapperWidth, setWrapperWidth] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new TWEEN.Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperWidth, props.responsive),\n [wrapperWidth, 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 eachChildWidth = useMemo(() => wrapperWidth / slidesToShow, [wrapperWidth, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingClientX: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullwidth = wrapperWidth * innerWrapperRef.current.children.length;\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 = `${eachChildWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperWidth, eachChildWidth]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setWidth();\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 }, [wrapperWidth, 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, wrapperWidth, 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 clientX;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n }\n if (clientX && startingClientX) {\n let translateValue = eachChildWidth * (index + getOffset());\n const distance = clientX - startingClientX;\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 = `translate(-${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 setWidth = () => {\n if (wrapperRef.current) {\n setWrapperWidth(wrapperRef.current.clientWidth);\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingClientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n startingClientX = event.nativeEvent.clientX;\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) / wrapperWidth > 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 childWidth = wrapperRef.current.clientWidth / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childWidth * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new TWEEN.Tween(value, tweenGroup.current)\n .to({ margin: -childWidth * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `translate(${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: `translate(-${(index + getOffset()) * eachChildWidth}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 className=\"images-wrap\" style={style} ref={innerWrapperRef}>\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","TWEEN","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","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","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","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","setWrapperWidth","slidesToShow","eachChildWidth","startingClientX","dragging","distanceSwiped","setWidth","swipe","clientX","TouchEvent","nativeEvent","touches","pageX","MouseEvent","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childWidth","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=e(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},s=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"})))},l=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,s={"data-type":"next","aria-label":"Next Slide",disabled:u,onClick:r};return i?t.cloneElement(i,a({className:(i.props.className||"")+" nav "+(u?"disabled":"")},s)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(u?"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},s=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))}(s,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)))}(s,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(),E=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),w=n.useCallback((function(){if(h.current&&p.current){var e=p.current.clientWidth;h.current.style.width=e*E+"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,E]),b=n.useCallback((function(){p.current&&(g.current=new r((function(e){e&&w()})),g.current.observe(p.current))}),[p,w]),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(x,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(){w()}),[E,w]),n.useImperativeHandle(a,(function(){return{goNext:function(){x()},goBack:function(){M()},goTo:function(e,n){null!=n&&n.skipTransition?v(e):O(e)}}}));var C=function(){g.current&&p.current&&g.current.unobserve(p.current)},k=function(){e.pauseOnHover&&clearTimeout(y.current)},x=function(){var n=e.children;(e.infinite||d!==t.Children.count(n)-1)&&N((d+1)%t.Children.count(n))},M=function(){(e.infinite||0!==d)&&N(0===d?t.Children.count(e.children)-1:d-1)},S=function(e){"prev"===e.currentTarget.dataset.type?M():x()},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+")")})).start();r.easing(u(e.easing)),r.onComplete((function(){h.current&&(v(n),h.current.children[d].style.transform="scale(1)"),"function"==typeof e.onChange&&e.onChange(d,n)}))}},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:k,onMouseOver:k,onMouseLeave:function(){e.pauseOnHover&&e.autoplay&&(y.current=setTimeout((function(){return x()}),e.duration))}},e.arrows&&s(e,d,S),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&&l(e,d,S)),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),E=n.useRef(null),w=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]),k=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),x=n.useMemo((function(){return m/C}),[m,C]),M=n.useRef(),S=n.useRef(),N=!1,O=0,R=n.useCallback((function(){if(E.current){E.current.style.width=m*E.current.children.length+"px";for(var e=0;e<E.current.children.length;e++){var n=E.current.children[e];n&&(n.style.width=x+"px",n.style.display="block")}}}),[m,x]),A=n.useCallback((function(){g.current&&(S.current=new r((function(e){e&&F()})),S.current.observe(g.current))}),[g]),I=n.useCallback((function(){e.autoplay&&(e.infinite||v<k-1)&&(M.current=setTimeout(z,e.duration))}),[e,k,v]);n.useEffect((function(){R()}),[m,R]),n.useEffect((function(){return A(),function(){w.current.removeAll(),clearTimeout(M.current),j()}}),[g,A,w]),n.useEffect((function(){clearTimeout(M.current),I()}),[v,m,e.autoplay,I]),n.useImperativeHandle(a,(function(){return{goNext:function(){z()},goBack:function(){q()},goTo:function(e,n){null!=n&&n.skipTransition?p(e):B(e)}}}));var j=function(){S&&g.current&&S.current.unobserve(g.current)},H=function(){e.pauseOnHover&&clearTimeout(M.current)},P=function(n){var t;if(e.canSwipe&&N&&(window.TouchEvent&&n.nativeEvent instanceof TouchEvent?t=n.nativeEvent.touches[0].pageX:n.nativeEvent instanceof MouseEvent&&(t=n.nativeEvent.clientX),t&&o)){var r=x*(v+U()),i=t-o;if(!e.infinite&&v===k-T&&i<0)return;if(!e.infinite&&0===v&&i>0)return;E.current.style.transform="translate(-"+(r-=O=i)+"px)"}},z=function(){if(e.infinite||v!==k-T){var n=D(v+T);Q(n)}},q=function(){if(e.infinite||0!==v){var n=v-T;n%T&&(n=Math.ceil(n/T)*T),Q(n)}},B=function(e){Q(D(e))},D=function(e){return e<k&&e+T>k&&(k-T)%T?k-T:e},X=function(e){"next"===e.currentTarget.dataset.type?z():q()},F=function(){g.current&&y(g.current.clientWidth)},G=function(n){e.canSwipe&&(window.TouchEvent&&n.nativeEvent instanceof TouchEvent?o=n.nativeEvent.touches[0].pageX:n.nativeEvent instanceof MouseEvent&&(o=n.nativeEvent.clientX),clearTimeout(M.current),N=!0)},L=function(){e.canSwipe&&(N=!1,Math.abs(O)/m>.2?O<0?z():q():Math.abs(O)>0&&Q(v,300))},Q=function(n,t){var r=t||e.transitionDuration,a=v,c=w.current.getAll();if(g.current){var o=g.current.clientWidth/C;if(!c.length){clearTimeout(M.current);var s={margin:-o*(a+U())+O},l=new i.Tween(s,w.current).to({margin:-o*(n+U())},r).onUpdate((function(e){E.current&&(E.current.style.transform="translate("+e.margin+"px)")})).start();l.easing(u(e.easing)),function e(){requestAnimationFrame(e),w.current.update()}(),l.onComplete((function(){O=0;var t=n;t<0?t=k-T:t>=k&&(t=0),"function"==typeof e.onChange&&e.onChange(v,t),p(t)}))}}},U=function(){return e.infinite?C:0},W={transform:"translate(-"+(v+U())*x+"px)"};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container",onMouseEnter:H,onMouseOver:H,onMouseLeave:function(){N?L():e.pauseOnHover&&e.autoplay&&(M.current=setTimeout(z,e.duration))},onMouseDown:G,onMouseUp:L,onMouseMove:P,onTouchStart:G,onTouchEnd:L,onTouchCancel:L,onTouchMove:P},e.arrows&&s(e,v,X),t.createElement("div",{className:"react-slideshow-wrapper slide "+(e.cssClass||""),ref:g},t.createElement("div",{className:"images-wrap",style:W,ref:E},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":k+n,"aria-roledescription":"slide","aria-hidden":"true",key:k+n},e)}))}())),e.arrows&&l(e,v,X)),e.indicators&&f(e,v,(function(e){var n=e.currentTarget;if(n.dataset.key){var t=parseInt(n.dataset.key);B(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=e(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},s=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"})))},l=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,s={"data-type":"next","aria-label":"Next Slide",disabled:u,onClick:r};return i?t.cloneElement(i,a({className:(i.props.className||"")+" nav "+(u?"disabled":"")},s)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(u?"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},s=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))}(s,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)))}(s,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(),E=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),w=n.useCallback((function(){if(h.current&&p.current){var e=p.current.clientWidth;h.current.style.width=e*E+"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,E]),b=n.useCallback((function(){p.current&&(g.current=new r((function(e){e&&w()})),g.current.observe(p.current))}),[p,w]),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(x,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(){w()}),[E,w]),n.useImperativeHandle(a,(function(){return{goNext:function(){x()},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)},k=function(){e.pauseOnHover&&clearTimeout(y.current)},x=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():x()},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:k,onMouseOver:k,onMouseLeave:function(){e.pauseOnHover&&e.autoplay&&(y.current=setTimeout((function(){return x()}),e.duration))}},e.arrows&&s(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&&l(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),E=n.useRef(null),w=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]),k=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),x=n.useMemo((function(){return m/C}),[m,C]),S=n.useRef(),M=n.useRef(),N=!1,O=0,R=n.useCallback((function(){if(E.current){E.current.style.width=m*E.current.children.length+"px";for(var e=0;e<E.current.children.length;e++){var n=E.current.children[e];n&&(n.style.width=x+"px",n.style.display="block")}}}),[m,x]),A=n.useCallback((function(){g.current&&(M.current=new r((function(e){e&&F()})),M.current.observe(g.current))}),[g]),I=n.useCallback((function(){e.autoplay&&(e.infinite||v<k-1)&&(S.current=setTimeout(z,e.duration))}),[e,k,v]);n.useEffect((function(){R()}),[m,R]),n.useEffect((function(){return A(),function(){w.current.removeAll(),clearTimeout(S.current),j()}}),[g,A,w]),n.useEffect((function(){clearTimeout(S.current),I()}),[v,m,e.autoplay,I]),n.useImperativeHandle(a,(function(){return{goNext:function(){z()},goBack:function(){q()},goTo:function(e,n){null!=n&&n.skipTransition?p(e):B(e)}}}));var j=function(){M&&g.current&&M.current.unobserve(g.current)},H=function(){e.pauseOnHover&&clearTimeout(S.current)},P=function(n){var t;if(e.canSwipe&&N&&(window.TouchEvent&&n.nativeEvent instanceof TouchEvent?t=n.nativeEvent.touches[0].pageX:n.nativeEvent instanceof MouseEvent&&(t=n.nativeEvent.clientX),t&&o)){var r=x*(v+U()),i=t-o;if(!e.infinite&&v===k-T&&i<0)return;if(!e.infinite&&0===v&&i>0)return;E.current.style.transform="translate(-"+(r-=O=i)+"px)"}},z=function(){if(e.infinite||v!==k-T){var n=D(v+T);Q(n)}},q=function(){if(e.infinite||0!==v){var n=v-T;n%T&&(n=Math.ceil(n/T)*T),Q(n)}},B=function(e){Q(D(e))},D=function(e){return e<k&&e+T>k&&(k-T)%T?k-T:e},X=function(e){"next"===e.currentTarget.dataset.type?z():q()},F=function(){g.current&&y(g.current.clientWidth)},G=function(n){e.canSwipe&&(window.TouchEvent&&n.nativeEvent instanceof TouchEvent?o=n.nativeEvent.touches[0].pageX:n.nativeEvent instanceof MouseEvent&&(o=n.nativeEvent.clientX),clearTimeout(S.current),N=!0)},L=function(){e.canSwipe&&(N=!1,Math.abs(O)/m>.2?O<0?z():q():Math.abs(O)>0&&Q(v,300))},Q=function(n,t){var r=t||e.transitionDuration,a=v,c=w.current.getAll();if(g.current){var o=g.current.clientWidth/C;if(!c.length){clearTimeout(S.current);var s={margin:-o*(a+U())+O},l=new i.Tween(s,w.current).to({margin:-o*(n+U())},r).onUpdate((function(e){E.current&&(E.current.style.transform="translate("+e.margin+"px)")}));l.easing(u(e.easing)),function e(){requestAnimationFrame(e),w.current.update()}();var f=n;f<0?f=k-T:f>=k&&(f=0),l.onStart((function(){"function"==typeof e.onStartChange&&e.onStartChange(v,f)})),l.onComplete((function(){O=0,"function"==typeof e.onChange&&e.onChange(v,f),p(f)})),l.start()}}},U=function(){return e.infinite?C:0},W={transform:"translate(-"+(v+U())*x+"px)"};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container",onMouseEnter:H,onMouseOver:H,onMouseLeave:function(){N?L():e.pauseOnHover&&e.autoplay&&(S.current=setTimeout(z,e.duration))},onMouseDown:G,onMouseUp:L,onMouseMove:P,onTouchStart:G,onTouchEnd:L,onTouchCancel:L,onTouchMove:P},e.arrows&&s(e,v,X),t.createElement("div",{className:"react-slideshow-wrapper slide "+(e.cssClass||""),ref:g},t.createElement("div",{className:"images-wrap",style:W,ref:E},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":k+n,"aria-roledescription":"slide","aria-hidden":"true",key:k+n},e)}))}())),e.arrows&&l(e,v,X)),e.indicators&&f(e,v,(function(e){var n=e.currentTarget;if(n.dataset.key){var t=parseInt(n.dataset.key);B(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 TWEEN 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: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.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 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 TWEEN.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.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 .start();\n tween.easing(getEasing(props.easing));\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 }\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 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 [wrapperWidth, setWrapperWidth] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new TWEEN.Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperWidth, props.responsive),\n [wrapperWidth, 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 eachChildWidth = useMemo(() => wrapperWidth / slidesToShow, [wrapperWidth, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingClientX: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullwidth = wrapperWidth * innerWrapperRef.current.children.length;\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 = `${eachChildWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperWidth, eachChildWidth]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setWidth();\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 }, [wrapperWidth, 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, wrapperWidth, 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 clientX;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n }\n if (clientX && startingClientX) {\n let translateValue = eachChildWidth * (index + getOffset());\n const distance = clientX - startingClientX;\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 = `translate(-${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 setWidth = () => {\n if (wrapperRef.current) {\n setWrapperWidth(wrapperRef.current.clientWidth);\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingClientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n startingClientX = event.nativeEvent.clientX;\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) / wrapperWidth > 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 childWidth = wrapperRef.current.clientWidth / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childWidth * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new TWEEN.Tween(value, tweenGroup.current)\n .to({ margin: -childWidth * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `translate(${value.margin}px)`;\n }\n })\n .start();\n tween.easing(getEasing(props.easing));\n\n animate();\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\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: `translate(-${(index + getOffset()) * eachChildWidth}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 className=\"images-wrap\" style={style} ref={innerWrapperRef}>\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","TWEEN","Easing","Linear","None","ease","Quadratic","InOut","ease-in","In","ease-out","Out","cubic","Cubic","cubic-in","cubic-out","getEasing","easeMethod","showPreviousArrow","currentIndex","moveSlides","prevArrow","isDisabled","infinite","props","data-type","aria-label","disabled","onClick","cloneElement","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","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","start","onComplete","onChange","gotoIndex","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","each","zIndex","parseInt","Fade","Zoom","Slide","startingClientX","setWrapperWidth","window","isArray","find","breakpoint","getResponsiveSettings","slidesToShow","eachChildWidth","dragging","distanceSwiped","setWidth","swipe","clientX","TouchEvent","nativeEvent","touches","pageX","MouseEvent","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","startSwipe","endSwipe","abs","toIndex","animationDuration","existingTweens","childWidth","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 TWEEN 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: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.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 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 TWEEN.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.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 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 [wrapperWidth, setWrapperWidth] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new TWEEN.Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperWidth, props.responsive),\n [wrapperWidth, 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 eachChildWidth = useMemo(() => wrapperWidth / slidesToShow, [wrapperWidth, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingClientX: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullwidth = wrapperWidth * innerWrapperRef.current.children.length;\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 = `${eachChildWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperWidth, eachChildWidth]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setWidth();\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 }, [wrapperWidth, 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, wrapperWidth, 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 clientX;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n }\n if (clientX && startingClientX) {\n let translateValue = eachChildWidth * (index + getOffset());\n const distance = clientX - startingClientX;\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 = `translate(-${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 setWidth = () => {\n if (wrapperRef.current) {\n setWrapperWidth(wrapperRef.current.clientWidth);\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingClientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n startingClientX = event.nativeEvent.clientX;\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) / wrapperWidth > 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 childWidth = wrapperRef.current.clientWidth / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childWidth * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new TWEEN.Tween(value, tweenGroup.current)\n .to({ margin: -childWidth * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `translate(${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: `translate(-${(index + getOffset()) * eachChildWidth}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 className=\"images-wrap\" style={style} ref={innerWrapperRef}>\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","TWEEN","Easing","Linear","None","ease","Quadratic","InOut","ease-in","In","ease-out","Out","cubic","Cubic","cubic-in","cubic-out","getEasing","easeMethod","showPreviousArrow","currentIndex","moveSlides","prevArrow","isDisabled","infinite","props","data-type","aria-label","disabled","onClick","cloneElement","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","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","startingClientX","setWrapperWidth","window","isArray","find","breakpoint","getResponsiveSettings","slidesToShow","eachChildWidth","dragging","distanceSwiped","setWidth","swipe","clientX","TouchEvent","nativeEvent","touches","pageX","MouseEvent","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","startSwipe","endSwipe","abs","toIndex","animationDuration","existingTweens","childWidth","margin","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","toArray","slice","isThisSlideActive","isSlideActive","renderTrailingSlides","datasetKey"],"mappings":"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"}
@@ -351,8 +351,13 @@ var FadeZoom = /*#__PURE__*/React.forwardRef(function (props, ref) {
351
351
  innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;
352
352
  innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;
353
353
  innerWrapperRef.current.children[index].style.transform = "scale(" + value.scale + ")";
354
- }).start();
354
+ });
355
355
  tween.easing(getEasing(props.easing));
356
+ tween.onStart(function () {
357
+ if (typeof props.onStartChange === 'function') {
358
+ props.onStartChange(index, newIndex);
359
+ }
360
+ });
356
361
  tween.onComplete(function () {
357
362
  if (innerWrapperRef.current) {
358
363
  setIndex(newIndex);
@@ -363,6 +368,7 @@ var FadeZoom = /*#__PURE__*/React.forwardRef(function (props, ref) {
363
368
  props.onChange(index, newIndex);
364
369
  }
365
370
  });
371
+ tween.start();
366
372
  }
367
373
  };
368
374
 
@@ -740,18 +746,24 @@ var Slide = /*#__PURE__*/React.forwardRef(function (props, ref) {
740
746
  if (innerWrapperRef.current) {
741
747
  innerWrapperRef.current.style.transform = "translate(" + value.margin + "px)";
742
748
  }
743
- }).start();
749
+ });
744
750
  tween.easing(getEasing(props.easing));
745
751
  animate();
746
- tween.onComplete(function () {
747
- distanceSwiped = 0;
748
- var newIndex = toIndex;
752
+ var newIndex = toIndex;
749
753
 
750
- if (newIndex < 0) {
751
- newIndex = childrenCount - slidesToScroll;
752
- } else if (newIndex >= childrenCount) {
753
- newIndex = 0;
754
+ if (newIndex < 0) {
755
+ newIndex = childrenCount - slidesToScroll;
756
+ } else if (newIndex >= childrenCount) {
757
+ newIndex = 0;
758
+ }
759
+
760
+ tween.onStart(function () {
761
+ if (typeof props.onStartChange === 'function') {
762
+ props.onStartChange(index, newIndex);
754
763
  }
764
+ });
765
+ tween.onComplete(function () {
766
+ distanceSwiped = 0;
755
767
 
756
768
  if (typeof props.onChange === 'function') {
757
769
  props.onChange(index, newIndex);
@@ -759,6 +771,7 @@ var Slide = /*#__PURE__*/React.forwardRef(function (props, ref) {
759
771
 
760
772
  setIndex(newIndex);
761
773
  });
774
+ tween.start();
762
775
  }
763
776
  };
764
777
 
@@ -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 TWEEN 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: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.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 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 TWEEN.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.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 .start();\n tween.easing(getEasing(props.easing));\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 }\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 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 [wrapperWidth, setWrapperWidth] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new TWEEN.Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperWidth, props.responsive),\n [wrapperWidth, 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 eachChildWidth = useMemo(() => wrapperWidth / slidesToShow, [wrapperWidth, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingClientX: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullwidth = wrapperWidth * innerWrapperRef.current.children.length;\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 = `${eachChildWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperWidth, eachChildWidth]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setWidth();\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 }, [wrapperWidth, 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, wrapperWidth, 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 clientX;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n }\n if (clientX && startingClientX) {\n let translateValue = eachChildWidth * (index + getOffset());\n const distance = clientX - startingClientX;\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 = `translate(-${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 setWidth = () => {\n if (wrapperRef.current) {\n setWrapperWidth(wrapperRef.current.clientWidth);\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingClientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n startingClientX = event.nativeEvent.clientX;\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) / wrapperWidth > 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 childWidth = wrapperRef.current.clientWidth / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childWidth * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new TWEEN.Tween(value, tweenGroup.current)\n .to({ margin: -childWidth * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `translate(${value.margin}px)`;\n }\n })\n .start();\n tween.easing(getEasing(props.easing));\n\n animate();\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\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: `translate(-${(index + getOffset()) * eachChildWidth}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 className=\"images-wrap\" style={style} ref={innerWrapperRef}>\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","TWEEN","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","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","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","value","opacity","scale","tween","Tween","to","onUpdate","transform","start","onComplete","onChange","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","Fade","Zoom","Slide","setWrapperWidth","slidesToShow","eachChildWidth","startingClientX","dragging","distanceSwiped","setWidth","swipe","clientX","TouchEvent","nativeEvent","touches","pageX","MouseEvent","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childWidth","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 TWEEN 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: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.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 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 TWEEN.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.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 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 [wrapperWidth, setWrapperWidth] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new TWEEN.Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperWidth, props.responsive),\n [wrapperWidth, 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 eachChildWidth = useMemo(() => wrapperWidth / slidesToShow, [wrapperWidth, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingClientX: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullwidth = wrapperWidth * innerWrapperRef.current.children.length;\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 = `${eachChildWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperWidth, eachChildWidth]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setWidth();\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 }, [wrapperWidth, 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, wrapperWidth, 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 clientX;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n }\n if (clientX && startingClientX) {\n let translateValue = eachChildWidth * (index + getOffset());\n const distance = clientX - startingClientX;\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 = `translate(-${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 setWidth = () => {\n if (wrapperRef.current) {\n setWrapperWidth(wrapperRef.current.clientWidth);\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingClientX = event.nativeEvent.touches[0].pageX;\n } else if (event.nativeEvent instanceof MouseEvent) {\n startingClientX = event.nativeEvent.clientX;\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) / wrapperWidth > 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 childWidth = wrapperRef.current.clientWidth / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childWidth * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new TWEEN.Tween(value, tweenGroup.current)\n .to({ margin: -childWidth * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `translate(${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: `translate(-${(index + getOffset()) * eachChildWidth}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 className=\"images-wrap\" style={style} ref={innerWrapperRef}>\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","TWEEN","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","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","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","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","setWrapperWidth","slidesToShow","eachChildWidth","startingClientX","dragging","distanceSwiped","setWidth","swipe","clientX","TouchEvent","nativeEvent","touches","pageX","MouseEvent","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childWidth","margin","isSlideActive","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","isThisSlideActive"],"mappings":"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"}
package/dist/slide.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { SlideshowRef, SlideProps } from './types';
3
- export declare const Slide: React.ForwardRefExoticComponent<Pick<SlideProps, "responsive" | "slidesToShow" | "slidesToScroll" | "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onChange"> & React.RefAttributes<SlideshowRef>>;
3
+ export declare const Slide: React.ForwardRefExoticComponent<Pick<SlideProps, "responsive" | "slidesToShow" | "slidesToScroll" | "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onStartChange" | "onChange"> & React.RefAttributes<SlideshowRef>>;
package/dist/types.d.ts CHANGED
@@ -35,6 +35,8 @@ export interface BaseProps {
35
35
  easing?: string;
36
36
  /** Use this prop to add your custom css to the wrapper containing the sliders. Pass your css className as value for the cssClass prop */
37
37
  cssClass?: string;
38
+ /** Callback that gets triggered at the start of every transition. The oldIndex and newIndex are passed as arguments */
39
+ onStartChange?: (from: number, to: number) => void;
38
40
  /** Callback that gets triggered at the end of every transition. The oldIndex and newIndex are passed as arguments */
39
41
  onChange?: (from: number, to: number) => void;
40
42
  /** Ref for the slideshow (carousel). This is useful for executing methods like goBack, goNext and goTo on the slideshow */
package/dist/zoom.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { SlideshowRef, ZoomProps } from './types';
3
- export declare const Zoom: React.ForwardRefExoticComponent<Pick<ZoomProps, "scale" | "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onChange"> & React.RefAttributes<SlideshowRef>>;
3
+ export declare const Zoom: React.ForwardRefExoticComponent<Pick<ZoomProps, "scale" | "children" | "duration" | "transitionDuration" | "defaultIndex" | "indicators" | "prevArrow" | "nextArrow" | "arrows" | "autoplay" | "infinite" | "pauseOnHover" | "canSwipe" | "easing" | "cssClass" | "onStartChange" | "onChange"> & React.RefAttributes<SlideshowRef>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-slideshow-image",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "An image slideshow with react",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",