@salutejs/plasma-new-hope 0.326.1-canary.2018.15775755664.0 → 0.326.1-canary.2019.15674501487.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 (264) hide show
  1. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +0 -12
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  3. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  5. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
  6. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  7. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
  8. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  9. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
  10. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  11. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
  12. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  13. package/cjs/components/Carousel/CarouselNew/Carousel.css +5 -5
  14. package/cjs/components/Carousel/CarouselNew/Carousel.js +6 -9
  15. package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  16. package/cjs/components/Carousel/CarouselNew/Carousel.styles.js +4 -13
  17. package/cjs/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -1
  18. package/cjs/components/Carousel/CarouselNew/Carousel.styles_151pk3s.css +5 -0
  19. package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +1 -9
  20. package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -1
  21. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +357 -49
  22. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  23. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +38 -52
  24. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +1 -1
  25. package/cjs/components/Carousel/CarouselOld/CarouselItem.js +1 -1
  26. package/cjs/components/Carousel/CarouselOld/CarouselItem.js.map +1 -1
  27. package/{es/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css → cjs/components/Carousel/CarouselOld/CarouselItem_cghzk7.css} +1 -1
  28. package/cjs/components/CodeField/CodeField.css +6 -6
  29. package/cjs/components/CodeField/CodeField.styles.js +1 -1
  30. package/cjs/components/CodeField/CodeField.styles.js.map +1 -1
  31. package/{es/components/CodeField/CodeField.styles_7zxgpc.css → cjs/components/CodeField/CodeField.styles_ebdpd0.css} +1 -1
  32. package/cjs/components/Drawer/Drawer.js +3 -4
  33. package/cjs/components/Drawer/Drawer.js.map +1 -1
  34. package/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  35. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  36. package/cjs/components/Mask/Mask.js +3 -3
  37. package/cjs/components/Mask/Mask.js.map +1 -1
  38. package/cjs/components/Modal/Modal.js +2 -3
  39. package/cjs/components/Modal/Modal.js.map +1 -1
  40. package/cjs/components/Modal/hooks/useModal.js +1 -1
  41. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  42. package/cjs/components/Popup/Popup.js +1 -2
  43. package/cjs/components/Popup/Popup.js.map +1 -1
  44. package/cjs/components/Popup/PopupContext.js +15 -13
  45. package/cjs/components/Popup/PopupContext.js.map +1 -1
  46. package/cjs/components/Rating/Rating.css +6 -6
  47. package/cjs/components/Rating/Rating.styles.js +1 -1
  48. package/cjs/components/Rating/Rating.styles.js.map +1 -1
  49. package/{es/components/Rating/Rating.styles_hi5qwl.css → cjs/components/Rating/Rating.styles_dg76kk.css} +1 -1
  50. package/cjs/components/Rating/utils/getIcons.css +6 -6
  51. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +4 -4
  52. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +1 -1
  53. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js.map +1 -1
  54. package/cjs/components/Tabs/ui/vertical/VerticalTabs/{VerticalTabs.styles_1egpt45.css → VerticalTabs.styles_1khdtzl.css} +1 -1
  55. package/cjs/index.css +22 -22
  56. package/cjs/index.js +0 -2
  57. package/cjs/index.js.map +1 -1
  58. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +0 -12
  59. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
  60. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
  61. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
  62. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
  63. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
  64. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +6 -9
  65. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.styles.js +17 -12
  66. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +1 -9
  67. package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +353 -50
  68. package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +38 -52
  69. package/emotion/cjs/components/Carousel/CarouselOld/CarouselItem.js +1 -1
  70. package/emotion/cjs/components/CodeField/CodeField.styles.js +6 -6
  71. package/emotion/cjs/components/Drawer/Drawer.js +8 -8
  72. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  73. package/emotion/cjs/components/Mask/Mask.js +3 -3
  74. package/emotion/cjs/components/Modal/Modal.js +5 -6
  75. package/emotion/cjs/components/Modal/hooks/useModal.js +1 -1
  76. package/emotion/cjs/components/Popup/Popup.js +1 -1
  77. package/emotion/cjs/components/Popup/PopupContext.js +20 -14
  78. package/emotion/cjs/components/Rating/Rating.styles.js +11 -11
  79. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +8 -8
  80. package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -2
  81. package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +14 -10
  82. package/emotion/cjs/examples/plasma_web/components/Carousel/Carousel.config.js +2 -2
  83. package/emotion/cjs/examples/plasma_web/components/Carousel/Carousel.stories.tsx +15 -10
  84. package/emotion/cjs/hooks/index.js +1 -8
  85. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +0 -12
  86. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
  87. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
  88. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
  89. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
  90. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
  91. package/emotion/es/components/Carousel/CarouselNew/Carousel.js +6 -9
  92. package/emotion/es/components/Carousel/CarouselNew/Carousel.styles.js +18 -13
  93. package/emotion/es/components/Carousel/CarouselNew/Carousel.tokens.js +1 -9
  94. package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +349 -50
  95. package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +38 -52
  96. package/emotion/es/components/Carousel/CarouselOld/CarouselItem.js +1 -1
  97. package/emotion/es/components/CodeField/CodeField.styles.js +6 -6
  98. package/emotion/es/components/Drawer/Drawer.js +3 -3
  99. package/emotion/es/components/Drawer/hooks/useDrawer.js +2 -2
  100. package/emotion/es/components/Mask/Mask.js +3 -3
  101. package/emotion/es/components/Modal/Modal.js +3 -4
  102. package/emotion/es/components/Modal/hooks/useModal.js +1 -1
  103. package/emotion/es/components/Popup/Popup.js +2 -2
  104. package/emotion/es/components/Popup/PopupContext.js +20 -14
  105. package/emotion/es/components/Rating/Rating.styles.js +11 -11
  106. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +8 -8
  107. package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -2
  108. package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +14 -10
  109. package/emotion/es/examples/plasma_web/components/Carousel/Carousel.config.js +2 -2
  110. package/emotion/es/examples/plasma_web/components/Carousel/Carousel.stories.tsx +15 -10
  111. package/emotion/es/hooks/index.js +1 -2
  112. package/es/components/Calendar/CalendarBase/CalendarBase.js +0 -12
  113. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  114. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
  115. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  116. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
  117. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  118. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
  119. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  120. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
  121. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  122. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
  123. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  124. package/es/components/Carousel/CarouselNew/Carousel.css +5 -5
  125. package/es/components/Carousel/CarouselNew/Carousel.js +6 -9
  126. package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  127. package/es/components/Carousel/CarouselNew/Carousel.styles.js +4 -13
  128. package/es/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -1
  129. package/es/components/Carousel/CarouselNew/Carousel.styles_151pk3s.css +5 -0
  130. package/es/components/Carousel/CarouselNew/Carousel.tokens.js +1 -9
  131. package/es/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -1
  132. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +349 -51
  133. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  134. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +38 -52
  135. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.js.map +1 -1
  136. package/es/components/Carousel/CarouselOld/CarouselItem.js +1 -1
  137. package/es/components/Carousel/CarouselOld/CarouselItem.js.map +1 -1
  138. package/{cjs/components/Carousel/CarouselOld/CarouselItem_uvoxfy.css → es/components/Carousel/CarouselOld/CarouselItem_cghzk7.css} +1 -1
  139. package/es/components/CodeField/CodeField.css +6 -6
  140. package/es/components/CodeField/CodeField.styles.js +1 -1
  141. package/es/components/CodeField/CodeField.styles.js.map +1 -1
  142. package/{cjs/components/CodeField/CodeField.styles_7zxgpc.css → es/components/CodeField/CodeField.styles_ebdpd0.css} +1 -1
  143. package/es/components/Drawer/Drawer.js +3 -4
  144. package/es/components/Drawer/Drawer.js.map +1 -1
  145. package/es/components/Drawer/hooks/useDrawer.js +2 -2
  146. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  147. package/es/components/Mask/Mask.js +3 -3
  148. package/es/components/Mask/Mask.js.map +1 -1
  149. package/es/components/Modal/Modal.js +2 -3
  150. package/es/components/Modal/Modal.js.map +1 -1
  151. package/es/components/Modal/hooks/useModal.js +1 -1
  152. package/es/components/Modal/hooks/useModal.js.map +1 -1
  153. package/es/components/Popup/Popup.js +1 -2
  154. package/es/components/Popup/Popup.js.map +1 -1
  155. package/es/components/Popup/PopupContext.js +16 -14
  156. package/es/components/Popup/PopupContext.js.map +1 -1
  157. package/es/components/Rating/Rating.css +6 -6
  158. package/es/components/Rating/Rating.styles.js +1 -1
  159. package/es/components/Rating/Rating.styles.js.map +1 -1
  160. package/{cjs/components/Rating/Rating.styles_hi5qwl.css → es/components/Rating/Rating.styles_dg76kk.css} +1 -1
  161. package/es/components/Rating/utils/getIcons.css +6 -6
  162. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +4 -4
  163. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +1 -1
  164. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js.map +1 -1
  165. package/es/components/Tabs/ui/vertical/VerticalTabs/{VerticalTabs.styles_1egpt45.css → VerticalTabs.styles_1khdtzl.css} +1 -1
  166. package/es/index.css +22 -22
  167. package/es/index.js +0 -1
  168. package/es/index.js.map +1 -1
  169. package/package.json +2 -2
  170. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +0 -12
  171. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
  172. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
  173. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
  174. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
  175. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
  176. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +6 -9
  177. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.styles.js +3 -6
  178. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +1 -9
  179. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +353 -50
  180. package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.js +38 -52
  181. package/styled-components/cjs/components/Carousel/CarouselOld/CarouselItem.js +1 -1
  182. package/styled-components/cjs/components/CodeField/CodeField.styles.js +1 -1
  183. package/styled-components/cjs/components/Drawer/Drawer.js +8 -8
  184. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  185. package/styled-components/cjs/components/Mask/Mask.js +3 -3
  186. package/styled-components/cjs/components/Modal/Modal.js +5 -6
  187. package/styled-components/cjs/components/Modal/hooks/useModal.js +1 -1
  188. package/styled-components/cjs/components/Popup/Popup.js +1 -1
  189. package/styled-components/cjs/components/Popup/PopupContext.js +20 -14
  190. package/styled-components/cjs/components/Rating/Rating.styles.js +1 -1
  191. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +1 -1
  192. package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -2
  193. package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +14 -10
  194. package/styled-components/cjs/examples/plasma_web/components/Carousel/Carousel.config.js +2 -2
  195. package/styled-components/cjs/examples/plasma_web/components/Carousel/Carousel.stories.tsx +15 -10
  196. package/styled-components/cjs/hooks/index.js +1 -8
  197. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +0 -12
  198. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
  199. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
  200. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
  201. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
  202. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
  203. package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +6 -9
  204. package/styled-components/es/components/Carousel/CarouselNew/Carousel.styles.js +4 -7
  205. package/styled-components/es/components/Carousel/CarouselNew/Carousel.tokens.js +1 -9
  206. package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +349 -50
  207. package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.js +38 -52
  208. package/styled-components/es/components/Carousel/CarouselOld/CarouselItem.js +1 -1
  209. package/styled-components/es/components/CodeField/CodeField.styles.js +1 -1
  210. package/styled-components/es/components/Drawer/Drawer.js +3 -3
  211. package/styled-components/es/components/Drawer/hooks/useDrawer.js +2 -2
  212. package/styled-components/es/components/Mask/Mask.js +3 -3
  213. package/styled-components/es/components/Modal/Modal.js +3 -4
  214. package/styled-components/es/components/Modal/hooks/useModal.js +1 -1
  215. package/styled-components/es/components/Popup/Popup.js +2 -2
  216. package/styled-components/es/components/Popup/PopupContext.js +20 -14
  217. package/styled-components/es/components/Rating/Rating.styles.js +1 -1
  218. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +1 -1
  219. package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.config.js +2 -2
  220. package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +14 -10
  221. package/styled-components/es/examples/plasma_web/components/Carousel/Carousel.config.js +2 -2
  222. package/styled-components/es/examples/plasma_web/components/Carousel/Carousel.stories.tsx +15 -10
  223. package/styled-components/es/hooks/index.js +1 -2
  224. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  225. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  226. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  227. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  228. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  229. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
  230. package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
  231. package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts +1 -4
  232. package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts.map +1 -1
  233. package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts +0 -8
  234. package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts.map +1 -1
  235. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +3 -8
  236. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
  237. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts +52 -11
  238. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
  239. package/types/components/Carousel/CarouselNew/ui/Dots/Dots.d.ts.map +1 -1
  240. package/types/components/Carousel/CarouselOld/CarouselItem.d.ts.map +1 -1
  241. package/types/components/Drawer/Drawer.d.ts +1 -1
  242. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  243. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  244. package/types/components/Modal/Modal.d.ts +1 -1
  245. package/types/components/Modal/Modal.d.ts.map +1 -1
  246. package/types/components/Popup/Popup.d.ts +1 -1
  247. package/types/components/Popup/Popup.d.ts.map +1 -1
  248. package/types/components/Popup/Popup.types.d.ts +1 -1
  249. package/types/components/Popup/Popup.types.d.ts.map +1 -1
  250. package/types/components/Popup/PopupContext.d.ts.map +1 -1
  251. package/types/hooks/index.d.ts +0 -1
  252. package/types/hooks/index.d.ts.map +1 -1
  253. package/cjs/components/Carousel/CarouselNew/Carousel.styles_1benby5.css +0 -5
  254. package/cjs/hooks/useDisableScroll.js +0 -30
  255. package/cjs/hooks/useDisableScroll.js.map +0 -1
  256. package/emotion/cjs/hooks/useDisableScroll.js +0 -28
  257. package/emotion/es/hooks/useDisableScroll.js +0 -22
  258. package/es/components/Carousel/CarouselNew/Carousel.styles_1benby5.css +0 -5
  259. package/es/hooks/useDisableScroll.js +0 -26
  260. package/es/hooks/useDisableScroll.js.map +0 -1
  261. package/styled-components/cjs/hooks/useDisableScroll.js +0 -28
  262. package/styled-components/es/hooks/useDisableScroll.js +0 -22
  263. package/types/hooks/useDisableScroll.d.ts +0 -3
  264. package/types/hooks/useDisableScroll.d.ts.map +0 -1
@@ -105,9 +105,6 @@ var CalendarYears = exports.CalendarYears = function CalendarYears(_ref) {
105
105
  return onHoverYear === null || onHoverYear === void 0 ? void 0 : onHoverYear(undefined);
106
106
  };
107
107
  var getRefs = (0, _react.useCallback)(function (element, i, j) {
108
- if (!outerRefs.current[i + offset]) {
109
- outerRefs.current[i + offset] = [];
110
- }
111
108
  outerRefs.current[i + offset][j] = element;
112
109
  }, [outerRefs]);
113
110
  (0, _react.useEffect)(function () {
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.carouselNewRoot = exports.carouselNewConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("react"));
9
9
  var _Icon = /*#__PURE__*/require("../../_Icon");
10
- var _hooks = /*#__PURE__*/require("../../../hooks");
11
10
  var _Carousel = /*#__PURE__*/require("./Carousel.tokens");
12
11
  var _base = /*#__PURE__*/require("./variations/_size/base");
13
12
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
@@ -34,13 +33,11 @@ var carouselNewRoot = exports.carouselNewRoot = function carouselNewRoot(Root) {
34
33
  var view = _ref.view,
35
34
  size = _ref.size,
36
35
  _ref$scrollAlign = _ref.scrollAlign,
37
- scrollAlign = _ref$scrollAlign === void 0 ? 'start' : _ref$scrollAlign,
36
+ scrollAlign = _ref$scrollAlign === void 0 ? 'center' : _ref$scrollAlign,
38
37
  children = _ref.children,
39
38
  _ref$controlArrowsDis = _ref.controlArrowsDisabled,
40
39
  controlArrowsDisabled = _ref$controlArrowsDis === void 0 ? false : _ref$controlArrowsDis,
41
40
  paginationOptions = _ref.paginationOptions,
42
- _ref$gap = _ref.gap,
43
- gap = _ref$gap === void 0 ? '20px' : _ref$gap,
44
41
  className = _ref.className,
45
42
  style = _ref.style;
46
43
  var _useState = (0, _react.useState)(0),
@@ -56,11 +53,11 @@ var carouselNewRoot = exports.carouselNewRoot = function carouselNewRoot(Root) {
56
53
  };
57
54
  var _useCarousel = (0, _useCarousel2.useCarousel)({
58
55
  index: index,
59
- scrollAlign: scrollAlign
56
+ scrollAlign: scrollAlign,
57
+ onIndexChange: setIndex
60
58
  }),
61
59
  scrollRef = _useCarousel.scrollRef,
62
60
  trackRef = _useCarousel.trackRef;
63
- (0, _hooks.useDisableScroll)(scrollRef);
64
61
  return /*#__PURE__*/_react["default"].createElement(Root, {
65
62
  className: className,
66
63
  style: style,
@@ -68,7 +65,7 @@ var carouselNewRoot = exports.carouselNewRoot = function carouselNewRoot(Root) {
68
65
  view: view,
69
66
  ref: ref
70
67
  }, /*#__PURE__*/_react["default"].createElement(_Carousel2.ControlsWrapper, null, index !== 0 && !controlArrowsDisabled && /*#__PURE__*/_react["default"].createElement(_Carousel2.IconButton, {
71
- className: _Carousel.classes.leftControlButton,
68
+ pin: "circle-circle",
72
69
  onClick: handleClickLeft
73
70
  }, _IconDisclosureLeft || (_IconDisclosureLeft = /*#__PURE__*/_react["default"].createElement(_Icon.IconDisclosureLeft, {
74
71
  size: "m",
@@ -76,10 +73,10 @@ var carouselNewRoot = exports.carouselNewRoot = function carouselNewRoot(Root) {
76
73
  }))), /*#__PURE__*/_react["default"].createElement(_Carousel2.CarouselWrapper, {
77
74
  ref: scrollRef
78
75
  }, /*#__PURE__*/_react["default"].createElement(_Carousel2.CarouselTrack, {
79
- ref: trackRef,
80
- gap: gap
76
+ ref: trackRef
81
77
  }, children)), index !== slidesAmount - 1 && !controlArrowsDisabled && /*#__PURE__*/_react["default"].createElement(_Carousel2.IconButton, {
82
78
  className: _Carousel.classes.rightControlButton,
79
+ pin: "circle-circle",
83
80
  onClick: handleClickRight
84
81
  }, _IconDisclosureRight || (_IconDisclosureRight = /*#__PURE__*/_react["default"].createElement(_Icon.IconDisclosureRight, {
85
82
  size: "m",
@@ -16,16 +16,13 @@ var IconButtonComponent = exports.IconButtonComponent = /*#__PURE__*/(0, _engine
16
16
  var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["position:relative;"]);
17
17
  var CarouselWrapper = exports.CarouselWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
18
18
  componentId: "plasma-new-hope__sc-vln28v-0"
19
- })(["position:relative;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:x mandatory;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);"]);
19
+ })(["position:relative;margin-left:calc(var(--plasma_private-carousel-padding) * -1);margin-right:calc(var(--plasma_private-carousel-padding) * -1);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:x mandatory;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma_private-carousel-padding:0.625rem;"]);
20
20
  var CarouselTrack = exports.CarouselTrack = /*#__PURE__*/_styledComponents["default"].div.withConfig({
21
21
  componentId: "plasma-new-hope__sc-vln28v-1"
22
- })(["display:inline-flex;flex-direction:row;gap:", ";& > div{scroll-snap-align:none;}"], function (_ref) {
23
- var gap = _ref.gap;
24
- return gap;
25
- });
22
+ })(["display:inline-flex;flex-direction:row;"]);
26
23
  var IconButton = exports.IconButton = /*#__PURE__*/(0, _styledComponents["default"])(IconButtonComponent).withConfig({
27
24
  componentId: "plasma-new-hope__sc-vln28v-2"
28
- })(["position:absolute;top:50%;transform:translateY(-50%);left:0.75rem;z-index:10;", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":2.5rem;", ":2.5rem;", ":1rem;", ":var(", ");&.", "{left:auto;right:0.75rem;}"], _IconButton.iconButtonTokens.iconButtonColor, _Carousel.tokens.controlIconButtonColor, _IconButton.iconButtonTokens.iconButtonBackgroundColor, _Carousel.tokens.controlIconButtonBackgroundColor, _IconButton.iconButtonTokens.iconButtonColorHover, _Carousel.tokens.controlIconButtonColorHover, _IconButton.iconButtonTokens.iconButtonBackgroundColorHover, _Carousel.tokens.controlIconButtonBackgroundColorHover, _IconButton.iconButtonTokens.iconButtonColorActive, _Carousel.tokens.controlIconButtonColorActive, _IconButton.iconButtonTokens.iconButtonBackgroundColorActive, _Carousel.tokens.controlIconButtonBackgroundColorActive, _IconButton.iconButtonTokens.iconButtonHeight, _IconButton.iconButtonTokens.iconButtonWidth, _IconButton.iconButtonTokens.iconButtonPadding, _IconButton.iconButtonTokens.iconButtonRadius, _Carousel.tokens.controlIconButtonRadius, _Carousel.classes.rightControlButton);
25
+ })(["position:absolute;top:50%;transform:translateY(-50%);left:0.75rem;z-index:10;", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(", ");", ":var(--surface-transparent-secondary-hover);", ":var(--surface-transparent-secondary-active);", ":2.5rem;", ":2.5rem;", ":1rem;", ":0.625rem;&.", "{left:auto;right:0.75rem;}"], _IconButton.iconButtonTokens.iconButtonColor, _IconButton.iconButtonTokens.iconButtonBackgroundColor, _IconButton.iconButtonTokens.iconButtonLoadingBackgroundColor, _IconButton.iconButtonTokens.iconButtonBackgroundColor, _IconButton.iconButtonTokens.iconButtonBackgroundColorHover, _IconButton.iconButtonTokens.iconButtonBackgroundColorActive, _IconButton.iconButtonTokens.iconButtonHeight, _IconButton.iconButtonTokens.iconButtonWidth, _IconButton.iconButtonTokens.iconButtonPadding, _IconButton.iconButtonTokens.iconButtonRadius, _Carousel.classes.rightControlButton);
29
26
  var ControlsWrapper = exports.ControlsWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
30
27
  componentId: "plasma-new-hope__sc-vln28v-3"
31
28
  })(["position:relative;"]);
@@ -14,17 +14,9 @@ var classes = exports.classes = {
14
14
  shrinking: 'dot-shrinking',
15
15
  availableDotsLeft: 'dot-available-dots-left',
16
16
  availableDotsRight: 'dot-available-dots-right',
17
- leftControlButton: 'carousel-left-control-button',
18
17
  rightControlButton: 'carousel-right-control-button'
19
18
  };
20
19
  var tokens = exports.tokens = {
21
20
  paginationDotBackground: '--plasma-carousel-pagination-dot-background',
22
- paginationDotActiveBackground: '--plasma-carousel-pagination-dot-active-background',
23
- controlIconButtonRadius: '--plasma-carousel-control-icon-button-radius',
24
- controlIconButtonColor: '--plasma-carousel-control-icon-button-color',
25
- controlIconButtonBackgroundColor: '--plasma-carousel-control-icon-button-background-color',
26
- controlIconButtonColorHover: '--plasma-carousel-control-icon-button-color-hover',
27
- controlIconButtonBackgroundColorHover: '--plasma-carousel-control-icon-button-background-color-hover',
28
- controlIconButtonColorActive: '--plasma-carousel-control-icon-button-color-active',
29
- controlIconButtonBackgroundColorActive: '--plasma-carousel-control-icon-button-background-color-active'
21
+ paginationDotActiveBackground: '--plasma-carousel-pagination-dot-active-background'
30
22
  };
@@ -3,69 +3,372 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useCarousel = exports.getCalculatedPos = void 0;
6
+ exports.getCalculatedPos = exports.getCalculatedOffset = exports.animatedScrollToX = void 0;
7
+ exports.getCarouselItems = getCarouselItems;
8
+ exports.useCarousel = exports.scrollToPos = exports.getItemSlot = void 0;
9
+ exports.useDebouncedFunction = useDebouncedFunction;
7
10
  var _react = /*#__PURE__*/require("react");
11
+ var _lodash = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("lodash.throttle"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
8
13
  /**
9
- * Подсчет отступа для скролла до переданного индекса.
14
+ * Подсчет смещения из-за паддингов.
10
15
  */
11
- var getCalculatedPos = exports.getCalculatedPos = function getCalculatedPos(_ref) {
12
- var scrollRef = _ref.scrollRef,
13
- trackRef = _ref.trackRef,
14
- itemsCollection = _ref.itemsCollection,
15
- index = _ref.index,
16
- scrollAlign = _ref.scrollAlign;
17
- var item = itemsCollection.item(index);
18
- if (!item || !trackRef.current || !scrollRef.current) {
19
- return 0;
16
+ var getCalculatedOffset = exports.getCalculatedOffset = function getCalculatedOffset(scrollEl, trackEl) {
17
+ var paddingProp = 'paddingLeft';
18
+ return parseInt(getComputedStyle(scrollEl)[paddingProp], 10) + parseInt(getComputedStyle(trackEl)[paddingProp], 10);
19
+ };
20
+ var positionModByScrollAlign = function positionModByScrollAlign(_ref) {
21
+ var scrollAlign = _ref.scrollAlign,
22
+ position = _ref.position,
23
+ carouselSize = _ref.carouselSize,
24
+ itemSize = _ref.itemSize,
25
+ offset = _ref.offset,
26
+ scrollStart = _ref.scrollStart;
27
+ if (scrollAlign === 'start') {
28
+ var paddingOffset = 0;
29
+ return position + paddingOffset;
20
30
  }
21
- var itemRect = item.getBoundingClientRect();
22
- var trackRect = trackRef.current.getBoundingClientRect();
23
- var scrollRect = scrollRef.current.getBoundingClientRect();
24
- var left = itemRect.left - trackRect.left + trackRef.current.scrollLeft;
25
- switch (scrollAlign) {
26
- case 'start':
27
- {
28
- return left;
29
- }
30
- case 'center':
31
- {
32
- return left - scrollRect.width / 2 + itemRect.width / 2;
33
- }
34
- case 'end':
35
- {
36
- return left - scrollRect.width + itemRect.width;
37
- }
38
- default:
39
- {
40
- return 0;
41
- }
31
+ if (scrollAlign === 'center') {
32
+ return position - carouselSize / 2 + itemSize / 2;
33
+ }
34
+ if (scrollAlign === 'end') {
35
+ return position - carouselSize + itemSize + offset;
36
+ }
37
+ if (scrollAlign === 'activeDirection') {
38
+ if (position >= scrollStart + carouselSize - itemSize) {
39
+ return position - carouselSize + itemSize + offset;
40
+ }
41
+ if (position > scrollStart) {
42
+ return scrollStart;
43
+ }
42
44
  }
45
+ return position;
43
46
  };
44
- var useCarousel = exports.useCarousel = function useCarousel(_ref2) {
45
- var index = _ref2.index,
47
+
48
+ /**
49
+ * Подсчет скролла до переданного индекса.
50
+ */
51
+ var getCalculatedPos = exports.getCalculatedPos = function getCalculatedPos(_ref2) {
52
+ var _items$item$offsetWid2, _items$item2;
53
+ var scrollEl = _ref2.scrollEl,
54
+ items = _ref2.items,
55
+ index = _ref2.index,
56
+ offset = _ref2.offset,
46
57
  scrollAlign = _ref2.scrollAlign;
58
+ var position = scrollAlign === 'center' ? offset : 0;
59
+ if (items.item(index) === null) {
60
+ return position;
61
+ }
62
+ for (var i = 0; i < index; i++) {
63
+ var _items$item$offsetWid, _items$item;
64
+ 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;
65
+ }
66
+ var carouselSize = scrollEl.offsetWidth;
67
+ var itemSize = (_items$item$offsetWid2 = (_items$item2 = items.item(index)) === null || _items$item2 === void 0 ? void 0 : _items$item2.offsetWidth) !== null && _items$item$offsetWid2 !== void 0 ? _items$item$offsetWid2 : 0;
68
+ var scrollStart = scrollEl.scrollLeft;
69
+ return positionModByScrollAlign({
70
+ scrollAlign: scrollAlign,
71
+ position: position,
72
+ carouselSize: carouselSize,
73
+ itemSize: itemSize,
74
+ offset: offset,
75
+ scrollStart: scrollStart
76
+ });
77
+ };
78
+ var DEFAULT_DURATION = 300;
79
+
80
+ // https://css-tricks.com/emulating-css-timing-functions-javascript/
81
+ var tfs = {
82
+ linear: function linear(t) {
83
+ return t;
84
+ },
85
+ // eslint-disable-next-line
86
+ easeIn: function easeIn(t) {
87
+ return Math.pow(t, 1.675);
88
+ },
89
+ // eslint-disable-next-line
90
+ easeOut: function easeOut(t) {
91
+ return 1 - Math.pow(1 - t, 1.675);
92
+ },
93
+ easeInOut: function easeInOut(t) {
94
+ return 0.5 * (Math.sin((t - 0.5) * Math.PI) + 1);
95
+ }
96
+ };
97
+ /**
98
+ * Плавная прокрутка по горизонтали
99
+ * @param {Element} elem
100
+ * @param {number} pos
101
+ * @param {number} duration
102
+ * @param {string} timingFunction
103
+ */
104
+ var animatedScrollToX = exports.animatedScrollToX = function animatedScrollToX(elem, pos) {
105
+ var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_DURATION;
106
+ var timingFunction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'easeInOut';
107
+ var startTime;
108
+ var startX = elem.scrollLeft;
109
+ var endX = Math.max(0, Math.min(elem.scrollWidth - elem.clientWidth, pos));
110
+ var handleNewAnimationFrame = function handleNewAnimationFrame() {
111
+ startTime = startTime || Date.now();
112
+ var timePos = Math.min(1, Math.max(1, Date.now() - startTime) / duration);
113
+ var scrollPos = tfs[timingFunction](timePos);
114
+ var left = startX + (endX - startX) * scrollPos;
115
+ elem.scrollTo({
116
+ left: left
117
+ });
118
+ if (timePos !== 1) window.requestAnimationFrame(handleNewAnimationFrame);
119
+ };
120
+ window.requestAnimationFrame(handleNewAnimationFrame);
121
+ };
122
+
123
+ /**
124
+ * Прокрутка к указанной позиции с анимацией или без.
125
+ */
126
+ var scrollToPos = exports.scrollToPos = function scrollToPos(_ref3) {
127
+ var scrollEl = _ref3.scrollEl,
128
+ pos = _ref3.pos,
129
+ animated = _ref3.animated,
130
+ duration = _ref3.duration,
131
+ timingFunction = _ref3.timingFunction;
132
+ if (Math.abs(pos - scrollEl.scrollLeft) > 1) {
133
+ if (animated) {
134
+ animatedScrollToX(scrollEl, pos, duration, timingFunction);
135
+ } else {
136
+ scrollEl.scrollTo({
137
+ left: pos
138
+ });
139
+ }
140
+ }
141
+ };
142
+ var round = function round(n) {
143
+ return Math.round(n * 100) / 100;
144
+ };
145
+
146
+ /**
147
+ * Получить позицию (слот) айтема в каруселе.
148
+ * Каждый айтем имеет свой слот относительно вьюпорта карусели.
149
+ */
150
+ var getItemSlot = exports.getItemSlot = function getItemSlot(itemIndex, itemEnd, itemSize, scrollStart, scrollSize, scrollAlign) {
151
+ var prevIndex = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
152
+ var offset = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 0;
153
+ /**
154
+ * Граница и центр скролла (видимой части).
155
+ * Смещение + размер.
156
+ */
157
+ var scrollEnd = scrollStart + scrollSize;
158
+ var scrollCenter = scrollStart + scrollSize / 2;
159
+ var itemCenter = itemEnd - itemSize / 2;
160
+ if (scrollAlign === 'center') {
161
+ return round((itemCenter - scrollCenter) / itemSize);
162
+ }
163
+ if (scrollAlign === 'start') {
164
+ return round((itemEnd - itemSize - scrollStart) / itemSize);
165
+ }
166
+ if (scrollAlign === 'end') {
167
+ return round((itemEnd - (scrollSize + scrollStart)) / itemSize);
168
+ }
169
+ if (scrollAlign === 'activeDirection') {
170
+ var prevStart = offset + itemSize * prevIndex;
171
+ var prevEnd = prevStart + itemSize;
172
+ var prevVisible = prevEnd > scrollStart && prevStart < scrollEnd;
173
+ if (!prevVisible) {
174
+ if (prevIndex < itemIndex) {
175
+ return round((itemEnd - (scrollSize + scrollStart)) / itemSize);
176
+ }
177
+ return round((itemEnd - itemSize - scrollStart) / itemSize);
178
+ }
179
+ }
180
+ return null;
181
+ };
182
+ function getCarouselItems(track) {
183
+ return track.children;
184
+ }
185
+ function useDebouncedFunction(func, delay, cleanUp) {
186
+ var timeoutRef = (0, _react.useRef)();
187
+
188
+ /**
189
+ * Очистка таймера
190
+ */
191
+ function clearTimer() {
192
+ if (timeoutRef.current) {
193
+ clearTimeout(timeoutRef.current);
194
+ timeoutRef.current = undefined;
195
+ }
196
+ }
197
+
198
+ /**
199
+ * Очищаем таймер при анмаунте компонента, если cleanUp выставлен в true
200
+ * и тем самым отменяем последний запланированный вызов
201
+ */
202
+ (0, _react.useEffect)(function () {
203
+ return cleanUp ? clearTimer : undefined;
204
+ }, [cleanUp]);
205
+ return function () {
206
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
207
+ args[_key] = arguments[_key];
208
+ }
209
+ clearTimer();
210
+ timeoutRef.current = setTimeout(function () {
211
+ return func.apply(void 0, args);
212
+ }, delay);
213
+ };
214
+ }
215
+ var THROTTLE_DEFAULT_MS = 100;
216
+ var DEBOUNCE_DEFAULT_MS = 150;
217
+ var useCarousel = exports.useCarousel = function useCarousel(_ref4) {
218
+ var index = _ref4.index,
219
+ onIndexChange = _ref4.onIndexChange,
220
+ _ref4$detectActive = _ref4.detectActive,
221
+ detectActive = _ref4$detectActive === void 0 ? false : _ref4$detectActive,
222
+ _ref4$detectThreshold = _ref4.detectThreshold,
223
+ detectThreshold = _ref4$detectThreshold === void 0 ? 0.5 : _ref4$detectThreshold,
224
+ _ref4$scrollAlign = _ref4.scrollAlign,
225
+ scrollAlign = _ref4$scrollAlign === void 0 ? 'center' : _ref4$scrollAlign,
226
+ _ref4$throttleMs = _ref4.throttleMs,
227
+ throttleMs = _ref4$throttleMs === void 0 ? THROTTLE_DEFAULT_MS : _ref4$throttleMs,
228
+ _ref4$debounceMs = _ref4.debounceMs,
229
+ debounceMs = _ref4$debounceMs === void 0 ? DEBOUNCE_DEFAULT_MS : _ref4$debounceMs;
230
+ var prevIndex = (0, _react.useRef)(null);
231
+ var offset = (0, _react.useRef)(0);
47
232
  var scrollRef = (0, _react.useRef)(null);
48
233
  var trackRef = (0, _react.useRef)(null);
234
+ var axis = 'x';
235
+
236
+ /**
237
+ * Для того, чтобы не спамить изменениями индекса.
238
+ * Задержка дебаунса слегка больше, чем у тротлинга.
239
+ * Таким образом, событие срабатывает при завершении скролла.
240
+ */
241
+ var debouncedOnIndexChange = useDebouncedFunction(function (i) {
242
+ return onIndexChange === null || onIndexChange === void 0 ? void 0 : onIndexChange(i);
243
+ }, debounceMs);
244
+
245
+ /**
246
+ * Вычисление центрального элемента.
247
+ * Подсчет: от 0 до 1, какое количество ширины/высоты
248
+ * каждого элемента находится по центру скролла.
249
+ */
250
+ var throttledDetectActiveItem = (0, _react.useMemo)(function () {
251
+ return (0, _lodash["default"])(function () {
252
+ if (!detectActive || scrollRef.current === null || trackRef.current === null) {
253
+ return;
254
+ }
255
+
256
+ /**
257
+ * Правая (или нижняя для Оу) граница элемента.
258
+ */
259
+ var itemEdge = offset.current;
260
+
261
+ /**
262
+ * Смещение (отрицательный или положительный отступ)
263
+ * и размер карусели (для Ox - ширина, для Oy - высота).
264
+ */
265
+ var scrollPos = scrollRef.current[axis === 'x' ? 'scrollLeft' : 'scrollTop'];
266
+ var scrollSize = scrollRef.current[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];
49
267
 
50
- // Прокрутка до нужной позиции индекса, если индекс изменился.
268
+ /**
269
+ * Граница скролла (видимой части).
270
+ * Смещение + размер.
271
+ */
272
+ var scrollEdge = scrollPos + scrollSize;
273
+ var items = getCarouselItems(trackRef.current);
274
+
275
+ /**
276
+ * Проходим по всему списку, суммируя ширины элементов,
277
+ * пока не найдем один элемент, чей центр будет в центре карусели.
278
+ */
279
+ for (var itemIndex = 0; itemIndex < items.length; itemIndex++) {
280
+ var _prevIndex$current;
281
+ var item = items.item(itemIndex);
282
+ if (item === null) {
283
+ // eslint-disable-next-line no-continue
284
+ continue;
285
+ }
286
+
287
+ /**
288
+ * Для Ox - ширина, для Oy - высота.
289
+ */
290
+ var itemSize = item[axis === 'x' ? 'offsetWidth' : 'offsetHeight'];
291
+
292
+ /**
293
+ * Все элементы правее вьюпорта выпадают из процедуры.
294
+ * Сравниваем по предыдущему элементу.
295
+ * [ ... ] ...|n| <- Левый край элемента за пределами начала видимой части
296
+ */
297
+ if (itemEdge > scrollEdge) {
298
+ // eslint-disable-next-line no-continue
299
+ continue;
300
+ }
301
+ itemEdge += itemSize;
302
+
303
+ /**
304
+ * Все элементы левее вьюпорта выпадают из процедуры.
305
+ * Сравниваем по текущему элементу.
306
+ * Правый край элемента за пределами начала видимой части -> |p|... [ ... ]
307
+ */
308
+ if (scrollPos > itemEdge) {
309
+ // eslint-disable-next-line no-continue
310
+ continue;
311
+ }
312
+ var itemSlot = getItemSlot(itemIndex, itemEdge, itemSize, scrollPos, scrollSize, scrollAlign, (_prevIndex$current = prevIndex.current) !== null && _prevIndex$current !== void 0 ? _prevIndex$current : 0, offset.current);
313
+ if (itemSlot !== null) {
314
+ if (detectThreshold && Math.abs(itemSlot) <= detectThreshold) {
315
+ debouncedOnIndexChange === null || debouncedOnIndexChange === void 0 || debouncedOnIndexChange(itemIndex);
316
+ }
317
+ }
318
+ }
319
+ }, throttleMs);
320
+ }, [debouncedOnIndexChange, detectActive, detectThreshold, scrollAlign, throttleMs]);
321
+
322
+ /**
323
+ * Прокрутка до нужной позиции индекса.
324
+ */
325
+ var toIndex = (0, _react.useCallback)(function (i) {
326
+ var scrollEl = scrollRef.current;
327
+ var items = trackRef.current ? getCarouselItems(trackRef.current) : null;
328
+ if (scrollEl && items && items.length > 0 && i >= 0) {
329
+ scrollToPos({
330
+ scrollEl: scrollEl,
331
+ pos: getCalculatedPos({
332
+ scrollEl: scrollEl,
333
+ items: items,
334
+ index: i,
335
+ offset: offset.current,
336
+ scrollAlign: scrollAlign
337
+ })
338
+ });
339
+ prevIndex.current = i;
340
+ }
341
+ }, [scrollAlign]);
51
342
  (0, _react.useEffect)(function () {
52
- if (!scrollRef.current || !trackRef.current) {
53
- return;
343
+ if (scrollRef.current && trackRef.current) {
344
+ offset.current = getCalculatedOffset(scrollRef.current, trackRef.current);
54
345
  }
55
- var itemsCollection = trackRef.current.children;
56
- if (itemsCollection && itemsCollection.length > 0) {
57
- var pos = getCalculatedPos({
58
- scrollRef: scrollRef,
59
- trackRef: trackRef,
60
- itemsCollection: itemsCollection,
61
- index: index,
62
- scrollAlign: scrollAlign
63
- });
64
- scrollRef.current.scrollTo({
65
- left: pos
66
- });
346
+ }, []);
347
+
348
+ /**
349
+ * Операции на маунте/анмаунте компонента.
350
+ * Создать слушатели событи и т.п.
351
+ */
352
+ (0, _react.useEffect)(function () {
353
+ var carouselElement = scrollRef.current;
354
+ if (carouselElement) {
355
+ carouselElement.addEventListener('scroll', throttledDetectActiveItem);
356
+ }
357
+ return function () {
358
+ if (carouselElement) {
359
+ carouselElement.removeEventListener('scroll', throttledDetectActiveItem);
360
+ }
361
+ };
362
+ }, [throttledDetectActiveItem]);
363
+
364
+ /**
365
+ * Прокрутка до нужной позиции индекса, если индекс изменился.
366
+ */
367
+ (0, _react.useEffect)(function () {
368
+ if (index !== prevIndex.current) {
369
+ toIndex(index);
67
370
  }
68
- }, [index]);
371
+ }, [index, toIndex]);
69
372
  return {
70
373
  scrollRef: scrollRef,
71
374
  trackRef: trackRef
@@ -142,33 +142,26 @@ var Dots = exports.Dots = /*#__PURE__*/(0, _react.memo)(function (_ref) {
142
142
  }
143
143
  if (dotsToAdd > 0) {
144
144
  var _loop = function _loop() {
145
- var _dotWrapperRef$curren4;
146
- var node = document.createElement('div');
147
- node.textContent = '';
148
- node.classList.add(_Carousel.classes.dot);
149
- node.style.opacity = '0';
150
- var delay = i * (ANIMATION_DURATION / dotsToAdd);
151
- node.style.animationDelay = "".concat(delay, "s");
152
- rightAnimationWrapperRef.current.appendChild(node);
153
- var duration = ANIMATION_DURATION / dotsToAdd;
154
- requestAnimationFrame(function () {
155
- node.classList.add(_Carousel.classes.animateIn);
156
- node.style.animationDuration = "".concat(duration, "s");
157
- });
158
- var currentDomNode = (_dotWrapperRef$curren4 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren4 === void 0 ? void 0 : _dotWrapperRef$curren4[i];
159
- if (!currentDomNode) {
160
- return {
161
- v: void 0
162
- };
163
- }
164
- currentDomNode.classList.add(_Carousel.classes.animateOut);
165
- currentDomNode.style.animationDelay = "".concat(delay, "s");
166
- currentDomNode.style.animationDuration = "".concat(duration, "s");
167
- },
168
- _ret;
145
+ var _dotWrapperRef$curren4;
146
+ var node = document.createElement('div');
147
+ node.textContent = '';
148
+ node.classList.add(_Carousel.classes.dot);
149
+ node.style.opacity = '0';
150
+ var delay = i * (ANIMATION_DURATION / dotsToAdd);
151
+ node.style.animationDelay = "".concat(delay, "s");
152
+ rightAnimationWrapperRef.current.appendChild(node);
153
+ var duration = ANIMATION_DURATION / dotsToAdd;
154
+ requestAnimationFrame(function () {
155
+ node.classList.add(_Carousel.classes.animateIn);
156
+ node.style.animationDuration = "".concat(duration, "s");
157
+ });
158
+ var currentDomNode = (_dotWrapperRef$curren4 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren4 === void 0 ? void 0 : _dotWrapperRef$curren4[i];
159
+ currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(_Carousel.classes.animateOut);
160
+ currentDomNode.style.animationDelay = "".concat(delay, "s");
161
+ currentDomNode.style.animationDuration = "".concat(duration, "s");
162
+ };
169
163
  for (var i = 0; i < dotsToAdd; i++) {
170
- _ret = _loop();
171
- if (_ret) return _ret.v;
164
+ _loop();
172
165
  }
173
166
  }
174
167
  } else {
@@ -190,33 +183,26 @@ var Dots = exports.Dots = /*#__PURE__*/(0, _react.memo)(function (_ref) {
190
183
  }
191
184
  if (dotsToAdd > 0) {
192
185
  var _loop2 = function _loop2() {
193
- var _dotWrapperRef$curren7;
194
- var node = document.createElement('div');
195
- node.textContent = '';
196
- node.classList.add(_Carousel.classes.dot);
197
- node.style.opacity = '0';
198
- var delay = (dotsToAdd - 1 - _i) * (ANIMATION_DURATION / dotsToAdd);
199
- node.style.animationDelay = "".concat(delay, "s");
200
- leftAnimationWrapperRef.current.prepend(node);
201
- var duration = ANIMATION_DURATION / dotsToAdd;
202
- requestAnimationFrame(function () {
203
- node.classList.add(_Carousel.classes.animateIn);
204
- node.style.animationDuration = "".concat(duration, "s");
205
- });
206
- var currentDomNode = (_dotWrapperRef$curren7 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren7 === void 0 ? void 0 : _dotWrapperRef$curren7[dotWrapperRef.current.children.length - 1 - _i];
207
- if (!currentDomNode) {
208
- return {
209
- v: void 0
210
- };
211
- }
212
- currentDomNode.classList.add(_Carousel.classes.animateOut);
213
- currentDomNode.style.animationDelay = "".concat(_i * (ANIMATION_DURATION / dotsToAdd), "s");
214
- currentDomNode.style.animationDuration = "".concat(duration, "s");
215
- },
216
- _ret2;
186
+ var _dotWrapperRef$curren7;
187
+ var node = document.createElement('div');
188
+ node.textContent = '';
189
+ node.classList.add(_Carousel.classes.dot);
190
+ node.style.opacity = '0';
191
+ var delay = (dotsToAdd - 1 - _i) * (ANIMATION_DURATION / dotsToAdd);
192
+ node.style.animationDelay = "".concat(delay, "s");
193
+ leftAnimationWrapperRef.current.prepend(node);
194
+ var duration = ANIMATION_DURATION / dotsToAdd;
195
+ requestAnimationFrame(function () {
196
+ node.classList.add(_Carousel.classes.animateIn);
197
+ node.style.animationDuration = "".concat(duration, "s");
198
+ });
199
+ var currentDomNode = (_dotWrapperRef$curren7 = dotWrapperRef.current.children) === null || _dotWrapperRef$curren7 === void 0 ? void 0 : _dotWrapperRef$curren7[dotWrapperRef.current.children.length - 1 - _i];
200
+ currentDomNode === null || currentDomNode === void 0 || currentDomNode.classList.add(_Carousel.classes.animateOut);
201
+ currentDomNode.style.animationDelay = "".concat(_i * (ANIMATION_DURATION / dotsToAdd), "s");
202
+ currentDomNode.style.animationDuration = "".concat(duration, "s");
203
+ };
217
204
  for (var _i = dotsToAdd - 1; _i >= 0; _i--) {
218
- _ret2 = _loop2();
219
- if (_ret2) return _ret2.v;
205
+ _loop2();
220
206
  }
221
207
  }
222
208
  }
@@ -13,7 +13,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
13
13
  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; }
14
14
  var StyledItem = /*#__PURE__*/_styledComponents["default"].div.withConfig({
15
15
  componentId: "plasma-new-hope__sc-1b1k2uh-0"
16
- })(["scroll-snap-align:", ";scroll-snap-stop:", ";"], function (_ref) {
16
+ })(["scroll-snap-align:", ";scroll-snap-stop:", ";padding:0 var(--plasma_private-carousel-padding);"], function (_ref) {
17
17
  var scrollSnapAlign = _ref.scrollSnapAlign;
18
18
  return scrollSnapAlign || 'none';
19
19
  }, function (_ref2) {