@vkontakte/vkui 6.0.2 → 6.0.3

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 (474) hide show
  1. package/dist/cjs/components/Accordion/Accordion.d.ts +1 -1
  2. package/dist/cjs/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +1 -1
  5. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  6. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  7. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +4 -4
  8. package/dist/cjs/components/AppRoot/ScrollContext.d.ts.map +1 -1
  9. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  10. package/dist/cjs/components/BaseGallery/CarouselBase/types.d.ts +1 -1
  11. package/dist/cjs/components/BaseGallery/CarouselBase/types.d.ts.map +1 -1
  12. package/dist/cjs/components/BaseGallery/types.d.ts +4 -4
  13. package/dist/cjs/components/BaseGallery/types.d.ts.map +1 -1
  14. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  15. package/dist/cjs/components/Calendar/Calendar.d.ts +4 -4
  16. package/dist/cjs/components/Calendar/Calendar.d.ts.map +1 -1
  17. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  18. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +3 -3
  19. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  20. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  21. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +12 -12
  22. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  23. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  24. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +3 -3
  25. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  26. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  27. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +2 -2
  28. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  29. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  30. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +3 -3
  31. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  32. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  33. package/dist/cjs/components/Cell/Cell.d.ts +1 -1
  34. package/dist/cjs/components/Cell/Cell.d.ts.map +1 -1
  35. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  36. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  37. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  38. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  39. package/dist/cjs/components/ChipsInput/useChipsInput.d.ts +4 -1
  40. package/dist/cjs/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  41. package/dist/cjs/components/ChipsInputBase/types.d.ts +3 -3
  42. package/dist/cjs/components/ChipsInputBase/types.d.ts.map +1 -1
  43. package/dist/cjs/components/ChipsInputBase/types.js.map +1 -1
  44. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  45. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  46. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  47. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +4 -1
  48. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  49. package/dist/cjs/components/Clickable/Clickable.d.ts.map +1 -1
  50. package/dist/cjs/components/Clickable/Clickable.js +10 -1
  51. package/dist/cjs/components/Clickable/Clickable.js.map +1 -1
  52. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  53. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  54. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  55. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.d.ts +5 -5
  56. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  57. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  58. package/dist/cjs/components/CustomSelect/CustomSelectClearButton.d.ts +1 -1
  59. package/dist/cjs/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  60. package/dist/cjs/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  61. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +1 -1
  62. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  63. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  64. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +1 -1
  65. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  66. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  67. package/dist/cjs/components/InputLike/InputLike.d.ts +1 -1
  68. package/dist/cjs/components/InputLike/InputLike.d.ts.map +1 -1
  69. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  70. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
  71. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
  72. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  73. package/dist/cjs/components/ModalRoot/types.d.ts +4 -4
  74. package/dist/cjs/components/ModalRoot/types.d.ts.map +1 -1
  75. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltip.d.ts +1 -1
  76. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  77. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  78. package/dist/cjs/components/Pagination/Pagination.d.ts +2 -2
  79. package/dist/cjs/components/Pagination/Pagination.d.ts.map +1 -1
  80. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  81. package/dist/cjs/components/Root/Root.d.ts +2 -2
  82. package/dist/cjs/components/Root/Root.d.ts.map +1 -1
  83. package/dist/cjs/components/Root/Root.js.map +1 -1
  84. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  85. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +9 -13
  86. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  87. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  88. package/dist/cjs/components/SimpleCell/SimpleCell.js +1 -1
  89. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  90. package/dist/cjs/components/Slider/Slider.d.ts +4 -4
  91. package/dist/cjs/components/Slider/Slider.d.ts.map +1 -1
  92. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  93. package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
  94. package/dist/cjs/components/Textarea/Textarea.d.ts.map +1 -1
  95. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  96. package/dist/cjs/components/View/View.d.ts +5 -5
  97. package/dist/cjs/components/View/View.d.ts.map +1 -1
  98. package/dist/cjs/components/View/View.js.map +1 -1
  99. package/dist/cjs/components/View/ViewInfinite.d.ts +6 -6
  100. package/dist/cjs/components/View/ViewInfinite.d.ts.map +1 -1
  101. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  102. package/dist/cjs/hooks/useDateInput.d.ts +3 -3
  103. package/dist/cjs/hooks/useDateInput.d.ts.map +1 -1
  104. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  105. package/dist/cjs/hooks/useDraggableWithDomApi/types.d.ts +4 -4
  106. package/dist/cjs/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  107. package/dist/cjs/hooks/useDraggableWithDomApi/types.js.map +1 -1
  108. package/dist/cjs/hooks/useEnsuredControl.d.ts +2 -2
  109. package/dist/cjs/hooks/useEnsuredControl.d.ts.map +1 -1
  110. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  111. package/dist/cjs/lib/floating/useFloatingWithInteractions/types.d.ts +3 -3
  112. package/dist/cjs/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  113. package/dist/cjs/lib/rafSchd.d.ts +1 -1
  114. package/dist/cjs/lib/rafSchd.d.ts.map +1 -1
  115. package/dist/cjs/lib/rafSchd.js.map +1 -1
  116. package/dist/cjs/lib/react/simulateReactInput.d.ts +3 -3
  117. package/dist/cjs/lib/react/simulateReactInput.d.ts.map +1 -1
  118. package/dist/cjs/lib/react/simulateReactInput.js.map +1 -1
  119. package/dist/components/Accordion/Accordion.d.ts +1 -1
  120. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  121. package/dist/components/Accordion/Accordion.js.map +1 -1
  122. package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
  123. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  124. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  125. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  126. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  127. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  128. package/dist/components/BaseGallery/CarouselBase/types.d.ts +1 -1
  129. package/dist/components/BaseGallery/CarouselBase/types.d.ts.map +1 -1
  130. package/dist/components/BaseGallery/CarouselBase/types.js.map +1 -1
  131. package/dist/components/BaseGallery/types.d.ts +4 -4
  132. package/dist/components/BaseGallery/types.d.ts.map +1 -1
  133. package/dist/components/BaseGallery/types.js.map +1 -1
  134. package/dist/components/Calendar/Calendar.d.ts +4 -4
  135. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  136. package/dist/components/Calendar/Calendar.js.map +1 -1
  137. package/dist/components/CalendarDay/CalendarDay.d.ts +3 -3
  138. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  139. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  140. package/dist/components/CalendarDays/CalendarDays.d.ts +12 -12
  141. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  142. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  143. package/dist/components/CalendarHeader/CalendarHeader.d.ts +3 -3
  144. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  145. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  146. package/dist/components/CalendarRange/CalendarRange.d.ts +2 -2
  147. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  148. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  149. package/dist/components/CalendarTime/CalendarTime.d.ts +3 -3
  150. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  151. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  152. package/dist/components/Cell/Cell.d.ts +1 -1
  153. package/dist/components/Cell/Cell.d.ts.map +1 -1
  154. package/dist/components/Cell/Cell.js.map +1 -1
  155. package/dist/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  156. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  157. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  158. package/dist/components/ChipsInput/useChipsInput.d.ts +4 -1
  159. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  160. package/dist/components/ChipsInputBase/types.d.ts +3 -3
  161. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  162. package/dist/components/ChipsInputBase/types.js.map +1 -1
  163. package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  164. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  165. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  166. package/dist/components/ChipsSelect/useChipsSelect.d.ts +4 -1
  167. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  168. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  169. package/dist/components/Clickable/Clickable.js +10 -1
  170. package/dist/components/Clickable/Clickable.js.map +1 -1
  171. package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  172. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  173. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  174. package/dist/components/CustomScrollView/useTrackerVisibility.d.ts +5 -5
  175. package/dist/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  176. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  177. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +1 -1
  178. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  179. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  180. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +1 -1
  181. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  182. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  183. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  184. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  185. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  186. package/dist/components/InputLike/InputLike.d.ts +1 -1
  187. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  188. package/dist/components/InputLike/InputLike.js.map +1 -1
  189. package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
  190. package/dist/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
  191. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  192. package/dist/components/ModalRoot/types.d.ts +4 -4
  193. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  194. package/dist/components/ModalRoot/types.js.map +1 -1
  195. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +1 -1
  196. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  197. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  198. package/dist/components/Pagination/Pagination.d.ts +2 -2
  199. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  200. package/dist/components/Pagination/Pagination.js.map +1 -1
  201. package/dist/components/Root/Root.d.ts +2 -2
  202. package/dist/components/Root/Root.d.ts.map +1 -1
  203. package/dist/components/Root/Root.js.map +1 -1
  204. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  205. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -14
  206. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  207. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  208. package/dist/components/SimpleCell/SimpleCell.js +1 -1
  209. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  210. package/dist/components/Slider/Slider.d.ts +4 -4
  211. package/dist/components/Slider/Slider.d.ts.map +1 -1
  212. package/dist/components/Slider/Slider.js.map +1 -1
  213. package/dist/components/Textarea/Textarea.d.ts +1 -1
  214. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  215. package/dist/components/Textarea/Textarea.js.map +1 -1
  216. package/dist/components/View/View.d.ts +5 -5
  217. package/dist/components/View/View.d.ts.map +1 -1
  218. package/dist/components/View/View.js.map +1 -1
  219. package/dist/components/View/ViewInfinite.d.ts +6 -6
  220. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  221. package/dist/components/View/ViewInfinite.js.map +1 -1
  222. package/dist/components.css +8 -8
  223. package/dist/components.css.map +1 -1
  224. package/dist/components.js.tmp +24 -21
  225. package/dist/cssm/components/Accordion/Accordion.d.ts +1 -1
  226. package/dist/cssm/components/Accordion/Accordion.d.ts.map +1 -1
  227. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  228. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +1 -1
  229. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  230. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  231. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +1 -2
  232. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +1 -1
  233. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +4 -4
  234. package/dist/cssm/components/AppRoot/ScrollContext.d.ts.map +1 -1
  235. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  236. package/dist/cssm/components/BaseGallery/CarouselBase/types.d.ts +1 -1
  237. package/dist/cssm/components/BaseGallery/CarouselBase/types.d.ts.map +1 -1
  238. package/dist/cssm/components/BaseGallery/CarouselBase/types.js.map +1 -1
  239. package/dist/cssm/components/BaseGallery/types.d.ts +4 -4
  240. package/dist/cssm/components/BaseGallery/types.d.ts.map +1 -1
  241. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  242. package/dist/cssm/components/Button/Button.module.css +6 -5
  243. package/dist/cssm/components/Calendar/Calendar.d.ts +4 -4
  244. package/dist/cssm/components/Calendar/Calendar.d.ts.map +1 -1
  245. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  246. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +3 -3
  247. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  248. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  249. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +12 -12
  250. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  251. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  252. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +3 -3
  253. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  254. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  255. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +2 -2
  256. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  257. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  258. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +3 -3
  259. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  260. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  261. package/dist/cssm/components/Cell/Cell.d.ts +1 -1
  262. package/dist/cssm/components/Cell/Cell.d.ts.map +1 -1
  263. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  264. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  265. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  266. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  267. package/dist/cssm/components/ChipsInput/useChipsInput.d.ts +4 -1
  268. package/dist/cssm/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  269. package/dist/cssm/components/ChipsInputBase/types.d.ts +3 -3
  270. package/dist/cssm/components/ChipsInputBase/types.d.ts.map +1 -1
  271. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  272. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  273. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  274. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  275. package/dist/cssm/components/ChipsSelect/useChipsSelect.d.ts +4 -1
  276. package/dist/cssm/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  277. package/dist/cssm/components/Clickable/Clickable.d.ts.map +1 -1
  278. package/dist/cssm/components/Clickable/Clickable.js +10 -1
  279. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  280. package/dist/cssm/components/Clickable/Clickable.module.css +21 -0
  281. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  282. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  283. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  284. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts +5 -5
  285. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  286. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  287. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.d.ts +1 -1
  288. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  289. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  290. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +1 -1
  291. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  292. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  293. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  294. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  295. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  296. package/dist/cssm/components/InputLike/InputLike.d.ts +1 -1
  297. package/dist/cssm/components/InputLike/InputLike.d.ts.map +1 -1
  298. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  299. package/dist/cssm/components/Link/Link.module.css +1 -2
  300. package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +1 -1
  301. package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
  302. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  303. package/dist/cssm/components/ModalRoot/types.d.ts +4 -4
  304. package/dist/cssm/components/ModalRoot/types.d.ts.map +1 -1
  305. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  306. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.d.ts +1 -1
  307. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  308. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  309. package/dist/cssm/components/Pagination/Pagination.d.ts +2 -2
  310. package/dist/cssm/components/Pagination/Pagination.d.ts.map +1 -1
  311. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  312. package/dist/cssm/components/Root/Root.d.ts +2 -2
  313. package/dist/cssm/components/Root/Root.d.ts.map +1 -1
  314. package/dist/cssm/components/Root/Root.js.map +1 -1
  315. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  316. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -16
  317. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  318. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +1 -1
  319. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  320. package/dist/cssm/components/SimpleCell/SimpleCell.js +1 -1
  321. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  322. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +7 -0
  323. package/dist/cssm/components/Slider/Slider.d.ts +4 -4
  324. package/dist/cssm/components/Slider/Slider.d.ts.map +1 -1
  325. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  326. package/dist/cssm/components/TabsItem/TabsItem.module.css +0 -8
  327. package/dist/cssm/components/Textarea/Textarea.d.ts +1 -1
  328. package/dist/cssm/components/Textarea/Textarea.d.ts.map +1 -1
  329. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  330. package/dist/cssm/components/View/View.d.ts +5 -5
  331. package/dist/cssm/components/View/View.d.ts.map +1 -1
  332. package/dist/cssm/components/View/View.js.map +1 -1
  333. package/dist/cssm/components/View/ViewInfinite.d.ts +6 -6
  334. package/dist/cssm/components/View/ViewInfinite.d.ts.map +1 -1
  335. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  336. package/dist/cssm/hooks/useDateInput.d.ts +3 -3
  337. package/dist/cssm/hooks/useDateInput.d.ts.map +1 -1
  338. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  339. package/dist/cssm/hooks/useDraggableWithDomApi/types.d.ts +4 -4
  340. package/dist/cssm/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  341. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  342. package/dist/cssm/hooks/useEnsuredControl.d.ts +2 -2
  343. package/dist/cssm/hooks/useEnsuredControl.d.ts.map +1 -1
  344. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  345. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.d.ts +3 -3
  346. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  347. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  348. package/dist/cssm/lib/rafSchd.d.ts +1 -1
  349. package/dist/cssm/lib/rafSchd.d.ts.map +1 -1
  350. package/dist/cssm/lib/rafSchd.js.map +1 -1
  351. package/dist/cssm/lib/react/simulateReactInput.d.ts +3 -3
  352. package/dist/cssm/lib/react/simulateReactInput.d.ts.map +1 -1
  353. package/dist/cssm/lib/react/simulateReactInput.js.map +1 -1
  354. package/dist/hooks/useDateInput.d.ts +3 -3
  355. package/dist/hooks/useDateInput.d.ts.map +1 -1
  356. package/dist/hooks/useDateInput.js.map +1 -1
  357. package/dist/hooks/useDraggableWithDomApi/types.d.ts +4 -4
  358. package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  359. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  360. package/dist/hooks/useEnsuredControl.d.ts +2 -2
  361. package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
  362. package/dist/hooks/useEnsuredControl.js.map +1 -1
  363. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +3 -3
  364. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  365. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  366. package/dist/lib/rafSchd.d.ts +1 -1
  367. package/dist/lib/rafSchd.d.ts.map +1 -1
  368. package/dist/lib/rafSchd.js.map +1 -1
  369. package/dist/lib/react/simulateReactInput.d.ts +3 -3
  370. package/dist/lib/react/simulateReactInput.d.ts.map +1 -1
  371. package/dist/lib/react/simulateReactInput.js.map +1 -1
  372. package/dist/vkui.css +8 -8
  373. package/dist/vkui.css.map +1 -1
  374. package/dist/vkui.js.tmp +24 -21
  375. package/package.json +1 -1
  376. package/src/components/Accordion/Accordion.tsx +1 -1
  377. package/src/components/Accordion/__image_snapshots__/accordion-ios-webkit-dark-1-snap.png +2 -2
  378. package/src/components/Accordion/__image_snapshots__/accordion-ios-webkit-light-1-snap.png +2 -2
  379. package/src/components/ActionSheet/ActionSheet.module.css +1 -2
  380. package/src/components/ActionSheet/ActionSheet.tsx +1 -1
  381. package/src/components/ActionSheet/Readme.md +6 -6
  382. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-chromium-dark-1-snap.png +2 -2
  383. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-chromium-light-1-snap.png +2 -2
  384. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-firefox-dark-1-snap.png +2 -2
  385. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-firefox-light-1-snap.png +2 -2
  386. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-webkit-dark-1-snap.png +2 -2
  387. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-webkit-light-1-snap.png +2 -2
  388. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-mobile-sizey-regular-android-chromium-dark-1-snap.png +2 -2
  389. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-mobile-sizey-regular-android-chromium-light-1-snap.png +2 -2
  390. package/src/components/ActionSheetItem/ActionSheetItem.module.css +1 -1
  391. package/src/components/AppRoot/ScrollContext.tsx +4 -4
  392. package/src/components/BaseGallery/CarouselBase/types.ts +1 -1
  393. package/src/components/BaseGallery/types.ts +4 -4
  394. package/src/components/Button/Button.module.css +6 -2
  395. package/src/components/Calendar/Calendar.stories.tsx +2 -2
  396. package/src/components/Calendar/Calendar.tsx +4 -4
  397. package/src/components/CalendarDay/CalendarDay.tsx +3 -3
  398. package/src/components/CalendarDays/CalendarDays.tsx +12 -12
  399. package/src/components/CalendarHeader/CalendarHeader.tsx +3 -3
  400. package/src/components/CalendarRange/CalendarRange.tsx +2 -2
  401. package/src/components/CalendarTime/CalendarTime.tsx +3 -3
  402. package/src/components/Cell/Cell.tsx +1 -1
  403. package/src/components/Cell/CellDragger/CellDragger.tsx +1 -1
  404. package/src/components/CellButton/__image_snapshots__/cellbutton-ios-webkit-dark-1-snap.png +2 -2
  405. package/src/components/CellButton/__image_snapshots__/cellbutton-ios-webkit-light-1-snap.png +2 -2
  406. package/src/components/ChipsInputBase/types.ts +3 -3
  407. package/src/components/ChipsSelect/ChipsSelect.tsx +2 -2
  408. package/src/components/Clickable/Clickable.module.css +14 -0
  409. package/src/components/Clickable/Clickable.tsx +15 -1
  410. package/src/components/CustomScrollView/CustomScrollView.tsx +1 -1
  411. package/src/components/CustomScrollView/useTrackerVisibility.ts +5 -5
  412. package/src/components/CustomSelect/CustomSelect.test.tsx +1 -1
  413. package/src/components/CustomSelect/CustomSelectClearButton.tsx +1 -1
  414. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +1 -1
  415. package/src/components/FocusTrap/FocusTrap.tsx +1 -1
  416. package/src/components/Input/Readme.md +1 -1
  417. package/src/components/InputLike/InputLike.tsx +1 -1
  418. package/src/components/Link/Link.module.css +1 -2
  419. package/src/components/ModalRoot/ModalRootContext.tsx +1 -1
  420. package/src/components/ModalRoot/types.ts +4 -4
  421. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +1 -1
  422. package/src/components/Pagination/Pagination.tsx +2 -2
  423. package/src/components/Popper/Readme.md +1 -1
  424. package/src/components/PullToRefresh/PullToRefresh.e2e.tsx +2 -0
  425. package/src/components/Root/Root.tsx +1 -1
  426. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +1 -1
  427. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +21 -36
  428. package/src/components/SimpleCell/SimpleCell.e2e-playground.tsx +4 -0
  429. package/src/components/SimpleCell/SimpleCell.module.css +5 -0
  430. package/src/components/SimpleCell/SimpleCell.tsx +8 -1
  431. package/src/components/SimpleCell/__image_snapshots__/simplecell-android-chromium-dark-1-snap.png +2 -2
  432. package/src/components/SimpleCell/__image_snapshots__/simplecell-android-chromium-light-1-snap.png +2 -2
  433. package/src/components/SimpleCell/__image_snapshots__/simplecell-ios-webkit-dark-1-snap.png +2 -2
  434. package/src/components/SimpleCell/__image_snapshots__/simplecell-ios-webkit-light-1-snap.png +2 -2
  435. package/src/components/SimpleCell/__image_snapshots__/simplecell-vkcom-chromium-dark-1-snap.png +2 -2
  436. package/src/components/SimpleCell/__image_snapshots__/simplecell-vkcom-chromium-light-1-snap.png +2 -2
  437. package/src/components/SimpleCell/__image_snapshots__/simplecell-vkcom-firefox-dark-1-snap.png +2 -2
  438. package/src/components/SimpleCell/__image_snapshots__/simplecell-vkcom-firefox-light-1-snap.png +2 -2
  439. package/src/components/SimpleCell/__image_snapshots__/simplecell-vkcom-webkit-dark-1-snap.png +2 -2
  440. package/src/components/SimpleCell/__image_snapshots__/simplecell-vkcom-webkit-light-1-snap.png +2 -2
  441. package/src/components/Slider/Slider.test.tsx +11 -5
  442. package/src/components/Slider/Slider.tsx +4 -4
  443. package/src/components/Tabs/__image_snapshots__/tabs-android-chromium-dark-1-snap.png +2 -2
  444. package/src/components/Tabs/__image_snapshots__/tabs-android-chromium-light-1-snap.png +2 -2
  445. package/src/components/Tabs/__image_snapshots__/tabs-ios-webkit-dark-1-snap.png +2 -2
  446. package/src/components/Tabs/__image_snapshots__/tabs-ios-webkit-light-1-snap.png +2 -2
  447. package/src/components/Tabs/__image_snapshots__/tabs-layout-fill-mode-android-chromium-light-1-snap.png +2 -2
  448. package/src/components/Tabs/__image_snapshots__/tabs-layout-fill-mode-ios-webkit-light-1-snap.png +2 -2
  449. package/src/components/Tabs/__image_snapshots__/tabs-layout-fill-mode-vkcom-chromium-light-1-snap.png +2 -2
  450. package/src/components/Tabs/__image_snapshots__/tabs-layout-fill-mode-vkcom-firefox-light-1-snap.png +2 -2
  451. package/src/components/Tabs/__image_snapshots__/tabs-layout-fill-mode-vkcom-webkit-light-1-snap.png +2 -2
  452. package/src/components/Tabs/__image_snapshots__/tabs-vkcom-chromium-dark-1-snap.png +2 -2
  453. package/src/components/Tabs/__image_snapshots__/tabs-vkcom-chromium-light-1-snap.png +2 -2
  454. package/src/components/Tabs/__image_snapshots__/tabs-vkcom-firefox-dark-1-snap.png +2 -2
  455. package/src/components/Tabs/__image_snapshots__/tabs-vkcom-firefox-light-1-snap.png +2 -2
  456. package/src/components/Tabs/__image_snapshots__/tabs-vkcom-webkit-dark-1-snap.png +2 -2
  457. package/src/components/Tabs/__image_snapshots__/tabs-vkcom-webkit-light-1-snap.png +2 -2
  458. package/src/components/TabsItem/TabsItem.module.css +0 -9
  459. package/src/components/Textarea/Textarea.tsx +1 -1
  460. package/src/components/Touch/Readme.md +1 -1
  461. package/src/components/View/View.stories.tsx +1 -1
  462. package/src/components/View/View.tsx +4 -4
  463. package/src/components/View/ViewInfinite.tsx +5 -5
  464. package/src/components/WriteBar/Readme.md +1 -1
  465. package/src/hooks/useDateInput.ts +3 -3
  466. package/src/hooks/useDraggableWithDomApi/types.ts +4 -4
  467. package/src/hooks/useEnsuredControl.ts +2 -2
  468. package/src/hooks/useGlobalOnClickOutside.test.tsx +1 -1
  469. package/src/lib/floating/useFloatingWithInteractions/types.ts +3 -3
  470. package/src/lib/rafSchd.ts +1 -1
  471. package/src/lib/react/simulateReactInput.ts +3 -3
  472. package/src/storybook/VKUIDecorators.tsx +0 -16
  473. package/src/testing/e2e/ComponentPlayground.tsx +1 -1
  474. package/src/testing/e2e/types.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAS3E,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAC/F;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACrD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,2LAapB,eAAe,sBAkGjB,CAAC"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAS3E,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAC/F;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACrD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,2LAapB,eAAe,sBAkGjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\nimport { PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { PaginationPageButton } from './PaginationPage/PaginationPageButton';\nimport { PaginationPageEllipsis } from './PaginationPage/PaginationPageEllipsis';\nimport { getPageLabelDefault } from './utils';\nimport styles from './Pagination.module.css';\n\nexport interface PaginationProps extends Omit<HTMLAttributesWithRootRef<HTMLElement>, 'onChange'> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Переопределение текста для обозначения блока навигации.\n * По умолчанию используется текст на \"ru_RU\".\n */\n navigationLabel?: string;\n navigationLabelComponent?: HasComponent['Component'];\n /**\n * Переопределение текста для кнопки навигации назад.\n * По умолчанию используется текст на \"ru_RU\".\n */\n prevButtonLabel?: string;\n /**\n * Переопределение текста для кнопки навигации вперёд.\n * По умолчанию используется текст на \"ru_RU\".\n */\n nextButtonLabel?: string;\n /**\n * Функция для переопределения и/или локализации текста кнопки страницы.\n * По умолчанию используется текст на \"ru_RU\".\n */\n getPageLabel?(isCurrent: boolean): string;\n onChange?(page: number): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n getPageLabel = getPageLabelDefault,\n navigationLabel = 'Навигация по страницам',\n navigationLabelComponent = 'h2',\n prevButtonLabel = 'Перейти на предыдущую страницу',\n nextButtonLabel = 'Перейти на следующую страницу',\n onChange,\n ...resetProps\n}: PaginationProps) => {\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n const handlePrevClick = React.useCallback(() => {\n if (onChange && !isFirstPage) {\n onChange(currentPage - 1);\n }\n }, [currentPage, isFirstPage, onChange]);\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page));\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(() => {\n if (onChange && !isLastPage) {\n onChange(currentPage + 1);\n }\n }, [currentPage, isLastPage, onChange]);\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <PaginationPageEllipsis disabled={disabled} />\n </li>\n );\n default: {\n const isCurrent = page === currentPage;\n return (\n <li key={page}>\n <PaginationPageButton\n getPageLabel={getPageLabel}\n isCurrent={isCurrent}\n onClick={handleClick}\n disabled={disabled}\n >\n {page}\n </PaginationPageButton>\n </li>\n );\n }\n }\n },\n [currentPage, disabled, getPageLabel, handleClick],\n );\n\n return (\n <RootComponent Component=\"nav\" role=\"navigation\" {...resetProps}>\n <VisuallyHidden Component={navigationLabelComponent}>{navigationLabel}</VisuallyHidden>\n <ul className={styles['Pagination__list']}>\n <li className={styles['Pagination__prevButtonContainer']}>\n <Button\n size=\"l\"\n before={\n <>\n <VisuallyHidden>{prevButtonLabel}</VisuallyHidden>{' '}\n <Icon24ChevronCompactLeft width={24} />\n </>\n }\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isFirstPage || disabled}\n onClick={handlePrevClick}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles['Pagination__nextButtonContainer']}>\n <Button\n size=\"l\"\n after={\n <>\n <VisuallyHidden>{nextButtonLabel}</VisuallyHidden>\n <Icon24ChevronCompactRight width={24} />\n </>\n }\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isLastPage || disabled}\n onClick={handleNextClick}\n />\n </li>\n </ul>\n </RootComponent>\n );\n};\n"],"names":["Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageLabel","getPageLabelDefault","navigationLabel","navigationLabelComponent","prevButtonLabel","nextButtonLabel","onChange","resetProps","pages","usePagination","isFirstPage","isLastPage","handlePrevClick","React","useCallback","handleClick","event","page","currentTarget","dataset","Number","handleNextClick","renderPages","li","key","PaginationPageEllipsis","isCurrent","PaginationPageButton","onClick","RootComponent","Component","role","VisuallyHidden","ul","className","Button","size","before","Icon24ChevronCompactLeft","width","appearance","mode","map","after","Icon24ChevronCompactRight"],"mappings":";;;;+BA4DaA;;;eAAAA;;;;;;iEA5DU;uBAC6C;+BAClB;wBAE3B;+BACO;gCACC;sCACM;wCACE;uBACH;AAmD7B,MAAMA,aAAa;QAAC,EACzBC,cAAc,CAAC,EACfC,eAAe,CAAC,EAChBC,gBAAgB,CAAC,EACjBC,aAAa,CAAC,EACdC,QAAQ,EACRC,eAAeC,0BAAmB,EAClCC,kBAAkB,wBAAwB,EAC1CC,2BAA2B,IAAI,EAC/BC,kBAAkB,gCAAgC,EAClDC,kBAAkB,+BAA+B,EACjDC,QAAQ,EAEQ,WADbC;QAXHZ;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,QAAQC,IAAAA,4BAAa,EAAC;QAC1Bd;QACAG;QACAF;QACAC;IACF;IACA,MAAMa,cAAcf,gBAAgB;IACpC,MAAMgB,aAAahB,gBAAgBG;IAEnC,MAAMc,kBAAkBC,OAAMC,WAAW,CAAC;QACxC,IAAIR,YAAY,CAACI,aAAa;YAC5BJ,SAASX,cAAc;QACzB;IACF,GAAG;QAACA;QAAae;QAAaJ;KAAS;IAEvC,MAAMS,cAAcF,OAAMC,WAAW,CACnC,CAACE;QACC,MAAMC,OAAeD,MAAME,aAAa,CAACC,OAAO,CAACF,IAAI,IAAI;QACzDX,qBAAAA,+BAAAA,SAAWc,OAAOH;IACpB,GACA;QAACX;KAAS;IAGZ,MAAMe,kBAAkBR,OAAMC,WAAW,CAAC;QACxC,IAAIR,YAAY,CAACK,YAAY;YAC3BL,SAASX,cAAc;QACzB;IACF,GAAG;QAACA;QAAagB;QAAYL;KAAS;IAEtC,MAAMgB,cAAcT,OAAMC,WAAW,CACnC,CAACG;QACC,OAAQA;YACN,KAAK;YACL,KAAK;gBACH,qBACE,qBAACM;oBAAGC,KAAKP;iCACP,qBAACQ,8CAAsB;oBAAC1B,UAAUA;;YAGxC;gBAAS;oBACP,MAAM2B,YAAYT,SAAStB;oBAC3B,qBACE,qBAAC4B;wBAAGC,KAAKP;qCACP,qBAACU,0CAAoB;wBACnB3B,cAAcA;wBACd0B,WAAWA;wBACXE,SAASb;wBACThB,UAAUA;uBAETkB;gBAIT;QACF;IACF,GACA;QAACtB;QAAaI;QAAUC;QAAce;KAAY;IAGpD,qBACE,qBAACc,4BAAa;QAACC,WAAU;QAAMC,MAAK;OAAiBxB,2BACnD,qBAACyB,8BAAc;QAACF,WAAW3B;OAA2BD,gCACtD,qBAAC+B;QAAGC,SAAS;qBACX,qBAACX;QAAGW,SAAS;qBACX,qBAACC,cAAM;QACLC,MAAK;QACLC,sBACE,0DACE,qBAACL,8BAAc,QAAE5B,kBAAkC,mBACnD,qBAACkC,+BAAwB;YAACC,OAAO;;QAGrCC,YAAW;QACXC,MAAK;QACL1C,UAAUW,eAAeX;QACzB6B,SAAShB;SAGZJ,MAAMkC,GAAG,CAACpB,4BACX,qBAACC;QAAGW,SAAS;qBACX,qBAACC,cAAM;QACLC,MAAK;QACLO,qBACE,0DACE,qBAACX,8BAAc,QAAE3B,gCACjB,qBAACuC,gCAAyB;YAACL,OAAO;;QAGtCC,YAAW;QACXC,MAAK;QACL1C,UAAUY,cAAcZ;QACxB6B,SAASP;;AAMrB"}
1
+ {"version":3,"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\nimport { PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { PaginationPageButton } from './PaginationPage/PaginationPageButton';\nimport { PaginationPageEllipsis } from './PaginationPage/PaginationPageEllipsis';\nimport { getPageLabelDefault } from './utils';\nimport styles from './Pagination.module.css';\n\nexport interface PaginationProps extends Omit<HTMLAttributesWithRootRef<HTMLElement>, 'onChange'> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Переопределение текста для обозначения блока навигации.\n * По умолчанию используется текст на \"ru_RU\".\n */\n navigationLabel?: string;\n navigationLabelComponent?: HasComponent['Component'];\n /**\n * Переопределение текста для кнопки навигации назад.\n * По умолчанию используется текст на \"ru_RU\".\n */\n prevButtonLabel?: string;\n /**\n * Переопределение текста для кнопки навигации вперёд.\n * По умолчанию используется текст на \"ru_RU\".\n */\n nextButtonLabel?: string;\n /**\n * Функция для переопределения и/или локализации текста кнопки страницы.\n * По умолчанию используется текст на \"ru_RU\".\n */\n getPageLabel?: (isCurrent: boolean) => string;\n onChange?: (page: number) => void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n getPageLabel = getPageLabelDefault,\n navigationLabel = 'Навигация по страницам',\n navigationLabelComponent = 'h2',\n prevButtonLabel = 'Перейти на предыдущую страницу',\n nextButtonLabel = 'Перейти на следующую страницу',\n onChange,\n ...resetProps\n}: PaginationProps) => {\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n const handlePrevClick = React.useCallback(() => {\n if (onChange && !isFirstPage) {\n onChange(currentPage - 1);\n }\n }, [currentPage, isFirstPage, onChange]);\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page));\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(() => {\n if (onChange && !isLastPage) {\n onChange(currentPage + 1);\n }\n }, [currentPage, isLastPage, onChange]);\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <PaginationPageEllipsis disabled={disabled} />\n </li>\n );\n default: {\n const isCurrent = page === currentPage;\n return (\n <li key={page}>\n <PaginationPageButton\n getPageLabel={getPageLabel}\n isCurrent={isCurrent}\n onClick={handleClick}\n disabled={disabled}\n >\n {page}\n </PaginationPageButton>\n </li>\n );\n }\n }\n },\n [currentPage, disabled, getPageLabel, handleClick],\n );\n\n return (\n <RootComponent Component=\"nav\" role=\"navigation\" {...resetProps}>\n <VisuallyHidden Component={navigationLabelComponent}>{navigationLabel}</VisuallyHidden>\n <ul className={styles['Pagination__list']}>\n <li className={styles['Pagination__prevButtonContainer']}>\n <Button\n size=\"l\"\n before={\n <>\n <VisuallyHidden>{prevButtonLabel}</VisuallyHidden>{' '}\n <Icon24ChevronCompactLeft width={24} />\n </>\n }\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isFirstPage || disabled}\n onClick={handlePrevClick}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles['Pagination__nextButtonContainer']}>\n <Button\n size=\"l\"\n after={\n <>\n <VisuallyHidden>{nextButtonLabel}</VisuallyHidden>\n <Icon24ChevronCompactRight width={24} />\n </>\n }\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isLastPage || disabled}\n onClick={handleNextClick}\n />\n </li>\n </ul>\n </RootComponent>\n );\n};\n"],"names":["Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageLabel","getPageLabelDefault","navigationLabel","navigationLabelComponent","prevButtonLabel","nextButtonLabel","onChange","resetProps","pages","usePagination","isFirstPage","isLastPage","handlePrevClick","React","useCallback","handleClick","event","page","currentTarget","dataset","Number","handleNextClick","renderPages","li","key","PaginationPageEllipsis","isCurrent","PaginationPageButton","onClick","RootComponent","Component","role","VisuallyHidden","ul","className","Button","size","before","Icon24ChevronCompactLeft","width","appearance","mode","map","after","Icon24ChevronCompactRight"],"mappings":";;;;+BA4DaA;;;eAAAA;;;;;;iEA5DU;uBAC6C;+BAClB;wBAE3B;+BACO;gCACC;sCACM;wCACE;uBACH;AAmD7B,MAAMA,aAAa;QAAC,EACzBC,cAAc,CAAC,EACfC,eAAe,CAAC,EAChBC,gBAAgB,CAAC,EACjBC,aAAa,CAAC,EACdC,QAAQ,EACRC,eAAeC,0BAAmB,EAClCC,kBAAkB,wBAAwB,EAC1CC,2BAA2B,IAAI,EAC/BC,kBAAkB,gCAAgC,EAClDC,kBAAkB,+BAA+B,EACjDC,QAAQ,EAEQ,WADbC;QAXHZ;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,QAAQC,IAAAA,4BAAa,EAAC;QAC1Bd;QACAG;QACAF;QACAC;IACF;IACA,MAAMa,cAAcf,gBAAgB;IACpC,MAAMgB,aAAahB,gBAAgBG;IAEnC,MAAMc,kBAAkBC,OAAMC,WAAW,CAAC;QACxC,IAAIR,YAAY,CAACI,aAAa;YAC5BJ,SAASX,cAAc;QACzB;IACF,GAAG;QAACA;QAAae;QAAaJ;KAAS;IAEvC,MAAMS,cAAcF,OAAMC,WAAW,CACnC,CAACE;QACC,MAAMC,OAAeD,MAAME,aAAa,CAACC,OAAO,CAACF,IAAI,IAAI;QACzDX,qBAAAA,+BAAAA,SAAWc,OAAOH;IACpB,GACA;QAACX;KAAS;IAGZ,MAAMe,kBAAkBR,OAAMC,WAAW,CAAC;QACxC,IAAIR,YAAY,CAACK,YAAY;YAC3BL,SAASX,cAAc;QACzB;IACF,GAAG;QAACA;QAAagB;QAAYL;KAAS;IAEtC,MAAMgB,cAAcT,OAAMC,WAAW,CACnC,CAACG;QACC,OAAQA;YACN,KAAK;YACL,KAAK;gBACH,qBACE,qBAACM;oBAAGC,KAAKP;iCACP,qBAACQ,8CAAsB;oBAAC1B,UAAUA;;YAGxC;gBAAS;oBACP,MAAM2B,YAAYT,SAAStB;oBAC3B,qBACE,qBAAC4B;wBAAGC,KAAKP;qCACP,qBAACU,0CAAoB;wBACnB3B,cAAcA;wBACd0B,WAAWA;wBACXE,SAASb;wBACThB,UAAUA;uBAETkB;gBAIT;QACF;IACF,GACA;QAACtB;QAAaI;QAAUC;QAAce;KAAY;IAGpD,qBACE,qBAACc,4BAAa;QAACC,WAAU;QAAMC,MAAK;OAAiBxB,2BACnD,qBAACyB,8BAAc;QAACF,WAAW3B;OAA2BD,gCACtD,qBAAC+B;QAAGC,SAAS;qBACX,qBAACX;QAAGW,SAAS;qBACX,qBAACC,cAAM;QACLC,MAAK;QACLC,sBACE,0DACE,qBAACL,8BAAc,QAAE5B,kBAAkC,mBACnD,qBAACkC,+BAAwB;YAACC,OAAO;;QAGrCC,YAAW;QACXC,MAAK;QACL1C,UAAUW,eAAeX;QACzB6B,SAAShB;SAGZJ,MAAMkC,GAAG,CAACpB,4BACX,qBAACC;QAAGW,SAAS;qBACX,qBAACC,cAAM;QACLC,MAAK;QACLO,qBACE,0DACE,qBAACX,8BAAc,QAAE3B,gCACjB,qBAACuC,gCAAyB;YAACL,OAAO;;QAGtCC,YAAW;QACXC,MAAK;QACL1C,UAAUY,cAAcZ;QACxB6B,SAASP;;AAMrB"}
@@ -3,11 +3,11 @@ import { NavIdProps } from '../../lib/getNavId';
3
3
  import { HTMLAttributesWithRootRef } from '../../types';
4
4
  export interface RootProps extends HTMLAttributesWithRootRef<HTMLDivElement>, NavIdProps {
5
5
  activeView: string;
6
- onTransition?(params: {
6
+ onTransition?: (params: {
7
7
  isBack: boolean;
8
8
  from: string;
9
9
  to: string;
10
- }): void;
10
+ }) => void;
11
11
  children: React.ReactElement | Iterable<React.ReactElement>;
12
12
  }
13
13
  export interface RootState {
@@ -1 +1 @@
1
- {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/components/Root/Root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AASxD,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU;IACtF,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,2EAMd,SAAS,sBA2HX,CAAC"}
1
+ {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/components/Root/Root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AASxD,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU;IACtF,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,2EAMd,SAAS,sBA2HX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Root/Root.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './Root.module.css';\n\nexport interface RootProps extends HTMLAttributesWithRootRef<HTMLDivElement>, NavIdProps {\n activeView: string;\n onTransition?(params: { isBack: boolean; from: string; to: string }): void;\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean;\n prevView?: string;\n}\n\nconst warn = warnOnce('Root');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Root\n */\nexport const Root = ({\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps) => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const scrolls = React.useRef<Record<string, number>>({}).current;\n const viewNodes = React.useRef<Record<string, HTMLElement | null>>({}).current;\n\n const { transitionMotionEnabled = true } = useConfigProvider();\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as React.ReactElement[];\n\n const [{ prevView, activeView, transition, isBack }, _setState] = React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls[activeView] = scroll.getScroll().y;\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: !disableAnimation,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView],\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls[activeView] : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition, prevView]);\n\n const fallbackTransition = useTimeout(finishTransition, platform === 'ios' ? 600 : 300);\n React.useEffect(() => {\n if (!transition) {\n fallbackTransition.clear();\n return;\n }\n fallbackTransition.set();\n }, [fallbackTransition, transition]);\n\n const onAnimationEnd = (e: React.AnimationEvent) => {\n if (\n [\n styles['root-android-animation-hide-back'],\n styles['root-android-animation-show-forward'],\n styles['root-ios-animation-hide-back'],\n styles['root-ios-animation-show-forward'],\n ].includes(e.animationName)\n ) {\n finishTransition();\n }\n };\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['Root'],\n platform === 'ios' && styles['Root--ios'],\n transition && styles['Root--transition'],\n )}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget = transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition && (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => viewId && (viewNodes[viewId] = e)}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n className={classNames(\n styles['Root__view'],\n transition && viewId === prevView && isBack && styles['Root__view--hide-back'],\n transition && viewId === prevView && !isBack && styles['Root__view--hide-forward'],\n transition && viewId === activeView && isBack && styles['Root__view--show-back'],\n transition && viewId === activeView && !isBack && styles['Root__view--show-forward'],\n )}\n >\n <NavTransitionDirectionProvider isBack={isBack}>\n <NavTransitionProvider entering={transition && viewId === activeView}>\n <div\n className={styles['Root__scrollCompensation']}\n style={{\n marginTop: compensateScroll ? viewId && -(scrolls[viewId] ?? 0) : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n );\n })}\n </RootComponent>\n );\n};\n"],"names":["Root","warn","warnOnce","children","activeView","_activeView","onTransition","nav","restProps","scroll","React","useContext","ScrollContext","platform","usePlatform","document","useDOM","scrolls","useRef","current","viewNodes","transitionMotionEnabled","useConfigProvider","animate","SplitColContext","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","useState","transitionTo","panel","viewIds","map","view","getNavId","props","indexOf","getScroll","y","finishTransition","useCallback","useIsomorphicLayoutEffect","activeElement","blur","scrollTo","Boolean","from","to","fallbackTransition","useTimeout","useEffect","clear","set","onAnimationEnd","e","includes","animationName","RootComponent","baseClassName","classNames","viewId","isTransitionTarget","compensateScroll","div","key","ref","undefined","className","NavTransitionDirectionProvider","NavTransitionProvider","entering","style","marginTop"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Root/Root.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './Root.module.css';\n\nexport interface RootProps extends HTMLAttributesWithRootRef<HTMLDivElement>, NavIdProps {\n activeView: string;\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean;\n prevView?: string;\n}\n\nconst warn = warnOnce('Root');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Root\n */\nexport const Root = ({\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps) => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const scrolls = React.useRef<Record<string, number>>({}).current;\n const viewNodes = React.useRef<Record<string, HTMLElement | null>>({}).current;\n\n const { transitionMotionEnabled = true } = useConfigProvider();\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as React.ReactElement[];\n\n const [{ prevView, activeView, transition, isBack }, _setState] = React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls[activeView] = scroll.getScroll().y;\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: !disableAnimation,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView],\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls[activeView] : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition, prevView]);\n\n const fallbackTransition = useTimeout(finishTransition, platform === 'ios' ? 600 : 300);\n React.useEffect(() => {\n if (!transition) {\n fallbackTransition.clear();\n return;\n }\n fallbackTransition.set();\n }, [fallbackTransition, transition]);\n\n const onAnimationEnd = (e: React.AnimationEvent) => {\n if (\n [\n styles['root-android-animation-hide-back'],\n styles['root-android-animation-show-forward'],\n styles['root-ios-animation-hide-back'],\n styles['root-ios-animation-show-forward'],\n ].includes(e.animationName)\n ) {\n finishTransition();\n }\n };\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['Root'],\n platform === 'ios' && styles['Root--ios'],\n transition && styles['Root--transition'],\n )}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget = transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition && (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => viewId && (viewNodes[viewId] = e)}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n className={classNames(\n styles['Root__view'],\n transition && viewId === prevView && isBack && styles['Root__view--hide-back'],\n transition && viewId === prevView && !isBack && styles['Root__view--hide-forward'],\n transition && viewId === activeView && isBack && styles['Root__view--show-back'],\n transition && viewId === activeView && !isBack && styles['Root__view--show-forward'],\n )}\n >\n <NavTransitionDirectionProvider isBack={isBack}>\n <NavTransitionProvider entering={transition && viewId === activeView}>\n <div\n className={styles['Root__scrollCompensation']}\n style={{\n marginTop: compensateScroll ? viewId && -(scrolls[viewId] ?? 0) : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n );\n })}\n </RootComponent>\n );\n};\n"],"names":["Root","warn","warnOnce","children","activeView","_activeView","onTransition","nav","restProps","scroll","React","useContext","ScrollContext","platform","usePlatform","document","useDOM","scrolls","useRef","current","viewNodes","transitionMotionEnabled","useConfigProvider","animate","SplitColContext","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","useState","transitionTo","panel","viewIds","map","view","getNavId","props","indexOf","getScroll","y","finishTransition","useCallback","useIsomorphicLayoutEffect","activeElement","blur","scrollTo","Boolean","from","to","fallbackTransition","useTimeout","useEffect","clear","set","onAnimationEnd","e","includes","animationName","RootComponent","baseClassName","classNames","viewId","isTransitionTarget","compensateScroll","div","key","ref","undefined","className","NavTransitionDirectionProvider","NavTransitionProvider","entering","style","marginTop"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControlOption.d.ts","sourceRoot":"","sources":["../../../../../src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKpD,MAAM,WAAW,2BACf,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,UAAU,CAAC,gBAAgB,CAAC,EAC5B,MAAM,CAAC,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,6EAQhC,2BAA2B,sBA+B7B,CAAC"}
1
+ {"version":3,"file":"SegmentedControlOption.d.ts","sourceRoot":"","sources":["../../../../../src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMpD,MAAM,WAAW,2BACf,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,UAAU,CAAC,gBAAgB,CAAC,EAC5B,MAAM,CAAC,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,6EAQhC,2BAA2B,sBAkB7B,CAAC"}
@@ -14,9 +14,7 @@ const _object_spread_props = require("@swc/helpers/_/_object_spread_props");
14
14
  const _object_without_properties = require("@swc/helpers/_/_object_without_properties");
15
15
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
16
16
  const _vkjs = require("@vkontakte/vkjs");
17
- const _useFocusVisible = require("../../../hooks/useFocusVisible");
18
- const _useFocusVisibleClassName = require("../../../hooks/useFocusVisibleClassName");
19
- const _callMultiple = require("../../../lib/callMultiple");
17
+ const _Clickable = require("../../Clickable/Clickable");
20
18
  const _Headline = require("../../Typography/Headline/Headline");
21
19
  const _VisuallyHidden = require("../../VisuallyHidden/VisuallyHidden");
22
20
  const SegmentedControlOption = (_param)=>{
@@ -28,20 +26,18 @@ const SegmentedControlOption = (_param)=>{
28
26
  "getRootRef",
29
27
  "before"
30
28
  ]);
31
- const { focusVisible, onBlur, onFocus } = (0, _useFocusVisible.useFocusVisible)();
32
- const focusVisibleClassNames = (0, _useFocusVisibleClassName.useFocusVisibleClassName)({
33
- focusVisible
34
- });
35
- return /*#__PURE__*/ _react.createElement("label", {
36
- className: (0, _vkjs.classNames)("vkuiSegmentedControlOption", restProps.checked && "vkuiSegmentedControlOption--checked", focusVisibleClassNames, className),
37
- ref: getRootRef,
29
+ return /*#__PURE__*/ _react.createElement(_Clickable.Clickable, {
30
+ Component: "label",
31
+ baseClassName: "vkuiSegmentedControlOption",
32
+ hoverClassName: "vkuiSegmentedControlOption--hover",
33
+ activeClassName: "vkuiSegmentedControlOption--hover",
34
+ className: className,
35
+ getRootRef: getRootRef,
38
36
  style: style
39
37
  }, /*#__PURE__*/ _react.createElement(_VisuallyHidden.VisuallyHidden, _object_spread_props._(_object_spread._({}, restProps), {
40
38
  Component: "input",
41
39
  getRootRef: getRef,
42
- type: "radio",
43
- onBlur: (0, _callMultiple.callMultiple)(onBlur, restProps.onBlur),
44
- onFocus: (0, _callMultiple.callMultiple)(onFocus, restProps.onFocus)
40
+ type: "radio"
45
41
  })), (0, _vkjs.hasReactNode)(before) && /*#__PURE__*/ _react.createElement("div", {
46
42
  className: "vkuiSegmentedControlOption__before"
47
43
  }, before), /*#__PURE__*/ _react.createElement(_Headline.Headline, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';\nimport { callMultiple } from '../../../lib/callMultiple';\nimport { HasRef, HasRootRef } from '../../../types';\nimport { Headline } from '../../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './SegmentedControlOption.module.css';\n\nexport interface SegmentedControlOptionProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement> {\n before?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SegmentedControl\n */\nexport const SegmentedControlOption = ({\n getRef,\n className,\n style,\n children,\n getRootRef,\n before,\n ...restProps\n}: SegmentedControlOptionProps) => {\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible });\n\n return (\n <label\n className={classNames(\n styles['SegmentedControlOption'],\n restProps.checked && styles['SegmentedControlOption--checked'],\n focusVisibleClassNames,\n className,\n )}\n ref={getRootRef}\n style={style}\n >\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n getRootRef={getRef}\n type=\"radio\"\n onBlur={callMultiple(onBlur, restProps.onBlur)}\n onFocus={callMultiple(onFocus, restProps.onFocus)}\n />\n {hasReactNode(before) && (\n <div className={styles['SegmentedControlOption__before']}>{before}</div>\n )}\n <Headline level=\"2\" weight=\"2\">\n {children}\n </Headline>\n </label>\n );\n};\n"],"names":["SegmentedControlOption","getRef","className","style","children","getRootRef","before","restProps","focusVisible","onBlur","onFocus","useFocusVisible","focusVisibleClassNames","useFocusVisibleClassName","label","classNames","checked","ref","VisuallyHidden","Component","type","callMultiple","hasReactNode","div","Headline","level","weight"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;;iEApBU;sBACkB;iCACT;0CACS;8BACZ;0BAEJ;gCACM;AAaxB,MAAMA,yBAAyB;QAAC,EACrCC,MAAM,EACNC,SAAS,EACTC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,MAAM,EAEsB,WADzBC;QANHN;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,YAAY,EAAEC,MAAM,EAAEC,OAAO,EAAE,GAAGC,IAAAA,gCAAe;IACzD,MAAMC,yBAAyBC,IAAAA,kDAAwB,EAAC;QAAEL;IAAa;IAEvE,qBACE,qBAACM;QACCZ,WAAWa,IAAAA,gBAAU,gCAEnBR,UAAUS,OAAO,2CACjBJ,wBACAV;QAEFe,KAAKZ;QACLF,OAAOA;qBAEP,qBAACe,8BAAc,8CACTX;QACJY,WAAU;QACVd,YAAYJ;QACZmB,MAAK;QACLX,QAAQY,IAAAA,0BAAY,EAACZ,QAAQF,UAAUE,MAAM;QAC7CC,SAASW,IAAAA,0BAAY,EAACX,SAASH,UAAUG,OAAO;SAEjDY,IAAAA,kBAAY,EAAChB,yBACZ,qBAACiB;QAAIrB,SAAS;OAA6CI,uBAE7D,qBAACkB,kBAAQ;QAACC,OAAM;QAAIC,QAAO;OACxBtB;AAIT"}
1
+ {"version":3,"sources":["../../../../../src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { HasRef, HasRootRef } from '../../../types';\nimport { Clickable } from '../../Clickable/Clickable';\nimport { Headline } from '../../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './SegmentedControlOption.module.css';\n\nexport interface SegmentedControlOptionProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement> {\n before?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SegmentedControl\n */\nexport const SegmentedControlOption = ({\n getRef,\n className,\n style,\n children,\n getRootRef,\n before,\n ...restProps\n}: SegmentedControlOptionProps) => (\n <Clickable\n Component=\"label\"\n baseClassName={styles['SegmentedControlOption']}\n hoverClassName={styles['SegmentedControlOption--hover']}\n activeClassName={styles['SegmentedControlOption--hover']}\n className={className}\n getRootRef={getRootRef}\n style={style}\n >\n <VisuallyHidden {...restProps} Component=\"input\" getRootRef={getRef} type=\"radio\" />\n {hasReactNode(before) && (\n <div className={styles['SegmentedControlOption__before']}>{before}</div>\n )}\n <Headline level=\"2\" weight=\"2\">\n {children}\n </Headline>\n </Clickable>\n);\n"],"names":["SegmentedControlOption","getRef","className","style","children","getRootRef","before","restProps","Clickable","Component","baseClassName","hoverClassName","activeClassName","VisuallyHidden","type","hasReactNode","div","Headline","level","weight"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;;iEAlBU;sBACM;2BAEH;0BACD;gCACM;AAaxB,MAAMA,yBAAyB;QAAC,EACrCC,MAAM,EACNC,SAAS,EACTC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,MAAM,EAEsB,WADzBC;QANHN;QACAC;QACAC;QACAC;QACAC;QACAC;;yBAGA,qBAACE,oBAAS;QACRC,WAAU;QACVC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfV,WAAWA;QACXG,YAAYA;QACZF,OAAOA;qBAEP,qBAACU,8BAAc,8CAAKN;QAAWE,WAAU;QAAQJ,YAAYJ;QAAQa,MAAK;SACzEC,IAAAA,kBAAY,EAACT,yBACZ,qBAACU;QAAId,SAAS;OAA6CI,uBAE7D,qBAACW,kBAAQ;QAACC,OAAM;QAAIC,QAAO;OACxBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleCell.d.ts","sourceRoot":"","sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAY/D,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,EAAE,aAAa;CAAG;AAE7E;;GAEG;AACH,eAAO,MAAM,UAAU,sNAiBpB,eAAe,sBA8EjB,CAAC"}
1
+ {"version":3,"file":"SimpleCell.d.ts","sourceRoot":"","sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAY/D,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,EAAE,aAAa;CAAG;AAE7E;;GAEG;AACH,eAAO,MAAM,UAAU,sNAiBpB,eAAe,sBAqFjB,CAAC"}
@@ -50,7 +50,7 @@ const SimpleCell = (_param)=>{
50
50
  return /*#__PURE__*/ _react.createElement(_Tappable.Tappable, _object_spread_props._(_object_spread._({}, restProps), {
51
51
  className: (0, _vkjs.classNames)("vkuiSimpleCell", sizeY !== 'regular' && sizeYClassNames[sizeY], multiline && "vkuiSimpleCell--mult", className)
52
52
  }), /*#__PURE__*/ _react.createElement("div", {
53
- className: "vkuiSimpleCell__before"
53
+ className: (0, _vkjs.classNames)("vkuiSimpleCell__before", platform === 'ios' && "vkuiSimpleCell__before--ios")
54
54
  }, before), /*#__PURE__*/ _react.createElement("div", {
55
55
  className: "vkuiSimpleCell__middle"
56
56
  }, subhead && /*#__PURE__*/ _react.createElement(_Subhead.Subhead, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasComponent } from '../../types';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Chevron } from './Chevron/Chevron';\nimport styles from './SimpleCell.module.css';\n\nconst sizeYClassNames = {\n none: styles['SimpleCell--sizeY-none'],\n ['compact']: styles['SimpleCell--sizeY-compact'],\n};\n\nexport interface SimpleCellOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится слева от текста `children`.\n */\n badgeBeforeTitle?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badgeAfterTitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится слева от текста `subtitle`.\n */\n badgeBeforeSubtitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится справа от текста `subtitle`.\n */\n badgeAfterSubtitle?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Дополнительная строка текста над `children`.\n */\n subhead?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Убирает анимацию нажатия\n */\n disabled?: boolean;\n /**\n * В режиме `auto` в iOS добавляет chevron справа.\n * Передавать `always`, если предполагается переход при клике по ячейке.\n */\n expandable?: 'auto' | 'always';\n /**\n * Размер chevron\n */\n chevronSize?: 's' | 'm';\n /**\n * Включает многострочный режим для отображения текста\n */\n multiline?: boolean;\n}\n\nexport interface SimpleCellProps extends SimpleCellOwnProps, TappableProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SimpleCell\n */\nexport const SimpleCell = ({\n badgeBeforeTitle,\n badgeAfterTitle,\n badgeBeforeSubtitle,\n badgeAfterSubtitle,\n before,\n indicator,\n children,\n after,\n expandable,\n multiline,\n subhead,\n subtitle,\n extraSubtitle,\n className,\n chevronSize = 'm',\n ...restProps\n}: SimpleCellProps) => {\n const platform = usePlatform();\n\n const hasChevron = expandable === 'always' || (expandable === 'auto' && platform === 'ios');\n\n const hasAfter = hasReactNode(after) || hasChevron;\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n className={classNames(\n styles['SimpleCell'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n multiline && styles['SimpleCell--mult'],\n className,\n )}\n >\n <div className={styles['SimpleCell__before']}>{before}</div>\n <div className={styles['SimpleCell__middle']}>\n {subhead && (\n <Subhead\n Component=\"span\"\n className={classNames(styles['SimpleCell__text'], styles['SimpleCell__subhead'])}\n >\n {subhead}\n </Subhead>\n )}\n <div className={styles['SimpleCell__content']}>\n {badgeBeforeTitle && (\n <span className={styles['SimpleCell__badge']}>{badgeBeforeTitle}</span>\n )}\n <Headline Component=\"span\" className={styles['SimpleCell__children']} weight=\"3\">\n {children}\n </Headline>\n {hasReactNode(badgeAfterTitle) && (\n <span className={styles['SimpleCell__badge']}>{badgeAfterTitle}</span>\n )}\n </div>\n {subtitle && (\n <div className={styles['SimpleCell__content']}>\n {badgeBeforeSubtitle && (\n <span className={styles['SimpleCell__badge']}>{badgeBeforeSubtitle}</span>\n )}\n <Footnote\n normalize={false}\n className={classNames(styles['SimpleCell__text'], styles['SimpleCell__subtitle'])}\n >\n {subtitle}\n </Footnote>\n {badgeAfterSubtitle && (\n <span className={styles['SimpleCell__badge']}>{badgeAfterSubtitle}</span>\n )}\n </div>\n )}\n {extraSubtitle && (\n <Footnote\n className={classNames(styles['SimpleCell__text'], styles['SimpleCell__extraSubtitle'])}\n >\n {extraSubtitle}\n </Footnote>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" className={styles['SimpleCell__indicator']}>\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div className={classNames(styles['SimpleCell__after'], 'vkuiInternalSimpleCell__after')}>\n {after}\n {hasChevron && (\n <Chevron size={chevronSize} className={styles['SimpleCell__chevronIcon']} />\n )}\n </div>\n )}\n </Tappable>\n );\n};\n"],"names":["SimpleCell","sizeYClassNames","none","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","expandable","multiline","subhead","subtitle","extraSubtitle","className","chevronSize","restProps","platform","usePlatform","hasChevron","hasAfter","hasReactNode","sizeY","useAdaptivity","Tappable","classNames","div","Subhead","Component","span","Headline","weight","Footnote","normalize","Chevron","size"],"mappings":";;;;+BAkFaA;;;eAAAA;;;;;;;iEAlFU;sBACkB;+BACX;6BACF;0BAEY;0BACf;0BACA;yBACD;yBACA;AAGxB,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAmEO,MAAMF,aAAa;QAAC,EACzBG,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACbC,SAAS,EACTC,cAAc,GAAG,EAED,WADbC;QAfHf;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWC,IAAAA,wBAAW;IAE5B,MAAMC,aAAaV,eAAe,YAAaA,eAAe,UAAUQ,aAAa;IAErF,MAAMG,WAAWC,IAAAA,kBAAY,EAACb,UAAUW;IACxC,MAAM,EAAEG,QAAQ,MAAM,EAAE,GAAGC,IAAAA,4BAAa;IAExC,qBACE,qBAACC,kBAAQ,8CACHR;QACJF,WAAWW,IAAAA,gBAAU,oBAEnBH,UAAU,aAAavB,eAAe,CAACuB,MAAM,EAC7CZ,qCACAI;sBAGF,qBAACY;QAAIZ,SAAS;OAAiCT,uBAC/C,qBAACqB;QAAIZ,SAAS;OACXH,yBACC,qBAACgB,gBAAO;QACNC,WAAU;QACVd,WAAWW,IAAAA,gBAAU;OAEpBd,wBAGL,qBAACe;QAAIZ,SAAS;OACXb,kCACC,qBAAC4B;QAAKf,SAAS;OAAgCb,iCAEjD,qBAAC6B,kBAAQ;QAACF,WAAU;QAAOd,SAAS;QAAkCiB,QAAO;OAC1ExB,WAEFc,IAAAA,kBAAY,EAACnB,kCACZ,qBAAC2B;QAAKf,SAAS;OAAgCZ,mBAGlDU,0BACC,qBAACc;QAAIZ,SAAS;OACXX,qCACC,qBAAC0B;QAAKf,SAAS;OAAgCX,oCAEjD,qBAAC6B,kBAAQ;QACPC,WAAW;QACXnB,WAAWW,IAAAA,gBAAU;OAEpBb,WAEFR,oCACC,qBAACyB;QAAKf,SAAS;OAAgCV,sBAIpDS,+BACC,qBAACmB,kBAAQ;QACPlB,WAAWW,IAAAA,gBAAU;OAEpBZ,iBAINQ,IAAAA,kBAAY,EAACf,4BACZ,qBAACwB,kBAAQ;QAACF,WAAU;QAAOG,QAAO;QAAIjB,SAAS;OAC5CR,YAGJc,0BACC,qBAACM;QAAIZ,WAAWW,IAAAA,gBAAU,2BAA8B;OACrDjB,OACAW,4BACC,qBAACe,gBAAO;QAACC,MAAMpB;QAAaD,SAAS;;AAMjD"}
1
+ {"version":3,"sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasComponent } from '../../types';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Chevron } from './Chevron/Chevron';\nimport styles from './SimpleCell.module.css';\n\nconst sizeYClassNames = {\n none: styles['SimpleCell--sizeY-none'],\n ['compact']: styles['SimpleCell--sizeY-compact'],\n};\n\nexport interface SimpleCellOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится слева от текста `children`.\n */\n badgeBeforeTitle?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badgeAfterTitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится слева от текста `subtitle`.\n */\n badgeBeforeSubtitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится справа от текста `subtitle`.\n */\n badgeAfterSubtitle?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Дополнительная строка текста над `children`.\n */\n subhead?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Убирает анимацию нажатия\n */\n disabled?: boolean;\n /**\n * В режиме `auto` в iOS добавляет chevron справа.\n * Передавать `always`, если предполагается переход при клике по ячейке.\n */\n expandable?: 'auto' | 'always';\n /**\n * Размер chevron\n */\n chevronSize?: 's' | 'm';\n /**\n * Включает многострочный режим для отображения текста\n */\n multiline?: boolean;\n}\n\nexport interface SimpleCellProps extends SimpleCellOwnProps, TappableProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SimpleCell\n */\nexport const SimpleCell = ({\n badgeBeforeTitle,\n badgeAfterTitle,\n badgeBeforeSubtitle,\n badgeAfterSubtitle,\n before,\n indicator,\n children,\n after,\n expandable,\n multiline,\n subhead,\n subtitle,\n extraSubtitle,\n className,\n chevronSize = 'm',\n ...restProps\n}: SimpleCellProps) => {\n const platform = usePlatform();\n\n const hasChevron = expandable === 'always' || (expandable === 'auto' && platform === 'ios');\n\n const hasAfter = hasReactNode(after) || hasChevron;\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n className={classNames(\n styles['SimpleCell'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n multiline && styles['SimpleCell--mult'],\n className,\n )}\n >\n <div\n className={classNames(\n styles['SimpleCell__before'],\n platform === 'ios' && styles['SimpleCell__before--ios'],\n )}\n >\n {before}\n </div>\n <div className={styles['SimpleCell__middle']}>\n {subhead && (\n <Subhead\n Component=\"span\"\n className={classNames(styles['SimpleCell__text'], styles['SimpleCell__subhead'])}\n >\n {subhead}\n </Subhead>\n )}\n <div className={styles['SimpleCell__content']}>\n {badgeBeforeTitle && (\n <span className={styles['SimpleCell__badge']}>{badgeBeforeTitle}</span>\n )}\n <Headline Component=\"span\" className={styles['SimpleCell__children']} weight=\"3\">\n {children}\n </Headline>\n {hasReactNode(badgeAfterTitle) && (\n <span className={styles['SimpleCell__badge']}>{badgeAfterTitle}</span>\n )}\n </div>\n {subtitle && (\n <div className={styles['SimpleCell__content']}>\n {badgeBeforeSubtitle && (\n <span className={styles['SimpleCell__badge']}>{badgeBeforeSubtitle}</span>\n )}\n <Footnote\n normalize={false}\n className={classNames(styles['SimpleCell__text'], styles['SimpleCell__subtitle'])}\n >\n {subtitle}\n </Footnote>\n {badgeAfterSubtitle && (\n <span className={styles['SimpleCell__badge']}>{badgeAfterSubtitle}</span>\n )}\n </div>\n )}\n {extraSubtitle && (\n <Footnote\n className={classNames(styles['SimpleCell__text'], styles['SimpleCell__extraSubtitle'])}\n >\n {extraSubtitle}\n </Footnote>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" className={styles['SimpleCell__indicator']}>\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div className={classNames(styles['SimpleCell__after'], 'vkuiInternalSimpleCell__after')}>\n {after}\n {hasChevron && (\n <Chevron size={chevronSize} className={styles['SimpleCell__chevronIcon']} />\n )}\n </div>\n )}\n </Tappable>\n );\n};\n"],"names":["SimpleCell","sizeYClassNames","none","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","expandable","multiline","subhead","subtitle","extraSubtitle","className","chevronSize","restProps","platform","usePlatform","hasChevron","hasAfter","hasReactNode","sizeY","useAdaptivity","Tappable","classNames","div","Subhead","Component","span","Headline","weight","Footnote","normalize","Chevron","size"],"mappings":";;;;+BAkFaA;;;eAAAA;;;;;;;iEAlFU;sBACkB;+BACX;6BACF;0BAEY;0BACf;0BACA;yBACD;yBACA;AAGxB,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAmEO,MAAMF,aAAa;QAAC,EACzBG,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACbC,SAAS,EACTC,cAAc,GAAG,EAED,WADbC;QAfHf;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWC,IAAAA,wBAAW;IAE5B,MAAMC,aAAaV,eAAe,YAAaA,eAAe,UAAUQ,aAAa;IAErF,MAAMG,WAAWC,IAAAA,kBAAY,EAACb,UAAUW;IACxC,MAAM,EAAEG,QAAQ,MAAM,EAAE,GAAGC,IAAAA,4BAAa;IAExC,qBACE,qBAACC,kBAAQ,8CACHR;QACJF,WAAWW,IAAAA,gBAAU,oBAEnBH,UAAU,aAAavB,eAAe,CAACuB,MAAM,EAC7CZ,qCACAI;sBAGF,qBAACY;QACCZ,WAAWW,IAAAA,gBAAU,4BAEnBR,aAAa;OAGdZ,uBAEH,qBAACqB;QAAIZ,SAAS;OACXH,yBACC,qBAACgB,gBAAO;QACNC,WAAU;QACVd,WAAWW,IAAAA,gBAAU;OAEpBd,wBAGL,qBAACe;QAAIZ,SAAS;OACXb,kCACC,qBAAC4B;QAAKf,SAAS;OAAgCb,iCAEjD,qBAAC6B,kBAAQ;QAACF,WAAU;QAAOd,SAAS;QAAkCiB,QAAO;OAC1ExB,WAEFc,IAAAA,kBAAY,EAACnB,kCACZ,qBAAC2B;QAAKf,SAAS;OAAgCZ,mBAGlDU,0BACC,qBAACc;QAAIZ,SAAS;OACXX,qCACC,qBAAC0B;QAAKf,SAAS;OAAgCX,oCAEjD,qBAAC6B,kBAAQ;QACPC,WAAW;QACXnB,WAAWW,IAAAA,gBAAU;OAEpBb,WAEFR,oCACC,qBAACyB;QAAKf,SAAS;OAAgCV,sBAIpDS,+BACC,qBAACmB,kBAAQ;QACPlB,WAAWW,IAAAA,gBAAU;OAEpBZ,iBAINQ,IAAAA,kBAAY,EAACf,4BACZ,qBAACwB,kBAAQ;QAACF,WAAU;QAAOG,QAAO;QAAIjB,SAAS;OAC5CR,YAGJc,0BACC,qBAACM;QAAIZ,WAAWW,IAAAA,gBAAU,2BAA8B;OACrDjB,OACAW,4BACC,qBAACe,gBAAO;QAACC,MAAMpB;QAAaD,SAAS;;AAMjD"}
@@ -11,7 +11,7 @@ export interface SliderBaseProps extends Omit<HTMLAttributesWithRootRef<HTMLDivE
11
11
  *
12
12
  * > Перебивает `aria-label`.
13
13
  */
14
- getAriaLabel?(index: number): string;
14
+ getAriaLabel?: (index: number) => string;
15
15
  /**
16
16
  * В отличие от `aria-valuetext`, позволяет более гибко форматировать текст в зависимости от значения ползунка.
17
17
  *
@@ -19,20 +19,20 @@ export interface SliderBaseProps extends Omit<HTMLAttributesWithRootRef<HTMLDivE
19
19
  *
20
20
  * > Перебивает `aria-valuetext`.
21
21
  */
22
- getAriaValueText?(value: number, index: number): string;
22
+ getAriaValueText?: (value: number, index: number) => string;
23
23
  withTooltip?: boolean;
24
24
  }
25
25
  export interface SliderProps extends SliderBaseProps {
26
26
  multiple?: false;
27
27
  value?: number;
28
28
  defaultValue?: number;
29
- onChange?(value: number, event: TouchEvent | React.ChangeEvent): void;
29
+ onChange?: (value: number, event: TouchEvent | React.ChangeEvent) => void;
30
30
  }
31
31
  export interface SliderMultipleProps extends SliderBaseProps {
32
32
  multiple: true;
33
33
  value?: [number, number];
34
34
  defaultValue?: [number, number];
35
- onChange?(value: [number, number], event: TouchEvent | React.ChangeEvent): void;
35
+ onChange?: (value: [number, number], event: TouchEvent | React.ChangeEvent) => void;
36
36
  }
37
37
  /**
38
38
  * @see https://vkcom.github.io/VKUI/#/Slider
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAS,KAAK,UAAU,EAA0B,MAAM,gBAAgB,CAAC;AAoBhF,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;IAC9F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;CACjF;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,qLAehB,WAAW,GAAG,mBAAmB,sBAkMnC,CAAC"}
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAS,KAAK,UAAU,EAA0B,MAAM,gBAAgB,CAAC;AAoBhF,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;IAC9F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;CAC3E;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;CACrF;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,qLAehB,WAAW,GAAG,mBAAmB,sBAkMnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { Touch, type TouchEvent, type TouchEventHandler } from '../Touch/Touch';\nimport { SliderThumb } from './SliderThumb/SliderThumb';\nimport {\n extractSliderAriaAttributesFromRestProps,\n getDraggingTypeByTargetDataset,\n isMultipleValues,\n offsetToValue,\n snapDirection,\n toPercent,\n updateInternalStateValue,\n updateInternalStateValueByNativeChange,\n} from './helpers';\nimport type { InternalGestureRef, InternalValueState } from './types';\nimport styles from './Slider.module.css';\n\nconst sizeYClassNames = {\n none: styles['Slider--sizeY-none'],\n ['compact']: styles['Slider--sizeY-compact'],\n};\n\nexport interface SliderBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'> {\n min?: number;\n max?: number;\n step?: number;\n disabled?: boolean;\n /**\n * Тоже самое, что и `aria-label`, но на вход можно получать индекс текущего ползунка и в зависимости от этого выдавать разный текст.\n *\n * > Перебивает `aria-label`.\n */\n getAriaLabel?(index: number): string;\n /**\n * В отличие от `aria-valuetext`, позволяет более гибко форматировать текст в зависимости от значения ползунка.\n *\n * Полезно при использовании компонента как неконтролируемого.\n *\n * > Перебивает `aria-valuetext`.\n */\n getAriaValueText?(value: number, index: number): string;\n withTooltip?: boolean;\n}\n\nexport interface SliderProps extends SliderBaseProps {\n multiple?: false;\n value?: number;\n defaultValue?: number;\n onChange?(value: number, event: TouchEvent | React.ChangeEvent): void;\n}\n\nexport interface SliderMultipleProps extends SliderBaseProps {\n multiple: true;\n value?: [number, number];\n defaultValue?: [number, number];\n onChange?(value: [number, number], event: TouchEvent | React.ChangeEvent): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Slider\n */\nexport const Slider = ({\n step = 1,\n min = 0,\n max = 100,\n value: valueProp,\n multiple: multipleProp,\n defaultValue = multipleProp ? [min, max] : min,\n disabled,\n className,\n getRootRef,\n getAriaLabel,\n getAriaValueText,\n onChange,\n withTooltip,\n ...restProps\n}: SliderProps | SliderMultipleProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const isControlled = valueProp !== undefined;\n const [localValue, setValue] = React.useState(defaultValue);\n\n const value = React.useMemo<InternalValueState>(() => {\n const resolvedValue = isControlled ? valueProp : localValue;\n return Array.isArray(resolvedValue)\n ? [clamp(resolvedValue[0], min, max), clamp(resolvedValue[1], min, max)]\n : [clamp(resolvedValue, min, max), null];\n }, [isControlled, valueProp, localValue, min, max]);\n\n const [startValue, endValue] = value;\n const multiple = multipleProp && endValue !== null;\n const startValueInPercent = toPercent(startValue, min, max);\n const endReversedValueInPercent = multiple ? toPercent(endValue, min, max) : 0;\n\n const gesture = React.useRef<InternalGestureRef>({\n dragging: null,\n startX: 0,\n containerWidth: 0,\n }).current;\n const thumbsContainerRef = useExternRef(getRootRef);\n const thumbStartInputRef = React.useRef<HTMLInputElement>(null);\n const thumbEndInputRef = React.useRef<HTMLInputElement>(null);\n\n const { ariaLabel, ariaValueText, ariaLabelledBy, ...restPropsWithoutAriaAttributes } =\n extractSliderAriaAttributesFromRestProps(restProps);\n\n const changeValue = (nextValue: InternalValueState, event: TouchEvent | React.ChangeEvent) => {\n if (disabled || (value[0] === nextValue[0] && value[1] === nextValue[1])) {\n return;\n }\n\n if (multipleProp) {\n if (isMultipleValues(nextValue)) {\n !isControlled && setValue(nextValue);\n onChange && onChange(nextValue, event);\n }\n } else {\n !isControlled && setValue(nextValue[0]);\n onChange && onChange(nextValue[0], event);\n }\n };\n\n const handlePointerStart: TouchEventHandler = (event: TouchEvent) => {\n if (!thumbsContainerRef.current) {\n return;\n }\n\n const { left: nextContainerX, width: nextContainerWidth } =\n thumbsContainerRef.current.getBoundingClientRect();\n\n // @ts-expect-error: TS2345 в VKUITouchEvent плохо описаны типы. `target` это просто `EventTarget`.\n const foundDraggingType = getDraggingTypeByTargetDataset(event.originalEvent.target);\n\n const nextStartX = event.startX - nextContainerX;\n const nextValue = offsetToValue(nextStartX, nextContainerWidth, min, max, step);\n const nextDragging = snapDirection(value, nextValue, foundDraggingType);\n\n gesture.dragging = nextDragging;\n gesture.containerWidth = nextContainerWidth;\n gesture.startX = nextStartX;\n\n const updatedInternalStateValue = updateInternalStateValue(\n value,\n nextValue,\n min,\n max,\n nextDragging,\n );\n\n const [nextStartValue, nextEndValue] = updatedInternalStateValue;\n if (\n thumbStartInputRef.current &&\n (foundDraggingType === 'start' ||\n (nextStartValue !== startValue && nextEndValue === endValue))\n ) {\n thumbStartInputRef.current.focus();\n event.originalEvent.preventDefault();\n } else if (\n thumbEndInputRef.current &&\n (foundDraggingType === 'end' || (nextEndValue !== endValue && nextStartValue === startValue))\n ) {\n thumbEndInputRef.current.focus();\n event.originalEvent.preventDefault();\n }\n\n changeValue(updatedInternalStateValue, event);\n\n event.originalEvent.stopPropagation();\n };\n\n const handlePointerMove: TouchEventHandler = (event: TouchEvent) => {\n const { startX, containerWidth, dragging } = gesture;\n\n const { shiftX = 0 } = event;\n const nextStartX = startX + shiftX;\n const nextValue = offsetToValue(nextStartX, containerWidth, min, max, step);\n\n changeValue(updateInternalStateValue(value, nextValue, min, max, dragging), event);\n\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n };\n\n const handlePointerEnd: TouchEventHandler = (event) => {\n gesture.dragging = null;\n event.originalEvent.stopPropagation();\n };\n\n const handleChangeByNativeInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n changeValue(\n updateInternalStateValueByNativeChange(\n value,\n Number(event.target.value),\n getDraggingTypeByTargetDataset(event.target),\n ),\n event,\n );\n };\n\n return (\n <Touch\n data-value={multiple ? `${startValue},${endValue}` : startValue}\n {...restPropsWithoutAriaAttributes}\n className={classNames(\n styles['Slider'],\n disabled && styles['Slider--disabled'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n onStart={disabled ? undefined : handlePointerStart}\n onMove={disabled ? undefined : handlePointerMove}\n onEnd={disabled ? undefined : handlePointerEnd}\n >\n <div className={styles['Slider__track']} />\n <div\n className={styles['Slider__track-fill']}\n style={\n multiple\n ? { left: `${startValueInPercent}%`, right: `${100 - endReversedValueInPercent}%` }\n : { width: `${startValueInPercent}%` }\n }\n />\n <div ref={thumbsContainerRef} className={styles['Slider__thumbs']}>\n <SliderThumb\n data-type=\"start\"\n className={styles['Slider__thumb']}\n style={{\n left: `${startValueInPercent}%`,\n // Меняем местами порядок слоёв, иначе, при достижении `start` и `end` 100%, `end` будет перекрывать `start`.\n zIndex: multiple && startValueInPercent >= 50 ? 2 : undefined,\n }}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'start',\n 'ref': thumbStartInputRef,\n 'step': step,\n 'min': min,\n 'value': startValue,\n 'max': multiple ? endValue : max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(0) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(startValue, 0) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n />\n {multiple && (\n <SliderThumb\n data-type=\"end\"\n className={styles['Slider__thumb']}\n style={{ left: `${endReversedValueInPercent}%` }}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'end',\n 'ref': thumbEndInputRef,\n 'step': step,\n 'min': startValue,\n 'value': endValue,\n 'max': max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(1) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(endValue, 1) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n />\n )}\n </div>\n </Touch>\n );\n};\n"],"names":["Slider","sizeYClassNames","none","step","min","max","value","valueProp","multiple","multipleProp","defaultValue","disabled","className","getRootRef","getAriaLabel","getAriaValueText","onChange","withTooltip","restProps","sizeY","useAdaptivity","isControlled","undefined","localValue","setValue","React","useState","useMemo","resolvedValue","Array","isArray","clamp","startValue","endValue","startValueInPercent","toPercent","endReversedValueInPercent","gesture","useRef","dragging","startX","containerWidth","current","thumbsContainerRef","useExternRef","thumbStartInputRef","thumbEndInputRef","extractSliderAriaAttributesFromRestProps","ariaLabel","ariaValueText","ariaLabelledBy","restPropsWithoutAriaAttributes","changeValue","nextValue","event","isMultipleValues","handlePointerStart","left","nextContainerX","width","nextContainerWidth","getBoundingClientRect","foundDraggingType","getDraggingTypeByTargetDataset","originalEvent","target","nextStartX","offsetToValue","nextDragging","snapDirection","updatedInternalStateValue","updateInternalStateValue","nextStartValue","nextEndValue","focus","preventDefault","stopPropagation","handlePointerMove","shiftX","handlePointerEnd","handleChangeByNativeInput","updateInternalStateValueByNativeChange","Number","Touch","data-value","classNames","onStart","onMove","onEnd","div","style","right","ref","SliderThumb","data-type","zIndex","inputProps"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { Touch, type TouchEvent, type TouchEventHandler } from '../Touch/Touch';\nimport { SliderThumb } from './SliderThumb/SliderThumb';\nimport {\n extractSliderAriaAttributesFromRestProps,\n getDraggingTypeByTargetDataset,\n isMultipleValues,\n offsetToValue,\n snapDirection,\n toPercent,\n updateInternalStateValue,\n updateInternalStateValueByNativeChange,\n} from './helpers';\nimport type { InternalGestureRef, InternalValueState } from './types';\nimport styles from './Slider.module.css';\n\nconst sizeYClassNames = {\n none: styles['Slider--sizeY-none'],\n ['compact']: styles['Slider--sizeY-compact'],\n};\n\nexport interface SliderBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'> {\n min?: number;\n max?: number;\n step?: number;\n disabled?: boolean;\n /**\n * Тоже самое, что и `aria-label`, но на вход можно получать индекс текущего ползунка и в зависимости от этого выдавать разный текст.\n *\n * > Перебивает `aria-label`.\n */\n getAriaLabel?: (index: number) => string;\n /**\n * В отличие от `aria-valuetext`, позволяет более гибко форматировать текст в зависимости от значения ползунка.\n *\n * Полезно при использовании компонента как неконтролируемого.\n *\n * > Перебивает `aria-valuetext`.\n */\n getAriaValueText?: (value: number, index: number) => string;\n withTooltip?: boolean;\n}\n\nexport interface SliderProps extends SliderBaseProps {\n multiple?: false;\n value?: number;\n defaultValue?: number;\n onChange?: (value: number, event: TouchEvent | React.ChangeEvent) => void;\n}\n\nexport interface SliderMultipleProps extends SliderBaseProps {\n multiple: true;\n value?: [number, number];\n defaultValue?: [number, number];\n onChange?: (value: [number, number], event: TouchEvent | React.ChangeEvent) => void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Slider\n */\nexport const Slider = ({\n step = 1,\n min = 0,\n max = 100,\n value: valueProp,\n multiple: multipleProp,\n defaultValue = multipleProp ? [min, max] : min,\n disabled,\n className,\n getRootRef,\n getAriaLabel,\n getAriaValueText,\n onChange,\n withTooltip,\n ...restProps\n}: SliderProps | SliderMultipleProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const isControlled = valueProp !== undefined;\n const [localValue, setValue] = React.useState(defaultValue);\n\n const value = React.useMemo<InternalValueState>(() => {\n const resolvedValue = isControlled ? valueProp : localValue;\n return Array.isArray(resolvedValue)\n ? [clamp(resolvedValue[0], min, max), clamp(resolvedValue[1], min, max)]\n : [clamp(resolvedValue, min, max), null];\n }, [isControlled, valueProp, localValue, min, max]);\n\n const [startValue, endValue] = value;\n const multiple = multipleProp && endValue !== null;\n const startValueInPercent = toPercent(startValue, min, max);\n const endReversedValueInPercent = multiple ? toPercent(endValue, min, max) : 0;\n\n const gesture = React.useRef<InternalGestureRef>({\n dragging: null,\n startX: 0,\n containerWidth: 0,\n }).current;\n const thumbsContainerRef = useExternRef(getRootRef);\n const thumbStartInputRef = React.useRef<HTMLInputElement>(null);\n const thumbEndInputRef = React.useRef<HTMLInputElement>(null);\n\n const { ariaLabel, ariaValueText, ariaLabelledBy, ...restPropsWithoutAriaAttributes } =\n extractSliderAriaAttributesFromRestProps(restProps);\n\n const changeValue = (nextValue: InternalValueState, event: TouchEvent | React.ChangeEvent) => {\n if (disabled || (value[0] === nextValue[0] && value[1] === nextValue[1])) {\n return;\n }\n\n if (multipleProp) {\n if (isMultipleValues(nextValue)) {\n !isControlled && setValue(nextValue);\n onChange && onChange(nextValue, event);\n }\n } else {\n !isControlled && setValue(nextValue[0]);\n onChange && onChange(nextValue[0], event);\n }\n };\n\n const handlePointerStart: TouchEventHandler = (event: TouchEvent) => {\n if (!thumbsContainerRef.current) {\n return;\n }\n\n const { left: nextContainerX, width: nextContainerWidth } =\n thumbsContainerRef.current.getBoundingClientRect();\n\n // @ts-expect-error: TS2345 в VKUITouchEvent плохо описаны типы. `target` это просто `EventTarget`.\n const foundDraggingType = getDraggingTypeByTargetDataset(event.originalEvent.target);\n\n const nextStartX = event.startX - nextContainerX;\n const nextValue = offsetToValue(nextStartX, nextContainerWidth, min, max, step);\n const nextDragging = snapDirection(value, nextValue, foundDraggingType);\n\n gesture.dragging = nextDragging;\n gesture.containerWidth = nextContainerWidth;\n gesture.startX = nextStartX;\n\n const updatedInternalStateValue = updateInternalStateValue(\n value,\n nextValue,\n min,\n max,\n nextDragging,\n );\n\n const [nextStartValue, nextEndValue] = updatedInternalStateValue;\n if (\n thumbStartInputRef.current &&\n (foundDraggingType === 'start' ||\n (nextStartValue !== startValue && nextEndValue === endValue))\n ) {\n thumbStartInputRef.current.focus();\n event.originalEvent.preventDefault();\n } else if (\n thumbEndInputRef.current &&\n (foundDraggingType === 'end' || (nextEndValue !== endValue && nextStartValue === startValue))\n ) {\n thumbEndInputRef.current.focus();\n event.originalEvent.preventDefault();\n }\n\n changeValue(updatedInternalStateValue, event);\n\n event.originalEvent.stopPropagation();\n };\n\n const handlePointerMove: TouchEventHandler = (event: TouchEvent) => {\n const { startX, containerWidth, dragging } = gesture;\n\n const { shiftX = 0 } = event;\n const nextStartX = startX + shiftX;\n const nextValue = offsetToValue(nextStartX, containerWidth, min, max, step);\n\n changeValue(updateInternalStateValue(value, nextValue, min, max, dragging), event);\n\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n };\n\n const handlePointerEnd: TouchEventHandler = (event) => {\n gesture.dragging = null;\n event.originalEvent.stopPropagation();\n };\n\n const handleChangeByNativeInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n changeValue(\n updateInternalStateValueByNativeChange(\n value,\n Number(event.target.value),\n getDraggingTypeByTargetDataset(event.target),\n ),\n event,\n );\n };\n\n return (\n <Touch\n data-value={multiple ? `${startValue},${endValue}` : startValue}\n {...restPropsWithoutAriaAttributes}\n className={classNames(\n styles['Slider'],\n disabled && styles['Slider--disabled'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n onStart={disabled ? undefined : handlePointerStart}\n onMove={disabled ? undefined : handlePointerMove}\n onEnd={disabled ? undefined : handlePointerEnd}\n >\n <div className={styles['Slider__track']} />\n <div\n className={styles['Slider__track-fill']}\n style={\n multiple\n ? { left: `${startValueInPercent}%`, right: `${100 - endReversedValueInPercent}%` }\n : { width: `${startValueInPercent}%` }\n }\n />\n <div ref={thumbsContainerRef} className={styles['Slider__thumbs']}>\n <SliderThumb\n data-type=\"start\"\n className={styles['Slider__thumb']}\n style={{\n left: `${startValueInPercent}%`,\n // Меняем местами порядок слоёв, иначе, при достижении `start` и `end` 100%, `end` будет перекрывать `start`.\n zIndex: multiple && startValueInPercent >= 50 ? 2 : undefined,\n }}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'start',\n 'ref': thumbStartInputRef,\n 'step': step,\n 'min': min,\n 'value': startValue,\n 'max': multiple ? endValue : max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(0) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(startValue, 0) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n />\n {multiple && (\n <SliderThumb\n data-type=\"end\"\n className={styles['Slider__thumb']}\n style={{ left: `${endReversedValueInPercent}%` }}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'end',\n 'ref': thumbEndInputRef,\n 'step': step,\n 'min': startValue,\n 'value': endValue,\n 'max': max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(1) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(endValue, 1) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n />\n )}\n </div>\n </Touch>\n );\n};\n"],"names":["Slider","sizeYClassNames","none","step","min","max","value","valueProp","multiple","multipleProp","defaultValue","disabled","className","getRootRef","getAriaLabel","getAriaValueText","onChange","withTooltip","restProps","sizeY","useAdaptivity","isControlled","undefined","localValue","setValue","React","useState","useMemo","resolvedValue","Array","isArray","clamp","startValue","endValue","startValueInPercent","toPercent","endReversedValueInPercent","gesture","useRef","dragging","startX","containerWidth","current","thumbsContainerRef","useExternRef","thumbStartInputRef","thumbEndInputRef","extractSliderAriaAttributesFromRestProps","ariaLabel","ariaValueText","ariaLabelledBy","restPropsWithoutAriaAttributes","changeValue","nextValue","event","isMultipleValues","handlePointerStart","left","nextContainerX","width","nextContainerWidth","getBoundingClientRect","foundDraggingType","getDraggingTypeByTargetDataset","originalEvent","target","nextStartX","offsetToValue","nextDragging","snapDirection","updatedInternalStateValue","updateInternalStateValue","nextStartValue","nextEndValue","focus","preventDefault","stopPropagation","handlePointerMove","shiftX","handlePointerEnd","handleChangeByNativeInput","updateInternalStateValueByNativeChange","Number","Touch","data-value","classNames","onStart","onMove","onEnd","div","style","right","ref","SliderThumb","data-type","zIndex","inputProps"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { HasRef, HasRootRef } from '../../types';
3
3
  import { FormFieldProps } from '../FormField/FormField';
4
4
  export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'onResize'>, HasRef<HTMLTextAreaElement>, HasRootRef<HTMLElement>, Pick<React.CSSProperties, 'maxHeight'>, Pick<FormFieldProps, 'status'> {
5
5
  grow?: boolean;
6
- onResize?(el: HTMLTextAreaElement): void;
6
+ onResize?: (el: HTMLTextAreaElement) => void;
7
7
  defaultValue?: string;
8
8
  }
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,cAAc,EAAE,MAAM,wBAAwB,CAAC;AASnE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,EACzE,MAAM,CAAC,mBAAmB,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,EACvB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,EACtC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,8GAYlB,aAAa,sBA6Cf,CAAC"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,cAAc,EAAE,MAAM,wBAAwB,CAAC;AASnE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,EACzE,MAAM,CAAC,mBAAmB,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,EACvB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,EACtC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,8GAYlB,aAAa,sBA6Cf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { HasRef, HasRootRef } from '../../types';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './Textarea.module.css';\n\nconst sizeYClassNames = {\n none: styles['Textarea--sizeY-none'],\n ['compact']: styles['Textarea--sizeY-compact'],\n};\n\nexport interface TextareaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'onResize'>,\n HasRef<HTMLTextAreaElement>,\n HasRootRef<HTMLElement>,\n Pick<React.CSSProperties, 'maxHeight'>,\n Pick<FormFieldProps, 'status'> {\n grow?: boolean;\n onResize?(el: HTMLTextAreaElement): void;\n defaultValue?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Textarea\n */\nexport const Textarea = ({\n grow = true,\n style,\n onResize,\n className,\n getRootRef,\n getRef,\n rows = 2,\n maxHeight,\n status,\n onChange,\n ...restProps\n}: TextareaProps) => {\n const currentScrollHeight = React.useRef<number>();\n const elementRef = useExternRef(getRef);\n const { sizeY = 'none' } = useAdaptivity();\n\n const autosizeInput = () => {\n const el = elementRef.current;\n\n if (grow && el?.offsetParent) {\n el.style.height = '';\n el.style.height = `${el.scrollHeight}px`;\n\n if (el.scrollHeight !== currentScrollHeight.current && onResize) {\n onResize(el);\n currentScrollHeight.current = el.scrollHeight;\n }\n }\n };\n\n React.useEffect(autosizeInput, [grow, sizeY, elementRef, onResize]);\n\n return (\n <FormField\n className={classNames(\n styles['Textarea'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n status={status}\n >\n <Text\n {...restProps}\n Component=\"textarea\"\n normalize={false}\n style={{ maxHeight }}\n rows={rows}\n className={styles['Textarea__el']}\n onChange={callMultiple(onChange, autosizeInput)}\n getRootRef={elementRef}\n />\n </FormField>\n );\n};\n"],"names":["Textarea","sizeYClassNames","none","grow","style","onResize","className","getRootRef","getRef","rows","maxHeight","status","onChange","restProps","currentScrollHeight","React","useRef","elementRef","useExternRef","sizeY","useAdaptivity","autosizeInput","el","current","offsetParent","height","scrollHeight","useEffect","FormField","classNames","disabled","Text","Component","normalize","callMultiple"],"mappings":";;;;+BA6BaA;;;eAAAA;;;;;;;iEA7BU;sBACI;+BACG;8BACD;8BACA;2BAEa;sBACrB;AAGrB,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAgBO,MAAMF,WAAW;QAAC,EACvBG,OAAO,IAAI,EACXC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,OAAO,CAAC,EACRC,SAAS,EACTC,MAAM,EACNC,QAAQ,EAEM,WADXC;QAVHV;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,sBAAsBC,OAAMC,MAAM;IACxC,MAAMC,aAAaC,IAAAA,0BAAY,EAACV;IAChC,MAAM,EAAEW,QAAQ,MAAM,EAAE,GAAGC,IAAAA,4BAAa;IAExC,MAAMC,gBAAgB;QACpB,MAAMC,KAAKL,WAAWM,OAAO;QAE7B,IAAIpB,SAAQmB,eAAAA,yBAAAA,GAAIE,YAAY,GAAE;YAC5BF,GAAGlB,KAAK,CAACqB,MAAM,GAAG;YAClBH,GAAGlB,KAAK,CAACqB,MAAM,GAAG,CAAC,EAAEH,GAAGI,YAAY,CAAC,EAAE,CAAC;YAExC,IAAIJ,GAAGI,YAAY,KAAKZ,oBAAoBS,OAAO,IAAIlB,UAAU;gBAC/DA,SAASiB;gBACTR,oBAAoBS,OAAO,GAAGD,GAAGI,YAAY;YAC/C;QACF;IACF;IAEAX,OAAMY,SAAS,CAACN,eAAe;QAAClB;QAAMgB;QAAOF;QAAYZ;KAAS;IAElE,qBACE,qBAACuB,oBAAS;QACRtB,WAAWuB,IAAAA,gBAAU,kBAEnBV,UAAU,aAAalB,eAAe,CAACkB,MAAM,EAC7Cb;QAEFF,OAAOA;QACPG,YAAYA;QACZuB,UAAUjB,UAAUiB,QAAQ;QAC5BnB,QAAQA;qBAER,qBAACoB,UAAI,8CACClB;QACJmB,WAAU;QACVC,WAAW;QACX7B,OAAO;YAAEM;QAAU;QACnBD,MAAMA;QACNH,SAAS;QACTM,UAAUsB,IAAAA,0BAAY,EAACtB,UAAUS;QACjCd,YAAYU;;AAIpB"}
1
+ {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { HasRef, HasRootRef } from '../../types';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './Textarea.module.css';\n\nconst sizeYClassNames = {\n none: styles['Textarea--sizeY-none'],\n ['compact']: styles['Textarea--sizeY-compact'],\n};\n\nexport interface TextareaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'onResize'>,\n HasRef<HTMLTextAreaElement>,\n HasRootRef<HTMLElement>,\n Pick<React.CSSProperties, 'maxHeight'>,\n Pick<FormFieldProps, 'status'> {\n grow?: boolean;\n onResize?: (el: HTMLTextAreaElement) => void;\n defaultValue?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Textarea\n */\nexport const Textarea = ({\n grow = true,\n style,\n onResize,\n className,\n getRootRef,\n getRef,\n rows = 2,\n maxHeight,\n status,\n onChange,\n ...restProps\n}: TextareaProps) => {\n const currentScrollHeight = React.useRef<number>();\n const elementRef = useExternRef(getRef);\n const { sizeY = 'none' } = useAdaptivity();\n\n const autosizeInput = () => {\n const el = elementRef.current;\n\n if (grow && el?.offsetParent) {\n el.style.height = '';\n el.style.height = `${el.scrollHeight}px`;\n\n if (el.scrollHeight !== currentScrollHeight.current && onResize) {\n onResize(el);\n currentScrollHeight.current = el.scrollHeight;\n }\n }\n };\n\n React.useEffect(autosizeInput, [grow, sizeY, elementRef, onResize]);\n\n return (\n <FormField\n className={classNames(\n styles['Textarea'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n status={status}\n >\n <Text\n {...restProps}\n Component=\"textarea\"\n normalize={false}\n style={{ maxHeight }}\n rows={rows}\n className={styles['Textarea__el']}\n onChange={callMultiple(onChange, autosizeInput)}\n getRootRef={elementRef}\n />\n </FormField>\n );\n};\n"],"names":["Textarea","sizeYClassNames","none","grow","style","onResize","className","getRootRef","getRef","rows","maxHeight","status","onChange","restProps","currentScrollHeight","React","useRef","elementRef","useExternRef","sizeY","useAdaptivity","autosizeInput","el","current","offsetParent","height","scrollHeight","useEffect","FormField","classNames","disabled","Text","Component","normalize","callMultiple"],"mappings":";;;;+BA6BaA;;;eAAAA;;;;;;;iEA7BU;sBACI;+BACG;8BACD;8BACA;2BAEa;sBACrB;AAGrB,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAgBO,MAAMF,WAAW;QAAC,EACvBG,OAAO,IAAI,EACXC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,OAAO,CAAC,EACRC,SAAS,EACTC,MAAM,EACNC,QAAQ,EAEM,WADXC;QAVHV;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,sBAAsBC,OAAMC,MAAM;IACxC,MAAMC,aAAaC,IAAAA,0BAAY,EAACV;IAChC,MAAM,EAAEW,QAAQ,MAAM,EAAE,GAAGC,IAAAA,4BAAa;IAExC,MAAMC,gBAAgB;QACpB,MAAMC,KAAKL,WAAWM,OAAO;QAE7B,IAAIpB,SAAQmB,eAAAA,yBAAAA,GAAIE,YAAY,GAAE;YAC5BF,GAAGlB,KAAK,CAACqB,MAAM,GAAG;YAClBH,GAAGlB,KAAK,CAACqB,MAAM,GAAG,CAAC,EAAEH,GAAGI,YAAY,CAAC,EAAE,CAAC;YAExC,IAAIJ,GAAGI,YAAY,KAAKZ,oBAAoBS,OAAO,IAAIlB,UAAU;gBAC/DA,SAASiB;gBACTR,oBAAoBS,OAAO,GAAGD,GAAGI,YAAY;YAC/C;QACF;IACF;IAEAX,OAAMY,SAAS,CAACN,eAAe;QAAClB;QAAMgB;QAAOF;QAAYZ;KAAS;IAElE,qBACE,qBAACuB,oBAAS;QACRtB,WAAWuB,IAAAA,gBAAU,kBAEnBV,UAAU,aAAalB,eAAe,CAACkB,MAAM,EAC7Cb;QAEFF,OAAOA;QACPG,YAAYA;QACZuB,UAAUjB,UAAUiB,QAAQ;QAC5BnB,QAAQA;qBAER,qBAACoB,UAAI,8CACClB;QACJmB,WAAU;QACVC,WAAW;QACX7B,OAAO;YAAEM;QAAU;QACnBD,MAAMA;QACNH,SAAS;QACTM,UAAUsB,IAAAA,0BAAY,EAACtB,UAAUS;QACjCd,YAAYU;;AAIpB"}
@@ -10,25 +10,25 @@ interface ViewsScrolls {
10
10
  export declare let scrollsCache: ViewsScrolls;
11
11
  export interface ViewProps extends HTMLAttributesWithRootRef<HTMLElement>, NavIdProps {
12
12
  activePanel: string;
13
- onTransition?(params: {
13
+ onTransition?: (params: {
14
14
  isBack: boolean;
15
15
  from: string;
16
16
  to: string;
17
- }): void;
17
+ }) => void;
18
18
  /**
19
19
  * callback свайпа назад
20
20
  */
21
- onSwipeBack?(): void;
21
+ onSwipeBack?: () => void;
22
22
  /**
23
23
  * callback начала анимации свайпа назад.
24
24
  *
25
25
  * Чтобы остановить свайп назад, возвращайте `"prevent"`.
26
26
  */
27
- onSwipeBackStart?(activePanel: string | null): void | 'prevent';
27
+ onSwipeBackStart?: (activePanel: string | null) => void | 'prevent';
28
28
  /**
29
29
  * callback завершения анимации отмененного пользователем свайпа
30
30
  */
31
- onSwipeBackCancel?(): void;
31
+ onSwipeBackCancel?: () => void;
32
32
  history?: string[];
33
33
  children: React.ReactElement | Iterable<React.ReactElement>;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAI1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAexD,UAAU,OAAO;IACf,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,eAAO,IAAI,YAAY,EAAE,YAAiB,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAAE,UAAU;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E;;OAEG;IACH,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE;;OAEG;IACH,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,6KAWd,SAAS,sBAqfX,CAAC"}
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAI1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAexD,UAAU,OAAO;IACf,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,eAAO,IAAI,YAAY,EAAE,YAAiB,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAAE,UAAU;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,SAAS,CAAC;IACpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,6KAWd,SAAS,sBAqfX,CAAC"}