@vkontakte/vkui 5.1.0 → 5.1.2

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 (292) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +118 -0
  3. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  4. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  5. package/dist/cjs/components/AppRoot/AppRoot.js +7 -4
  6. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  7. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
  8. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  9. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +5 -4
  10. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  11. package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -2
  12. package/dist/cjs/components/Checkbox/Checkbox.js +12 -2
  13. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  14. package/dist/cjs/components/CustomSelect/CustomSelect.js +7 -4
  15. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  16. package/dist/cjs/components/DateInput/DateInput.js +0 -1
  17. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  18. package/dist/cjs/components/Epic/Epic.js +1 -1
  19. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  20. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -1
  21. package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -2
  22. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  23. package/dist/cjs/components/PanelHeader/PanelHeader.js +18 -4
  24. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  25. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +11 -2
  26. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  27. package/dist/cjs/components/Popover/Popover.js +4 -1
  28. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  29. package/dist/cjs/components/Progress/Progress.js +3 -1
  30. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  31. package/dist/cjs/components/Select/Select.d.ts +1 -5
  32. package/dist/cjs/components/Select/Select.js +13 -41
  33. package/dist/cjs/components/Select/Select.js.map +1 -1
  34. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  35. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -2
  36. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  37. package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +11 -0
  38. package/dist/cjs/components/SelectTypography/SelectTypography.js +48 -0
  39. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -0
  40. package/dist/cjs/components/Slider/Slider.d.ts +1 -1
  41. package/dist/cjs/components/Slider/Slider.js +4 -3
  42. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  43. package/dist/cjs/components/Spacing/Spacing.js +2 -1
  44. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  45. package/dist/cjs/components/Switch/Switch.js +2 -3
  46. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  47. package/dist/cjs/components/Tabs/Tabs.js +6 -15
  48. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  49. package/dist/cjs/components/Tooltip/Tooltip.js +1 -0
  50. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  51. package/dist/cjs/components/Touch/Touch.js +4 -4
  52. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  53. package/dist/cjs/shared/breakpoints.d.ts +2 -2
  54. package/dist/cjs/shared/breakpoints.js +12 -13
  55. package/dist/cjs/shared/breakpoints.js.map +1 -1
  56. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  57. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  58. package/dist/components/AppRoot/AppRoot.js +7 -4
  59. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  60. package/dist/components/Avatar/Avatar.d.ts +1 -1
  61. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  62. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +5 -4
  63. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  64. package/dist/components/Checkbox/Checkbox.d.ts +3 -2
  65. package/dist/components/Checkbox/Checkbox.js +12 -2
  66. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  67. package/dist/components/CustomSelect/CustomSelect.js +7 -4
  68. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  69. package/dist/components/DateInput/DateInput.js +0 -1
  70. package/dist/components/DateInput/DateInput.js.map +1 -1
  71. package/dist/components/Epic/Epic.js +1 -1
  72. package/dist/components/Epic/Epic.js.map +1 -1
  73. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  74. package/dist/components/NativeSelect/NativeSelect.js +1 -1
  75. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  76. package/dist/components/PanelHeader/PanelHeader.js +18 -4
  77. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  78. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +11 -2
  79. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  80. package/dist/components/Popover/Popover.js +4 -1
  81. package/dist/components/Popover/Popover.js.map +1 -1
  82. package/dist/components/Progress/Progress.js +3 -1
  83. package/dist/components/Progress/Progress.js.map +1 -1
  84. package/dist/components/Select/Select.d.ts +1 -5
  85. package/dist/components/Select/Select.js +12 -39
  86. package/dist/components/Select/Select.js.map +1 -1
  87. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  88. package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
  89. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  90. package/dist/components/SelectTypography/SelectTypography.d.ts +11 -0
  91. package/dist/components/SelectTypography/SelectTypography.js +39 -0
  92. package/dist/components/SelectTypography/SelectTypography.js.map +1 -0
  93. package/dist/components/Slider/Slider.d.ts +1 -1
  94. package/dist/components/Slider/Slider.js +4 -3
  95. package/dist/components/Slider/Slider.js.map +1 -1
  96. package/dist/components/Spacing/Spacing.js +2 -1
  97. package/dist/components/Spacing/Spacing.js.map +1 -1
  98. package/dist/components/Switch/Switch.js +2 -3
  99. package/dist/components/Switch/Switch.js.map +1 -1
  100. package/dist/components/Tabs/Tabs.js +6 -15
  101. package/dist/components/Tabs/Tabs.js.map +1 -1
  102. package/dist/components/Tooltip/Tooltip.js +1 -0
  103. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  104. package/dist/components/Touch/Touch.js +4 -4
  105. package/dist/components/Touch/Touch.js.map +1 -1
  106. package/dist/components.css +2 -2
  107. package/dist/components.css.map +1 -1
  108. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +1 -1
  109. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +1 -1
  110. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  111. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  112. package/dist/cssm/components/Alert/Alert.module.css +1 -1
  113. package/dist/cssm/components/AppRoot/AppRoot.js +7 -4
  114. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  115. package/dist/cssm/components/AppRoot/AppRoot.module.css +1 -1
  116. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
  117. package/dist/cssm/components/Avatar/Avatar.module.css +1 -1
  118. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.module.css +1 -1
  119. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  120. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +5 -4
  121. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  122. package/dist/cssm/components/Badge/Badge.module.css +1 -1
  123. package/dist/cssm/components/Banner/Banner.module.css +1 -1
  124. package/dist/cssm/components/BaseGallery/BaseGallery.module.css +1 -1
  125. package/dist/cssm/components/Button/Button.module.css +1 -1
  126. package/dist/cssm/components/ButtonGroup/ButtonGroup.module.css +1 -1
  127. package/dist/cssm/components/Calendar/Calendar.module.css +1 -1
  128. package/dist/cssm/components/CalendarDay/CalendarDay.module.css +1 -1
  129. package/dist/cssm/components/CalendarDays/CalendarDays.module.css +1 -1
  130. package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +1 -1
  131. package/dist/cssm/components/CalendarRange/CalendarRange.module.css +1 -1
  132. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +1 -1
  133. package/dist/cssm/components/Card/Card.module.css +2 -2
  134. package/dist/cssm/components/CardGrid/CardGrid.module.css +1 -1
  135. package/dist/cssm/components/CardScroll/CardScroll.module.css +1 -1
  136. package/dist/cssm/components/Cell/Cell.module.css +1 -1
  137. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.module.css +1 -1
  138. package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +1 -1
  139. package/dist/cssm/components/CellButton/CellButton.module.css +1 -1
  140. package/dist/cssm/components/Checkbox/Checkbox.d.ts +3 -2
  141. package/dist/cssm/components/Checkbox/Checkbox.js +12 -2
  142. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  143. package/dist/cssm/components/Checkbox/Checkbox.module.css +1 -1
  144. package/dist/cssm/components/Chip/Chip.module.css +1 -1
  145. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +1 -1
  146. package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +1 -1
  147. package/dist/cssm/components/ContentCard/ContentCard.module.css +1 -1
  148. package/dist/cssm/components/Counter/Counter.module.css +1 -1
  149. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +1 -1
  150. package/dist/cssm/components/CustomSelect/CustomSelect.js +7 -4
  151. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  152. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +1 -1
  153. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +1 -1
  154. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +1 -1
  155. package/dist/cssm/components/DateInput/DateInput.js +0 -1
  156. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  157. package/dist/cssm/components/DateInput/DateInput.module.css +1 -1
  158. package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +1 -1
  159. package/dist/cssm/components/Div/Div.module.css +1 -1
  160. package/dist/cssm/components/Epic/Epic.js +1 -1
  161. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  162. package/dist/cssm/components/FixedLayout/FixedLayout.module.css +1 -1
  163. package/dist/cssm/components/FocusVisible/FocusVisible.module.css +1 -1
  164. package/dist/cssm/components/Footer/Footer.module.css +1 -1
  165. package/dist/cssm/components/FormField/FormField.module.css +1 -1
  166. package/dist/cssm/components/FormItem/FormItem.module.css +1 -1
  167. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +1 -1
  168. package/dist/cssm/components/FormStatus/FormStatus.module.css +1 -1
  169. package/dist/cssm/components/Gradient/Gradient.module.css +1 -1
  170. package/dist/cssm/components/Group/Group.module.css +1 -1
  171. package/dist/cssm/components/Header/Header.module.css +1 -1
  172. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +1 -1
  173. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +1 -1
  174. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.module.css +1 -1
  175. package/dist/cssm/components/IconButton/IconButton.module.css +1 -1
  176. package/dist/cssm/components/ImageBase/ImageBase.module.css +1 -1
  177. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +1 -1
  178. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +1 -1
  179. package/dist/cssm/components/InfoRow/InfoRow.module.css +1 -1
  180. package/dist/cssm/components/Input/Input.module.css +1 -1
  181. package/dist/cssm/components/InputLike/InputLike.module.css +1 -1
  182. package/dist/cssm/components/InputLike/InputLikeDivider.module.css +1 -1
  183. package/dist/cssm/components/Link/Link.module.css +1 -1
  184. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
  185. package/dist/cssm/components/ModalCard/ModalCard.module.css +1 -1
  186. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +1 -1
  187. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +1 -1
  188. package/dist/cssm/components/ModalPage/ModalPage.module.css +1 -1
  189. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +1 -1
  190. package/dist/cssm/components/ModalRoot/ModalRoot.module.css +1 -1
  191. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
  192. package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -1
  193. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  194. package/dist/cssm/components/Pagination/Pagination.module.css +1 -1
  195. package/dist/cssm/components/Panel/Panel.module.css +1 -1
  196. package/dist/cssm/components/PanelHeader/PanelHeader.js +18 -4
  197. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  198. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
  199. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +11 -2
  200. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  201. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +1 -1
  202. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +1 -1
  203. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +1 -1
  204. package/dist/cssm/components/Placeholder/Placeholder.module.css +1 -1
  205. package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +1 -1
  206. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +1 -1
  207. package/dist/cssm/components/Popover/Popover.js +4 -1
  208. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  209. package/dist/cssm/components/Popover/Popover.module.css +1 -1
  210. package/dist/cssm/components/Popper/Popper.module.css +1 -1
  211. package/dist/cssm/components/Progress/Progress.js +3 -1
  212. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  213. package/dist/cssm/components/Progress/Progress.module.css +1 -1
  214. package/dist/cssm/components/PromoBanner/PromoBanner.module.css +1 -1
  215. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +1 -1
  216. package/dist/cssm/components/Radio/Radio.module.css +1 -1
  217. package/dist/cssm/components/RadioGroup/RadioGroup.module.css +1 -1
  218. package/dist/cssm/components/Removable/Removable.module.css +1 -1
  219. package/dist/cssm/components/RichCell/RichCell.module.css +1 -1
  220. package/dist/cssm/components/RichTooltip/RichTooltip.module.css +1 -1
  221. package/dist/cssm/components/Root/Root.module.css +1 -1
  222. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +1 -1
  223. package/dist/cssm/components/Search/Search.module.css +1 -1
  224. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +1 -1
  225. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +1 -1
  226. package/dist/cssm/components/Select/Select.d.ts +1 -5
  227. package/dist/cssm/components/Select/Select.js +12 -39
  228. package/dist/cssm/components/Select/Select.js.map +1 -1
  229. package/dist/cssm/components/Select/Select.module.css +1 -1
  230. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  231. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
  232. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  233. package/dist/cssm/components/SelectTypography/SelectTypography.d.ts +11 -0
  234. package/dist/cssm/components/SelectTypography/SelectTypography.js +40 -0
  235. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -0
  236. package/dist/cssm/components/SelectTypography/SelectTypography.module.css +1 -0
  237. package/dist/cssm/components/Separator/Separator.module.css +1 -1
  238. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +1 -1
  239. package/dist/cssm/components/Slider/Slider.d.ts +1 -1
  240. package/dist/cssm/components/Slider/Slider.js +4 -3
  241. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  242. package/dist/cssm/components/Slider/Slider.module.css +1 -1
  243. package/dist/cssm/components/Snackbar/Snackbar.module.css +1 -1
  244. package/dist/cssm/components/Spacing/Spacing.js +2 -1
  245. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  246. package/dist/cssm/components/Spacing/Spacing.module.css +1 -1
  247. package/dist/cssm/components/Spinner/Spinner.module.css +1 -1
  248. package/dist/cssm/components/SplitCol/SplitCol.module.css +1 -1
  249. package/dist/cssm/components/SplitLayout/SplitLayout.module.css +1 -1
  250. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +1 -1
  251. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
  252. package/dist/cssm/components/Switch/Switch.js +2 -3
  253. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  254. package/dist/cssm/components/Switch/Switch.module.css +1 -1
  255. package/dist/cssm/components/Tabbar/Tabbar.module.css +1 -1
  256. package/dist/cssm/components/TabbarItem/TabbarItem.module.css +1 -1
  257. package/dist/cssm/components/Tabs/Tabs.js +6 -15
  258. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  259. package/dist/cssm/components/Tabs/Tabs.module.css +1 -1
  260. package/dist/cssm/components/TabsItem/TabsItem.module.css +1 -1
  261. package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
  262. package/dist/cssm/components/TextTooltip/TextTooltip.module.css +1 -1
  263. package/dist/cssm/components/Textarea/Textarea.module.css +1 -1
  264. package/dist/cssm/components/Tooltip/Tooltip.js +1 -0
  265. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  266. package/dist/cssm/components/Tooltip/Tooltip.module.css +1 -1
  267. package/dist/cssm/components/Touch/Touch.js +4 -4
  268. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  269. package/dist/cssm/components/Typography/Caption/Caption.module.css +1 -1
  270. package/dist/cssm/components/Typography/Footnote/Footnote.module.css +1 -1
  271. package/dist/cssm/components/Typography/Headline/Headline.module.css +1 -1
  272. package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +1 -1
  273. package/dist/cssm/components/Typography/Subhead/Subhead.module.css +1 -1
  274. package/dist/cssm/components/Typography/Text/Text.module.css +1 -1
  275. package/dist/cssm/components/Typography/Title/Title.module.css +1 -1
  276. package/dist/cssm/components/UsersStack/UsersStack.module.css +1 -1
  277. package/dist/cssm/components/View/View.module.css +1 -1
  278. package/dist/cssm/components/View/ViewIOS.module.css +1 -1
  279. package/dist/cssm/components/WriteBar/WriteBar.module.css +1 -1
  280. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +1 -1
  281. package/dist/cssm/shared/breakpoints.d.ts +2 -2
  282. package/dist/cssm/shared/breakpoints.js +12 -13
  283. package/dist/cssm/shared/breakpoints.js.map +1 -1
  284. package/dist/cssm/styles/adaptivity.module.css +1 -1
  285. package/dist/cssm/styles/common.css +1 -1
  286. package/dist/cssm/styles/components.css +2 -2
  287. package/dist/shared/breakpoints.d.ts +2 -2
  288. package/dist/shared/breakpoints.js +12 -13
  289. package/dist/shared/breakpoints.js.map +1 -1
  290. package/dist/vkui.css +2 -2
  291. package/dist/vkui.css.map +1 -1
  292. package/package.json +3 -2
@@ -96,7 +96,10 @@ var Popover = function Popover(_ref) {
96
96
  setShown(false);
97
97
  }
98
98
  };
99
- (0, _useGlobalEventListener.useGlobalEventListener)(document, 'click', handleOutsideClick);
99
+ (0, _useGlobalEventListener.useGlobalEventListener)(document, 'click', handleOutsideClick, {
100
+ capture: true,
101
+ passive: true
102
+ });
100
103
  var targetEnterListener = (0, _useEventListener.useEventListener)('mouseenter', handleTargetEnter);
101
104
  var targetClickEvent = (0, _useEventListener.useEventListener)('click', handleTargetClick);
102
105
  var targetLeaveListener = (0, _useEventListener.useEventListener)('mouseleave', handleTargetLeave);
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["Popover","action","shownProp","shown","showDelay","hideDelay","offsetDistance","content","children","styleProp","style","className","getRef","onShownChange","restProps","useDOM","document","hoverable","hovered","React","useRef","useState","computedShown","setComputedShown","dropdownNode","setPopperNode","patchedPopperRef","useExternRef","usePatchChildrenRef","childRef","child","setShown","value","showTimeout","useTimeout","hideTimeout","handleTargetEnter","current","clear","set","handleTargetClick","handleTargetLeave","handleContentKeyDownEscape","handleOutsideClick","e","contains","target","useGlobalEventListener","targetEnterListener","useEventListener","targetClickEvent","targetLeaveListener","useEffect","add","remove","classNames","wrapperClassName","undefined"],"sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../../lib/dom';\nimport { classNames } from '@vkontakte/vkjs';\nimport { PopperCommonProps, Popper } from '../Popper/Popper';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePatchChildrenRef } from '../../hooks/usePatchChildrenRef';\nimport styles from './Popover.module.css';\n\nexport interface PopoverProps extends Omit<PopperCommonProps, 'arrow' | 'arrowClassName'> {\n /**\n * Механика вызова всплывающего окна.\n *\n * - `\"click\"` – показывается/скрывается только при нажатии.\n * - `\"hover\"` – помимо нажатия, будет показываться/скрывается при наведении/отведении мыши.\n *\n * > ⚠️`\"hover\"` на тач-устройствах будет работать как `\"click\"`, с одним лишь нюансом, что не будет закрываться\n * > при повторном нажатии на целевой элемент. Для закрытия необходимо нажать на область вне целевого элемента\n * > и выпадающего окна.\n */\n action?: 'click' | 'hover';\n /**\n * Если передан, то всплывающее окно будет показан/скрыт в зависимости от значения свойства.\n */\n shown?: boolean;\n /**\n * Количество миллисекунд, после которых произойдёт показ всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n showDelay?: number;\n /**\n * Количество миллисекунд, после которых произойдёт скрытие всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n hideDelay?: number;\n /**\n * Содержимое всплывающего окна.\n */\n content?: React.ReactNode;\n /**\n * Целевой элемент. Всплывающее окно появится возле него.\n *\n * > ⚠️ Если это пользовательский компонент, то он должен предоставлять параметры либо `getRootRef`, либо `ref` для получения ссылки на DOM-узел.\n */\n children?: React.ReactElement;\n /**\n * Вызывается при каждом изменении видимости всплывающего окна.\n */\n onShownChange?(shown: boolean): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popover\n */\nexport const Popover = ({\n action = 'click',\n shown: shownProp,\n showDelay = 150,\n hideDelay = 150,\n offsetDistance = 8,\n content,\n children,\n style: styleProp,\n className,\n getRef,\n onShownChange,\n ...restProps\n}: PopoverProps) => {\n const { document } = useDOM();\n\n const hoverable = action === 'hover';\n const hovered = React.useRef(false);\n const [computedShown, setComputedShown] = React.useState(shownProp || false);\n const [dropdownNode, setPopperNode] = React.useState<HTMLElement | null>(null);\n\n const shown = typeof shownProp === 'boolean' ? shownProp : computedShown;\n\n const patchedPopperRef = useExternRef<HTMLDivElement>(setPopperNode, getRef);\n\n const [childRef, child] = usePatchChildrenRef(children);\n\n const setShown = (value: boolean) => {\n if (typeof shownProp !== 'boolean') {\n setComputedShown(value);\n }\n typeof onShownChange === 'function' && onShownChange(value);\n };\n\n const showTimeout = useTimeout(() => setShown(true), showDelay);\n\n const hideTimeout = useTimeout(() => setShown(false), hideDelay);\n\n const handleTargetEnter = () => {\n hovered.current = true;\n hideTimeout.clear();\n showTimeout.set();\n };\n\n const handleTargetClick = () => {\n if (hovered.current && shown) {\n return;\n }\n setShown(!shown);\n };\n\n const handleTargetLeave = () => {\n hovered.current = false;\n showTimeout.clear();\n hideTimeout.set();\n };\n\n const handleContentKeyDownEscape = () => {\n setShown(false);\n };\n\n const handleOutsideClick = (e: MouseEvent) => {\n if (\n dropdownNode &&\n !childRef.current?.contains(e.target as Node) &&\n !dropdownNode.contains(e.target as Node)\n ) {\n setShown(false);\n }\n };\n\n useGlobalEventListener(document, 'click', handleOutsideClick);\n const targetEnterListener = useEventListener('mouseenter', handleTargetEnter);\n const targetClickEvent = useEventListener('click', handleTargetClick);\n const targetLeaveListener = useEventListener('mouseleave', handleTargetLeave);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n targetClickEvent.add(childRef.current);\n }, [childRef, targetClickEvent]);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n if (hoverable) {\n targetEnterListener.add(childRef.current);\n targetLeaveListener.add(childRef.current);\n }\n\n return () => {\n targetEnterListener.remove();\n targetLeaveListener.remove();\n };\n }, [childRef, hoverable, targetEnterListener, targetLeaveListener]);\n\n return (\n <React.Fragment>\n {child}\n {shown && (\n <Popper\n {...restProps}\n className={classNames(styles['Popover'], className)}\n targetRef={childRef}\n getRef={patchedPopperRef}\n offsetDistance={offsetDistance}\n style={\n // Reason: Typescript ругается на CSS Custom Properties в объекте\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n ...styleProp,\n '--vkui_internal--popover_safe_zone_padding': `${offsetDistance}px`,\n } as React.CSSProperties\n }\n renderContent={({ className: wrapperClassName }) => (\n <FocusTrap className={wrapperClassName} onClose={handleContentKeyDownEscape}>\n {content}\n </FocusTrap>\n )}\n onMouseOver={hoverable ? hideTimeout.clear : undefined}\n onMouseOut={hoverable ? handleTargetLeave : undefined}\n />\n )}\n </React.Fragment>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","names":["Popover","action","shownProp","shown","showDelay","hideDelay","offsetDistance","content","children","styleProp","style","className","getRef","onShownChange","restProps","useDOM","document","hoverable","hovered","React","useRef","useState","computedShown","setComputedShown","dropdownNode","setPopperNode","patchedPopperRef","useExternRef","usePatchChildrenRef","childRef","child","setShown","value","showTimeout","useTimeout","hideTimeout","handleTargetEnter","current","clear","set","handleTargetClick","handleTargetLeave","handleContentKeyDownEscape","handleOutsideClick","e","contains","target","useGlobalEventListener","capture","passive","targetEnterListener","useEventListener","targetClickEvent","targetLeaveListener","useEffect","add","remove","classNames","wrapperClassName","undefined"],"sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../../lib/dom';\nimport { classNames } from '@vkontakte/vkjs';\nimport { PopperCommonProps, Popper } from '../Popper/Popper';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePatchChildrenRef } from '../../hooks/usePatchChildrenRef';\nimport styles from './Popover.module.css';\n\nexport interface PopoverProps extends Omit<PopperCommonProps, 'arrow' | 'arrowClassName'> {\n /**\n * Механика вызова всплывающего окна.\n *\n * - `\"click\"` – показывается/скрывается только при нажатии.\n * - `\"hover\"` – помимо нажатия, будет показываться/скрывается при наведении/отведении мыши.\n *\n * > ⚠️`\"hover\"` на тач-устройствах будет работать как `\"click\"`, с одним лишь нюансом, что не будет закрываться\n * > при повторном нажатии на целевой элемент. Для закрытия необходимо нажать на область вне целевого элемента\n * > и выпадающего окна.\n */\n action?: 'click' | 'hover';\n /**\n * Если передан, то всплывающее окно будет показан/скрыт в зависимости от значения свойства.\n */\n shown?: boolean;\n /**\n * Количество миллисекунд, после которых произойдёт показ всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n showDelay?: number;\n /**\n * Количество миллисекунд, после которых произойдёт скрытие всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n hideDelay?: number;\n /**\n * Содержимое всплывающего окна.\n */\n content?: React.ReactNode;\n /**\n * Целевой элемент. Всплывающее окно появится возле него.\n *\n * > ⚠️ Если это пользовательский компонент, то он должен предоставлять параметры либо `getRootRef`, либо `ref` для получения ссылки на DOM-узел.\n */\n children?: React.ReactElement;\n /**\n * Вызывается при каждом изменении видимости всплывающего окна.\n */\n onShownChange?(shown: boolean): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popover\n */\nexport const Popover = ({\n action = 'click',\n shown: shownProp,\n showDelay = 150,\n hideDelay = 150,\n offsetDistance = 8,\n content,\n children,\n style: styleProp,\n className,\n getRef,\n onShownChange,\n ...restProps\n}: PopoverProps) => {\n const { document } = useDOM();\n\n const hoverable = action === 'hover';\n const hovered = React.useRef(false);\n const [computedShown, setComputedShown] = React.useState(shownProp || false);\n const [dropdownNode, setPopperNode] = React.useState<HTMLElement | null>(null);\n\n const shown = typeof shownProp === 'boolean' ? shownProp : computedShown;\n\n const patchedPopperRef = useExternRef<HTMLDivElement>(setPopperNode, getRef);\n\n const [childRef, child] = usePatchChildrenRef(children);\n\n const setShown = (value: boolean) => {\n if (typeof shownProp !== 'boolean') {\n setComputedShown(value);\n }\n typeof onShownChange === 'function' && onShownChange(value);\n };\n\n const showTimeout = useTimeout(() => setShown(true), showDelay);\n\n const hideTimeout = useTimeout(() => setShown(false), hideDelay);\n\n const handleTargetEnter = () => {\n hovered.current = true;\n hideTimeout.clear();\n showTimeout.set();\n };\n\n const handleTargetClick = () => {\n if (hovered.current && shown) {\n return;\n }\n setShown(!shown);\n };\n\n const handleTargetLeave = () => {\n hovered.current = false;\n showTimeout.clear();\n hideTimeout.set();\n };\n\n const handleContentKeyDownEscape = () => {\n setShown(false);\n };\n\n const handleOutsideClick = (e: MouseEvent) => {\n if (\n dropdownNode &&\n !childRef.current?.contains(e.target as Node) &&\n !dropdownNode.contains(e.target as Node)\n ) {\n setShown(false);\n }\n };\n\n useGlobalEventListener(document, 'click', handleOutsideClick, {\n capture: true,\n passive: true,\n });\n const targetEnterListener = useEventListener('mouseenter', handleTargetEnter);\n const targetClickEvent = useEventListener('click', handleTargetClick);\n const targetLeaveListener = useEventListener('mouseleave', handleTargetLeave);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n targetClickEvent.add(childRef.current);\n }, [childRef, targetClickEvent]);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n if (hoverable) {\n targetEnterListener.add(childRef.current);\n targetLeaveListener.add(childRef.current);\n }\n\n return () => {\n targetEnterListener.remove();\n targetLeaveListener.remove();\n };\n }, [childRef, hoverable, targetEnterListener, targetLeaveListener]);\n\n return (\n <React.Fragment>\n {child}\n {shown && (\n <Popper\n {...restProps}\n className={classNames(styles['Popover'], className)}\n targetRef={childRef}\n getRef={patchedPopperRef}\n offsetDistance={offsetDistance}\n style={\n // Reason: Typescript ругается на CSS Custom Properties в объекте\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n ...styleProp,\n '--vkui_internal--popover_safe_zone_padding': `${offsetDistance}px`,\n } as React.CSSProperties\n }\n renderContent={({ className: wrapperClassName }) => (\n <FocusTrap className={wrapperClassName} onClose={handleContentKeyDownEscape}>\n {content}\n </FocusTrap>\n )}\n onMouseOver={hoverable ? hideTimeout.clear : undefined}\n onMouseOut={hoverable ? handleTargetLeave : undefined}\n />\n )}\n </React.Fragment>\n );\n};\n"],"mappings":"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"}
@@ -25,8 +25,10 @@ var Progress = function Progress(_ref) {
25
25
  className = _ref.className,
26
26
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
27
27
  var progress = (0, _math.clamp)(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);
28
+ var title = "".concat(progress, " / ").concat(PROGRESS_MAX_VALUE);
28
29
  return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
29
- "aria-valuenow": value
30
+ "aria-valuenow": value,
31
+ title: title
30
32
  }, restProps, {
31
33
  role: "progressbar",
32
34
  "aria-valuemin": PROGRESS_MIN_VALUE,
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.js","names":["PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","getRootRef","className","restProps","progress","clamp","classNames","width"],"sources":["../../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../../helpers/math';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport styles from './Progress.module.css';\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n value?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Progress\n */\nexport const Progress = ({ value = 0, getRootRef, className, ...restProps }: ProgressProps) => {\n const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);\n\n return (\n <div\n aria-valuenow={value}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n ref={getRootRef}\n className={classNames(styles['Progress'], className)}\n >\n <div className={styles['Progress__in']} style={{ width: `${progress}%` }} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAA6C;AAU7C,IAAMA,kBAAkB,GAAG,CAAC;AAC5B,IAAMC,kBAAkB,GAAG,GAAG;;AAE9B;AACA;AACA;AACO,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,OAA0E;EAAA,sBAApEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAEC,UAAU,QAAVA,UAAU;IAAEC,SAAS,QAATA,SAAS;IAAKC,SAAS;EACvE,IAAMC,QAAQ,GAAG,IAAAC,WAAK,EAACL,KAAK,EAAEH,kBAAkB,EAAEC,kBAAkB,CAAC;EAErE,oBACE;IACE,iBAAeE;EAAM,GACjBG,SAAS;IACb,IAAI,EAAC,aAAa;IAClB,iBAAeN,kBAAmB;IAClC,iBAAeC,kBAAmB;IAClC,GAAG,EAAEG,UAAW;IAChB,SAAS,EAAE,IAAAK,gBAAU,kBAAqBJ,SAAS;EAAE,iBAErD;IAAK,SAAS,oBAAyB;IAAC,KAAK,EAAE;MAAEK,KAAK,YAAKH,QAAQ;IAAI;EAAE,EAAG,CACxE;AAEV,CAAC;AAAC"}
1
+ {"version":3,"file":"Progress.js","names":["PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","getRootRef","className","restProps","progress","clamp","title","classNames","width"],"sources":["../../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../../helpers/math';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport styles from './Progress.module.css';\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n value?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Progress\n */\nexport const Progress = ({ value = 0, getRootRef, className, ...restProps }: ProgressProps) => {\n const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);\n const title = `${progress} / ${PROGRESS_MAX_VALUE}`;\n\n return (\n <div\n aria-valuenow={value}\n title={title}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n ref={getRootRef}\n className={classNames(styles['Progress'], className)}\n >\n <div className={styles['Progress__in']} style={{ width: `${progress}%` }} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAA6C;AAU7C,IAAMA,kBAAkB,GAAG,CAAC;AAC5B,IAAMC,kBAAkB,GAAG,GAAG;;AAE9B;AACA;AACA;AACO,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,OAA0E;EAAA,sBAApEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAEC,UAAU,QAAVA,UAAU;IAAEC,SAAS,QAATA,SAAS;IAAKC,SAAS;EACvE,IAAMC,QAAQ,GAAG,IAAAC,WAAK,EAACL,KAAK,EAAEH,kBAAkB,EAAEC,kBAAkB,CAAC;EACrE,IAAMQ,KAAK,aAAMF,QAAQ,gBAAMN,kBAAkB,CAAE;EAEnD,oBACE;IACE,iBAAeE,KAAM;IACrB,KAAK,EAAEM;EAAM,GACTH,SAAS;IACb,IAAI,EAAC,aAAa;IAClB,iBAAeN,kBAAmB;IAClC,iBAAeC,kBAAmB;IAClC,GAAG,EAAEG,UAAW;IAChB,SAAS,EAAE,IAAAM,gBAAU,kBAAqBL,SAAS;EAAE,iBAErD;IAAK,SAAS,oBAAyB;IAAC,KAAK,EAAE;MAAEM,KAAK,YAAKJ,QAAQ;IAAI;EAAE,EAAG,CACxE;AAEV,CAAC;AAAC"}
@@ -1,10 +1,6 @@
1
- import * as React from 'react';
1
+ /// <reference types="react" />
2
2
  import { SelectProps } from '../CustomSelect/CustomSelect';
3
3
  export declare type SelectType = 'default' | 'plain' | 'accent';
4
- /**
5
- * @see https://vkcom.github.io/VKUI/#/SelectTypography
6
- */
7
- export declare const SelectTypography: ({ selectType, children, className, ...restProps }: React.PropsWithChildren<Pick<SelectProps, 'selectType' | 'className'>>) => JSX.Element;
8
4
  /**
9
5
  * @see https://vkcom.github.io/VKUI/#/Select
10
6
  */
@@ -5,49 +5,26 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.SelectTypography = exports.Select = void 0;
8
+ exports.Select = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _NativeSelect = require("../NativeSelect/NativeSelect");
13
13
  var _CustomSelect = require("../CustomSelect/CustomSelect");
14
- var _useAdaptivity2 = require("../../hooks/useAdaptivity");
15
14
  var _useAdaptivityHasPointer = require("../../hooks/useAdaptivityHasPointer");
16
- var _usePlatform = require("../../hooks/usePlatform");
17
15
  var _vkjs = require("@vkontakte/vkjs");
18
- var _getPlatformClassName = require("../../helpers/getPlatformClassName");
19
- var _getSizeYClassName = require("../../helpers/getSizeYClassName");
20
- var _excluded = ["selectType", "children", "className"],
21
- _excluded2 = ["children", "options", "popupDirection", "renderOption", "className"];
22
- /**
23
- * @see https://vkcom.github.io/VKUI/#/SelectTypography
24
- */
25
- var SelectTypography = function SelectTypography(_ref) {
26
- var _ref$selectType = _ref.selectType,
27
- selectType = _ref$selectType === void 0 ? 'default' : _ref$selectType,
28
- children = _ref.children,
29
- className = _ref.className,
30
- restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
- var platform = (0, _usePlatform.usePlatform)();
32
- var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
33
- sizeY = _useAdaptivity.sizeY;
34
- return /*#__PURE__*/React.createElement("span", (0, _extends2.default)({
35
- className: (0, _vkjs.classNames)("vkuiSelectTypography", (0, _getPlatformClassName.getPlatformClassName)("vkuiSelectTypography", platform), (0, _getSizeYClassName.getSizeYClassName)("vkuiSelectTypography", sizeY), styles["SelectTypography--selectType-".concat(selectType)], className)
36
- }, restProps), children);
37
- };
38
-
16
+ var _excluded = ["children", "options", "popupDirection", "renderOption", "className"];
39
17
  /**
40
18
  * @see https://vkcom.github.io/VKUI/#/Select
41
19
  */
42
- exports.SelectTypography = SelectTypography;
43
- var Select = function Select(_ref2) {
44
- var children = _ref2.children,
45
- _ref2$options = _ref2.options,
46
- options = _ref2$options === void 0 ? [] : _ref2$options,
47
- popupDirection = _ref2.popupDirection,
48
- renderOption = _ref2.renderOption,
49
- className = _ref2.className,
50
- props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
20
+ var Select = function Select(_ref) {
21
+ var children = _ref.children,
22
+ _ref$options = _ref.options,
23
+ options = _ref$options === void 0 ? [] : _ref$options,
24
+ popupDirection = _ref.popupDirection,
25
+ renderOption = _ref.renderOption,
26
+ className = _ref.className,
27
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
51
28
  var hasPointer = (0, _useAdaptivityHasPointer.useAdaptivityHasPointer)();
52
29
  return /*#__PURE__*/React.createElement(React.Fragment, null, (hasPointer === undefined || hasPointer) && /*#__PURE__*/React.createElement(_CustomSelect.CustomSelect, (0, _extends2.default)({
53
30
  className: (0, _vkjs.classNames)("vkuiSelect__custom", className),
@@ -56,9 +33,9 @@ var Select = function Select(_ref2) {
56
33
  renderOption: renderOption
57
34
  }, props)), (hasPointer === undefined || !hasPointer) && /*#__PURE__*/React.createElement(_NativeSelect.NativeSelect, (0, _extends2.default)({
58
35
  className: (0, _vkjs.classNames)("vkuiSelect__native", className)
59
- }, props), options.map(function (_ref3) {
60
- var label = _ref3.label,
61
- value = _ref3.value;
36
+ }, props), options.map(function (_ref2) {
37
+ var label = _ref2.label,
38
+ value = _ref2.value;
62
39
  return /*#__PURE__*/React.createElement("option", {
63
40
  value: value,
64
41
  key: "".concat(value)
@@ -66,9 +43,4 @@ var Select = function Select(_ref2) {
66
43
  })));
67
44
  };
68
45
  exports.Select = Select;
69
- var styles = {
70
- "SelectTypography--selectType-accent": "vkuiSelectTypography--selectType-accent",
71
- "SelectTypography--selectType-default": "vkuiSelectTypography--selectType-default",
72
- "SelectTypography--selectType-plain": "vkuiSelectTypography--selectType-plain"
73
- };
74
46
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["SelectTypography","selectType","children","className","restProps","platform","usePlatform","useAdaptivity","sizeY","classNames","getPlatformClassName","getSizeYClassName","styles","Select","options","popupDirection","renderOption","props","hasPointer","useAdaptivityHasPointer","undefined","map","label","value"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NativeSelect } from '../NativeSelect/NativeSelect';\nimport { CustomSelect, SelectProps } from '../CustomSelect/CustomSelect';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from './Select.module.css';\n\nexport type SelectType = 'default' | 'plain' | 'accent';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectTypography\n */\nexport const SelectTypography = ({\n selectType = 'default',\n children,\n className,\n ...restProps\n}: React.PropsWithChildren<Pick<SelectProps, 'selectType' | 'className'>>) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n\n return (\n <span\n className={classNames(\n styles['SelectTypography'],\n getPlatformClassName(styles['SelectTypography'], platform),\n getSizeYClassName(styles['SelectTypography'], sizeY),\n styles[`SelectTypography--selectType-${selectType}`],\n className,\n )}\n {...restProps}\n >\n {children}\n </span>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Select\n */\nexport const Select = ({\n children,\n options = [],\n popupDirection,\n renderOption,\n className,\n ...props\n}: SelectProps) => {\n const hasPointer = useAdaptivityHasPointer();\n\n return (\n <React.Fragment>\n {(hasPointer === undefined || hasPointer) && (\n <CustomSelect\n className={classNames(styles['Select__custom'], className)}\n options={options}\n popupDirection={popupDirection}\n renderOption={renderOption}\n {...props}\n />\n )}\n {(hasPointer === undefined || !hasPointer) && (\n <NativeSelect className={classNames(styles['Select__native'], className)} {...props}>\n {options.map(({ label, value }) => (\n <option value={value} key={`${value}`}>\n {label}\n </option>\n ))}\n </NativeSelect>\n )}\n </React.Fragment>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAoE;EAAA;AAKpE;AACA;AACA;AACO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,OAKiD;EAAA,2BAJ5EC,UAAU;IAAVA,UAAU,gCAAG,SAAS;IACtBC,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAkB,IAAAC,6BAAa,GAAE;IAAzBC,KAAK,kBAALA,KAAK;EAEb,oBACE;IACE,SAAS,EAAE,IAAAC,gBAAU,0BAEnB,IAAAC,0CAAoB,0BAA6BL,QAAQ,CAAC,EAC1D,IAAAM,oCAAiB,0BAA6BH,KAAK,CAAC,EACpDI,MAAM,wCAAiCX,UAAU,EAAG,EACpDE,SAAS;EACT,GACEC,SAAS,GAEZF,QAAQ,CACJ;AAEX,CAAC;;AAED;AACA;AACA;AAFA;AAGO,IAAMW,MAAM,GAAG,SAATA,MAAM,QAOA;EAAA,IANjBX,QAAQ,SAARA,QAAQ;IAAA,sBACRY,OAAO;IAAPA,OAAO,8BAAG,EAAE;IACZC,cAAc,SAAdA,cAAc;IACdC,YAAY,SAAZA,YAAY;IACZb,SAAS,SAATA,SAAS;IACNc,KAAK;EAER,IAAMC,UAAU,GAAG,IAAAC,gDAAuB,GAAE;EAE5C,oBACE,oBAAC,KAAK,CAAC,QAAQ,QACZ,CAACD,UAAU,KAAKE,SAAS,IAAIF,UAAU,kBACtC,oBAAC,0BAAY;IACX,SAAS,EAAE,IAAAT,gBAAU,wBAA2BN,SAAS,CAAE;IAC3D,OAAO,EAAEW,OAAQ;IACjB,cAAc,EAAEC,cAAe;IAC/B,YAAY,EAAEC;EAAa,GACvBC,KAAK,EAEZ,EACA,CAACC,UAAU,KAAKE,SAAS,IAAI,CAACF,UAAU,kBACvC,oBAAC,0BAAY;IAAC,SAAS,EAAE,IAAAT,gBAAU,wBAA2BN,SAAS;EAAE,GAAKc,KAAK,GAChFH,OAAO,CAACO,GAAG,CAAC;IAAA,IAAGC,KAAK,SAALA,KAAK;MAAEC,KAAK,SAALA,KAAK;IAAA,oBAC1B;MAAQ,KAAK,EAAEA,KAAM;MAAC,GAAG,YAAKA,KAAK;IAAG,GACnCD,KAAK,CACC;EAAA,CACV,CAAC,CAEL,CACc;AAErB,CAAC;AAAC;AAAA;EAAA;EAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"Select.js","names":["Select","children","options","popupDirection","renderOption","className","props","hasPointer","useAdaptivityHasPointer","undefined","classNames","map","label","value"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NativeSelect } from '../NativeSelect/NativeSelect';\nimport { CustomSelect, SelectProps } from '../CustomSelect/CustomSelect';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './Select.module.css';\n\nexport type SelectType = 'default' | 'plain' | 'accent';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Select\n */\nexport const Select = ({\n children,\n options = [],\n popupDirection,\n renderOption,\n className,\n ...props\n}: SelectProps) => {\n const hasPointer = useAdaptivityHasPointer();\n\n return (\n <React.Fragment>\n {(hasPointer === undefined || hasPointer) && (\n <CustomSelect\n className={classNames(styles['Select__custom'], className)}\n options={options}\n popupDirection={popupDirection}\n renderOption={renderOption}\n {...props}\n />\n )}\n {(hasPointer === undefined || !hasPointer) && (\n <NativeSelect className={classNames(styles['Select__native'], className)} {...props}>\n {options.map(({ label, value }) => (\n <option value={value} key={`${value}`}>\n {label}\n </option>\n ))}\n </NativeSelect>\n )}\n </React.Fragment>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAA6C;AAK7C;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAOA;EAAA,IANjBC,QAAQ,QAARA,QAAQ;IAAA,oBACRC,OAAO;IAAPA,OAAO,6BAAG,EAAE;IACZC,cAAc,QAAdA,cAAc;IACdC,YAAY,QAAZA,YAAY;IACZC,SAAS,QAATA,SAAS;IACNC,KAAK;EAER,IAAMC,UAAU,GAAG,IAAAC,gDAAuB,GAAE;EAE5C,oBACE,oBAAC,KAAK,CAAC,QAAQ,QACZ,CAACD,UAAU,KAAKE,SAAS,IAAIF,UAAU,kBACtC,oBAAC,0BAAY;IACX,SAAS,EAAE,IAAAG,gBAAU,wBAA2BL,SAAS,CAAE;IAC3D,OAAO,EAAEH,OAAQ;IACjB,cAAc,EAAEC,cAAe;IAC/B,YAAY,EAAEC;EAAa,GACvBE,KAAK,EAEZ,EACA,CAACC,UAAU,KAAKE,SAAS,IAAI,CAACF,UAAU,kBACvC,oBAAC,0BAAY;IAAC,SAAS,EAAE,IAAAG,gBAAU,wBAA2BL,SAAS;EAAE,GAAKC,KAAK,GAChFJ,OAAO,CAACS,GAAG,CAAC;IAAA,IAAGC,KAAK,SAALA,KAAK;MAAEC,KAAK,SAALA,KAAK;IAAA,oBAC1B;MAAQ,KAAK,EAAEA,KAAM;MAAC,GAAG,YAAKA,KAAK;IAAG,GACnCD,KAAK,CACC;EAAA,CACV,CAAC,CAEL,CACc;AAErB,CAAC;AAAC"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { FormFieldProps } from '../FormField/FormField';
3
3
  import { HasAlign, HasRootRef } from '../../types';
4
- import { SelectType } from '../Select/Select';
4
+ import type { SelectType } from '../Select/Select';
5
5
  export interface SelectMimicryProps extends React.HTMLAttributes<HTMLElement>, HasAlign, HasRootRef<HTMLElement>, Pick<FormFieldProps, 'before' | 'after' | 'status'> {
6
6
  multiline?: boolean;
7
7
  disabled?: boolean;
@@ -15,7 +15,7 @@ var _FormField = require("../FormField/FormField");
15
15
  var _usePlatform = require("../../hooks/usePlatform");
16
16
  var _getPlatformClassName = require("../../helpers/getPlatformClassName");
17
17
  var _select = require("../../lib/select");
18
- var _Select = require("../Select/Select");
18
+ var _SelectTypography = require("../SelectTypography/SelectTypography");
19
19
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
20
20
  var _getSizeXClassName = require("../../helpers/getSizeXClassName");
21
21
  var _getSizeYClassName = require("../../helpers/getSizeYClassName");
@@ -58,7 +58,7 @@ var SelectMimicry = function SelectMimicry(_ref) {
58
58
  status: status
59
59
  }), /*#__PURE__*/React.createElement("div", {
60
60
  className: "vkuiSelect__container"
61
- }, /*#__PURE__*/React.createElement(_Select.SelectTypography, {
61
+ }, /*#__PURE__*/React.createElement(_SelectTypography.SelectTypography, {
62
62
  selectType: selectType,
63
63
  className: "vkuiSelect__title"
64
64
  }, title)));
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMimicry.js","names":["SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","before","after","selectType","status","className","restProps","platform","usePlatform","useAdaptivity","sizeX","sizeY","title","undefined","classNames","getPlatformClassName","getSizeXClassName","getSizeYClassName","styles","getFormFieldModeFromSelectType"],"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { HasAlign, HasRootRef } from '../../types';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { getFormFieldModeFromSelectType } from '../../lib/select';\nimport { SelectType, SelectTypography } from '../Select/Select';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { getSizeXClassName } from '../../helpers/getSizeXClassName';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from '../Select/Select.module.css';\n\nexport interface SelectMimicryProps\n extends React.HTMLAttributes<HTMLElement>,\n HasAlign,\n HasRootRef<HTMLElement>,\n Pick<FormFieldProps, 'before' | 'after' | 'status'> {\n multiline?: boolean;\n disabled?: boolean;\n selectType?: SelectType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectMimicry\n */\nexport const SelectMimicry = ({\n tabIndex = 0,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n before,\n after = <DropdownIcon />,\n selectType = 'default',\n status,\n className,\n ...restProps\n}: SelectMimicryProps) => {\n const platform = usePlatform();\n const { sizeX, sizeY } = useAdaptivity();\n const title = children || placeholder;\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n className={classNames(\n styles['Select'],\n getPlatformClassName(styles['Select'], platform),\n getSizeXClassName(styles['Select'], sizeX),\n getSizeYClassName(styles['Select'], sizeY),\n multiline && styles['Select--multiline'],\n align && styles[`Select--align-${align}`],\n before && styles['Select--hasBefore'],\n after && styles['Select--hasAfter'],\n className,\n )}\n getRootRef={getRootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles['Select__container']}>\n <SelectTypography selectType={selectType} className={styles['Select__title']}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAoE;AAapE;AACA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAa,OAeA;EAAA,yBAdxBC,QAAQ;IAARA,QAAQ,8BAAG,CAAC;IACZC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,MAAM,QAANA,MAAM;IAAA,kBACNC,KAAK;IAALA,KAAK,wCAAG,oBAAC,0BAAY,OAAG;IAAA,uBACxBC,UAAU;IAAVA,UAAU,gCAAG,SAAS;IACtBC,MAAM,QAANA,MAAM;IACNC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAyB,IAAAC,6BAAa,GAAE;IAAhCC,KAAK,kBAALA,KAAK;IAAEC,KAAK,kBAALA,KAAK;EACpB,IAAMC,KAAK,GAAGjB,QAAQ,IAAID,WAAW;EAErC,oBACE,oBAAC,oBAAS,6BACJY,SAAS;IACb,QAAQ,EAAEP,QAAQ,GAAGc,SAAS,GAAGpB,QAAS;IAC1C,SAAS,EAAE,IAAAqB,gBAAU,gBAEnB,IAAAC,0CAAoB,gBAAmBR,QAAQ,CAAC,EAChD,IAAAS,oCAAiB,gBAAmBN,KAAK,CAAC,EAC1C,IAAAO,oCAAiB,gBAAmBN,KAAK,CAAC,EAC1Cb,SAAS,2BAA+B,EACxCF,KAAK,IAAIsB,MAAM,yBAAkBtB,KAAK,EAAG,EACzCK,MAAM,2BAA+B,EACrCC,KAAK,0BAA8B,EACnCG,SAAS,CACT;IACF,UAAU,EAAER,UAAW;IACvB,OAAO,EAAEE,QAAQ,GAAGc,SAAS,GAAGb,OAAQ;IACxC,QAAQ,EAAED,QAAS;IACnB,MAAM,EAAEE,MAAO;IACf,KAAK,EAAEC,KAAM;IACb,IAAI,EAAE,IAAAiB,sCAA8B,EAAChB,UAAU,CAAE;IACjD,MAAM,EAAEC;EAAO,iBAEf;IAAK,SAAS;EAA8B,gBAC1C,oBAAC,wBAAgB;IAAC,UAAU,EAAED,UAAW;IAAC,SAAS;EAA0B,GAC1ES,KAAK,CACW,CACf,CACI;AAEhB,CAAC;AAAC;AAAA;EAAA;EAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"SelectMimicry.js","names":["SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","before","after","selectType","status","className","restProps","platform","usePlatform","useAdaptivity","sizeX","sizeY","title","undefined","classNames","getPlatformClassName","getSizeXClassName","getSizeYClassName","styles","getFormFieldModeFromSelectType"],"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { HasAlign, HasRootRef } from '../../types';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { getFormFieldModeFromSelectType } from '../../lib/select';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { getSizeXClassName } from '../../helpers/getSizeXClassName';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from '../Select/Select.module.css';\n\nexport interface SelectMimicryProps\n extends React.HTMLAttributes<HTMLElement>,\n HasAlign,\n HasRootRef<HTMLElement>,\n Pick<FormFieldProps, 'before' | 'after' | 'status'> {\n multiline?: boolean;\n disabled?: boolean;\n selectType?: SelectType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectMimicry\n */\nexport const SelectMimicry = ({\n tabIndex = 0,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n before,\n after = <DropdownIcon />,\n selectType = 'default',\n status,\n className,\n ...restProps\n}: SelectMimicryProps) => {\n const platform = usePlatform();\n const { sizeX, sizeY } = useAdaptivity();\n const title = children || placeholder;\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n className={classNames(\n styles['Select'],\n getPlatformClassName(styles['Select'], platform),\n getSizeXClassName(styles['Select'], sizeX),\n getSizeYClassName(styles['Select'], sizeY),\n multiline && styles['Select--multiline'],\n align && styles[`Select--align-${align}`],\n before && styles['Select--hasBefore'],\n after && styles['Select--hasAfter'],\n className,\n )}\n getRootRef={getRootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles['Select__container']}>\n <SelectTypography selectType={selectType} className={styles['Select__title']}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAoE;AAapE;AACA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAa,OAeA;EAAA,yBAdxBC,QAAQ;IAARA,QAAQ,8BAAG,CAAC;IACZC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,MAAM,QAANA,MAAM;IAAA,kBACNC,KAAK;IAALA,KAAK,wCAAG,oBAAC,0BAAY,OAAG;IAAA,uBACxBC,UAAU;IAAVA,UAAU,gCAAG,SAAS;IACtBC,MAAM,QAANA,MAAM;IACNC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAyB,IAAAC,6BAAa,GAAE;IAAhCC,KAAK,kBAALA,KAAK;IAAEC,KAAK,kBAALA,KAAK;EACpB,IAAMC,KAAK,GAAGjB,QAAQ,IAAID,WAAW;EAErC,oBACE,oBAAC,oBAAS,6BACJY,SAAS;IACb,QAAQ,EAAEP,QAAQ,GAAGc,SAAS,GAAGpB,QAAS;IAC1C,SAAS,EAAE,IAAAqB,gBAAU,gBAEnB,IAAAC,0CAAoB,gBAAmBR,QAAQ,CAAC,EAChD,IAAAS,oCAAiB,gBAAmBN,KAAK,CAAC,EAC1C,IAAAO,oCAAiB,gBAAmBN,KAAK,CAAC,EAC1Cb,SAAS,2BAA+B,EACxCF,KAAK,IAAIsB,MAAM,yBAAkBtB,KAAK,EAAG,EACzCK,MAAM,2BAA+B,EACrCC,KAAK,0BAA8B,EACnCG,SAAS,CACT;IACF,UAAU,EAAER,UAAW;IACvB,OAAO,EAAEE,QAAQ,GAAGc,SAAS,GAAGb,OAAQ;IACxC,QAAQ,EAAED,QAAS;IACnB,MAAM,EAAEE,MAAO;IACf,KAAK,EAAEC,KAAM;IACb,IAAI,EAAE,IAAAiB,sCAA8B,EAAChB,UAAU,CAAE;IACjD,MAAM,EAAEC;EAAO,iBAEf;IAAK,SAAS;EAA8B,gBAC1C,oBAAC,kCAAgB;IAAC,UAAU,EAAED,UAAW;IAAC,SAAS;EAA0B,GAC1ES,KAAK,CACW,CACf,CACI;AAEhB,CAAC;AAAC;AAAA;EAAA;EAAA;EAAA;AAAA"}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import type { SelectType } from '../Select/Select';
3
+ export interface SelectTypographyProps {
4
+ selectType?: SelectType;
5
+ className?: string;
6
+ children?: React.ReactNode;
7
+ }
8
+ /**
9
+ * @private
10
+ */
11
+ export declare const SelectTypography: ({ selectType, children, className, ...restProps }: SelectTypographyProps) => JSX.Element;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SelectTypography = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _vkjs = require("@vkontakte/vkjs");
13
+ var _usePlatform = require("../../hooks/usePlatform");
14
+ var _useAdaptivity2 = require("../../hooks/useAdaptivity");
15
+ var _excluded = ["selectType", "children", "className"];
16
+ var sizeYClassNames = {
17
+ none: "vkuiSelectTypography--sizeY-none",
18
+ compact: "vkuiSelectTypography--sizeY-compact",
19
+ regular: ''
20
+ };
21
+ var platformClassNames = {
22
+ vkcom: "vkuiSelectTypography--vkcom",
23
+ android: "vkuiSelectTypography--android"
24
+ };
25
+ var selectTypeClassNames = {
26
+ default: "vkuiSelectTypography--selectType-default",
27
+ plain: "vkuiSelectTypography--selectType-plain",
28
+ accent: "vkuiSelectTypography--selectType-accent"
29
+ };
30
+ /**
31
+ * @private
32
+ */
33
+ var SelectTypography = function SelectTypography(_ref) {
34
+ var _ref$selectType = _ref.selectType,
35
+ selectType = _ref$selectType === void 0 ? 'default' : _ref$selectType,
36
+ children = _ref.children,
37
+ className = _ref.className,
38
+ restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
39
+ var platform = (0, _usePlatform.usePlatform)();
40
+ var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
41
+ _useAdaptivity$sizeY = _useAdaptivity.sizeY,
42
+ sizeY = _useAdaptivity$sizeY === void 0 ? 'none' : _useAdaptivity$sizeY;
43
+ return /*#__PURE__*/React.createElement("span", (0, _extends2.default)({
44
+ className: (0, _vkjs.classNames)("vkuiSelectTypography", platformClassNames[platform], sizeYClassNames[sizeY], selectTypeClassNames[selectType], className)
45
+ }, restProps), children);
46
+ };
47
+ exports.SelectTypography = SelectTypography;
48
+ //# sourceMappingURL=SelectTypography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTypography.js","names":["sizeYClassNames","none","compact","regular","platformClassNames","vkcom","android","selectTypeClassNames","default","plain","accent","SelectTypography","selectType","children","className","restProps","platform","usePlatform","useAdaptivity","sizeY","classNames"],"sources":["../../../../src/components/SelectTypography/SelectTypography.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { SelectType } from '../Select/Select';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport styles from './SelectTypography.module.css';\n\nconst sizeYClassNames = {\n none: styles['SelectTypography--sizeY-none'],\n compact: styles['SelectTypography--sizeY-compact'],\n regular: '',\n};\n\nconst platformClassNames: Record<string, string> = {\n vkcom: styles['SelectTypography--vkcom'],\n android: styles['SelectTypography--android'],\n};\n\nconst selectTypeClassNames = {\n default: styles['SelectTypography--selectType-default'],\n plain: styles['SelectTypography--selectType-plain'],\n accent: styles['SelectTypography--selectType-accent'],\n};\n\nexport interface SelectTypographyProps {\n selectType?: SelectType;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * @private\n */\nexport const SelectTypography = ({\n selectType = 'default',\n children,\n className,\n ...restProps\n}: SelectTypographyProps) => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <span\n className={classNames(\n styles['SelectTypography'],\n platformClassNames[platform],\n sizeYClassNames[sizeY],\n selectTypeClassNames[selectType],\n className,\n )}\n {...restProps}\n >\n {children}\n </span>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AAEA;AACA;AAA0D;AAG1D,IAAMA,eAAe,GAAG;EACtBC,IAAI,oCAAwC;EAC5CC,OAAO,uCAA2C;EAClDC,OAAO,EAAE;AACX,CAAC;AAED,IAAMC,kBAA0C,GAAG;EACjDC,KAAK,+BAAmC;EACxCC,OAAO;AACT,CAAC;AAED,IAAMC,oBAAoB,GAAG;EAC3BC,OAAO,4CAAgD;EACvDC,KAAK,0CAA8C;EACnDC,MAAM;AACR,CAAC;AAQD;AACA;AACA;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB,OAKA;EAAA,2BAJ3BC,UAAU;IAAVA,UAAU,gCAAG,SAAS;IACtBC,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAA2B,IAAAC,6BAAa,GAAE;IAAA,sCAAlCC,KAAK;IAALA,KAAK,qCAAG,MAAM;EAEtB,oBACE;IACE,SAAS,EAAE,IAAAC,gBAAU,0BAEnBhB,kBAAkB,CAACY,QAAQ,CAAC,EAC5BhB,eAAe,CAACmB,KAAK,CAAC,EACtBZ,oBAAoB,CAACK,UAAU,CAAC,EAChCE,SAAS;EACT,GACEC,SAAS,GAEZF,QAAQ,CACJ;AAEX,CAAC;AAAC"}
@@ -4,4 +4,4 @@ export declare type SliderProps = UniversalSliderProps<number>;
4
4
  /**
5
5
  * @see https://vkcom.github.io/VKUI/#/Slider
6
6
  */
7
- export declare const Slider: ({ onChange, min, max, defaultValue, ...props }: SliderProps) => JSX.Element;
7
+ export declare const Slider: ({ onChange, min, max, defaultValue, value, ...props }: SliderProps) => JSX.Element;
@@ -12,7 +12,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _math = require("../../helpers/math");
14
14
  var _UniversalSlider = require("../RangeSlider/UniversalSlider");
15
- var _excluded = ["onChange", "min", "max", "defaultValue"];
15
+ var _excluded = ["onChange", "min", "max", "defaultValue", "value"];
16
16
  /**
17
17
  * @see https://vkcom.github.io/VKUI/#/Slider
18
18
  */
@@ -24,13 +24,14 @@ var Slider = function Slider(_ref) {
24
24
  max = _ref$max === void 0 ? 100 : _ref$max,
25
25
  _ref$defaultValue = _ref.defaultValue,
26
26
  defaultValue = _ref$defaultValue === void 0 ? min : _ref$defaultValue,
27
+ value = _ref.value,
27
28
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
28
- var isControlled = props.value !== undefined;
29
+ var isControlled = value !== undefined;
29
30
  var _React$useState = React.useState(defaultValue),
30
31
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
31
32
  localValue = _React$useState2[0],
32
33
  setValue = _React$useState2[1];
33
- var _value = (0, _math.clamp)(props.value || localValue, min, max);
34
+ var _value = (0, _math.clamp)(isControlled ? value : localValue, min, max);
34
35
  var handleChange = React.useCallback(function (nextValue, event) {
35
36
  if (props.disabled || _value === nextValue[1]) {
36
37
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["Slider","onChange","min","max","defaultValue","props","isControlled","value","undefined","React","useState","localValue","setValue","_value","clamp","handleChange","useCallback","nextValue","event","disabled","rangeValue","useMemo"],"sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../../helpers/math';\nimport {\n UniversalSlider,\n UniversalSliderProps,\n UniversalValue,\n} from '../RangeSlider/UniversalSlider';\nimport { TouchEvent } from '../Touch/Touch';\n\nexport type SliderProps = UniversalSliderProps<number>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Slider\n */\nexport const Slider = ({\n onChange,\n min = 0,\n max = 100,\n defaultValue = min,\n ...props\n}: SliderProps) => {\n const isControlled = props.value !== undefined;\n\n const [localValue, setValue] = React.useState(defaultValue);\n const _value = clamp(props.value || localValue, min, max);\n\n const handleChange: UniversalSliderProps<UniversalValue>['onChange'] = React.useCallback(\n (nextValue: UniversalValue, event: TouchEvent) => {\n if (props.disabled || _value === nextValue[1]) {\n return;\n }\n !isControlled && setValue(nextValue[1]);\n onChange && onChange(nextValue[1], event);\n },\n [props.disabled, _value, isControlled, onChange],\n );\n\n const rangeValue: [null, number] = React.useMemo(() => [null, _value], [_value]);\n return (\n <UniversalSlider {...props} value={rangeValue} onChange={handleChange} min={min} max={max} />\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AAIwC;AAKxC;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAMA;EAAA,IALjBC,QAAQ,QAARA,QAAQ;IAAA,gBACRC,GAAG;IAAHA,GAAG,yBAAG,CAAC;IAAA,gBACPC,GAAG;IAAHA,GAAG,yBAAG,GAAG;IAAA,yBACTC,YAAY;IAAZA,YAAY,kCAAGF,GAAG;IACfG,KAAK;EAER,IAAMC,YAAY,GAAGD,KAAK,CAACE,KAAK,KAAKC,SAAS;EAE9C,sBAA+BC,KAAK,CAACC,QAAQ,CAACN,YAAY,CAAC;IAAA;IAApDO,UAAU;IAAEC,QAAQ;EAC3B,IAAMC,MAAM,GAAG,IAAAC,WAAK,EAACT,KAAK,CAACE,KAAK,IAAII,UAAU,EAAET,GAAG,EAAEC,GAAG,CAAC;EAEzD,IAAMY,YAA8D,GAAGN,KAAK,CAACO,WAAW,CACtF,UAACC,SAAyB,EAAEC,KAAiB,EAAK;IAChD,IAAIb,KAAK,CAACc,QAAQ,IAAIN,MAAM,KAAKI,SAAS,CAAC,CAAC,CAAC,EAAE;MAC7C;IACF;IACA,CAACX,YAAY,IAAIM,QAAQ,CAACK,SAAS,CAAC,CAAC,CAAC,CAAC;IACvChB,QAAQ,IAAIA,QAAQ,CAACgB,SAAS,CAAC,CAAC,CAAC,EAAEC,KAAK,CAAC;EAC3C,CAAC,EACD,CAACb,KAAK,CAACc,QAAQ,EAAEN,MAAM,EAAEP,YAAY,EAAEL,QAAQ,CAAC,CACjD;EAED,IAAMmB,UAA0B,GAAGX,KAAK,CAACY,OAAO,CAAC;IAAA,OAAM,CAAC,IAAI,EAAER,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAChF,oBACE,oBAAC,gCAAe,6BAAKR,KAAK;IAAE,KAAK,EAAEe,UAAW;IAAC,QAAQ,EAAEL,YAAa;IAAC,GAAG,EAAEb,GAAI;IAAC,GAAG,EAAEC;EAAI,GAAG;AAEjG,CAAC;AAAC"}
1
+ {"version":3,"file":"Slider.js","names":["Slider","onChange","min","max","defaultValue","value","props","isControlled","undefined","React","useState","localValue","setValue","_value","clamp","handleChange","useCallback","nextValue","event","disabled","rangeValue","useMemo"],"sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../../helpers/math';\nimport {\n UniversalSlider,\n UniversalSliderProps,\n UniversalValue,\n} from '../RangeSlider/UniversalSlider';\nimport { TouchEvent } from '../Touch/Touch';\n\nexport type SliderProps = UniversalSliderProps<number>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Slider\n */\nexport const Slider = ({\n onChange,\n min = 0,\n max = 100,\n defaultValue = min,\n value,\n ...props\n}: SliderProps) => {\n const isControlled = value !== undefined;\n\n const [localValue, setValue] = React.useState(defaultValue);\n const _value = clamp(isControlled ? value : localValue, min, max);\n\n const handleChange: UniversalSliderProps<UniversalValue>['onChange'] = React.useCallback(\n (nextValue: UniversalValue, event: TouchEvent) => {\n if (props.disabled || _value === nextValue[1]) {\n return;\n }\n !isControlled && setValue(nextValue[1]);\n onChange && onChange(nextValue[1], event);\n },\n [props.disabled, _value, isControlled, onChange],\n );\n\n const rangeValue: [null, number] = React.useMemo(() => [null, _value], [_value]);\n return (\n <UniversalSlider {...props} value={rangeValue} onChange={handleChange} min={min} max={max} />\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AAIwC;AAKxC;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAOA;EAAA,IANjBC,QAAQ,QAARA,QAAQ;IAAA,gBACRC,GAAG;IAAHA,GAAG,yBAAG,CAAC;IAAA,gBACPC,GAAG;IAAHA,GAAG,yBAAG,GAAG;IAAA,yBACTC,YAAY;IAAZA,YAAY,kCAAGF,GAAG;IAClBG,KAAK,QAALA,KAAK;IACFC,KAAK;EAER,IAAMC,YAAY,GAAGF,KAAK,KAAKG,SAAS;EAExC,sBAA+BC,KAAK,CAACC,QAAQ,CAACN,YAAY,CAAC;IAAA;IAApDO,UAAU;IAAEC,QAAQ;EAC3B,IAAMC,MAAM,GAAG,IAAAC,WAAK,EAACP,YAAY,GAAGF,KAAK,GAAGM,UAAU,EAAET,GAAG,EAAEC,GAAG,CAAC;EAEjE,IAAMY,YAA8D,GAAGN,KAAK,CAACO,WAAW,CACtF,UAACC,SAAyB,EAAEC,KAAiB,EAAK;IAChD,IAAIZ,KAAK,CAACa,QAAQ,IAAIN,MAAM,KAAKI,SAAS,CAAC,CAAC,CAAC,EAAE;MAC7C;IACF;IACA,CAACV,YAAY,IAAIK,QAAQ,CAACK,SAAS,CAAC,CAAC,CAAC,CAAC;IACvChB,QAAQ,IAAIA,QAAQ,CAACgB,SAAS,CAAC,CAAC,CAAC,EAAEC,KAAK,CAAC;EAC3C,CAAC,EACD,CAACZ,KAAK,CAACa,QAAQ,EAAEN,MAAM,EAAEN,YAAY,EAAEN,QAAQ,CAAC,CACjD;EAED,IAAMmB,UAA0B,GAAGX,KAAK,CAACY,OAAO,CAAC;IAAA,OAAM,CAAC,IAAI,EAAER,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAChF,oBACE,oBAAC,gCAAe,6BAAKP,KAAK;IAAE,KAAK,EAAEc,UAAW;IAAC,QAAQ,EAAEL,YAAa;IAAC,GAAG,EAAEb,GAAI;IAAC,GAAG,EAAEC;EAAI,GAAG;AAEjG,CAAC;AAAC"}
@@ -22,7 +22,8 @@ var Spacing = function Spacing(_ref) {
22
22
  className = _ref.className,
23
23
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
24
24
  var style = (0, _objectSpread2.default)({
25
- height: size
25
+ height: size,
26
+ padding: "".concat(size / 2, "px 0")
26
27
  }, styleProp);
27
28
  return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, restProps, {
28
29
  "aria-hidden": true,
@@ -1 +1 @@
1
- {"version":3,"file":"Spacing.js","names":["Spacing","size","styleProp","style","className","restProps","height","classNames"],"sources":["../../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './Spacing.module.css';\n\nexport interface SpacingProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Высота спэйсинга\n */\n size?: number;\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Spacing\n */\nexport const Spacing = ({ size = 8, style: styleProp, className, ...restProps }: SpacingProps) => {\n const style = {\n height: size,\n ...styleProp,\n };\n\n return (\n <div\n {...restProps}\n aria-hidden\n className={classNames(className, styles['Spacing'])}\n style={style}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAA6C;AAW7C;AACA;AACA;AACO,IAAMA,OAAO,GAAG,SAAVA,OAAO,OAA8E;EAAA,qBAAxEC,IAAI;IAAJA,IAAI,0BAAG,CAAC;IAASC,SAAS,QAAhBC,KAAK;IAAaC,SAAS,QAATA,SAAS;IAAKC,SAAS;EAC3E,IAAMF,KAAK;IACTG,MAAM,EAAEL;EAAI,GACTC,SAAS,CACb;EAED,oBACE,sDACMG,SAAS;IACb,mBAAW;IACX,SAAS,EAAE,IAAAE,gBAAU,EAACH,SAAS,gBAAqB;IACpD,KAAK,EAAED;EAAM,GACb;AAEN,CAAC;AAAC"}
1
+ {"version":3,"file":"Spacing.js","names":["Spacing","size","styleProp","style","className","restProps","height","padding","classNames"],"sources":["../../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './Spacing.module.css';\n\nexport interface SpacingProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Высота спэйсинга\n */\n size?: number;\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Spacing\n */\nexport const Spacing = ({ size = 8, style: styleProp, className, ...restProps }: SpacingProps) => {\n const style: React.CSSProperties = {\n height: size,\n padding: `${size / 2}px 0`,\n ...styleProp,\n };\n\n return (\n <div\n {...restProps}\n aria-hidden\n className={classNames(className, styles['Spacing'])}\n style={style}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAA6C;AAW7C;AACA;AACA;AACO,IAAMA,OAAO,GAAG,SAAVA,OAAO,OAA8E;EAAA,qBAAxEC,IAAI;IAAJA,IAAI,0BAAG,CAAC;IAASC,SAAS,QAAhBC,KAAK;IAAaC,SAAS,QAATA,SAAS;IAAKC,SAAS;EAC3E,IAAMF,KAA0B;IAC9BG,MAAM,EAAEL,IAAI;IACZM,OAAO,YAAKN,IAAI,GAAG,CAAC;EAAM,GACvBC,SAAS,CACb;EAED,oBACE,sDACMG,SAAS;IACb,mBAAW;IACX,SAAS,EAAE,IAAAG,gBAAU,EAACJ,SAAS,gBAAqB;IACpD,KAAK,EAAED;EAAM,GACb;AAEN,CAAC;AAAC"}
@@ -37,15 +37,14 @@ var Switch = function Switch(_ref) {
37
37
  return /*#__PURE__*/React.createElement("label", {
38
38
  className: (0, _vkjs.classNames)("vkuiSwitch", (0, _getPlatformClassName.getPlatformClassName)("vkuiSwitch", platform), (0, _getSizeYClassName.getSizeYClassName)("vkuiSwitch", sizeY), restProps.disabled && "vkuiSwitch--disabled", focusVisible && "vkuiSwitch--focus-visible", className),
39
39
  style: style,
40
- ref: getRootRef,
41
- role: "presentation"
40
+ ref: getRootRef
42
41
  }, /*#__PURE__*/React.createElement(_VisuallyHiddenInput.VisuallyHiddenInput, (0, _extends2.default)({}, restProps, {
43
42
  type: "checkbox",
44
43
  className: "vkuiSwitch__self",
45
44
  onBlur: (0, _callMultiple.callMultiple)(onBlur, restProps.onBlur),
46
45
  onFocus: (0, _callMultiple.callMultiple)(onFocus, restProps.onFocus)
47
46
  })), /*#__PURE__*/React.createElement("span", {
48
- role: "presentation",
47
+ "aria-hidden": true,
49
48
  className: "vkuiSwitch__pseudo"
50
49
  }), /*#__PURE__*/React.createElement(_FocusVisible.FocusVisible, {
51
50
  mode: "outside"
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["Switch","style","className","getRootRef","restProps","platform","usePlatform","useAdaptivity","sizeY","useFocusVisible","focusVisible","onBlur","onFocus","classNames","getPlatformClassName","getSizeYClassName","disabled","callMultiple"],"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { classNames } from '@vkontakte/vkjs';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasRootRef } from '../../types';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n VisuallyHiddenInput,\n VisuallyHiddenInputProps,\n} from '../VisuallyHiddenInput/VisuallyHiddenInput';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { FocusVisible } from '../FocusVisible/FocusVisible';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from './Switch.module.css';\n\nexport interface SwitchProps extends VisuallyHiddenInputProps, HasRootRef<HTMLLabelElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Switch\n */\nexport const Switch = ({ style, className, getRootRef, ...restProps }: SwitchProps) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n return (\n <label\n className={classNames(\n styles['Switch'],\n getPlatformClassName(styles['Switch'], platform),\n getSizeYClassName(styles['Switch'], sizeY),\n restProps.disabled && styles['Switch--disabled'],\n focusVisible && styles['Switch--focus-visible'],\n className,\n )}\n style={style}\n ref={getRootRef}\n role=\"presentation\"\n >\n <VisuallyHiddenInput\n {...restProps}\n type=\"checkbox\"\n className={styles['Switch__self']}\n onBlur={callMultiple(onBlur, restProps.onBlur)}\n onFocus={callMultiple(onFocus, restProps.onFocus)}\n />\n <span role=\"presentation\" className={styles['Switch__pseudo']} />\n <FocusVisible mode=\"outside\" />\n </label>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AACA;AAAoE;AAKpE;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAAoE;EAAA,IAA9DC,KAAK,QAALA,KAAK;IAAEC,SAAS,QAATA,SAAS;IAAEC,UAAU,QAAVA,UAAU;IAAKC,SAAS;EACjE,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAkB,IAAAC,6BAAa,GAAE;IAAzBC,KAAK,kBAALA,KAAK;EACb,uBAA0C,IAAAC,iCAAe,GAAE;IAAnDC,YAAY,oBAAZA,YAAY;IAAEC,MAAM,oBAANA,MAAM;IAAEC,OAAO,oBAAPA,OAAO;EAErC,oBACE;IACE,SAAS,EAAE,IAAAC,gBAAU,gBAEnB,IAAAC,0CAAoB,gBAAmBT,QAAQ,CAAC,EAChD,IAAAU,oCAAiB,gBAAmBP,KAAK,CAAC,EAC1CJ,SAAS,CAACY,QAAQ,0BAA8B,EAChDN,YAAY,+BAAmC,EAC/CR,SAAS,CACT;IACF,KAAK,EAAED,KAAM;IACb,GAAG,EAAEE,UAAW;IAChB,IAAI,EAAC;EAAc,gBAEnB,oBAAC,wCAAmB,6BACdC,SAAS;IACb,IAAI,EAAC,UAAU;IACf,SAAS,oBAAyB;IAClC,MAAM,EAAE,IAAAa,0BAAY,EAACN,MAAM,EAAEP,SAAS,CAACO,MAAM,CAAE;IAC/C,OAAO,EAAE,IAAAM,0BAAY,EAACL,OAAO,EAAER,SAAS,CAACQ,OAAO;EAAE,GAClD,eACF;IAAM,IAAI,EAAC,cAAc;IAAC,SAAS;EAA2B,EAAG,eACjE,oBAAC,0BAAY;IAAC,IAAI,EAAC;EAAS,EAAG,CACzB;AAEZ,CAAC;AAAC"}
1
+ {"version":3,"file":"Switch.js","names":["Switch","style","className","getRootRef","restProps","platform","usePlatform","useAdaptivity","sizeY","useFocusVisible","focusVisible","onBlur","onFocus","classNames","getPlatformClassName","getSizeYClassName","disabled","callMultiple"],"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { classNames } from '@vkontakte/vkjs';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasRootRef } from '../../types';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n VisuallyHiddenInput,\n VisuallyHiddenInputProps,\n} from '../VisuallyHiddenInput/VisuallyHiddenInput';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { FocusVisible } from '../FocusVisible/FocusVisible';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from './Switch.module.css';\n\nexport interface SwitchProps extends VisuallyHiddenInputProps, HasRootRef<HTMLLabelElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Switch\n */\nexport const Switch = ({ style, className, getRootRef, ...restProps }: SwitchProps) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n return (\n <label\n className={classNames(\n styles['Switch'],\n getPlatformClassName(styles['Switch'], platform),\n getSizeYClassName(styles['Switch'], sizeY),\n restProps.disabled && styles['Switch--disabled'],\n focusVisible && styles['Switch--focus-visible'],\n className,\n )}\n style={style}\n ref={getRootRef}\n >\n <VisuallyHiddenInput\n {...restProps}\n type=\"checkbox\"\n className={styles['Switch__self']}\n onBlur={callMultiple(onBlur, restProps.onBlur)}\n onFocus={callMultiple(onFocus, restProps.onFocus)}\n />\n <span aria-hidden className={styles['Switch__pseudo']} />\n <FocusVisible mode=\"outside\" />\n </label>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AACA;AAAoE;AAKpE;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAAoE;EAAA,IAA9DC,KAAK,QAALA,KAAK;IAAEC,SAAS,QAATA,SAAS;IAAEC,UAAU,QAAVA,UAAU;IAAKC,SAAS;EACjE,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAkB,IAAAC,6BAAa,GAAE;IAAzBC,KAAK,kBAALA,KAAK;EACb,uBAA0C,IAAAC,iCAAe,GAAE;IAAnDC,YAAY,oBAAZA,YAAY;IAAEC,MAAM,oBAANA,MAAM;IAAEC,OAAO,oBAAPA,OAAO;EAErC,oBACE;IACE,SAAS,EAAE,IAAAC,gBAAU,gBAEnB,IAAAC,0CAAoB,gBAAmBT,QAAQ,CAAC,EAChD,IAAAU,oCAAiB,gBAAmBP,KAAK,CAAC,EAC1CJ,SAAS,CAACY,QAAQ,0BAA8B,EAChDN,YAAY,+BAAmC,EAC/CR,SAAS,CACT;IACF,KAAK,EAAED,KAAM;IACb,GAAG,EAAEE;EAAW,gBAEhB,oBAAC,wCAAmB,6BACdC,SAAS;IACb,IAAI,EAAC,UAAU;IACf,SAAS,oBAAyB;IAClC,MAAM,EAAE,IAAAa,0BAAY,EAACN,MAAM,EAAEP,SAAS,CAACO,MAAM,CAAE;IAC/C,OAAO,EAAE,IAAAM,0BAAY,EAACL,OAAO,EAAER,SAAS,CAACQ,OAAO;EAAE,GAClD,eACF;IAAM,mBAAW;IAAC,SAAS;EAA2B,EAAG,eACzD,oBAAC,0BAAY;IAAC,IAAI,EAAC;EAAS,EAAG,CACzB;AAEZ,CAAC;AAAC"}
@@ -15,9 +15,12 @@ var _platform = require("../../lib/platform");
15
15
  var _useGlobalEventListener = require("../../hooks/useGlobalEventListener");
16
16
  var _dom = require("../../lib/dom");
17
17
  var _accessibility = require("../../lib/accessibility");
18
- var _useAdaptivity2 = require("../../hooks/useAdaptivity");
19
- var _getSizeXClassName = require("../../helpers/getSizeXClassName");
20
18
  var _excluded = ["children", "mode", "getRootRef", "className", "role"];
19
+ var modeClassNames = {
20
+ default: "vkuiTabs--mode-default",
21
+ accent: "vkuiTabs--mode-accent",
22
+ secondary: "vkuiTabs--mode-secondary"
23
+ };
21
24
  var TabsModeContext = /*#__PURE__*/React.createContext({
22
25
  mode: 'default',
23
26
  withGaps: false
@@ -37,8 +40,6 @@ var Tabs = function Tabs(_ref) {
37
40
  role = _ref$role === void 0 ? 'tablist' : _ref$role,
38
41
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
39
42
  var platform = (0, _usePlatform.usePlatform)();
40
- var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
41
- sizeX = _useAdaptivity.sizeX;
42
43
  var _useDOM = (0, _dom.useDOM)(),
43
44
  document = _useDOM.document;
44
45
  var isTabFlow = role === 'tablist';
@@ -132,7 +133,7 @@ var Tabs = function Tabs(_ref) {
132
133
  });
133
134
  return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, restProps, {
134
135
  ref: getRootRef,
135
- className: (0, _vkjs.classNames)("vkuiTabs", platform === _platform.Platform.VKCOM && styles["Tabs--".concat(platform)], (0, _getSizeXClassName.getSizeXClassName)("vkuiTabs", sizeX), withGaps && "vkuiTabs--withGaps", styles["Tabs--mode-".concat(mode)], className),
136
+ className: (0, _vkjs.classNames)("vkuiTabs", platform === _platform.Platform.VKCOM && "vkuiTabs--vkcom", withGaps && "vkuiTabs--withGaps", modeClassNames[mode], className),
136
137
  role: role
137
138
  }), /*#__PURE__*/React.createElement("div", {
138
139
  className: "vkuiTabs__in",
@@ -145,14 +146,4 @@ var Tabs = function Tabs(_ref) {
145
146
  }, children)));
146
147
  };
147
148
  exports.Tabs = Tabs;
148
- var styles = {
149
- "Tabs--withGaps": "vkuiTabs--withGaps",
150
- "Tabs--mode-default": "vkuiTabs--mode-default",
151
- "Tabs--buttons": "vkuiTabs--buttons",
152
- "Tabs--sizeX-compact": "vkuiTabs--sizeX-compact",
153
- "Tabs--sizeX-none": "vkuiTabs--sizeX-none",
154
- "Tabs--mode-accent": "vkuiTabs--mode-accent",
155
- "Tabs--mode-secondary": "vkuiTabs--mode-secondary",
156
- "Tabs--vkcom": "vkuiTabs--vkcom"
157
- };
158
149
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["TabsModeContext","React","createContext","mode","withGaps","Tabs","children","getRootRef","className","role","restProps","platform","usePlatform","useAdaptivity","sizeX","useDOM","document","isTabFlow","tabsRef","useRef","getTabEls","current","Array","from","querySelectorAll","handleDocumentKeydown","event","key","pressedKey","tabEls","currentFocusedElIndex","findIndex","el","activeElement","nextIndex","length","offset","nextTabEl","preventDefault","focus","currentFocusedEl","find","getAttribute","relatedContentElId","relatedContentEl","getElementById","click","useGlobalEventListener","capture","classNames","Platform","VKCOM","styles","getSizeXClassName"],"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { pressedKey } from '../../lib/accessibility';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { getSizeXClassName } from '../../helpers/getSizeXClassName';\nimport styles from './Tabs.module.css';\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n mode?: 'default' | 'accent' | 'secondary';\n}\n\nexport interface TabsContextProps {\n mode: TabsProps['mode'];\n withGaps: boolean;\n}\n\nexport const TabsModeContext = React.createContext<TabsContextProps>({\n mode: 'default',\n withGaps: false,\n});\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = ({\n children,\n mode = 'default',\n getRootRef,\n className,\n role = 'tablist',\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n const { sizeX } = useAdaptivity();\n const { document } = useDOM();\n\n const isTabFlow = role === 'tablist';\n\n const tabsRef = React.useRef<HTMLDivElement>(null);\n\n const withGaps = mode === 'accent' || mode === 'secondary';\n\n const getTabEls = () => {\n if (!tabsRef.current) {\n return [];\n }\n\n return Array.from(\n // eslint-disable-next-line no-restricted-properties\n tabsRef.current.querySelectorAll<HTMLDivElement>('[role=tab]:not([disabled])'),\n );\n };\n\n const handleDocumentKeydown = (event: KeyboardEvent) => {\n if (!document || !tabsRef.current || !isTabFlow) {\n return;\n }\n\n const key = pressedKey(event);\n\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'End':\n case 'Home': {\n const tabEls = getTabEls();\n const currentFocusedElIndex = tabEls.findIndex((el) => document.activeElement === el);\n if (currentFocusedElIndex === -1) {\n return;\n }\n\n let nextIndex = 0;\n if (key === 'Home') {\n nextIndex = 0;\n } else if (key === 'End') {\n nextIndex = tabEls.length - 1;\n } else {\n const offset = key === 'ArrowRight' ? 1 : -1;\n nextIndex = currentFocusedElIndex + offset;\n }\n\n const nextTabEl = tabEls[nextIndex];\n\n if (nextTabEl) {\n event.preventDefault();\n nextTabEl.focus();\n }\n\n break;\n }\n /*\n В JAWS и NVDA стрелка вниз активирует контент.\n Это не прописано в стандартах, но по ссылке ниже это рекомендуется делать.\n https://inclusive-components.design/tabbed-interfaces/\n */\n case 'ArrowDown': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n\n if (!currentFocusedEl || currentFocusedEl.getAttribute('aria-selected') !== 'true') {\n return;\n }\n\n const relatedContentElId = currentFocusedEl.getAttribute('aria-controls');\n if (!relatedContentElId) {\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const relatedContentEl = document.getElementById(relatedContentElId);\n if (!relatedContentEl) {\n return;\n }\n\n event.preventDefault();\n relatedContentEl.focus();\n\n break;\n }\n case 'Space':\n case 'Enter': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n if (currentFocusedEl) {\n currentFocusedEl.click();\n }\n }\n }\n };\n\n useGlobalEventListener(document, 'keydown', handleDocumentKeydown, {\n capture: true,\n });\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Tabs'],\n platform === Platform.VKCOM && styles[`Tabs--${platform}`],\n getSizeXClassName(styles['Tabs'], sizeX),\n withGaps && styles['Tabs--withGaps'],\n styles[`Tabs--mode-${mode}`],\n className,\n )}\n role={role}\n >\n <div className={styles['Tabs__in']} ref={tabsRef}>\n <TabsModeContext.Provider value={{ mode, withGaps }}>{children}</TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","names":["modeClassNames","default","accent","secondary","TabsModeContext","React","createContext","mode","withGaps","Tabs","children","getRootRef","className","role","restProps","platform","usePlatform","useDOM","document","isTabFlow","tabsRef","useRef","getTabEls","current","Array","from","querySelectorAll","handleDocumentKeydown","event","key","pressedKey","tabEls","currentFocusedElIndex","findIndex","el","activeElement","nextIndex","length","offset","nextTabEl","preventDefault","focus","currentFocusedEl","find","getAttribute","relatedContentElId","relatedContentEl","getElementById","click","useGlobalEventListener","capture","classNames","Platform","VKCOM"],"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { pressedKey } from '../../lib/accessibility';\nimport styles from './Tabs.module.css';\n\nconst modeClassNames = {\n default: styles['Tabs--mode-default'],\n accent: styles['Tabs--mode-accent'],\n secondary: styles['Tabs--mode-secondary'],\n};\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n mode?: 'default' | 'accent' | 'secondary';\n}\n\nexport interface TabsContextProps {\n mode: TabsProps['mode'];\n withGaps: boolean;\n}\n\nexport const TabsModeContext = React.createContext<TabsContextProps>({\n mode: 'default',\n withGaps: false,\n});\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = ({\n children,\n mode = 'default',\n getRootRef,\n className,\n role = 'tablist',\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n const { document } = useDOM();\n\n const isTabFlow = role === 'tablist';\n\n const tabsRef = React.useRef<HTMLDivElement>(null);\n\n const withGaps = mode === 'accent' || mode === 'secondary';\n\n const getTabEls = () => {\n if (!tabsRef.current) {\n return [];\n }\n\n return Array.from(\n // eslint-disable-next-line no-restricted-properties\n tabsRef.current.querySelectorAll<HTMLDivElement>('[role=tab]:not([disabled])'),\n );\n };\n\n const handleDocumentKeydown = (event: KeyboardEvent) => {\n if (!document || !tabsRef.current || !isTabFlow) {\n return;\n }\n\n const key = pressedKey(event);\n\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'End':\n case 'Home': {\n const tabEls = getTabEls();\n const currentFocusedElIndex = tabEls.findIndex((el) => document.activeElement === el);\n if (currentFocusedElIndex === -1) {\n return;\n }\n\n let nextIndex = 0;\n if (key === 'Home') {\n nextIndex = 0;\n } else if (key === 'End') {\n nextIndex = tabEls.length - 1;\n } else {\n const offset = key === 'ArrowRight' ? 1 : -1;\n nextIndex = currentFocusedElIndex + offset;\n }\n\n const nextTabEl = tabEls[nextIndex];\n\n if (nextTabEl) {\n event.preventDefault();\n nextTabEl.focus();\n }\n\n break;\n }\n /*\n В JAWS и NVDA стрелка вниз активирует контент.\n Это не прописано в стандартах, но по ссылке ниже это рекомендуется делать.\n https://inclusive-components.design/tabbed-interfaces/\n */\n case 'ArrowDown': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n\n if (!currentFocusedEl || currentFocusedEl.getAttribute('aria-selected') !== 'true') {\n return;\n }\n\n const relatedContentElId = currentFocusedEl.getAttribute('aria-controls');\n if (!relatedContentElId) {\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const relatedContentEl = document.getElementById(relatedContentElId);\n if (!relatedContentEl) {\n return;\n }\n\n event.preventDefault();\n relatedContentEl.focus();\n\n break;\n }\n case 'Space':\n case 'Enter': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n if (currentFocusedEl) {\n currentFocusedEl.click();\n }\n }\n }\n };\n\n useGlobalEventListener(document, 'keydown', handleDocumentKeydown, {\n capture: true,\n });\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Tabs'],\n platform === Platform.VKCOM && styles['Tabs--vkcom'],\n withGaps && styles['Tabs--withGaps'],\n modeClassNames[mode],\n className,\n )}\n role={role}\n >\n <div className={styles['Tabs__in']} ref={tabsRef}>\n <TabsModeContext.Provider value={{ mode, withGaps }}>{children}</TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -199,6 +199,7 @@ var Tooltip = function Tooltip(_ref3) {
199
199
  var _useDOM = (0, _dom.useDOM)(),
200
200
  document = _useDOM.document;
201
201
  (0, _useGlobalEventListener.useGlobalEventListener)(document, 'click', isShown && onClose, {
202
+ capture: true,
202
203
  passive: true
203
204
  });
204
205
  // NOTE: setting isShown to true used to trigger usePopper().forceUpdate()