@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,219 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import React, { memo, useRef, useLayoutEffect } from 'react';
8
+ import cls from 'classnames';
9
+ import { useDidMountLayoutEffect } from "../../../../../hooks";
10
+ import { classes } from "../../Carousel.tokens";
11
+ import { getActiveIndex, getTargetIndex, getInitialData } from "./utils/index";
12
+ import { Wrapper, DotWrapper, RightAnimationWrapper, LeftAnimationWrapper, TransitionWrapper } from "./Dots.styles";
13
+ var SIZE = 16; // размер точки в px
14
+ var ANIMATION_DURATION = 0.3; // скорость анимации в секундах
15
+
16
+ export var Dots = /*#__PURE__*/memo(function (_ref) {
17
+ var _ref$index = _ref.index,
18
+ originalIndex = _ref$index === void 0 ? 0 : _ref$index,
19
+ onChange = _ref.onChange,
20
+ _ref$centered = _ref.centered,
21
+ centered = _ref$centered === void 0 ? false : _ref$centered,
22
+ _ref$count = _ref.count,
23
+ count = _ref$count === void 0 ? 0 : _ref$count,
24
+ _ref$visibleCount = _ref.visibleCount,
25
+ originalVisibleCount = _ref$visibleCount === void 0 ? 0 : _ref$visibleCount;
26
+ // Трансформируем входные параметры для корректной работы в дальнейшем
27
+ var _getInitialData = getInitialData(originalIndex, count, originalVisibleCount),
28
+ _getInitialData2 = _slicedToArray(_getInitialData, 2),
29
+ index = _getInitialData2[0],
30
+ visibleCount = _getInitialData2[1];
31
+
32
+ // Рефки на DOM-ноды
33
+ var transitionWrapperRef = useRef(null);
34
+ var dotWrapperRef = useRef(null);
35
+ var leftAnimationWrapperRef = useRef(null);
36
+ var rightAnimationWrapperRef = useRef(null);
37
+
38
+ // Консистентные переменные
39
+ var isAnimating = useRef(false);
40
+ var prevIndex = useRef(-Infinity);
41
+ var prevActiveIndex = useRef(Infinity);
42
+ var isRightDirection = index > prevIndex.current;
43
+ var diffDotsRange = Math.abs(index - prevIndex.current);
44
+ var activeIndex = getActiveIndex(index, isRightDirection, count, visibleCount);
45
+ var hiddenDotsLeft = activeIndex < index;
46
+ var hiddenDotsRight = index + (visibleCount - 1 - activeIndex) < count - 1;
47
+ var handleClick = function handleClick(i) {
48
+ if (isAnimating.current) return;
49
+ if (onChange) {
50
+ onChange(index + (i - activeIndex));
51
+ }
52
+ };
53
+ var handleTransitionEnd = function handleTransitionEnd() {
54
+ if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current || !rightAnimationWrapperRef || !rightAnimationWrapperRef.current || !leftAnimationWrapperRef || !leftAnimationWrapperRef.current) {
55
+ return;
56
+ }
57
+ dotWrapperRef.current.classList.remove(classes.animating);
58
+ transitionWrapperRef.current.classList.remove(classes.animating);
59
+ Array.from(dotWrapperRef.current.children).forEach(function (child) {
60
+ var _child$classList;
61
+ (_child$classList = child.classList).remove.apply(_child$classList, [classes.active, classes.animateOut, classes.temporaryNatural, classes.shrinking]);
62
+ });
63
+ dotWrapperRef.current.children[activeIndex].classList.add(classes.active);
64
+ if (centered) {
65
+ transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - activeIndex * SIZE, "px)");
66
+ } else {
67
+ transitionWrapperRef.current.style.transform = 'translateX(0)';
68
+ }
69
+ setTimeout(function () {
70
+ if (transitionWrapperRef && transitionWrapperRef.current) {
71
+ isAnimating.current = false;
72
+ }
73
+ });
74
+
75
+ // Очищаем блоки с анимированными точками
76
+ leftAnimationWrapperRef.current.innerText = '';
77
+ rightAnimationWrapperRef.current.innerText = '';
78
+ prevIndex.current = index;
79
+ prevActiveIndex.current = activeIndex;
80
+ isAnimating.current = false;
81
+ };
82
+ useLayoutEffect(function () {
83
+ if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current) {
84
+ return;
85
+ }
86
+
87
+ // Вычисляем начальный сдвиг по горизонтали, чтобы точка стала по центру
88
+ if (centered) {
89
+ transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - activeIndex * SIZE, "px)");
90
+ }
91
+ prevIndex.current = index;
92
+ prevActiveIndex.current = activeIndex;
93
+ }, []);
94
+ useDidMountLayoutEffect(function () {
95
+ var _dotWrapperRef$curren;
96
+ if (!dotWrapperRef || !dotWrapperRef.current || !transitionWrapperRef || !transitionWrapperRef.current || !leftAnimationWrapperRef || !leftAnimationWrapperRef.current || !rightAnimationWrapperRef || !rightAnimationWrapperRef.current || isAnimating.current) {
97
+ return;
98
+ }
99
+ isAnimating.current = true;
100
+ dotWrapperRef.current.classList.add(classes.animating);
101
+ transitionWrapperRef.current.classList.add(classes.animating);
102
+ var targetIndex = getTargetIndex(index, prevIndex.current, prevActiveIndex.current, diffDotsRange);
103
+ var dotsToAdd = Math.abs(targetIndex - activeIndex);
104
+ if (centered) {
105
+ transitionWrapperRef.current.style.transform = "translateX(".concat(visibleCount * SIZE / 2 - SIZE / 2 - targetIndex * SIZE, "px)");
106
+ } else if (dotsToAdd > 0) {
107
+ transitionWrapperRef.current.style.transform = "translateX(".concat(-SIZE * (targetIndex - activeIndex), "px)");
108
+ }
109
+
110
+ // Стираем все активные классы и устанавливаем активный класс на таргет.
111
+ // В конце анимации произойдет переопределение активного класса.
112
+ Array.from(dotWrapperRef.current.children).forEach(function (child) {
113
+ child.classList.remove(classes.active);
114
+ });
115
+ (_dotWrapperRef$curren = dotWrapperRef.current.children[targetIndex]) === null || _dotWrapperRef$curren === void 0 || _dotWrapperRef$curren.classList.add(classes.active);
116
+ if (index > prevIndex.current) {
117
+ // Двигаемся вправо
118
+
119
+ // Если мы добавляем 1 и более точек, то нужно начать
120
+ // приводить размер крайней правой точки (что будет в m размере?)
121
+ // к натуральному размеру
122
+ if (dotsToAdd >= 1) {
123
+ var _dotWrapperRef$curren2;
124
+ (_dotWrapperRef$curren2 = dotWrapperRef.current.children[visibleCount - 1]) === null || _dotWrapperRef$curren2 === void 0 || _dotWrapperRef$curren2.classList.add(classes.temporaryNatural);
125
+ }
126
+
127
+ // Т.к. мы двигаемся вправо, то нужно начать уменьшать размер крайней левой точки
128
+ // (опять же, что в m size?)
129
+ if (dotsToAdd >= 1) {
130
+ var _dotWrapperRef$curren3;
131
+ (_dotWrapperRef$curren3 = dotWrapperRef.current.children[dotsToAdd]) === null || _dotWrapperRef$curren3 === void 0 || _dotWrapperRef$curren3.classList.add(classes.shrinking);
132
+ }
133
+ if (dotsToAdd > 0) {
134
+ var _loop = function _loop() {
135
+ var _dotWrapperRef$curren4;
136
+ var node = document.createElement('div');
137
+ node.textContent = '';
138
+ node.classList.add(classes.dot);
139
+ node.style.opacity = '0';
140
+ var delay = i * (ANIMATION_DURATION / dotsToAdd);
141
+ node.style.animationDelay = "".concat(delay, "s");
142
+ rightAnimationWrapperRef.current.appendChild(node);
143
+ var duration = ANIMATION_DURATION / dotsToAdd;
144
+ requestAnimationFrame(function () {
145
+ node.classList.add(classes.animateIn);
146
+ node.style.animationDuration = "".concat(duration, "s");
147
+ });
148
+ var currentDomNode = (_dotWrapperRef$curren4 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren4 === void 0 ? void 0 : _dotWrapperRef$curren4[i];
149
+ currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(classes.animateOut);
150
+ currentDomNode.style.animationDelay = "".concat(delay, "s");
151
+ currentDomNode.style.animationDuration = "".concat(duration, "s");
152
+ };
153
+ for (var i = 0; i < dotsToAdd; i++) {
154
+ _loop();
155
+ }
156
+ }
157
+ } else {
158
+ // Двигаемся влево
159
+
160
+ // Если мы добавляем 1 и более точек, то нужно начать
161
+ // приводить размер крайней левой точки (что будет в m размере?)
162
+ // к натуральному размеру.
163
+ if (dotsToAdd >= 1) {
164
+ var _dotWrapperRef$curren5;
165
+ (_dotWrapperRef$curren5 = dotWrapperRef.current.children[0]) === null || _dotWrapperRef$curren5 === void 0 || _dotWrapperRef$curren5.classList.add(classes.temporaryNatural);
166
+ }
167
+
168
+ // Т.к. мы двигаемся влево, то нужно начать уменьшать размер крайней правой точки
169
+ // (опять же, что в m size?)
170
+ if (dotsToAdd >= 1) {
171
+ var _dotWrapperRef$curren6;
172
+ (_dotWrapperRef$curren6 = dotWrapperRef.current.children[visibleCount - 1 - dotsToAdd]) === null || _dotWrapperRef$curren6 === void 0 || _dotWrapperRef$curren6.classList.add(classes.shrinking);
173
+ }
174
+ if (dotsToAdd > 0) {
175
+ var _loop2 = function _loop2() {
176
+ var _dotWrapperRef$curren7;
177
+ var node = document.createElement('div');
178
+ node.textContent = '';
179
+ node.classList.add(classes.dot);
180
+ node.style.opacity = '0';
181
+ var delay = (dotsToAdd - 1 - _i) * (ANIMATION_DURATION / dotsToAdd);
182
+ node.style.animationDelay = "".concat(delay, "s");
183
+ leftAnimationWrapperRef.current.prepend(node);
184
+ var duration = ANIMATION_DURATION / dotsToAdd;
185
+ requestAnimationFrame(function () {
186
+ node.classList.add(classes.animateIn);
187
+ node.style.animationDuration = "".concat(duration, "s");
188
+ });
189
+ var currentDomNode = (_dotWrapperRef$curren7 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren7 === void 0 ? void 0 : _dotWrapperRef$curren7[dotWrapperRef.current.children.length - 1 - _i];
190
+ currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(classes.animateOut);
191
+ currentDomNode.style.animationDelay = "".concat(_i * (ANIMATION_DURATION / dotsToAdd), "s");
192
+ currentDomNode.style.animationDuration = "".concat(duration, "s");
193
+ };
194
+ for (var _i = dotsToAdd - 1; _i >= 0; _i--) {
195
+ _loop2();
196
+ }
197
+ }
198
+ }
199
+ }, [index]);
200
+ return /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(TransitionWrapper, {
201
+ ref: transitionWrapperRef,
202
+ onTransitionEnd: handleTransitionEnd
203
+ }, /*#__PURE__*/React.createElement(LeftAnimationWrapper, {
204
+ ref: leftAnimationWrapperRef
205
+ }), /*#__PURE__*/React.createElement(DotWrapper, {
206
+ ref: dotWrapperRef,
207
+ className: cls(hiddenDotsLeft && classes.availableDotsLeft, hiddenDotsRight && classes.availableDotsRight)
208
+ }, Array(visibleCount).fill(0).map(function (_, i) {
209
+ return /*#__PURE__*/React.createElement("div", {
210
+ key: i,
211
+ className: cls(classes.dot, i === activeIndex && classes.active),
212
+ onClick: function onClick() {
213
+ return handleClick(i);
214
+ }
215
+ });
216
+ })), /*#__PURE__*/React.createElement(RightAnimationWrapper, {
217
+ ref: rightAnimationWrapperRef
218
+ })));
219
+ });
@@ -0,0 +1,17 @@
1
+ import styled from 'styled-components';
2
+ import { classes, tokens } from "../../Carousel.tokens";
3
+ export var Wrapper = /*#__PURE__*/styled.div.withConfig({
4
+ componentId: "plasma-new-hope__sc-feybgn-0"
5
+ })(["display:flex;align-items:center;justify-content:center;--duration:0.3s;--half-duration:0.15s;"]);
6
+ export var TransitionWrapper = /*#__PURE__*/styled.div.withConfig({
7
+ componentId: "plasma-new-hope__sc-feybgn-1"
8
+ })(["position:relative;display:flex;transition:transform 0s ease;&.", "{transition:transform var(--duration) ease;}& .", "{width:0.5rem;height:0.5rem;margin:0 0.25rem;cursor:pointer;background-color:var(", ");border-radius:100%;&.", "{background-color:var(", ");}@keyframes fadeOut{from{transform:scale(0.75);opacity:1;}to{transform:scale(0);opacity:0;}}&.", "{animation:fadeOut var(--half-duration) ease forwards;}@keyframes shrinking{from{transform:scale(1);}to{transform:scale(0.75);}}&.", "{animation:shrinking var(--half-duration) var(--half-duration) ease forwards;}}"], classes.animating, classes.dot, tokens.paginationDotBackground, classes.active, tokens.paginationDotActiveBackground, classes.animateOut, classes.shrinking);
9
+ export var DotWrapper = /*#__PURE__*/styled.div.withConfig({
10
+ componentId: "plasma-new-hope__sc-feybgn-2"
11
+ })(["display:flex;&.", "{.", ":not(.", "):first-child{transform:scale(0.75);}}&.", "{.", ":not(.", "):last-child{transform:scale(0.75);}}&.", " .", "{transition:background-color var(--duration) ease;}"], classes.availableDotsLeft, classes.dot, classes.temporaryNatural, classes.availableDotsRight, classes.dot, classes.temporaryNatural, classes.animating, classes.dot);
12
+ export var LeftAnimationWrapper = /*#__PURE__*/styled.div.withConfig({
13
+ componentId: "plasma-new-hope__sc-feybgn-3"
14
+ })(["position:absolute;top:0;right:100%;bottom:0;display:flex;& .", "{transition:transform var(--duration) ease;@keyframes fadeIn{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}&.", "{animation:fadeIn var(--half-duration) ease forwards;}&:first-child{@keyframes fadeInFirst{from{transform:scale(0);opacity:0;}to{transform:scale(0.75);opacity:1;}}&.", "{animation:fadeInFirst var(--half-duration) ease forwards;}}}"], classes.dot, classes.animateIn, classes.animateIn);
15
+ export var RightAnimationWrapper = /*#__PURE__*/styled.div.withConfig({
16
+ componentId: "plasma-new-hope__sc-feybgn-4"
17
+ })(["position:absolute;top:0;left:100%;bottom:0;display:flex;& .", "{transition:transform var(--duration) ease;@keyframes fadeIn{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}&.", "{animation:fadeIn var(--half-duration) ease forwards;}&:last-child{@keyframes fadeInLast{from{transform:scale(0);opacity:0;}to{transform:scale(0.75);opacity:1;}}&.", "{animation:fadeInLast var(--half-duration) ease forwards;}}}"], classes.dot, classes.animateIn, classes.animateIn);
@@ -0,0 +1,41 @@
1
+ export var getInitialData = function getInitialData(index, count, visibleCount) {
2
+ var newIndex = index;
3
+ var newVisibleCount = visibleCount;
4
+
5
+ // Ограничения на макс. и мин. значения индекса
6
+ if (index < 0) {
7
+ newIndex = 0;
8
+ } else if (index >= count) {
9
+ newIndex = count - 1;
10
+ }
11
+
12
+ // Ограничение на количество точек
13
+ if (visibleCount > count) {
14
+ newVisibleCount = count;
15
+ }
16
+ return [newIndex, newVisibleCount];
17
+ };
18
+ export var getActiveIndex = function getActiveIndex(index, isRightDirection, count, visibleCount) {
19
+ if (index < Math.trunc(visibleCount / 2)) {
20
+ return index;
21
+ }
22
+ if (count - 1 - index < Math.trunc(visibleCount / 2)) {
23
+ return visibleCount - 1 - (count - 1 - index);
24
+ }
25
+ if (visibleCount % 2) {
26
+ return Math.trunc(visibleCount / 2);
27
+ }
28
+ if (isRightDirection) {
29
+ return visibleCount / 2;
30
+ }
31
+ return visibleCount / 2 - 1;
32
+ };
33
+ export var getTargetIndex = function getTargetIndex(index, prevIndex, prevActiveIndex, diffDotsRange) {
34
+ var targetIndex = 0;
35
+ if (index > prevIndex) {
36
+ targetIndex = prevActiveIndex + diffDotsRange;
37
+ } else {
38
+ targetIndex = prevActiveIndex - diffDotsRange;
39
+ }
40
+ return targetIndex;
41
+ };
@@ -0,0 +1,30 @@
1
+ var _excluded = ["scrollSnapAlign", "scrollSnapStop", "children"];
2
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
+ import React from 'react';
6
+ import styled from 'styled-components';
7
+ var StyledItem = /*#__PURE__*/styled.div.withConfig({
8
+ componentId: "plasma-new-hope__sc-1j1qvbq-0"
9
+ })(["scroll-snap-align:", ";scroll-snap-stop:", ";"], function (_ref) {
10
+ var scrollSnapAlign = _ref.scrollSnapAlign;
11
+ return scrollSnapAlign || 'none';
12
+ }, function (_ref2) {
13
+ var scrollSnapAlign = _ref2.scrollSnapAlign,
14
+ scrollSnapStop = _ref2.scrollSnapStop;
15
+ return scrollSnapAlign ? scrollSnapStop : 'normal';
16
+ });
17
+ export var CarouselItem = function CarouselItem(_ref3) {
18
+ var _ref3$scrollSnapAlign = _ref3.scrollSnapAlign,
19
+ scrollSnapAlign = _ref3$scrollSnapAlign === void 0 ? 'center' : _ref3$scrollSnapAlign,
20
+ _ref3$scrollSnapStop = _ref3.scrollSnapStop,
21
+ scrollSnapStop = _ref3$scrollSnapStop === void 0 ? 'always' : _ref3$scrollSnapStop,
22
+ children = _ref3.children,
23
+ rest = _objectWithoutProperties(_ref3, _excluded);
24
+ return /*#__PURE__*/React.createElement(StyledItem, _extends({
25
+ scrollSnapAlign: scrollSnapAlign,
26
+ scrollSnapStop: scrollSnapStop,
27
+ role: "group",
28
+ "aria-roledescription": "slide"
29
+ }, rest), children);
30
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./Item/Item";
2
+ export * from "./Dots/Dots";
@@ -0,0 +1,2 @@
1
+ import { css } from 'styled-components';
2
+ export var base = /*#__PURE__*/css([""]);
@@ -0,0 +1,2 @@
1
+ import { css } from 'styled-components';
2
+ export var base = /*#__PURE__*/css([""]);
@@ -8,16 +8,16 @@ export var base = /*#__PURE__*/css([""]);
8
8
  * Стилизованный компонент, обладающий всеми свойствами ``div``.
9
9
  */
10
10
  export var CarouselGridWrapper = /*#__PURE__*/styled.div.withConfig({
11
- componentId: "plasma-new-hope__sc-9g0yg0-0"
11
+ componentId: "plasma-new-hope__sc-15fotdl-0"
12
12
  })(["overflow:hidden;margin-left:calc(var(--plasma-grid-margin) * -1);margin-right:calc(var(--plasma-grid-margin) * -1);"]);
13
13
  export var CarouselWrapper = /*#__PURE__*/styled.div.withConfig({
14
- componentId: "plasma-new-hope__sc-9g0yg0-1"
14
+ componentId: "plasma-new-hope__sc-15fotdl-1"
15
15
  })(["position:relative;margin:0;padding:0;list-style:none;-ms-overflow-style:none;scrollbar-width:none;::-webkit-scrollbar{display:none;}overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:", ";", " &{scroll-padding:0 var(--plasma-grid-margin);padding-left:var(--plasma-grid-margin);}user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);"], function (_ref) {
16
16
  var scrollSnapType = _ref.scrollSnapType;
17
17
  return "x ".concat(scrollSnapType);
18
18
  }, CarouselGridWrapper);
19
19
  export var CarouselTrack = /*#__PURE__*/styled.div.withConfig({
20
- componentId: "plasma-new-hope__sc-9g0yg0-2"
20
+ componentId: "plasma-new-hope__sc-15fotdl-2"
21
21
  })(["display:inline-flex;flex-direction:row;padding-left:", ";padding-right:", ";", " &{padding-right:", ";}"], function (_ref2) {
22
22
  var paddingStart = _ref2.paddingStart;
23
23
  return paddingStart || 0;
@@ -5,7 +5,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
5
5
  import React from 'react';
6
6
  import styled from 'styled-components';
7
7
  var StyledItem = /*#__PURE__*/styled.div.withConfig({
8
- componentId: "plasma-new-hope__sc-1h5d6du-0"
8
+ componentId: "plasma-new-hope__sc-1b1k2uh-0"
9
9
  })(["scroll-snap-align:", ";scroll-snap-stop:", ";"], function (_ref) {
10
10
  var scrollSnapAlign = _ref.scrollSnapAlign;
11
11
  return scrollSnapAlign || 'none';
@@ -0,0 +1,3 @@
1
+ export { carouselConfig, carouselRoot } from "./Carousel";
2
+ export { CarouselGridWrapper } from "./Carousel.styles";
3
+ export { CarouselItem } from "./CarouselItem";
@@ -0,0 +1,59 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import { useCallback, useEffect, useState } from 'react';
8
+ var SCROLL_SPEED = 2;
9
+ export var useDragScroll = function useDragScroll(scrollRef, isDragScrollDisabled) {
10
+ var _useState = useState(false),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ isDragging = _useState2[0],
13
+ setDragging = _useState2[1];
14
+ var _useState3 = useState(0),
15
+ _useState4 = _slicedToArray(_useState3, 2),
16
+ startX = _useState4[0],
17
+ setStartX = _useState4[1];
18
+ var _useState5 = useState(0),
19
+ _useState6 = _slicedToArray(_useState5, 2),
20
+ scrollLeft = _useState6[0],
21
+ setScrollLeft = _useState6[1];
22
+ var handleMouseMove = 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 = useCallback(function () {
29
+ setDragging(false);
30
+ if (scrollRef && scrollRef.current) {
31
+ scrollRef.current.style.cursor = 'grab';
32
+ }
33
+ }, [scrollRef, setDragging]);
34
+ var handleMouseDown = 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
+ 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
+ };
@@ -1,3 +1,7 @@
1
- export { carouselConfig, carouselRoot } from "./Carousel";
2
- export { CarouselGridWrapper } from "./Carousel.styles";
3
- export { CarouselItem } from "./CarouselItem";
1
+ export { carouselConfig, carouselRoot } from "./CarouselOld/Carousel";
2
+ export { CarouselGridWrapper } from "./CarouselOld/Carousel.styles";
3
+ export { CarouselItem } from "./CarouselOld/CarouselItem";
4
+
5
+ // New Carousel
6
+ export { carouselNewConfig, carouselNewRoot } from "./CarouselNew/Carousel";
7
+ export { tokens as carouselTokens } from "./CarouselNew/Carousel.tokens";
@@ -1,4 +1,16 @@
1
+ import { css } from 'styled-components';
2
+ import { carouselTokens as tokens } from "../../../../components/Carousel";
1
3
  export var config = {
2
- defaults: {},
3
- variations: {}
4
+ defaults: {
5
+ view: 'default',
6
+ size: 'm'
7
+ },
8
+ variations: {
9
+ view: {
10
+ "default": /*#__PURE__*/css(["", ":var(--surface-transparent-tertiary);", ":var(--surface-solid-default);"], tokens.paginationDotBackground, tokens.paginationDotActiveBackground)
11
+ },
12
+ size: {
13
+ s: /*#__PURE__*/css([""])
14
+ }
15
+ }
4
16
  };
@@ -1,6 +1,6 @@
1
- import { carouselConfig, CarouselItem } from "../../../../components/Carousel";
1
+ import { carouselNewConfig, CarouselItem } from "../../../../components/Carousel";
2
2
  import { component, mergeConfig } from "../../../../engines";
3
3
  import { config } from "./Carousel.config";
4
- export var mergedConfig = /*#__PURE__*/mergeConfig(carouselConfig, config);
4
+ export var mergedConfig = /*#__PURE__*/mergeConfig(carouselNewConfig, config);
5
5
  export var Carousel = /*#__PURE__*/component(mergedConfig);
6
6
  export { CarouselItem };
@@ -2,18 +2,38 @@ import * as React from 'react';
2
2
  import type { ComponentProps } from 'react';
3
3
  import type { Meta, StoryObj } from '@storybook/react';
4
4
  import styled from 'styled-components';
5
+ import { getConfigVariations } from '@salutejs/plasma-sb-utils';
5
6
 
6
7
  import { WithTheme } from '../../../_helpers';
7
8
 
9
+ import { config } from './Carousel.config';
8
10
  import { Carousel, CarouselItem } from './Carousel';
9
11
 
10
- type StoryCarouselProps = ComponentProps<typeof Carousel>;
12
+ type StoryCarouselProps = ComponentProps<typeof Carousel> & {
13
+ slides: number;
14
+ visibleDots: number;
15
+ paginationCentered: boolean;
16
+ };
17
+
18
+ const { views, sizes } = getConfigVariations(config);
11
19
 
12
20
  const meta: Meta<StoryCarouselProps> = {
13
21
  title: 'b2c/Navigation/Carousel',
14
22
  component: Carousel,
15
23
  decorators: [WithTheme],
16
24
  argTypes: {
25
+ view: {
26
+ options: views,
27
+ control: {
28
+ type: 'select',
29
+ },
30
+ },
31
+ size: {
32
+ options: sizes,
33
+ control: {
34
+ type: 'inline-radio',
35
+ },
36
+ },
17
37
  align: {
18
38
  options: ['center', 'start', 'end'],
19
39
  control: {
@@ -23,55 +43,99 @@ const meta: Meta<StoryCarouselProps> = {
23
43
  isDragScrollDisabled: {
24
44
  control: 'boolean',
25
45
  },
46
+ slides: {
47
+ control: 'number',
48
+ },
49
+ visibleDots: {
50
+ control: 'number',
51
+ },
52
+ paginationCentered: {
53
+ control: 'boolean',
54
+ },
26
55
  },
27
56
  args: {
57
+ view: 'default',
58
+ size: 's',
28
59
  align: 'center',
29
60
  isDragScrollDisabled: false,
61
+ visibleDots: 6,
62
+ slides: 10,
63
+ paginationCentered: false,
30
64
  },
31
65
  parameters: {
32
66
  controls: {
33
- include: ['align', 'isDragScrollDisabled'],
67
+ include: ['visibleDots', 'slides', 'paginationCentered'],
34
68
  },
35
69
  },
36
70
  };
37
71
 
38
72
  export default meta;
39
73
 
40
- const items = Array(25)
41
- .fill({
42
- title: 'Заголовок',
43
- })
44
- .map(({ title }, i) => ({
45
- id: i,
46
- title: `${title} ${i}`,
47
- }));
48
-
49
74
  const StyledCard = styled.div`
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
50
78
  position: relative;
51
79
  border-radius: 8px;
52
- width: 350px;
53
- height: 50px;
54
- padding: 8px;
80
+ width: 500px;
81
+ height: 370px;
55
82
  background-color: #add8e6;
83
+ font-size: 30px;
56
84
  `;
57
85
 
58
- const StoryDefault = ({ align, isDragScrollDisabled }: StoryCarouselProps) => {
86
+ const StoryDefault = ({
87
+ align,
88
+ visibleDots,
89
+ slides,
90
+ paginationCentered,
91
+ isDragScrollDisabled,
92
+ ...rest
93
+ }: StoryCarouselProps) => {
59
94
  const [index, setIndex] = React.useState(0);
60
95
 
96
+ const items = Array(slides)
97
+ .fill(1)
98
+ .map((_, i) => ({
99
+ id: i,
100
+ title: i,
101
+ }));
102
+
61
103
  return (
62
- <Carousel
63
- index={index}
64
- detectActive
65
- onIndexChange={setIndex}
66
- scrollAlign={align}
67
- isDragScrollDisabled={isDragScrollDisabled}
68
- >
69
- {items.map((item, i) => (
70
- <CarouselItem key={i} style={{ padding: '0 0.5rem' }} scrollSnapAlign={align}>
71
- <StyledCard>{item.title}</StyledCard>
72
- </CarouselItem>
73
- ))}
74
- </Carousel>
104
+ <>
105
+ <button type="button" onClick={() => setIndex((prev) => Math.max(prev - 1, 0))}>
106
+ prev
107
+ </button>
108
+ <button type="button" onClick={() => setIndex((prev) => Math.min(prev + 1, slides - 1))}>
109
+ next
110
+ </button>
111
+ <br />
112
+ <span>текущий индекс: {index}</span>
113
+
114
+ <br />
115
+ <br />
116
+
117
+ <div style={{ width: '800px' }}>
118
+ <Carousel
119
+ index={index}
120
+ onIndexChange={setIndex}
121
+ detectActive
122
+ scrollAlign={align}
123
+ isDragScrollDisabled={isDragScrollDisabled}
124
+ gap="20px"
125
+ paginationOptions={{
126
+ visibleDots,
127
+ centered: paginationCentered,
128
+ }}
129
+ {...rest}
130
+ >
131
+ {items.map((item, i) => (
132
+ <CarouselItem key={i} scrollSnapAlign={align}>
133
+ <StyledCard>{item.title}</StyledCard>
134
+ </CarouselItem>
135
+ ))}
136
+ </Carousel>
137
+ </div>
138
+ </>
75
139
  );
76
140
  };
77
141
 
@@ -3,5 +3,6 @@ export { useFocusTrap } from "./useFocusTrap";
3
3
  export { usePreviousValue } from "./usePreviousValue";
4
4
  export { useForceUpdate } from "./useForceUpdate";
5
5
  export { useDidMountEffect } from "./useDidMountEffect";
6
+ export { useDidMountLayoutEffect } from "./useDidMountLayoutEffect";
6
7
  export { useOutsideClick } from "./useOutsideClick";
7
8
  export { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect";