@salutejs/plasma-new-hope 0.326.0-canary.2011.15500078725.0 → 0.326.0-canary.2013.15518408913.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/CarouselNew/Carousel.css +12 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.js +98 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.styles.js +11 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +4 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +23 -0
- package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +428 -0
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js +62 -0
- package/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +227 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +39 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles_1i4srxq.css +5 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +50 -0
- package/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/variations/_size/base.js +9 -0
- package/cjs/components/Carousel/CarouselNew/variations/_size/base.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/variations/_size/base_x642ct.css +1 -0
- package/cjs/components/Carousel/CarouselNew/variations/_view/base.js +9 -0
- package/cjs/components/Carousel/CarouselNew/variations/_view/base.js.map +1 -0
- package/cjs/components/Carousel/CarouselNew/variations/_view/base_x642ct.css +1 -0
- package/cjs/components/Carousel/CarouselOld/Carousel.css +4 -0
- package/cjs/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +1 -1
- package/cjs/components/Carousel/CarouselOld/Carousel.js.map +1 -0
- package/cjs/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +9 -9
- package/cjs/components/Carousel/CarouselOld/Carousel.styles.js.map +1 -0
- package/cjs/components/Carousel/CarouselOld/Carousel.styles_12r304j.css +4 -0
- package/cjs/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +5 -5
- package/cjs/components/Carousel/CarouselOld/CarouselItem.js.map +1 -0
- package/cjs/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css +1 -0
- package/cjs/components/Carousel/CarouselOld/useCarousel.js.map +1 -0
- package/cjs/components/Carousel/{useDragScroll.js → CarouselOld/useDragScroll.js} +1 -1
- package/cjs/components/Carousel/CarouselOld/useDragScroll.js.map +1 -0
- package/cjs/hooks/useDidMountLayoutEffect.js +19 -0
- package/cjs/hooks/useDidMountLayoutEffect.js.map +1 -0
- package/cjs/index.css +17 -4
- package/cjs/index.js +10 -3
- package/cjs/index.js.map +1 -1
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +99 -0
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.styles.js +51 -0
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +21 -0
- package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +419 -0
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +229 -0
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +38 -0
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +47 -0
- package/emotion/cjs/components/Carousel/CarouselNew/ui/Item/Item.js +38 -0
- package/emotion/cjs/components/Carousel/CarouselNew/ui/index.js +27 -0
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_size/base.js +8 -0
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_view/base.js +8 -0
- package/emotion/cjs/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
- package/emotion/cjs/components/Carousel/CarouselOld/Carousel.styles.js +49 -0
- package/emotion/cjs/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +2 -2
- package/emotion/cjs/components/Carousel/CarouselOld/index.js +32 -0
- package/emotion/cjs/components/Carousel/index.js +23 -3
- package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
- package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.js +1 -1
- package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +92 -28
- package/emotion/cjs/hooks/index.js +7 -0
- package/emotion/cjs/hooks/useDidMountLayoutEffect.js +17 -0
- package/emotion/es/components/Carousel/CarouselNew/Carousel.js +94 -0
- package/emotion/es/components/Carousel/CarouselNew/Carousel.styles.js +44 -0
- package/emotion/es/components/Carousel/CarouselNew/Carousel.tokens.js +15 -0
- package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +409 -0
- package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +219 -0
- package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +31 -0
- package/emotion/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +41 -0
- package/emotion/es/components/Carousel/CarouselNew/ui/Item/Item.js +31 -0
- package/emotion/es/components/Carousel/CarouselNew/ui/index.js +2 -0
- package/emotion/es/components/Carousel/CarouselNew/variations/_size/base.js +2 -0
- package/emotion/es/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
- package/emotion/es/components/Carousel/CarouselNew/variations/_view/base.js +2 -0
- package/emotion/es/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
- package/emotion/es/components/Carousel/CarouselOld/Carousel.styles.js +42 -0
- package/emotion/es/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +2 -2
- package/emotion/es/components/Carousel/CarouselOld/index.js +3 -0
- package/emotion/es/components/Carousel/index.js +7 -3
- package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
- package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.js +2 -2
- package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +92 -28
- package/emotion/es/hooks/index.js +1 -0
- package/emotion/es/hooks/useDidMountLayoutEffect.js +11 -0
- package/es/components/Carousel/CarouselNew/Carousel.css +12 -0
- package/es/components/Carousel/CarouselNew/Carousel.js +89 -0
- package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -0
- package/es/components/Carousel/CarouselNew/Carousel.styles.js +7 -0
- package/es/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -0
- package/es/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +4 -0
- package/es/components/Carousel/CarouselNew/Carousel.tokens.js +18 -0
- package/es/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -0
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +413 -0
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -0
- package/es/components/Carousel/CarouselNew/hooks/useDragScroll.js +58 -0
- package/es/components/Carousel/CarouselNew/hooks/useDragScroll.js.map +1 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +218 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +1 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +31 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles_1i4srxq.css +5 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +44 -0
- package/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js.map +1 -0
- package/es/components/Carousel/CarouselNew/variations/_size/base.js +5 -0
- package/es/components/Carousel/CarouselNew/variations/_size/base.js.map +1 -0
- package/es/components/Carousel/CarouselNew/variations/_size/base_x642ct.css +1 -0
- package/es/components/Carousel/CarouselNew/variations/_view/base.js +5 -0
- package/es/components/Carousel/CarouselNew/variations/_view/base.js.map +1 -0
- package/es/components/Carousel/CarouselNew/variations/_view/base_x642ct.css +1 -0
- package/es/components/Carousel/CarouselOld/Carousel.css +4 -0
- package/es/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +1 -1
- package/es/components/Carousel/CarouselOld/Carousel.js.map +1 -0
- package/es/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +9 -9
- package/es/components/Carousel/CarouselOld/Carousel.styles.js.map +1 -0
- package/es/components/Carousel/CarouselOld/Carousel.styles_12r304j.css +4 -0
- package/es/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +5 -5
- package/es/components/Carousel/CarouselOld/CarouselItem.js.map +1 -0
- package/es/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css +1 -0
- package/es/components/Carousel/CarouselOld/useCarousel.js.map +1 -0
- package/es/components/Carousel/{useDragScroll.js → CarouselOld/useDragScroll.js} +1 -1
- package/es/components/Carousel/CarouselOld/useDragScroll.js.map +1 -0
- package/es/hooks/useDidMountLayoutEffect.js +15 -0
- package/es/hooks/useDidMountLayoutEffect.js.map +1 -0
- package/es/index.css +17 -4
- package/es/index.js +6 -3
- package/es/index.js.map +1 -1
- package/package.json +5 -5
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +99 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.styles.js +32 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +21 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.types.js +5 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +419 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js +65 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +229 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +24 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +47 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/Item/Item.js +37 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/ui/index.js +27 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_size/base.js +8 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_view/base.js +8 -0
- package/styled-components/cjs/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
- package/styled-components/cjs/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +3 -3
- package/styled-components/cjs/components/Carousel/CarouselOld/Carousel.types.js +5 -0
- package/styled-components/cjs/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +1 -1
- package/styled-components/cjs/components/Carousel/CarouselOld/index.js +32 -0
- package/styled-components/cjs/components/Carousel/CarouselOld/useDragScroll.js +65 -0
- package/styled-components/cjs/components/Carousel/index.js +23 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
- 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 +92 -28
- package/styled-components/cjs/hooks/index.js +7 -0
- package/styled-components/cjs/hooks/useDidMountLayoutEffect.js +17 -0
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +94 -0
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.styles.js +24 -0
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.tokens.js +15 -0
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.types.js +1 -0
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +409 -0
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useDragScroll.js +59 -0
- package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +219 -0
- package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +17 -0
- package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +41 -0
- package/styled-components/es/components/Carousel/CarouselNew/ui/Item/Item.js +30 -0
- package/styled-components/es/components/Carousel/CarouselNew/ui/index.js +2 -0
- package/styled-components/es/components/Carousel/CarouselNew/variations/_size/base.js +2 -0
- package/styled-components/es/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
- package/styled-components/es/components/Carousel/CarouselNew/variations/_view/base.js +2 -0
- package/styled-components/es/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
- package/styled-components/es/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +3 -3
- package/styled-components/es/components/Carousel/CarouselOld/Carousel.types.js +1 -0
- package/styled-components/es/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +1 -1
- package/styled-components/es/components/Carousel/CarouselOld/index.js +3 -0
- package/styled-components/es/components/Carousel/CarouselOld/useDragScroll.js +59 -0
- package/styled-components/es/components/Carousel/index.js +7 -3
- package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
- 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 +92 -28
- package/styled-components/es/hooks/index.js +1 -0
- package/styled-components/es/hooks/useDidMountLayoutEffect.js +11 -0
- package/types/components/Carousel/CarouselNew/Carousel.d.ts +32 -0
- package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts +15 -0
- package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts +16 -0
- package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +167 -0
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts +61 -0
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/hooks/useDragScroll.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.d.ts +4 -0
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts +6 -0
- package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/ui/Dots/utils/index.d.ts +4 -0
- package/types/components/Carousel/CarouselNew/ui/Dots/utils/index.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/ui/Item/Item.d.ts +4 -0
- package/types/components/Carousel/CarouselNew/ui/Item/Item.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/ui/index.d.ts +3 -0
- package/types/components/Carousel/CarouselNew/ui/index.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/variations/_size/base.d.ts +2 -0
- package/types/components/Carousel/CarouselNew/variations/_size/base.d.ts.map +1 -0
- package/types/components/Carousel/CarouselNew/variations/_view/base.d.ts +2 -0
- package/types/components/Carousel/CarouselNew/variations/_view/base.d.ts.map +1 -0
- package/types/components/Carousel/{Carousel.d.ts → CarouselOld/Carousel.d.ts} +1 -1
- package/types/components/Carousel/CarouselOld/Carousel.d.ts.map +1 -0
- package/types/components/Carousel/CarouselOld/Carousel.styles.d.ts.map +1 -0
- package/types/components/Carousel/{Carousel.types.d.ts → CarouselOld/Carousel.types.d.ts} +1 -1
- package/types/components/Carousel/CarouselOld/Carousel.types.d.ts.map +1 -0
- package/types/components/Carousel/CarouselOld/CarouselItem.d.ts.map +1 -0
- package/types/components/Carousel/CarouselOld/index.d.ts +5 -0
- package/types/components/Carousel/CarouselOld/index.d.ts.map +1 -0
- package/types/components/Carousel/CarouselOld/useCarousel.d.ts.map +1 -0
- package/types/components/Carousel/CarouselOld/useDragScroll.d.ts +2 -0
- package/types/components/Carousel/CarouselOld/useDragScroll.d.ts.map +1 -0
- package/types/components/Carousel/index.d.ts +7 -4
- package/types/components/Carousel/index.d.ts.map +1 -1
- package/types/hooks/index.d.ts +1 -0
- package/types/hooks/index.d.ts.map +1 -1
- package/types/hooks/useDidMountLayoutEffect.d.ts +2 -0
- package/types/hooks/useDidMountLayoutEffect.d.ts.map +1 -0
- package/cjs/components/Carousel/Carousel.css +0 -4
- package/cjs/components/Carousel/Carousel.js.map +0 -1
- package/cjs/components/Carousel/Carousel.styles.js.map +0 -1
- package/cjs/components/Carousel/Carousel.styles_zmchjj.css +0 -4
- package/cjs/components/Carousel/CarouselItem.js.map +0 -1
- package/cjs/components/Carousel/CarouselItem_cqjszm.css +0 -1
- package/cjs/components/Carousel/useCarousel.js.map +0 -1
- package/cjs/components/Carousel/useDragScroll.js.map +0 -1
- package/emotion/cjs/components/Carousel/Carousel.styles.js +0 -49
- package/emotion/es/components/Carousel/Carousel.styles.js +0 -42
- package/es/components/Carousel/Carousel.css +0 -4
- package/es/components/Carousel/Carousel.js.map +0 -1
- package/es/components/Carousel/Carousel.styles.js.map +0 -1
- package/es/components/Carousel/Carousel.styles_zmchjj.css +0 -4
- package/es/components/Carousel/CarouselItem.js.map +0 -1
- package/es/components/Carousel/CarouselItem_cqjszm.css +0 -1
- package/es/components/Carousel/useCarousel.js.map +0 -1
- package/es/components/Carousel/useDragScroll.js.map +0 -1
- package/types/components/Carousel/Carousel.d.ts.map +0 -1
- package/types/components/Carousel/Carousel.styles.d.ts.map +0 -1
- package/types/components/Carousel/Carousel.types.d.ts.map +0 -1
- package/types/components/Carousel/CarouselItem.d.ts.map +0 -1
- package/types/components/Carousel/useCarousel.d.ts.map +0 -1
- package/types/components/Carousel/useDragScroll.d.ts.map +0 -1
- /package/cjs/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
- /package/emotion/cjs/components/Carousel/{Carousel.types.js → CarouselNew/Carousel.types.js} +0 -0
- /package/emotion/cjs/components/Carousel/{useDragScroll.js → CarouselNew/hooks/useDragScroll.js} +0 -0
- /package/emotion/cjs/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
- /package/{styled-components/cjs/components/Carousel → emotion/cjs/components/Carousel/CarouselOld}/Carousel.types.js +0 -0
- /package/emotion/cjs/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
- /package/{styled-components/cjs/components/Carousel → emotion/cjs/components/Carousel/CarouselOld}/useDragScroll.js +0 -0
- /package/emotion/es/components/Carousel/{Carousel.types.js → CarouselNew/Carousel.types.js} +0 -0
- /package/emotion/es/components/Carousel/{useDragScroll.js → CarouselNew/hooks/useDragScroll.js} +0 -0
- /package/emotion/es/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
- /package/{styled-components/es/components/Carousel → emotion/es/components/Carousel/CarouselOld}/Carousel.types.js +0 -0
- /package/emotion/es/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
- /package/{styled-components/es/components/Carousel → emotion/es/components/Carousel/CarouselOld}/useDragScroll.js +0 -0
- /package/es/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
- /package/styled-components/cjs/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
- /package/styled-components/cjs/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
- /package/styled-components/es/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
- /package/styled-components/es/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
- /package/types/components/Carousel/{useDragScroll.d.ts → CarouselNew/hooks/useDragScroll.d.ts} +0 -0
- /package/types/components/Carousel/{Carousel.styles.d.ts → CarouselOld/Carousel.styles.d.ts} +0 -0
- /package/types/components/Carousel/{CarouselItem.d.ts → CarouselOld/CarouselItem.d.ts} +0 -0
- /package/types/components/Carousel/{useCarousel.d.ts → CarouselOld/useCarousel.d.ts} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useCarousel.js","sources":["../../../../../src/components/Carousel/CarouselNew/hooks/useCarousel.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\n\nimport { CarouselNewProps as 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' | 'scrollAlign' | 'detectActive' | 'detectThreshold' | 'onIndexChange'\n> & {\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 detectActive = false,\n detectThreshold = 0.5,\n scrollAlign = 'center',\n onIndexChange,\n throttleMs = THROTTLE_DEFAULT_MS,\n debounceMs = DEBOUNCE_DEFAULT_MS,\n}: UseCarouselOptions): UseCarouselHookResult => {\n const prevIndex = useRef<number | null>(null);\n const offset = useRef(0);\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const axis = 'x';\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 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 // 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 // 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 debouncedOnIndexChange?.(itemIndex);\n }\n }\n }\n }, throttleMs);\n }, [axis, debouncedOnIndexChange, detectActive, detectThreshold, scrollAlign, throttleMs]);\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 prevIndex.current = i;\n }\n },\n [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$detectActive","detectActive","_ref4$detectThreshold","detectThreshold","_ref4$scrollAlign","onIndexChange","_ref4$throttleMs","throttleMs","_ref4$debounceMs","debounceMs","scrollRef","trackRef","debouncedOnIndexChange","throttledDetectActiveItem","useMemo","throttle","itemEdge","scrollEdge","_prevIndex$current","itemSlot","toIndex","useCallback","carouselElement","addEventListener","removeEventListener"],"mappings":"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"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
|
6
|
+
var React = require('react');
|
7
|
+
|
8
|
+
var SCROLL_SPEED = 2;
|
9
|
+
var useDragScroll = function useDragScroll(scrollRef, isDragScrollDisabled) {
|
10
|
+
var _useState = React.useState(false),
|
11
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
12
|
+
isDragging = _useState2[0],
|
13
|
+
setDragging = _useState2[1];
|
14
|
+
var _useState3 = React.useState(0),
|
15
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
16
|
+
startX = _useState4[0],
|
17
|
+
setStartX = _useState4[1];
|
18
|
+
var _useState5 = React.useState(0),
|
19
|
+
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
20
|
+
scrollLeft = _useState6[0],
|
21
|
+
setScrollLeft = _useState6[1];
|
22
|
+
var handleMouseMove = React.useCallback(function (e) {
|
23
|
+
if (isDragging && scrollRef && scrollRef.current) {
|
24
|
+
var dx = (e.clientX - startX) * SCROLL_SPEED;
|
25
|
+
scrollRef.current.scrollLeft = scrollLeft - dx;
|
26
|
+
}
|
27
|
+
}, [scrollRef, scrollLeft, isDragging, startX]);
|
28
|
+
var handleMouseUp = React.useCallback(function () {
|
29
|
+
setDragging(false);
|
30
|
+
if (scrollRef && scrollRef.current) {
|
31
|
+
scrollRef.current.style.cursor = 'grab';
|
32
|
+
}
|
33
|
+
}, [scrollRef, setDragging]);
|
34
|
+
var handleMouseDown = React.useCallback(function (e) {
|
35
|
+
setDragging(true);
|
36
|
+
if (scrollRef && scrollRef.current) {
|
37
|
+
setStartX(e.clientX);
|
38
|
+
setScrollLeft(scrollRef.current.scrollLeft);
|
39
|
+
scrollRef.current.style.cursor = 'grabbing';
|
40
|
+
}
|
41
|
+
}, [scrollRef, setDragging, setStartX, setScrollLeft, handleMouseUp, handleMouseMove]);
|
42
|
+
React.useEffect(function () {
|
43
|
+
if (scrollRef && scrollRef.current && !isDragScrollDisabled) {
|
44
|
+
scrollRef.current.style.userSelect = 'none';
|
45
|
+
scrollRef.current.addEventListener('mousedown', handleMouseDown);
|
46
|
+
scrollRef.current.addEventListener('mouseup', handleMouseUp);
|
47
|
+
scrollRef.current.addEventListener('mouseleave', handleMouseUp);
|
48
|
+
scrollRef.current.addEventListener('mousemove', handleMouseMove);
|
49
|
+
}
|
50
|
+
return function () {
|
51
|
+
if (scrollRef && scrollRef.current && !isDragScrollDisabled) {
|
52
|
+
scrollRef.current.removeEventListener('mousedown', handleMouseDown);
|
53
|
+
scrollRef.current.removeEventListener('mouseup', handleMouseUp);
|
54
|
+
scrollRef.current.removeEventListener('mouseleave', handleMouseUp);
|
55
|
+
scrollRef.current.removeEventListener('mousemove', handleMouseMove);
|
56
|
+
}
|
57
|
+
};
|
58
|
+
}, [scrollRef, handleMouseDown, handleMouseUp, handleMouseMove, isDragScrollDisabled]);
|
59
|
+
};
|
60
|
+
|
61
|
+
exports.useDragScroll = useDragScroll;
|
62
|
+
//# sourceMappingURL=useDragScroll.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useDragScroll.js","sources":["../../../../../src/components/Carousel/CarouselNew/hooks/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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"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
.Dots_styles_1i4srxq_wn5xio__92126c77{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
|
+
.Dots_styles_1i4srxq_tnn1xpa__92126c77{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;}.Dots_styles_1i4srxq_tnn1xpa__92126c77.Dots_styles_1i4srxq_dotAnimating__92126c77{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}.Dots_styles_1i4srxq_tnn1xpa__92126c77 .Dots_styles_1i4srxq_dot__92126c77{width:0.5rem;height:0.5rem;margin:0 0.25rem;cursor:pointer;background-color:var(--plasma-carousel-pagination-dot-background);border-radius:100%;}.Dots_styles_1i4srxq_tnn1xpa__92126c77 .Dots_styles_1i4srxq_dot__92126c77.Dots_styles_1i4srxq_dotActive__92126c77{background-color:var(--plasma-carousel-pagination-dot-active-background);}@-webkit-keyframes Dots_styles_1i4srxq_fadeOutTnn1xpa__92126c77{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 Dots_styles_1i4srxq_fadeOutTnn1xpa__92126c77{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;}}.Dots_styles_1i4srxq_tnn1xpa__92126c77 .Dots_styles_1i4srxq_dot__92126c77.Dots_styles_1i4srxq_dotAnimateOut__92126c77{-webkit-animation:Dots_styles_1i4srxq_fadeOutTnn1xpa__92126c77 var(--half-duration) ease forwards;animation:Dots_styles_1i4srxq_fadeOutTnn1xpa__92126c77 var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_1i4srxq_shrinkingTnn1xpa__92126c77{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 Dots_styles_1i4srxq_shrinkingTnn1xpa__92126c77{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);}}.Dots_styles_1i4srxq_tnn1xpa__92126c77 .Dots_styles_1i4srxq_dot__92126c77.Dots_styles_1i4srxq_dotShrinking__92126c77{-webkit-animation:Dots_styles_1i4srxq_shrinkingTnn1xpa__92126c77 var(--half-duration) var(--half-duration) ease forwards;animation:Dots_styles_1i4srxq_shrinkingTnn1xpa__92126c77 var(--half-duration) var(--half-duration) ease forwards;}
|
3
|
+
.Dots_styles_1i4srxq_d1k0jsbc__92126c77{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_1i4srxq_d1k0jsbc__92126c77.Dots_styles_1i4srxq_dotAvailableDotsLeft__92126c77 .Dots_styles_1i4srxq_dot__92126c77:not(.Dots_styles_1i4srxq_dotTemporaryNatural__92126c77):first-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.Dots_styles_1i4srxq_d1k0jsbc__92126c77.Dots_styles_1i4srxq_dotAvailableDotsRight__92126c77 .Dots_styles_1i4srxq_dot__92126c77:not(.Dots_styles_1i4srxq_dotTemporaryNatural__92126c77):last-child{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}.Dots_styles_1i4srxq_d1k0jsbc__92126c77.Dots_styles_1i4srxq_dotAnimating__92126c77 .Dots_styles_1i4srxq_dot__92126c77{-webkit-transition:background-color var(--duration) ease;transition:background-color var(--duration) ease;}
|
4
|
+
.Dots_styles_1i4srxq_laqzsgq__92126c77{position:absolute;top:0;right:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_1i4srxq_laqzsgq__92126c77 .Dots_styles_1i4srxq_dot__92126c77{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes Dots_styles_1i4srxq_fadeInLaqzsgq__92126c77{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 Dots_styles_1i4srxq_fadeInLaqzsgq__92126c77{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;}}.Dots_styles_1i4srxq_laqzsgq__92126c77 .Dots_styles_1i4srxq_dot__92126c77.Dots_styles_1i4srxq_dotAnimateIn__92126c77{-webkit-animation:Dots_styles_1i4srxq_fadeInLaqzsgq__92126c77 var(--half-duration) ease forwards;animation:Dots_styles_1i4srxq_fadeInLaqzsgq__92126c77 var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_1i4srxq_fadeInFirstLaqzsgq__92126c77{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 Dots_styles_1i4srxq_fadeInFirstLaqzsgq__92126c77{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;}}.Dots_styles_1i4srxq_laqzsgq__92126c77 .Dots_styles_1i4srxq_dot__92126c77:first-child.Dots_styles_1i4srxq_dotAnimateIn__92126c77{-webkit-animation:Dots_styles_1i4srxq_fadeInFirstLaqzsgq__92126c77 var(--half-duration) ease forwards;animation:Dots_styles_1i4srxq_fadeInFirstLaqzsgq__92126c77 var(--half-duration) ease forwards;}
|
5
|
+
.Dots_styles_1i4srxq_rp088ba__92126c77{position:absolute;top:0;left:100%;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Dots_styles_1i4srxq_rp088ba__92126c77 .Dots_styles_1i4srxq_dot__92126c77{-webkit-transition:-webkit-transform var(--duration) ease;-webkit-transition:transform var(--duration) ease;transition:transform var(--duration) ease;}@-webkit-keyframes Dots_styles_1i4srxq_fadeInRp088ba__92126c77{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 Dots_styles_1i4srxq_fadeInRp088ba__92126c77{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;}}.Dots_styles_1i4srxq_rp088ba__92126c77 .Dots_styles_1i4srxq_dot__92126c77.Dots_styles_1i4srxq_dotAnimateIn__92126c77{-webkit-animation:Dots_styles_1i4srxq_fadeInRp088ba__92126c77 var(--half-duration) ease forwards;animation:Dots_styles_1i4srxq_fadeInRp088ba__92126c77 var(--half-duration) ease forwards;}@-webkit-keyframes Dots_styles_1i4srxq_fadeInLastRp088ba__92126c77{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 Dots_styles_1i4srxq_fadeInLastRp088ba__92126c77{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;}}.Dots_styles_1i4srxq_rp088ba__92126c77 .Dots_styles_1i4srxq_dot__92126c77:last-child.Dots_styles_1i4srxq_dotAnimateIn__92126c77{-webkit-animation:Dots_styles_1i4srxq_fadeInLastRp088ba__92126c77 var(--half-duration) ease forwards;animation:Dots_styles_1i4srxq_fadeInLastRp088ba__92126c77 var(--half-duration) ease forwards;}
|
@@ -0,0 +1,227 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
|
6
|
+
var React = require('react');
|
7
|
+
var cls = require('classnames');
|
8
|
+
var Carousel_tokens = require('../../Carousel.tokens.js');
|
9
|
+
var index = require('./utils/index.js');
|
10
|
+
var Dots_styles = require('./Dots.styles.js');
|
11
|
+
var useDidMountLayoutEffect = require('../../../../../hooks/useDidMountLayoutEffect.js');
|
12
|
+
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
14
|
+
|
15
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
16
|
+
var cls__default = /*#__PURE__*/_interopDefault(cls);
|
17
|
+
|
18
|
+
var SIZE = 16; // размер точки в px
|
19
|
+
var ANIMATION_DURATION = 0.3; // скорость анимации в секундах
|
20
|
+
|
21
|
+
var Dots = /*#__PURE__*/React.memo(function (_ref) {
|
22
|
+
var _ref$index = _ref.index,
|
23
|
+
originalIndex = _ref$index === void 0 ? 0 : _ref$index,
|
24
|
+
onChange = _ref.onChange,
|
25
|
+
_ref$centered = _ref.centered,
|
26
|
+
centered = _ref$centered === void 0 ? false : _ref$centered,
|
27
|
+
_ref$count = _ref.count,
|
28
|
+
count = _ref$count === void 0 ? 0 : _ref$count,
|
29
|
+
_ref$visibleCount = _ref.visibleCount,
|
30
|
+
originalVisibleCount = _ref$visibleCount === void 0 ? 0 : _ref$visibleCount;
|
31
|
+
// Трансформируем входные параметры для корректной работы в дальнейшем
|
32
|
+
var _getInitialData = index.getInitialData(originalIndex, count, originalVisibleCount),
|
33
|
+
_getInitialData2 = _rollupPluginBabelHelpers.slicedToArray(_getInitialData, 2),
|
34
|
+
index$1 = _getInitialData2[0],
|
35
|
+
visibleCount = _getInitialData2[1];
|
36
|
+
|
37
|
+
// Рефки на DOM-ноды
|
38
|
+
var transitionWrapperRef = React.useRef(null);
|
39
|
+
var dotWrapperRef = React.useRef(null);
|
40
|
+
var leftAnimationWrapperRef = React.useRef(null);
|
41
|
+
var rightAnimationWrapperRef = React.useRef(null);
|
42
|
+
|
43
|
+
// Консистентные переменные
|
44
|
+
var isAnimating = React.useRef(false);
|
45
|
+
var prevIndex = React.useRef(-Infinity);
|
46
|
+
var prevActiveIndex = React.useRef(Infinity);
|
47
|
+
var isRightDirection = index$1 > prevIndex.current;
|
48
|
+
var diffDotsRange = Math.abs(index$1 - prevIndex.current);
|
49
|
+
var activeIndex = index.getActiveIndex(index$1, isRightDirection, count, visibleCount);
|
50
|
+
var hiddenDotsLeft = activeIndex < index$1;
|
51
|
+
var hiddenDotsRight = index$1 + (visibleCount - 1 - activeIndex) < count - 1;
|
52
|
+
var handleClick = function handleClick(i) {
|
53
|
+
if (isAnimating.current) return;
|
54
|
+
if (onChange) {
|
55
|
+
onChange(index$1 + (i - activeIndex));
|
56
|
+
}
|
57
|
+
};
|
58
|
+
var handleTransitionEnd = function handleTransitionEnd() {
|
59
|
+
if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current || !rightAnimationWrapperRef || !rightAnimationWrapperRef.current || !leftAnimationWrapperRef || !leftAnimationWrapperRef.current) {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
dotWrapperRef.current.classList.remove(Carousel_tokens.classes.animating);
|
63
|
+
transitionWrapperRef.current.classList.remove(Carousel_tokens.classes.animating);
|
64
|
+
Array.from(dotWrapperRef.current.children).forEach(function (child) {
|
65
|
+
var _child$classList;
|
66
|
+
(_child$classList = child.classList).remove.apply(_child$classList, [Carousel_tokens.classes.active, Carousel_tokens.classes.animateOut, Carousel_tokens.classes.temporaryNatural, Carousel_tokens.classes.shrinking]);
|
67
|
+
});
|
68
|
+
dotWrapperRef.current.children[activeIndex].classList.add(Carousel_tokens.classes.active);
|
69
|
+
if (centered) {
|
70
|
+
transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - activeIndex * SIZE, "px)");
|
71
|
+
} else {
|
72
|
+
transitionWrapperRef.current.style.transform = 'translateX(0)';
|
73
|
+
}
|
74
|
+
setTimeout(function () {
|
75
|
+
if (transitionWrapperRef && transitionWrapperRef.current) {
|
76
|
+
isAnimating.current = false;
|
77
|
+
}
|
78
|
+
});
|
79
|
+
|
80
|
+
// Очищаем блоки с анимированными точками
|
81
|
+
leftAnimationWrapperRef.current.innerText = '';
|
82
|
+
rightAnimationWrapperRef.current.innerText = '';
|
83
|
+
prevIndex.current = index$1;
|
84
|
+
prevActiveIndex.current = activeIndex;
|
85
|
+
isAnimating.current = false;
|
86
|
+
};
|
87
|
+
React.useLayoutEffect(function () {
|
88
|
+
if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current) {
|
89
|
+
return;
|
90
|
+
}
|
91
|
+
|
92
|
+
// Вычисляем начальный сдвиг по горизонтали, чтобы точка стала по центру
|
93
|
+
if (centered) {
|
94
|
+
transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - activeIndex * SIZE, "px)");
|
95
|
+
}
|
96
|
+
prevIndex.current = index$1;
|
97
|
+
prevActiveIndex.current = activeIndex;
|
98
|
+
}, []);
|
99
|
+
useDidMountLayoutEffect.useDidMountLayoutEffect(function () {
|
100
|
+
var _dotWrapperRef$curren;
|
101
|
+
if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current || !leftAnimationWrapperRef || !leftAnimationWrapperRef.current || !rightAnimationWrapperRef || !rightAnimationWrapperRef.current || isAnimating.current) {
|
102
|
+
return;
|
103
|
+
}
|
104
|
+
isAnimating.current = true;
|
105
|
+
dotWrapperRef.current.classList.add(Carousel_tokens.classes.animating);
|
106
|
+
transitionWrapperRef.current.classList.add(Carousel_tokens.classes.animating);
|
107
|
+
var targetIndex = index.getTargetIndex(index$1, prevIndex.current, prevActiveIndex.current, diffDotsRange);
|
108
|
+
var dotsToAdd = Math.abs(targetIndex - activeIndex);
|
109
|
+
if (centered) {
|
110
|
+
transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - targetIndex * SIZE, "px)");
|
111
|
+
} else if (dotsToAdd > 0) {
|
112
|
+
transitionWrapperRef.current.style.transform = "translateX(".concat(-SIZE * (targetIndex - activeIndex), "px)");
|
113
|
+
}
|
114
|
+
|
115
|
+
// Стираем все активные классы и устанавливаем активный класс на таргет.
|
116
|
+
// В конце анимации произойдет переопределение активного класса.
|
117
|
+
Array.from(dotWrapperRef.current.children).forEach(function (child) {
|
118
|
+
child.classList.remove(Carousel_tokens.classes.active);
|
119
|
+
});
|
120
|
+
(_dotWrapperRef$curren = dotWrapperRef.current.children[targetIndex]) === null || _dotWrapperRef$curren === void 0 || _dotWrapperRef$curren.classList.add(Carousel_tokens.classes.active);
|
121
|
+
if (index$1 > prevIndex.current) {
|
122
|
+
// Двигаемся вправо
|
123
|
+
|
124
|
+
// Если мы добавляем 1 и более точек, то нужно начать
|
125
|
+
// приводить размер крайней правой точки (что будет в m размере?)
|
126
|
+
// к натуральному размеру
|
127
|
+
if (dotsToAdd >= 1) {
|
128
|
+
var _dotWrapperRef$curren2;
|
129
|
+
(_dotWrapperRef$curren2 = dotWrapperRef.current.children[visibleCount - 1]) === null || _dotWrapperRef$curren2 === void 0 || _dotWrapperRef$curren2.classList.add(Carousel_tokens.classes.temporaryNatural);
|
130
|
+
}
|
131
|
+
|
132
|
+
// Т.к. мы двигаемся вправо, то нужно начать уменьшать размер крайней левой точки
|
133
|
+
// (опять же, что в m size?)
|
134
|
+
if (dotsToAdd >= 1) {
|
135
|
+
var _dotWrapperRef$curren3;
|
136
|
+
(_dotWrapperRef$curren3 = dotWrapperRef.current.children[dotsToAdd]) === null || _dotWrapperRef$curren3 === void 0 || _dotWrapperRef$curren3.classList.add(Carousel_tokens.classes.shrinking);
|
137
|
+
}
|
138
|
+
if (dotsToAdd > 0) {
|
139
|
+
var _loop = function _loop() {
|
140
|
+
var _dotWrapperRef$curren4;
|
141
|
+
var node = document.createElement('div');
|
142
|
+
node.textContent = '';
|
143
|
+
node.classList.add(Carousel_tokens.classes.dot);
|
144
|
+
node.style.opacity = '0';
|
145
|
+
var delay = i * (ANIMATION_DURATION / dotsToAdd);
|
146
|
+
node.style.animationDelay = "".concat(delay, "s");
|
147
|
+
rightAnimationWrapperRef.current.appendChild(node);
|
148
|
+
var duration = ANIMATION_DURATION / dotsToAdd;
|
149
|
+
requestAnimationFrame(function () {
|
150
|
+
node.classList.add(Carousel_tokens.classes.animateIn);
|
151
|
+
node.style.animationDuration = "".concat(duration, "s");
|
152
|
+
});
|
153
|
+
var currentDomNode = (_dotWrapperRef$curren4 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren4 === void 0 ? void 0 : _dotWrapperRef$curren4[i];
|
154
|
+
currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(Carousel_tokens.classes.animateOut);
|
155
|
+
currentDomNode.style.animationDelay = "".concat(delay, "s");
|
156
|
+
currentDomNode.style.animationDuration = "".concat(duration, "s");
|
157
|
+
};
|
158
|
+
for (var i = 0; i < dotsToAdd; i++) {
|
159
|
+
_loop();
|
160
|
+
}
|
161
|
+
}
|
162
|
+
} else {
|
163
|
+
// Двигаемся влево
|
164
|
+
|
165
|
+
// Если мы добавляем 1 и более точек, то нужно начать
|
166
|
+
// приводить размер крайней левой точки (что будет в m размере?)
|
167
|
+
// к натуральному размеру.
|
168
|
+
if (dotsToAdd >= 1) {
|
169
|
+
var _dotWrapperRef$curren5;
|
170
|
+
(_dotWrapperRef$curren5 = dotWrapperRef.current.children[0]) === null || _dotWrapperRef$curren5 === void 0 || _dotWrapperRef$curren5.classList.add(Carousel_tokens.classes.temporaryNatural);
|
171
|
+
}
|
172
|
+
|
173
|
+
// Т.к. мы двигаемся влево, то нужно начать уменьшать размер крайней правой точки
|
174
|
+
// (опять же, что в m size?)
|
175
|
+
if (dotsToAdd >= 1) {
|
176
|
+
var _dotWrapperRef$curren6;
|
177
|
+
(_dotWrapperRef$curren6 = dotWrapperRef.current.children[visibleCount - 1 - dotsToAdd]) === null || _dotWrapperRef$curren6 === void 0 || _dotWrapperRef$curren6.classList.add(Carousel_tokens.classes.shrinking);
|
178
|
+
}
|
179
|
+
if (dotsToAdd > 0) {
|
180
|
+
var _loop2 = function _loop2() {
|
181
|
+
var _dotWrapperRef$curren7;
|
182
|
+
var node = document.createElement('div');
|
183
|
+
node.textContent = '';
|
184
|
+
node.classList.add(Carousel_tokens.classes.dot);
|
185
|
+
node.style.opacity = '0';
|
186
|
+
var delay = (dotsToAdd - 1 - _i) * (ANIMATION_DURATION / dotsToAdd);
|
187
|
+
node.style.animationDelay = "".concat(delay, "s");
|
188
|
+
leftAnimationWrapperRef.current.prepend(node);
|
189
|
+
var duration = ANIMATION_DURATION / dotsToAdd;
|
190
|
+
requestAnimationFrame(function () {
|
191
|
+
node.classList.add(Carousel_tokens.classes.animateIn);
|
192
|
+
node.style.animationDuration = "".concat(duration, "s");
|
193
|
+
});
|
194
|
+
var currentDomNode = (_dotWrapperRef$curren7 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren7 === void 0 ? void 0 : _dotWrapperRef$curren7[dotWrapperRef.current.children.length - 1 - _i];
|
195
|
+
currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(Carousel_tokens.classes.animateOut);
|
196
|
+
currentDomNode.style.animationDelay = "".concat(_i * (ANIMATION_DURATION / dotsToAdd), "s");
|
197
|
+
currentDomNode.style.animationDuration = "".concat(duration, "s");
|
198
|
+
};
|
199
|
+
for (var _i = dotsToAdd - 1; _i >= 0; _i--) {
|
200
|
+
_loop2();
|
201
|
+
}
|
202
|
+
}
|
203
|
+
}
|
204
|
+
}, [index$1]);
|
205
|
+
return /*#__PURE__*/React__default.default.createElement(Dots_styles.Wrapper, null, /*#__PURE__*/React__default.default.createElement(Dots_styles.TransitionWrapper, {
|
206
|
+
ref: transitionWrapperRef,
|
207
|
+
onTransitionEnd: handleTransitionEnd
|
208
|
+
}, /*#__PURE__*/React__default.default.createElement(Dots_styles.LeftAnimationWrapper, {
|
209
|
+
ref: leftAnimationWrapperRef
|
210
|
+
}), /*#__PURE__*/React__default.default.createElement(Dots_styles.DotWrapper, {
|
211
|
+
ref: dotWrapperRef,
|
212
|
+
className: cls__default.default(hiddenDotsLeft && Carousel_tokens.classes.availableDotsLeft, hiddenDotsRight && Carousel_tokens.classes.availableDotsRight)
|
213
|
+
}, Array(visibleCount).fill(0).map(function (_, i) {
|
214
|
+
return /*#__PURE__*/React__default.default.createElement("div", {
|
215
|
+
key: i,
|
216
|
+
className: cls__default.default(Carousel_tokens.classes.dot, i === activeIndex && Carousel_tokens.classes.active),
|
217
|
+
onClick: function onClick() {
|
218
|
+
return handleClick(i);
|
219
|
+
}
|
220
|
+
});
|
221
|
+
})), /*#__PURE__*/React__default.default.createElement(Dots_styles.RightAnimationWrapper, {
|
222
|
+
ref: rightAnimationWrapperRef
|
223
|
+
})));
|
224
|
+
});
|
225
|
+
|
226
|
+
exports.Dots = Dots;
|
227
|
+
//# sourceMappingURL=Dots.js.map
|
@@ -0,0 +1 @@
|
|
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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"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require('./Dots.styles_1i4srxq.css');
|
2
|
+
'use strict';
|
3
|
+
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
5
|
+
|
6
|
+
var react = require('@linaria/react');
|
7
|
+
|
8
|
+
var Wrapper = /*#__PURE__*/react.styled('div')({
|
9
|
+
name: "Wrapper",
|
10
|
+
"class": "wn5xio",
|
11
|
+
propsAsIs: false
|
12
|
+
});
|
13
|
+
var TransitionWrapper = /*#__PURE__*/react.styled('div')({
|
14
|
+
name: "TransitionWrapper",
|
15
|
+
"class": "tnn1xpa",
|
16
|
+
propsAsIs: false
|
17
|
+
});
|
18
|
+
var DotWrapper = /*#__PURE__*/react.styled('div')({
|
19
|
+
name: "DotWrapper",
|
20
|
+
"class": "d1k0jsbc",
|
21
|
+
propsAsIs: false
|
22
|
+
});
|
23
|
+
var LeftAnimationWrapper = /*#__PURE__*/react.styled('div')({
|
24
|
+
name: "LeftAnimationWrapper",
|
25
|
+
"class": "laqzsgq",
|
26
|
+
propsAsIs: false
|
27
|
+
});
|
28
|
+
var RightAnimationWrapper = /*#__PURE__*/react.styled('div')({
|
29
|
+
name: "RightAnimationWrapper",
|
30
|
+
"class": "rp088ba",
|
31
|
+
propsAsIs: false
|
32
|
+
});
|
33
|
+
|
34
|
+
exports.DotWrapper = DotWrapper;
|
35
|
+
exports.LeftAnimationWrapper = LeftAnimationWrapper;
|
36
|
+
exports.RightAnimationWrapper = RightAnimationWrapper;
|
37
|
+
exports.TransitionWrapper = TransitionWrapper;
|
38
|
+
exports.Wrapper = Wrapper;
|
39
|
+
//# sourceMappingURL=Dots.styles.js.map
|
@@ -0,0 +1 @@
|
|
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,YAAM,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,YAAM,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,YAAM,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,YAAM,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,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,uBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA0C1C;;;;;;;;"}
|
@@ -0,0 +1,5 @@
|
|
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;}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
var getInitialData = function getInitialData(index, count, visibleCount) {
|
6
|
+
var newIndex = index;
|
7
|
+
var newVisibleCount = visibleCount;
|
8
|
+
|
9
|
+
// Ограничения на макс. и мин. значения индекса
|
10
|
+
if (index < 0) {
|
11
|
+
newIndex = 0;
|
12
|
+
} else if (index >= count) {
|
13
|
+
newIndex = count - 1;
|
14
|
+
}
|
15
|
+
|
16
|
+
// Ограничение на количество точек
|
17
|
+
if (visibleCount > count) {
|
18
|
+
newVisibleCount = count;
|
19
|
+
}
|
20
|
+
return [newIndex, newVisibleCount];
|
21
|
+
};
|
22
|
+
var getActiveIndex = function getActiveIndex(index, isRightDirection, count, visibleCount) {
|
23
|
+
if (index < Math.trunc(visibleCount / 2)) {
|
24
|
+
return index;
|
25
|
+
}
|
26
|
+
if (count - 1 - index < Math.trunc(visibleCount / 2)) {
|
27
|
+
return visibleCount - 1 - (count - 1 - index);
|
28
|
+
}
|
29
|
+
if (visibleCount % 2) {
|
30
|
+
return Math.trunc(visibleCount / 2);
|
31
|
+
}
|
32
|
+
if (isRightDirection) {
|
33
|
+
return visibleCount / 2;
|
34
|
+
}
|
35
|
+
return visibleCount / 2 - 1;
|
36
|
+
};
|
37
|
+
var getTargetIndex = function getTargetIndex(index, prevIndex, prevActiveIndex, diffDotsRange) {
|
38
|
+
var targetIndex = 0;
|
39
|
+
if (index > prevIndex) {
|
40
|
+
targetIndex = prevActiveIndex + diffDotsRange;
|
41
|
+
} else {
|
42
|
+
targetIndex = prevActiveIndex - diffDotsRange;
|
43
|
+
}
|
44
|
+
return targetIndex;
|
45
|
+
};
|
46
|
+
|
47
|
+
exports.getActiveIndex = getActiveIndex;
|
48
|
+
exports.getInitialData = getInitialData;
|
49
|
+
exports.getTargetIndex = getTargetIndex;
|
50
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
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;;;;;;"}
|
@@ -0,0 +1 @@
|
|
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;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
|