@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,"sources":["../../../../src/components/InputLike/InputLike.tsx"],"sourcesContent":["import * as React from 'react';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { stopPropagation } from '../../lib/utils';\nimport { RootComponent, type RootComponentProps } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './InputLike.module.css';\n\nexport interface InputLikeProps extends RootComponentProps<HTMLSpanElement> {\n length: number;\n index: number;\n value?: string;\n label?: string;\n onElementSelect?(index: number): void;\n}\n\nconst MASK_SYMBOL = String.fromCharCode(0x2007);\n\nfunction getMaskElements(length: number) {\n const result = [];\n for (let index = 0; index < length; index += 1) {\n result.push(\n <span key={index} className={styles['InputLike__mask']}>\n {MASK_SYMBOL}\n </span>,\n );\n }\n return result;\n}\n\nexport const InputLike = ({\n value,\n length,\n index,\n onElementSelect,\n onClick,\n onFocus,\n label,\n ...restProps\n}: InputLikeProps) => {\n const handleElementSelect = React.useCallback(\n (event: React.MouseEvent<HTMLSpanElement>) => {\n stopPropagation(event);\n onElementSelect?.(index);\n },\n [index, onElementSelect],\n );\n\n return (\n <RootComponent\n Component=\"span\"\n baseClassName={value?.length === length ? styles['InputLike--full'] : undefined}\n tabIndex={0}\n onClick={callMultiple(onClick, handleElementSelect)}\n onFocus={callMultiple(stopPropagation, onFocus)}\n {...restProps}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {value?.slice(0, length - 1)}\n {value?.slice(length - 1) && (\n <span key={index} className={styles['InputLike__last_character']}>\n {value.slice(length - 1)}\n </span>\n )}\n {getMaskElements(length - (value?.length ?? 0))}\n </RootComponent>\n );\n};\n\nInputLike.displayName = 'InputLike';\n"],"names":["React","callMultiple","stopPropagation","RootComponent","VisuallyHidden","styles","MASK_SYMBOL","String","fromCharCode","getMaskElements","length","result","index","push","span","key","className","InputLike","value","onElementSelect","onClick","onFocus","label","restProps","handleElementSelect","useCallback","event","Component","baseClassName","undefined","tabIndex","slice","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,aAAa,QAAiC,iCAAiC;AACxF,SAASC,cAAc,QAAQ,mCAAmC;AAClE,OAAOC,YAAY,yBAAyB;AAU5C,MAAMC,cAAcC,OAAOC,YAAY,CAAC;AAExC,SAASC,gBAAgBC,MAAc;IACrC,MAAMC,SAAS,EAAE;IACjB,IAAK,IAAIC,QAAQ,GAAGA,QAAQF,QAAQE,SAAS,EAAG;QAC9CD,OAAOE,IAAI,eACT,oBAACC;YAAKC,KAAKH;YAAOI,WAAWX,MAAM,CAAC,kBAAkB;WACnDC;IAGP;IACA,OAAOK;AACT;AAEA,OAAO,MAAMM,YAAY,CAAC,EACxBC,KAAK,EACLR,MAAM,EACNE,KAAK,EACLO,eAAe,EACfC,OAAO,EACPC,OAAO,EACPC,KAAK,EACL,GAAGC,WACY;IACf,MAAMC,sBAAsBxB,MAAMyB,WAAW,CAC3C,CAACC;QACCxB,gBAAgBwB;QAChBP,kBAAkBP;IACpB,GACA;QAACA;QAAOO;KAAgB;IAG1B,qBACE,oBAAChB;QACCwB,WAAU;QACVC,eAAeV,OAAOR,WAAWA,SAASL,MAAM,CAAC,kBAAkB,GAAGwB;QACtEC,UAAU;QACVV,SAASnB,aAAamB,SAASI;QAC/BH,SAASpB,aAAaC,iBAAiBmB;QACtC,GAAGE,SAAS;OAEZD,uBAAS,oBAAClB,sBAAgBkB,QAC1BJ,OAAOa,MAAM,GAAGrB,SAAS,IACzBQ,OAAOa,MAAMrB,SAAS,oBACrB,oBAACI;QAAKC,KAAKH;QAAOI,WAAWX,MAAM,CAAC,4BAA4B;OAC7Da,MAAMa,KAAK,CAACrB,SAAS,KAGzBD,gBAAgBC,SAAUQ,CAAAA,OAAOR,UAAU,CAAA;AAGlD,EAAE;AAEFO,UAAUe,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/InputLike/InputLike.tsx"],"sourcesContent":["import * as React from 'react';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { stopPropagation } from '../../lib/utils';\nimport { RootComponent, type RootComponentProps } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './InputLike.module.css';\n\nexport interface InputLikeProps extends RootComponentProps<HTMLSpanElement> {\n length: number;\n index: number;\n value?: string;\n label?: string;\n onElementSelect?: (index: number) => void;\n}\n\nconst MASK_SYMBOL = String.fromCharCode(0x2007);\n\nfunction getMaskElements(length: number) {\n const result = [];\n for (let index = 0; index < length; index += 1) {\n result.push(\n <span key={index} className={styles['InputLike__mask']}>\n {MASK_SYMBOL}\n </span>,\n );\n }\n return result;\n}\n\nexport const InputLike = ({\n value,\n length,\n index,\n onElementSelect,\n onClick,\n onFocus,\n label,\n ...restProps\n}: InputLikeProps) => {\n const handleElementSelect = React.useCallback(\n (event: React.MouseEvent<HTMLSpanElement>) => {\n stopPropagation(event);\n onElementSelect?.(index);\n },\n [index, onElementSelect],\n );\n\n return (\n <RootComponent\n Component=\"span\"\n baseClassName={value?.length === length ? styles['InputLike--full'] : undefined}\n tabIndex={0}\n onClick={callMultiple(onClick, handleElementSelect)}\n onFocus={callMultiple(stopPropagation, onFocus)}\n {...restProps}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {value?.slice(0, length - 1)}\n {value?.slice(length - 1) && (\n <span key={index} className={styles['InputLike__last_character']}>\n {value.slice(length - 1)}\n </span>\n )}\n {getMaskElements(length - (value?.length ?? 0))}\n </RootComponent>\n );\n};\n\nInputLike.displayName = 'InputLike';\n"],"names":["React","callMultiple","stopPropagation","RootComponent","VisuallyHidden","styles","MASK_SYMBOL","String","fromCharCode","getMaskElements","length","result","index","push","span","key","className","InputLike","value","onElementSelect","onClick","onFocus","label","restProps","handleElementSelect","useCallback","event","Component","baseClassName","undefined","tabIndex","slice","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,aAAa,QAAiC,iCAAiC;AACxF,SAASC,cAAc,QAAQ,mCAAmC;AAClE,OAAOC,YAAY,yBAAyB;AAU5C,MAAMC,cAAcC,OAAOC,YAAY,CAAC;AAExC,SAASC,gBAAgBC,MAAc;IACrC,MAAMC,SAAS,EAAE;IACjB,IAAK,IAAIC,QAAQ,GAAGA,QAAQF,QAAQE,SAAS,EAAG;QAC9CD,OAAOE,IAAI,eACT,oBAACC;YAAKC,KAAKH;YAAOI,WAAWX,MAAM,CAAC,kBAAkB;WACnDC;IAGP;IACA,OAAOK;AACT;AAEA,OAAO,MAAMM,YAAY,CAAC,EACxBC,KAAK,EACLR,MAAM,EACNE,KAAK,EACLO,eAAe,EACfC,OAAO,EACPC,OAAO,EACPC,KAAK,EACL,GAAGC,WACY;IACf,MAAMC,sBAAsBxB,MAAMyB,WAAW,CAC3C,CAACC;QACCxB,gBAAgBwB;QAChBP,kBAAkBP;IACpB,GACA;QAACA;QAAOO;KAAgB;IAG1B,qBACE,oBAAChB;QACCwB,WAAU;QACVC,eAAeV,OAAOR,WAAWA,SAASL,MAAM,CAAC,kBAAkB,GAAGwB;QACtEC,UAAU;QACVV,SAASnB,aAAamB,SAASI;QAC/BH,SAASpB,aAAaC,iBAAiBmB;QACtC,GAAGE,SAAS;OAEZD,uBAAS,oBAAClB,sBAAgBkB,QAC1BJ,OAAOa,MAAM,GAAGrB,SAAS,IACzBQ,OAAOa,MAAMrB,SAAS,oBACrB,oBAACI;QAAKC,KAAKH;QAAOI,WAAWX,MAAM,CAAC,4BAA4B;OAC7Da,MAAMa,KAAK,CAACrB,SAAS,KAGzBD,gBAAgBC,SAAUQ,CAAAA,OAAOR,UAAU,CAAA;AAGlD,EAAE;AAEFO,UAAUe,WAAW,GAAG"}
@@ -1,15 +1,14 @@
1
1
  .Link {
2
2
  color: var(--vkui_internal--link-color, var(--vkui--color_text_link));
3
- text-decoration: none;
4
3
  border: 0;
5
4
  background: none;
6
5
  margin: 0;
7
6
  padding: 0;
8
- cursor: pointer;
9
7
  font-size: inherit;
10
8
  font-weight: inherit;
11
9
  font-family: inherit;
12
10
  line-height: inherit;
11
+ text-align: inherit;
13
12
  display: inline;
14
13
  border-radius: 0;
15
14
  }
@@ -6,7 +6,7 @@ type ModalRefs = {
6
6
  };
7
7
  export interface ModalRootContextInterface {
8
8
  updateModalHeight: VoidFunction;
9
- registerModal(data: ModalRegistryEntry): void;
9
+ registerModal: (data: ModalRegistryEntry) => void;
10
10
  onClose?: VoidFunction;
11
11
  isInsideModal: boolean;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModalRootContext.d.ts","sourceRoot":"","sources":["../../../../src/components/ModalRoot/ModalRootContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AACjG,KAAK,SAAS,GAAG;KAAG,CAAC,IAAI,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI;CAAE,CAAC;AAE/E,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,0CAI3B,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS;;EAwBvE"}
1
+ {"version":3,"file":"ModalRootContext.d.ts","sourceRoot":"","sources":["../../../../src/components/ModalRoot/ModalRootContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AACjG,KAAK,SAAS,GAAG;KAAG,CAAC,IAAI,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI;CAAE,CAAC;AAE/E,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,YAAY,CAAC;IAChC,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,0CAI3B,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS;;EAwBvE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { ModalElements, ModalsStateEntry, ModalType } from './types';\n\nexport type ModalRegistryEntry = ModalElements & Required<Pick<ModalsStateEntry, 'type' | 'id'>>;\ntype ModalRefs = { [k in keyof ModalElements]: (e: ModalElements[k]) => void };\n\nexport interface ModalRootContextInterface {\n updateModalHeight: VoidFunction;\n registerModal(data: ModalRegistryEntry): void;\n onClose?: VoidFunction;\n isInsideModal: boolean;\n}\n\nexport const ModalRootContext = React.createContext<ModalRootContextInterface>({\n updateModalHeight: () => undefined,\n registerModal: () => undefined,\n isInsideModal: false,\n});\n\n/**\n * All referenced elements must be static\n */\nexport function useModalRegistry(id: string | undefined, type: ModalType) {\n const modalContext = React.useContext(ModalRootContext);\n const elements = React.useRef<ModalElements>({}).current;\n useIsomorphicLayoutEffect(() => {\n if (id !== undefined) {\n modalContext.registerModal({ ...elements, type, id });\n // unset refs on unmount to prevent leak\n const reset = Object.keys(elements).reduce<ModalRegistryEntry>(\n (acc, k) => ({ ...acc, [k]: null }),\n { type, id },\n );\n return () => modalContext.registerModal(reset);\n }\n return undefined;\n }, []);\n\n const refs = React.useRef<Required<ModalRefs>>({\n modalElement: (e) => (elements.modalElement = e),\n innerElement: (e) => (elements.innerElement = e),\n headerElement: (e) => (elements.headerElement = e),\n contentElement: (e) => (elements.contentElement = e),\n bottomInset: (e) => (elements.bottomInset = e),\n }).current;\n return { refs };\n}\n"],"names":["React","useIsomorphicLayoutEffect","ModalRootContext","createContext","updateModalHeight","undefined","registerModal","isInsideModal","useModalRegistry","id","type","modalContext","useContext","elements","useRef","current","reset","Object","keys","reduce","acc","k","refs","modalElement","e","innerElement","headerElement","contentElement","bottomInset"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,sCAAsC;AAahF,OAAO,MAAMC,iCAAmBF,MAAMG,aAAa,CAA4B;IAC7EC,mBAAmB,IAAMC;IACzBC,eAAe,IAAMD;IACrBE,eAAe;AACjB,GAAG;AAEH;;CAEC,GACD,OAAO,SAASC,iBAAiBC,EAAsB,EAAEC,IAAe;IACtE,MAAMC,eAAeX,MAAMY,UAAU,CAACV;IACtC,MAAMW,WAAWb,MAAMc,MAAM,CAAgB,CAAC,GAAGC,OAAO;IACxDd,0BAA0B;QACxB,IAAIQ,OAAOJ,WAAW;YACpBM,aAAaL,aAAa,CAAC;gBAAE,GAAGO,QAAQ;gBAAEH;gBAAMD;YAAG;YACnD,yCAAyC;YACzC,MAAMO,QAAQC,OAAOC,IAAI,CAACL,UAAUM,MAAM,CACxC,CAACC,KAAKC,IAAO,CAAA;oBAAE,GAAGD,GAAG;oBAAE,CAACC,EAAE,EAAE;gBAAK,CAAA,GACjC;gBAAEX;gBAAMD;YAAG;YAEb,OAAO,IAAME,aAAaL,aAAa,CAACU;QAC1C;QACA,OAAOX;IACT,GAAG,EAAE;IAEL,MAAMiB,OAAOtB,MAAMc,MAAM,CAAsB;QAC7CS,cAAc,CAACC,IAAOX,SAASU,YAAY,GAAGC;QAC9CC,cAAc,CAACD,IAAOX,SAASY,YAAY,GAAGD;QAC9CE,eAAe,CAACF,IAAOX,SAASa,aAAa,GAAGF;QAChDG,gBAAgB,CAACH,IAAOX,SAASc,cAAc,GAAGH;QAClDI,aAAa,CAACJ,IAAOX,SAASe,WAAW,GAAGJ;IAC9C,GAAGT,OAAO;IACV,OAAO;QAAEO;IAAK;AAChB"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { ModalElements, ModalsStateEntry, ModalType } from './types';\n\nexport type ModalRegistryEntry = ModalElements & Required<Pick<ModalsStateEntry, 'type' | 'id'>>;\ntype ModalRefs = { [k in keyof ModalElements]: (e: ModalElements[k]) => void };\n\nexport interface ModalRootContextInterface {\n updateModalHeight: VoidFunction;\n registerModal: (data: ModalRegistryEntry) => void;\n onClose?: VoidFunction;\n isInsideModal: boolean;\n}\n\nexport const ModalRootContext = React.createContext<ModalRootContextInterface>({\n updateModalHeight: () => undefined,\n registerModal: () => undefined,\n isInsideModal: false,\n});\n\n/**\n * All referenced elements must be static\n */\nexport function useModalRegistry(id: string | undefined, type: ModalType) {\n const modalContext = React.useContext(ModalRootContext);\n const elements = React.useRef<ModalElements>({}).current;\n useIsomorphicLayoutEffect(() => {\n if (id !== undefined) {\n modalContext.registerModal({ ...elements, type, id });\n // unset refs on unmount to prevent leak\n const reset = Object.keys(elements).reduce<ModalRegistryEntry>(\n (acc, k) => ({ ...acc, [k]: null }),\n { type, id },\n );\n return () => modalContext.registerModal(reset);\n }\n return undefined;\n }, []);\n\n const refs = React.useRef<Required<ModalRefs>>({\n modalElement: (e) => (elements.modalElement = e),\n innerElement: (e) => (elements.innerElement = e),\n headerElement: (e) => (elements.headerElement = e),\n contentElement: (e) => (elements.contentElement = e),\n bottomInset: (e) => (elements.bottomInset = e),\n }).current;\n return { refs };\n}\n"],"names":["React","useIsomorphicLayoutEffect","ModalRootContext","createContext","updateModalHeight","undefined","registerModal","isInsideModal","useModalRegistry","id","type","modalContext","useContext","elements","useRef","current","reset","Object","keys","reduce","acc","k","refs","modalElement","e","innerElement","headerElement","contentElement","bottomInset"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,sCAAsC;AAahF,OAAO,MAAMC,iCAAmBF,MAAMG,aAAa,CAA4B;IAC7EC,mBAAmB,IAAMC;IACzBC,eAAe,IAAMD;IACrBE,eAAe;AACjB,GAAG;AAEH;;CAEC,GACD,OAAO,SAASC,iBAAiBC,EAAsB,EAAEC,IAAe;IACtE,MAAMC,eAAeX,MAAMY,UAAU,CAACV;IACtC,MAAMW,WAAWb,MAAMc,MAAM,CAAgB,CAAC,GAAGC,OAAO;IACxDd,0BAA0B;QACxB,IAAIQ,OAAOJ,WAAW;YACpBM,aAAaL,aAAa,CAAC;gBAAE,GAAGO,QAAQ;gBAAEH;gBAAMD;YAAG;YACnD,yCAAyC;YACzC,MAAMO,QAAQC,OAAOC,IAAI,CAACL,UAAUM,MAAM,CACxC,CAACC,KAAKC,IAAO,CAAA;oBAAE,GAAGD,GAAG;oBAAE,CAACC,EAAE,EAAE;gBAAK,CAAA,GACjC;gBAAEX;gBAAMD;YAAG;YAEb,OAAO,IAAME,aAAaL,aAAa,CAACU;QAC1C;QACA,OAAOX;IACT,GAAG,EAAE;IAEL,MAAMiB,OAAOtB,MAAMc,MAAM,CAAsB;QAC7CS,cAAc,CAACC,IAAOX,SAASU,YAAY,GAAGC;QAC9CC,cAAc,CAACD,IAAOX,SAASY,YAAY,GAAGD;QAC9CE,eAAe,CAACF,IAAOX,SAASa,aAAa,GAAGF;QAChDG,gBAAgB,CAACH,IAAOX,SAASc,cAAc,GAAGH;QAClDI,aAAa,CAACJ,IAAOX,SAASe,WAAW,GAAGJ;IAC9C,GAAGT,OAAO;IACV,OAAO;QAAEO;IAAK;AAChB"}
@@ -65,19 +65,19 @@ export interface ModalRootProps {
65
65
  /**
66
66
  * Будет вызвано при начале открытия активной модалки с её id
67
67
  */
68
- onOpen?(modalId: string): void;
68
+ onOpen?: (modalId: string) => void;
69
69
  /**
70
70
  * Будет вызвано при окончательном открытии активной модалки с её id
71
71
  */
72
- onOpened?(modalId: string): void;
72
+ onOpened?: (modalId: string) => void;
73
73
  /**
74
74
  * Будет вызвано при начале закрытия активной модалки с её id
75
75
  */
76
- onClose?(modalId: string): void;
76
+ onClose?: (modalId: string) => void;
77
77
  /**
78
78
  * Будет вызвано при окончательном закрытии активной модалки с её id
79
79
  */
80
- onClosed?(modalId: string): void;
80
+ onClosed?: (modalId: string) => void;
81
81
  /**
82
82
  * `data-testid` для маски
83
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/ModalRoot/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wBAAwB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAEzD,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE5D;;OAEG;IACH,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW,EAAE,cAAc,EAAE,mBAAmB;IAC7F;;OAEG;IACH,cAAc,CAAC,EAAE,8BAA8B,CAAC;CACjD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/ModalRoot/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wBAAwB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAEzD,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE5D;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW,EAAE,cAAc,EAAE,mBAAmB;IAC7F;;OAEG;IACH,cAAc,CAAC,EAAE,8BAA8B,CAAC;CACjD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["import { DOMContextInterface } from '../../lib/dom';\nimport { HasPlatform } from '../../types';\nimport { ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext';\n\nexport type ModalType = 'page' | 'card';\n\nexport type TranslateRange = [number, number];\n\nexport type ModalsState = { [index: string]: ModalsStateEntry };\n\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n bottomInset?: HTMLElement | null;\n}\n\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n}\n\nexport interface ModalRootProps {\n activeModal?: string | null;\n children: React.ReactElement | Iterable<React.ReactElement>;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?(modalId: string): void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?(modalId: string): void;\n\n /**\n * `data-testid` для маски\n */\n modalOverlayTestId?: string;\n\n /**\n * Отключает фокус на контейнер диалогового окна при открытии.\n */\n noFocusToDialog?: boolean;\n}\n\nexport interface ModalRootWithDOMProps extends HasPlatform, ModalRootProps, DOMContextInterface {\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n}\n"],"names":[],"mappings":"AAyGA,WAKC"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["import { DOMContextInterface } from '../../lib/dom';\nimport { HasPlatform } from '../../types';\nimport { ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext';\n\nexport type ModalType = 'page' | 'card';\n\nexport type TranslateRange = [number, number];\n\nexport type ModalsState = { [index: string]: ModalsStateEntry };\n\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n bottomInset?: HTMLElement | null;\n}\n\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n}\n\nexport interface ModalRootProps {\n activeModal?: string | null;\n children: React.ReactElement | Iterable<React.ReactElement>;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?: (modalId: string) => void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?: (modalId: string) => void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?: (modalId: string) => void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?: (modalId: string) => void;\n\n /**\n * `data-testid` для маски\n */\n modalOverlayTestId?: string;\n\n /**\n * Отключает фокус на контейнер диалогового окна при открытии.\n */\n noFocusToDialog?: boolean;\n}\n\nexport interface ModalRootWithDOMProps extends HasPlatform, ModalRootProps, DOMContextInterface {\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n}\n"],"names":[],"mappings":"AAyGA,WAKC"}
@@ -22,7 +22,7 @@ export interface OnboardingTooltipProps extends AllowedFloatingComponentProps, A
22
22
  /**
23
23
  * Callback, который вызывается при клике по любому месту в пределах экрана.
24
24
  */
25
- onClose?(this: void): void;
25
+ onClose?: (this: void) => void;
26
26
  }
27
27
  /**
28
28
  * @see https://vkcom.github.io/VKUI/#/Tooltip
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingTooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAGL,KAAK,sBAAsB,EAI5B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAkC,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAMnG,KAAK,6BAA6B,GAAG,IAAI,CACvC,sBAAsB,EACpB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,mBAAmB,GACnB,OAAO,GACP,UAAU,GACV,mBAAmB,CACtB,CAAC;AAEF,KAAK,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAEpE,KAAK,yBAAyB,GAAG;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C;;OAEG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,sBACf,SAAQ,6BAA6B,EACnC,uBAAuB,EACvB,yBAAyB;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,2QAkB3B,sBAAsB,sBAqHxB,CAAC"}
1
+ {"version":3,"file":"OnboardingTooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAGL,KAAK,sBAAsB,EAI5B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAkC,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAMnG,KAAK,6BAA6B,GAAG,IAAI,CACvC,sBAAsB,EACpB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,mBAAmB,GACnB,OAAO,GACP,UAAU,GACV,mBAAmB,CACtB,CAAC;AAEF,KAAK,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAEpE,KAAK,yBAAyB,GAAG;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C;;OAEG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,sBACf,SAAQ,6BAA6B,EACnC,uBAAuB,EACvB,yBAAyB;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,2QAkB3B,sBAAsB,sBAqHxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePatchChildren } from '../../hooks/usePatchChildren';\nimport { createPortal } from '../../lib/createPortal';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n} from '../../lib/floating';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon';\nimport { FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { useNavTransition } from '../NavTransitionContext/NavTransitionContext';\nimport { TOOLTIP_MAX_WIDTH, TooltipBase, type TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer';\nimport styles from './OnboardingTooltip.module.css';\n\nconst warn = warnOnce('OnboardingTooltip');\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'arrowRef'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'children'\n | 'onPlacementChange'\n>;\n\ntype AllowedTooltipBaseProps = Omit<TooltipBaseProps, 'arrowProps'>;\n\ntype AllowedFloatingArrowProps = {\n /**\n * Сдвиг стрелки относительно текущих координат.\n */\n arrowOffset?: FloatingArrowProps['offset'];\n /**\n * Включает абсолютное смещение по `arrowOffset`.\n */\n isStaticArrowOffset?: FloatingArrowProps['isStaticOffset'];\n};\n\nexport interface OnboardingTooltipProps\n extends AllowedFloatingComponentProps,\n AllowedTooltipBaseProps,\n AllowedFloatingArrowProps {\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?(this: void): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nexport const OnboardingTooltip = ({\n id: idProp,\n children,\n shown: shownProp = true,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n arrowOffset = 0,\n isStaticArrowOffset = false,\n onClose,\n placement: placementProp = 'bottom-start',\n maxWidth = TOOLTIP_MAX_WIDTH,\n style: styleProp,\n getRootRef,\n disableArrow = false,\n onPlacementChange,\n ...restProps\n}: OnboardingTooltipProps) => {\n const generatedId = React.useId();\n const tooltipId = idProp || generatedId;\n const { entering } = useNavTransition();\n\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n const [tooltipContainer, setTooltipContainer] = React.useState<HTMLElement | null>(null);\n const [positionStrategy, setPositionStrategy] = React.useState<'fixed' | 'absolute'>('absolute');\n const shown = shownProp && tooltipContainer && !entering;\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement: placementProp,\n offsetByMainAxis,\n offsetByCrossAxis,\n arrowRef,\n arrow: !disableArrow,\n arrowHeight,\n arrowPadding,\n });\n const {\n x: floatingDataX,\n y: floatingDataY,\n refs,\n placement: resolvedPlacement,\n middlewareData: { arrow: arrowCoords },\n } = useFloating({\n strategy: positionStrategy,\n placement: strictPlacement,\n middleware: middlewares,\n whileElementsMounted: autoUpdateFloatingElement,\n });\n const tooltipRef = useExternRef<HTMLDivElement>(getRootRef, refs.setFloating);\n const [childRef, child] = usePatchChildren(children, {\n 'aria-describedby': shown ? tooltipId : undefined,\n });\n\n usePlacementChangeCallback(resolvedPlacement, onPlacementChange);\n\n let tooltip: React.ReactPortal | null = null;\n if (shown) {\n const floatingStyle = convertFloatingDataToReactCSSProperties(\n positionStrategy,\n floatingDataX,\n floatingDataY,\n );\n\n if (styleProp) {\n Object.assign(floatingStyle, styleProp);\n }\n\n tooltip = createPortal(\n <>\n <TooltipBase\n {...restProps}\n id={tooltipId}\n getRootRef={tooltipRef}\n style={floatingStyle}\n maxWidth={maxWidth}\n arrowProps={\n disableArrow\n ? undefined\n : {\n offset: arrowOffset,\n isStaticOffset: isStaticArrowOffset,\n coords: arrowCoords,\n placement: resolvedPlacement,\n getRootRef: setArrowRef,\n }\n }\n />\n <div className={styles['OnboardingTooltip__overlay']} onClickCapture={onClose} />\n </>,\n tooltipContainer,\n );\n }\n\n useIsomorphicLayoutEffect(\n function initialize() {\n const referenceEl = childRef.current;\n if (referenceEl) {\n setTooltipContainer(\n referenceEl.closest<HTMLDivElement>(`[${onboardingTooltipContainerAttr}]`), // eslint-disable-line no-restricted-properties\n );\n setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');\n refs.setReference(referenceEl);\n }\n },\n [childRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild = hasReactNode(children) && typeof children !== 'object';\n (multiChildren || primitiveChild) &&\n warn(\n [\n 'children должен быть одним React элементом, получено',\n multiChildren && 'несколько',\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(' '),\n 'error',\n );\n\n if (refs.reference.current && !tooltipContainer) {\n throw new Error('Use TooltipContainer for Tooltip outside Panel (see docs)');\n }\n }\n\n return (\n <React.Fragment>\n {child}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","hasReactNode","useExternRef","usePatchChildren","createPortal","autoUpdateFloatingElement","convertFloatingDataToReactCSSProperties","useFloating","useFloatingMiddlewaresBootstrap","usePlacementChangeCallback","useIsomorphicLayoutEffect","warnOnce","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","useNavTransition","TOOLTIP_MAX_WIDTH","TooltipBase","onboardingTooltipContainerAttr","styles","warn","OnboardingTooltip","id","idProp","children","shown","shownProp","arrowPadding","arrowHeight","offsetByMainAxis","offsetByCrossAxis","arrowOffset","isStaticArrowOffset","onClose","placement","placementProp","maxWidth","style","styleProp","getRootRef","disableArrow","onPlacementChange","restProps","generatedId","useId","tooltipId","entering","arrowRef","setArrowRef","useState","tooltipContainer","setTooltipContainer","positionStrategy","setPositionStrategy","middlewares","strictPlacement","arrow","x","floatingDataX","y","floatingDataY","refs","resolvedPlacement","middlewareData","arrowCoords","strategy","middleware","whileElementsMounted","tooltipRef","setFloating","childRef","child","undefined","tooltip","floatingStyle","Object","assign","arrowProps","offset","isStaticOffset","coords","div","className","onClickCapture","initialize","referenceEl","current","closest","position","setReference","process","env","NODE_ENV","multiChildren","Children","count","primitiveChild","JSON","stringify","filter","Boolean","join","reference","Error","Fragment"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SACEC,yBAAyB,EACzBC,uCAAuC,EAEvCC,WAAW,EACXC,+BAA+B,EAC/BC,0BAA0B,QACrB,qBAAqB;AAC5B,SAASC,yBAAyB,QAAQ,sCAAsC;AAChF,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,oBAAoB,EAAEC,qBAAqB,QAAQ,+BAA+B;AAE3F,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,iBAAiB,EAAEC,WAAW,QAA+B,6BAA6B;AACnG,SAASC,8BAA8B,QAAQ,+BAA+B;AAC9E,OAAOC,YAAY,iCAAiC;AAEpD,MAAMC,OAAOR,SAAS;AA0CtB;;CAEC,GACD,OAAO,MAAMS,oBAAoB,CAAC,EAChCC,IAAIC,MAAM,EACVC,QAAQ,EACRC,OAAOC,YAAY,IAAI,EACvBC,eAAeb,qBAAqB,EACpCc,cAAcf,oBAAoB,EAClCgB,mBAAmB,CAAC,EACpBC,oBAAoB,CAAC,EACrBC,cAAc,CAAC,EACfC,sBAAsB,KAAK,EAC3BC,OAAO,EACPC,WAAWC,gBAAgB,cAAc,EACzCC,WAAWpB,iBAAiB,EAC5BqB,OAAOC,SAAS,EAChBC,UAAU,EACVC,eAAe,KAAK,EACpBC,iBAAiB,EACjB,GAAGC,WACoB;IACvB,MAAMC,cAAc1C,MAAM2C,KAAK;IAC/B,MAAMC,YAAYtB,UAAUoB;IAC5B,MAAM,EAAEG,QAAQ,EAAE,GAAG/B;IAErB,MAAM,CAACgC,UAAUC,YAAY,GAAG/C,MAAMgD,QAAQ,CAAwB;IACtE,MAAM,CAACC,kBAAkBC,oBAAoB,GAAGlD,MAAMgD,QAAQ,CAAqB;IACnF,MAAM,CAACG,kBAAkBC,oBAAoB,GAAGpD,MAAMgD,QAAQ,CAAuB;IACrF,MAAMxB,QAAQC,aAAawB,oBAAoB,CAACJ;IAEhD,MAAM,EAAEQ,WAAW,EAAEC,eAAe,EAAE,GAAG9C,gCAAgC;QACvEyB,WAAWC;QACXN;QACAC;QACAiB;QACAS,OAAO,CAAChB;QACRZ;QACAD;IACF;IACA,MAAM,EACJ8B,GAAGC,aAAa,EAChBC,GAAGC,aAAa,EAChBC,IAAI,EACJ3B,WAAW4B,iBAAiB,EAC5BC,gBAAgB,EAAEP,OAAOQ,WAAW,EAAE,EACvC,GAAGxD,YAAY;QACdyD,UAAUb;QACVlB,WAAWqB;QACXW,YAAYZ;QACZa,sBAAsB7D;IACxB;IACA,MAAM8D,aAAajE,aAA6BoC,YAAYsB,KAAKQ,WAAW;IAC5E,MAAM,CAACC,UAAUC,MAAM,GAAGnE,iBAAiBoB,UAAU;QACnD,oBAAoBC,QAAQoB,YAAY2B;IAC1C;IAEA9D,2BAA2BoD,mBAAmBrB;IAE9C,IAAIgC,UAAoC;IACxC,IAAIhD,OAAO;QACT,MAAMiD,gBAAgBnE,wCACpB6C,kBACAM,eACAE;QAGF,IAAItB,WAAW;YACbqC,OAAOC,MAAM,CAACF,eAAepC;QAC/B;QAEAmC,UAAUpE,2BACR,wDACE,oBAACY;YACE,GAAGyB,SAAS;YACbpB,IAAIuB;YACJN,YAAY6B;YACZ/B,OAAOqC;YACPtC,UAAUA;YACVyC,YACErC,eACIgC,YACA;gBACEM,QAAQ/C;gBACRgD,gBAAgB/C;gBAChBgD,QAAQhB;gBACR9B,WAAW4B;gBACXvB,YAAYS;YACd;0BAGR,oBAACiC;YAAIC,WAAW/D,MAAM,CAAC,6BAA6B;YAAEgE,gBAAgBlD;aAExEiB;IAEJ;IAEAvC,0BACE,SAASyE;QACP,MAAMC,cAAcf,SAASgB,OAAO;QACpC,IAAID,aAAa;YACflC,oBACEkC,YAAYE,OAAO,CAAiB,CAAC,CAAC,EAAErE,+BAA+B,CAAC,CAAC;YAE3EmC,oBAAoBgC,YAAYhD,KAAK,CAACmD,QAAQ,KAAK,UAAU,UAAU;YACvE3B,KAAK4B,YAAY,CAACJ;QACpB;IACF,GACA;QAACf;KAAS;IAGZ,IAAIoB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,MAAMC,gBAAgB5F,MAAM6F,QAAQ,CAACC,KAAK,CAACvE,YAAY;QACvD,2BAA2B;QAC3B,MAAMwE,iBAAiB9F,aAAasB,aAAa,OAAOA,aAAa;QACpEqE,CAAAA,iBAAiBG,cAAa,KAC7B5E,KACE;YACE;YACAyE,iBAAiB;YACjBG,kBAAkBC,KAAKC,SAAS,CAAC1E;SAClC,CACE2E,MAAM,CAACC,SACPC,IAAI,CAAC,MACR;QAGJ,IAAIxC,KAAKyC,SAAS,CAAChB,OAAO,IAAI,CAACpC,kBAAkB;YAC/C,MAAM,IAAIqD,MAAM;QAClB;IACF;IAEA,qBACE,oBAACtG,MAAMuG,QAAQ,QACZjC,OACAE;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePatchChildren } from '../../hooks/usePatchChildren';\nimport { createPortal } from '../../lib/createPortal';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n} from '../../lib/floating';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon';\nimport { FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { useNavTransition } from '../NavTransitionContext/NavTransitionContext';\nimport { TOOLTIP_MAX_WIDTH, TooltipBase, type TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer';\nimport styles from './OnboardingTooltip.module.css';\n\nconst warn = warnOnce('OnboardingTooltip');\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'arrowRef'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'children'\n | 'onPlacementChange'\n>;\n\ntype AllowedTooltipBaseProps = Omit<TooltipBaseProps, 'arrowProps'>;\n\ntype AllowedFloatingArrowProps = {\n /**\n * Сдвиг стрелки относительно текущих координат.\n */\n arrowOffset?: FloatingArrowProps['offset'];\n /**\n * Включает абсолютное смещение по `arrowOffset`.\n */\n isStaticArrowOffset?: FloatingArrowProps['isStaticOffset'];\n};\n\nexport interface OnboardingTooltipProps\n extends AllowedFloatingComponentProps,\n AllowedTooltipBaseProps,\n AllowedFloatingArrowProps {\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: (this: void) => void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nexport const OnboardingTooltip = ({\n id: idProp,\n children,\n shown: shownProp = true,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n arrowOffset = 0,\n isStaticArrowOffset = false,\n onClose,\n placement: placementProp = 'bottom-start',\n maxWidth = TOOLTIP_MAX_WIDTH,\n style: styleProp,\n getRootRef,\n disableArrow = false,\n onPlacementChange,\n ...restProps\n}: OnboardingTooltipProps) => {\n const generatedId = React.useId();\n const tooltipId = idProp || generatedId;\n const { entering } = useNavTransition();\n\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n const [tooltipContainer, setTooltipContainer] = React.useState<HTMLElement | null>(null);\n const [positionStrategy, setPositionStrategy] = React.useState<'fixed' | 'absolute'>('absolute');\n const shown = shownProp && tooltipContainer && !entering;\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement: placementProp,\n offsetByMainAxis,\n offsetByCrossAxis,\n arrowRef,\n arrow: !disableArrow,\n arrowHeight,\n arrowPadding,\n });\n const {\n x: floatingDataX,\n y: floatingDataY,\n refs,\n placement: resolvedPlacement,\n middlewareData: { arrow: arrowCoords },\n } = useFloating({\n strategy: positionStrategy,\n placement: strictPlacement,\n middleware: middlewares,\n whileElementsMounted: autoUpdateFloatingElement,\n });\n const tooltipRef = useExternRef<HTMLDivElement>(getRootRef, refs.setFloating);\n const [childRef, child] = usePatchChildren(children, {\n 'aria-describedby': shown ? tooltipId : undefined,\n });\n\n usePlacementChangeCallback(resolvedPlacement, onPlacementChange);\n\n let tooltip: React.ReactPortal | null = null;\n if (shown) {\n const floatingStyle = convertFloatingDataToReactCSSProperties(\n positionStrategy,\n floatingDataX,\n floatingDataY,\n );\n\n if (styleProp) {\n Object.assign(floatingStyle, styleProp);\n }\n\n tooltip = createPortal(\n <>\n <TooltipBase\n {...restProps}\n id={tooltipId}\n getRootRef={tooltipRef}\n style={floatingStyle}\n maxWidth={maxWidth}\n arrowProps={\n disableArrow\n ? undefined\n : {\n offset: arrowOffset,\n isStaticOffset: isStaticArrowOffset,\n coords: arrowCoords,\n placement: resolvedPlacement,\n getRootRef: setArrowRef,\n }\n }\n />\n <div className={styles['OnboardingTooltip__overlay']} onClickCapture={onClose} />\n </>,\n tooltipContainer,\n );\n }\n\n useIsomorphicLayoutEffect(\n function initialize() {\n const referenceEl = childRef.current;\n if (referenceEl) {\n setTooltipContainer(\n referenceEl.closest<HTMLDivElement>(`[${onboardingTooltipContainerAttr}]`), // eslint-disable-line no-restricted-properties\n );\n setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');\n refs.setReference(referenceEl);\n }\n },\n [childRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild = hasReactNode(children) && typeof children !== 'object';\n (multiChildren || primitiveChild) &&\n warn(\n [\n 'children должен быть одним React элементом, получено',\n multiChildren && 'несколько',\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(' '),\n 'error',\n );\n\n if (refs.reference.current && !tooltipContainer) {\n throw new Error('Use TooltipContainer for Tooltip outside Panel (see docs)');\n }\n }\n\n return (\n <React.Fragment>\n {child}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","hasReactNode","useExternRef","usePatchChildren","createPortal","autoUpdateFloatingElement","convertFloatingDataToReactCSSProperties","useFloating","useFloatingMiddlewaresBootstrap","usePlacementChangeCallback","useIsomorphicLayoutEffect","warnOnce","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","useNavTransition","TOOLTIP_MAX_WIDTH","TooltipBase","onboardingTooltipContainerAttr","styles","warn","OnboardingTooltip","id","idProp","children","shown","shownProp","arrowPadding","arrowHeight","offsetByMainAxis","offsetByCrossAxis","arrowOffset","isStaticArrowOffset","onClose","placement","placementProp","maxWidth","style","styleProp","getRootRef","disableArrow","onPlacementChange","restProps","generatedId","useId","tooltipId","entering","arrowRef","setArrowRef","useState","tooltipContainer","setTooltipContainer","positionStrategy","setPositionStrategy","middlewares","strictPlacement","arrow","x","floatingDataX","y","floatingDataY","refs","resolvedPlacement","middlewareData","arrowCoords","strategy","middleware","whileElementsMounted","tooltipRef","setFloating","childRef","child","undefined","tooltip","floatingStyle","Object","assign","arrowProps","offset","isStaticOffset","coords","div","className","onClickCapture","initialize","referenceEl","current","closest","position","setReference","process","env","NODE_ENV","multiChildren","Children","count","primitiveChild","JSON","stringify","filter","Boolean","join","reference","Error","Fragment"],"mappings":"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"}
@@ -41,8 +41,8 @@ export interface PaginationProps extends Omit<HTMLAttributesWithRootRef<HTMLElem
41
41
  * Функция для переопределения и/или локализации текста кнопки страницы.
42
42
  * По умолчанию используется текст на "ru_RU".
43
43
  */
44
- getPageLabel?(isCurrent: boolean): string;
45
- onChange?(page: number): void;
44
+ getPageLabel?: (isCurrent: boolean) => string;
45
+ onChange?: (page: number) => void;
46
46
  }
47
47
  /**
48
48
  * @see https://vkcom.github.io/VKUI/#/Pagination
@@ -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":["React","Icon24ChevronCompactLeft","Icon24ChevronCompactRight","usePagination","Button","RootComponent","VisuallyHidden","PaginationPageButton","PaginationPageEllipsis","getPageLabelDefault","styles","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageLabel","navigationLabel","navigationLabelComponent","prevButtonLabel","nextButtonLabel","onChange","resetProps","pages","isFirstPage","isLastPage","handlePrevClick","useCallback","handleClick","event","page","currentTarget","dataset","Number","handleNextClick","renderPages","li","key","isCurrent","onClick","Component","role","ul","className","size","before","width","appearance","mode","map","after"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,yBAAyB,QAAQ,mBAAmB;AACvF,SAA6BC,aAAa,QAAQ,4BAA4B;AAE9E,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,cAAc,QAAQ,mCAAmC;AAClE,SAASC,oBAAoB,QAAQ,wCAAwC;AAC7E,SAASC,sBAAsB,QAAQ,0CAA0C;AACjF,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,OAAOC,YAAY,0BAA0B;AA+C7C;;CAEC,GACD,OAAO,MAAMC,aAAa,CAAC,EACzBC,cAAc,CAAC,EACfC,eAAe,CAAC,EAChBC,gBAAgB,CAAC,EACjBC,aAAa,CAAC,EACdC,QAAQ,EACRC,eAAeR,mBAAmB,EAClCS,kBAAkB,wBAAwB,EAC1CC,2BAA2B,IAAI,EAC/BC,kBAAkB,gCAAgC,EAClDC,kBAAkB,+BAA+B,EACjDC,QAAQ,EACR,GAAGC,YACa;IAChB,MAAMC,QAAQrB,cAAc;QAC1BS;QACAG;QACAF;QACAC;IACF;IACA,MAAMW,cAAcb,gBAAgB;IACpC,MAAMc,aAAad,gBAAgBG;IAEnC,MAAMY,kBAAkB3B,MAAM4B,WAAW,CAAC;QACxC,IAAIN,YAAY,CAACG,aAAa;YAC5BH,SAASV,cAAc;QACzB;IACF,GAAG;QAACA;QAAaa;QAAaH;KAAS;IAEvC,MAAMO,cAAc7B,MAAM4B,WAAW,CACnC,CAACE;QACC,MAAMC,OAAeD,MAAME,aAAa,CAACC,OAAO,CAACF,IAAI,IAAI;QACzDT,WAAWY,OAAOH;IACpB,GACA;QAACT;KAAS;IAGZ,MAAMa,kBAAkBnC,MAAM4B,WAAW,CAAC;QACxC,IAAIN,YAAY,CAACI,YAAY;YAC3BJ,SAASV,cAAc;QACzB;IACF,GAAG;QAACA;QAAac;QAAYJ;KAAS;IAEtC,MAAMc,cAAcpC,MAAM4B,WAAW,CACnC,CAACG;QACC,OAAQA;YACN,KAAK;YACL,KAAK;gBACH,qBACE,oBAACM;oBAAGC,KAAKP;iCACP,oBAACvB;oBAAuBQ,UAAUA;;YAGxC;gBAAS;oBACP,MAAMuB,YAAYR,SAASnB;oBAC3B,qBACE,oBAACyB;wBAAGC,KAAKP;qCACP,oBAACxB;wBACCU,cAAcA;wBACdsB,WAAWA;wBACXC,SAASX;wBACTb,UAAUA;uBAETe;gBAIT;QACF;IACF,GACA;QAACnB;QAAaI;QAAUC;QAAcY;KAAY;IAGpD,qBACE,oBAACxB;QAAcoC,WAAU;QAAMC,MAAK;QAAc,GAAGnB,UAAU;qBAC7D,oBAACjB;QAAemC,WAAWtB;OAA2BD,gCACtD,oBAACyB;QAAGC,WAAWlC,MAAM,CAAC,mBAAmB;qBACvC,oBAAC2B;QAAGO,WAAWlC,MAAM,CAAC,kCAAkC;qBACtD,oBAACN;QACCyC,MAAK;QACLC,sBACE,wDACE,oBAACxC,sBAAgBc,kBAAkC,mBACnD,oBAACnB;YAAyB8C,OAAO;;QAGrCC,YAAW;QACXC,MAAK;QACLjC,UAAUS,eAAeT;QACzBwB,SAASb;SAGZH,MAAM0B,GAAG,CAACd,4BACX,oBAACC;QAAGO,WAAWlC,MAAM,CAAC,kCAAkC;qBACtD,oBAACN;QACCyC,MAAK;QACLM,qBACE,wDACE,oBAAC7C,sBAAgBe,gCACjB,oBAACnB;YAA0B6C,OAAO;;QAGtCC,YAAW;QACXC,MAAK;QACLjC,UAAUU,cAAcV;QACxBwB,SAASL;;AAMrB,EAAE"}
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":["React","Icon24ChevronCompactLeft","Icon24ChevronCompactRight","usePagination","Button","RootComponent","VisuallyHidden","PaginationPageButton","PaginationPageEllipsis","getPageLabelDefault","styles","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageLabel","navigationLabel","navigationLabelComponent","prevButtonLabel","nextButtonLabel","onChange","resetProps","pages","isFirstPage","isLastPage","handlePrevClick","useCallback","handleClick","event","page","currentTarget","dataset","Number","handleNextClick","renderPages","li","key","isCurrent","onClick","Component","role","ul","className","size","before","width","appearance","mode","map","after"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,yBAAyB,QAAQ,mBAAmB;AACvF,SAA6BC,aAAa,QAAQ,4BAA4B;AAE9E,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,cAAc,QAAQ,mCAAmC;AAClE,SAASC,oBAAoB,QAAQ,wCAAwC;AAC7E,SAASC,sBAAsB,QAAQ,0CAA0C;AACjF,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,OAAOC,YAAY,0BAA0B;AA+C7C;;CAEC,GACD,OAAO,MAAMC,aAAa,CAAC,EACzBC,cAAc,CAAC,EACfC,eAAe,CAAC,EAChBC,gBAAgB,CAAC,EACjBC,aAAa,CAAC,EACdC,QAAQ,EACRC,eAAeR,mBAAmB,EAClCS,kBAAkB,wBAAwB,EAC1CC,2BAA2B,IAAI,EAC/BC,kBAAkB,gCAAgC,EAClDC,kBAAkB,+BAA+B,EACjDC,QAAQ,EACR,GAAGC,YACa;IAChB,MAAMC,QAAQrB,cAAc;QAC1BS;QACAG;QACAF;QACAC;IACF;IACA,MAAMW,cAAcb,gBAAgB;IACpC,MAAMc,aAAad,gBAAgBG;IAEnC,MAAMY,kBAAkB3B,MAAM4B,WAAW,CAAC;QACxC,IAAIN,YAAY,CAACG,aAAa;YAC5BH,SAASV,cAAc;QACzB;IACF,GAAG;QAACA;QAAaa;QAAaH;KAAS;IAEvC,MAAMO,cAAc7B,MAAM4B,WAAW,CACnC,CAACE;QACC,MAAMC,OAAeD,MAAME,aAAa,CAACC,OAAO,CAACF,IAAI,IAAI;QACzDT,WAAWY,OAAOH;IACpB,GACA;QAACT;KAAS;IAGZ,MAAMa,kBAAkBnC,MAAM4B,WAAW,CAAC;QACxC,IAAIN,YAAY,CAACI,YAAY;YAC3BJ,SAASV,cAAc;QACzB;IACF,GAAG;QAACA;QAAac;QAAYJ;KAAS;IAEtC,MAAMc,cAAcpC,MAAM4B,WAAW,CACnC,CAACG;QACC,OAAQA;YACN,KAAK;YACL,KAAK;gBACH,qBACE,oBAACM;oBAAGC,KAAKP;iCACP,oBAACvB;oBAAuBQ,UAAUA;;YAGxC;gBAAS;oBACP,MAAMuB,YAAYR,SAASnB;oBAC3B,qBACE,oBAACyB;wBAAGC,KAAKP;qCACP,oBAACxB;wBACCU,cAAcA;wBACdsB,WAAWA;wBACXC,SAASX;wBACTb,UAAUA;uBAETe;gBAIT;QACF;IACF,GACA;QAACnB;QAAaI;QAAUC;QAAcY;KAAY;IAGpD,qBACE,oBAACxB;QAAcoC,WAAU;QAAMC,MAAK;QAAc,GAAGnB,UAAU;qBAC7D,oBAACjB;QAAemC,WAAWtB;OAA2BD,gCACtD,oBAACyB;QAAGC,WAAWlC,MAAM,CAAC,mBAAmB;qBACvC,oBAAC2B;QAAGO,WAAWlC,MAAM,CAAC,kCAAkC;qBACtD,oBAACN;QACCyC,MAAK;QACLC,sBACE,wDACE,oBAACxC,sBAAgBc,kBAAkC,mBACnD,oBAACnB;YAAyB8C,OAAO;;QAGrCC,YAAW;QACXC,MAAK;QACLjC,UAAUS,eAAeT;QACzBwB,SAASb;SAGZH,MAAM0B,GAAG,CAACd,4BACX,oBAACC;QAAGO,WAAWlC,MAAM,CAAC,kCAAkC;qBACtD,oBAACN;QACCyC,MAAK;QACLM,qBACE,wDACE,oBAAC7C,sBAAgBe,gCACjB,oBAACnB;YAA0B6C,OAAO;;QAGtCC,YAAW;QACXC,MAAK;QACLjC,UAAUU,cAAcV;QACxBwB,SAASL;;AAMrB,EAAE"}
@@ -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":["React","classNames","usePlatform","useTimeout","useDOM","getNavId","useIsomorphicLayoutEffect","warnOnce","ScrollContext","useConfigProvider","NavTransitionProvider","NavTransitionDirectionProvider","RootComponent","SplitColContext","styles","warn","Root","children","activeView","_activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useRef","current","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","useState","transitionTo","panel","viewIds","map","view","props","indexOf","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","Boolean","from","to","fallbackTransition","useEffect","clear","set","onAnimationEnd","e","includes","animationName","baseClassName","viewId","isTransitionTarget","compensateScroll","div","key","ref","undefined","className","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":["React","classNames","usePlatform","useTimeout","useDOM","getNavId","useIsomorphicLayoutEffect","warnOnce","ScrollContext","useConfigProvider","NavTransitionProvider","NavTransitionDirectionProvider","RootComponent","SplitColContext","styles","warn","Root","children","activeView","_activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useRef","current","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","useState","transitionTo","panel","viewIds","map","view","props","indexOf","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","Boolean","from","to","fallbackTransition","useEffect","clear","set","onAnimationEnd","e","includes","animationName","baseClassName","viewId","isTransitionTarget","compensateScroll","div","key","ref","undefined","className","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"}
@@ -1,35 +1,29 @@
1
1
  import * as React from 'react';
2
- import { classNames, hasReactNode } from '@vkontakte/vkjs';
3
- import { useFocusVisible } from '../../../hooks/useFocusVisible';
4
- import { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';
5
- import { callMultiple } from '../../../lib/callMultiple';
2
+ import { hasReactNode } from '@vkontakte/vkjs';
3
+ import { Clickable } from '../../Clickable/Clickable';
6
4
  import { Headline } from '../../Typography/Headline/Headline';
7
5
  import { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';
8
6
  import styles from './SegmentedControlOption.module.css';
9
7
  /**
10
8
  * @see https://vkcom.github.io/VKUI/#/SegmentedControl
11
- */ export const SegmentedControlOption = ({ getRef, className, style, children, getRootRef, before, ...restProps })=>{
12
- const { focusVisible, onBlur, onFocus } = useFocusVisible();
13
- const focusVisibleClassNames = useFocusVisibleClassName({
14
- focusVisible
15
- });
16
- return /*#__PURE__*/ React.createElement("label", {
17
- className: classNames(styles['SegmentedControlOption'], restProps.checked && styles['SegmentedControlOption--checked'], focusVisibleClassNames, className),
18
- ref: getRootRef,
9
+ */ export const SegmentedControlOption = ({ getRef, className, style, children, getRootRef, before, ...restProps })=>/*#__PURE__*/ React.createElement(Clickable, {
10
+ Component: "label",
11
+ baseClassName: styles['SegmentedControlOption'],
12
+ hoverClassName: styles['SegmentedControlOption--hover'],
13
+ activeClassName: styles['SegmentedControlOption--hover'],
14
+ className: className,
15
+ getRootRef: getRootRef,
19
16
  style: style
20
17
  }, /*#__PURE__*/ React.createElement(VisuallyHidden, {
21
18
  ...restProps,
22
19
  Component: "input",
23
20
  getRootRef: getRef,
24
- type: "radio",
25
- onBlur: callMultiple(onBlur, restProps.onBlur),
26
- onFocus: callMultiple(onFocus, restProps.onFocus)
21
+ type: "radio"
27
22
  }), hasReactNode(before) && /*#__PURE__*/ React.createElement("div", {
28
23
  className: styles['SegmentedControlOption__before']
29
24
  }, before), /*#__PURE__*/ React.createElement(Headline, {
30
25
  level: "2",
31
26
  weight: "2"
32
27
  }, children));
33
- };
34
28
 
35
29
  //# sourceMappingURL=SegmentedControlOption.js.map
@@ -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":["React","classNames","hasReactNode","useFocusVisible","useFocusVisibleClassName","callMultiple","Headline","VisuallyHidden","styles","SegmentedControlOption","getRef","className","style","children","getRootRef","before","restProps","focusVisible","onBlur","onFocus","focusVisibleClassNames","label","checked","ref","Component","type","div","level","weight"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,eAAe,QAAQ,iCAAiC;AACjE,SAASC,wBAAwB,QAAQ,0CAA0C;AACnF,SAASC,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,QAAQ,QAAQ,qCAAqC;AAC9D,SAASC,cAAc,QAAQ,sCAAsC;AACrE,OAAOC,YAAY,sCAAsC;AASzD;;CAEC,GACD,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,MAAM,EACNC,SAAS,EACTC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACN,GAAGC,WACyB;IAC5B,MAAM,EAAEC,YAAY,EAAEC,MAAM,EAAEC,OAAO,EAAE,GAAGhB;IAC1C,MAAMiB,yBAAyBhB,yBAAyB;QAAEa;IAAa;IAEvE,qBACE,oBAACI;QACCV,WAAWV,WACTO,MAAM,CAAC,yBAAyB,EAChCQ,UAAUM,OAAO,IAAId,MAAM,CAAC,kCAAkC,EAC9DY,wBACAT;QAEFY,KAAKT;QACLF,OAAOA;qBAEP,oBAACL;QACE,GAAGS,SAAS;QACbQ,WAAU;QACVV,YAAYJ;QACZe,MAAK;QACLP,QAAQb,aAAaa,QAAQF,UAAUE,MAAM;QAC7CC,SAASd,aAAac,SAASH,UAAUG,OAAO;QAEjDjB,aAAaa,yBACZ,oBAACW;QAAIf,WAAWH,MAAM,CAAC,iCAAiC;OAAGO,uBAE7D,oBAACT;QAASqB,OAAM;QAAIC,QAAO;OACxBf;AAIT,EAAE"}
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":["React","hasReactNode","Clickable","Headline","VisuallyHidden","styles","SegmentedControlOption","getRef","className","style","children","getRootRef","before","restProps","Component","baseClassName","hoverClassName","activeClassName","type","div","level","weight"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,QAAQ,QAAQ,qCAAqC;AAC9D,SAASC,cAAc,QAAQ,sCAAsC;AACrE,OAAOC,YAAY,sCAAsC;AASzD;;CAEC,GACD,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,MAAM,EACNC,SAAS,EACTC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACN,GAAGC,WACyB,iBAC5B,oBAACX;QACCY,WAAU;QACVC,eAAeV,MAAM,CAAC,yBAAyB;QAC/CW,gBAAgBX,MAAM,CAAC,gCAAgC;QACvDY,iBAAiBZ,MAAM,CAAC,gCAAgC;QACxDG,WAAWA;QACXG,YAAYA;QACZF,OAAOA;qBAEP,oBAACL;QAAgB,GAAGS,SAAS;QAAEC,WAAU;QAAQH,YAAYJ;QAAQW,MAAK;QACzEjB,aAAaW,yBACZ,oBAACO;QAAIX,WAAWH,MAAM,CAAC,iCAAiC;OAAGO,uBAE7D,oBAACT;QAASiB,OAAM;QAAIC,QAAO;OACxBX,WAGL"}
@@ -21,7 +21,7 @@
21
21
  flex: 1;
22
22
  }
23
23
 
24
- .SegmentedControlOption:hover {
24
+ .SegmentedControlOption--hover {
25
25
  opacity: 0.5;
26
26
  }
27
27
 
@@ -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"}
@@ -23,7 +23,7 @@ const sizeYClassNames = {
23
23
  ...restProps,
24
24
  className: classNames(styles['SimpleCell'], sizeY !== 'regular' && sizeYClassNames[sizeY], multiline && styles['SimpleCell--mult'], className)
25
25
  }, /*#__PURE__*/ React.createElement("div", {
26
- className: styles['SimpleCell__before']
26
+ className: classNames(styles['SimpleCell__before'], platform === 'ios' && styles['SimpleCell__before--ios'])
27
27
  }, before), /*#__PURE__*/ React.createElement("div", {
28
28
  className: styles['SimpleCell__middle']
29
29
  }, subhead && /*#__PURE__*/ React.createElement(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":["React","classNames","hasReactNode","useAdaptivity","usePlatform","Tappable","Footnote","Headline","Subhead","Chevron","styles","sizeYClassNames","none","SimpleCell","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","expandable","multiline","subhead","subtitle","extraSubtitle","className","chevronSize","restProps","platform","hasChevron","hasAfter","sizeY","div","Component","span","weight","normalize","size"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,SAASC,QAAQ,QAAuB,uBAAuB;AAC/D,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,OAAOC,YAAY,0BAA0B;AAE7C,MAAMC,kBAAkB;IACtBC,MAAMF,MAAM,CAAC,yBAAyB;IACtC,CAAC,UAAU,EAAEA,MAAM,CAAC,4BAA4B;AAClD;AAgEA;;CAEC,GACD,OAAO,MAAMG,aAAa,CAAC,EACzBC,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,EACjB,GAAGC,WACa;IAChB,MAAMC,WAAW1B;IAEjB,MAAM2B,aAAaT,eAAe,YAAaA,eAAe,UAAUQ,aAAa;IAErF,MAAME,WAAW9B,aAAamB,UAAUU;IACxC,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAG9B;IAE3B,qBACE,oBAACE;QACE,GAAGwB,SAAS;QACbF,WAAW1B,WACTS,MAAM,CAAC,aAAa,EACpBuB,UAAU,aAAatB,eAAe,CAACsB,MAAM,EAC7CV,aAAab,MAAM,CAAC,mBAAmB,EACvCiB;qBAGF,oBAACO;QAAIP,WAAWjB,MAAM,CAAC,qBAAqB;OAAGQ,uBAC/C,oBAACgB;QAAIP,WAAWjB,MAAM,CAAC,qBAAqB;OACzCc,yBACC,oBAAChB;QACC2B,WAAU;QACVR,WAAW1B,WAAWS,MAAM,CAAC,mBAAmB,EAAEA,MAAM,CAAC,sBAAsB;OAE9Ec,wBAGL,oBAACU;QAAIP,WAAWjB,MAAM,CAAC,sBAAsB;OAC1CI,kCACC,oBAACsB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGI,iCAEjD,oBAACP;QAAS4B,WAAU;QAAOR,WAAWjB,MAAM,CAAC,uBAAuB;QAAE2B,QAAO;OAC1EjB,WAEFlB,aAAaa,kCACZ,oBAACqB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGK,mBAGlDU,0BACC,oBAACS;QAAIP,WAAWjB,MAAM,CAAC,sBAAsB;OAC1CM,qCACC,oBAACoB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGM,oCAEjD,oBAACV;QACCgC,WAAW;QACXX,WAAW1B,WAAWS,MAAM,CAAC,mBAAmB,EAAEA,MAAM,CAAC,uBAAuB;OAE/Ee,WAEFR,oCACC,oBAACmB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGO,sBAIpDS,+BACC,oBAACpB;QACCqB,WAAW1B,WAAWS,MAAM,CAAC,mBAAmB,EAAEA,MAAM,CAAC,4BAA4B;OAEpFgB,iBAINxB,aAAaiB,4BACZ,oBAACZ;QAAS4B,WAAU;QAAOE,QAAO;QAAIV,WAAWjB,MAAM,CAAC,wBAAwB;OAC7ES,YAGJa,0BACC,oBAACE;QAAIP,WAAW1B,WAAWS,MAAM,CAAC,oBAAoB,EAAE;OACrDW,OACAU,4BACC,oBAACtB;QAAQ8B,MAAMX;QAAaD,WAAWjB,MAAM,CAAC,0BAA0B;;AAMpF,EAAE"}
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":["React","classNames","hasReactNode","useAdaptivity","usePlatform","Tappable","Footnote","Headline","Subhead","Chevron","styles","sizeYClassNames","none","SimpleCell","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","expandable","multiline","subhead","subtitle","extraSubtitle","className","chevronSize","restProps","platform","hasChevron","hasAfter","sizeY","div","Component","span","weight","normalize","size"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,SAASC,QAAQ,QAAuB,uBAAuB;AAC/D,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,OAAOC,YAAY,0BAA0B;AAE7C,MAAMC,kBAAkB;IACtBC,MAAMF,MAAM,CAAC,yBAAyB;IACtC,CAAC,UAAU,EAAEA,MAAM,CAAC,4BAA4B;AAClD;AAgEA;;CAEC,GACD,OAAO,MAAMG,aAAa,CAAC,EACzBC,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,EACjB,GAAGC,WACa;IAChB,MAAMC,WAAW1B;IAEjB,MAAM2B,aAAaT,eAAe,YAAaA,eAAe,UAAUQ,aAAa;IAErF,MAAME,WAAW9B,aAAamB,UAAUU;IACxC,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAG9B;IAE3B,qBACE,oBAACE;QACE,GAAGwB,SAAS;QACbF,WAAW1B,WACTS,MAAM,CAAC,aAAa,EACpBuB,UAAU,aAAatB,eAAe,CAACsB,MAAM,EAC7CV,aAAab,MAAM,CAAC,mBAAmB,EACvCiB;qBAGF,oBAACO;QACCP,WAAW1B,WACTS,MAAM,CAAC,qBAAqB,EAC5BoB,aAAa,SAASpB,MAAM,CAAC,0BAA0B;OAGxDQ,uBAEH,oBAACgB;QAAIP,WAAWjB,MAAM,CAAC,qBAAqB;OACzCc,yBACC,oBAAChB;QACC2B,WAAU;QACVR,WAAW1B,WAAWS,MAAM,CAAC,mBAAmB,EAAEA,MAAM,CAAC,sBAAsB;OAE9Ec,wBAGL,oBAACU;QAAIP,WAAWjB,MAAM,CAAC,sBAAsB;OAC1CI,kCACC,oBAACsB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGI,iCAEjD,oBAACP;QAAS4B,WAAU;QAAOR,WAAWjB,MAAM,CAAC,uBAAuB;QAAE2B,QAAO;OAC1EjB,WAEFlB,aAAaa,kCACZ,oBAACqB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGK,mBAGlDU,0BACC,oBAACS;QAAIP,WAAWjB,MAAM,CAAC,sBAAsB;OAC1CM,qCACC,oBAACoB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGM,oCAEjD,oBAACV;QACCgC,WAAW;QACXX,WAAW1B,WAAWS,MAAM,CAAC,mBAAmB,EAAEA,MAAM,CAAC,uBAAuB;OAE/Ee,WAEFR,oCACC,oBAACmB;QAAKT,WAAWjB,MAAM,CAAC,oBAAoB;OAAGO,sBAIpDS,+BACC,oBAACpB;QACCqB,WAAW1B,WAAWS,MAAM,CAAC,mBAAmB,EAAEA,MAAM,CAAC,4BAA4B;OAEpFgB,iBAINxB,aAAaiB,4BACZ,oBAACZ;QAAS4B,WAAU;QAAOE,QAAO;QAAIV,WAAWjB,MAAM,CAAC,wBAAwB;OAC7ES,YAGJa,0BACC,oBAACE;QAAIP,WAAW1B,WAAWS,MAAM,CAAC,oBAAoB,EAAE;OACrDW,OACAU,4BACC,oBAACtB;QAAQ8B,MAAMX;QAAaD,WAAWjB,MAAM,CAAC,0BAA0B;;AAMpF,EAAE"}
@@ -32,6 +32,13 @@
32
32
  padding-inline-end: 4px;
33
33
  }
34
34
 
35
+ /* stylelint-disable-next-line selector-pseudo-class-disallowed-list */
36
+
37
+ .SimpleCell__before--ios > :global(.vkuiIcon) {
38
+ -webkit-padding-end: 0;
39
+ padding-inline-end: 0;
40
+ }
41
+
35
42
  .SimpleCell__before:empty {
36
43
  display: none;
37
44
  }
@@ -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"}