@mantine/carousel 7.1.3 → 7.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","sources":["../src/Carousel.tsx"],"sourcesContent":["import React, { Children, useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSpacing,\n StyleProp,\n useDirection,\n UnstyledButton,\n AccordionChevron,\n useRandomClassName,\n rem,\n getSpacing,\n} from '@mantine/core';\nimport { clamp } from '@mantine/hooks';\nimport useEmblaCarousel, { EmblaPluginType, EmblaCarouselType } from 'embla-carousel-react';\nimport { getChevronRotation } from './get-chevron-rotation';\nimport { CarouselProvider } from './Carousel.context';\nimport { CarouselSlide } from './CarouselSlide/CarouselSlide';\nimport { CarouselVariables } from './CarouselVariables/CarouselVariables';\nimport classes from './Carousel.module.css';\n\nexport type CarouselStylesNames =\n | 'slide'\n | 'root'\n | 'viewport'\n | 'container'\n | 'controls'\n | 'control'\n | 'indicators'\n | 'indicator';\n\nexport type CarouselCssVariables = {\n root: '--carousel-height' | '--carousel-control-size' | '--carousel-controls-offset';\n};\n\nexport interface CarouselProps\n extends BoxProps,\n StylesApiProps<CarouselFactory>,\n ElementProps<'div'> {\n /** <Carousel.Slide /> components */\n children?: React.ReactNode;\n\n /** Called when next slide is shown */\n onNextSlide?(): void;\n\n /** Called when previous slider is shown */\n onPreviousSlide?(): void;\n\n /** Called with slide index when slide changes */\n onSlideChange?(index: number): void;\n\n /** Get embla API as ref */\n getEmblaApi?(embla: EmblaCarouselType): void;\n\n /** Props passed down to next control */\n nextControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Props passed down to previous control */\n previousControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Controls size of the next and previous controls, `26` by default */\n controlSize?: React.CSSProperties['width'];\n\n /** Controls position of the next and previous controls, key of `theme.spacing` or any valid CSS value, `'sm'` by default */\n controlsOffset?: MantineSpacing;\n\n /** Controls slide width based on viewport width, `'100%'` by default */\n slideSize?: StyleProp<string | number>;\n\n /** Key of theme.spacing or number to set gap between slides */\n slideGap?: StyleProp<MantineSpacing>;\n\n /** Carousel orientation, `'horizontal'` by default */\n orientation?: 'horizontal' | 'vertical';\n\n /** Slides container `height`, required for vertical orientation */\n height?: React.CSSProperties['height'];\n\n /** Determines how slides will be aligned relative to the container. Use number between 0-1 to align slides based on percentage, where 0.5 is 50%, `'center'` by default */\n align?: 'start' | 'center' | 'end' | number;\n\n /** Number of slides that will be scrolled with next/previous buttons, `1` by default */\n slidesToScroll?: number | 'auto';\n\n /** Determines whether gap between slides should be treated as part of the slide size, `true` by default */\n includeGapInSize?: boolean;\n\n /** Determines whether the carousel can be scrolled with mouse and touch interactions, `true` by default */\n draggable?: boolean;\n\n /** Determines whether momentum scrolling should be enabled, `false` by default */\n dragFree?: boolean;\n\n /** Enables infinite looping. `true` by default, automatically falls back to `false` if slide content isn't enough to loop. */\n loop?: boolean;\n\n /** Adjusts scroll speed when triggered by any of the methods. Higher numbers enables faster scrolling. */\n speed?: number;\n\n /** Index of initial slide */\n initialSlide?: number;\n\n /** Choose a fraction representing the percentage portion of a slide that needs to be visible in order to be considered in view. For example, 0.5 equals 50%. */\n inViewThreshold?: number;\n\n /** Determines whether next/previous controls should be displayed, true by default */\n withControls?: boolean;\n\n /** Determines whether indicators should be displayed, `false` by default */\n withIndicators?: boolean;\n\n /** An array of embla plugins */\n plugins?: EmblaPluginType[];\n\n /** Icon of the next control */\n nextControlIcon?: React.ReactNode;\n\n /** Icon of the previous control */\n previousControlIcon?: React.ReactNode;\n\n /** Allow the carousel to skip scroll snaps if it is dragged vigorously. Note that this option will be ignored if the dragFree option is set to `true`, `false` by default */\n skipSnaps?: boolean;\n\n /** Clear leading and trailing empty space that causes excessive scrolling. Use `trimSnaps` to only use snap points that trigger scrolling or keepSnaps to keep them. */\n containScroll?: 'trimSnaps' | 'keepSnaps' | '';\n\n /** Determines whether arrow key should switch slides, `true` by default */\n withKeyboardEvents?: boolean;\n}\n\nexport type CarouselFactory = Factory<{\n props: CarouselProps;\n ref: HTMLDivElement;\n stylesNames: CarouselStylesNames;\n vars: CarouselCssVariables;\n staticComponents: {\n Slide: typeof CarouselSlide;\n };\n}>;\n\nconst defaultProps: Partial<CarouselProps> = {\n controlSize: 26,\n controlsOffset: 'sm',\n slideSize: '100%',\n slideGap: 0,\n orientation: 'horizontal',\n align: 'center',\n slidesToScroll: 1,\n includeGapInSize: true,\n draggable: true,\n dragFree: false,\n loop: false,\n speed: 10,\n initialSlide: 0,\n inViewThreshold: 0,\n withControls: true,\n withIndicators: false,\n skipSnaps: false,\n containScroll: '',\n withKeyboardEvents: true,\n};\n\nconst varsResolver = createVarsResolver<CarouselFactory>(\n (_, { height, controlSize, controlsOffset }) => ({\n root: {\n '--carousel-height': rem(height),\n '--carousel-control-size': rem(controlSize),\n '--carousel-controls-offset': getSpacing(controlsOffset),\n },\n })\n);\n\nexport const Carousel = factory<CarouselFactory>((_props, ref) => {\n const props = useProps('Carousel', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n getEmblaApi,\n onNextSlide,\n onPreviousSlide,\n onSlideChange,\n nextControlProps,\n previousControlProps,\n controlSize,\n controlsOffset,\n slideSize,\n slideGap,\n orientation,\n height,\n align,\n slidesToScroll,\n includeGapInSize,\n draggable,\n dragFree,\n loop,\n speed,\n initialSlide,\n inViewThreshold,\n withControls,\n withIndicators,\n plugins,\n nextControlIcon,\n previousControlIcon,\n skipSnaps,\n containScroll,\n withKeyboardEvents,\n ...others\n } = props;\n\n const getStyles = useStyles<CarouselFactory>({\n name: 'Carousel',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const responsiveClassName = useRandomClassName();\n const { dir } = useDirection();\n\n const [emblaRefElement, embla] = useEmblaCarousel(\n {\n axis: orientation === 'horizontal' ? 'x' : 'y',\n direction: orientation === 'horizontal' ? dir : undefined,\n startIndex: initialSlide,\n loop,\n align,\n slidesToScroll,\n draggable,\n dragFree,\n speed,\n inViewThreshold,\n skipSnaps,\n containScroll,\n },\n plugins\n );\n\n const [selected, setSelected] = useState(0);\n const [slidesCount, setSlidesCount] = useState(0);\n\n const handleScroll = useCallback((index: number) => embla && embla.scrollTo(index), [embla]);\n\n const handleSelect = useCallback(() => {\n if (!embla) return;\n const slide = embla.selectedScrollSnap();\n setSelected(slide);\n onSlideChange?.(slide);\n }, [embla, setSelected]);\n\n const handlePrevious = useCallback(() => {\n embla?.scrollPrev();\n onPreviousSlide?.();\n }, [embla]);\n\n const handleNext = useCallback(() => {\n embla?.scrollNext();\n onNextSlide?.();\n }, [embla]);\n\n const handleKeydown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (withKeyboardEvents) {\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n handleNext();\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n handlePrevious();\n }\n }\n },\n [embla]\n );\n\n useEffect(() => {\n if (embla) {\n getEmblaApi?.(embla);\n handleSelect();\n setSlidesCount(embla.scrollSnapList().length);\n embla.on('select', handleSelect);\n\n return () => {\n embla.off('select', handleSelect);\n };\n }\n\n return undefined;\n }, [embla, slidesToScroll]);\n\n useEffect(() => {\n if (embla) {\n embla.reInit();\n setSlidesCount(embla.scrollSnapList().length);\n setSelected((currentSelected) =>\n clamp(currentSelected, 0, Children.toArray(children).length - 1)\n );\n }\n }, [Children.toArray(children).length, slidesToScroll]);\n\n const canScrollPrev = embla?.canScrollPrev() || false;\n const canScrollNext = embla?.canScrollNext() || false;\n\n const indicators = Array(slidesCount)\n .fill(0)\n .map((_, index) => (\n <UnstyledButton\n {...getStyles('indicator')}\n key={index}\n data-active={index === selected || undefined}\n aria-hidden\n tabIndex={-1}\n onClick={() => handleScroll(index)}\n />\n ));\n\n return (\n <CarouselProvider value={{ getStyles, orientation }}>\n <CarouselVariables {...props} selector={`.${responsiveClassName}`} />\n <Box\n ref={ref}\n {...getStyles('root', { className: responsiveClassName })}\n {...others}\n mod={{ orientation, 'include-gap-in-size': includeGapInSize }}\n onKeyDownCapture={handleKeydown}\n >\n <div {...getStyles('viewport')} ref={emblaRefElement}>\n <div {...getStyles('container')} data-orientation={orientation}>\n {children}\n </div>\n </div>\n\n {withIndicators && <div {...getStyles('indicators')}>{indicators}</div>}\n\n {withControls && (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...previousControlProps}\n {...getStyles('control', {\n className: previousControlProps?.className,\n style: previousControlProps?.style,\n })}\n onClick={(event) => {\n handlePrevious();\n previousControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollPrev || undefined}\n tabIndex={canScrollPrev ? 0 : -1}\n >\n {typeof previousControlIcon !== 'undefined' ? (\n previousControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'previous',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n\n <UnstyledButton\n {...getStyles('control', {\n className: nextControlProps?.className,\n style: nextControlProps?.style,\n })}\n {...nextControlProps}\n onClick={(event) => {\n handleNext();\n nextControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollNext || undefined}\n tabIndex={canScrollNext ? 0 : -1}\n >\n {typeof nextControlIcon !== 'undefined' ? (\n nextControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'next',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n </div>\n )}\n </Box>\n </CarouselProvider>\n );\n});\n\nCarousel.classes = classes;\nCarousel.displayName = '@mantine/core/Carousel';\nCarousel.Slide = CarouselSlide;\n"],"names":["createVarsResolver","rem","getSpacing","factory","useProps","useStyles","classes","useRandomClassName","useDirection","useEmblaCarousel","useState","useCallback","useEffect","clamp","Children","React","UnstyledButton","CarouselProvider","CarouselVariables","Box","AccordionChevron","getChevronRotation","CarouselSlide"],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.js","sources":["../src/Carousel.tsx"],"sourcesContent":["import React, { Children, useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSpacing,\n StyleProp,\n useDirection,\n UnstyledButton,\n AccordionChevron,\n useRandomClassName,\n rem,\n getSpacing,\n} from '@mantine/core';\nimport { clamp } from '@mantine/hooks';\nimport useEmblaCarousel, { EmblaPluginType, EmblaCarouselType } from 'embla-carousel-react';\nimport { getChevronRotation } from './get-chevron-rotation';\nimport { CarouselProvider } from './Carousel.context';\nimport { CarouselSlide } from './CarouselSlide/CarouselSlide';\nimport { CarouselVariables } from './CarouselVariables/CarouselVariables';\nimport classes from './Carousel.module.css';\n\nexport type CarouselStylesNames =\n | 'slide'\n | 'root'\n | 'viewport'\n | 'container'\n | 'controls'\n | 'control'\n | 'indicators'\n | 'indicator';\n\nexport type CarouselCssVariables = {\n root: '--carousel-height' | '--carousel-control-size' | '--carousel-controls-offset';\n};\n\nexport interface CarouselProps\n extends BoxProps,\n StylesApiProps<CarouselFactory>,\n ElementProps<'div'> {\n /** <Carousel.Slide /> components */\n children?: React.ReactNode;\n\n /** Called when next slide is shown */\n onNextSlide?: () => void;\n\n /** Called when previous slider is shown */\n onPreviousSlide?: () => void;\n\n /** Called with slide index when slide changes */\n onSlideChange?: (index: number) => void;\n\n /** Get embla API as ref */\n getEmblaApi?: (embla: EmblaCarouselType) => void;\n\n /** Props passed down to next control */\n nextControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Props passed down to previous control */\n previousControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Controls size of the next and previous controls, `26` by default */\n controlSize?: React.CSSProperties['width'];\n\n /** Controls position of the next and previous controls, key of `theme.spacing` or any valid CSS value, `'sm'` by default */\n controlsOffset?: MantineSpacing;\n\n /** Controls slide width based on viewport width, `'100%'` by default */\n slideSize?: StyleProp<string | number>;\n\n /** Key of theme.spacing or number to set gap between slides */\n slideGap?: StyleProp<MantineSpacing>;\n\n /** Carousel orientation, `'horizontal'` by default */\n orientation?: 'horizontal' | 'vertical';\n\n /** Slides container `height`, required for vertical orientation */\n height?: React.CSSProperties['height'];\n\n /** Determines how slides will be aligned relative to the container. Use number between 0-1 to align slides based on percentage, where 0.5 is 50%, `'center'` by default */\n align?: 'start' | 'center' | 'end' | number;\n\n /** Number of slides that will be scrolled with next/previous buttons, `1` by default */\n slidesToScroll?: number | 'auto';\n\n /** Determines whether gap between slides should be treated as part of the slide size, `true` by default */\n includeGapInSize?: boolean;\n\n /** Determines whether the carousel can be scrolled with mouse and touch interactions, `true` by default */\n draggable?: boolean;\n\n /** Determines whether momentum scrolling should be enabled, `false` by default */\n dragFree?: boolean;\n\n /** Enables infinite looping. `true` by default, automatically falls back to `false` if slide content isn't enough to loop. */\n loop?: boolean;\n\n /** Adjusts scroll speed when triggered by any of the methods. Higher numbers enables faster scrolling. */\n speed?: number;\n\n /** Index of initial slide */\n initialSlide?: number;\n\n /** Choose a fraction representing the percentage portion of a slide that needs to be visible in order to be considered in view. For example, 0.5 equals 50%. */\n inViewThreshold?: number;\n\n /** Determines whether next/previous controls should be displayed, true by default */\n withControls?: boolean;\n\n /** Determines whether indicators should be displayed, `false` by default */\n withIndicators?: boolean;\n\n /** An array of embla plugins */\n plugins?: EmblaPluginType[];\n\n /** Icon of the next control */\n nextControlIcon?: React.ReactNode;\n\n /** Icon of the previous control */\n previousControlIcon?: React.ReactNode;\n\n /** Allow the carousel to skip scroll snaps if it is dragged vigorously. Note that this option will be ignored if the dragFree option is set to `true`, `false` by default */\n skipSnaps?: boolean;\n\n /** Clear leading and trailing empty space that causes excessive scrolling. Use `trimSnaps` to only use snap points that trigger scrolling or keepSnaps to keep them. */\n containScroll?: 'trimSnaps' | 'keepSnaps' | '';\n\n /** Determines whether arrow key should switch slides, `true` by default */\n withKeyboardEvents?: boolean;\n}\n\nexport type CarouselFactory = Factory<{\n props: CarouselProps;\n ref: HTMLDivElement;\n stylesNames: CarouselStylesNames;\n vars: CarouselCssVariables;\n staticComponents: {\n Slide: typeof CarouselSlide;\n };\n}>;\n\nconst defaultProps: Partial<CarouselProps> = {\n controlSize: 26,\n controlsOffset: 'sm',\n slideSize: '100%',\n slideGap: 0,\n orientation: 'horizontal',\n align: 'center',\n slidesToScroll: 1,\n includeGapInSize: true,\n draggable: true,\n dragFree: false,\n loop: false,\n speed: 10,\n initialSlide: 0,\n inViewThreshold: 0,\n withControls: true,\n withIndicators: false,\n skipSnaps: false,\n containScroll: '',\n withKeyboardEvents: true,\n};\n\nconst varsResolver = createVarsResolver<CarouselFactory>(\n (_, { height, controlSize, controlsOffset }) => ({\n root: {\n '--carousel-height': rem(height),\n '--carousel-control-size': rem(controlSize),\n '--carousel-controls-offset': getSpacing(controlsOffset),\n },\n })\n);\n\nexport const Carousel = factory<CarouselFactory>((_props, ref) => {\n const props = useProps('Carousel', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n getEmblaApi,\n onNextSlide,\n onPreviousSlide,\n onSlideChange,\n nextControlProps,\n previousControlProps,\n controlSize,\n controlsOffset,\n slideSize,\n slideGap,\n orientation,\n height,\n align,\n slidesToScroll,\n includeGapInSize,\n draggable,\n dragFree,\n loop,\n speed,\n initialSlide,\n inViewThreshold,\n withControls,\n withIndicators,\n plugins,\n nextControlIcon,\n previousControlIcon,\n skipSnaps,\n containScroll,\n withKeyboardEvents,\n ...others\n } = props;\n\n const getStyles = useStyles<CarouselFactory>({\n name: 'Carousel',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const responsiveClassName = useRandomClassName();\n const { dir } = useDirection();\n\n const [emblaRefElement, embla] = useEmblaCarousel(\n {\n axis: orientation === 'horizontal' ? 'x' : 'y',\n direction: orientation === 'horizontal' ? dir : undefined,\n startIndex: initialSlide,\n loop,\n align,\n slidesToScroll,\n draggable,\n dragFree,\n speed,\n inViewThreshold,\n skipSnaps,\n containScroll,\n },\n plugins\n );\n\n const [selected, setSelected] = useState(0);\n const [slidesCount, setSlidesCount] = useState(0);\n\n const handleScroll = useCallback((index: number) => embla && embla.scrollTo(index), [embla]);\n\n const handleSelect = useCallback(() => {\n if (!embla) return;\n const slide = embla.selectedScrollSnap();\n setSelected(slide);\n onSlideChange?.(slide);\n }, [embla, setSelected]);\n\n const handlePrevious = useCallback(() => {\n embla?.scrollPrev();\n onPreviousSlide?.();\n }, [embla]);\n\n const handleNext = useCallback(() => {\n embla?.scrollNext();\n onNextSlide?.();\n }, [embla]);\n\n const handleKeydown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (withKeyboardEvents) {\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n handleNext();\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n handlePrevious();\n }\n }\n },\n [embla]\n );\n\n useEffect(() => {\n if (embla) {\n getEmblaApi?.(embla);\n handleSelect();\n setSlidesCount(embla.scrollSnapList().length);\n embla.on('select', handleSelect);\n\n return () => {\n embla.off('select', handleSelect);\n };\n }\n\n return undefined;\n }, [embla, slidesToScroll]);\n\n useEffect(() => {\n if (embla) {\n embla.reInit();\n setSlidesCount(embla.scrollSnapList().length);\n setSelected((currentSelected) =>\n clamp(currentSelected, 0, Children.toArray(children).length - 1)\n );\n }\n }, [Children.toArray(children).length, slidesToScroll]);\n\n const canScrollPrev = embla?.canScrollPrev() || false;\n const canScrollNext = embla?.canScrollNext() || false;\n\n const indicators = Array(slidesCount)\n .fill(0)\n .map((_, index) => (\n <UnstyledButton\n {...getStyles('indicator')}\n key={index}\n data-active={index === selected || undefined}\n aria-hidden\n tabIndex={-1}\n onClick={() => handleScroll(index)}\n />\n ));\n\n return (\n <CarouselProvider value={{ getStyles, orientation }}>\n <CarouselVariables {...props} selector={`.${responsiveClassName}`} />\n <Box\n ref={ref}\n {...getStyles('root', { className: responsiveClassName })}\n {...others}\n mod={{ orientation, 'include-gap-in-size': includeGapInSize }}\n onKeyDownCapture={handleKeydown}\n >\n <div {...getStyles('viewport')} ref={emblaRefElement}>\n <div {...getStyles('container')} data-orientation={orientation}>\n {children}\n </div>\n </div>\n\n {withIndicators && <div {...getStyles('indicators')}>{indicators}</div>}\n\n {withControls && (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...previousControlProps}\n {...getStyles('control', {\n className: previousControlProps?.className,\n style: previousControlProps?.style,\n })}\n onClick={(event) => {\n handlePrevious();\n previousControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollPrev || undefined}\n tabIndex={canScrollPrev ? 0 : -1}\n >\n {typeof previousControlIcon !== 'undefined' ? (\n previousControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'previous',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n\n <UnstyledButton\n {...getStyles('control', {\n className: nextControlProps?.className,\n style: nextControlProps?.style,\n })}\n {...nextControlProps}\n onClick={(event) => {\n handleNext();\n nextControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollNext || undefined}\n tabIndex={canScrollNext ? 0 : -1}\n >\n {typeof nextControlIcon !== 'undefined' ? (\n nextControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'next',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n </div>\n )}\n </Box>\n </CarouselProvider>\n );\n});\n\nCarousel.classes = classes;\nCarousel.displayName = '@mantine/core/Carousel';\nCarousel.Slide = CarouselSlide;\n"],"names":["createVarsResolver","rem","getSpacing","factory","useProps","useStyles","classes","useRandomClassName","useDirection","useEmblaCarousel","useState","useCallback","useEffect","clamp","Children","React","UnstyledButton","CarouselProvider","CarouselVariables","Box","AccordionChevron","getChevronRotation","CarouselSlide"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.mjs","sources":["../src/Carousel.tsx"],"sourcesContent":["import React, { Children, useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSpacing,\n StyleProp,\n useDirection,\n UnstyledButton,\n AccordionChevron,\n useRandomClassName,\n rem,\n getSpacing,\n} from '@mantine/core';\nimport { clamp } from '@mantine/hooks';\nimport useEmblaCarousel, { EmblaPluginType, EmblaCarouselType } from 'embla-carousel-react';\nimport { getChevronRotation } from './get-chevron-rotation';\nimport { CarouselProvider } from './Carousel.context';\nimport { CarouselSlide } from './CarouselSlide/CarouselSlide';\nimport { CarouselVariables } from './CarouselVariables/CarouselVariables';\nimport classes from './Carousel.module.css';\n\nexport type CarouselStylesNames =\n | 'slide'\n | 'root'\n | 'viewport'\n | 'container'\n | 'controls'\n | 'control'\n | 'indicators'\n | 'indicator';\n\nexport type CarouselCssVariables = {\n root: '--carousel-height' | '--carousel-control-size' | '--carousel-controls-offset';\n};\n\nexport interface CarouselProps\n extends BoxProps,\n StylesApiProps<CarouselFactory>,\n ElementProps<'div'> {\n /** <Carousel.Slide /> components */\n children?: React.ReactNode;\n\n /** Called when next slide is shown */\n onNextSlide?(): void;\n\n /** Called when previous slider is shown */\n onPreviousSlide?(): void;\n\n /** Called with slide index when slide changes */\n onSlideChange?(index: number): void;\n\n /** Get embla API as ref */\n getEmblaApi?(embla: EmblaCarouselType): void;\n\n /** Props passed down to next control */\n nextControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Props passed down to previous control */\n previousControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Controls size of the next and previous controls, `26` by default */\n controlSize?: React.CSSProperties['width'];\n\n /** Controls position of the next and previous controls, key of `theme.spacing` or any valid CSS value, `'sm'` by default */\n controlsOffset?: MantineSpacing;\n\n /** Controls slide width based on viewport width, `'100%'` by default */\n slideSize?: StyleProp<string | number>;\n\n /** Key of theme.spacing or number to set gap between slides */\n slideGap?: StyleProp<MantineSpacing>;\n\n /** Carousel orientation, `'horizontal'` by default */\n orientation?: 'horizontal' | 'vertical';\n\n /** Slides container `height`, required for vertical orientation */\n height?: React.CSSProperties['height'];\n\n /** Determines how slides will be aligned relative to the container. Use number between 0-1 to align slides based on percentage, where 0.5 is 50%, `'center'` by default */\n align?: 'start' | 'center' | 'end' | number;\n\n /** Number of slides that will be scrolled with next/previous buttons, `1` by default */\n slidesToScroll?: number | 'auto';\n\n /** Determines whether gap between slides should be treated as part of the slide size, `true` by default */\n includeGapInSize?: boolean;\n\n /** Determines whether the carousel can be scrolled with mouse and touch interactions, `true` by default */\n draggable?: boolean;\n\n /** Determines whether momentum scrolling should be enabled, `false` by default */\n dragFree?: boolean;\n\n /** Enables infinite looping. `true` by default, automatically falls back to `false` if slide content isn't enough to loop. */\n loop?: boolean;\n\n /** Adjusts scroll speed when triggered by any of the methods. Higher numbers enables faster scrolling. */\n speed?: number;\n\n /** Index of initial slide */\n initialSlide?: number;\n\n /** Choose a fraction representing the percentage portion of a slide that needs to be visible in order to be considered in view. For example, 0.5 equals 50%. */\n inViewThreshold?: number;\n\n /** Determines whether next/previous controls should be displayed, true by default */\n withControls?: boolean;\n\n /** Determines whether indicators should be displayed, `false` by default */\n withIndicators?: boolean;\n\n /** An array of embla plugins */\n plugins?: EmblaPluginType[];\n\n /** Icon of the next control */\n nextControlIcon?: React.ReactNode;\n\n /** Icon of the previous control */\n previousControlIcon?: React.ReactNode;\n\n /** Allow the carousel to skip scroll snaps if it is dragged vigorously. Note that this option will be ignored if the dragFree option is set to `true`, `false` by default */\n skipSnaps?: boolean;\n\n /** Clear leading and trailing empty space that causes excessive scrolling. Use `trimSnaps` to only use snap points that trigger scrolling or keepSnaps to keep them. */\n containScroll?: 'trimSnaps' | 'keepSnaps' | '';\n\n /** Determines whether arrow key should switch slides, `true` by default */\n withKeyboardEvents?: boolean;\n}\n\nexport type CarouselFactory = Factory<{\n props: CarouselProps;\n ref: HTMLDivElement;\n stylesNames: CarouselStylesNames;\n vars: CarouselCssVariables;\n staticComponents: {\n Slide: typeof CarouselSlide;\n };\n}>;\n\nconst defaultProps: Partial<CarouselProps> = {\n controlSize: 26,\n controlsOffset: 'sm',\n slideSize: '100%',\n slideGap: 0,\n orientation: 'horizontal',\n align: 'center',\n slidesToScroll: 1,\n includeGapInSize: true,\n draggable: true,\n dragFree: false,\n loop: false,\n speed: 10,\n initialSlide: 0,\n inViewThreshold: 0,\n withControls: true,\n withIndicators: false,\n skipSnaps: false,\n containScroll: '',\n withKeyboardEvents: true,\n};\n\nconst varsResolver = createVarsResolver<CarouselFactory>(\n (_, { height, controlSize, controlsOffset }) => ({\n root: {\n '--carousel-height': rem(height),\n '--carousel-control-size': rem(controlSize),\n '--carousel-controls-offset': getSpacing(controlsOffset),\n },\n })\n);\n\nexport const Carousel = factory<CarouselFactory>((_props, ref) => {\n const props = useProps('Carousel', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n getEmblaApi,\n onNextSlide,\n onPreviousSlide,\n onSlideChange,\n nextControlProps,\n previousControlProps,\n controlSize,\n controlsOffset,\n slideSize,\n slideGap,\n orientation,\n height,\n align,\n slidesToScroll,\n includeGapInSize,\n draggable,\n dragFree,\n loop,\n speed,\n initialSlide,\n inViewThreshold,\n withControls,\n withIndicators,\n plugins,\n nextControlIcon,\n previousControlIcon,\n skipSnaps,\n containScroll,\n withKeyboardEvents,\n ...others\n } = props;\n\n const getStyles = useStyles<CarouselFactory>({\n name: 'Carousel',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const responsiveClassName = useRandomClassName();\n const { dir } = useDirection();\n\n const [emblaRefElement, embla] = useEmblaCarousel(\n {\n axis: orientation === 'horizontal' ? 'x' : 'y',\n direction: orientation === 'horizontal' ? dir : undefined,\n startIndex: initialSlide,\n loop,\n align,\n slidesToScroll,\n draggable,\n dragFree,\n speed,\n inViewThreshold,\n skipSnaps,\n containScroll,\n },\n plugins\n );\n\n const [selected, setSelected] = useState(0);\n const [slidesCount, setSlidesCount] = useState(0);\n\n const handleScroll = useCallback((index: number) => embla && embla.scrollTo(index), [embla]);\n\n const handleSelect = useCallback(() => {\n if (!embla) return;\n const slide = embla.selectedScrollSnap();\n setSelected(slide);\n onSlideChange?.(slide);\n }, [embla, setSelected]);\n\n const handlePrevious = useCallback(() => {\n embla?.scrollPrev();\n onPreviousSlide?.();\n }, [embla]);\n\n const handleNext = useCallback(() => {\n embla?.scrollNext();\n onNextSlide?.();\n }, [embla]);\n\n const handleKeydown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (withKeyboardEvents) {\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n handleNext();\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n handlePrevious();\n }\n }\n },\n [embla]\n );\n\n useEffect(() => {\n if (embla) {\n getEmblaApi?.(embla);\n handleSelect();\n setSlidesCount(embla.scrollSnapList().length);\n embla.on('select', handleSelect);\n\n return () => {\n embla.off('select', handleSelect);\n };\n }\n\n return undefined;\n }, [embla, slidesToScroll]);\n\n useEffect(() => {\n if (embla) {\n embla.reInit();\n setSlidesCount(embla.scrollSnapList().length);\n setSelected((currentSelected) =>\n clamp(currentSelected, 0, Children.toArray(children).length - 1)\n );\n }\n }, [Children.toArray(children).length, slidesToScroll]);\n\n const canScrollPrev = embla?.canScrollPrev() || false;\n const canScrollNext = embla?.canScrollNext() || false;\n\n const indicators = Array(slidesCount)\n .fill(0)\n .map((_, index) => (\n <UnstyledButton\n {...getStyles('indicator')}\n key={index}\n data-active={index === selected || undefined}\n aria-hidden\n tabIndex={-1}\n onClick={() => handleScroll(index)}\n />\n ));\n\n return (\n <CarouselProvider value={{ getStyles, orientation }}>\n <CarouselVariables {...props} selector={`.${responsiveClassName}`} />\n <Box\n ref={ref}\n {...getStyles('root', { className: responsiveClassName })}\n {...others}\n mod={{ orientation, 'include-gap-in-size': includeGapInSize }}\n onKeyDownCapture={handleKeydown}\n >\n <div {...getStyles('viewport')} ref={emblaRefElement}>\n <div {...getStyles('container')} data-orientation={orientation}>\n {children}\n </div>\n </div>\n\n {withIndicators && <div {...getStyles('indicators')}>{indicators}</div>}\n\n {withControls && (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...previousControlProps}\n {...getStyles('control', {\n className: previousControlProps?.className,\n style: previousControlProps?.style,\n })}\n onClick={(event) => {\n handlePrevious();\n previousControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollPrev || undefined}\n tabIndex={canScrollPrev ? 0 : -1}\n >\n {typeof previousControlIcon !== 'undefined' ? (\n previousControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'previous',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n\n <UnstyledButton\n {...getStyles('control', {\n className: nextControlProps?.className,\n style: nextControlProps?.style,\n })}\n {...nextControlProps}\n onClick={(event) => {\n handleNext();\n nextControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollNext || undefined}\n tabIndex={canScrollNext ? 0 : -1}\n >\n {typeof nextControlIcon !== 'undefined' ? (\n nextControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'next',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n </div>\n )}\n </Box>\n </CarouselProvider>\n );\n});\n\nCarousel.classes = classes;\nCarousel.displayName = '@mantine/core/Carousel';\nCarousel.Slide = CarouselSlide;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.mjs","sources":["../src/Carousel.tsx"],"sourcesContent":["import React, { Children, useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSpacing,\n StyleProp,\n useDirection,\n UnstyledButton,\n AccordionChevron,\n useRandomClassName,\n rem,\n getSpacing,\n} from '@mantine/core';\nimport { clamp } from '@mantine/hooks';\nimport useEmblaCarousel, { EmblaPluginType, EmblaCarouselType } from 'embla-carousel-react';\nimport { getChevronRotation } from './get-chevron-rotation';\nimport { CarouselProvider } from './Carousel.context';\nimport { CarouselSlide } from './CarouselSlide/CarouselSlide';\nimport { CarouselVariables } from './CarouselVariables/CarouselVariables';\nimport classes from './Carousel.module.css';\n\nexport type CarouselStylesNames =\n | 'slide'\n | 'root'\n | 'viewport'\n | 'container'\n | 'controls'\n | 'control'\n | 'indicators'\n | 'indicator';\n\nexport type CarouselCssVariables = {\n root: '--carousel-height' | '--carousel-control-size' | '--carousel-controls-offset';\n};\n\nexport interface CarouselProps\n extends BoxProps,\n StylesApiProps<CarouselFactory>,\n ElementProps<'div'> {\n /** <Carousel.Slide /> components */\n children?: React.ReactNode;\n\n /** Called when next slide is shown */\n onNextSlide?: () => void;\n\n /** Called when previous slider is shown */\n onPreviousSlide?: () => void;\n\n /** Called with slide index when slide changes */\n onSlideChange?: (index: number) => void;\n\n /** Get embla API as ref */\n getEmblaApi?: (embla: EmblaCarouselType) => void;\n\n /** Props passed down to next control */\n nextControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Props passed down to previous control */\n previousControlProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Controls size of the next and previous controls, `26` by default */\n controlSize?: React.CSSProperties['width'];\n\n /** Controls position of the next and previous controls, key of `theme.spacing` or any valid CSS value, `'sm'` by default */\n controlsOffset?: MantineSpacing;\n\n /** Controls slide width based on viewport width, `'100%'` by default */\n slideSize?: StyleProp<string | number>;\n\n /** Key of theme.spacing or number to set gap between slides */\n slideGap?: StyleProp<MantineSpacing>;\n\n /** Carousel orientation, `'horizontal'` by default */\n orientation?: 'horizontal' | 'vertical';\n\n /** Slides container `height`, required for vertical orientation */\n height?: React.CSSProperties['height'];\n\n /** Determines how slides will be aligned relative to the container. Use number between 0-1 to align slides based on percentage, where 0.5 is 50%, `'center'` by default */\n align?: 'start' | 'center' | 'end' | number;\n\n /** Number of slides that will be scrolled with next/previous buttons, `1` by default */\n slidesToScroll?: number | 'auto';\n\n /** Determines whether gap between slides should be treated as part of the slide size, `true` by default */\n includeGapInSize?: boolean;\n\n /** Determines whether the carousel can be scrolled with mouse and touch interactions, `true` by default */\n draggable?: boolean;\n\n /** Determines whether momentum scrolling should be enabled, `false` by default */\n dragFree?: boolean;\n\n /** Enables infinite looping. `true` by default, automatically falls back to `false` if slide content isn't enough to loop. */\n loop?: boolean;\n\n /** Adjusts scroll speed when triggered by any of the methods. Higher numbers enables faster scrolling. */\n speed?: number;\n\n /** Index of initial slide */\n initialSlide?: number;\n\n /** Choose a fraction representing the percentage portion of a slide that needs to be visible in order to be considered in view. For example, 0.5 equals 50%. */\n inViewThreshold?: number;\n\n /** Determines whether next/previous controls should be displayed, true by default */\n withControls?: boolean;\n\n /** Determines whether indicators should be displayed, `false` by default */\n withIndicators?: boolean;\n\n /** An array of embla plugins */\n plugins?: EmblaPluginType[];\n\n /** Icon of the next control */\n nextControlIcon?: React.ReactNode;\n\n /** Icon of the previous control */\n previousControlIcon?: React.ReactNode;\n\n /** Allow the carousel to skip scroll snaps if it is dragged vigorously. Note that this option will be ignored if the dragFree option is set to `true`, `false` by default */\n skipSnaps?: boolean;\n\n /** Clear leading and trailing empty space that causes excessive scrolling. Use `trimSnaps` to only use snap points that trigger scrolling or keepSnaps to keep them. */\n containScroll?: 'trimSnaps' | 'keepSnaps' | '';\n\n /** Determines whether arrow key should switch slides, `true` by default */\n withKeyboardEvents?: boolean;\n}\n\nexport type CarouselFactory = Factory<{\n props: CarouselProps;\n ref: HTMLDivElement;\n stylesNames: CarouselStylesNames;\n vars: CarouselCssVariables;\n staticComponents: {\n Slide: typeof CarouselSlide;\n };\n}>;\n\nconst defaultProps: Partial<CarouselProps> = {\n controlSize: 26,\n controlsOffset: 'sm',\n slideSize: '100%',\n slideGap: 0,\n orientation: 'horizontal',\n align: 'center',\n slidesToScroll: 1,\n includeGapInSize: true,\n draggable: true,\n dragFree: false,\n loop: false,\n speed: 10,\n initialSlide: 0,\n inViewThreshold: 0,\n withControls: true,\n withIndicators: false,\n skipSnaps: false,\n containScroll: '',\n withKeyboardEvents: true,\n};\n\nconst varsResolver = createVarsResolver<CarouselFactory>(\n (_, { height, controlSize, controlsOffset }) => ({\n root: {\n '--carousel-height': rem(height),\n '--carousel-control-size': rem(controlSize),\n '--carousel-controls-offset': getSpacing(controlsOffset),\n },\n })\n);\n\nexport const Carousel = factory<CarouselFactory>((_props, ref) => {\n const props = useProps('Carousel', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n getEmblaApi,\n onNextSlide,\n onPreviousSlide,\n onSlideChange,\n nextControlProps,\n previousControlProps,\n controlSize,\n controlsOffset,\n slideSize,\n slideGap,\n orientation,\n height,\n align,\n slidesToScroll,\n includeGapInSize,\n draggable,\n dragFree,\n loop,\n speed,\n initialSlide,\n inViewThreshold,\n withControls,\n withIndicators,\n plugins,\n nextControlIcon,\n previousControlIcon,\n skipSnaps,\n containScroll,\n withKeyboardEvents,\n ...others\n } = props;\n\n const getStyles = useStyles<CarouselFactory>({\n name: 'Carousel',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const responsiveClassName = useRandomClassName();\n const { dir } = useDirection();\n\n const [emblaRefElement, embla] = useEmblaCarousel(\n {\n axis: orientation === 'horizontal' ? 'x' : 'y',\n direction: orientation === 'horizontal' ? dir : undefined,\n startIndex: initialSlide,\n loop,\n align,\n slidesToScroll,\n draggable,\n dragFree,\n speed,\n inViewThreshold,\n skipSnaps,\n containScroll,\n },\n plugins\n );\n\n const [selected, setSelected] = useState(0);\n const [slidesCount, setSlidesCount] = useState(0);\n\n const handleScroll = useCallback((index: number) => embla && embla.scrollTo(index), [embla]);\n\n const handleSelect = useCallback(() => {\n if (!embla) return;\n const slide = embla.selectedScrollSnap();\n setSelected(slide);\n onSlideChange?.(slide);\n }, [embla, setSelected]);\n\n const handlePrevious = useCallback(() => {\n embla?.scrollPrev();\n onPreviousSlide?.();\n }, [embla]);\n\n const handleNext = useCallback(() => {\n embla?.scrollNext();\n onNextSlide?.();\n }, [embla]);\n\n const handleKeydown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (withKeyboardEvents) {\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n handleNext();\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n handlePrevious();\n }\n }\n },\n [embla]\n );\n\n useEffect(() => {\n if (embla) {\n getEmblaApi?.(embla);\n handleSelect();\n setSlidesCount(embla.scrollSnapList().length);\n embla.on('select', handleSelect);\n\n return () => {\n embla.off('select', handleSelect);\n };\n }\n\n return undefined;\n }, [embla, slidesToScroll]);\n\n useEffect(() => {\n if (embla) {\n embla.reInit();\n setSlidesCount(embla.scrollSnapList().length);\n setSelected((currentSelected) =>\n clamp(currentSelected, 0, Children.toArray(children).length - 1)\n );\n }\n }, [Children.toArray(children).length, slidesToScroll]);\n\n const canScrollPrev = embla?.canScrollPrev() || false;\n const canScrollNext = embla?.canScrollNext() || false;\n\n const indicators = Array(slidesCount)\n .fill(0)\n .map((_, index) => (\n <UnstyledButton\n {...getStyles('indicator')}\n key={index}\n data-active={index === selected || undefined}\n aria-hidden\n tabIndex={-1}\n onClick={() => handleScroll(index)}\n />\n ));\n\n return (\n <CarouselProvider value={{ getStyles, orientation }}>\n <CarouselVariables {...props} selector={`.${responsiveClassName}`} />\n <Box\n ref={ref}\n {...getStyles('root', { className: responsiveClassName })}\n {...others}\n mod={{ orientation, 'include-gap-in-size': includeGapInSize }}\n onKeyDownCapture={handleKeydown}\n >\n <div {...getStyles('viewport')} ref={emblaRefElement}>\n <div {...getStyles('container')} data-orientation={orientation}>\n {children}\n </div>\n </div>\n\n {withIndicators && <div {...getStyles('indicators')}>{indicators}</div>}\n\n {withControls && (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...previousControlProps}\n {...getStyles('control', {\n className: previousControlProps?.className,\n style: previousControlProps?.style,\n })}\n onClick={(event) => {\n handlePrevious();\n previousControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollPrev || undefined}\n tabIndex={canScrollPrev ? 0 : -1}\n >\n {typeof previousControlIcon !== 'undefined' ? (\n previousControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'previous',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n\n <UnstyledButton\n {...getStyles('control', {\n className: nextControlProps?.className,\n style: nextControlProps?.style,\n })}\n {...nextControlProps}\n onClick={(event) => {\n handleNext();\n nextControlProps?.onClick?.(event);\n }}\n data-inactive={!canScrollNext || undefined}\n tabIndex={canScrollNext ? 0 : -1}\n >\n {typeof nextControlIcon !== 'undefined' ? (\n nextControlIcon\n ) : (\n <AccordionChevron\n style={{\n transform: `rotate(${getChevronRotation({\n dir,\n orientation,\n direction: 'next',\n })}deg)`,\n }}\n />\n )}\n </UnstyledButton>\n </div>\n )}\n </Box>\n </CarouselProvider>\n );\n});\n\nCarousel.classes = classes;\nCarousel.displayName = '@mantine/core/Carousel';\nCarousel.Slide = CarouselSlide;\n"],"names":[],"mappings":"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"}
package/lib/Carousel.d.ts CHANGED
@@ -10,13 +10,13 @@ export interface CarouselProps extends BoxProps, StylesApiProps<CarouselFactory>
10
10
  /** <Carousel.Slide /> components */
11
11
  children?: React.ReactNode;
12
12
  /** Called when next slide is shown */
13
- onNextSlide?(): void;
13
+ onNextSlide?: () => void;
14
14
  /** Called when previous slider is shown */
15
- onPreviousSlide?(): void;
15
+ onPreviousSlide?: () => void;
16
16
  /** Called with slide index when slide changes */
17
- onSlideChange?(index: number): void;
17
+ onSlideChange?: (index: number) => void;
18
18
  /** Get embla API as ref */
19
- getEmblaApi?(embla: EmblaCarouselType): void;
19
+ getEmblaApi?: (embla: EmblaCarouselType) => void;
20
20
  /** Props passed down to next control */
21
21
  nextControlProps?: React.ComponentPropsWithoutRef<'button'>;
22
22
  /** Props passed down to previous control */
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../src/Carousel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../src/Carousel.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mantine/carousel",
3
3
  "description": "Embla based carousel",
4
- "version": "7.1.3",
4
+ "version": "7.1.4",
5
5
  "main": "./cjs/index.js",
6
6
  "types": "./lib/index.d.ts",
7
7
  "module": "./esm/index.mjs",
@@ -45,8 +45,8 @@
45
45
  "slick"
46
46
  ],
47
47
  "peerDependencies": {
48
- "@mantine/core": "7.1.3",
49
- "@mantine/hooks": "7.1.3",
48
+ "@mantine/core": "7.1.4",
49
+ "@mantine/hooks": "7.1.4",
50
50
  "embla-carousel-react": "^7.0.0",
51
51
  "react": "^18.2.0"
52
52
  },