@salutejs/plasma-new-hope 0.326.0-canary.2013.15518408913.0 → 0.326.0-canary.2014.15531870271.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/cjs/components/Carousel/Carousel.css +4 -0
- package/cjs/components/Carousel/{CarouselOld/Carousel.js → Carousel.js} +1 -1
- package/cjs/components/Carousel/Carousel.js.map +1 -0
- package/cjs/components/Carousel/{CarouselOld/Carousel.styles.js → Carousel.styles.js} +9 -9
- package/cjs/components/Carousel/Carousel.styles.js.map +1 -0
- package/cjs/components/Carousel/Carousel.styles_zmchjj.css +4 -0
- package/cjs/components/Carousel/{CarouselOld/CarouselItem.js → CarouselItem.js} +5 -5
- package/cjs/components/Carousel/CarouselItem.js.map +1 -0
- package/cjs/components/Carousel/CarouselItem_cqjszm.css +1 -0
- package/cjs/components/Carousel/useCarousel.js.map +1 -0
- package/cjs/components/Carousel/{CarouselOld/useDragScroll.js → useDragScroll.js} +1 -1
- package/cjs/components/Carousel/useDragScroll.js.map +1 -0
- package/cjs/components/Sheet/hooks/useOverflow.js +2 -1
- package/cjs/components/Sheet/hooks/useOverflow.js.map +1 -1
- package/cjs/index.css +4 -17
- package/cjs/index.js +3 -10
- package/cjs/index.js.map +1 -1
- package/emotion/cjs/components/Carousel/Carousel.styles.js +49 -0
- package/emotion/cjs/components/Carousel/{CarouselOld/CarouselItem.js → CarouselItem.js} +2 -2
- package/emotion/cjs/components/Carousel/index.js +3 -23
- package/emotion/cjs/components/Sheet/hooks/useOverflow.js +2 -1
- package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -14
- package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.js +1 -1
- package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +28 -92
- package/emotion/cjs/hooks/index.js +0 -7
- package/emotion/es/components/Carousel/Carousel.styles.js +42 -0
- package/emotion/es/components/Carousel/{CarouselOld/CarouselItem.js → CarouselItem.js} +2 -2
- package/emotion/es/components/Carousel/index.js +3 -7
- package/emotion/es/components/Sheet/hooks/useOverflow.js +2 -1
- package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -14
- package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.js +2 -2
- package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +28 -92
- package/emotion/es/hooks/index.js +0 -1
- package/es/components/Carousel/Carousel.css +4 -0
- package/es/components/Carousel/{CarouselOld/Carousel.js → Carousel.js} +1 -1
- package/es/components/Carousel/Carousel.js.map +1 -0
- package/es/components/Carousel/{CarouselOld/Carousel.styles.js → Carousel.styles.js} +9 -9
- package/es/components/Carousel/Carousel.styles.js.map +1 -0
- package/es/components/Carousel/Carousel.styles_zmchjj.css +4 -0
- package/es/components/Carousel/{CarouselOld/CarouselItem.js → CarouselItem.js} +5 -5
- package/es/components/Carousel/CarouselItem.js.map +1 -0
- package/es/components/Carousel/CarouselItem_cqjszm.css +1 -0
- package/es/components/Carousel/useCarousel.js.map +1 -0
- package/es/components/Carousel/{CarouselOld/useDragScroll.js → useDragScroll.js} +1 -1
- package/es/components/Carousel/useDragScroll.js.map +1 -0
- package/es/components/Sheet/hooks/useOverflow.js +2 -1
- package/es/components/Sheet/hooks/useOverflow.js.map +1 -1
- package/es/index.css +4 -17
- package/es/index.js +3 -6
- package/es/index.js.map +1 -1
- package/package.json +5 -5
- package/styled-components/cjs/components/Carousel/{CarouselOld/Carousel.styles.js → Carousel.styles.js} +3 -3
- package/styled-components/cjs/components/Carousel/{CarouselOld/CarouselItem.js → CarouselItem.js} +1 -1
- package/styled-components/cjs/components/Carousel/index.js +3 -23
- package/styled-components/cjs/components/Sheet/hooks/useOverflow.js +2 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -14
- package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +28 -92
- package/styled-components/cjs/hooks/index.js +0 -7
- package/styled-components/es/components/Carousel/{CarouselOld/Carousel.styles.js → Carousel.styles.js} +3 -3
- package/styled-components/es/components/Carousel/{CarouselOld/CarouselItem.js → CarouselItem.js} +1 -1
- package/styled-components/es/components/Carousel/index.js +3 -7
- package/styled-components/es/components/Sheet/hooks/useOverflow.js +2 -1
- package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -14
- package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.js +2 -2
- package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +28 -92
- package/styled-components/es/hooks/index.js +0 -1
- package/types/components/Carousel/{CarouselOld/Carousel.d.ts → Carousel.d.ts} +1 -1
- package/types/components/Carousel/Carousel.d.ts.map +1 -0
- package/types/components/Carousel/Carousel.styles.d.ts.map +1 -0
- package/types/components/Carousel/{CarouselOld/Carousel.types.d.ts → Carousel.types.d.ts} +1 -1
- package/types/components/Carousel/Carousel.types.d.ts.map +1 -0
- package/types/components/Carousel/CarouselItem.d.ts.map +1 -0
- package/types/components/Carousel/index.d.ts +4 -7
- package/types/components/Carousel/index.d.ts.map +1 -1
- package/types/components/Carousel/useCarousel.d.ts.map +1 -0
- package/types/components/Carousel/useDragScroll.d.ts.map +1 -0
- package/types/components/Sheet/hooks/useOverflow.d.ts.map +1 -1
- package/types/hooks/index.d.ts +0 -1
- package/types/hooks/index.d.ts.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.css +0 -12
- package/cjs/components/Carousel/CarouselNew/Carousel.js +0 -98
- package/cjs/components/Carousel/CarouselNew/Carousel.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.styles.js +0 -11
- package/cjs/components/Carousel/CarouselNew/Carousel.styles.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +0 -4
- package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +0 -23
- package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +0 -428
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js +0 -62
- package/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.css +0 -5
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +0 -227
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +0 -39
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles_1i4srxq.css +0 -5
- package/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +0 -50
- package/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/variations/_size/base.js +0 -9
- package/cjs/components/Carousel/CarouselNew/variations/_size/base.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/variations/_size/base_x642ct.css +0 -1
- package/cjs/components/Carousel/CarouselNew/variations/_view/base.js +0 -9
- package/cjs/components/Carousel/CarouselNew/variations/_view/base.js.map +0 -1
- package/cjs/components/Carousel/CarouselNew/variations/_view/base_x642ct.css +0 -1
- package/cjs/components/Carousel/CarouselOld/Carousel.css +0 -4
- package/cjs/components/Carousel/CarouselOld/Carousel.js.map +0 -1
- package/cjs/components/Carousel/CarouselOld/Carousel.styles.js.map +0 -1
- package/cjs/components/Carousel/CarouselOld/Carousel.styles_12r304j.css +0 -4
- package/cjs/components/Carousel/CarouselOld/CarouselItem.js.map +0 -1
- package/cjs/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css +0 -1
- package/cjs/components/Carousel/CarouselOld/useCarousel.js.map +0 -1
- package/cjs/components/Carousel/CarouselOld/useDragScroll.js.map +0 -1
- package/cjs/hooks/useDidMountLayoutEffect.js +0 -19
- package/cjs/hooks/useDidMountLayoutEffect.js.map +0 -1
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +0 -99
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.styles.js +0 -51
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +0 -21
- package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +0 -419
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +0 -229
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +0 -38
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +0 -47
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Item/Item.js +0 -38
- package/emotion/cjs/components/Carousel/CarouselNew/ui/index.js +0 -27
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_size/base.js +0 -8
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_size/tokens.json +0 -1
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_view/base.js +0 -8
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_view/tokens.json +0 -1
- package/emotion/cjs/components/Carousel/CarouselOld/Carousel.styles.js +0 -49
- package/emotion/cjs/components/Carousel/CarouselOld/index.js +0 -32
- package/emotion/cjs/hooks/useDidMountLayoutEffect.js +0 -17
- package/emotion/es/components/Carousel/CarouselNew/Carousel.js +0 -94
- package/emotion/es/components/Carousel/CarouselNew/Carousel.styles.js +0 -44
- package/emotion/es/components/Carousel/CarouselNew/Carousel.tokens.js +0 -15
- package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +0 -409
- package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +0 -219
- package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +0 -31
- package/emotion/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +0 -41
- package/emotion/es/components/Carousel/CarouselNew/ui/Item/Item.js +0 -31
- package/emotion/es/components/Carousel/CarouselNew/ui/index.js +0 -2
- package/emotion/es/components/Carousel/CarouselNew/variations/_size/base.js +0 -2
- package/emotion/es/components/Carousel/CarouselNew/variations/_size/tokens.json +0 -1
- package/emotion/es/components/Carousel/CarouselNew/variations/_view/base.js +0 -2
- package/emotion/es/components/Carousel/CarouselNew/variations/_view/tokens.json +0 -1
- package/emotion/es/components/Carousel/CarouselOld/Carousel.styles.js +0 -42
- package/emotion/es/components/Carousel/CarouselOld/index.js +0 -3
- package/emotion/es/hooks/useDidMountLayoutEffect.js +0 -11
- package/es/components/Carousel/CarouselNew/Carousel.css +0 -12
- package/es/components/Carousel/CarouselNew/Carousel.js +0 -89
- package/es/components/Carousel/CarouselNew/Carousel.js.map +0 -1
- package/es/components/Carousel/CarouselNew/Carousel.styles.js +0 -7
- package/es/components/Carousel/CarouselNew/Carousel.styles.js.map +0 -1
- package/es/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +0 -4
- package/es/components/Carousel/CarouselNew/Carousel.tokens.js +0 -18
- package/es/components/Carousel/CarouselNew/Carousel.tokens.js.map +0 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +0 -413
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +0 -1
- package/es/components/Carousel/CarouselNew/hooks/useDragScroll.js +0 -58
- package/es/components/Carousel/CarouselNew/hooks/useDragScroll.js.map +0 -1
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.css +0 -5
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +0 -218
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +0 -1
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +0 -31
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +0 -1
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles_1i4srxq.css +0 -5
- package/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +0 -44
- package/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js.map +0 -1
- package/es/components/Carousel/CarouselNew/variations/_size/base.js +0 -5
- package/es/components/Carousel/CarouselNew/variations/_size/base.js.map +0 -1
- package/es/components/Carousel/CarouselNew/variations/_size/base_x642ct.css +0 -1
- package/es/components/Carousel/CarouselNew/variations/_view/base.js +0 -5
- package/es/components/Carousel/CarouselNew/variations/_view/base.js.map +0 -1
- package/es/components/Carousel/CarouselNew/variations/_view/base_x642ct.css +0 -1
- package/es/components/Carousel/CarouselOld/Carousel.css +0 -4
- package/es/components/Carousel/CarouselOld/Carousel.js.map +0 -1
- package/es/components/Carousel/CarouselOld/Carousel.styles.js.map +0 -1
- package/es/components/Carousel/CarouselOld/Carousel.styles_12r304j.css +0 -4
- package/es/components/Carousel/CarouselOld/CarouselItem.js.map +0 -1
- package/es/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css +0 -1
- package/es/components/Carousel/CarouselOld/useCarousel.js.map +0 -1
- package/es/components/Carousel/CarouselOld/useDragScroll.js.map +0 -1
- package/es/hooks/useDidMountLayoutEffect.js +0 -15
- package/es/hooks/useDidMountLayoutEffect.js.map +0 -1
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +0 -99
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.styles.js +0 -32
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +0 -21
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.types.js +0 -5
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +0 -419
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js +0 -65
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +0 -229
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +0 -24
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +0 -47
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Item/Item.js +0 -37
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/index.js +0 -27
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_size/base.js +0 -8
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_size/tokens.json +0 -1
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_view/base.js +0 -8
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_view/tokens.json +0 -1
- package/styled-components/cjs/components/Carousel/CarouselOld/Carousel.types.js +0 -5
- package/styled-components/cjs/components/Carousel/CarouselOld/index.js +0 -32
- package/styled-components/cjs/components/Carousel/CarouselOld/useDragScroll.js +0 -65
- package/styled-components/cjs/hooks/useDidMountLayoutEffect.js +0 -17
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +0 -94
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.styles.js +0 -24
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.tokens.js +0 -15
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.types.js +0 -1
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +0 -409
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useDragScroll.js +0 -59
- package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +0 -219
- package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +0 -17
- package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +0 -41
- package/styled-components/es/components/Carousel/CarouselNew/ui/Item/Item.js +0 -30
- package/styled-components/es/components/Carousel/CarouselNew/ui/index.js +0 -2
- package/styled-components/es/components/Carousel/CarouselNew/variations/_size/base.js +0 -2
- package/styled-components/es/components/Carousel/CarouselNew/variations/_size/tokens.json +0 -1
- package/styled-components/es/components/Carousel/CarouselNew/variations/_view/base.js +0 -2
- package/styled-components/es/components/Carousel/CarouselNew/variations/_view/tokens.json +0 -1
- package/styled-components/es/components/Carousel/CarouselOld/Carousel.types.js +0 -1
- package/styled-components/es/components/Carousel/CarouselOld/index.js +0 -3
- package/styled-components/es/components/Carousel/CarouselOld/useDragScroll.js +0 -59
- package/styled-components/es/hooks/useDidMountLayoutEffect.js +0 -11
- package/types/components/Carousel/CarouselNew/Carousel.d.ts +0 -32
- package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts +0 -15
- package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts +0 -16
- package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +0 -167
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts +0 -61
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/hooks/useDragScroll.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.d.ts +0 -4
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts +0 -6
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/ui/Dots/utils/index.d.ts +0 -4
- package/types/components/Carousel/CarouselNew/ui/Dots/utils/index.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/ui/Item/Item.d.ts +0 -4
- package/types/components/Carousel/CarouselNew/ui/Item/Item.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/ui/index.d.ts +0 -3
- package/types/components/Carousel/CarouselNew/ui/index.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/variations/_size/base.d.ts +0 -2
- package/types/components/Carousel/CarouselNew/variations/_size/base.d.ts.map +0 -1
- package/types/components/Carousel/CarouselNew/variations/_view/base.d.ts +0 -2
- package/types/components/Carousel/CarouselNew/variations/_view/base.d.ts.map +0 -1
- package/types/components/Carousel/CarouselOld/Carousel.d.ts.map +0 -1
- package/types/components/Carousel/CarouselOld/Carousel.styles.d.ts.map +0 -1
- package/types/components/Carousel/CarouselOld/Carousel.types.d.ts.map +0 -1
- package/types/components/Carousel/CarouselOld/CarouselItem.d.ts.map +0 -1
- package/types/components/Carousel/CarouselOld/index.d.ts +0 -5
- package/types/components/Carousel/CarouselOld/index.d.ts.map +0 -1
- package/types/components/Carousel/CarouselOld/useCarousel.d.ts.map +0 -1
- package/types/components/Carousel/CarouselOld/useDragScroll.d.ts +0 -2
- package/types/components/Carousel/CarouselOld/useDragScroll.d.ts.map +0 -1
- package/types/hooks/useDidMountLayoutEffect.d.ts +0 -2
- package/types/hooks/useDidMountLayoutEffect.d.ts.map +0 -1
- /package/cjs/components/Carousel/{CarouselOld/useCarousel.js → useCarousel.js} +0 -0
- /package/emotion/cjs/components/Carousel/{CarouselOld/Carousel.js → Carousel.js} +0 -0
- /package/emotion/cjs/components/Carousel/{CarouselNew/Carousel.types.js → Carousel.types.js} +0 -0
- /package/emotion/cjs/components/Carousel/{CarouselOld/useCarousel.js → useCarousel.js} +0 -0
- /package/emotion/cjs/components/Carousel/{CarouselNew/hooks/useDragScroll.js → useDragScroll.js} +0 -0
- /package/emotion/es/components/Carousel/{CarouselOld/Carousel.js → Carousel.js} +0 -0
- /package/emotion/es/components/Carousel/{CarouselNew/Carousel.types.js → Carousel.types.js} +0 -0
- /package/emotion/es/components/Carousel/{CarouselOld/useCarousel.js → useCarousel.js} +0 -0
- /package/emotion/es/components/Carousel/{CarouselNew/hooks/useDragScroll.js → useDragScroll.js} +0 -0
- /package/es/components/Carousel/{CarouselOld/useCarousel.js → useCarousel.js} +0 -0
- /package/styled-components/cjs/components/Carousel/{CarouselOld/Carousel.js → Carousel.js} +0 -0
- /package/{emotion/cjs/components/Carousel/CarouselOld → styled-components/cjs/components/Carousel}/Carousel.types.js +0 -0
- /package/styled-components/cjs/components/Carousel/{CarouselOld/useCarousel.js → useCarousel.js} +0 -0
- /package/{emotion/cjs/components/Carousel/CarouselOld → styled-components/cjs/components/Carousel}/useDragScroll.js +0 -0
- /package/styled-components/es/components/Carousel/{CarouselOld/Carousel.js → Carousel.js} +0 -0
- /package/{emotion/es/components/Carousel/CarouselOld → styled-components/es/components/Carousel}/Carousel.types.js +0 -0
- /package/styled-components/es/components/Carousel/{CarouselOld/useCarousel.js → useCarousel.js} +0 -0
- /package/{emotion/es/components/Carousel/CarouselOld → styled-components/es/components/Carousel}/useDragScroll.js +0 -0
- /package/types/components/Carousel/{CarouselOld/Carousel.styles.d.ts → Carousel.styles.d.ts} +0 -0
- /package/types/components/Carousel/{CarouselOld/CarouselItem.d.ts → CarouselItem.d.ts} +0 -0
- /package/types/components/Carousel/{CarouselOld/useCarousel.d.ts → useCarousel.d.ts} +0 -0
- /package/types/components/Carousel/{CarouselNew/hooks/useDragScroll.d.ts → useDragScroll.d.ts} +0 -0
@@ -1,218 +0,0 @@
|
|
1
|
-
import { slicedToArray as _slicedToArray } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
-
import React, { memo, useRef, useLayoutEffect } from 'react';
|
3
|
-
import cls from 'classnames';
|
4
|
-
import { classes } from '../../Carousel.tokens.js';
|
5
|
-
import { getActiveIndex, getTargetIndex, getInitialData } from './utils/index.js';
|
6
|
-
import { Wrapper, TransitionWrapper, LeftAnimationWrapper, DotWrapper, RightAnimationWrapper } from './Dots.styles.js';
|
7
|
-
import { useDidMountLayoutEffect } from '../../../../../hooks/useDidMountLayoutEffect.js';
|
8
|
-
|
9
|
-
var SIZE = 16; // размер точки в px
|
10
|
-
var ANIMATION_DURATION = 0.3; // скорость анимации в секундах
|
11
|
-
|
12
|
-
var Dots = /*#__PURE__*/memo(function (_ref) {
|
13
|
-
var _ref$index = _ref.index,
|
14
|
-
originalIndex = _ref$index === void 0 ? 0 : _ref$index,
|
15
|
-
onChange = _ref.onChange,
|
16
|
-
_ref$centered = _ref.centered,
|
17
|
-
centered = _ref$centered === void 0 ? false : _ref$centered,
|
18
|
-
_ref$count = _ref.count,
|
19
|
-
count = _ref$count === void 0 ? 0 : _ref$count,
|
20
|
-
_ref$visibleCount = _ref.visibleCount,
|
21
|
-
originalVisibleCount = _ref$visibleCount === void 0 ? 0 : _ref$visibleCount;
|
22
|
-
// Трансформируем входные параметры для корректной работы в дальнейшем
|
23
|
-
var _getInitialData = getInitialData(originalIndex, count, originalVisibleCount),
|
24
|
-
_getInitialData2 = _slicedToArray(_getInitialData, 2),
|
25
|
-
index = _getInitialData2[0],
|
26
|
-
visibleCount = _getInitialData2[1];
|
27
|
-
|
28
|
-
// Рефки на DOM-ноды
|
29
|
-
var transitionWrapperRef = useRef(null);
|
30
|
-
var dotWrapperRef = useRef(null);
|
31
|
-
var leftAnimationWrapperRef = useRef(null);
|
32
|
-
var rightAnimationWrapperRef = useRef(null);
|
33
|
-
|
34
|
-
// Консистентные переменные
|
35
|
-
var isAnimating = useRef(false);
|
36
|
-
var prevIndex = useRef(-Infinity);
|
37
|
-
var prevActiveIndex = useRef(Infinity);
|
38
|
-
var isRightDirection = index > prevIndex.current;
|
39
|
-
var diffDotsRange = Math.abs(index - prevIndex.current);
|
40
|
-
var activeIndex = getActiveIndex(index, isRightDirection, count, visibleCount);
|
41
|
-
var hiddenDotsLeft = activeIndex < index;
|
42
|
-
var hiddenDotsRight = index + (visibleCount - 1 - activeIndex) < count - 1;
|
43
|
-
var handleClick = function handleClick(i) {
|
44
|
-
if (isAnimating.current) return;
|
45
|
-
if (onChange) {
|
46
|
-
onChange(index + (i - activeIndex));
|
47
|
-
}
|
48
|
-
};
|
49
|
-
var handleTransitionEnd = function handleTransitionEnd() {
|
50
|
-
if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current || !rightAnimationWrapperRef || !rightAnimationWrapperRef.current || !leftAnimationWrapperRef || !leftAnimationWrapperRef.current) {
|
51
|
-
return;
|
52
|
-
}
|
53
|
-
dotWrapperRef.current.classList.remove(classes.animating);
|
54
|
-
transitionWrapperRef.current.classList.remove(classes.animating);
|
55
|
-
Array.from(dotWrapperRef.current.children).forEach(function (child) {
|
56
|
-
var _child$classList;
|
57
|
-
(_child$classList = child.classList).remove.apply(_child$classList, [classes.active, classes.animateOut, classes.temporaryNatural, classes.shrinking]);
|
58
|
-
});
|
59
|
-
dotWrapperRef.current.children[activeIndex].classList.add(classes.active);
|
60
|
-
if (centered) {
|
61
|
-
transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - activeIndex * SIZE, "px)");
|
62
|
-
} else {
|
63
|
-
transitionWrapperRef.current.style.transform = 'translateX(0)';
|
64
|
-
}
|
65
|
-
setTimeout(function () {
|
66
|
-
if (transitionWrapperRef && transitionWrapperRef.current) {
|
67
|
-
isAnimating.current = false;
|
68
|
-
}
|
69
|
-
});
|
70
|
-
|
71
|
-
// Очищаем блоки с анимированными точками
|
72
|
-
leftAnimationWrapperRef.current.innerText = '';
|
73
|
-
rightAnimationWrapperRef.current.innerText = '';
|
74
|
-
prevIndex.current = index;
|
75
|
-
prevActiveIndex.current = activeIndex;
|
76
|
-
isAnimating.current = false;
|
77
|
-
};
|
78
|
-
useLayoutEffect(function () {
|
79
|
-
if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current) {
|
80
|
-
return;
|
81
|
-
}
|
82
|
-
|
83
|
-
// Вычисляем начальный сдвиг по горизонтали, чтобы точка стала по центру
|
84
|
-
if (centered) {
|
85
|
-
transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - activeIndex * SIZE, "px)");
|
86
|
-
}
|
87
|
-
prevIndex.current = index;
|
88
|
-
prevActiveIndex.current = activeIndex;
|
89
|
-
}, []);
|
90
|
-
useDidMountLayoutEffect(function () {
|
91
|
-
var _dotWrapperRef$curren;
|
92
|
-
if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current || !leftAnimationWrapperRef || !leftAnimationWrapperRef.current || !rightAnimationWrapperRef || !rightAnimationWrapperRef.current || isAnimating.current) {
|
93
|
-
return;
|
94
|
-
}
|
95
|
-
isAnimating.current = true;
|
96
|
-
dotWrapperRef.current.classList.add(classes.animating);
|
97
|
-
transitionWrapperRef.current.classList.add(classes.animating);
|
98
|
-
var targetIndex = getTargetIndex(index, prevIndex.current, prevActiveIndex.current, diffDotsRange);
|
99
|
-
var dotsToAdd = Math.abs(targetIndex - activeIndex);
|
100
|
-
if (centered) {
|
101
|
-
transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - targetIndex * SIZE, "px)");
|
102
|
-
} else if (dotsToAdd > 0) {
|
103
|
-
transitionWrapperRef.current.style.transform = "translateX(".concat(-SIZE * (targetIndex - activeIndex), "px)");
|
104
|
-
}
|
105
|
-
|
106
|
-
// Стираем все активные классы и устанавливаем активный класс на таргет.
|
107
|
-
// В конце анимации произойдет переопределение активного класса.
|
108
|
-
Array.from(dotWrapperRef.current.children).forEach(function (child) {
|
109
|
-
child.classList.remove(classes.active);
|
110
|
-
});
|
111
|
-
(_dotWrapperRef$curren = dotWrapperRef.current.children[targetIndex]) === null || _dotWrapperRef$curren === void 0 || _dotWrapperRef$curren.classList.add(classes.active);
|
112
|
-
if (index > prevIndex.current) {
|
113
|
-
// Двигаемся вправо
|
114
|
-
|
115
|
-
// Если мы добавляем 1 и более точек, то нужно начать
|
116
|
-
// приводить размер крайней правой точки (что будет в m размере?)
|
117
|
-
// к натуральному размеру
|
118
|
-
if (dotsToAdd >= 1) {
|
119
|
-
var _dotWrapperRef$curren2;
|
120
|
-
(_dotWrapperRef$curren2 = dotWrapperRef.current.children[visibleCount - 1]) === null || _dotWrapperRef$curren2 === void 0 || _dotWrapperRef$curren2.classList.add(classes.temporaryNatural);
|
121
|
-
}
|
122
|
-
|
123
|
-
// Т.к. мы двигаемся вправо, то нужно начать уменьшать размер крайней левой точки
|
124
|
-
// (опять же, что в m size?)
|
125
|
-
if (dotsToAdd >= 1) {
|
126
|
-
var _dotWrapperRef$curren3;
|
127
|
-
(_dotWrapperRef$curren3 = dotWrapperRef.current.children[dotsToAdd]) === null || _dotWrapperRef$curren3 === void 0 || _dotWrapperRef$curren3.classList.add(classes.shrinking);
|
128
|
-
}
|
129
|
-
if (dotsToAdd > 0) {
|
130
|
-
var _loop = function _loop() {
|
131
|
-
var _dotWrapperRef$curren4;
|
132
|
-
var node = document.createElement('div');
|
133
|
-
node.textContent = '';
|
134
|
-
node.classList.add(classes.dot);
|
135
|
-
node.style.opacity = '0';
|
136
|
-
var delay = i * (ANIMATION_DURATION / dotsToAdd);
|
137
|
-
node.style.animationDelay = "".concat(delay, "s");
|
138
|
-
rightAnimationWrapperRef.current.appendChild(node);
|
139
|
-
var duration = ANIMATION_DURATION / dotsToAdd;
|
140
|
-
requestAnimationFrame(function () {
|
141
|
-
node.classList.add(classes.animateIn);
|
142
|
-
node.style.animationDuration = "".concat(duration, "s");
|
143
|
-
});
|
144
|
-
var currentDomNode = (_dotWrapperRef$curren4 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren4 === void 0 ? void 0 : _dotWrapperRef$curren4[i];
|
145
|
-
currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(classes.animateOut);
|
146
|
-
currentDomNode.style.animationDelay = "".concat(delay, "s");
|
147
|
-
currentDomNode.style.animationDuration = "".concat(duration, "s");
|
148
|
-
};
|
149
|
-
for (var i = 0; i < dotsToAdd; i++) {
|
150
|
-
_loop();
|
151
|
-
}
|
152
|
-
}
|
153
|
-
} else {
|
154
|
-
// Двигаемся влево
|
155
|
-
|
156
|
-
// Если мы добавляем 1 и более точек, то нужно начать
|
157
|
-
// приводить размер крайней левой точки (что будет в m размере?)
|
158
|
-
// к натуральному размеру.
|
159
|
-
if (dotsToAdd >= 1) {
|
160
|
-
var _dotWrapperRef$curren5;
|
161
|
-
(_dotWrapperRef$curren5 = dotWrapperRef.current.children[0]) === null || _dotWrapperRef$curren5 === void 0 || _dotWrapperRef$curren5.classList.add(classes.temporaryNatural);
|
162
|
-
}
|
163
|
-
|
164
|
-
// Т.к. мы двигаемся влево, то нужно начать уменьшать размер крайней правой точки
|
165
|
-
// (опять же, что в m size?)
|
166
|
-
if (dotsToAdd >= 1) {
|
167
|
-
var _dotWrapperRef$curren6;
|
168
|
-
(_dotWrapperRef$curren6 = dotWrapperRef.current.children[visibleCount - 1 - dotsToAdd]) === null || _dotWrapperRef$curren6 === void 0 || _dotWrapperRef$curren6.classList.add(classes.shrinking);
|
169
|
-
}
|
170
|
-
if (dotsToAdd > 0) {
|
171
|
-
var _loop2 = function _loop2() {
|
172
|
-
var _dotWrapperRef$curren7;
|
173
|
-
var node = document.createElement('div');
|
174
|
-
node.textContent = '';
|
175
|
-
node.classList.add(classes.dot);
|
176
|
-
node.style.opacity = '0';
|
177
|
-
var delay = (dotsToAdd - 1 - _i) * (ANIMATION_DURATION / dotsToAdd);
|
178
|
-
node.style.animationDelay = "".concat(delay, "s");
|
179
|
-
leftAnimationWrapperRef.current.prepend(node);
|
180
|
-
var duration = ANIMATION_DURATION / dotsToAdd;
|
181
|
-
requestAnimationFrame(function () {
|
182
|
-
node.classList.add(classes.animateIn);
|
183
|
-
node.style.animationDuration = "".concat(duration, "s");
|
184
|
-
});
|
185
|
-
var currentDomNode = (_dotWrapperRef$curren7 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren7 === void 0 ? void 0 : _dotWrapperRef$curren7[dotWrapperRef.current.children.length - 1 - _i];
|
186
|
-
currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(classes.animateOut);
|
187
|
-
currentDomNode.style.animationDelay = "".concat(_i * (ANIMATION_DURATION / dotsToAdd), "s");
|
188
|
-
currentDomNode.style.animationDuration = "".concat(duration, "s");
|
189
|
-
};
|
190
|
-
for (var _i = dotsToAdd - 1; _i >= 0; _i--) {
|
191
|
-
_loop2();
|
192
|
-
}
|
193
|
-
}
|
194
|
-
}
|
195
|
-
}, [index]);
|
196
|
-
return /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(TransitionWrapper, {
|
197
|
-
ref: transitionWrapperRef,
|
198
|
-
onTransitionEnd: handleTransitionEnd
|
199
|
-
}, /*#__PURE__*/React.createElement(LeftAnimationWrapper, {
|
200
|
-
ref: leftAnimationWrapperRef
|
201
|
-
}), /*#__PURE__*/React.createElement(DotWrapper, {
|
202
|
-
ref: dotWrapperRef,
|
203
|
-
className: cls(hiddenDotsLeft && classes.availableDotsLeft, hiddenDotsRight && classes.availableDotsRight)
|
204
|
-
}, Array(visibleCount).fill(0).map(function (_, i) {
|
205
|
-
return /*#__PURE__*/React.createElement("div", {
|
206
|
-
key: i,
|
207
|
-
className: cls(classes.dot, i === activeIndex && classes.active),
|
208
|
-
onClick: function onClick() {
|
209
|
-
return handleClick(i);
|
210
|
-
}
|
211
|
-
});
|
212
|
-
})), /*#__PURE__*/React.createElement(RightAnimationWrapper, {
|
213
|
-
ref: rightAnimationWrapperRef
|
214
|
-
})));
|
215
|
-
});
|
216
|
-
|
217
|
-
export { Dots };
|
218
|
-
//# sourceMappingURL=Dots.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Dots.js","sources":["../../../../../../src/components/Carousel/CarouselNew/ui/Dots/Dots.tsx"],"sourcesContent":["import React, { memo, useRef, useLayoutEffect } from 'react';\nimport cls from 'classnames';\nimport { useDidMountLayoutEffect } from 'src/hooks';\n\nimport { DotsProps } from '../../Carousel.types';\nimport { classes } from '../../Carousel.tokens';\n\nimport { getActiveIndex, getTargetIndex, getInitialData } from './utils/index';\nimport { Wrapper, DotWrapper, RightAnimationWrapper, LeftAnimationWrapper, TransitionWrapper } from './Dots.styles';\n\nconst SIZE = 16; // размер точки в px\nconst ANIMATION_DURATION = 0.3; // скорость анимации в секундах\n\nexport const Dots: React.FC<DotsProps> = memo(\n ({ index: originalIndex = 0, onChange, centered = false, count = 0, visibleCount: originalVisibleCount = 0 }) => {\n // Трансформируем входные параметры для корректной работы в дальнейшем\n const [index, visibleCount] = getInitialData(originalIndex, count, originalVisibleCount);\n\n // Рефки на DOM-ноды\n const transitionWrapperRef = useRef<HTMLDivElement>(null);\n const dotWrapperRef = useRef<HTMLDivElement>(null);\n const leftAnimationWrapperRef = useRef<HTMLDivElement>(null);\n const rightAnimationWrapperRef = useRef<HTMLDivElement>(null);\n\n // Консистентные переменные\n const isAnimating = useRef(false);\n const prevIndex = useRef(-Infinity);\n const prevActiveIndex = useRef(Infinity);\n\n const isRightDirection = index > prevIndex.current;\n const diffDotsRange = Math.abs(index - prevIndex.current);\n const activeIndex = getActiveIndex(index, isRightDirection, count, visibleCount);\n const hiddenDotsLeft = activeIndex < index;\n const hiddenDotsRight = index + (visibleCount - 1 - activeIndex) < count - 1;\n\n const handleClick = (i: number) => {\n if (isAnimating.current) return;\n\n if (onChange) {\n onChange(index + (i - activeIndex));\n }\n };\n\n const handleTransitionEnd = () => {\n if (\n !dotWrapperRef ||\n !dotWrapperRef.current ||\n !transitionWrapperRef ||\n !transitionWrapperRef.current ||\n !rightAnimationWrapperRef ||\n !rightAnimationWrapperRef.current ||\n !leftAnimationWrapperRef ||\n !leftAnimationWrapperRef.current\n ) {\n return;\n }\n\n dotWrapperRef.current.classList.remove(classes.animating);\n transitionWrapperRef.current.classList.remove(classes.animating);\n\n Array.from(dotWrapperRef.current.children).forEach((child) => {\n child.classList.remove(\n ...[classes.active, classes.animateOut, classes.temporaryNatural, classes.shrinking],\n );\n });\n dotWrapperRef.current.children[activeIndex].classList.add(classes.active);\n\n if (centered) {\n transitionWrapperRef.current.style.transform = `translateX(${\n (visibleCount * SIZE) / 2 - SIZE / 2 - activeIndex * SIZE\n }px)`;\n } else {\n transitionWrapperRef.current.style.transform = 'translateX(0)';\n }\n\n setTimeout(() => {\n if (transitionWrapperRef && transitionWrapperRef.current) {\n isAnimating.current = false;\n }\n });\n\n // Очищаем блоки с анимированными точками\n leftAnimationWrapperRef.current.innerText = '';\n rightAnimationWrapperRef.current.innerText = '';\n\n prevIndex.current = index;\n prevActiveIndex.current = activeIndex;\n isAnimating.current = false;\n };\n\n useLayoutEffect(() => {\n if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current) {\n return;\n }\n\n // Вычисляем начальный сдвиг по горизонтали, чтобы точка стала по центру\n if (centered) {\n transitionWrapperRef.current.style.transform = `translateX(${\n (visibleCount * SIZE) / 2 - SIZE / 2 - activeIndex * SIZE\n }px)`;\n }\n\n prevIndex.current = index;\n prevActiveIndex.current = activeIndex;\n }, []);\n\n useDidMountLayoutEffect(() => {\n if (\n !dotWrapperRef ||\n !dotWrapperRef.current ||\n !transitionWrapperRef ||\n !transitionWrapperRef.current ||\n !leftAnimationWrapperRef ||\n !leftAnimationWrapperRef.current ||\n !rightAnimationWrapperRef ||\n !rightAnimationWrapperRef.current ||\n isAnimating.current\n ) {\n return;\n }\n isAnimating.current = true;\n dotWrapperRef.current.classList.add(classes.animating);\n transitionWrapperRef.current.classList.add(classes.animating);\n\n const targetIndex = getTargetIndex(index, prevIndex.current, prevActiveIndex.current, diffDotsRange);\n const dotsToAdd = Math.abs(targetIndex - activeIndex);\n\n if (centered) {\n transitionWrapperRef.current.style.transform = `translateX(${\n (visibleCount * SIZE) / 2 - SIZE / 2 - targetIndex * SIZE\n }px)`;\n } else if (dotsToAdd > 0) {\n transitionWrapperRef.current.style.transform = `translateX(${-SIZE * (targetIndex - activeIndex)}px)`;\n }\n\n // Стираем все активные классы и устанавливаем активный класс на таргет.\n // В конце анимации произойдет переопределение активного класса.\n Array.from(dotWrapperRef.current.children).forEach((child) => {\n child.classList.remove(classes.active);\n });\n dotWrapperRef.current.children[targetIndex]?.classList.add(classes.active);\n\n if (index > prevIndex.current) {\n // Двигаемся вправо\n\n // Если мы добавляем 1 и более точек, то нужно начать\n // приводить размер крайней правой точки (что будет в m размере?)\n // к натуральному размеру\n if (dotsToAdd >= 1) {\n dotWrapperRef.current.children[visibleCount - 1]?.classList.add(classes.temporaryNatural);\n }\n\n // Т.к. мы двигаемся вправо, то нужно начать уменьшать размер крайней левой точки\n // (опять же, что в m size?)\n if (dotsToAdd >= 1) {\n dotWrapperRef.current.children[dotsToAdd]?.classList.add(classes.shrinking);\n }\n\n if (dotsToAdd > 0) {\n for (let i = 0; i < dotsToAdd; i++) {\n const node = document.createElement('div');\n node.textContent = '';\n node.classList.add(classes.dot);\n node.style.opacity = '0';\n\n const delay = i * (ANIMATION_DURATION / dotsToAdd);\n node.style.animationDelay = `${delay}s`;\n\n rightAnimationWrapperRef.current.appendChild(node);\n const duration = ANIMATION_DURATION / dotsToAdd;\n\n requestAnimationFrame(() => {\n node.classList.add(classes.animateIn);\n node.style.animationDuration = `${duration}s`;\n });\n\n const currentDomNode = dotWrapperRef.current.children?.[i] as HTMLElement;\n\n currentDomNode?.classList.add(classes.animateOut);\n currentDomNode.style.animationDelay = `${delay}s`;\n currentDomNode.style.animationDuration = `${duration}s`;\n }\n }\n } else {\n // Двигаемся влево\n\n // Если мы добавляем 1 и более точек, то нужно начать\n // приводить размер крайней левой точки (что будет в m размере?)\n // к натуральному размеру.\n if (dotsToAdd >= 1) {\n dotWrapperRef.current.children[0]?.classList.add(classes.temporaryNatural);\n }\n\n // Т.к. мы двигаемся влево, то нужно начать уменьшать размер крайней правой точки\n // (опять же, что в m size?)\n if (dotsToAdd >= 1) {\n dotWrapperRef.current.children[visibleCount - 1 - dotsToAdd]?.classList.add(classes.shrinking);\n }\n\n if (dotsToAdd > 0) {\n for (let i = dotsToAdd - 1; i >= 0; i--) {\n const node = document.createElement('div');\n node.textContent = '';\n node.classList.add(classes.dot);\n node.style.opacity = '0';\n\n const delay = (dotsToAdd - 1 - i) * (ANIMATION_DURATION / dotsToAdd);\n node.style.animationDelay = `${delay}s`;\n\n leftAnimationWrapperRef.current.prepend(node);\n const duration = ANIMATION_DURATION / dotsToAdd;\n\n requestAnimationFrame(() => {\n node.classList.add(classes.animateIn);\n node.style.animationDuration = `${duration}s`;\n });\n\n const currentDomNode = dotWrapperRef.current.children?.[\n dotWrapperRef.current.children.length - 1 - i\n ] as HTMLElement;\n\n currentDomNode?.classList.add(classes.animateOut);\n currentDomNode.style.animationDelay = `${i * (ANIMATION_DURATION / dotsToAdd)}s`;\n currentDomNode.style.animationDuration = `${duration}s`;\n }\n }\n }\n }, [index]);\n\n return (\n <Wrapper>\n <TransitionWrapper ref={transitionWrapperRef} onTransitionEnd={handleTransitionEnd}>\n <LeftAnimationWrapper ref={leftAnimationWrapperRef} />\n\n <DotWrapper\n ref={dotWrapperRef}\n className={cls(\n hiddenDotsLeft && classes.availableDotsLeft,\n hiddenDotsRight && classes.availableDotsRight,\n )}\n >\n {Array(visibleCount)\n .fill(0)\n .map((_, i) => {\n return (\n <div\n key={i}\n className={cls(classes.dot, i === activeIndex && classes.active)}\n onClick={() => handleClick(i)}\n />\n );\n })}\n </DotWrapper>\n\n <RightAnimationWrapper ref={rightAnimationWrapperRef} />\n </TransitionWrapper>\n </Wrapper>\n );\n },\n);\n"],"names":["SIZE","ANIMATION_DURATION","Dots","memo","_ref","_ref$index","index","originalIndex","onChange","_ref$centered","centered","_ref$count","count","_ref$visibleCount","visibleCount","originalVisibleCount","_getInitialData","getInitialData","_getInitialData2","_slicedToArray","transitionWrapperRef","useRef","dotWrapperRef","leftAnimationWrapperRef","rightAnimationWrapperRef","isAnimating","prevIndex","Infinity","prevActiveIndex","isRightDirection","current","diffDotsRange","Math","abs","activeIndex","getActiveIndex","hiddenDotsLeft","hiddenDotsRight","handleClick","i","handleTransitionEnd","classList","remove","classes","animating","Array","from","children","forEach","child","_child$classList","apply","active","animateOut","temporaryNatural","shrinking","add","style","transform","concat","setTimeout","innerText","useLayoutEffect","useDidMountLayoutEffect","_dotWrapperRef$curren","targetIndex","getTargetIndex","dotsToAdd","_dotWrapperRef$curren2","_dotWrapperRef$curren3","_loop","_dotWrapperRef$curren4","node","document","createElement","textContent","dot","opacity","delay","animationDelay","appendChild","duration","requestAnimationFrame","animateIn","animationDuration","currentDomNode","_dotWrapperRef$curren5","_dotWrapperRef$curren6","_loop2","_dotWrapperRef$curren7","prepend","length","React","Wrapper","TransitionWrapper","ref","onTransitionEnd","LeftAnimationWrapper","DotWrapper","className","cls","availableDotsLeft","availableDotsRight","fill","map","_","key","onClick","RightAnimationWrapper"],"mappings":"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"}
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import './Dots.styles_1i4srxq.css';
|
2
|
-
import { styled } from '@linaria/react';
|
3
|
-
|
4
|
-
var Wrapper = /*#__PURE__*/styled('div')({
|
5
|
-
name: "Wrapper",
|
6
|
-
"class": "wn5xio",
|
7
|
-
propsAsIs: false
|
8
|
-
});
|
9
|
-
var TransitionWrapper = /*#__PURE__*/styled('div')({
|
10
|
-
name: "TransitionWrapper",
|
11
|
-
"class": "tnn1xpa",
|
12
|
-
propsAsIs: false
|
13
|
-
});
|
14
|
-
var DotWrapper = /*#__PURE__*/styled('div')({
|
15
|
-
name: "DotWrapper",
|
16
|
-
"class": "d1k0jsbc",
|
17
|
-
propsAsIs: false
|
18
|
-
});
|
19
|
-
var LeftAnimationWrapper = /*#__PURE__*/styled('div')({
|
20
|
-
name: "LeftAnimationWrapper",
|
21
|
-
"class": "laqzsgq",
|
22
|
-
propsAsIs: false
|
23
|
-
});
|
24
|
-
var RightAnimationWrapper = /*#__PURE__*/styled('div')({
|
25
|
-
name: "RightAnimationWrapper",
|
26
|
-
"class": "rp088ba",
|
27
|
-
propsAsIs: false
|
28
|
-
});
|
29
|
-
|
30
|
-
export { DotWrapper, LeftAnimationWrapper, RightAnimationWrapper, TransitionWrapper, Wrapper };
|
31
|
-
//# sourceMappingURL=Dots.styles.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Dots.styles.js","sources":["../../../../../../src/components/Carousel/CarouselNew/ui/Dots/Dots.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Carousel.tokens';\n\nexport const Wrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n\n --duration: 0.3s;\n --half-duration: 0.15s;\n`;\n\nexport const TransitionWrapper = styled.div`\n position: relative;\n display: flex;\n transition: transform 0s ease;\n\n &.${classes.animating} {\n transition: transform var(--duration) ease;\n }\n\n & .${classes.dot} {\n width: 0.5rem;\n height: 0.5rem;\n margin: 0 0.25rem;\n cursor: pointer;\n background-color: var(${tokens.paginationDotBackground});\n border-radius: 100%;\n\n &.${classes.active} {\n background-color: var(${tokens.paginationDotActiveBackground});\n }\n\n @keyframes fadeOut {\n from {\n transform: scale(0.75);\n opacity: 1;\n }\n to {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n &.${classes.animateOut} {\n animation: fadeOut var(--half-duration) ease forwards;\n }\n\n @keyframes shrinking {\n from {\n transform: scale(1);\n }\n to {\n transform: scale(0.75);\n }\n }\n\n &.${classes.shrinking} {\n animation: shrinking var(--half-duration) var(--half-duration) ease forwards;\n }\n }\n`;\n\nexport const DotWrapper = styled.div`\n display: flex;\n\n &.${classes.availableDotsLeft} {\n .${classes.dot}:not(.${classes.temporaryNatural}):first-child {\n transform: scale(0.75);\n }\n }\n\n &.${classes.availableDotsRight} {\n .${classes.dot}:not(.${classes.temporaryNatural}):last-child {\n transform: scale(0.75);\n }\n }\n\n &.${classes.animating} .${classes.dot} {\n transition: background-color var(--duration) ease;\n }\n`;\n\nexport const LeftAnimationWrapper = styled.div`\n position: absolute;\n top: 0;\n right: 100%;\n bottom: 0;\n display: flex;\n\n & .${classes.dot} {\n transition: transform var(--duration) ease;\n\n @keyframes fadeIn {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeIn var(--half-duration) ease forwards;\n }\n\n &:first-child {\n @keyframes fadeInFirst {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(0.75);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeInFirst var(--half-duration) ease forwards;\n }\n }\n }\n`;\n\nexport const RightAnimationWrapper = styled.div`\n position: absolute;\n top: 0;\n left: 100%;\n bottom: 0;\n display: flex;\n\n & .${classes.dot} {\n transition: transform var(--duration) ease;\n\n @keyframes fadeIn {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeIn var(--half-duration) ease forwards;\n }\n\n &:last-child {\n @keyframes fadeInLast {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(0.75);\n opacity: 1;\n }\n }\n\n &.${classes.animateIn} {\n animation: fadeInLast var(--half-duration) ease forwards;\n }\n }\n }\n`;\n"],"names":["Wrapper","styled","name","class","propsAsIs","TransitionWrapper","DotWrapper","LeftAnimationWrapper","RightAnimationWrapper"],"mappings":";;AAIO,IAAMA,OAAO,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,QAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAO5B,EAAA;AAEM,IAAMC,iBAAiB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiDtC,EAAA;AAEM,IAAME,UAAU,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAkB/B,EAAA;AAEM,IAAMG,oBAAoB,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA0CzC,EAAA;AAEM,IAAMI,qBAAqB,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,uBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA0C1C;;;;"}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
.wn5xio{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;--duration:0.3s;--half-duration:0.15s;}
|
2
|
-
.tnn1xpa{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition:-webkit-transform 0s ease;-webkit-transition:transform 0s ease;transition:transform 0s ease;}.tnn1xpa.dot-animating{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}.tnn1xpa .dot{width:0.5rem;height:0.5rem;margin:0 0.25rem;cursor:pointer;background-color:var(--plasma-carousel-pagination-dot-background);border-radius:100%;}.tnn1xpa .dot.dot-active{background-color:var(--plasma-carousel-pagination-dot-active-background);}@-webkit-keyframes fadeOut-tnn1xpa{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}@keyframes fadeOut-tnn1xpa{from{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}}.tnn1xpa .dot.dot-animate-out{-webkit-animation:fadeOut-tnn1xpa var(--half-duration) ease forwards;animation:fadeOut-tnn1xpa var(--half-duration) ease forwards;}@-webkit-keyframes shrinking-tnn1xpa{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}@keyframes shrinking-tnn1xpa{from{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}}.tnn1xpa .dot.dot-shrinking{-webkit-animation:shrinking-tnn1xpa var(--half-duration) var(--half-duration) ease forwards;animation:shrinking-tnn1xpa var(--half-duration) var(--half-duration) ease forwards;}
|
3
|
-
.d1k0jsbc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.d1k0jsbc.dot-available-dots-left .dot:not(.dot-temporary-natural):first-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.d1k0jsbc.dot-available-dots-right .dot:not(.dot-temporary-natural):last-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.d1k0jsbc.dot-animating .dot{-webkit-transition:background-color var(--duration) ease;transition:background-color var(--duration) ease;}
|
4
|
-
.laqzsgq{position:absolute;top:0;right:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.laqzsgq .dot{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes fadeIn-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}@keyframes fadeIn-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}.laqzsgq .dot.dot-animate-in{-webkit-animation:fadeIn-laqzsgq var(--half-duration) ease forwards;animation:fadeIn-laqzsgq var(--half-duration) ease forwards;}@-webkit-keyframes fadeInFirst-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}@keyframes fadeInFirst-laqzsgq{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}.laqzsgq .dot:first-child.dot-animate-in{-webkit-animation:fadeInFirst-laqzsgq var(--half-duration) ease forwards;animation:fadeInFirst-laqzsgq var(--half-duration) ease forwards;}
|
5
|
-
.rp088ba{position:absolute;top:0;left:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.rp088ba .dot{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes fadeIn-rp088ba{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}@keyframes fadeIn-rp088ba{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1;}}.rp088ba .dot.dot-animate-in{-webkit-animation:fadeIn-rp088ba var(--half-duration) ease forwards;animation:fadeIn-rp088ba var(--half-duration) ease forwards;}@-webkit-keyframes fadeInLast-rp088ba{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}@keyframes fadeInLast-rp088ba{from{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;}to{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);opacity:1;}}.rp088ba .dot:last-child.dot-animate-in{-webkit-animation:fadeInLast-rp088ba var(--half-duration) ease forwards;animation:fadeInLast-rp088ba var(--half-duration) ease forwards;}
|
@@ -1,44 +0,0 @@
|
|
1
|
-
var getInitialData = function getInitialData(index, count, visibleCount) {
|
2
|
-
var newIndex = index;
|
3
|
-
var newVisibleCount = visibleCount;
|
4
|
-
|
5
|
-
// Ограничения на макс. и мин. значения индекса
|
6
|
-
if (index < 0) {
|
7
|
-
newIndex = 0;
|
8
|
-
} else if (index >= count) {
|
9
|
-
newIndex = count - 1;
|
10
|
-
}
|
11
|
-
|
12
|
-
// Ограничение на количество точек
|
13
|
-
if (visibleCount > count) {
|
14
|
-
newVisibleCount = count;
|
15
|
-
}
|
16
|
-
return [newIndex, newVisibleCount];
|
17
|
-
};
|
18
|
-
var getActiveIndex = function getActiveIndex(index, isRightDirection, count, visibleCount) {
|
19
|
-
if (index < Math.trunc(visibleCount / 2)) {
|
20
|
-
return index;
|
21
|
-
}
|
22
|
-
if (count - 1 - index < Math.trunc(visibleCount / 2)) {
|
23
|
-
return visibleCount - 1 - (count - 1 - index);
|
24
|
-
}
|
25
|
-
if (visibleCount % 2) {
|
26
|
-
return Math.trunc(visibleCount / 2);
|
27
|
-
}
|
28
|
-
if (isRightDirection) {
|
29
|
-
return visibleCount / 2;
|
30
|
-
}
|
31
|
-
return visibleCount / 2 - 1;
|
32
|
-
};
|
33
|
-
var getTargetIndex = function getTargetIndex(index, prevIndex, prevActiveIndex, diffDotsRange) {
|
34
|
-
var targetIndex = 0;
|
35
|
-
if (index > prevIndex) {
|
36
|
-
targetIndex = prevActiveIndex + diffDotsRange;
|
37
|
-
} else {
|
38
|
-
targetIndex = prevActiveIndex - diffDotsRange;
|
39
|
-
}
|
40
|
-
return targetIndex;
|
41
|
-
};
|
42
|
-
|
43
|
-
export { getActiveIndex, getInitialData, getTargetIndex };
|
44
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/components/Carousel/CarouselNew/ui/Dots/utils/index.ts"],"sourcesContent":["export const getInitialData = (index: number, count: number, visibleCount: number): [number, number] => {\n let newIndex = index;\n let newVisibleCount = visibleCount;\n\n // Ограничения на макс. и мин. значения индекса\n if (index < 0) {\n newIndex = 0;\n } else if (index >= count) {\n newIndex = count - 1;\n }\n\n // Ограничение на количество точек\n if (visibleCount > count) {\n newVisibleCount = count;\n }\n\n return [newIndex, newVisibleCount];\n};\n\nexport const getActiveIndex = (\n index: number,\n isRightDirection: boolean,\n count: number,\n visibleCount: number,\n): number => {\n if (index < Math.trunc(visibleCount / 2)) {\n return index;\n }\n if (count - 1 - index < Math.trunc(visibleCount / 2)) {\n return visibleCount - 1 - (count - 1 - index);\n }\n if (visibleCount % 2) {\n return Math.trunc(visibleCount / 2);\n }\n if (isRightDirection) {\n return visibleCount / 2;\n }\n return visibleCount / 2 - 1;\n};\n\nexport const getTargetIndex = (\n index: number,\n prevIndex: number,\n prevActiveIndex: number,\n diffDotsRange: number,\n): number => {\n let targetIndex = 0;\n\n if (index > prevIndex) {\n targetIndex = prevActiveIndex + diffDotsRange;\n } else {\n targetIndex = prevActiveIndex - diffDotsRange;\n }\n\n return targetIndex;\n};\n"],"names":["getInitialData","index","count","visibleCount","newIndex","newVisibleCount","getActiveIndex","isRightDirection","Math","trunc","getTargetIndex","prevIndex","prevActiveIndex","diffDotsRange","targetIndex"],"mappings":"AAAO,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAa,EAAEC,KAAa,EAAEC,YAAoB,EAAuB;EACpG,IAAIC,QAAQ,GAAGH,KAAK,CAAA;EACpB,IAAII,eAAe,GAAGF,YAAY,CAAA;;AAElC;EACA,IAAIF,KAAK,GAAG,CAAC,EAAE;AACXG,IAAAA,QAAQ,GAAG,CAAC,CAAA;AAChB,GAAC,MAAM,IAAIH,KAAK,IAAIC,KAAK,EAAE;IACvBE,QAAQ,GAAGF,KAAK,GAAG,CAAC,CAAA;AACxB,GAAA;;AAEA;EACA,IAAIC,YAAY,GAAGD,KAAK,EAAE;AACtBG,IAAAA,eAAe,GAAGH,KAAK,CAAA;AAC3B,GAAA;AAEA,EAAA,OAAO,CAACE,QAAQ,EAAEC,eAAe,CAAC,CAAA;AACtC,EAAC;AAEYC,IAAAA,cAAc,GAAG,SAAjBA,cAAcA,CACvBL,KAAa,EACbM,gBAAyB,EACzBL,KAAa,EACbC,YAAoB,EACX;EACT,IAAIF,KAAK,GAAGO,IAAI,CAACC,KAAK,CAACN,YAAY,GAAG,CAAC,CAAC,EAAE;AACtC,IAAA,OAAOF,KAAK,CAAA;AAChB,GAAA;AACA,EAAA,IAAIC,KAAK,GAAG,CAAC,GAAGD,KAAK,GAAGO,IAAI,CAACC,KAAK,CAACN,YAAY,GAAG,CAAC,CAAC,EAAE;IAClD,OAAOA,YAAY,GAAG,CAAC,IAAID,KAAK,GAAG,CAAC,GAAGD,KAAK,CAAC,CAAA;AACjD,GAAA;EACA,IAAIE,YAAY,GAAG,CAAC,EAAE;AAClB,IAAA,OAAOK,IAAI,CAACC,KAAK,CAACN,YAAY,GAAG,CAAC,CAAC,CAAA;AACvC,GAAA;AACA,EAAA,IAAII,gBAAgB,EAAE;IAClB,OAAOJ,YAAY,GAAG,CAAC,CAAA;AAC3B,GAAA;AACA,EAAA,OAAOA,YAAY,GAAG,CAAC,GAAG,CAAC,CAAA;AAC/B,EAAC;AAEYO,IAAAA,cAAc,GAAG,SAAjBA,cAAcA,CACvBT,KAAa,EACbU,SAAiB,EACjBC,eAAuB,EACvBC,aAAqB,EACZ;EACT,IAAIC,WAAW,GAAG,CAAC,CAAA;EAEnB,IAAIb,KAAK,GAAGU,SAAS,EAAE;IACnBG,WAAW,GAAGF,eAAe,GAAGC,aAAa,CAAA;AACjD,GAAC,MAAM;IACHC,WAAW,GAAGF,eAAe,GAAGC,aAAa,CAAA;AACjD,GAAA;AAEA,EAAA,OAAOC,WAAW,CAAA;AACtB;;;;"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../../src/components/Carousel/CarouselNew/variations/_size/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nexport const base = css``;\n"],"names":["base"],"mappings":"AAEO,IAAMA,IAAI,GAAQ;;;;"}
|
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../../src/components/Carousel/CarouselNew/variations/_view/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nexport const base = css``;\n"],"names":["base"],"mappings":"AAEO,IAAMA,IAAI,GAAQ;;;;"}
|
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1,4 +0,0 @@
|
|
1
|
-
|
2
|
-
.Carousel_styles_12r304j_cupvf9e__0c59c01e{overflow:hidden;margin-left:calc(var(--plasma-grid-margin) * -1);margin-right:calc(var(--plasma-grid-margin) * -1);}
|
3
|
-
.Carousel_styles_12r304j_csrgq3h__0c59c01e{position:relative;margin:0;padding:0;list-style:none;-ms-overflow-style:none;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;-webkit-scroll-snap-type:var(--csrgq3h-0);-moz-scroll-snap-type:var(--csrgq3h-0);-ms-scroll-snap-type:var(--csrgq3h-0);scroll-snap-type:var(--csrgq3h-0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.Carousel_styles_12r304j_csrgq3h__0c59c01e::-webkit-scrollbar{display:none;}.Carousel_styles_12r304j_cupvf9e__0c59c01e .Carousel_styles_12r304j_csrgq3h__0c59c01e{-webkit-scroll-padding:0 var(--plasma-grid-margin);-moz-scroll-padding:0 var(--plasma-grid-margin);-ms-scroll-padding:0 var(--plasma-grid-margin);scroll-padding:0 var(--plasma-grid-margin);padding-left:var(--plasma-grid-margin);}
|
4
|
-
.Carousel_styles_12r304j_ciqx3je__0c59c01e{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-left:var(--ciqx3je-0);padding-right:var(--ciqx3je-1);}.Carousel_styles_12r304j_cupvf9e__0c59c01e .Carousel_styles_12r304j_ciqx3je__0c59c01e{padding-right:var(--ciqx3je-2);}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Carousel.js","sources":["../../../../src/components/Carousel/CarouselOld/Carousel.tsx"],"sourcesContent":["import { RootProps } from 'src/engines';\nimport React, { forwardRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { base, CarouselWrapper, CarouselTrack } from './Carousel.styles';\nimport { CarouselProps } from './Carousel.types';\nimport { useCarousel } from './useCarousel';\nimport { useDragScroll } from './useDragScroll';\n\n/**\n * Компонент для создания списков с прокруткой.\n */\nexport const carouselRoot = (Root: RootProps<HTMLDivElement, CarouselProps>) =>\n forwardRef<HTMLDivElement, CarouselProps>(\n (\n {\n index = 0,\n scrollSnapType = 'mandatory',\n scrollAlign,\n detectActive,\n detectThreshold,\n scaleCallback,\n scaleResetCallback,\n onIndexChange,\n paddingStart,\n paddingEnd,\n children,\n ariaLive = 'off',\n isDragScrollDisabled = false,\n ...rest\n },\n ref,\n ) => {\n const axis = 'x';\n\n const { scrollRef, trackRef } = useCarousel({\n index,\n axis,\n scrollAlign,\n detectActive,\n detectThreshold,\n scaleCallback,\n scaleResetCallback,\n onIndexChange,\n });\n\n const handleRef = useForkRef(scrollRef, ref);\n\n useDragScroll(scrollRef, isDragScrollDisabled);\n\n return (\n <Root index={index}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <CarouselWrapper ref={handleRef} scrollSnapType={scrollSnapType} {...rest}>\n <CarouselTrack\n ref={trackRef as React.MutableRefObject<HTMLDivElement | null>}\n paddingStart={paddingStart}\n paddingEnd={paddingEnd}\n aria-live={ariaLive}\n >\n {children}\n </CarouselTrack>\n </CarouselWrapper>\n </Root>\n );\n },\n );\n\nexport const carouselConfig = {\n name: 'Carousel',\n tag: 'div',\n layout: carouselRoot,\n base,\n variations: {},\n defaults: {},\n};\n"],"names":["carouselRoot","Root","forwardRef","_ref","ref","_ref$index","index","_ref$scrollSnapType","scrollSnapType","scrollAlign","detectActive","detectThreshold","scaleCallback","scaleResetCallback","onIndexChange","paddingStart","paddingEnd","children","_ref$ariaLive","ariaLive","_ref$isDragScrollDisa","isDragScrollDisabled","rest","_objectWithoutProperties","_excluded","axis","_useCarousel","useCarousel","scrollRef","trackRef","handleRef","useForkRef","useDragScroll","React","createElement","CarouselWrapper","_extends","CarouselTrack","carouselConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Carousel.styles.js","sources":["../../../../src/components/Carousel/CarouselOld/Carousel.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nexport const base = css``;\n\n/**\n * Компонент применяется, если требуется компенсировать отступы контейнера в сетке.\n * При обертывании вокруг ``Carousel``, добавляет карусели и ее прокрутке дополнительные отступы.\n * Стилизованный компонент, обладающий всеми свойствами ``div``.\n */\nexport const CarouselGridWrapper = styled.div`\n overflow: hidden;\n margin-left: calc(var(--plasma-grid-margin) * -1);\n margin-right: calc(var(--plasma-grid-margin) * -1);\n`;\n\nexport const CarouselWrapper = styled.div<{ scrollSnapType?: 'mandatory' | 'proximity' | 'none' }>`\n position: relative;\n margin: 0;\n padding: 0;\n list-style: none;\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n ::-webkit-scrollbar {\n display: none;\n }\n\n overflow-x: auto;\n overflow-y: hidden;\n\n scroll-behavior: smooth;\n scroll-snap-type: ${({ scrollSnapType }) => `x ${scrollSnapType}`};\n\n ${CarouselGridWrapper} & {\n scroll-padding: 0 var(--plasma-grid-margin);\n padding-left: var(--plasma-grid-margin);\n }\n\n user-select: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n`;\n\nexport const CarouselTrack = styled.div<{ paddingStart?: string; paddingEnd?: string }>`\n display: inline-flex;\n flex-direction: row;\n padding-left: ${({ paddingStart }) => paddingStart || 0};\n padding-right: ${({ paddingEnd }) => paddingEnd || 0};\n\n ${CarouselGridWrapper} & {\n padding-right: ${({ paddingEnd }) => paddingEnd || 'var(--plasma-grid-margin)'};\n }\n`;\n"],"names":["base","CarouselGridWrapper","styled","name","class","propsAsIs","_exp","_ref","scrollSnapType","CarouselWrapper","vars","_exp3","_ref2","paddingStart","_exp4","_ref3","paddingEnd","_exp6","_ref4","CarouselTrack"],"mappings":";;AAGO,IAAMA,IAAI,GAAQ,UAAA;;AAEzB;AACA;AACA;AACA;AACA;AACO,IAAMC,mBAAmB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,qBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAIxC,EAAA;AAAC,IAAAC,IAAA,GAbgBA,SAahBA,IAAAA,GAAA;AAAA,EAAA,OAkBsB,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,cAAAA,GAAAA,IAAAA,CAAAA,cAAAA,CAAAA;IAAAA,OAAAA,IAAAA,CAAAA,MAAAA,CAA0BA,cAAc,CAAA,CAAA;GAAE,CAAA;AAAA,CAAA,CAAA;AAhB9D,IAAMC,eAAe,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,iBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAK,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAgBbJ,IAA6C,EAAA,CAAA;AAAA,GAAA;AAAA,CASpE,EAAA;AAAC,IAAAK,KAAA,GAxCgBA,SAwChBA,KAAAA,GAAA;AAAA,EAAA,OAKkB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,YAAAA,GAAAA,KAAAA,CAAAA,YAAAA,CAAAA;IAAAA,OAAmBA,YAAY,IAAI,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GA7CzCA,SA6CyCA,KAAAA,GAAA;AAAA,EAAA,OACtC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,UAAAA,GAAAA,KAAAA,CAAAA,UAAAA,CAAAA;IAAAA,OAAiBA,UAAU,IAAI,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GA9CtCA,SA8CsCA,KAAAA,GAAA;AAAA,EAAA,OAG/B,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGF,UAAAA,GAAAA,KAAAA,CAAAA,UAAAA,CAAAA;IAAAA,OAAiBA,UAAU,IAAI,2BAA2B,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAP/E,IAAMG,aAAa,gBAAGjB,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAK,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGfC,KAAuC,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACtCG,KAAmC,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cAG/BG,KAA6D,EAAA,CAAA;AAAA,GAAA;AAAA,CAErF;;;;"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
|
2
|
-
.cupvf9e{overflow:hidden;margin-left:calc(var(--plasma-grid-margin) * -1);margin-right:calc(var(--plasma-grid-margin) * -1);}
|
3
|
-
.csrgq3h{position:relative;margin:0;padding:0;list-style:none;-ms-overflow-style:none;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;-webkit-scroll-snap-type:var(--csrgq3h-0);-moz-scroll-snap-type:var(--csrgq3h-0);-ms-scroll-snap-type:var(--csrgq3h-0);scroll-snap-type:var(--csrgq3h-0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.csrgq3h::-webkit-scrollbar{display:none;}.cupvf9e .csrgq3h{-webkit-scroll-padding:0 var(--plasma-grid-margin);-moz-scroll-padding:0 var(--plasma-grid-margin);-ms-scroll-padding:0 var(--plasma-grid-margin);scroll-padding:0 var(--plasma-grid-margin);padding-left:var(--plasma-grid-margin);}
|
4
|
-
.ciqx3je{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-left:var(--ciqx3je-0);padding-right:var(--ciqx3je-1);}.cupvf9e .ciqx3je{padding-right:var(--ciqx3je-2);}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CarouselItem.js","sources":["../../../../src/components/Carousel/CarouselOld/CarouselItem.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@linaria/react';\n\nimport { SnapAlign, SnapStop, CarouselItemProps } from './Carousel.types';\n\nconst StyledItem = styled.div<{ scrollSnapAlign: SnapAlign; scrollSnapStop: SnapStop }>`\n scroll-snap-align: ${({ scrollSnapAlign }) => scrollSnapAlign || 'none'};\n scroll-snap-stop: ${({ scrollSnapAlign, scrollSnapStop }) => (scrollSnapAlign ? scrollSnapStop : 'normal')};\n`;\n\nexport const CarouselItem: React.FC<CarouselItemProps> = ({\n scrollSnapAlign = 'center',\n scrollSnapStop = 'always',\n children,\n ...rest\n}) => {\n return (\n <StyledItem\n scrollSnapAlign={scrollSnapAlign}\n scrollSnapStop={scrollSnapStop}\n role=\"group\"\n aria-roledescription=\"slide\"\n {...rest}\n >\n {children}\n </StyledItem>\n );\n};\n"],"names":["_exp","_ref","scrollSnapAlign","_exp2","_ref2","scrollSnapStop","StyledItem","styled","name","class","propsAsIs","vars","CarouselItem","_ref3","_ref3$scrollSnapAlign","_ref3$scrollSnapStop","children","rest","React","createElement","_extends","role"],"mappings":";;;;;AAG0E,IAAAA,IAAA,GAFxDA,SAEwDA,IAAAA,GAAA;AAAA,EAAA,OAGjD,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,eAAAA,GAAAA,IAAAA,CAAAA,eAAAA,CAAAA;IAAAA,OAAsBA,eAAe,IAAI,MAAM,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GALzDA,SAKyDA,KAAAA,GAAA;AAAA,EAAA,OACnD,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGF,eAAe,GAAAE,KAAA,CAAfF,eAAe;MAAEG,cAAAA,GAAAA,KAAAA,CAAAA,cAAAA,CAAAA;AAAAA,IAAAA,OAAsBH,eAAe,GAAGG,cAAc,GAAG,QAAS,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAF9G,IAAMC,UAAU,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cACAX,IAAkD,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACnDG,KAAsF,EAAA,CAAA;AAAA,GAAA;AAAA,CAC7G,CAAA,CAAA;IAEYS,YAAyC,GAAGA,SAA5CA,YAAyCA,CAAAC,KAAA,EAKhD;AAAA,EAAA,IAAAC,qBAAA,GAAAD,KAAA,CAJFX,eAAe;AAAfA,IAAAA,eAAe,GAAAY,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;IAAAC,oBAAA,GAAAF,KAAA,CAC1BR,cAAc;AAAdA,IAAAA,cAAc,GAAAU,oBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,oBAAA;IACzBC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;AACLC,IAAAA,IAAAA,GAAAA,wBAAAA,CAAAA,KAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAEH,EAAA,oBACIC,KAAA,CAAAC,aAAA,CAACb,UAAU,EAAAc,QAAA,CAAA;AACPlB,IAAAA,eAAe,EAAEA,eAAgB;AACjCG,IAAAA,cAAc,EAAEA,cAAe;AAC/BgB,IAAAA,IAAI,EAAC,OAAO;IACZ,sBAAqB,EAAA,OAAA;GACjBJ,EAAAA,IAAI,CAEPD,EAAAA,QACO,CAAC,CAAA;AAErB;;;;"}
|
@@ -1 +0,0 @@
|
|
1
|
-
.sossdp0{-webkit-scroll-snap-align:var(--sossdp0-0);-moz-scroll-snap-align:var(--sossdp0-0);-ms-scroll-snap-align:var(--sossdp0-0);scroll-snap-align:var(--sossdp0-0);-webkit-scroll-snap-stop:var(--sossdp0-1);-moz-scroll-snap-stop:var(--sossdp0-1);-ms-scroll-snap-stop:var(--sossdp0-1);scroll-snap-stop:var(--sossdp0-1);}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useCarousel.js","sources":["../../../../src/components/Carousel/CarouselOld/useCarousel.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\n\nimport { CarouselProps, ScrollAlign, ScrollAxis } from './Carousel.types';\n\n/**\n * Подсчет смещения из-за паддингов.\n */\nexport const getCalculatedOffset = (scrollEl: Element, trackEl: Element, axis: ScrollAxis) => {\n const paddingProp = axis === 'x' ? 'paddingLeft' : 'paddingTop';\n return parseInt(getComputedStyle(scrollEl)[paddingProp], 10) + parseInt(getComputedStyle(trackEl)[paddingProp], 10);\n};\n\nconst positionModByScrollAlign = ({\n scrollAlign,\n position,\n carouselSize,\n itemSize,\n offset,\n scrollStart,\n axis,\n}: {\n scrollAlign: ScrollAlign;\n position: number;\n carouselSize: number;\n itemSize: number;\n offset: number;\n scrollStart: number;\n axis: ScrollAxis;\n}) => {\n if (scrollAlign === 'start') {\n const inaccuracy = 1;\n const paddingOffset = axis === 'y' ? offset - itemSize / 2 + inaccuracy : 0;\n return position + paddingOffset;\n }\n if (scrollAlign === 'center') {\n return position - carouselSize / 2 + itemSize / 2;\n }\n if (scrollAlign === 'end') {\n return position - carouselSize + itemSize + offset;\n }\n if (scrollAlign === 'activeDirection') {\n if (position >= scrollStart + carouselSize - itemSize) {\n return position - carouselSize + itemSize + offset;\n }\n if (position > scrollStart) {\n return scrollStart;\n }\n }\n return position;\n};\n\n/**\n * Подсчет скролла до переданного индекса.\n */\nexport const getCalculatedPos = ({\n scrollEl,\n items,\n axis,\n index,\n offset,\n scrollAlign,\n}: {\n scrollEl: HTMLElement;\n items: HTMLCollectionOf<HTMLElement>;\n axis: ScrollAxis;\n index: number;\n offset: number;\n scrollAlign: ScrollAlign;\n}) => {\n let position = scrollAlign === 'center' ? offset : 0;\n let carouselSize: number;\n let itemSize: number;\n let scrollStart: number;\n\n if (items.item(index) === null) {\n return position;\n }\n\n for (let i = 0; i < index; i++) {\n if (axis === 'x') {\n position += items.item(i)?.offsetWidth ?? 0;\n } else {\n position += items.item(i)?.offsetHeight ?? 0;\n }\n }\n\n if (axis === 'x') {\n carouselSize = scrollEl.offsetWidth;\n itemSize = items.item(index)?.offsetWidth ?? 0;\n scrollStart = scrollEl.scrollLeft;\n } else {\n carouselSize = scrollEl.offsetHeight;\n itemSize = items.item(index)?.offsetHeight ?? 0;\n scrollStart = scrollEl.scrollTop;\n }\n\n return positionModByScrollAlign({\n scrollAlign,\n position,\n carouselSize,\n itemSize,\n offset,\n scrollStart,\n axis,\n });\n};\n\nconst DEFAULT_DURATION = 300;\n\n// https://css-tricks.com/emulating-css-timing-functions-javascript/\nconst tfs = {\n linear: (t: number) => t,\n // eslint-disable-next-line\n easeIn: (t: number) => Math.pow(t, 1.675),\n // eslint-disable-next-line\n easeOut: (t: number) => 1 - Math.pow(1 - t, 1.675),\n easeInOut: (t: number) => 0.5 * (Math.sin((t - 0.5) * Math.PI) + 1),\n};\n\nexport type TimingFunction = keyof typeof tfs;\n\n/**\n * Плавная прокрутка по горизонтали\n * @param {Element} elem\n * @param {number} pos\n * @param {number} duration\n * @param {string} timingFunction\n */\nexport const animatedScrollToX = (\n elem: Element,\n pos: number,\n duration: number = DEFAULT_DURATION,\n timingFunction: TimingFunction = 'easeInOut',\n): void => {\n let startTime: number;\n const startX = elem.scrollLeft;\n const endX = Math.max(0, Math.min(elem.scrollWidth - elem.clientWidth, pos));\n\n const handleNewAnimationFrame = (): void => {\n startTime = startTime || Date.now();\n const timePos = Math.min(1, Math.max(1, Date.now() - startTime) / duration);\n const scrollPos = tfs[timingFunction](timePos);\n const left = startX + (endX - startX) * scrollPos;\n elem.scrollTo({ left });\n if (timePos !== 1) window.requestAnimationFrame(handleNewAnimationFrame);\n };\n\n window.requestAnimationFrame(handleNewAnimationFrame);\n};\n\n/**\n * Прокрутка к указанной позиции с анимацией или без.\n */\nexport const scrollToPos = ({\n scrollEl,\n pos,\n axis,\n animated,\n duration,\n timingFunction,\n}: {\n scrollEl: HTMLElement;\n pos: number;\n axis: ScrollAxis;\n animated?: boolean;\n duration?: number;\n timingFunction?: TimingFunction;\n}) => {\n if (axis === 'x' && Math.abs(pos - scrollEl.scrollLeft) > 1) {\n if (animated) {\n animatedScrollToX(scrollEl, pos, duration, timingFunction);\n } else {\n scrollEl.scrollTo({ left: pos });\n }\n }\n};\n\nconst round = (n: number) => Math.round(n * 100) / 100;\n\n/**\n * Получить позицию (слот) айтема в каруселе.\n * Каждый айтем имеет свой слот относительно вьюпорта карусели.\n */\nexport const getItemSlot = (\n itemIndex: number,\n itemEnd: number,\n itemSize: number,\n scrollStart: number,\n scrollSize: number,\n scrollAlign: ScrollAlign,\n prevIndex = 0,\n offset = 0,\n) => {\n /**\n * Граница и центр скролла (видимой части).\n * Смещение + размер.\n */\n const scrollEnd = scrollStart + scrollSize;\n const scrollCenter = scrollStart + scrollSize / 2;\n const itemCenter = itemEnd - itemSize / 2;\n\n if (scrollAlign === 'center') {\n return round((itemCenter - scrollCenter) / itemSize);\n }\n if (scrollAlign === 'start') {\n return round((itemEnd - itemSize - scrollStart) / itemSize);\n }\n if (scrollAlign === 'end') {\n return round((itemEnd - (scrollSize + scrollStart)) / itemSize);\n }\n if (scrollAlign === 'activeDirection') {\n const prevStart = offset + itemSize * prevIndex;\n const prevEnd = prevStart + itemSize;\n const prevVisible = prevEnd > scrollStart && prevStart < scrollEnd;\n\n if (!prevVisible) {\n if (prevIndex < itemIndex) {\n return round((itemEnd - (scrollSize + scrollStart)) / itemSize);\n }\n return round((itemEnd - itemSize - scrollStart) / itemSize);\n }\n }\n return null;\n};\n\nexport function getCarouselItems(track: HTMLElement): HTMLCollectionOf<HTMLElement> {\n return track.children as HTMLCollectionOf<HTMLElement>;\n}\n\nexport function useDebouncedFunction(func: (...args: any) => any, delay: number, cleanUp?: boolean) {\n const timeoutRef = useRef<number>();\n\n /**\n * Очистка таймера\n */\n function clearTimer() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = undefined;\n }\n }\n\n /**\n * Очищаем таймер при анмаунте компонента, если cleanUp выставлен в true\n * и тем самым отменяем последний запланированный вызов\n */\n useEffect(() => (cleanUp ? clearTimer : undefined), [cleanUp]);\n\n return (...args: any[]) => {\n clearTimer();\n timeoutRef.current = setTimeout(() => func(...args), delay);\n };\n}\n\ntype UseCarouselOptions = Pick<\n CarouselProps,\n | 'index'\n | 'scrollAlign'\n | 'detectActive'\n | 'detectThreshold'\n | 'scaleCallback'\n | 'scaleResetCallback'\n | 'onIndexChange'\n | 'onDetectActiveItem'\n> & {\n axis: 'x' | 'y';\n animatedScrollByIndex?: boolean;\n throttleMs?: number;\n debounceMs?: number;\n};\n\ntype UseCarouselHookResult = {\n scrollRef: React.MutableRefObject<HTMLElement | null>;\n trackRef: React.MutableRefObject<HTMLElement | null>;\n};\n\nconst THROTTLE_DEFAULT_MS = 100;\nconst DEBOUNCE_DEFAULT_MS = 150;\n\nexport const useCarousel = ({\n index,\n axis = 'x',\n detectActive = false,\n detectThreshold = 0.5,\n scrollAlign = 'center',\n scaleCallback,\n scaleResetCallback,\n onIndexChange,\n onDetectActiveItem,\n animatedScrollByIndex = false,\n throttleMs = THROTTLE_DEFAULT_MS,\n debounceMs = DEBOUNCE_DEFAULT_MS,\n}: UseCarouselOptions): UseCarouselHookResult => {\n const prevIndex = useRef<number | null>(null);\n const direction = useRef<boolean | null>(null);\n const offset = useRef(0);\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n\n /**\n * Для того, чтобы не спамить изменениями индекса.\n * Задержка дебаунса слегка больше, чем у тротлинга.\n * Таким образом, событие срабатывает при завершении скролла.\n */\n const debouncedOnIndexChange = useDebouncedFunction((i: number) => onIndexChange?.(i), debounceMs);\n\n /**\n * Вычисление центрального элемента.\n * Подсчет: от 0 до 1, какое количество ширины/высоты\n * каждого элемента находится по центру скролла.\n */\n const throttledDetectActiveItem = useMemo(() => {\n return throttle(() => {\n if (!detectActive || scrollRef.current === null || trackRef.current === null) {\n return;\n }\n\n /**\n * Правая (или нижняя для Оу) граница элемента.\n */\n let itemEdge = offset.current;\n\n /**\n * Смещение (отрицательный или положительный отступ)\n * и размер карусели (для Ox - ширина, для Oy - высота).\n */\n const scrollPos = scrollRef.current[axis === 'x' ? 'scrollLeft' : 'scrollTop'];\n const scrollSize = scrollRef.current[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];\n\n /**\n * Граница скролла (видимой части).\n * Смещение + размер.\n */\n const scrollEdge = scrollPos + scrollSize;\n\n /**\n * Элементы перед, после и в видимой части.\n * перед [ ВИДИМЫЕ ] после\n */\n const prevItems: HTMLElement[] = [];\n const nextItems: HTMLElement[] = [];\n let count = 0;\n\n const items = getCarouselItems(trackRef.current);\n\n /**\n * Проходим по всему списку, суммируя ширины элементов,\n * пока не найдем один элемент, чей центр будет в центре карусели.\n */\n for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n const item = items.item(itemIndex);\n\n if (item === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n /**\n * Для Ox - ширина, для Oy - высота.\n */\n const itemSize = item[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];\n\n /**\n * Все элементы правее вьюпорта выпадают из процедуры.\n * Сравниваем по предыдущему элементу.\n * [ ... ] ...|n| <- Левый край элемента за пределами начала видимой части\n */\n if (itemEdge > scrollEdge) {\n if (scaleCallback && scaleResetCallback) {\n nextItems.push(item);\n }\n // eslint-disable-next-line no-continue\n continue;\n }\n\n itemEdge += itemSize;\n\n /**\n * Все элементы левее вьюпорта выпадают из процедуры.\n * Сравниваем по текущему элементу.\n * Правый край элемента за пределами начала видимой части -> |p|... [ ... ]\n */\n if (scrollPos > itemEdge) {\n if (scaleCallback && scaleResetCallback) {\n prevItems.push(item);\n }\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const itemSlot = getItemSlot(\n itemIndex,\n itemEdge,\n itemSize,\n scrollPos,\n scrollSize,\n scrollAlign,\n prevIndex.current ?? 0,\n offset.current,\n );\n\n if (itemSlot !== null) {\n if (detectThreshold && Math.abs(itemSlot) <= detectThreshold) {\n onDetectActiveItem?.(itemIndex);\n debouncedOnIndexChange?.(itemIndex);\n }\n\n if (scaleCallback) {\n scaleCallback(item, itemSlot);\n /**\n * Количество айтемов в видимой части.\n */\n count++;\n }\n }\n }\n\n if (scaleCallback && scaleResetCallback) {\n window.requestAnimationFrame(() => {\n if (direction.current) {\n if (nextItems.length) {\n nextItems.splice(0, count).forEach((elem) => scaleCallback(elem, count));\n if (nextItems.length) {\n nextItems.splice(0, count).forEach((elem) => scaleResetCallback(elem));\n }\n }\n } else if (prevItems.length) {\n const prItemsRev = prevItems.reverse();\n prItemsRev.splice(0, count).forEach((elem) => scaleCallback(elem, count * -1));\n if (prItemsRev.length) {\n prItemsRev.splice(0, count).forEach((elem) => scaleResetCallback(elem));\n }\n }\n });\n }\n }, throttleMs);\n }, [\n axis,\n debouncedOnIndexChange,\n detectActive,\n detectThreshold,\n onDetectActiveItem,\n scaleCallback,\n scaleResetCallback,\n scrollAlign,\n throttleMs,\n ]);\n\n /**\n * Прокрутка до нужной позиции индекса.\n */\n const toIndex = useCallback(\n (i: number) => {\n const scrollEl = scrollRef.current;\n const items = trackRef.current ? getCarouselItems(trackRef.current) : null;\n\n if (scrollEl && items && items.length > 0 && i >= 0) {\n scrollToPos({\n scrollEl,\n pos: getCalculatedPos({\n scrollEl,\n items,\n axis,\n index: i,\n offset: offset.current,\n scrollAlign,\n }),\n axis,\n /**\n * Без анимации при переходе на другой конец списка\n */\n animated:\n animatedScrollByIndex &&\n (prevIndex.current === null || Math.abs(i - prevIndex.current) !== items.length - 1),\n });\n prevIndex.current = i;\n }\n },\n [animatedScrollByIndex, axis, scrollAlign],\n );\n\n useEffect(() => {\n if (scrollRef.current && trackRef.current) {\n offset.current = getCalculatedOffset(scrollRef.current, trackRef.current, axis);\n }\n }, [axis]);\n\n /**\n * Операции на маунте/анмаунте компонента.\n * Создать слушатели событи и т.п.\n */\n useEffect(() => {\n const carouselElement = scrollRef.current;\n\n if (carouselElement) {\n carouselElement.addEventListener('scroll', throttledDetectActiveItem);\n }\n\n return () => {\n if (carouselElement) {\n carouselElement.removeEventListener('scroll', throttledDetectActiveItem);\n }\n };\n }, [throttledDetectActiveItem]);\n\n /**\n * Нужно вызвать только при первом рендере\n */\n useEffect(() => {\n requestAnimationFrame(() => {\n /**\n * Прокрутка до начального индекса.\n */\n toIndex(index);\n\n /**\n * Если на момент запуска карусель уже находится на нужной позиции,\n * событие скролла не произойдет, не сработает и определение центра,\n * необходимо вызвать его вручную.\n */\n throttledDetectActiveItem();\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Прокрутка до нужной позиции индекса, если индекс изменился.\n */\n useEffect(() => {\n if (index !== prevIndex.current) {\n toIndex(index);\n }\n }, [index, toIndex]);\n\n return {\n scrollRef,\n trackRef,\n };\n};\n"],"names":["getCalculatedOffset","scrollEl","trackEl","axis","paddingProp","parseInt","getComputedStyle","positionModByScrollAlign","_ref","scrollAlign","position","carouselSize","itemSize","offset","scrollStart","inaccuracy","paddingOffset","getCalculatedPos","_ref2","items","index","item","i","_items$item$offsetWid","_items$item","offsetWidth","_items$item$offsetHei","_items$item2","offsetHeight","_items$item$offsetWid2","_items$item3","scrollLeft","_items$item$offsetHei2","_items$item4","scrollTop","DEFAULT_DURATION","tfs","linear","t","easeIn","Math","pow","easeOut","easeInOut","sin","PI","animatedScrollToX","elem","pos","duration","arguments","length","undefined","timingFunction","startTime","startX","endX","max","min","scrollWidth","clientWidth","handleNewAnimationFrame","Date","now","timePos","scrollPos","left","scrollTo","window","requestAnimationFrame","scrollToPos","_ref3","animated","abs","round","n","getItemSlot","itemIndex","itemEnd","scrollSize","prevIndex","scrollEnd","scrollCenter","itemCenter","prevStart","prevEnd","prevVisible","getCarouselItems","track","children","useDebouncedFunction","func","delay","cleanUp","timeoutRef","useRef","clearTimer","current","clearTimeout","useEffect","_len","args","Array","_key","setTimeout","apply","THROTTLE_DEFAULT_MS","DEBOUNCE_DEFAULT_MS","useCarousel","_ref4","_ref4$axis","_ref4$detectActive","detectActive","_ref4$detectThreshold","detectThreshold","_ref4$scrollAlign","scaleCallback","scaleResetCallback","onIndexChange","onDetectActiveItem","_ref4$animatedScrollB","animatedScrollByIndex","_ref4$throttleMs","throttleMs","_ref4$debounceMs","debounceMs","direction","scrollRef","trackRef","debouncedOnIndexChange","throttledDetectActiveItem","useMemo","throttle","itemEdge","scrollEdge","prevItems","nextItems","count","_prevIndex$current","push","itemSlot","splice","forEach","prItemsRev","reverse","toIndex","useCallback","carouselElement","addEventListener","removeEventListener"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useDragScroll.js","sources":["../../../../src/components/Carousel/CarouselOld/useDragScroll.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nconst SCROLL_SPEED = 2;\n\nexport const useDragScroll = <T extends HTMLElement>(\n scrollRef: React.MutableRefObject<T | null>,\n isDragScrollDisabled?: boolean,\n) => {\n const [isDragging, setDragging] = useState(false);\n const [startX, setStartX] = useState(0);\n const [scrollLeft, setScrollLeft] = useState(0);\n\n const handleMouseMove = useCallback(\n (e: MouseEvent): void => {\n if (isDragging && scrollRef && scrollRef.current) {\n const dx = (e.clientX - startX) * SCROLL_SPEED;\n scrollRef.current.scrollLeft = scrollLeft - dx;\n }\n },\n [scrollRef, scrollLeft, isDragging, startX],\n );\n\n const handleMouseUp = useCallback((): void => {\n setDragging(false);\n\n if (scrollRef && scrollRef.current) {\n scrollRef.current.style.cursor = 'grab';\n }\n }, [scrollRef, setDragging]);\n\n const handleMouseDown = useCallback(\n (e: MouseEvent): void => {\n setDragging(true);\n\n if (scrollRef && scrollRef.current) {\n setStartX(e.clientX);\n setScrollLeft(scrollRef.current.scrollLeft);\n\n scrollRef.current.style.cursor = 'grabbing';\n }\n },\n [scrollRef, setDragging, setStartX, setScrollLeft, handleMouseUp, handleMouseMove],\n );\n\n useEffect(() => {\n if (scrollRef && scrollRef.current && !isDragScrollDisabled) {\n scrollRef.current.style.userSelect = 'none';\n scrollRef.current.addEventListener('mousedown', handleMouseDown);\n scrollRef.current.addEventListener('mouseup', handleMouseUp);\n scrollRef.current.addEventListener('mouseleave', handleMouseUp);\n scrollRef.current.addEventListener('mousemove', handleMouseMove);\n }\n\n return () => {\n if (scrollRef && scrollRef.current && !isDragScrollDisabled) {\n scrollRef.current.removeEventListener('mousedown', handleMouseDown);\n scrollRef.current.removeEventListener('mouseup', handleMouseUp);\n scrollRef.current.removeEventListener('mouseleave', handleMouseUp);\n scrollRef.current.removeEventListener('mousemove', handleMouseMove);\n }\n };\n }, [scrollRef, handleMouseDown, handleMouseUp, handleMouseMove, isDragScrollDisabled]);\n};\n"],"names":["SCROLL_SPEED","useDragScroll","scrollRef","isDragScrollDisabled","_useState","useState","_useState2","_slicedToArray","isDragging","setDragging","_useState3","_useState4","startX","setStartX","_useState5","_useState6","scrollLeft","setScrollLeft","handleMouseMove","useCallback","e","current","dx","clientX","handleMouseUp","style","cursor","handleMouseDown","useEffect","userSelect","addEventListener","removeEventListener"],"mappings":"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"}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { useRef, useLayoutEffect } from 'react';
|
2
|
-
|
3
|
-
var useDidMountLayoutEffect = function useDidMountLayoutEffect(fn, inputs) {
|
4
|
-
var didMountRef = useRef(false);
|
5
|
-
useLayoutEffect(function () {
|
6
|
-
if (didMountRef.current) {
|
7
|
-
fn();
|
8
|
-
} else {
|
9
|
-
didMountRef.current = true;
|
10
|
-
}
|
11
|
-
}, inputs);
|
12
|
-
};
|
13
|
-
|
14
|
-
export { useDidMountLayoutEffect };
|
15
|
-
//# sourceMappingURL=useDidMountLayoutEffect.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useDidMountLayoutEffect.js","sources":["../../src/hooks/useDidMountLayoutEffect.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react';\n\nexport const useDidMountLayoutEffect = (fn: () => any, inputs: Array<any>) => {\n const didMountRef = useRef(false);\n\n useLayoutEffect(() => {\n if (didMountRef.current) {\n fn();\n } else {\n didMountRef.current = true;\n }\n }, inputs);\n};\n"],"names":["useDidMountLayoutEffect","fn","inputs","didMountRef","useRef","useLayoutEffect","current"],"mappings":";;AAEO,IAAMA,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIC,EAAa,EAAEC,MAAkB,EAAK;AAC1E,EAAA,IAAMC,WAAW,GAAGC,MAAM,CAAC,KAAK,CAAC,CAAA;AAEjCC,EAAAA,eAAe,CAAC,YAAM;IAClB,IAAIF,WAAW,CAACG,OAAO,EAAE;AACrBL,MAAAA,EAAE,EAAE,CAAA;AACR,KAAC,MAAM;MACHE,WAAW,CAACG,OAAO,GAAG,IAAI,CAAA;AAC9B,KAAA;GACH,EAAEJ,MAAM,CAAC,CAAA;AACd;;;;"}
|