@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.
Files changed (271) hide show
  1. package/cjs/components/Carousel/CarouselNew/Carousel.css +12 -0
  2. package/cjs/components/Carousel/CarouselNew/Carousel.js +98 -0
  3. package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -0
  4. package/cjs/components/Carousel/CarouselNew/Carousel.styles.js +11 -0
  5. package/cjs/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -0
  6. package/cjs/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +4 -0
  7. package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +23 -0
  8. package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -0
  9. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +428 -0
  10. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -0
  11. package/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js +62 -0
  12. package/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js.map +1 -0
  13. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -0
  14. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +227 -0
  15. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +1 -0
  16. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +39 -0
  17. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -0
  18. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles_1i4srxq.css +5 -0
  19. package/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +50 -0
  20. package/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js.map +1 -0
  21. package/cjs/components/Carousel/CarouselNew/variations/_size/base.js +9 -0
  22. package/cjs/components/Carousel/CarouselNew/variations/_size/base.js.map +1 -0
  23. package/cjs/components/Carousel/CarouselNew/variations/_size/base_x642ct.css +1 -0
  24. package/cjs/components/Carousel/CarouselNew/variations/_view/base.js +9 -0
  25. package/cjs/components/Carousel/CarouselNew/variations/_view/base.js.map +1 -0
  26. package/cjs/components/Carousel/CarouselNew/variations/_view/base_x642ct.css +1 -0
  27. package/cjs/components/Carousel/CarouselOld/Carousel.css +4 -0
  28. package/cjs/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +1 -1
  29. package/cjs/components/Carousel/CarouselOld/Carousel.js.map +1 -0
  30. package/cjs/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +9 -9
  31. package/cjs/components/Carousel/CarouselOld/Carousel.styles.js.map +1 -0
  32. package/cjs/components/Carousel/CarouselOld/Carousel.styles_12r304j.css +4 -0
  33. package/cjs/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +5 -5
  34. package/cjs/components/Carousel/CarouselOld/CarouselItem.js.map +1 -0
  35. package/cjs/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css +1 -0
  36. package/cjs/components/Carousel/CarouselOld/useCarousel.js.map +1 -0
  37. package/cjs/components/Carousel/{useDragScroll.js → CarouselOld/useDragScroll.js} +1 -1
  38. package/cjs/components/Carousel/CarouselOld/useDragScroll.js.map +1 -0
  39. package/cjs/hooks/useDidMountLayoutEffect.js +19 -0
  40. package/cjs/hooks/useDidMountLayoutEffect.js.map +1 -0
  41. package/cjs/index.css +17 -4
  42. package/cjs/index.js +10 -3
  43. package/cjs/index.js.map +1 -1
  44. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +99 -0
  45. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.styles.js +51 -0
  46. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +21 -0
  47. package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +419 -0
  48. package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +229 -0
  49. package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +38 -0
  50. package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +47 -0
  51. package/emotion/cjs/components/Carousel/CarouselNew/ui/Item/Item.js +38 -0
  52. package/emotion/cjs/components/Carousel/CarouselNew/ui/index.js +27 -0
  53. package/emotion/cjs/components/Carousel/CarouselNew/variations/_size/base.js +8 -0
  54. package/emotion/cjs/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
  55. package/emotion/cjs/components/Carousel/CarouselNew/variations/_view/base.js +8 -0
  56. package/emotion/cjs/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
  57. package/emotion/cjs/components/Carousel/CarouselOld/Carousel.styles.js +49 -0
  58. package/emotion/cjs/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +2 -2
  59. package/emotion/cjs/components/Carousel/CarouselOld/index.js +32 -0
  60. package/emotion/cjs/components/Carousel/index.js +23 -3
  61. package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
  62. package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.js +1 -1
  63. package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +92 -28
  64. package/emotion/cjs/hooks/index.js +7 -0
  65. package/emotion/cjs/hooks/useDidMountLayoutEffect.js +17 -0
  66. package/emotion/es/components/Carousel/CarouselNew/Carousel.js +94 -0
  67. package/emotion/es/components/Carousel/CarouselNew/Carousel.styles.js +44 -0
  68. package/emotion/es/components/Carousel/CarouselNew/Carousel.tokens.js +15 -0
  69. package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +409 -0
  70. package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +219 -0
  71. package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +31 -0
  72. package/emotion/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +41 -0
  73. package/emotion/es/components/Carousel/CarouselNew/ui/Item/Item.js +31 -0
  74. package/emotion/es/components/Carousel/CarouselNew/ui/index.js +2 -0
  75. package/emotion/es/components/Carousel/CarouselNew/variations/_size/base.js +2 -0
  76. package/emotion/es/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
  77. package/emotion/es/components/Carousel/CarouselNew/variations/_view/base.js +2 -0
  78. package/emotion/es/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
  79. package/emotion/es/components/Carousel/CarouselOld/Carousel.styles.js +42 -0
  80. package/emotion/es/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +2 -2
  81. package/emotion/es/components/Carousel/CarouselOld/index.js +3 -0
  82. package/emotion/es/components/Carousel/index.js +7 -3
  83. package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
  84. package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.js +2 -2
  85. package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +92 -28
  86. package/emotion/es/hooks/index.js +1 -0
  87. package/emotion/es/hooks/useDidMountLayoutEffect.js +11 -0
  88. package/es/components/Carousel/CarouselNew/Carousel.css +12 -0
  89. package/es/components/Carousel/CarouselNew/Carousel.js +89 -0
  90. package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -0
  91. package/es/components/Carousel/CarouselNew/Carousel.styles.js +7 -0
  92. package/es/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -0
  93. package/es/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +4 -0
  94. package/es/components/Carousel/CarouselNew/Carousel.tokens.js +18 -0
  95. package/es/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -0
  96. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +413 -0
  97. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -0
  98. package/es/components/Carousel/CarouselNew/hooks/useDragScroll.js +58 -0
  99. package/es/components/Carousel/CarouselNew/hooks/useDragScroll.js.map +1 -0
  100. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -0
  101. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +218 -0
  102. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +1 -0
  103. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +31 -0
  104. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -0
  105. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles_1i4srxq.css +5 -0
  106. package/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +44 -0
  107. package/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js.map +1 -0
  108. package/es/components/Carousel/CarouselNew/variations/_size/base.js +5 -0
  109. package/es/components/Carousel/CarouselNew/variations/_size/base.js.map +1 -0
  110. package/es/components/Carousel/CarouselNew/variations/_size/base_x642ct.css +1 -0
  111. package/es/components/Carousel/CarouselNew/variations/_view/base.js +5 -0
  112. package/es/components/Carousel/CarouselNew/variations/_view/base.js.map +1 -0
  113. package/es/components/Carousel/CarouselNew/variations/_view/base_x642ct.css +1 -0
  114. package/es/components/Carousel/CarouselOld/Carousel.css +4 -0
  115. package/es/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +1 -1
  116. package/es/components/Carousel/CarouselOld/Carousel.js.map +1 -0
  117. package/es/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +9 -9
  118. package/es/components/Carousel/CarouselOld/Carousel.styles.js.map +1 -0
  119. package/es/components/Carousel/CarouselOld/Carousel.styles_12r304j.css +4 -0
  120. package/es/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +5 -5
  121. package/es/components/Carousel/CarouselOld/CarouselItem.js.map +1 -0
  122. package/es/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css +1 -0
  123. package/es/components/Carousel/CarouselOld/useCarousel.js.map +1 -0
  124. package/es/components/Carousel/{useDragScroll.js → CarouselOld/useDragScroll.js} +1 -1
  125. package/es/components/Carousel/CarouselOld/useDragScroll.js.map +1 -0
  126. package/es/hooks/useDidMountLayoutEffect.js +15 -0
  127. package/es/hooks/useDidMountLayoutEffect.js.map +1 -0
  128. package/es/index.css +17 -4
  129. package/es/index.js +6 -3
  130. package/es/index.js.map +1 -1
  131. package/package.json +5 -5
  132. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +99 -0
  133. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.styles.js +32 -0
  134. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +21 -0
  135. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.types.js +5 -0
  136. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +419 -0
  137. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useDragScroll.js +65 -0
  138. package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +229 -0
  139. package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +24 -0
  140. package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/utils/index.js +47 -0
  141. package/styled-components/cjs/components/Carousel/CarouselNew/ui/Item/Item.js +37 -0
  142. package/styled-components/cjs/components/Carousel/CarouselNew/ui/index.js +27 -0
  143. package/styled-components/cjs/components/Carousel/CarouselNew/variations/_size/base.js +8 -0
  144. package/styled-components/cjs/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
  145. package/styled-components/cjs/components/Carousel/CarouselNew/variations/_view/base.js +8 -0
  146. package/styled-components/cjs/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
  147. package/styled-components/cjs/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +3 -3
  148. package/styled-components/cjs/components/Carousel/CarouselOld/Carousel.types.js +5 -0
  149. package/styled-components/cjs/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +1 -1
  150. package/styled-components/cjs/components/Carousel/CarouselOld/index.js +32 -0
  151. package/styled-components/cjs/components/Carousel/CarouselOld/useDragScroll.js +65 -0
  152. package/styled-components/cjs/components/Carousel/index.js +23 -3
  153. package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
  154. package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.js +1 -1
  155. package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +92 -28
  156. package/styled-components/cjs/hooks/index.js +7 -0
  157. package/styled-components/cjs/hooks/useDidMountLayoutEffect.js +17 -0
  158. package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +94 -0
  159. package/styled-components/es/components/Carousel/CarouselNew/Carousel.styles.js +24 -0
  160. package/styled-components/es/components/Carousel/CarouselNew/Carousel.tokens.js +15 -0
  161. package/styled-components/es/components/Carousel/CarouselNew/Carousel.types.js +1 -0
  162. package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +409 -0
  163. package/styled-components/es/components/Carousel/CarouselNew/hooks/useDragScroll.js +59 -0
  164. package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +219 -0
  165. package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +17 -0
  166. package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/utils/index.js +41 -0
  167. package/styled-components/es/components/Carousel/CarouselNew/ui/Item/Item.js +30 -0
  168. package/styled-components/es/components/Carousel/CarouselNew/ui/index.js +2 -0
  169. package/styled-components/es/components/Carousel/CarouselNew/variations/_size/base.js +2 -0
  170. package/styled-components/es/components/Carousel/CarouselNew/variations/_size/tokens.json +1 -0
  171. package/styled-components/es/components/Carousel/CarouselNew/variations/_view/base.js +2 -0
  172. package/styled-components/es/components/Carousel/CarouselNew/variations/_view/tokens.json +1 -0
  173. package/styled-components/es/components/Carousel/{Carousel.styles.js → CarouselOld/Carousel.styles.js} +3 -3
  174. package/styled-components/es/components/Carousel/CarouselOld/Carousel.types.js +1 -0
  175. package/styled-components/es/components/Carousel/{CarouselItem.js → CarouselOld/CarouselItem.js} +1 -1
  176. package/styled-components/es/components/Carousel/CarouselOld/index.js +3 -0
  177. package/styled-components/es/components/Carousel/CarouselOld/useDragScroll.js +59 -0
  178. package/styled-components/es/components/Carousel/index.js +7 -3
  179. package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +14 -2
  180. package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.js +2 -2
  181. package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +92 -28
  182. package/styled-components/es/hooks/index.js +1 -0
  183. package/styled-components/es/hooks/useDidMountLayoutEffect.js +11 -0
  184. package/types/components/Carousel/CarouselNew/Carousel.d.ts +32 -0
  185. package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -0
  186. package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts +15 -0
  187. package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts.map +1 -0
  188. package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts +16 -0
  189. package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts.map +1 -0
  190. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +167 -0
  191. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -0
  192. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts +61 -0
  193. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -0
  194. package/types/components/Carousel/CarouselNew/hooks/useDragScroll.d.ts.map +1 -0
  195. package/types/components/Carousel/CarouselNew/ui/Dots/Dots.d.ts +4 -0
  196. package/types/components/Carousel/CarouselNew/ui/Dots/Dots.d.ts.map +1 -0
  197. package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts +6 -0
  198. package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts.map +1 -0
  199. package/types/components/Carousel/CarouselNew/ui/Dots/utils/index.d.ts +4 -0
  200. package/types/components/Carousel/CarouselNew/ui/Dots/utils/index.d.ts.map +1 -0
  201. package/types/components/Carousel/CarouselNew/ui/Item/Item.d.ts +4 -0
  202. package/types/components/Carousel/CarouselNew/ui/Item/Item.d.ts.map +1 -0
  203. package/types/components/Carousel/CarouselNew/ui/index.d.ts +3 -0
  204. package/types/components/Carousel/CarouselNew/ui/index.d.ts.map +1 -0
  205. package/types/components/Carousel/CarouselNew/variations/_size/base.d.ts +2 -0
  206. package/types/components/Carousel/CarouselNew/variations/_size/base.d.ts.map +1 -0
  207. package/types/components/Carousel/CarouselNew/variations/_view/base.d.ts +2 -0
  208. package/types/components/Carousel/CarouselNew/variations/_view/base.d.ts.map +1 -0
  209. package/types/components/Carousel/{Carousel.d.ts → CarouselOld/Carousel.d.ts} +1 -1
  210. package/types/components/Carousel/CarouselOld/Carousel.d.ts.map +1 -0
  211. package/types/components/Carousel/CarouselOld/Carousel.styles.d.ts.map +1 -0
  212. package/types/components/Carousel/{Carousel.types.d.ts → CarouselOld/Carousel.types.d.ts} +1 -1
  213. package/types/components/Carousel/CarouselOld/Carousel.types.d.ts.map +1 -0
  214. package/types/components/Carousel/CarouselOld/CarouselItem.d.ts.map +1 -0
  215. package/types/components/Carousel/CarouselOld/index.d.ts +5 -0
  216. package/types/components/Carousel/CarouselOld/index.d.ts.map +1 -0
  217. package/types/components/Carousel/CarouselOld/useCarousel.d.ts.map +1 -0
  218. package/types/components/Carousel/CarouselOld/useDragScroll.d.ts +2 -0
  219. package/types/components/Carousel/CarouselOld/useDragScroll.d.ts.map +1 -0
  220. package/types/components/Carousel/index.d.ts +7 -4
  221. package/types/components/Carousel/index.d.ts.map +1 -1
  222. package/types/hooks/index.d.ts +1 -0
  223. package/types/hooks/index.d.ts.map +1 -1
  224. package/types/hooks/useDidMountLayoutEffect.d.ts +2 -0
  225. package/types/hooks/useDidMountLayoutEffect.d.ts.map +1 -0
  226. package/cjs/components/Carousel/Carousel.css +0 -4
  227. package/cjs/components/Carousel/Carousel.js.map +0 -1
  228. package/cjs/components/Carousel/Carousel.styles.js.map +0 -1
  229. package/cjs/components/Carousel/Carousel.styles_zmchjj.css +0 -4
  230. package/cjs/components/Carousel/CarouselItem.js.map +0 -1
  231. package/cjs/components/Carousel/CarouselItem_cqjszm.css +0 -1
  232. package/cjs/components/Carousel/useCarousel.js.map +0 -1
  233. package/cjs/components/Carousel/useDragScroll.js.map +0 -1
  234. package/emotion/cjs/components/Carousel/Carousel.styles.js +0 -49
  235. package/emotion/es/components/Carousel/Carousel.styles.js +0 -42
  236. package/es/components/Carousel/Carousel.css +0 -4
  237. package/es/components/Carousel/Carousel.js.map +0 -1
  238. package/es/components/Carousel/Carousel.styles.js.map +0 -1
  239. package/es/components/Carousel/Carousel.styles_zmchjj.css +0 -4
  240. package/es/components/Carousel/CarouselItem.js.map +0 -1
  241. package/es/components/Carousel/CarouselItem_cqjszm.css +0 -1
  242. package/es/components/Carousel/useCarousel.js.map +0 -1
  243. package/es/components/Carousel/useDragScroll.js.map +0 -1
  244. package/types/components/Carousel/Carousel.d.ts.map +0 -1
  245. package/types/components/Carousel/Carousel.styles.d.ts.map +0 -1
  246. package/types/components/Carousel/Carousel.types.d.ts.map +0 -1
  247. package/types/components/Carousel/CarouselItem.d.ts.map +0 -1
  248. package/types/components/Carousel/useCarousel.d.ts.map +0 -1
  249. package/types/components/Carousel/useDragScroll.d.ts.map +0 -1
  250. /package/cjs/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
  251. /package/emotion/cjs/components/Carousel/{Carousel.types.js → CarouselNew/Carousel.types.js} +0 -0
  252. /package/emotion/cjs/components/Carousel/{useDragScroll.js → CarouselNew/hooks/useDragScroll.js} +0 -0
  253. /package/emotion/cjs/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
  254. /package/{styled-components/cjs/components/Carousel → emotion/cjs/components/Carousel/CarouselOld}/Carousel.types.js +0 -0
  255. /package/emotion/cjs/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
  256. /package/{styled-components/cjs/components/Carousel → emotion/cjs/components/Carousel/CarouselOld}/useDragScroll.js +0 -0
  257. /package/emotion/es/components/Carousel/{Carousel.types.js → CarouselNew/Carousel.types.js} +0 -0
  258. /package/emotion/es/components/Carousel/{useDragScroll.js → CarouselNew/hooks/useDragScroll.js} +0 -0
  259. /package/emotion/es/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
  260. /package/{styled-components/es/components/Carousel → emotion/es/components/Carousel/CarouselOld}/Carousel.types.js +0 -0
  261. /package/emotion/es/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
  262. /package/{styled-components/es/components/Carousel → emotion/es/components/Carousel/CarouselOld}/useDragScroll.js +0 -0
  263. /package/es/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
  264. /package/styled-components/cjs/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
  265. /package/styled-components/cjs/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
  266. /package/styled-components/es/components/Carousel/{Carousel.js → CarouselOld/Carousel.js} +0 -0
  267. /package/styled-components/es/components/Carousel/{useCarousel.js → CarouselOld/useCarousel.js} +0 -0
  268. /package/types/components/Carousel/{useDragScroll.d.ts → CarouselNew/hooks/useDragScroll.d.ts} +0 -0
  269. /package/types/components/Carousel/{Carousel.styles.d.ts → CarouselOld/Carousel.styles.d.ts} +0 -0
  270. /package/types/components/Carousel/{CarouselItem.d.ts → CarouselOld/CarouselItem.d.ts} +0 -0
  271. /package/types/components/Carousel/{useCarousel.d.ts → CarouselOld/useCarousel.d.ts} +0 -0
@@ -0,0 +1,12 @@
1
+ .Carousel_styles_1gx7oht_b13uu57o__b465f250{position:relative;padding:20px 0;border-top:2px solid #ff000038;}.Carousel_styles_1gx7oht_b13uu57o__b465f250:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#ff000038;}
2
+ .Carousel_styles_1gx7oht_c1gygdut__b465f250{overflow:hidden;margin-left:calc(var(--plasma-grid-margin) * -1);margin-right:calc(var(--plasma-grid-margin) * -1);}
3
+ .Carousel_styles_1gx7oht_c76zbfp__b465f250{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(--c76zbfp-0);-moz-scroll-snap-type:var(--c76zbfp-0);-ms-scroll-snap-type:var(--c76zbfp-0);scroll-snap-type:var(--c76zbfp-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_1gx7oht_c76zbfp__b465f250::-webkit-scrollbar{display:none;}.Carousel_styles_1gx7oht_c1gygdut__b465f250 .Carousel_styles_1gx7oht_c76zbfp__b465f250{-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_1gx7oht_c1cnnvc1__b465f250{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;gap:var(--c1cnnvc1-0);}
5
+
6
+ .Item_1qz9bfn_sfwcury__aad46e58{-webkit-scroll-snap-align:var(--sfwcury-0);-moz-scroll-snap-align:var(--sfwcury-0);-ms-scroll-snap-align:var(--sfwcury-0);scroll-snap-align:var(--sfwcury-0);-webkit-scroll-snap-stop:var(--sfwcury-1);-moz-scroll-snap-stop:var(--sfwcury-1);-ms-scroll-snap-stop:var(--sfwcury-1);scroll-snap-stop:var(--sfwcury-1);}
7
+
8
+ .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;}
9
+ .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;}
10
+ .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;}
11
+ .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;}
12
+ .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,98 @@
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 base$1 = require('./variations/_size/base.js');
8
+ var base = require('./variations/_view/base.js');
9
+ var Carousel_styles = require('./Carousel.styles.js');
10
+ var useCarousel = require('./hooks/useCarousel.js');
11
+ var useDragScroll = require('./hooks/useDragScroll.js');
12
+ var Dots = require('./ui/Dots/Dots.js');
13
+
14
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefault(React);
17
+
18
+ var _br;
19
+
20
+ /**
21
+ * Компонент для создания списков с прокруткой.
22
+ */
23
+ var carouselNewRoot = function carouselNewRoot(Root) {
24
+ return /*#__PURE__*/React.forwardRef(function (_ref,
25
+ // @ts-ignore
26
+ ref) {
27
+ var view = _ref.view,
28
+ size = _ref.size,
29
+ outerIndex = _ref.index,
30
+ scrollAlign = _ref.scrollAlign,
31
+ detectActive = _ref.detectActive,
32
+ detectThreshold = _ref.detectThreshold,
33
+ onIndexChange = _ref.onIndexChange,
34
+ children = _ref.children,
35
+ _ref$isDragScrollDisa = _ref.isDragScrollDisabled,
36
+ isDragScrollDisabled = _ref$isDragScrollDisa === void 0 ? false : _ref$isDragScrollDisa,
37
+ paginationOptions = _ref.paginationOptions;
38
+ var _useState = React.useState(0),
39
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
40
+ internalIndex = _useState2[0],
41
+ setInternalIndex = _useState2[1];
42
+ var index = outerIndex !== null && outerIndex !== void 0 ? outerIndex : internalIndex;
43
+ var handleChangeIndex = React.useCallback(function (index) {
44
+ if (onIndexChange) {
45
+ onIndexChange(index);
46
+ }
47
+ setInternalIndex(index);
48
+ }, [onIndexChange]);
49
+
50
+ // const { scrollRef, trackRef } = useCarousel({
51
+ var _useCarousel = useCarousel.useCarousel({
52
+ index: index,
53
+ scrollAlign: scrollAlign,
54
+ detectActive: detectActive,
55
+ detectThreshold: detectThreshold,
56
+ onIndexChange: onIndexChange
57
+ }),
58
+ scrollRef = _useCarousel.scrollRef;
59
+
60
+ // const handleRef = useForkRef(scrollRef, ref);
61
+
62
+ useDragScroll.useDragScroll(scrollRef, isDragScrollDisabled);
63
+ var slidesAmount = React.Children.count(children);
64
+ return /*#__PURE__*/React__default.default.createElement(Root, {
65
+ size: size,
66
+ view: view,
67
+ index: index
68
+ }, _br || (_br = /*#__PURE__*/React__default.default.createElement("br", null)), !(paginationOptions !== null && paginationOptions !== void 0 && paginationOptions.disabled) && /*#__PURE__*/React__default.default.createElement(Dots.Dots, {
69
+ index: index,
70
+ onChange: handleChangeIndex,
71
+ visibleCount: (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.visibleDots) || slidesAmount,
72
+ count: slidesAmount,
73
+ centered: (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.centered) || false
74
+ }));
75
+ });
76
+ };
77
+ var carouselNewConfig = {
78
+ name: 'Carousel',
79
+ tag: 'div',
80
+ layout: carouselNewRoot,
81
+ base: Carousel_styles.base,
82
+ variations: {
83
+ view: {
84
+ css: base.base
85
+ },
86
+ size: {
87
+ css: base$1.base
88
+ }
89
+ },
90
+ defaults: {
91
+ view: 'default',
92
+ size: 's'
93
+ }
94
+ };
95
+
96
+ exports.carouselNewConfig = carouselNewConfig;
97
+ exports.carouselNewRoot = carouselNewRoot;
98
+ //# sourceMappingURL=Carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.js","sources":["../../../../src/components/Carousel/CarouselNew/Carousel.tsx"],"sourcesContent":["import { RootProps } from 'src/engines';\nimport React, { forwardRef, useState, useCallback, Children } from 'react';\n// import { useForkRef } from '@salutejs/plasma-core';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base } from './Carousel.styles';\n// import { base, CarouselWrapper, CarouselTrack } from './Carousel.styles';\nimport { CarouselNewProps } from './Carousel.types';\nimport { useCarousel } from './hooks/useCarousel';\nimport { useDragScroll } from './hooks/useDragScroll';\nimport { Dots } from './ui';\n\n/**\n * Компонент для создания списков с прокруткой.\n */\nexport const carouselNewRoot = (Root: RootProps<HTMLDivElement, CarouselNewProps>) =>\n forwardRef<HTMLDivElement, CarouselNewProps>(\n (\n {\n view,\n size,\n index: outerIndex,\n // scrollSnapType = 'mandatory',\n scrollAlign,\n detectActive,\n detectThreshold,\n onIndexChange,\n children,\n // ariaLive = 'off',\n isDragScrollDisabled = false,\n // gap,\n paginationOptions,\n // ...rest\n },\n // @ts-ignore\n ref,\n ) => {\n const [internalIndex, setInternalIndex] = useState(0);\n\n const index = outerIndex ?? internalIndex;\n\n const handleChangeIndex = useCallback(\n (index: number) => {\n if (onIndexChange) {\n onIndexChange(index);\n }\n\n setInternalIndex(index);\n },\n [onIndexChange],\n );\n\n // const { scrollRef, trackRef } = useCarousel({\n const { scrollRef } = useCarousel({\n index,\n scrollAlign,\n detectActive,\n detectThreshold,\n onIndexChange,\n });\n\n // const handleRef = useForkRef(scrollRef, ref);\n\n useDragScroll(scrollRef, isDragScrollDisabled);\n\n const slidesAmount = Children.count(children);\n\n return (\n <Root size={size} view={view} index={index}>\n {/* <CarouselWrapper ref={handleRef} scrollSnapType={scrollSnapType} {...rest}> */}\n {/* <CarouselTrack */}\n {/* ref={trackRef as React.MutableRefObject<HTMLDivElement | null>} */}\n {/* aria-live={ariaLive} */}\n {/* gap={gap} */}\n {/* > */}\n {/* {children} */}\n {/* </CarouselTrack> */}\n {/* </CarouselWrapper> */}\n <br />\n\n {!paginationOptions?.disabled && (\n <Dots\n index={index}\n onChange={handleChangeIndex}\n visibleCount={paginationOptions?.visibleDots || slidesAmount}\n count={slidesAmount}\n centered={paginationOptions?.centered || false}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const carouselNewConfig = {\n name: 'Carousel',\n tag: 'div',\n layout: carouselNewRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 's',\n },\n};\n"],"names":["carouselNewRoot","Root","forwardRef","_ref","ref","view","size","outerIndex","index","scrollAlign","detectActive","detectThreshold","onIndexChange","children","_ref$isDragScrollDisa","isDragScrollDisabled","paginationOptions","_useState","useState","_useState2","_slicedToArray","internalIndex","setInternalIndex","handleChangeIndex","useCallback","_useCarousel","useCarousel","scrollRef","useDragScroll","slidesAmount","Children","count","React","createElement","_br","disabled","Dots","onChange","visibleCount","visibleDots","centered","carouselNewConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;AAaA;AACA;AACA;IACaA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAiD,EAAA;EAAA,oBAC7EC,gBAAU,CACN,UAAAC,IAAA;AAiBI;AACAC,EAAAA,GAAG,EACF;AAAA,IAAA,IAjBGC,IAAI,GAAAF,IAAA,CAAJE,IAAI;MACJC,IAAI,GAAAH,IAAA,CAAJG,IAAI;MACGC,UAAU,GAAAJ,IAAA,CAAjBK,KAAK;MAELC,WAAW,GAAAN,IAAA,CAAXM,WAAW;MACXC,YAAY,GAAAP,IAAA,CAAZO,YAAY;MACZC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;MACfC,aAAa,GAAAT,IAAA,CAAbS,aAAa;MACbC,QAAQ,GAAAV,IAAA,CAARU,QAAQ;MAAAC,qBAAA,GAAAX,IAAA,CAERY,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAE5BE,iBAAiB,GAAAb,IAAA,CAAjBa,iBAAiB,CAAA;AAMrB,IAAA,IAAAC,SAAA,GAA0CC,cAAQ,CAAC,CAAC,CAAC;MAAAC,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9CI,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;IAEtC,IAAMX,KAAK,GAAGD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAIc,aAAa,CAAA;AAEzC,IAAA,IAAME,iBAAiB,GAAGC,iBAAW,CACjC,UAAChB,KAAa,EAAK;AACf,MAAA,IAAII,aAAa,EAAE;QACfA,aAAa,CAACJ,KAAK,CAAC,CAAA;AACxB,OAAA;MAEAc,gBAAgB,CAACd,KAAK,CAAC,CAAA;AAC3B,KAAC,EACD,CAACI,aAAa,CAClB,CAAC,CAAA;;AAED;IACA,IAAAa,YAAA,GAAsBC,uBAAW,CAAC;AAC9BlB,QAAAA,KAAK,EAALA,KAAK;AACLC,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,eAAe,EAAfA,eAAe;AACfC,QAAAA,aAAa,EAAbA,aAAAA;AACJ,OAAC,CAAC;MANMe,SAAS,GAAAF,YAAA,CAATE,SAAS,CAAA;;AAQjB;;AAEAC,IAAAA,2BAAa,CAACD,SAAS,EAAEZ,oBAAoB,CAAC,CAAA;AAE9C,IAAA,IAAMc,YAAY,GAAGC,cAAQ,CAACC,KAAK,CAAClB,QAAQ,CAAC,CAAA;AAE7C,IAAA,oBACImB,sBAAA,CAAAC,aAAA,CAAChC,IAAI,EAAA;AAACK,MAAAA,IAAI,EAAEA,IAAK;AAACD,MAAAA,IAAI,EAAEA,IAAK;AAACG,MAAAA,KAAK,EAAEA,KAAAA;KAAM0B,EAAAA,GAAA,KAAAA,GAAA,gBAUvCF,sBAAA,CAAAC,aAAA,CAAK,IAAA,EAAA,IAAA,CAAC,CAEL,EAAA,EAACjB,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,IAAAA,iBAAiB,CAAEmB,QAAQ,kBACzBH,sBAAA,CAAAC,aAAA,CAACG,SAAI,EAAA;AACD5B,MAAAA,KAAK,EAAEA,KAAM;AACb6B,MAAAA,QAAQ,EAAEd,iBAAkB;MAC5Be,YAAY,EAAE,CAAAtB,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,uBAAjBA,iBAAiB,CAAEuB,WAAW,KAAIV,YAAa;AAC7DE,MAAAA,KAAK,EAAEF,YAAa;MACpBW,QAAQ,EAAE,CAAAxB,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAEwB,QAAQ,KAAI,KAAA;AAAM,KAClD,CAEH,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMC,iBAAiB,GAAG;AAC7BC,EAAAA,IAAI,EAAE,UAAU;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE5C,eAAe;AACvB6C,EAAAA,IAAI,EAAJA,oBAAI;AACJC,EAAAA,UAAU,EAAE;AACRzC,IAAAA,IAAI,EAAE;AACF0C,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACD1C,IAAAA,IAAI,EAAE;AACFyC,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN7C,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
@@ -0,0 +1,11 @@
1
+ require('./Carousel.styles_1gx7oht.css');
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ require('@linaria/react');
7
+
8
+ var base = "b13uu57o";
9
+
10
+ exports.base = base;
11
+ //# sourceMappingURL=Carousel.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.styles.js","sources":["../../../../src/components/Carousel/CarouselNew/Carousel.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\nimport { CSSProperties } from 'react';\n\nexport const base = css`\n position: relative;\n padding: 20px 0;\n border-top: 2px solid #ff000038;\n\n &:before {\n content: '';\n position: absolute;\n left: 50%;\n top: 0;\n bottom: 0;\n width: 2px;\n margin-left: -1px;\n background: #ff000038;\n }\n`;\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<{ gap?: CSSProperties['gap'] }>`\n display: inline-flex;\n flex-direction: row;\n gap: ${({ gap }) => gap || 0};\n`;\n"],"names":["base"],"mappings":";;;;;;AAIO,IAAMA,IAAI,GAehB;;;;"}
@@ -0,0 +1,4 @@
1
+ .b13uu57o{position:relative;padding:20px 0;border-top:2px solid #ff000038;}.b13uu57o:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#ff000038;}
2
+ .c1gygdut{overflow:hidden;margin-left:calc(var(--plasma-grid-margin) * -1);margin-right:calc(var(--plasma-grid-margin) * -1);}
3
+ .c76zbfp{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(--c76zbfp-0);-moz-scroll-snap-type:var(--c76zbfp-0);-ms-scroll-snap-type:var(--c76zbfp-0);scroll-snap-type:var(--c76zbfp-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);}.c76zbfp::-webkit-scrollbar{display:none;}.c1gygdut .c76zbfp{-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
+ .c1cnnvc1{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;gap:var(--c1cnnvc1-0);}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var classes = {
6
+ dot: 'dot',
7
+ active: 'dot-active',
8
+ animating: 'dot-animating',
9
+ animateIn: 'dot-animate-in',
10
+ animateOut: 'dot-animate-out',
11
+ temporaryNatural: 'dot-temporary-natural',
12
+ shrinking: 'dot-shrinking',
13
+ availableDotsLeft: 'dot-available-dots-left',
14
+ availableDotsRight: 'dot-available-dots-right'
15
+ };
16
+ var tokens = {
17
+ paginationDotBackground: '--plasma-carousel-pagination-dot-background',
18
+ paginationDotActiveBackground: '--plasma-carousel-pagination-dot-active-background'
19
+ };
20
+
21
+ exports.classes = classes;
22
+ exports.tokens = tokens;
23
+ //# sourceMappingURL=Carousel.tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.tokens.js","sources":["../../../../src/components/Carousel/CarouselNew/Carousel.tokens.ts"],"sourcesContent":["export const classes = {\n dot: 'dot',\n active: 'dot-active',\n animating: 'dot-animating',\n animateIn: 'dot-animate-in',\n animateOut: 'dot-animate-out',\n temporaryNatural: 'dot-temporary-natural',\n shrinking: 'dot-shrinking',\n availableDotsLeft: 'dot-available-dots-left',\n availableDotsRight: 'dot-available-dots-right',\n};\n\nexport const tokens = {\n paginationDotBackground: '--plasma-carousel-pagination-dot-background',\n paginationDotActiveBackground: '--plasma-carousel-pagination-dot-active-background',\n};\n"],"names":["classes","dot","active","animating","animateIn","animateOut","temporaryNatural","shrinking","availableDotsLeft","availableDotsRight","tokens","paginationDotBackground","paginationDotActiveBackground"],"mappings":";;;;AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE,YAAY;AACpBC,EAAAA,SAAS,EAAE,eAAe;AAC1BC,EAAAA,SAAS,EAAE,gBAAgB;AAC3BC,EAAAA,UAAU,EAAE,iBAAiB;AAC7BC,EAAAA,gBAAgB,EAAE,uBAAuB;AACzCC,EAAAA,SAAS,EAAE,eAAe;AAC1BC,EAAAA,iBAAiB,EAAE,yBAAyB;AAC5CC,EAAAA,kBAAkB,EAAE,0BAAA;AACxB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,uBAAuB,EAAE,6CAA6C;AACtEC,EAAAA,6BAA6B,EAAE,oDAAA;AACnC;;;;;"}
@@ -0,0 +1,428 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var throttle = require('lodash.throttle');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var throttle__default = /*#__PURE__*/_interopDefault(throttle);
11
+
12
+ /**
13
+ * Подсчет смещения из-за паддингов.
14
+ */
15
+ var getCalculatedOffset = function getCalculatedOffset(scrollEl, trackEl, axis) {
16
+ var paddingProp = axis === 'x' ? 'paddingLeft' : 'paddingTop';
17
+ return parseInt(getComputedStyle(scrollEl)[paddingProp], 10) + parseInt(getComputedStyle(trackEl)[paddingProp], 10);
18
+ };
19
+ var positionModByScrollAlign = function positionModByScrollAlign(_ref) {
20
+ var scrollAlign = _ref.scrollAlign,
21
+ position = _ref.position,
22
+ carouselSize = _ref.carouselSize,
23
+ itemSize = _ref.itemSize,
24
+ offset = _ref.offset,
25
+ scrollStart = _ref.scrollStart,
26
+ axis = _ref.axis;
27
+ if (scrollAlign === 'start') {
28
+ var inaccuracy = 1;
29
+ var paddingOffset = axis === 'y' ? offset - itemSize / 2 + inaccuracy : 0;
30
+ return position + paddingOffset;
31
+ }
32
+ if (scrollAlign === 'center') {
33
+ return position - carouselSize / 2 + itemSize / 2;
34
+ }
35
+ if (scrollAlign === 'end') {
36
+ return position - carouselSize + itemSize + offset;
37
+ }
38
+ if (scrollAlign === 'activeDirection') {
39
+ if (position >= scrollStart + carouselSize - itemSize) {
40
+ return position - carouselSize + itemSize + offset;
41
+ }
42
+ if (position > scrollStart) {
43
+ return scrollStart;
44
+ }
45
+ }
46
+ return position;
47
+ };
48
+
49
+ /**
50
+ * Подсчет скролла до переданного индекса.
51
+ */
52
+ var getCalculatedPos = function getCalculatedPos(_ref2) {
53
+ var scrollEl = _ref2.scrollEl,
54
+ items = _ref2.items,
55
+ axis = _ref2.axis,
56
+ index = _ref2.index,
57
+ offset = _ref2.offset,
58
+ scrollAlign = _ref2.scrollAlign;
59
+ var position = scrollAlign === 'center' ? offset : 0;
60
+ var carouselSize;
61
+ var itemSize;
62
+ var scrollStart;
63
+ if (items.item(index) === null) {
64
+ return position;
65
+ }
66
+ for (var i = 0; i < index; i++) {
67
+ if (axis === 'x') {
68
+ var _items$item$offsetWid, _items$item;
69
+ position += (_items$item$offsetWid = (_items$item = items.item(i)) === null || _items$item === void 0 ? void 0 : _items$item.offsetWidth) !== null && _items$item$offsetWid !== void 0 ? _items$item$offsetWid : 0;
70
+ } else {
71
+ var _items$item$offsetHei, _items$item2;
72
+ position += (_items$item$offsetHei = (_items$item2 = items.item(i)) === null || _items$item2 === void 0 ? void 0 : _items$item2.offsetHeight) !== null && _items$item$offsetHei !== void 0 ? _items$item$offsetHei : 0;
73
+ }
74
+ }
75
+ if (axis === 'x') {
76
+ var _items$item$offsetWid2, _items$item3;
77
+ carouselSize = scrollEl.offsetWidth;
78
+ itemSize = (_items$item$offsetWid2 = (_items$item3 = items.item(index)) === null || _items$item3 === void 0 ? void 0 : _items$item3.offsetWidth) !== null && _items$item$offsetWid2 !== void 0 ? _items$item$offsetWid2 : 0;
79
+ scrollStart = scrollEl.scrollLeft;
80
+ } else {
81
+ var _items$item$offsetHei2, _items$item4;
82
+ carouselSize = scrollEl.offsetHeight;
83
+ itemSize = (_items$item$offsetHei2 = (_items$item4 = items.item(index)) === null || _items$item4 === void 0 ? void 0 : _items$item4.offsetHeight) !== null && _items$item$offsetHei2 !== void 0 ? _items$item$offsetHei2 : 0;
84
+ scrollStart = scrollEl.scrollTop;
85
+ }
86
+ return positionModByScrollAlign({
87
+ scrollAlign: scrollAlign,
88
+ position: position,
89
+ carouselSize: carouselSize,
90
+ itemSize: itemSize,
91
+ offset: offset,
92
+ scrollStart: scrollStart,
93
+ axis: axis
94
+ });
95
+ };
96
+ var DEFAULT_DURATION = 300;
97
+
98
+ // https://css-tricks.com/emulating-css-timing-functions-javascript/
99
+ var tfs = {
100
+ linear: function linear(t) {
101
+ return t;
102
+ },
103
+ // eslint-disable-next-line
104
+ easeIn: function easeIn(t) {
105
+ return Math.pow(t, 1.675);
106
+ },
107
+ // eslint-disable-next-line
108
+ easeOut: function easeOut(t) {
109
+ return 1 - Math.pow(1 - t, 1.675);
110
+ },
111
+ easeInOut: function easeInOut(t) {
112
+ return 0.5 * (Math.sin((t - 0.5) * Math.PI) + 1);
113
+ }
114
+ };
115
+ /**
116
+ * Плавная прокрутка по горизонтали
117
+ * @param {Element} elem
118
+ * @param {number} pos
119
+ * @param {number} duration
120
+ * @param {string} timingFunction
121
+ */
122
+ var animatedScrollToX = function animatedScrollToX(elem, pos) {
123
+ var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_DURATION;
124
+ var timingFunction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'easeInOut';
125
+ var startTime;
126
+ var startX = elem.scrollLeft;
127
+ var endX = Math.max(0, Math.min(elem.scrollWidth - elem.clientWidth, pos));
128
+ var handleNewAnimationFrame = function handleNewAnimationFrame() {
129
+ startTime = startTime || Date.now();
130
+ var timePos = Math.min(1, Math.max(1, Date.now() - startTime) / duration);
131
+ var scrollPos = tfs[timingFunction](timePos);
132
+ var left = startX + (endX - startX) * scrollPos;
133
+ elem.scrollTo({
134
+ left: left
135
+ });
136
+ if (timePos !== 1) window.requestAnimationFrame(handleNewAnimationFrame);
137
+ };
138
+ window.requestAnimationFrame(handleNewAnimationFrame);
139
+ };
140
+
141
+ /**
142
+ * Прокрутка к указанной позиции с анимацией или без.
143
+ */
144
+ var scrollToPos = function scrollToPos(_ref3) {
145
+ var scrollEl = _ref3.scrollEl,
146
+ pos = _ref3.pos,
147
+ axis = _ref3.axis,
148
+ animated = _ref3.animated,
149
+ duration = _ref3.duration,
150
+ timingFunction = _ref3.timingFunction;
151
+ if (axis === 'x' && Math.abs(pos - scrollEl.scrollLeft) > 1) {
152
+ if (animated) {
153
+ animatedScrollToX(scrollEl, pos, duration, timingFunction);
154
+ } else {
155
+ scrollEl.scrollTo({
156
+ left: pos
157
+ });
158
+ }
159
+ }
160
+ };
161
+ var round = function round(n) {
162
+ return Math.round(n * 100) / 100;
163
+ };
164
+
165
+ /**
166
+ * Получить позицию (слот) айтема в каруселе.
167
+ * Каждый айтем имеет свой слот относительно вьюпорта карусели.
168
+ */
169
+ var getItemSlot = function getItemSlot(itemIndex, itemEnd, itemSize, scrollStart, scrollSize, scrollAlign) {
170
+ var prevIndex = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
171
+ var offset = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 0;
172
+ /**
173
+ * Граница и центр скролла (видимой части).
174
+ * Смещение + размер.
175
+ */
176
+ var scrollEnd = scrollStart + scrollSize;
177
+ var scrollCenter = scrollStart + scrollSize / 2;
178
+ var itemCenter = itemEnd - itemSize / 2;
179
+ if (scrollAlign === 'center') {
180
+ return round((itemCenter - scrollCenter) / itemSize);
181
+ }
182
+ if (scrollAlign === 'start') {
183
+ return round((itemEnd - itemSize - scrollStart) / itemSize);
184
+ }
185
+ if (scrollAlign === 'end') {
186
+ return round((itemEnd - (scrollSize + scrollStart)) / itemSize);
187
+ }
188
+ if (scrollAlign === 'activeDirection') {
189
+ var prevStart = offset + itemSize * prevIndex;
190
+ var prevEnd = prevStart + itemSize;
191
+ var prevVisible = prevEnd > scrollStart && prevStart < scrollEnd;
192
+ if (!prevVisible) {
193
+ if (prevIndex < itemIndex) {
194
+ return round((itemEnd - (scrollSize + scrollStart)) / itemSize);
195
+ }
196
+ return round((itemEnd - itemSize - scrollStart) / itemSize);
197
+ }
198
+ }
199
+ return null;
200
+ };
201
+ function getCarouselItems(track) {
202
+ return track.children;
203
+ }
204
+ function useDebouncedFunction(func, delay, cleanUp) {
205
+ var timeoutRef = React.useRef();
206
+
207
+ /**
208
+ * Очистка таймера
209
+ */
210
+ function clearTimer() {
211
+ if (timeoutRef.current) {
212
+ clearTimeout(timeoutRef.current);
213
+ timeoutRef.current = undefined;
214
+ }
215
+ }
216
+
217
+ /**
218
+ * Очищаем таймер при анмаунте компонента, если cleanUp выставлен в true
219
+ * и тем самым отменяем последний запланированный вызов
220
+ */
221
+ React.useEffect(function () {
222
+ return cleanUp ? clearTimer : undefined;
223
+ }, [cleanUp]);
224
+ return function () {
225
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
226
+ args[_key] = arguments[_key];
227
+ }
228
+ clearTimer();
229
+ timeoutRef.current = setTimeout(function () {
230
+ return func.apply(void 0, args);
231
+ }, delay);
232
+ };
233
+ }
234
+ var THROTTLE_DEFAULT_MS = 100;
235
+ var DEBOUNCE_DEFAULT_MS = 150;
236
+ var useCarousel = function useCarousel(_ref4) {
237
+ var index = _ref4.index,
238
+ _ref4$detectActive = _ref4.detectActive,
239
+ detectActive = _ref4$detectActive === void 0 ? false : _ref4$detectActive,
240
+ _ref4$detectThreshold = _ref4.detectThreshold,
241
+ detectThreshold = _ref4$detectThreshold === void 0 ? 0.5 : _ref4$detectThreshold,
242
+ _ref4$scrollAlign = _ref4.scrollAlign,
243
+ scrollAlign = _ref4$scrollAlign === void 0 ? 'center' : _ref4$scrollAlign,
244
+ onIndexChange = _ref4.onIndexChange,
245
+ _ref4$throttleMs = _ref4.throttleMs,
246
+ throttleMs = _ref4$throttleMs === void 0 ? THROTTLE_DEFAULT_MS : _ref4$throttleMs,
247
+ _ref4$debounceMs = _ref4.debounceMs,
248
+ debounceMs = _ref4$debounceMs === void 0 ? DEBOUNCE_DEFAULT_MS : _ref4$debounceMs;
249
+ var prevIndex = React.useRef(null);
250
+ var offset = React.useRef(0);
251
+ var scrollRef = React.useRef(null);
252
+ var trackRef = React.useRef(null);
253
+ var axis = 'x';
254
+
255
+ /**
256
+ * Для того, чтобы не спамить изменениями индекса.
257
+ * Задержка дебаунса слегка больше, чем у тротлинга.
258
+ * Таким образом, событие срабатывает при завершении скролла.
259
+ */
260
+ var debouncedOnIndexChange = useDebouncedFunction(function (i) {
261
+ return onIndexChange === null || onIndexChange === void 0 ? void 0 : onIndexChange(i);
262
+ }, debounceMs);
263
+
264
+ /**
265
+ * Вычисление центрального элемента.
266
+ * Подсчет: от 0 до 1, какое количество ширины/высоты
267
+ * каждого элемента находится по центру скролла.
268
+ */
269
+ var throttledDetectActiveItem = React.useMemo(function () {
270
+ return throttle__default.default(function () {
271
+ if (!detectActive || scrollRef.current === null || trackRef.current === null) {
272
+ return;
273
+ }
274
+
275
+ /**
276
+ * Правая (или нижняя для Оу) граница элемента.
277
+ */
278
+ var itemEdge = offset.current;
279
+
280
+ /**
281
+ * Смещение (отрицательный или положительный отступ)
282
+ * и размер карусели (для Ox - ширина, для Oy - высота).
283
+ */
284
+ var scrollPos = scrollRef.current['scrollLeft' ];
285
+ var scrollSize = scrollRef.current['offsetWidth' ];
286
+
287
+ /**
288
+ * Граница скролла (видимой части).
289
+ * Смещение + размер.
290
+ */
291
+ var scrollEdge = scrollPos + scrollSize;
292
+ var items = getCarouselItems(trackRef.current);
293
+
294
+ /**
295
+ * Проходим по всему списку, суммируя ширины элементов,
296
+ * пока не найдем один элемент, чей центр будет в центре карусели.
297
+ */
298
+ for (var itemIndex = 0; itemIndex < items.length; itemIndex++) {
299
+ var _prevIndex$current;
300
+ var item = items.item(itemIndex);
301
+ if (item === null) {
302
+ // eslint-disable-next-line no-continue
303
+ continue;
304
+ }
305
+
306
+ /**
307
+ * Для Ox - ширина, для Oy - высота.
308
+ */
309
+ var itemSize = item['offsetWidth' ];
310
+
311
+ /**
312
+ * Все элементы правее вьюпорта выпадают из процедуры.
313
+ * Сравниваем по предыдущему элементу.
314
+ * [ ... ] ...|n| <- Левый край элемента за пределами начала видимой части
315
+ */
316
+ if (itemEdge > scrollEdge) {
317
+ // eslint-disable-next-line no-continue
318
+ continue;
319
+ }
320
+ itemEdge += itemSize;
321
+
322
+ /**
323
+ * Все элементы левее вьюпорта выпадают из процедуры.
324
+ * Сравниваем по текущему элементу.
325
+ * Правый край элемента за пределами начала видимой части -> |p|... [ ... ]
326
+ */
327
+ if (scrollPos > itemEdge) {
328
+ // eslint-disable-next-line no-continue
329
+ continue;
330
+ }
331
+ var itemSlot = getItemSlot(itemIndex, itemEdge, itemSize, scrollPos, scrollSize, scrollAlign, (_prevIndex$current = prevIndex.current) !== null && _prevIndex$current !== void 0 ? _prevIndex$current : 0, offset.current);
332
+ if (itemSlot !== null) {
333
+ if (detectThreshold && Math.abs(itemSlot) <= detectThreshold) {
334
+ debouncedOnIndexChange === null || debouncedOnIndexChange === void 0 || debouncedOnIndexChange(itemIndex);
335
+ }
336
+ }
337
+ }
338
+ }, throttleMs);
339
+ }, [axis, debouncedOnIndexChange, detectActive, detectThreshold, scrollAlign, throttleMs]);
340
+
341
+ /**
342
+ * Прокрутка до нужной позиции индекса.
343
+ */
344
+ var toIndex = React.useCallback(function (i) {
345
+ var scrollEl = scrollRef.current;
346
+ var items = trackRef.current ? getCarouselItems(trackRef.current) : null;
347
+ if (scrollEl && items && items.length > 0 && i >= 0) {
348
+ scrollToPos({
349
+ scrollEl: scrollEl,
350
+ pos: getCalculatedPos({
351
+ scrollEl: scrollEl,
352
+ items: items,
353
+ axis: axis,
354
+ index: i,
355
+ offset: offset.current,
356
+ scrollAlign: scrollAlign
357
+ }),
358
+ axis: axis
359
+ });
360
+ prevIndex.current = i;
361
+ }
362
+ }, [axis, scrollAlign]);
363
+ React.useEffect(function () {
364
+ if (scrollRef.current && trackRef.current) {
365
+ offset.current = getCalculatedOffset(scrollRef.current, trackRef.current, axis);
366
+ }
367
+ }, [axis]);
368
+
369
+ /**
370
+ * Операции на маунте/анмаунте компонента.
371
+ * Создать слушатели событи и т.п.
372
+ */
373
+ React.useEffect(function () {
374
+ var carouselElement = scrollRef.current;
375
+ if (carouselElement) {
376
+ carouselElement.addEventListener('scroll', throttledDetectActiveItem);
377
+ }
378
+ return function () {
379
+ if (carouselElement) {
380
+ carouselElement.removeEventListener('scroll', throttledDetectActiveItem);
381
+ }
382
+ };
383
+ }, [throttledDetectActiveItem]);
384
+
385
+ /**
386
+ * Нужно вызвать только при первом рендере
387
+ */
388
+ // useEffect(() => {
389
+ // requestAnimationFrame(() => {
390
+ // /**
391
+ // * Прокрутка до начального индекса.
392
+ // */
393
+ // toIndex(index);
394
+ //
395
+ // /**
396
+ // * Если на момент запуска карусель уже находится на нужной позиции,
397
+ // * событие скролла не произойдет, не сработает и определение центра,
398
+ // * необходимо вызвать его вручную.
399
+ // */
400
+ // throttledDetectActiveItem();
401
+ // });
402
+ //
403
+ // // eslint-disable-next-line react-hooks/exhaustive-deps
404
+ // }, []);
405
+
406
+ /**
407
+ * Прокрутка до нужной позиции индекса, если индекс изменился.
408
+ */
409
+ React.useEffect(function () {
410
+ if (index !== prevIndex.current) {
411
+ toIndex(index);
412
+ }
413
+ }, [index, toIndex]);
414
+ return {
415
+ scrollRef: scrollRef,
416
+ trackRef: trackRef
417
+ };
418
+ };
419
+
420
+ exports.animatedScrollToX = animatedScrollToX;
421
+ exports.getCalculatedOffset = getCalculatedOffset;
422
+ exports.getCalculatedPos = getCalculatedPos;
423
+ exports.getCarouselItems = getCarouselItems;
424
+ exports.getItemSlot = getItemSlot;
425
+ exports.scrollToPos = scrollToPos;
426
+ exports.useCarousel = useCarousel;
427
+ exports.useDebouncedFunction = useDebouncedFunction;
428
+ //# sourceMappingURL=useCarousel.js.map