@redneckz/wildless-cms-uni-blocks 0.6.35 → 0.6.36

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 (494) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +160 -52
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  5. package/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  6. package/bundle/components/Header/HeaderSubMenuItem.d.ts +2 -1
  7. package/bundle/hooks/useIntersectionObserver.d.ts +7 -1
  8. package/bundle/ui-kit/Button/ArrowButton.d.ts +2 -0
  9. package/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  10. package/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  11. package/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  12. package/bundle/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  13. package/bundle/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  14. package/bundle/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  15. package/bundle/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  16. package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  17. package/bundle/utils/areArraysEqual.d.ts +1 -0
  18. package/bundle/utils/mapChildren.d.ts +2 -0
  19. package/bundle/utils/maxBy.d.ts +2 -2
  20. package/bundle/utils/minBy.d.ts +1 -0
  21. package/dist/components/Blocks.js +3 -1
  22. package/dist/components/Blocks.js.map +1 -1
  23. package/dist/components/Carousel/Carousel.js +14 -15
  24. package/dist/components/Carousel/Carousel.js.map +1 -1
  25. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  26. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +12 -0
  27. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  28. package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  29. package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  30. package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  31. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
  32. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  33. package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  34. package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  35. package/dist/components/Gallery/Gallery.mobile.js +1 -1
  36. package/dist/components/Header/HeaderSubMenu.js +1 -1
  37. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  38. package/dist/components/Header/HeaderSubMenuItem.d.ts +2 -1
  39. package/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  40. package/dist/components/RollupItem/RollupItem.js +10 -1
  41. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  42. package/dist/hooks/useIntersectionObserver.d.ts +7 -1
  43. package/dist/hooks/useIntersectionObserver.js +10 -1
  44. package/dist/hooks/useIntersectionObserver.js.map +1 -1
  45. package/dist/hooks/useLink.js +1 -1
  46. package/dist/hooks/useLink.js.map +1 -1
  47. package/dist/ui-kit/BlockWrapper.js +1 -11
  48. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  49. package/dist/ui-kit/Button/ArrowButton.d.ts +2 -0
  50. package/dist/ui-kit/Button/ArrowButton.js +3 -1
  51. package/dist/ui-kit/Button/ArrowButton.js.map +1 -1
  52. package/dist/ui-kit/Foldable/FoldableSection.js +1 -1
  53. package/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  54. package/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  55. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +35 -0
  56. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  57. package/dist/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  58. package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  59. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  60. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  61. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  62. package/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  63. package/dist/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  64. package/dist/ui-kit/SwipeListControl/SwipeListItem.js +16 -0
  65. package/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  66. package/dist/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  67. package/dist/ui-kit/SwipeListControl/scrollBy.js +8 -0
  68. package/dist/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  69. package/dist/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  70. package/dist/ui-kit/SwipeListControl/scrollToEnd.js +7 -0
  71. package/dist/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  72. package/dist/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  73. package/dist/ui-kit/SwipeListControl/scrollToStart.js +7 -0
  74. package/dist/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  75. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  76. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +57 -0
  77. package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  78. package/dist/utils/areArraysEqual.d.ts +1 -0
  79. package/dist/utils/areArraysEqual.js +5 -0
  80. package/dist/utils/areArraysEqual.js.map +1 -0
  81. package/dist/utils/mapChildren.d.ts +2 -0
  82. package/dist/utils/mapChildren.js +10 -0
  83. package/dist/utils/mapChildren.js.map +1 -0
  84. package/dist/utils/maxBy.d.ts +2 -2
  85. package/dist/utils/maxBy.js +4 -4
  86. package/dist/utils/maxBy.js.map +1 -1
  87. package/dist/utils/minBy.d.ts +1 -0
  88. package/dist/utils/minBy.js +6 -0
  89. package/dist/utils/minBy.js.map +1 -0
  90. package/lib/common.css +1 -1
  91. package/lib/components/Blocks.js +3 -1
  92. package/lib/components/Blocks.js.map +1 -1
  93. package/lib/components/Carousel/Carousel.fixture.d.ts +1 -0
  94. package/lib/components/Carousel/Carousel.js +14 -15
  95. package/lib/components/Carousel/Carousel.js.map +1 -1
  96. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  97. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.fixture.d.ts +8 -0
  98. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +10 -0
  99. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  100. package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  101. package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  102. package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  103. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.fixture.d.ts +1 -1
  104. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
  105. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  106. package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
  107. package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
  108. package/lib/components/Gallery/Gallery.mobile.js +1 -1
  109. package/lib/components/Header/HeaderSubMenu.js +1 -1
  110. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  111. package/lib/components/Header/HeaderSubMenuItem.d.ts +2 -1
  112. package/lib/components/Header/HeaderSubMenuItem.js +1 -1
  113. package/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  114. package/lib/components/RollupItem/RollupItem.js +10 -1
  115. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  116. package/lib/hooks/useIntersectionObserver.d.ts +7 -1
  117. package/lib/hooks/useIntersectionObserver.js +11 -2
  118. package/lib/hooks/useIntersectionObserver.js.map +1 -1
  119. package/lib/hooks/useLink.js +2 -2
  120. package/lib/hooks/useLink.js.map +1 -1
  121. package/lib/ui-kit/BlockWrapper.js +1 -11
  122. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  123. package/lib/ui-kit/Button/ArrowButton.d.ts +2 -0
  124. package/lib/ui-kit/Button/ArrowButton.js +2 -0
  125. package/lib/ui-kit/Button/ArrowButton.js.map +1 -1
  126. package/lib/ui-kit/Foldable/FoldableSection.js +1 -1
  127. package/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  128. package/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  129. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +33 -0
  130. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  131. package/lib/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  132. package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  133. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  134. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  135. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  136. package/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  137. package/lib/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  138. package/lib/ui-kit/SwipeListControl/SwipeListItem.js +14 -0
  139. package/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  140. package/lib/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  141. package/lib/ui-kit/SwipeListControl/scrollBy.js +5 -0
  142. package/lib/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  143. package/lib/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  144. package/lib/ui-kit/SwipeListControl/scrollToEnd.js +4 -0
  145. package/lib/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  146. package/lib/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  147. package/lib/ui-kit/SwipeListControl/scrollToStart.js +4 -0
  148. package/lib/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  149. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  150. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +54 -0
  151. package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  152. package/lib/utils/areArraysEqual.d.ts +1 -0
  153. package/lib/utils/areArraysEqual.js +2 -0
  154. package/lib/utils/areArraysEqual.js.map +1 -0
  155. package/lib/utils/mapChildren.d.ts +2 -0
  156. package/lib/utils/mapChildren.js +7 -0
  157. package/lib/utils/mapChildren.js.map +1 -0
  158. package/lib/utils/maxBy.d.ts +2 -2
  159. package/lib/utils/maxBy.js +2 -2
  160. package/lib/utils/maxBy.js.map +1 -1
  161. package/lib/utils/minBy.d.ts +1 -0
  162. package/lib/utils/minBy.js +3 -0
  163. package/lib/utils/minBy.js.map +1 -0
  164. package/mobile/bundle/bundle.umd.js +141 -140
  165. package/mobile/bundle/bundle.umd.min.js +1 -1
  166. package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  167. package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  168. package/mobile/bundle/components/Header/HeaderSubMenuItem.d.ts +2 -1
  169. package/mobile/bundle/hooks/useIntersectionObserver.d.ts +7 -1
  170. package/mobile/bundle/ui-kit/Button/ArrowButton.d.ts +2 -0
  171. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  172. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  173. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  174. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  175. package/mobile/bundle/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  176. package/mobile/bundle/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  177. package/mobile/bundle/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  178. package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  179. package/mobile/bundle/utils/areArraysEqual.d.ts +1 -0
  180. package/mobile/bundle/utils/mapChildren.d.ts +2 -0
  181. package/mobile/bundle/utils/maxBy.d.ts +2 -2
  182. package/mobile/bundle/utils/minBy.d.ts +1 -0
  183. package/mobile/dist/components/Carousel/Carousel.js +14 -15
  184. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  185. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  186. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +12 -0
  187. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  188. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  189. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  190. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  191. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
  192. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  193. package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  194. package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  195. package/mobile/dist/components/Gallery/Gallery.js +1 -1
  196. package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
  197. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  198. package/mobile/dist/components/Header/HeaderSubMenuItem.d.ts +2 -1
  199. package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  200. package/mobile/dist/components/RollupItem/RollupItem.js +10 -1
  201. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  202. package/mobile/dist/hooks/useIntersectionObserver.d.ts +7 -1
  203. package/mobile/dist/hooks/useIntersectionObserver.js +10 -1
  204. package/mobile/dist/hooks/useIntersectionObserver.js.map +1 -1
  205. package/mobile/dist/hooks/useLink.js +1 -1
  206. package/mobile/dist/hooks/useLink.js.map +1 -1
  207. package/mobile/dist/ui-kit/BlockWrapper.js +1 -11
  208. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  209. package/mobile/dist/ui-kit/Button/ArrowButton.d.ts +2 -0
  210. package/mobile/dist/ui-kit/Button/ArrowButton.js +3 -1
  211. package/mobile/dist/ui-kit/Button/ArrowButton.js.map +1 -1
  212. package/mobile/dist/ui-kit/Foldable/FoldableSection.js +1 -1
  213. package/mobile/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  214. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  215. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +35 -0
  216. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  217. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  218. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  219. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  220. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  221. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  222. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  223. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  224. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js +16 -0
  225. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  226. package/mobile/dist/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  227. package/mobile/dist/ui-kit/SwipeListControl/scrollBy.js +8 -0
  228. package/mobile/dist/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  229. package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  230. package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.js +7 -0
  231. package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  232. package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  233. package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.js +7 -0
  234. package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  235. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  236. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +57 -0
  237. package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  238. package/mobile/dist/utils/areArraysEqual.d.ts +1 -0
  239. package/mobile/dist/utils/areArraysEqual.js +5 -0
  240. package/mobile/dist/utils/areArraysEqual.js.map +1 -0
  241. package/mobile/dist/utils/mapChildren.d.ts +2 -0
  242. package/mobile/dist/utils/mapChildren.js +10 -0
  243. package/mobile/dist/utils/mapChildren.js.map +1 -0
  244. package/mobile/dist/utils/maxBy.d.ts +2 -2
  245. package/mobile/dist/utils/maxBy.js +4 -4
  246. package/mobile/dist/utils/maxBy.js.map +1 -1
  247. package/mobile/dist/utils/minBy.d.ts +1 -0
  248. package/mobile/dist/utils/minBy.js +6 -0
  249. package/mobile/dist/utils/minBy.js.map +1 -0
  250. package/mobile/lib/components/Carousel/Carousel.js +14 -15
  251. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  252. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
  253. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +10 -0
  254. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
  255. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
  256. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
  257. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
  258. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
  259. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  260. package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  261. package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  262. package/mobile/lib/components/Gallery/Gallery.js +1 -1
  263. package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
  264. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  265. package/mobile/lib/components/Header/HeaderSubMenuItem.d.ts +2 -1
  266. package/mobile/lib/components/Header/HeaderSubMenuItem.js +1 -1
  267. package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  268. package/mobile/lib/components/RollupItem/RollupItem.js +10 -1
  269. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  270. package/mobile/lib/hooks/useIntersectionObserver.d.ts +7 -1
  271. package/mobile/lib/hooks/useIntersectionObserver.js +11 -2
  272. package/mobile/lib/hooks/useIntersectionObserver.js.map +1 -1
  273. package/mobile/lib/hooks/useLink.js +2 -2
  274. package/mobile/lib/hooks/useLink.js.map +1 -1
  275. package/mobile/lib/ui-kit/BlockWrapper.js +1 -11
  276. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  277. package/mobile/lib/ui-kit/Button/ArrowButton.d.ts +2 -0
  278. package/mobile/lib/ui-kit/Button/ArrowButton.js +2 -0
  279. package/mobile/lib/ui-kit/Button/ArrowButton.js.map +1 -1
  280. package/mobile/lib/ui-kit/Foldable/FoldableSection.js +1 -1
  281. package/mobile/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  282. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
  283. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +33 -0
  284. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
  285. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
  286. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  287. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
  288. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
  289. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  290. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
  291. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
  292. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js +14 -0
  293. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
  294. package/mobile/lib/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
  295. package/mobile/lib/ui-kit/SwipeListControl/scrollBy.js +5 -0
  296. package/mobile/lib/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
  297. package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
  298. package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.js +4 -0
  299. package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
  300. package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
  301. package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.js +4 -0
  302. package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
  303. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
  304. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +54 -0
  305. package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
  306. package/mobile/lib/utils/areArraysEqual.d.ts +1 -0
  307. package/mobile/lib/utils/areArraysEqual.js +2 -0
  308. package/mobile/lib/utils/areArraysEqual.js.map +1 -0
  309. package/mobile/lib/utils/mapChildren.d.ts +2 -0
  310. package/mobile/lib/utils/mapChildren.js +7 -0
  311. package/mobile/lib/utils/mapChildren.js.map +1 -0
  312. package/mobile/lib/utils/maxBy.d.ts +2 -2
  313. package/mobile/lib/utils/maxBy.js +2 -2
  314. package/mobile/lib/utils/maxBy.js.map +1 -1
  315. package/mobile/lib/utils/minBy.d.ts +1 -0
  316. package/mobile/lib/utils/minBy.js +3 -0
  317. package/mobile/lib/utils/minBy.js.map +1 -0
  318. package/mobile/src/common.css +0 -7
  319. package/mobile/src/components/Carousel/Carousel.tsx +41 -23
  320. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.example.json +25 -0
  321. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +36 -0
  322. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.ui.json +1 -0
  323. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +13 -0
  324. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +44 -43
  325. package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
  326. package/mobile/src/components/Gallery/Gallery.tsx +1 -1
  327. package/mobile/src/components/Header/HeaderSubMenu.tsx +2 -4
  328. package/mobile/src/components/Header/HeaderSubMenuItem.tsx +5 -2
  329. package/mobile/src/components/RollupItem/RollupItem.tsx +10 -1
  330. package/mobile/src/hooks/useIntersectionObserver.ts +23 -2
  331. package/mobile/src/hooks/useLink.ts +2 -2
  332. package/mobile/src/ui-kit/BlockWrapper.tsx +1 -16
  333. package/mobile/src/ui-kit/Button/ArrowButton.tsx +13 -0
  334. package/mobile/src/ui-kit/Foldable/FoldableSection.tsx +3 -1
  335. package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +97 -0
  336. package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +31 -55
  337. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +25 -59
  338. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +3 -3
  339. package/mobile/src/ui-kit/SwipeListControl/SwipeListItem.tsx +44 -0
  340. package/mobile/src/ui-kit/SwipeListControl/scrollBy.ts +10 -0
  341. package/mobile/src/ui-kit/SwipeListControl/scrollToEnd.ts +3 -0
  342. package/mobile/src/ui-kit/SwipeListControl/scrollToStart.ts +3 -0
  343. package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +84 -0
  344. package/mobile/src/utils/areArraysEqual.ts +2 -0
  345. package/mobile/src/utils/mapChildren.ts +11 -0
  346. package/mobile/src/utils/maxBy.ts +3 -4
  347. package/mobile/src/utils/minBy.ts +5 -0
  348. package/package.json +2 -2
  349. package/src/common.css +0 -7
  350. package/src/components/Blocks.ts +3 -1
  351. package/src/components/Carousel/Carousel.fixture.tsx +20 -0
  352. package/src/components/Carousel/Carousel.tsx +41 -23
  353. package/src/components/CarouselProgramsCard/CarouselProgramsCard.example.json +25 -0
  354. package/src/components/CarouselProgramsCard/CarouselProgramsCard.fixture.tsx +38 -0
  355. package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +36 -0
  356. package/src/components/CarouselProgramsCard/CarouselProgramsCard.ui.json +1 -0
  357. package/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +13 -0
  358. package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.tsx +2 -2
  359. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +44 -43
  360. package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +1 -1
  361. package/src/components/Gallery/Gallery.mobile.tsx +1 -1
  362. package/src/components/Header/HeaderSubMenu.tsx +2 -4
  363. package/src/components/Header/HeaderSubMenuItem.tsx +5 -2
  364. package/src/components/RollupItem/RollupItem.tsx +10 -1
  365. package/src/hooks/useIntersectionObserver.ts +23 -2
  366. package/src/hooks/useLink.ts +2 -2
  367. package/src/ui-kit/BlockWrapper.tsx +1 -16
  368. package/src/ui-kit/Button/ArrowButton.tsx +13 -0
  369. package/src/ui-kit/Foldable/FoldableSection.tsx +3 -1
  370. package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +97 -0
  371. package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +31 -55
  372. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +25 -59
  373. package/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +3 -3
  374. package/src/ui-kit/SwipeListControl/SwipeListItem.tsx +44 -0
  375. package/src/ui-kit/SwipeListControl/scrollBy.ts +10 -0
  376. package/src/ui-kit/SwipeListControl/scrollToEnd.ts +3 -0
  377. package/src/ui-kit/SwipeListControl/scrollToStart.ts +3 -0
  378. package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +84 -0
  379. package/src/utils/areArraysEqual.ts +2 -0
  380. package/src/utils/mapChildren.ts +11 -0
  381. package/src/utils/maxBy.ts +3 -4
  382. package/src/utils/minBy.ts +5 -0
  383. package/bundle/components/Carousel/CarouselContainer.d.ts +0 -10
  384. package/bundle/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  385. package/bundle/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  386. package/bundle/ui-kit/SwipeListControl/constants.d.ts +0 -2
  387. package/bundle/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  388. package/bundle/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  389. package/bundle/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  390. package/dist/components/Carousel/CarouselContainer.d.ts +0 -10
  391. package/dist/components/Carousel/CarouselContainer.js +0 -14
  392. package/dist/components/Carousel/CarouselContainer.js.map +0 -1
  393. package/dist/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  394. package/dist/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -8
  395. package/dist/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  396. package/dist/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  397. package/dist/ui-kit/SwipeListControl/SwipeListControlList.js +0 -11
  398. package/dist/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  399. package/dist/ui-kit/SwipeListControl/constants.d.ts +0 -2
  400. package/dist/ui-kit/SwipeListControl/constants.js +0 -12
  401. package/dist/ui-kit/SwipeListControl/constants.js.map +0 -1
  402. package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  403. package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -13
  404. package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  405. package/dist/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  406. package/dist/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -19
  407. package/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  408. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  409. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -33
  410. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  411. package/lib/components/Carousel/CarouselContainer.d.ts +0 -10
  412. package/lib/components/Carousel/CarouselContainer.js +0 -12
  413. package/lib/components/Carousel/CarouselContainer.js.map +0 -1
  414. package/lib/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  415. package/lib/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -6
  416. package/lib/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  417. package/lib/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  418. package/lib/ui-kit/SwipeListControl/SwipeListControlList.js +0 -9
  419. package/lib/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  420. package/lib/ui-kit/SwipeListControl/constants.d.ts +0 -2
  421. package/lib/ui-kit/SwipeListControl/constants.js +0 -10
  422. package/lib/ui-kit/SwipeListControl/constants.js.map +0 -1
  423. package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  424. package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -10
  425. package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  426. package/lib/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -7
  427. package/lib/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -16
  428. package/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  429. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -11
  430. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -30
  431. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  432. package/mobile/bundle/components/Carousel/CarouselContainer.d.ts +0 -10
  433. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  434. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  435. package/mobile/bundle/ui-kit/SwipeListControl/constants.d.ts +0 -2
  436. package/mobile/bundle/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  437. package/mobile/bundle/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  438. package/mobile/bundle/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  439. package/mobile/dist/components/Carousel/CarouselContainer.d.ts +0 -10
  440. package/mobile/dist/components/Carousel/CarouselContainer.js +0 -14
  441. package/mobile/dist/components/Carousel/CarouselContainer.js.map +0 -1
  442. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  443. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -8
  444. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  445. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  446. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.js +0 -11
  447. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  448. package/mobile/dist/ui-kit/SwipeListControl/constants.d.ts +0 -2
  449. package/mobile/dist/ui-kit/SwipeListControl/constants.js +0 -12
  450. package/mobile/dist/ui-kit/SwipeListControl/constants.js.map +0 -1
  451. package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  452. package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -13
  453. package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  454. package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  455. package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -19
  456. package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  457. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  458. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -33
  459. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  460. package/mobile/lib/components/Carousel/CarouselContainer.d.ts +0 -10
  461. package/mobile/lib/components/Carousel/CarouselContainer.js +0 -12
  462. package/mobile/lib/components/Carousel/CarouselContainer.js.map +0 -1
  463. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
  464. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -6
  465. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
  466. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
  467. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.js +0 -9
  468. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
  469. package/mobile/lib/ui-kit/SwipeListControl/constants.d.ts +0 -2
  470. package/mobile/lib/ui-kit/SwipeListControl/constants.js +0 -10
  471. package/mobile/lib/ui-kit/SwipeListControl/constants.js.map +0 -1
  472. package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
  473. package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -10
  474. package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
  475. package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
  476. package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -16
  477. package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
  478. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
  479. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -30
  480. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
  481. package/mobile/src/components/Carousel/CarouselContainer.tsx +0 -34
  482. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlItem.tsx +0 -24
  483. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlList.tsx +0 -50
  484. package/mobile/src/ui-kit/SwipeListControl/constants.ts +0 -10
  485. package/mobile/src/ui-kit/SwipeListControl/utils/getContainerStyle.ts +0 -9
  486. package/mobile/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +0 -25
  487. package/mobile/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +0 -49
  488. package/src/components/Carousel/CarouselContainer.tsx +0 -34
  489. package/src/ui-kit/SwipeListControl/SwipeListControlItem.tsx +0 -24
  490. package/src/ui-kit/SwipeListControl/SwipeListControlList.tsx +0 -50
  491. package/src/ui-kit/SwipeListControl/constants.ts +0 -10
  492. package/src/ui-kit/SwipeListControl/utils/getContainerStyle.ts +0 -9
  493. package/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +0 -25
  494. package/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +0 -49
@@ -305,8 +305,10 @@
305
305
  }
306
306
  }
307
307
 
308
- function useIntersectionObserver(observerCallback, observerOptions) {
308
+ const SENSITIVITY_SCALE = 10;
309
+ function useIntersectionObserver(observerCallback, { sensitivity, rootRef } = {}) {
309
310
  const ref = useRef(null);
311
+ const observerOptions = useMemo(() => ({ threshold: sensitivityToThreshold(sensitivity), root: rootRef?.current }), [sensitivity, rootRef?.current]);
310
312
  useEffect(() => {
311
313
  if (!ref.current) {
312
314
  return undefined;
@@ -319,6 +321,13 @@
319
321
  }, [observerCallback, observerOptions]);
320
322
  return ref;
321
323
  }
324
+ function sensitivityToThreshold(sensitivity = 0) {
325
+ const thresholdsCount = Math.round(sensitivity * SENSITIVITY_SCALE);
326
+ return new Array(thresholdsCount)
327
+ .fill(0)
328
+ .map((_, thi) => Math.min(thi / thresholdsCount), 1)
329
+ .concat(1);
330
+ }
322
331
 
323
332
  const changeHashOnObserve = ({ anchor, anchorClickRef }) => (entries) => {
324
333
  if (!entries?.length) {
@@ -337,19 +346,13 @@
337
346
  }
338
347
  };
339
348
 
340
- const THRESHOLD_ACCURACY = 100; // Decimals number (100 is for two decimals number, 0.**)
341
- const THRESHOLD_ARRAY_LENGTH = 18;
342
- const THRESHOLD_ARRAY_START_VALUE = (THRESHOLD_ACCURACY - THRESHOLD_ARRAY_LENGTH) / THRESHOLD_ACCURACY;
343
- const OBSERVER_OPTIONS = {
344
- threshold: new Array(THRESHOLD_ARRAY_LENGTH).fill(0).map(getIntersectionThreshold),
345
- };
346
349
  const BlockWrapper = JSX(({ className, block, tag = 'section', role, children }) => {
347
350
  const Tag = tag;
348
351
  const { anchor, labels } = block || {};
349
352
  const [isVisible, setVisible] = useState(true);
350
353
  const anchorClickRef = useRef({});
351
354
  const observerCallback = useMemo(() => changeHashOnObserve({ anchor, anchorClickRef }), [anchor]);
352
- const ref = useIntersectionObserver(observerCallback, OBSERVER_OPTIONS);
355
+ const ref = useIntersectionObserver(observerCallback, { sensitivity: 1 });
353
356
  useEffect(() => EventBus.inst.subscribe('anchorClick', (e) => {
354
357
  setVisible(true);
355
358
  anchorClickRef.current = e;
@@ -366,10 +369,6 @@
366
369
  }), []);
367
370
  return isVisible ? (jsx(Tag, { className: className, role: role, ...(anchor ? { id: anchor, ref } : {}), children: children })) : null;
368
371
  });
369
- function getIntersectionThreshold(_, i) {
370
- const value = (i + 1) / THRESHOLD_ACCURACY + THRESHOLD_ARRAY_START_VALUE;
371
- return Math.round(value * THRESHOLD_ACCURACY) / THRESHOLD_ACCURACY;
372
- }
373
372
  function changeHash(label) {
374
373
  if (label) {
375
374
  globalThis.document.location.hash = label;
@@ -429,7 +428,7 @@
429
428
  : '';
430
429
  }
431
430
  }, [isUnfolded, children?.length]);
432
- return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden max-h-0 ${className}`, children: children }));
431
+ return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} ${className}`, children: children }));
433
432
  });
434
433
 
435
434
  const svgUseStyleMap = {
@@ -522,142 +521,146 @@
522
521
  AccordionItem.childrenTypes = [];
523
522
  const FoldButton = JSX(({ className, icon, label, primaryIcon, onClick }) => (jsxs("button", { className: `border-none bg-transparent flex justify-between text-left w-full font-sans text-primary-text group cursor-pointer ${className}`, onClick: onClick, children: [jsxs("div", { className: "flex group-hover:text-primary-main", children: [primaryIcon ? (jsx(Img, { image: getIconWithVersion(primaryIcon), className: "mr-3 flex-shrink-0", width: "24", height: "24", asSVG: true })) : null, jsx(Text, { size: "text-m-title-xs", font: "font-medium", children: label })] }), jsx(Img, { className: "flex-shrink-0", image: getIconWithVersion({ icon: icon }), width: "24", height: "24", asSVG: true })] })));
524
523
 
525
- // column-gap between children of SwipeListControl container
526
- const DEFAULT_GAP = 14;
527
- /*
528
- Horizontal padding used on a container above SwipeListControl.
529
- Same value used on a SwipeListControlChildren container to compensate it
530
- and get rid of a clipping effect caused by overflow: hidden.
531
- */
532
- const DEFAULT_PADDING = 16;
533
- // Classes used to compensate outer container padding, so that child elements won't be clipped
534
-
535
- const DOT_STYLES = 'bg-primary-main opacity-30 w-1.5 h-1.5 min-w-1.5 min-h-1.5 rounded-full';
536
- const BASE_DOT_WIDTH = 6;
537
- const ACTIVE_DOT_WIDTH_CHANGE = 16;
538
- const BASE_DOT_OPACITY = 0.3;
539
- const ACTIVE_DOT_OPACITY_CHANGE = 0.7;
540
- const SwipeListControlDots = JSX(({ children, activeIndex, indexFraction, showDots }) => {
541
- const handleClick = useCallback((idx) => (e) => {
542
- if (idx === activeIndex) {
543
- return;
544
- }
545
- const contentContainer = e.currentTarget.parentElement
546
- ?.previousElementSibling;
547
- contentContainer?.children[idx]?.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
548
- }, [activeIndex]);
549
- return showDots && children ? (jsx("div", { className: "flex gap-2 mx-auto mt-5 w-fit", children: children.length && children.map ? (children.map((_, idx) => (jsx("div", { onClick: handleClick(idx), className: DOT_STYLES, style: getDotStyles(idx, activeIndex, indexFraction), "aria-hidden": true }, String(idx))))) : (jsx("div", { className: DOT_STYLES, style: createDotStyle(1) })) })) : null;
550
- });
551
- const getDotStyles = (currentIdx, activeIndex, indexFraction) => {
552
- if (currentIdx < activeIndex || currentIdx > activeIndex + 1) {
553
- return undefined;
524
+ const mapChildren = (mapper) => (children) => {
525
+ if (children === null || children === undefined) {
526
+ return children;
554
527
  }
555
- const leftIndexMod = 1 - indexFraction;
556
- const rightIndexMod = indexFraction;
557
- return createDotStyle(currentIdx === activeIndex ? leftIndexMod : rightIndexMod);
528
+ return Array.isArray(children) ? children.map(mapper) : mapper(children, 0);
558
529
  };
559
- const createDotStyle = (indexModifier) => ({
560
- opacity: `${BASE_DOT_OPACITY + ACTIVE_DOT_OPACITY_CHANGE * indexModifier}`,
561
- width: `${BASE_DOT_WIDTH + ACTIVE_DOT_WIDTH_CHANGE * indexModifier}px`,
562
- });
563
530
 
564
- const SwipeListControlItem = JSX(({ className = '', children, ...rest }) => {
565
- return (jsx("div", { className: `snap-center snap-always min-w-full box-border ${className}`, role: "listitem", ...rest, children: children }));
531
+ const SwipeListItem = JSX(({ className = '', style, idx, activeIndex, observerOptions, children, onIntersection }) => {
532
+ const observerCallback = useCallback((entries) => {
533
+ if (entries.length && onIntersection) {
534
+ onIntersection(idx || 0, entries[entries.length - 1]);
535
+ }
536
+ }, [onIntersection, idx]);
537
+ const ref = useIntersectionObserver(observerCallback, observerOptions);
538
+ return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, role: "listitem", "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
566
539
  });
567
540
 
568
- // styles used to compensate outer container padding to get rid of clipping effect
569
- const getContainerStyle = (padding) => {
570
- return {
571
- marginLeft: `${-padding}px`,
572
- marginRight: `${-padding}px`,
573
- paddingLeft: `${padding}px`,
574
- paddingRight: `${padding}px`,
541
+ const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]'];
542
+ const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount, gap = 0, padding = 0, snapAlign = 'snap-center', children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
543
+ const observerOptions = {
544
+ sensitivity: 1,
545
+ rootRef: containerRef,
575
546
  };
576
- };
577
-
578
- const SwipeListControlList = JSX(({ className = '', activeIndex = -1, gap = DEFAULT_GAP, padding = DEFAULT_PADDING, children, onScroll, }) => {
579
- return children ? (jsx("div", { className: `overflow-auto flex horizontal-list no-scrollbar ${className}`, style: { ...getContainerStyle(padding), gap: `${gap}px` }, role: "list", onScroll: onScroll, children: children.length && children.map ? (children.map((child, idx) => (jsx(SwipeListControlItem, { style: getContainerStyle(padding / 4), "aria-current": Boolean(activeIndex === idx), children: child }, String(idx))))) : (jsx(SwipeListControlItem, { style: getContainerStyle(padding / 4), "aria-current": true, children: children })) })) : null;
547
+ const itemsVisibilityListRef = useRef([]);
548
+ const handleIntersection = useCallback((idx, entry) => {
549
+ const itemsVisibilityList = [...(itemsVisibilityListRef.current || [])];
550
+ itemsVisibilityList[idx] = entry;
551
+ itemsVisibilityListRef.current = itemsVisibilityList;
552
+ onVisibleItemsChange && onVisibleItemsChange(itemsVisibilityList);
553
+ onVisibleIndicesChange && onVisibleIndicesChange(getVisibleIndices(itemsVisibilityList));
554
+ }, [onVisibleItemsChange, onVisibleIndicesChange]);
555
+ return (jsx("div", { className: `box-border overflow-auto flex horizontal-list no-scrollbar ${className}`, style: { ...getContainerStyle(padding), gap: `${gap}px` }, role: "list", ref: containerRef, children: mapChildren((child, idx) => (jsx(SwipeListItem, { className: `${snapAlign} ${visibleItemCount ? childStyleMap[visibleItemCount - 1] : ''}`, style: getContainerStyle(padding / 4), activeIndex: activeIndex, idx: idx, observerOptions: observerOptions, onIntersection: handleIntersection, children: child }, String(idx))))(children) }));
556
+ });
557
+ // Styles used to compensate outer container padding to get rid of clipping effect
558
+ const getContainerStyle = (padding) => ({
559
+ marginLeft: `${-padding}px`,
560
+ marginRight: `${-padding}px`,
561
+ paddingLeft: `${padding}px`,
562
+ paddingRight: `${padding}px`,
563
+ });
564
+ const getVisibleIndices = (itemsVisibilityList) => itemsVisibilityList
565
+ .map((_, i) => [_, i])
566
+ .filter(([_]) => _ && _.intersectionRatio >= 0.9)
567
+ .map(([, i]) => i);
568
+
569
+ const dotStyle = 'cursor-pointer bg-primary-main h-2 rounded-full transition-width duration-300';
570
+ const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0 }) => {
571
+ const handleClick = (idx) => {
572
+ if (idx !== activeIndex && containerRef?.current) {
573
+ containerRef.current.children[idx]?.scrollIntoView({
574
+ behavior: 'smooth',
575
+ block: 'nearest',
576
+ });
577
+ }
578
+ };
579
+ return dotCount ? (jsx("div", { className: "flex gap-2 mx-auto mt-5 w-fit", children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? 'w-6' : 'w-2 opacity-30'}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
580
580
  });
581
581
 
582
- /*
583
- Returns object containing whole index part, and it's decimal part for a given
584
- scrollLeft value of a container and an array of tuple containing values of a
585
- start and end boundaries of a scrollable child, right boundary non-inclusive.
586
- Returns object with index equal -1 and fraction equal 0 if scrollLeft is outside given scrollPoints
587
- */
588
- const getIndexParts = (scrollLeft, scrollPoints) => {
589
- const index = scrollPoints.findIndex(([pointStart, pointEnd]) => pointStart <= scrollLeft && scrollLeft < pointEnd);
590
- if (index < 0) {
591
- return { index, fraction: 0 };
592
- }
593
- const [start, end] = scrollPoints[index];
594
- const fraction = (scrollLeft - start) / (end - start);
595
- return { index, fraction };
582
+ const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
583
+
584
+ const defaultDiscriminator = (_) => _;
585
+ const maxBy = (discriminator = defaultDiscriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
586
+
587
+ const minBy = (discriminator = defaultDiscriminator) => maxBy((_) => -discriminator(_));
588
+
589
+ const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
590
+ const scrollBy = (container) => (itemCount, delta) => {
591
+ container.scrollBy({ left: delta * getItemWidth(container)(itemCount), behavior: 'smooth' });
596
592
  };
597
593
 
598
- /*
599
- Calculates array of breakpoints for each scrollable element in container.
600
- Returns array of tuples consisting of [start, end] boundary scrollLeft values.
601
- */
602
- const getScrollPoints = ({ gap, padding, clientWidth, scrollWidth, childElementCount, itemWidth, }) => {
603
- const scrollableDistance = scrollWidth - clientWidth;
604
- if (childElementCount === 2) {
605
- return [
606
- [0, scrollableDistance],
607
- [scrollableDistance, scrollWidth],
608
- ];
609
- }
610
- const scrollItemWidth = itemWidth + gap;
611
- const edgeScrollDistance = clientWidth - gap - padding;
612
- const lastScrollableIdx = childElementCount - 2;
613
- const scrollPoints = new Array(childElementCount)
614
- .fill(0)
615
- .map((_, idx) => idx === 0 || idx === lastScrollableIdx
616
- ? [
617
- idx > 0 ? scrollableDistance - edgeScrollDistance : 0,
618
- idx > 0 ? scrollableDistance : edgeScrollDistance,
619
- ]
620
- : [
621
- (idx - 1) * scrollItemWidth + edgeScrollDistance,
622
- idx * scrollItemWidth + edgeScrollDistance,
623
- ]);
624
- scrollPoints[childElementCount - 1] = [scrollableDistance, scrollWidth];
625
- return scrollPoints;
594
+ const scrollToEnd = (container) => {
595
+ container.scrollTo({ left: container.scrollWidth, behavior: 'smooth' });
626
596
  };
627
597
 
628
- const SwipeListControl = JSX(({ className, gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, onSlideChange, children, }) => {
629
- const [activeIndex, setActiveIndex] = useState(0);
630
- const [indexFraction, setIndexFraction] = useState(0);
631
- const dotsProps = {
632
- activeIndex,
633
- indexFraction,
634
- showDots,
635
- children,
636
- };
637
- const handleScroll = useCallback((e) => {
638
- const { scrollLeft, clientWidth, childElementCount, scrollWidth, children: childrenCollection, } = e?.currentTarget;
639
- if (!childrenCollection[0]) {
598
+ const scrollToStart = (container) => {
599
+ container.scrollTo({ left: 0, behavior: 'smooth' });
600
+ };
601
+
602
+ const useSwipeListScroll = ({ itemCount, isCyclic, onVisibleIndicesChange, }) => {
603
+ const containerRef = useRef(null);
604
+ const [visibleIndices, setVisibleIndices] = useState([]);
605
+ const handleVisibleIndicesChange = useCallback((indices) => {
606
+ setVisibleIndices((prevIndices) => areArraysEqual(prevIndices, indices) ? prevIndices : indices);
607
+ onVisibleIndicesChange && onVisibleIndicesChange(indices);
608
+ }, [itemCount]);
609
+ const [minIndex, maxIndex] = visibleIndices.length
610
+ ? [minBy()(visibleIndices), maxBy()(visibleIndices)]
611
+ : [-1, -1];
612
+ const canScrollLeft = minIndex > 0;
613
+ const canScrollRight = maxIndex < itemCount - 1;
614
+ const scrollLeft = useCallback(() => {
615
+ if (!containerRef.current) {
640
616
  return;
641
617
  }
642
- // horizontal PADDING / 2 to compensate padding-margin combo of child container
643
- // without CSS calc function, as wrapper element gets bigger in the DOM, remaining same visually
644
- const itemWidth = childrenCollection[0].offsetWidth - padding / 2;
645
- const scrollPoints = getScrollPoints({
646
- gap,
647
- padding,
648
- clientWidth,
649
- scrollWidth,
650
- childElementCount,
651
- itemWidth,
652
- });
653
- const { index, fraction } = getIndexParts(scrollLeft, scrollPoints);
654
- if (index !== activeIndex && onSlideChange) {
655
- onSlideChange();
618
+ if (isCyclic && !canScrollLeft) {
619
+ scrollToEnd(containerRef.current);
620
+ }
621
+ else {
622
+ scrollBy(containerRef.current)(itemCount, -1);
623
+ }
624
+ }, [isCyclic, itemCount, canScrollLeft]);
625
+ const scrollRight = useCallback(() => {
626
+ if (!containerRef.current) {
627
+ return;
628
+ }
629
+ if (isCyclic && !canScrollRight) {
630
+ scrollToStart(containerRef.current);
656
631
  }
657
- setActiveIndex(index);
658
- setIndexFraction(fraction);
659
- }, [gap, padding, activeIndex, onSlideChange]);
660
- return (jsxs("div", { className: className, children: [jsx(SwipeListControlList, { gap: gap, padding: padding, activeIndex: activeIndex, onScroll: handleScroll, children: children }), jsx(SwipeListControlDots, { ...dotsProps })] }));
632
+ else {
633
+ scrollBy(containerRef.current)(itemCount, 1);
634
+ }
635
+ }, [itemCount, isCyclic, canScrollRight]);
636
+ return [
637
+ containerRef,
638
+ {
639
+ scrollLeft,
640
+ scrollRight,
641
+ canScrollLeft: isCyclic || canScrollLeft,
642
+ canScrollRight: isCyclic || canScrollRight,
643
+ visibleIndicesRange: [minIndex, maxIndex],
644
+ handleVisibleIndicesChange,
645
+ },
646
+ ];
647
+ };
648
+
649
+ const DEFAULT_GAP = 14;
650
+ /*
651
+ Horizontal padding used on a container above SwipeListControl.
652
+ Same value used on a SwipeListControlChildren container to compensate it
653
+ and get rid of a clipping effect caused by overflow: hidden.
654
+ */
655
+ const DEFAULT_PADDING = 16;
656
+ const SwipeListControl = JSX(({ className, gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, children, onVisibleIndicesChange, }) => {
657
+ const itemCount = Array.isArray(children) ? children.length : 0;
658
+ const [containerRef, scroll] = useSwipeListScroll({
659
+ itemCount,
660
+ onVisibleIndicesChange,
661
+ });
662
+ const [activeIndex] = scroll.visibleIndicesRange;
663
+ return (jsxs("div", { className: className, children: [jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: children }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount })) : null] }));
661
664
  });
662
665
 
663
666
  const isURL = (href) => href?.includes('//');
@@ -738,7 +741,7 @@
738
741
  props.onClick && props.onClick(ev);
739
742
  const isLocalHref = href && !isURL(href);
740
743
  const isLocalTarget = !props.target || props.target === '_self';
741
- if (isLocalHref && isLocalTarget) {
744
+ if (isLocalHref && isLocalTarget && !isHash(href)) {
742
745
  ev?.preventDefault();
743
746
  router.push(href);
744
747
  }
@@ -848,7 +851,7 @@
848
851
  const handleSlideChange = useCallback(() => setColumnsViewState((_) => new Array(_.length).fill(false)), []);
849
852
  const getColumnData = (cellData) => cellData?.map((cell, i) => ({ cell, rowHeader: rowHeaders?.[i]?.title }));
850
853
  const tableColumns = columns?.map(({ data, header }, colIndex) => (jsx(TableColumn, { visibleRowLength: visibleRowLength, showRow: columnsViewState[colIndex], header: header, columnData: getColumnData(data), isFillGradient: colIndex === 0 && isColoredFirstColumn, onToggleColumn: () => handleToggleColumn(colIndex), ...rest }, String(colIndex))));
851
- return orientation === 'horizontal' ? (jsx(SwipeListControl, { onSlideChange: handleSlideChange, children: tableColumns })) : (tableColumns);
854
+ return orientation === 'horizontal' ? (jsx(SwipeListControl, { onVisibleIndicesChange: handleSlideChange, children: tableColumns })) : (tableColumns);
852
855
  });
853
856
 
854
857
  const consistentDataMap = new Map();
@@ -1085,7 +1088,7 @@
1085
1088
  return orientation === 'horizontal' ? (jsx(SwipeListControl, { children: cards?.map(renderCard) })) : (jsx("div", { className: "grid gap-[14px]", children: cards?.map(renderCard) }));
1086
1089
  }
1087
1090
  function renderCard(card, key) {
1088
- return (jsxs("div", { className: `h-full justify-between box-border horizontal-list-item border-solid border rounded-md border-main-stroke p-4 flex flex-col
1091
+ return (jsxs("div", { className: `w-full h-full flex flex-col justify-between shrink-0 box-border snap-start snap-always border-solid border rounded-md border-main-stroke p-4
1089
1092
  ${VersionStyleMap[card.version ?? 'primary']}`, children: [jsxs("div", { children: [renderImage$2(card.icon), card.title ? jsx("h3", { className: `text-m-title-xs font-medium m-0`, children: card.title }) : null, card.description ? renderDescription(card) : null, card.items?.length ? renderItems(card.items, card.isDotted, card.version) : null] }), card?.button?.text ? renderButton$1(card.button) : null] }, key));
1090
1093
  }
1091
1094
  const renderImage$2 = (image) => image?.src || image?.icon ? (jsx("div", { className: "flex justify-center", children: jsx(Img, { className: "mb-3.5", image: image }) })) : null;
@@ -1104,8 +1107,6 @@
1104
1107
  return (jsx("section", { className: "mt-3", children: items.map((item, i) => (jsxs("div", { children: [isDotted ? (jsx("div", { className: `rounded-full inline-block mr-3 mt-2 w-2 h-2 min-w-2 min-h-2 ${LIST_DOT_STYLE_MAP$1[version]}` })) : null, jsx("span", { className: "text-m font-medium", children: item.title }), jsx("span", { className: `text-s pl-2 ${version === 'primary' ? 'text-secondary-text' : ''}`, children: item.text })] }, String(i)))) }));
1105
1108
  }
1106
1109
 
1107
- const maxBy = (discriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
1108
-
1109
1110
  const isHrefActive = (href, router, cmp = (targetHref, baseHref) => baseHref.startsWith(targetHref)) => {
1110
1111
  return cmp(withoutQuery(href), withoutQuery(isURL(href) ? router.href : router.pathname));
1111
1112
  };
@@ -1618,7 +1619,7 @@
1618
1619
  return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
1619
1620
  }
1620
1621
 
1621
- const packageVersion = "0.6.35";
1622
+ const packageVersion = "0.6.36";
1622
1623
 
1623
1624
  exports.Blocks = Blocks;
1624
1625
  exports.ContentPage = ContentPage;