react-slideshow-image 4.3.1 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/react-slideshow-image.cjs.development.js +189 -137
- package/dist/react-slideshow-image.cjs.development.js.map +1 -1
- package/dist/react-slideshow-image.cjs.production.min.js +1 -1
- package/dist/react-slideshow-image.cjs.production.min.js.map +1 -1
- package/dist/react-slideshow-image.esm.js +189 -137
- package/dist/react-slideshow-image.esm.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types.d.ts +57 -16
- package/package.json +27 -21
- package/dist/props.d.ts +0 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-slideshow-image.cjs.development.js","sources":["../src/helpers.tsx","../src/props.ts","../src/fadezoom.tsx","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick,\n responsiveSettings?: Responsive\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","export const defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n easing: 'linear',\n canSwipe: true,\n cssClass: '',\n responsive: [],\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\nimport { defaultProps } from './props';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const [index, setIndex] = useState<number>(\n getStartingIndex(props.children, props.defaultIndex)\n );\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current && wrapperRef.current) {\n const wrapperWidth = wrapperRef.current.clientWidth;\n const fullwidth = wrapperWidth * childrenCount;\n innerWrapperRef.current.style.width = `${fullwidth}px`;\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${wrapperWidth}px`;\n eachDiv.style.left = `${index * -wrapperWidth}px`;\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperRef, innerWrapperRef, childrenCount]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n applyStyle();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, applyStyle]);\n\n const play = useCallback(() => {\n const { autoplay, children, duration, infinite } = props;\n if (\n autoplay &&\n React.Children.count(children) > 1 &&\n (infinite || index < React.Children.count(children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, index]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, props.autoplay, play]);\n\n useEffect(() => {\n applyStyle();\n }, [childrenCount, applyStyle]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver.current && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n const { pauseOnHover, autoplay, duration } = props;\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n const { children, infinite } = props;\n if (!infinite && index === React.Children.count(children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(children));\n };\n\n const moveBack = () => {\n const { children, infinite } = props;\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: props.scale }, props.transitionDuration)\n .onUpdate((value) => {\n if (!innerWrapperRef.current) {\n return;\n }\n innerWrapperRef.current.children[newIndex].style.opacity = value.opacity;\n innerWrapperRef.current.children[index].style.opacity = 1 - value.opacity;\n innerWrapperRef.current.children[\n index\n ].style.transform = `scale(${value.scale})`;\n });\n tween.easing(getEasing(props.easing));\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n tween.onComplete(() => {\n if (innerWrapperRef.current) {\n setIndex(newIndex);\n innerWrapperRef.current.children[index].style.transform = `scale(1)`;\n }\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n });\n tween.start();\n }\n };\n\n const moveTo = (gotoIndex: number) => {\n if (gotoIndex !== index) {\n transitionSlide(gotoIndex);\n }\n };\n\n const navigate: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (!currentTarget.dataset.key) {\n return;\n }\n if (parseInt(currentTarget.dataset.key) !== index) {\n moveTo(parseInt(currentTarget.dataset.key));\n }\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className={`react-slideshow-container ${props.cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {props.arrows && showPreviousArrow(props, index, preTransition)}\n <div\n className={`react-slideshow-fadezoom-wrapper ${props.cssClass}`}\n ref={wrapperRef}\n >\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0',\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n )\n )}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, preTransition)}\n </div>\n {props.indicators && showIndicators(props, index, navigate)}\n </div>\n );\n});\n\nFadeZoom.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...props} scale={1} ref={ref} />;\n});\n\nFade.defaultProps = defaultProps;\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps } from './props';\nimport { SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...props} ref={ref} />;\n});\n\nZoom.defaultProps = defaultProps;\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\nimport { defaultProps } from './props';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const [index, setIndex] = useState(getStartingIndex(props.children, props.defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, props.responsive),\n [wrapperSize, props.responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return props.slidesToScroll || 1;\n }, [responsiveSettings, props.slidesToScroll]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return props.slidesToShow || 1;\n }, [responsiveSettings, props.slidesToShow]);\n const childrenCount = useMemo(() => React.Children.count(props.children), [props.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout>();\n const resizeObserver = useRef<any>();\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = props.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = props.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = props.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = props.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (props.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!props.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef]);\n\n const play = useCallback(() => {\n const { autoplay, infinite, duration } = props;\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n return () => {\n tweenGroup.current.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, props.autoplay, play]);\n\n useImperativeHandle(ref, () => ({\n goNext: () => {\n moveNext();\n },\n goBack: () => {\n moveBack();\n },\n goTo: (index: number, options?: { skipTransition?: boolean }) => {\n if (options?.skipTransition) {\n setIndex(index);\n } else {\n moveTo(index);\n }\n },\n }));\n\n const removeResizeObserver = () => {\n if (resizeObserver && wrapperRef.current) {\n resizeObserver.current.unobserve(wrapperRef.current);\n }\n };\n\n const pauseSlides = () => {\n if (props.pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!props.infinite && index === childrenCount - slidesToScroll && distance < 0) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!props.infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!props.infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!props.infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex = Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n transitionSlide(previousIndex);\n };\n\n const goToSlide: ButtonClick = ({ currentTarget }) => {\n if (!currentTarget.dataset.key) {\n return;\n }\n const datasetKey = parseInt(currentTarget.dataset.key);\n moveTo(datasetKey * slidesToScroll);\n };\n\n const moveTo = (index: number) => {\n transitionSlide(calculateIndex(index));\n };\n\n const calculateIndex = (nextIndex: number): number => {\n if (nextIndex < childrenCount && nextIndex + slidesToScroll > childrenCount) {\n if ((childrenCount - slidesToScroll) % slidesToScroll) {\n return childrenCount - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n };\n\n const startSlides = () => {\n if (dragging) {\n endSwipe();\n } else if (props.pauseOnHover && props.autoplay) {\n timeout.current = setTimeout(moveNext, props.duration);\n }\n };\n\n const moveSlides: ButtonClick = ({ currentTarget: { dataset } }) => {\n if (dataset.type === 'next') {\n moveNext();\n } else {\n moveBack();\n }\n };\n\n const renderPreceedingSlides = () => {\n return React.Children.toArray(props.children)\n .slice(-slidesToShow)\n .map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n };\n\n const renderTrailingSlides = () => {\n if (!props.infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(props.children)\n .slice(0, slidesToShow)\n .map((each, index) => (\n <div\n data-index={childrenCount + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={childrenCount + index}\n >\n {each}\n </div>\n ));\n };\n\n const setSize = () => {\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n if (props.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n };\n\n const startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (props.canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (props.canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || props.transitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = props.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(props.easing));\n\n animate();\n\n let newIndex = toIndex;\n if (newIndex < 0) {\n newIndex = childrenCount - slidesToScroll;\n } else if (newIndex >= childrenCount) {\n newIndex = 0;\n }\n\n tween.onStart(() => {\n if (typeof props.onStartChange === 'function') {\n props.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof props.onChange === 'function') {\n props.onChange(index, newIndex);\n }\n setIndex(newIndex);\n });\n\n tween.start();\n }\n };\n\n const isSlideActive = (key: number) => {\n return key < index + slidesToShow && key >= index;\n };\n\n const getOffset = (): number => {\n if (!props.infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {props.arrows && showPreviousArrow(props, index, moveSlides)}\n <div\n className={`react-slideshow-wrapper slide ${props.cssClass || ''}`}\n ref={wrapperRef}\n >\n <div\n className={`images-wrap ${props.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {props.infinite && renderPreceedingSlides()}\n {(React.Children.map(props.children, (thisArg) => thisArg) || []).map(\n (each, key) => {\n const isThisSlideActive = isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isThisSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isThisSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n }\n )}\n {renderTrailingSlides()}\n </div>\n </div>\n {props.arrows && showNextArrow(props, index, moveSlides, responsiveSettings)}\n </div>\n {!!props.indicators && showIndicators(props, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n\nSlide.defaultProps = defaultProps;\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","getResponsiveSettings","wrapperWidth","responsive","window","Array","isArray","find","each","breakpoint","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","responsiveSettings","nextArrow","slidesToScroll","settings","showDefaultIndicator","isCurrentPageActive","key","indicatorProps","showCustomIndicator","eachIndicator","showIndicators","navigate","indicators","pages","Math","ceil","from","length","_","floor","defaultProps","duration","transitionDuration","autoplay","arrows","pauseOnHover","easing","canSwipe","cssClass","FadeZoom","forwardRef","ref","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","clientWidth","fullwidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","startSlides","transitionSlide","preTransition","event","currentTarget","dataset","animate","requestAnimationFrame","update","newIndex","existingTweens","getAll","_innerWrapperRef$curr","value","opacity","scale","tween","Tween","to","onUpdate","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","Fade","Zoom","Slide","_useState2","wrapperSize","setWrapperSize","slidesToShow","eachChildSize","startingSwipePosition","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","fullSize","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","_ref2","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childSize","margin","isSlideActive","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","isThisSlideActive"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-slideshow-image.cjs.development.js","sources":["../src/helpers.tsx","../src/fadezoom.tsx","../src/types.ts","../src/fade.tsx","../src/zoom.tsx","../src/slide.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n ButtonClick,\n FadeProps,\n IndicatorPropsType,\n Responsive,\n SlideProps,\n TweenEasingFn,\n ZoomProps,\n} from './types';\nimport { Easing } from '@tweenjs/tween.js';\n\nexport const getStartingIndex = (children: ReactNode, defaultIndex?: number): number => {\n if (defaultIndex && defaultIndex < React.Children.count(children)) {\n return defaultIndex;\n }\n return 0;\n};\n\nexport const getResponsiveSettings = (\n wrapperWidth: number,\n responsive?: Array<Responsive>\n): Responsive | undefined => {\n if (typeof window !== 'undefined' && Array.isArray(responsive)) {\n return responsive.find((each) => each.breakpoint <= wrapperWidth);\n }\n return;\n};\n\nconst EASING_METHODS: { [key: string]: TweenEasingFn } = {\n linear: Easing.Linear.None,\n ease: Easing.Quadratic.InOut,\n 'ease-in': Easing.Quadratic.In,\n 'ease-out': Easing.Quadratic.Out,\n cubic: Easing.Cubic.InOut,\n 'cubic-in': Easing.Cubic.In,\n 'cubic-out': Easing.Cubic.Out,\n};\n\nexport const getEasing = (easeMethod?: string): TweenEasingFn => {\n if (easeMethod) {\n return EASING_METHODS[easeMethod];\n }\n return EASING_METHODS.linear;\n};\n\nexport const showPreviousArrow = (\n { prevArrow, infinite }: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick\n): ReactNode => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nexport const showNextArrow = (\n properties: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n moveSlides: ButtonClick,\n responsiveSettings?: Responsive\n) => {\n const { nextArrow, infinite, children } = properties;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in properties) {\n slidesToScroll = properties.slidesToScroll || 1;\n }\n const isDisabled = currentIndex >= React.Children.count(children) - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides,\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className || ''} nav ${isDisabled ? 'disabled' : ''}`,\n ...props,\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button type=\"button\" className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: IndicatorPropsType\n) => {\n return (\n <li key={key}>\n <button\n type=\"button\"\n className={`each-slideshow-indicator ${isCurrentPageActive ? 'active' : ''}`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive: boolean,\n key: number,\n indicatorProps: any,\n eachIndicator: any\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${isCurrentPageActive ? 'active' : ''}`,\n key,\n ...indicatorProps,\n });\n};\n\nexport const showIndicators = (\n props: FadeProps | SlideProps | ZoomProps,\n currentIndex: number,\n navigate: ButtonClick,\n responsiveSettings?: Responsive\n): ReactNode => {\n const { children, indicators } = props;\n let slidesToScroll = 1;\n if (responsiveSettings) {\n slidesToScroll = responsiveSettings?.settings.slidesToScroll;\n } else if ('slidesToScroll' in props) {\n slidesToScroll = props.slidesToScroll || 1;\n }\n const pages = Math.ceil(React.Children.count(children) / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps: IndicatorPropsType = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate,\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) === key;\n if (typeof indicators === 'function') {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, ZoomProps } from './types';\n\nexport const FadeZoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n const {\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 cssClass = '',\n ...others\n } = props;\n const [index, setIndex] = useState<number>(getStartingIndex(others.children, defaultIndex));\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const timeout = useRef<NodeJS.Timeout | undefined>(undefined);\n const resizeObserver = useRef<any>(undefined);\n const childrenCount = useMemo(() => React.Children.count(others.children), [others.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 if (\n autoplay &&\n React.Children.count(others.children) > 1 &&\n (infinite || index < React.Children.count(others.children) - 1)\n ) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoplay, duration, infinite, others.children, index]);\n\n useEffect(() => {\n initResizeObserver();\n const tweenGroupRef = tweenGroup.current;\n return () => {\n tweenGroupRef.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, 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 (pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const startSlides = () => {\n if (pauseOnHover && autoplay) {\n timeout.current = setTimeout(() => moveNext(), duration);\n }\n };\n\n const moveNext = () => {\n if (!infinite && index === React.Children.count(others.children) - 1) {\n return;\n }\n transitionSlide((index + 1) % React.Children.count(others.children));\n };\n\n const moveBack = () => {\n if (!infinite && index === 0) {\n return;\n }\n transitionSlide(index === 0 ? React.Children.count(others.children) - 1 : index - 1);\n };\n\n const preTransition: ButtonClick = (event) => {\n const { currentTarget } = event;\n if (currentTarget.dataset.type === 'prev') {\n moveBack();\n } else {\n moveNext();\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (newIndex: number) => {\n const existingTweens = tweenGroup.current.getAll();\n if (!existingTweens.length) {\n if (!innerWrapperRef.current?.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(timeout.current);\n const value = { opacity: 0, scale: 1 };\n\n animate();\n\n const tween = new Tween(value, tweenGroup.current)\n .to({ opacity: 1, scale: others.scale }, 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(easing));\n tween.onStart(() => {\n if (typeof others.onStartChange === 'function') {\n others.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 others.onChange === 'function') {\n others.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 ${cssClass || ''}`}\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n >\n {arrows && showPreviousArrow({ ...props, infinite }, index, preTransition)}\n <div className={`react-slideshow-fadezoom-wrapper ${cssClass}`} ref={wrapperRef}>\n <div className=\"react-slideshow-fadezoom-images-wrap\" ref={innerWrapperRef}>\n {(React.Children.map(others.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 {arrows && showNextArrow({ ...props, infinite }, index, preTransition)}\n </div>\n {indicators && showIndicators({ ...props, indicators }, index, navigate)}\n </div>\n );\n});\n","import React, { ReactElement, ReactNode } from 'react';\n\nexport interface Responsive {\n breakpoint: number;\n settings: {\n slidesToShow: number;\n slidesToScroll: number;\n };\n}\n\nexport interface BaseProps {\n /** the content of the component */\n children: ReactNode;\n /** The time it takes (milliseconds) before next transition starts\n * @default 5000\n */\n duration?: number;\n /** Determines how long the transition takes\n * @default 1000\n */\n transitionDuration?: number;\n /** Specifies the first slide to display\n * @default 0\n */\n defaultIndex?: number;\n /** For specifying if there should be dots below the slideshow. If function; it will render the returned element\n * @default false\n */\n indicators?: boolean | ((index?: number) => ReactNode);\n /** A custom element to serve as previous arrow */\n prevArrow?: ReactElement<any>;\n /** A custom element to serve as next arrow */\n nextArrow?: ReactElement<any>;\n /** Determines if there should be a navigational arrow for going to the next or previous slide\n * @default true\n */\n arrows?: boolean;\n /** Responsible for determining if the slideshow should start automatically\n * @default true\n */\n autoplay?: boolean;\n /** Specifies if the transition should loop infinitely\n * @default true\n */\n infinite?: boolean;\n /** Determines whether the transition effect applies when the mouse hovers the slider\n * @default true\n */\n pauseOnHover?: boolean;\n /** Determines whether the user can go to next or previous slide by the mouse or by touching\n * @default true\n */\n canSwipe?: boolean;\n /** The timing transition function to use. You can use one of linear, ease, ease-in, ease-out, cubic, cubic-in, cubic-out\n * @default \"linear\"\n */\n easing?: string;\n /** Use this prop to add your custom css to the wrapper containing the sliders. Pass your css className as value for the cssClass prop\n * @default \"\"\n */\n cssClass?: string;\n /** Callback that gets triggered at the start of every transition. The oldIndex and newIndex are passed as arguments */\n onStartChange?: (from: number, to: number) => void;\n /** Callback that gets triggered at the end of every transition. The oldIndex and newIndex are passed as arguments */\n onChange?: (from: number, to: number) => void;\n /** Ref for the slideshow (carousel). This is useful for executing methods like goBack, goNext and goTo on the slideshow */\n ref?: any;\n}\n\nexport interface FadeProps extends BaseProps {}\nexport interface ZoomProps extends BaseProps {\n /** Required when using zoom to specify the scale the current slide should be zoomed to. A number greater than 1 indicates zoom in. A number less than 1, indicates zoom out */\n scale: number;\n}\nexport interface SlideProps extends BaseProps {\n /** Set slidesToShow & slidesToScroll based on screen size. */\n responsive?: Array<Responsive>;\n /** The number of slides to show on each page\n * @default 1\n */\n slidesToShow?: number;\n /** The number of slides to scroll\n * @default 1\n */\n slidesToScroll?: number;\n /** If slide should scroll vertically\n * @default false\n */\n vertical?: boolean;\n}\n\nexport type ButtonClick = (event: React.SyntheticEvent<HTMLButtonElement>) => void;\n\nexport type IndicatorPropsType = {\n 'data-key': number;\n 'aria-label': string;\n onClick: ButtonClick;\n};\n\nexport type TweenEasingFn = (amount: number) => number;\n\nexport 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};\n\nexport type SlideshowRef = {\n goNext: () => void;\n goBack: () => void;\n goTo: (index: number, options?: { skipTransition?: boolean }) => void;\n};\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps, FadeProps, SlideshowRef } from './types';\n\nexport const Fade = React.forwardRef<SlideshowRef, FadeProps>((props, ref) => {\n return <FadeZoom {...defaultProps} {...props} scale={1} ref={ref} />;\n});\n","import React from 'react';\nimport { FadeZoom } from './fadezoom';\nimport { defaultProps, SlideshowRef, ZoomProps } from './types';\n\nexport const Zoom = React.forwardRef<SlideshowRef, ZoomProps>((props, ref) => {\n return <FadeZoom {...defaultProps} {...props} ref={ref} />;\n});\n","import React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n useCallback,\n} from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Group, Tween } from '@tweenjs/tween.js';\nimport {\n getEasing,\n getResponsiveSettings,\n getStartingIndex,\n showIndicators,\n showNextArrow,\n showPreviousArrow,\n} from './helpers';\nimport { ButtonClick, SlideshowRef, SlideProps } from './types';\n\nexport const Slide = React.forwardRef<SlideshowRef, SlideProps>((props, ref) => {\n const {\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 slidesToShow: slidesToShowDefault = 1,\n slidesToScroll: slidesToScrollDefault = 1,\n ...others\n } = props;\n const newTransitionDuration = transitionDuration;\n const [index, setIndex] = useState(getStartingIndex(others.children, defaultIndex));\n const [wrapperSize, setWrapperSize] = useState<number>(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const innerWrapperRef = useRef<any>(null);\n const tweenGroup = useRef(new Group());\n const responsiveSettings = useMemo(\n () => getResponsiveSettings(wrapperSize, responsive),\n [wrapperSize, responsive]\n );\n const slidesToScroll = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToScroll;\n }\n return slidesToScrollDefault;\n }, [responsiveSettings, slidesToScrollDefault]);\n const slidesToShow = useMemo(() => {\n if (responsiveSettings) {\n return responsiveSettings.settings.slidesToShow;\n }\n return slidesToShowDefault;\n }, [responsiveSettings, slidesToShowDefault]);\n const childrenCount = useMemo(() => React.Children.count(others.children), [others.children]);\n const eachChildSize = useMemo(() => wrapperSize / slidesToShow, [wrapperSize, slidesToShow]);\n const timeout = useRef<NodeJS.Timeout | undefined>(undefined);\n const resizeObserver = useRef<any>(undefined);\n let startingSwipePosition: number;\n let dragging: boolean = false;\n let distanceSwiped: number = 0;\n const translateType = others.vertical ? 'translateY' : 'translateX';\n const swipeAttributeType = others.vertical ? 'clientY' : 'clientX';\n const swipePageAttributeType = others.vertical ? 'pageY' : 'pageX';\n\n const applyStyle = useCallback(() => {\n if (innerWrapperRef.current) {\n const fullSize = wrapperSize * innerWrapperRef.current.children.length;\n const attribute = others.vertical ? 'height' : 'width';\n innerWrapperRef.current.style[attribute] = `${fullSize}px`;\n if (others.vertical && wrapperRef.current) {\n wrapperRef.current.style[attribute] = `${wrapperSize}px`;\n }\n for (let index = 0; index < innerWrapperRef.current.children.length; index++) {\n const eachDiv = innerWrapperRef.current.children[index];\n if (eachDiv) {\n if (!others.vertical) {\n eachDiv.style[attribute] = `${eachChildSize}px`;\n }\n eachDiv.style.display = `block`;\n }\n }\n }\n }, [wrapperSize, eachChildSize, others.vertical]);\n\n const setSize = useCallback(() => {\n const attribute = others.vertical ? 'clientHeight' : 'clientWidth';\n if (others.vertical) {\n if (innerWrapperRef.current) {\n setWrapperSize(innerWrapperRef.current.children[0][attribute]);\n }\n } else {\n if (wrapperRef.current) {\n setWrapperSize(wrapperRef.current[attribute]);\n }\n }\n }, [others.vertical]);\n\n const initResizeObserver = useCallback(() => {\n if (wrapperRef.current) {\n resizeObserver.current = new ResizeObserver((entries) => {\n if (!entries) return;\n setSize();\n });\n resizeObserver.current.observe(wrapperRef.current);\n }\n }, [wrapperRef, setSize]);\n\n const play = useCallback(() => {\n if (autoplay && (infinite || index < childrenCount - 1)) {\n timeout.current = setTimeout(moveNext, duration);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoplay, infinite, duration, childrenCount, index]);\n\n useEffect(() => {\n applyStyle();\n }, [wrapperSize, applyStyle]);\n\n useEffect(() => {\n initResizeObserver();\n const tweenGroupRef = tweenGroup.current;\n return () => {\n tweenGroupRef.removeAll();\n clearTimeout(timeout.current);\n removeResizeObserver();\n };\n }, [wrapperRef, initResizeObserver, tweenGroup]);\n\n useEffect(() => {\n clearTimeout(timeout.current);\n play();\n }, [index, wrapperSize, 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 (pauseOnHover) {\n clearTimeout(timeout.current);\n }\n };\n\n const swipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (canSwipe && dragging) {\n let position;\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n position = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n position = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n if (position && startingSwipePosition) {\n let translateValue = eachChildSize * (index + getOffset());\n const distance = position - startingSwipePosition;\n if (!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 (!infinite && index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n distanceSwiped = distance;\n translateValue -= distanceSwiped;\n innerWrapperRef.current.style.transform = `${translateType}(-${translateValue}px)`;\n }\n }\n };\n\n const moveNext = () => {\n if (!infinite && index === childrenCount - slidesToScroll) {\n return;\n }\n const nextIndex = calculateIndex(index + slidesToScroll);\n transitionSlide(nextIndex);\n };\n\n const moveBack = () => {\n if (!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 (pauseOnHover && autoplay) {\n timeout.current = setTimeout(moveNext, 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(others.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 (!infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return React.Children.toArray(others.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 startSwipe = (event: React.MouseEvent | React.TouchEvent) => {\n if (canSwipe) {\n if (window.TouchEvent && event.nativeEvent instanceof TouchEvent) {\n startingSwipePosition = event.nativeEvent.touches[0][swipePageAttributeType];\n } else {\n startingSwipePosition = (event.nativeEvent as MouseEvent)[swipeAttributeType];\n }\n clearTimeout(timeout.current);\n dragging = true;\n }\n };\n\n const endSwipe = () => {\n if (canSwipe) {\n dragging = false;\n if (Math.abs(distanceSwiped) / wrapperSize > 0.2) {\n if (distanceSwiped < 0) {\n moveNext();\n } else {\n moveBack();\n }\n } else {\n if (Math.abs(distanceSwiped) > 0) {\n transitionSlide(index, 300);\n }\n }\n }\n };\n\n const animate = () => {\n requestAnimationFrame(animate);\n tweenGroup.current.update();\n };\n\n const transitionSlide = (toIndex: number, animationDuration?: number) => {\n const transitionDuration = animationDuration || newTransitionDuration;\n const currentIndex = index;\n const existingTweens = tweenGroup.current.getAll();\n if (!wrapperRef.current) {\n return;\n }\n const attribute = others.vertical ? 'clientHeight' : 'clientWidth';\n const childSize = wrapperRef.current[attribute] / slidesToShow;\n if (!existingTweens.length) {\n clearTimeout(timeout.current);\n const value = {\n margin: -childSize * (currentIndex + getOffset()) + distanceSwiped,\n };\n const tween = new Tween(value, tweenGroup.current)\n .to({ margin: -childSize * (toIndex + getOffset()) }, transitionDuration)\n .onUpdate((value) => {\n if (innerWrapperRef.current) {\n innerWrapperRef.current.style.transform = `${translateType}(${value.margin}px)`;\n }\n });\n tween.easing(getEasing(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 others.onStartChange === 'function') {\n others.onStartChange(index, newIndex);\n }\n });\n\n tween.onComplete(() => {\n distanceSwiped = 0;\n if (typeof others.onChange === 'function') {\n others.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 (!infinite) {\n return 0;\n }\n return slidesToShow;\n };\n\n const style = {\n transform: `${translateType}(-${(index + getOffset()) * eachChildSize}px)`,\n };\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\">\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={pauseSlides}\n onMouseOver={pauseSlides}\n onMouseLeave={startSlides}\n onMouseDown={startSwipe}\n onMouseUp={endSwipe}\n onMouseMove={swipe}\n onTouchStart={startSwipe}\n onTouchEnd={endSwipe}\n onTouchCancel={endSwipe}\n onTouchMove={swipe}\n >\n {arrows && showPreviousArrow({ ...props, infinite }, index, moveSlides)}\n <div className={`react-slideshow-wrapper slide ${cssClass || ''}`} ref={wrapperRef}>\n <div\n className={`images-wrap ${others.vertical ? 'vertical' : 'horizontal'}`}\n style={style}\n ref={innerWrapperRef}\n >\n {infinite && renderPreceedingSlides()}\n {(React.Children.map(others.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 {arrows &&\n showNextArrow({ ...props, infinite }, index, moveSlides, responsiveSettings)}\n </div>\n {!!indicators &&\n showIndicators({ ...props, indicators }, index, goToSlide, responsiveSettings)}\n </div>\n );\n});\n"],"names":["getStartingIndex","children","defaultIndex","React","Children","count","getResponsiveSettings","wrapperWidth","responsive","window","Array","isArray","find","each","breakpoint","EASING_METHODS","linear","Easing","Linear","None","ease","Quadratic","InOut","In","Out","cubic","Cubic","getEasing","easeMethod","showPreviousArrow","_ref","currentIndex","moveSlides","prevArrow","infinite","isDisabled","props","disabled","onClick","cloneElement","_extends","className","type","width","height","viewBox","d","showNextArrow","properties","responsiveSettings","nextArrow","slidesToScroll","settings","showDefaultIndicator","isCurrentPageActive","key","indicatorProps","showCustomIndicator","eachIndicator","showIndicators","navigate","indicators","pages","Math","ceil","from","length","_","floor","FadeZoom","forwardRef","ref","_props$duration","duration","_props$transitionDura","transitionDuration","_props$defaultIndex","_props$infinite","_props$autoplay","autoplay","_props$indicators","_props$arrows","arrows","_props$pauseOnHover","pauseOnHover","_props$easing","easing","_props$cssClass","cssClass","others","_objectWithoutPropertiesLoose","_excluded","_useState","useState","index","setIndex","wrapperRef","useRef","innerWrapperRef","tweenGroup","Group","timeout","undefined","resizeObserver","childrenCount","useMemo","applyStyle","useCallback","current","clientWidth","fullwidth","style","eachDiv","left","display","initResizeObserver","ResizeObserver","entries","observe","play","setTimeout","moveNext","useEffect","tweenGroupRef","removeAll","clearTimeout","removeResizeObserver","useImperativeHandle","goNext","goBack","moveBack","goTo","options","skipTransition","moveTo","unobserve","pauseSlides","startSlides","transitionSlide","preTransition","event","currentTarget","dataset","animate","requestAnimationFrame","update","newIndex","existingTweens","getAll","_innerWrapperRef$curr","value","opacity","scale","tween","Tween","to","onUpdate","transform","onStart","onStartChange","onComplete","onChange","start","gotoIndex","parseInt","dir","onMouseEnter","onMouseOver","onMouseLeave","map","thisArg","zIndex","defaultProps","canSwipe","Fade","Zoom","Slide","_props$canSwipe","_props$responsive","_props$slidesToShow","slidesToShow","slidesToShowDefault","_props$slidesToScroll","slidesToScrollDefault","newTransitionDuration","_useState2","wrapperSize","setWrapperSize","eachChildSize","startingSwipePosition","dragging","distanceSwiped","translateType","vertical","swipeAttributeType","swipePageAttributeType","fullSize","attribute","setSize","swipe","position","TouchEvent","nativeEvent","touches","translateValue","getOffset","distance","nextIndex","calculateIndex","previousIndex","goToSlide","datasetKey","endSwipe","_ref2","renderPreceedingSlides","toArray","slice","renderTrailingSlides","startSwipe","abs","toIndex","animationDuration","childSize","margin","isSlideActive","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","isThisSlideActive"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n),r=e(require("resize-observer-polyfill")),i=require("@tweenjs/tween.js");function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}var c=function(e,n){return n&&n<t.Children.count(e)?n:0},o={linear:i.Easing.Linear.None,ease:i.Easing.Quadratic.InOut,"ease-in":i.Easing.Quadratic.In,"ease-out":i.Easing.Quadratic.Out,cubic:i.Easing.Cubic.InOut,"cubic-in":i.Easing.Cubic.In,"cubic-out":i.Easing.Cubic.Out},u=function(e){return e?o[e]:o.linear},l=function(e,n,r){var i=e.prevArrow,c=n<=0&&!e.infinite,o={"data-type":"prev","aria-label":"Previous Slide",disabled:c,onClick:r};return i?t.cloneElement(i,a({className:(i.props.className||"")+" nav "+(c?"disabled":"")},o)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(c?"disabled":"")},o),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z"})))},s=function(e,n,r,i){var c=e.nextArrow,o=e.infinite,u=1;i?u=null==i?void 0:i.settings.slidesToScroll:"slidesToScroll"in e&&(u=e.slidesToScroll||1);var l=n>=t.Children.count(e.children)-u&&!o,s={"data-type":"next","aria-label":"Next Slide",disabled:l,onClick:r};return c?t.cloneElement(c,a({className:(c.props.className||"")+" nav "+(l?"disabled":"")},s)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(l?"disabled":"")},s),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z"})))},f=function(e,n,r,i){var c=e.indicators,o=1;i?o=null==i?void 0:i.settings.slidesToScroll:"slidesToScroll"in e&&(o=e.slidesToScroll||1);var u=Math.ceil(t.Children.count(e.children)/o);return t.createElement("ul",{className:"indicators"},Array.from({length:u},(function(e,i){var u={"data-key":i,"aria-label":"Go to slide "+(i+1),onClick:r},l=Math.floor((n+o-1)/o)===i;return"function"==typeof c?function(e,n,r,i){return t.cloneElement(i,a({className:i.props.className+" "+(e?"active":""),key:n},r))}(l,i,u,c(i)):function(e,n,r){return t.createElement("li",{key:n},t.createElement("button",Object.assign({type:"button",className:"each-slideshow-indicator "+(e?"active":"")},r)))}(l,i,u)})))},d={duration:5e3,transitionDuration:1e3,defaultIndex:0,infinite:!0,autoplay:!0,indicators:!1,arrows:!0,pauseOnHover:!0,easing:"linear",canSwipe:!0,cssClass:"",responsive:[]},v=t.forwardRef((function(e,a){var o=n.useState(c(e.children,e.defaultIndex)),d=o[0],v=o[1],p=n.useRef(null),h=n.useRef(null),m=n.useRef(new i.Group),y=n.useRef(),g=n.useRef(),w=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),E=n.useCallback((function(){if(h.current&&p.current){var e=p.current.clientWidth;h.current.style.width=e*w+"px";for(var n=0;n<h.current.children.length;n++){var t=h.current.children[n];t&&(t.style.width=e+"px",t.style.left=n*-e+"px",t.style.display="block")}}}),[p,h,w]),b=n.useCallback((function(){p.current&&(g.current=new r((function(e){e&&E()})),g.current.observe(p.current))}),[p,E]),T=n.useCallback((function(){var n=e.children,r=e.duration,i=e.infinite;e.autoplay&&t.Children.count(n)>1&&(i||d<t.Children.count(n)-1)&&(y.current=setTimeout(S,r))}),[e,d]);n.useEffect((function(){return b(),function(){m.current.removeAll(),clearTimeout(y.current),C()}}),[b,m]),n.useEffect((function(){clearTimeout(y.current),T()}),[d,e.autoplay,T]),n.useEffect((function(){E()}),[w,E]),n.useImperativeHandle(a,(function(){return{goNext:function(){S()},goBack:function(){k()},goTo:function(e,n){null!=n&&n.skipTransition?v(e):O(e)}}}));var C=function(){g.current&&p.current&&g.current.unobserve(p.current)},x=function(){e.pauseOnHover&&clearTimeout(y.current)},S=function(){var n=e.children;(e.infinite||d!==t.Children.count(n)-1)&&N((d+1)%t.Children.count(n))},k=function(){(e.infinite||0!==d)&&N(0===d?t.Children.count(e.children)-1:d-1)},M=function(e){"prev"===e.currentTarget.dataset.type?k():S()},N=function(n){if(!m.current.getAll().length){var t;null!=(t=h.current)&&t.children[n]||(n=0),clearTimeout(y.current),function e(){requestAnimationFrame(e),m.current.update()}();var r=new i.Tween({opacity:0,scale:1},m.current).to({opacity:1,scale:e.scale},e.transitionDuration).onUpdate((function(e){h.current&&(h.current.children[n].style.opacity=e.opacity,h.current.children[d].style.opacity=1-e.opacity,h.current.children[d].style.transform="scale("+e.scale+")")}));r.easing(u(e.easing)),r.onStart((function(){"function"==typeof e.onStartChange&&e.onStartChange(d,n)})),r.onComplete((function(){h.current&&(v(n),h.current.children[d].style.transform="scale(1)"),"function"==typeof e.onChange&&e.onChange(d,n)})),r.start()}},O=function(e){e!==d&&N(e)};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container "+(e.cssClass||""),onMouseEnter:x,onMouseOver:x,onMouseLeave:function(){e.pauseOnHover&&e.autoplay&&(y.current=setTimeout((function(){return S()}),e.duration))}},e.arrows&&l(e,d,M),t.createElement("div",{className:"react-slideshow-fadezoom-wrapper "+e.cssClass,ref:p},t.createElement("div",{className:"react-slideshow-fadezoom-images-wrap",ref:h},(t.Children.map(e.children,(function(e){return e}))||[]).map((function(e,n){return t.createElement("div",{style:{opacity:n===d?"1":"0",zIndex:n===d?"1":"0"},"data-index":n,key:n,"aria-roledescription":"slide","aria-hidden":n===d?"false":"true"},e)})))),e.arrows&&s(e,d,M)),e.indicators&&f(e,d,(function(e){var n=e.currentTarget;n.dataset.key&&parseInt(n.dataset.key)!==d&&O(parseInt(n.dataset.key))})))}));v.defaultProps=d;var p=t.forwardRef((function(e,n){return t.createElement(v,Object.assign({},e,{scale:1,ref:n}))}));p.defaultProps=d;var h=t.forwardRef((function(e,n){return t.createElement(v,Object.assign({},e,{ref:n}))}));h.defaultProps=d;var m=t.forwardRef((function(e,a){var o,d=n.useState(c(e.children,e.defaultIndex)),v=d[0],p=d[1],h=n.useState(0),m=h[0],y=h[1],g=n.useRef(null),w=n.useRef(null),E=n.useRef(new i.Group),b=n.useMemo((function(){return function(e,n){if("undefined"!=typeof window&&Array.isArray(n))return n.find((function(n){return n.breakpoint<=e}))}(m,e.responsive)}),[m,e.responsive]),T=n.useMemo((function(){return b?b.settings.slidesToScroll:e.slidesToScroll||1}),[b,e.slidesToScroll]),C=n.useMemo((function(){return b?b.settings.slidesToShow:e.slidesToShow||1}),[b,e.slidesToShow]),x=n.useMemo((function(){return t.Children.count(e.children)}),[e.children]),S=n.useMemo((function(){return m/C}),[m,C]),k=n.useRef(),M=n.useRef(),N=!1,O=0,R=e.vertical?"translateY":"translateX",A=e.vertical?"clientY":"clientX",I=e.vertical?"pageY":"pageX",j=n.useCallback((function(){if(w.current){var n=e.vertical?"height":"width";w.current.style[n]=m*w.current.children.length+"px",e.vertical&&g.current&&(g.current.style[n]=m+"px");for(var t=0;t<w.current.children.length;t++){var r=w.current.children[t];r&&(e.vertical||(r.style[n]=S+"px"),r.style.display="block")}}}),[m,S]),H=n.useCallback((function(){g.current&&(M.current=new r((function(e){e&&U()})),M.current.observe(g.current))}),[g]),z=n.useCallback((function(){e.autoplay&&(e.infinite||v<x-1)&&(k.current=setTimeout(D,e.duration))}),[e,x,v]);n.useEffect((function(){j()}),[m,j]),n.useEffect((function(){return H(),function(){E.current.removeAll(),clearTimeout(k.current),P()}}),[g,H,E]),n.useEffect((function(){clearTimeout(k.current),z()}),[v,m,e.autoplay,z]),n.useImperativeHandle(a,(function(){return{goNext:function(){D()},goBack:function(){F()},goTo:function(e,n){null!=n&&n.skipTransition?p(e):G(e)}}}));var P=function(){M&&g.current&&M.current.unobserve(g.current)},q=function(){e.pauseOnHover&&clearTimeout(k.current)},B=function(n){var t;if(e.canSwipe&&N&&(t=window.TouchEvent&&n.nativeEvent instanceof TouchEvent?n.nativeEvent.touches[0][I]:n.nativeEvent[A])&&o){var r=S*(v+_()),i=t-o;if(!e.infinite&&v===x-T&&i<0)return;if(!e.infinite&&0===v&&i>0)return;w.current.style.transform=R+"(-"+(r-=O=i)+"px)"}},D=function(){if(e.infinite||v!==x-T){var n=L(v+T);Y(n)}},F=function(){if(e.infinite||0!==v){var n=v-T;n%T&&(n=Math.ceil(n/T)*T),Y(n)}},G=function(e){Y(L(e))},L=function(e){return e<x&&e+T>x&&(x-T)%T?x-T:e},Q=function(e){"next"===e.currentTarget.dataset.type?D():F()},U=function(){var n=e.vertical?"clientHeight":"clientWidth";e.vertical?w.current&&y(w.current.children[0][n]):g.current&&y(g.current[n])},W=function(n){e.canSwipe&&(o=window.TouchEvent&&n.nativeEvent instanceof TouchEvent?n.nativeEvent.touches[0][I]:n.nativeEvent[A],clearTimeout(k.current),N=!0)},X=function(){e.canSwipe&&(N=!1,Math.abs(O)/m>.2?O<0?D():F():Math.abs(O)>0&&Y(v,300))},Y=function(n,t){var r=t||e.transitionDuration,a=v,c=E.current.getAll();if(g.current){var o=g.current[e.vertical?"clientHeight":"clientWidth"]/C;if(!c.length){clearTimeout(k.current);var l={margin:-o*(a+_())+O},s=new i.Tween(l,E.current).to({margin:-o*(n+_())},r).onUpdate((function(e){w.current&&(w.current.style.transform=R+"("+e.margin+"px)")}));s.easing(u(e.easing)),function e(){requestAnimationFrame(e),E.current.update()}();var f=n;f<0?f=x-T:f>=x&&(f=0),s.onStart((function(){"function"==typeof e.onStartChange&&e.onStartChange(v,f)})),s.onComplete((function(){O=0,"function"==typeof e.onChange&&e.onChange(v,f),p(f)})),s.start()}}},_=function(){return e.infinite?C:0},Z={transform:R+"(-"+(v+_())*S+"px)"};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container",onMouseEnter:q,onMouseOver:q,onMouseLeave:function(){N?X():e.pauseOnHover&&e.autoplay&&(k.current=setTimeout(D,e.duration))},onMouseDown:W,onMouseUp:X,onMouseMove:B,onTouchStart:W,onTouchEnd:X,onTouchCancel:X,onTouchMove:B},e.arrows&&l(e,v,Q),t.createElement("div",{className:"react-slideshow-wrapper slide "+(e.cssClass||""),ref:g},t.createElement("div",{className:"images-wrap "+(e.vertical?"vertical":"horizontal"),style:Z,ref:w},e.infinite&&t.Children.toArray(e.children).slice(-C).map((function(e,n){return t.createElement("div",{"data-index":n-C,"aria-roledescription":"slide","aria-hidden":"true",key:n-C},e)})),(t.Children.map(e.children,(function(e){return e}))||[]).map((function(e,n){var r=function(e){return e<v+C&&e>=v}(n);return t.createElement("div",{"data-index":n,key:n,className:r?"active":"","aria-roledescription":"slide","aria-hidden":r?"false":"true"},e)})),function(){if(e.infinite||C!==T)return t.Children.toArray(e.children).slice(0,C).map((function(e,n){return t.createElement("div",{"data-index":x+n,"aria-roledescription":"slide","aria-hidden":"true",key:x+n},e)}))}())),e.arrows&&s(e,v,Q,b)),!!e.indicators&&f(e,v,(function(e){var n=e.currentTarget;if(n.dataset.key){var t=parseInt(n.dataset.key);G(t*T)}}),b))}));m.defaultProps=d,exports.Fade=p,exports.Slide=m,exports.Zoom=h;
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n),r=e(require("resize-observer-polyfill")),i=require("@tweenjs/tween.js");function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(null,arguments)}function o(e,n){if(null==e)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==n.indexOf(r))continue;t[r]=e[r]}return t}var c=function(e,n){return n&&n<t.Children.count(e)?n:0},u={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},l=function(e){return e?u[e]:u.linear},s=function(e,n,r){var i=e.prevArrow,o=n<=0&&!e.infinite,c={"data-type":"prev","aria-label":"Previous Slide",disabled:o,onClick:r};return i?t.cloneElement(i,a({className:(i.props.className||"")+" nav "+(o?"disabled":"")},c)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(o?"disabled":"")},c),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"})))},d=function(e,n,r,i){var o=e.nextArrow,c=e.infinite,u=1;i?u=null==i?void 0:i.settings.slidesToScroll:"slidesToScroll"in e&&(u=e.slidesToScroll||1);var l=n>=t.Children.count(e.children)-u&&!c,s={"data-type":"next","aria-label":"Next Slide",disabled:l,onClick:r};return o?t.cloneElement(o,a({className:(o.props.className||"")+" nav "+(l?"disabled":"")},s)):t.createElement("button",Object.assign({type:"button",className:"nav default-nav "+(l?"disabled":"")},s),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z"})))},f=function(e,n,r,i){var o=e.indicators,c=1;i?c=null==i?void 0:i.settings.slidesToScroll:"slidesToScroll"in e&&(c=e.slidesToScroll||1);var u=Math.ceil(t.Children.count(e.children)/c);return t.createElement("ul",{className:"indicators"},Array.from({length:u},(function(e,i){var u={"data-key":i,"aria-label":"Go to slide "+(i+1),onClick:r},l=Math.floor((n+c-1)/c)===i;return"function"==typeof o?function(e,n,r,i){return t.cloneElement(i,a({className:i.props.className+" "+(e?"active":""),key:n},r))}(l,i,u,o(i)):function(e,n,r){return t.createElement("li",{key:n},t.createElement("button",Object.assign({type:"button",className:"each-slideshow-indicator "+(e?"active":"")},r)))}(l,i,u)})))},v=["duration","transitionDuration","defaultIndex","infinite","autoplay","indicators","arrows","pauseOnHover","easing","cssClass"],h=t.forwardRef((function(e,u){var h=e.duration,p=void 0===h?5e3:h,m=e.transitionDuration,g=void 0===m?1e3:m,y=e.defaultIndex,w=void 0===y?0:y,E=e.infinite,b=void 0===E||E,C=e.autoplay,T=void 0===C||C,x=e.indicators,k=void 0!==x&&x,S=e.arrows,M=void 0===S||S,O=e.pauseOnHover,N=void 0===O||O,I=e.easing,R=void 0===I?"linear":I,A=e.cssClass,j=void 0===A?"":A,H=o(e,v),z=n.useState(c(H.children,w)),D=z[0],q=z[1],B=n.useRef(null),P=n.useRef(null),F=n.useRef(new i.Group),G=n.useRef(void 0),L=n.useRef(void 0),Q=n.useMemo((function(){return t.Children.count(H.children)}),[H.children]),U=n.useCallback((function(){if(P.current&&B.current){var e=B.current.clientWidth;P.current.style.width=e*Q+"px";for(var n=0;n<P.current.children.length;n++){var t=P.current.children[n];t&&(t.style.width=e+"px",t.style.left=n*-e+"px",t.style.display="block")}}}),[B,P,Q]),W=n.useCallback((function(){B.current&&(L.current=new r((function(e){e&&U()})),L.current.observe(B.current))}),[B,U]),X=n.useCallback((function(){T&&t.Children.count(H.children)>1&&(b||D<t.Children.count(H.children)-1)&&(G.current=setTimeout(Z,p))}),[T,p,b,H.children,D]);n.useEffect((function(){W();var e=F.current;return function(){e.removeAll(),clearTimeout(G.current),Y()}}),[W,F]),n.useEffect((function(){clearTimeout(G.current),X()}),[D,T,X]),n.useEffect((function(){U()}),[Q,U]),n.useImperativeHandle(u,(function(){return{goNext:function(){Z()},goBack:function(){J()},goTo:function(e,n){null!=n&&n.skipTransition?q(e):ee(e)}}}));var Y=function(){L.current&&B.current&&L.current.unobserve(B.current)},_=function(){N&&clearTimeout(G.current)},Z=function(){(b||D!==t.Children.count(H.children)-1)&&$((D+1)%t.Children.count(H.children))},J=function(){(b||0!==D)&&$(0===D?t.Children.count(H.children)-1:D-1)},K=function(e){"prev"===e.currentTarget.dataset.type?J():Z()},V=function(){requestAnimationFrame(V),F.current.update()},$=function(e){if(!F.current.getAll().length){var n;null!=(n=P.current)&&n.children[e]||(e=0),clearTimeout(G.current),V();var t=new i.Tween({opacity:0,scale:1},F.current).to({opacity:1,scale:H.scale},g).onUpdate((function(n){P.current&&(P.current.children[e].style.opacity=n.opacity,P.current.children[D].style.opacity=1-n.opacity,P.current.children[D].style.transform="scale("+n.scale+")")}));t.easing(l(R)),t.onStart((function(){"function"==typeof H.onStartChange&&H.onStartChange(D,e)})),t.onComplete((function(){P.current&&(q(e),P.current.children[D].style.transform="scale(1)"),"function"==typeof H.onChange&&H.onChange(D,e)})),t.start()}},ee=function(e){e!==D&&$(e)};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container "+(j||""),onMouseEnter:_,onMouseOver:_,onMouseLeave:function(){N&&T&&(G.current=setTimeout((function(){return Z()}),p))}},M&&s(a({},e,{infinite:b}),D,K),t.createElement("div",{className:"react-slideshow-fadezoom-wrapper "+j,ref:B},t.createElement("div",{className:"react-slideshow-fadezoom-images-wrap",ref:P},(t.Children.map(H.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)})))),M&&d(a({},e,{infinite:b}),D,K)),k&&f(a({},e,{indicators:k}),D,(function(e){var n=e.currentTarget;n.dataset.key&&parseInt(n.dataset.key)!==D&&ee(parseInt(n.dataset.key))})))})),p={duration:5e3,transitionDuration:1e3,defaultIndex:0,infinite:!0,autoplay:!0,indicators:!1,arrows:!0,pauseOnHover:!0,easing:"linear",canSwipe:!0,cssClass:""},m=t.forwardRef((function(e,n){return t.createElement(h,Object.assign({},p,e,{scale:1,ref:n}))})),g=t.forwardRef((function(e,n){return t.createElement(h,Object.assign({},p,e,{ref:n}))})),y=["duration","transitionDuration","defaultIndex","infinite","autoplay","indicators","arrows","pauseOnHover","easing","canSwipe","cssClass","responsive","slidesToShow","slidesToScroll"],w=t.forwardRef((function(e,u){var v,h=e.duration,p=void 0===h?5e3:h,m=e.transitionDuration,g=void 0===m?1e3:m,w=e.defaultIndex,E=void 0===w?0:w,b=e.infinite,C=void 0===b||b,T=e.autoplay,x=void 0===T||T,k=e.indicators,S=void 0!==k&&k,M=e.arrows,O=void 0===M||M,N=e.pauseOnHover,I=void 0===N||N,R=e.easing,A=void 0===R?"linear":R,j=e.canSwipe,H=void 0===j||j,z=e.cssClass,D=void 0===z?"":z,q=e.responsive,B=void 0===q?[]:q,P=e.slidesToShow,F=void 0===P?1:P,G=e.slidesToScroll,L=void 0===G?1:G,Q=o(e,y),U=g,W=n.useState(c(Q.children,E)),X=W[0],Y=W[1],_=n.useState(0),Z=_[0],J=_[1],K=n.useRef(null),V=n.useRef(null),$=n.useRef(new i.Group),ee=n.useMemo((function(){return function(e,n){if("undefined"!=typeof window&&Array.isArray(n))return n.find((function(n){return n.breakpoint<=e}))}(Z,B)}),[Z,B]),ne=n.useMemo((function(){return ee?ee.settings.slidesToScroll:L}),[ee,L]),te=n.useMemo((function(){return ee?ee.settings.slidesToShow:F}),[ee,F]),re=n.useMemo((function(){return t.Children.count(Q.children)}),[Q.children]),ie=n.useMemo((function(){return Z/te}),[Z,te]),ae=n.useRef(void 0),oe=n.useRef(void 0),ce=!1,ue=0,le=Q.vertical?"translateY":"translateX",se=Q.vertical?"clientY":"clientX",de=Q.vertical?"pageY":"pageX",fe=n.useCallback((function(){if(V.current){var e=Q.vertical?"height":"width";V.current.style[e]=Z*V.current.children.length+"px",Q.vertical&&K.current&&(K.current.style[e]=Z+"px");for(var n=0;n<V.current.children.length;n++){var t=V.current.children[n];t&&(Q.vertical||(t.style[e]=ie+"px"),t.style.display="block")}}}),[Z,ie,Q.vertical]),ve=n.useCallback((function(){var e=Q.vertical?"clientHeight":"clientWidth";Q.vertical?V.current&&J(V.current.children[0][e]):K.current&&J(K.current[e])}),[Q.vertical]),he=n.useCallback((function(){K.current&&(oe.current=new r((function(e){e&&ve()})),oe.current.observe(K.current))}),[K,ve]),pe=n.useCallback((function(){x&&(C||X<re-1)&&(ae.current=setTimeout(we,p))}),[x,C,p,re,X]);n.useEffect((function(){fe()}),[Z,fe]),n.useEffect((function(){he();var e=$.current;return function(){e.removeAll(),clearTimeout(ae.current),me()}}),[K,he,$]),n.useEffect((function(){clearTimeout(ae.current),pe()}),[X,Z,x,pe]),n.useImperativeHandle(u,(function(){return{goNext:function(){we()},goBack:function(){Ee()},goTo:function(e,n){null!=n&&n.skipTransition?Y(e):be(e)}}}));var me=function(){oe&&K.current&&oe.current.unobserve(K.current)},ge=function(){I&&clearTimeout(ae.current)},ye=function(e){var n;if(H&&ce&&(n=window.TouchEvent&&e.nativeEvent instanceof TouchEvent?e.nativeEvent.touches[0][de]:e.nativeEvent[se])&&v){var t=ie*(X+Oe()),r=n-v;if(!C&&X===re-ne&&r<0)return;if(!C&&0===X&&r>0)return;V.current.style.transform=le+"(-"+(t-=ue=r)+"px)"}},we=function(){if(C||X!==re-ne){var e=Ce(X+ne);Me(e)}},Ee=function(){if(C||0!==X){var e=X-ne;e%ne&&(e=Math.ceil(e/ne)*ne),Me(e)}},be=function(e){Me(Ce(e))},Ce=function(e){return e<re&&e+ne>re&&(re-ne)%ne?re-ne:e},Te=function(e){"next"===e.currentTarget.dataset.type?we():Ee()},xe=function(e){H&&(v=window.TouchEvent&&e.nativeEvent instanceof TouchEvent?e.nativeEvent.touches[0][de]:e.nativeEvent[se],clearTimeout(ae.current),ce=!0)},ke=function(){H&&(ce=!1,Math.abs(ue)/Z>.2?ue<0?we():Ee():Math.abs(ue)>0&&Me(X,300))},Se=function(){requestAnimationFrame(Se),$.current.update()},Me=function(e,n){var t=n||U,r=X,a=$.current.getAll();if(K.current){var o=K.current[Q.vertical?"clientHeight":"clientWidth"]/te;if(!a.length){clearTimeout(ae.current);var c={margin:-o*(r+Oe())+ue},u=new i.Tween(c,$.current).to({margin:-o*(e+Oe())},t).onUpdate((function(e){V.current&&(V.current.style.transform=le+"("+e.margin+"px)")}));u.easing(l(A)),Se();var s=e;s<0?s=re-ne:s>=re&&(s=0),u.onStart((function(){"function"==typeof Q.onStartChange&&Q.onStartChange(X,s)})),u.onComplete((function(){ue=0,"function"==typeof Q.onChange&&Q.onChange(X,s),Y(s)})),u.start()}}},Oe=function(){return C?te:0},Ne={transform:le+"(-"+(X+Oe())*ie+"px)"};return t.createElement("div",{dir:"ltr","aria-roledescription":"carousel"},t.createElement("div",{className:"react-slideshow-container",onMouseEnter:ge,onMouseOver:ge,onMouseLeave:function(){ce?ke():I&&x&&(ae.current=setTimeout(we,p))},onMouseDown:xe,onMouseUp:ke,onMouseMove:ye,onTouchStart:xe,onTouchEnd:ke,onTouchCancel:ke,onTouchMove:ye},O&&s(a({},e,{infinite:C}),X,Te),t.createElement("div",{className:"react-slideshow-wrapper slide "+(D||""),ref:K},t.createElement("div",{className:"images-wrap "+(Q.vertical?"vertical":"horizontal"),style:Ne,ref:V},C&&t.Children.toArray(Q.children).slice(-te).map((function(e,n){return t.createElement("div",{"data-index":n-te,"aria-roledescription":"slide","aria-hidden":"true",key:n-te},e)})),(t.Children.map(Q.children,(function(e){return e}))||[]).map((function(e,n){var r=function(e){return e<X+te&&e>=X}(n);return t.createElement("div",{"data-index":n,key:n,className:r?"active":"","aria-roledescription":"slide","aria-hidden":r?"false":"true"},e)})),function(){if(C||te!==ne)return t.Children.toArray(Q.children).slice(0,te).map((function(e,n){return t.createElement("div",{"data-index":re+n,"aria-roledescription":"slide","aria-hidden":"true",key:re+n},e)}))}())),O&&d(a({},e,{infinite:C}),X,Te,ee)),!!S&&f(a({},e,{indicators:S}),X,(function(e){var n=e.currentTarget;if(n.dataset.key){var t=parseInt(n.dataset.key);be(t*ne)}}),ee))}));exports.Fade=m,exports.Slide=w,exports.Zoom=g;
|
|
2
2
|
//# sourceMappingURL=react-slideshow-image.cjs.production.min.js.map
|