@vkontakte/vkui 4.34.0 → 4.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/.browserslistrc +5 -0
  2. package/.cache/.eslintcache +1 -1
  3. package/.cache/.stylelintcache +1 -1
  4. package/.cache/.tsbuildinfo +291 -268
  5. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  6. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -1
  7. package/.cache/ts/src/components/Button/Button.d.ts +1 -1
  8. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +1 -1
  9. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
  10. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  11. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  12. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  13. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
  14. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
  15. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +46 -5
  16. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -1
  17. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
  18. package/.cache/ts/src/components/Group/Group.d.ts +1 -1
  19. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  20. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  21. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  22. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  23. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  24. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +1 -1
  25. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
  26. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
  27. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  28. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -1
  29. package/.cache/ts/src/components/Panel/Panel.d.ts +1 -1
  30. package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
  31. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  32. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +1 -1
  33. package/.cache/ts/src/components/Popper/Popper.d.ts +18 -1
  34. package/.cache/ts/src/components/PopperArrow/PopperArrow.d.ts +8 -0
  35. package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
  36. package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
  37. package/.cache/ts/src/components/RichCell/RichCell.d.ts +1 -1
  38. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +7 -2
  39. package/.cache/ts/src/components/Search/Search.d.ts +1 -1
  40. package/.cache/ts/src/components/Select/Select.d.ts +1 -1
  41. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  42. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  43. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +5 -1
  44. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -0
  45. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +8 -1
  46. package/.cache/ts/src/components/Tabs/Tabs.d.ts +14 -3
  47. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +22 -1
  48. package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
  49. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +5 -1
  50. package/.cache/ts/src/components/Textarea/Textarea.d.ts +4 -1
  51. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +18 -1
  52. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +3 -3
  53. package/.cache/ts/src/components/View/View.d.ts +2 -18
  54. package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
  55. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +5 -1
  56. package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -1
  57. package/.cache/ts/src/hoc/withContext.d.ts +1 -1
  58. package/.cache/ts/src/hoc/withPlatform.d.ts +1 -1
  59. package/.cache/ts/src/tokenized/index.d.ts +26 -0
  60. package/.eslintrc.json +14 -4
  61. package/dist/cjs/components/AppRoot/AppRoot.js +13 -15
  62. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  63. package/dist/cjs/components/Button/Button.js +6 -4
  64. package/dist/cjs/components/Button/Button.js.map +1 -1
  65. package/dist/cjs/components/CardScroll/CardScroll.js +3 -1
  66. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  67. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -0
  68. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  69. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +7 -1
  70. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  71. package/dist/cjs/components/CustomSelect/CustomSelect.js +477 -553
  72. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  73. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +73 -35
  74. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  75. package/dist/cjs/components/Dropdown/Dropdown.js +147 -26
  76. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  77. package/dist/cjs/components/Epic/Epic.js +1 -6
  78. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  79. package/dist/cjs/components/FocusTrap/FocusTrap.js +9 -10
  80. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  81. package/dist/cjs/components/FormField/FormField.js +4 -10
  82. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  83. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
  84. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  85. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -0
  86. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  87. package/dist/cjs/components/Input/Input.js +3 -6
  88. package/dist/cjs/components/Input/Input.js.map +1 -1
  89. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  90. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  91. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +1 -0
  92. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  93. package/dist/cjs/components/NativeSelect/NativeSelect.js +1 -0
  94. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  95. package/dist/cjs/components/Panel/Panel.js +1 -0
  96. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  97. package/dist/cjs/components/PanelHeader/PanelHeader.js +1 -0
  98. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  99. package/dist/cjs/components/Popper/Popper.js +16 -22
  100. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  101. package/dist/cjs/components/PopperArrow/PopperArrow.js +40 -0
  102. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -0
  103. package/dist/cjs/components/Radio/Radio.js +1 -0
  104. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  105. package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -0
  106. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  107. package/dist/cjs/components/RichTooltip/RichTooltip.js +6 -15
  108. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  109. package/dist/cjs/components/Select/Select.js +1 -0
  110. package/dist/cjs/components/Select/Select.js.map +1 -1
  111. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -1
  112. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  113. package/dist/cjs/components/SimpleCell/SimpleCell.js +21 -31
  114. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  115. package/dist/cjs/components/Snackbar/Snackbar.js +7 -11
  116. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  117. package/dist/cjs/components/SplitCol/SplitCol.js +7 -1
  118. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  119. package/dist/cjs/components/SplitLayout/SplitLayout.js +5 -8
  120. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  121. package/dist/cjs/components/Tabbar/Tabbar.js +15 -14
  122. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  123. package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -10
  124. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  125. package/dist/cjs/components/Tabs/Tabs.js +23 -5
  126. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  127. package/dist/cjs/components/TabsItem/TabsItem.js +39 -22
  128. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  129. package/dist/cjs/components/TextTooltip/TextTooltip.js +6 -9
  130. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  131. package/dist/cjs/components/Textarea/Textarea.js +5 -4
  132. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  133. package/dist/cjs/components/Tooltip/Tooltip.js +94 -71
  134. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  135. package/dist/cjs/components/Typography/Headline/Headline.js +11 -2
  136. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  137. package/dist/cjs/components/View/View.js +388 -453
  138. package/dist/cjs/components/View/View.js.map +1 -1
  139. package/dist/cjs/components/WriteBar/WriteBar.js +12 -5
  140. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  141. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -8
  142. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  143. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  144. package/dist/cjs/hoc/withContext.js.map +1 -1
  145. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  146. package/dist/cjs/hooks/useOrientationChange.js +2 -1
  147. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  148. package/dist/cjs/tokenized/index.js +104 -0
  149. package/dist/cjs/tokenized/index.js.map +1 -1
  150. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  151. package/dist/components/AppRoot/AppRoot.d.ts +1 -1
  152. package/dist/components/AppRoot/AppRoot.js +13 -15
  153. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  154. package/dist/components/Button/Button.d.ts +1 -1
  155. package/dist/components/Button/Button.js +6 -4
  156. package/dist/components/Button/Button.js.map +1 -1
  157. package/dist/components/CardGrid/CardGrid.d.ts +1 -1
  158. package/dist/components/CardScroll/CardScroll.js +3 -1
  159. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  160. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  161. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  162. package/dist/components/ChipsSelect/ChipsSelect.js +5 -0
  163. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  164. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  165. package/dist/components/ConfigProvider/ConfigProviderContext.js +3 -0
  166. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  167. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  168. package/dist/components/CustomSelect/CustomSelect.js +473 -579
  169. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  170. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
  171. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +71 -35
  172. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  173. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  174. package/dist/components/Dropdown/Dropdown.d.ts +46 -5
  175. package/dist/components/Dropdown/Dropdown.js +137 -27
  176. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  177. package/dist/components/Epic/Epic.d.ts +1 -1
  178. package/dist/components/Epic/Epic.js +1 -4
  179. package/dist/components/Epic/Epic.js.map +1 -1
  180. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  181. package/dist/components/FocusTrap/FocusTrap.js +9 -9
  182. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  183. package/dist/components/FormField/FormField.js +4 -8
  184. package/dist/components/FormField/FormField.js.map +1 -1
  185. package/dist/components/Group/Group.d.ts +1 -1
  186. package/dist/components/HorizontalCell/HorizontalCell.js +3 -5
  187. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  188. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  189. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -0
  190. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  191. package/dist/components/IconButton/IconButton.d.ts +1 -1
  192. package/dist/components/Input/Input.d.ts +1 -1
  193. package/dist/components/Input/Input.js +3 -4
  194. package/dist/components/Input/Input.js.map +1 -1
  195. package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
  196. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  197. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  198. package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  199. package/dist/components/ModalCardBase/ModalCardBase.js +1 -0
  200. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  201. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  202. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  203. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
  204. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  205. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  206. package/dist/components/NativeSelect/NativeSelect.js +1 -0
  207. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  208. package/dist/components/Panel/Panel.d.ts +1 -1
  209. package/dist/components/Panel/Panel.js +1 -0
  210. package/dist/components/Panel/Panel.js.map +1 -1
  211. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  212. package/dist/components/PanelHeader/PanelHeader.js +1 -0
  213. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  214. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  215. package/dist/components/PopoutRoot/PopoutRoot.d.ts +1 -1
  216. package/dist/components/Popper/Popper.d.ts +18 -1
  217. package/dist/components/Popper/Popper.js +15 -22
  218. package/dist/components/Popper/Popper.js.map +1 -1
  219. package/dist/components/PopperArrow/PopperArrow.d.ts +8 -0
  220. package/dist/components/PopperArrow/PopperArrow.js +27 -0
  221. package/dist/components/PopperArrow/PopperArrow.js.map +1 -0
  222. package/dist/components/Radio/Radio.d.ts +1 -1
  223. package/dist/components/Radio/Radio.js +1 -0
  224. package/dist/components/Radio/Radio.js.map +1 -1
  225. package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
  226. package/dist/components/RangeSlider/UniversalSlider.js +1 -0
  227. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  228. package/dist/components/RichCell/RichCell.d.ts +1 -1
  229. package/dist/components/RichTooltip/RichTooltip.d.ts +7 -2
  230. package/dist/components/RichTooltip/RichTooltip.js +5 -10
  231. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  232. package/dist/components/Search/Search.d.ts +1 -1
  233. package/dist/components/Select/Select.d.ts +1 -1
  234. package/dist/components/Select/Select.js +1 -0
  235. package/dist/components/Select/Select.js.map +1 -1
  236. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  237. package/dist/components/SelectMimicry/SelectMimicry.js +4 -1
  238. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  239. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  240. package/dist/components/SimpleCell/SimpleCell.js +19 -28
  241. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  242. package/dist/components/Snackbar/Snackbar.d.ts +5 -1
  243. package/dist/components/Snackbar/Snackbar.js +8 -11
  244. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  245. package/dist/components/SplitCol/SplitCol.d.ts +1 -0
  246. package/dist/components/SplitCol/SplitCol.js +3 -0
  247. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  248. package/dist/components/SplitLayout/SplitLayout.js +4 -7
  249. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  250. package/dist/components/Tabbar/Tabbar.d.ts +8 -1
  251. package/dist/components/Tabbar/Tabbar.js +15 -14
  252. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  253. package/dist/components/TabbarItem/TabbarItem.js +7 -9
  254. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  255. package/dist/components/Tabs/Tabs.d.ts +14 -3
  256. package/dist/components/Tabs/Tabs.js +23 -5
  257. package/dist/components/Tabs/Tabs.js.map +1 -1
  258. package/dist/components/TabsItem/TabsItem.d.ts +22 -1
  259. package/dist/components/TabsItem/TabsItem.js +40 -21
  260. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  261. package/dist/components/Tappable/Tappable.d.ts +1 -1
  262. package/dist/components/TextTooltip/TextTooltip.d.ts +5 -1
  263. package/dist/components/TextTooltip/TextTooltip.js +5 -7
  264. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  265. package/dist/components/Textarea/Textarea.d.ts +4 -1
  266. package/dist/components/Textarea/Textarea.js +5 -4
  267. package/dist/components/Textarea/Textarea.js.map +1 -1
  268. package/dist/components/Tooltip/Tooltip.d.ts +18 -1
  269. package/dist/components/Tooltip/Tooltip.js +89 -68
  270. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  271. package/dist/components/Typography/Headline/Headline.d.ts +3 -3
  272. package/dist/components/Typography/Headline/Headline.js +10 -2
  273. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  274. package/dist/components/View/View.d.ts +2 -18
  275. package/dist/components/View/View.js +384 -462
  276. package/dist/components/View/View.js.map +1 -1
  277. package/dist/components/View/ViewInfinite.d.ts +1 -1
  278. package/dist/components/WriteBar/WriteBar.d.ts +5 -1
  279. package/dist/components/WriteBar/WriteBar.js +10 -5
  280. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  281. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -6
  282. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  283. package/dist/components.css +143 -127
  284. package/dist/components.css.map +1 -1
  285. package/dist/cssm/components/ActionSheet/ActionSheet.css +1 -1
  286. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +1 -1
  287. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  288. package/dist/cssm/components/Alert/Alert.css +1 -1
  289. package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
  290. package/dist/cssm/components/AppRoot/AppRoot.d.ts +1 -1
  291. package/dist/cssm/components/AppRoot/AppRoot.js +13 -15
  292. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  293. package/dist/cssm/components/Avatar/Avatar.css +3 -5
  294. package/dist/cssm/components/Badge/Badge.css +3 -3
  295. package/dist/cssm/components/Banner/Banner.css +5 -5
  296. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -1
  297. package/dist/cssm/components/Button/Button.css +53 -35
  298. package/dist/cssm/components/Button/Button.d.ts +1 -1
  299. package/dist/cssm/components/Button/Button.js +6 -4
  300. package/dist/cssm/components/Button/Button.js.map +1 -1
  301. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  302. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  303. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  304. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  305. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  306. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  307. package/dist/cssm/components/Card/Card.css +5 -6
  308. package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
  309. package/dist/cssm/components/CardGrid/CardGrid.d.ts +1 -1
  310. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  311. package/dist/cssm/components/CardScroll/CardScroll.js +3 -1
  312. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  313. package/dist/cssm/components/Cell/Cell.css +3 -3
  314. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
  315. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
  316. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  317. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  318. package/dist/cssm/components/Checkbox/Checkbox.d.ts +1 -1
  319. package/dist/cssm/components/Chip/Chip.css +1 -1
  320. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  321. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  322. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  323. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -0
  324. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  325. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  326. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +3 -0
  327. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  328. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  329. package/dist/cssm/components/Counter/Counter.css +31 -31
  330. package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
  331. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  332. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  333. package/dist/cssm/components/CustomSelect/CustomSelect.js +473 -579
  334. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  335. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -3
  336. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
  337. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +71 -35
  338. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  339. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -3
  340. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  341. package/dist/cssm/components/DatePicker/DatePicker.css +1 -1
  342. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -1
  343. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  344. package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
  345. package/dist/cssm/components/Dropdown/Dropdown.d.ts +46 -5
  346. package/dist/cssm/components/Dropdown/Dropdown.js +137 -27
  347. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  348. package/dist/cssm/components/Epic/Epic.css +1 -1
  349. package/dist/cssm/components/Epic/Epic.d.ts +1 -1
  350. package/dist/cssm/components/Epic/Epic.js +1 -4
  351. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  352. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  353. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  354. package/dist/cssm/components/FocusTrap/FocusTrap.js +9 -9
  355. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  356. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  357. package/dist/cssm/components/Footer/Footer.css +1 -1
  358. package/dist/cssm/components/FormField/FormField.css +9 -9
  359. package/dist/cssm/components/FormField/FormField.js +4 -8
  360. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  361. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  362. package/dist/cssm/components/FormLayout/FormLayout.css +1 -1
  363. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  364. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  365. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  366. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  367. package/dist/cssm/components/Group/Group.css +1 -1
  368. package/dist/cssm/components/Group/Group.d.ts +1 -1
  369. package/dist/cssm/components/Header/Header.css +1 -1
  370. package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
  371. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -5
  372. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  373. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
  374. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  375. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -0
  376. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  377. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +3 -3
  378. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  379. package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
  380. package/dist/cssm/components/InfoRow/InfoRow.css +1 -1
  381. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  382. package/dist/cssm/components/Input/Input.css +1 -1
  383. package/dist/cssm/components/Input/Input.d.ts +1 -1
  384. package/dist/cssm/components/Input/Input.js +3 -4
  385. package/dist/cssm/components/Input/Input.js.map +1 -1
  386. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  387. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  388. package/dist/cssm/components/Link/Link.css +1 -1
  389. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
  390. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
  391. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  392. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  393. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  394. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -3
  395. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  396. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -0
  397. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  398. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
  399. package/dist/cssm/components/ModalPage/ModalPage.css +1 -1
  400. package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
  401. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  402. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  403. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +1 -1
  404. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
  405. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  406. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
  407. package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -0
  408. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  409. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  410. package/dist/cssm/components/Panel/Panel.css +1 -1
  411. package/dist/cssm/components/Panel/Panel.d.ts +1 -1
  412. package/dist/cssm/components/Panel/Panel.js +1 -0
  413. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  414. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  415. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +1 -1
  416. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -0
  417. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  418. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  419. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  420. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  421. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
  422. package/dist/cssm/components/Placeholder/Placeholder.css +3 -3
  423. package/dist/cssm/components/PopoutRoot/PopoutRoot.css +1 -1
  424. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +1 -1
  425. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  426. package/dist/cssm/components/Popper/Popper.css +1 -1
  427. package/dist/cssm/components/Popper/Popper.d.ts +18 -1
  428. package/dist/cssm/components/Popper/Popper.js +15 -22
  429. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  430. package/dist/cssm/components/PopperArrow/PopperArrow.css +1 -0
  431. package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +8 -0
  432. package/dist/cssm/components/PopperArrow/PopperArrow.js +28 -0
  433. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -0
  434. package/dist/cssm/components/Progress/Progress.css +1 -1
  435. package/dist/cssm/components/PromoBanner/PromoBanner.css +1 -1
  436. package/dist/cssm/components/PullToRefresh/PullToRefresh.css +3 -3
  437. package/dist/cssm/components/Radio/Radio.css +1 -1
  438. package/dist/cssm/components/Radio/Radio.d.ts +1 -1
  439. package/dist/cssm/components/Radio/Radio.js +1 -0
  440. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  441. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  442. package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
  443. package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -0
  444. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  445. package/dist/cssm/components/Removable/Removable.css +1 -1
  446. package/dist/cssm/components/RichCell/RichCell.css +3 -3
  447. package/dist/cssm/components/RichCell/RichCell.d.ts +1 -1
  448. package/dist/cssm/components/RichTooltip/RichTooltip.css +3 -1
  449. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +7 -2
  450. package/dist/cssm/components/RichTooltip/RichTooltip.js +5 -10
  451. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  452. package/dist/cssm/components/Root/Root.css +1 -1
  453. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
  454. package/dist/cssm/components/Search/Search.css +1 -1
  455. package/dist/cssm/components/Search/Search.d.ts +1 -1
  456. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  457. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  458. package/dist/cssm/components/Select/Select.css +1 -1
  459. package/dist/cssm/components/Select/Select.d.ts +1 -1
  460. package/dist/cssm/components/Select/Select.js +1 -0
  461. package/dist/cssm/components/Select/Select.js.map +1 -1
  462. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  463. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -1
  464. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  465. package/dist/cssm/components/Separator/Separator.css +1 -1
  466. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  467. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  468. package/dist/cssm/components/SimpleCell/SimpleCell.js +19 -28
  469. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  470. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.css +1 -1
  471. package/dist/cssm/components/Slider/Slider.css +3 -3
  472. package/dist/cssm/components/SliderSwitch/SliderSwitch.css +1 -1
  473. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  474. package/dist/cssm/components/Snackbar/Snackbar.d.ts +5 -1
  475. package/dist/cssm/components/Snackbar/Snackbar.js +8 -11
  476. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  477. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  478. package/dist/cssm/components/Spinner/Spinner.css +1 -1
  479. package/dist/cssm/components/SplitCol/SplitCol.css +1 -1
  480. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -0
  481. package/dist/cssm/components/SplitCol/SplitCol.js +3 -0
  482. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  483. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  484. package/dist/cssm/components/SplitLayout/SplitLayout.js +4 -7
  485. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  486. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
  487. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
  488. package/dist/cssm/components/Switch/Switch.css +3 -3
  489. package/dist/cssm/components/Tabbar/Tabbar.css +5 -3
  490. package/dist/cssm/components/Tabbar/Tabbar.d.ts +8 -1
  491. package/dist/cssm/components/Tabbar/Tabbar.js +15 -14
  492. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  493. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  494. package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -9
  495. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  496. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  497. package/dist/cssm/components/Tabs/Tabs.d.ts +14 -3
  498. package/dist/cssm/components/Tabs/Tabs.js +23 -5
  499. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  500. package/dist/cssm/components/TabsItem/TabsItem.css +5 -1
  501. package/dist/cssm/components/TabsItem/TabsItem.d.ts +22 -1
  502. package/dist/cssm/components/TabsItem/TabsItem.js +40 -21
  503. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  504. package/dist/cssm/components/Tappable/Tappable.css +5 -5
  505. package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
  506. package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -1
  507. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +5 -1
  508. package/dist/cssm/components/TextTooltip/TextTooltip.js +5 -7
  509. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  510. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  511. package/dist/cssm/components/Textarea/Textarea.d.ts +4 -1
  512. package/dist/cssm/components/Textarea/Textarea.js +5 -4
  513. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  514. package/dist/cssm/components/Tooltip/Tooltip.css +1 -1
  515. package/dist/cssm/components/Tooltip/Tooltip.d.ts +18 -1
  516. package/dist/cssm/components/Tooltip/Tooltip.js +89 -68
  517. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  518. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  519. package/dist/cssm/components/Typography/Footnote/Footnote.css +1 -1
  520. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  521. package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -3
  522. package/dist/cssm/components/Typography/Headline/Headline.js +10 -2
  523. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  524. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  525. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  526. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  527. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  528. package/dist/cssm/components/UsersStack/UsersStack.css +5 -5
  529. package/dist/cssm/components/View/View.css +1 -1
  530. package/dist/cssm/components/View/View.d.ts +2 -18
  531. package/dist/cssm/components/View/View.js +384 -462
  532. package/dist/cssm/components/View/View.js.map +1 -1
  533. package/dist/cssm/components/View/ViewIOS.css +1 -1
  534. package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
  535. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -1
  536. package/dist/cssm/components/WriteBar/WriteBar.css +3 -1
  537. package/dist/cssm/components/WriteBar/WriteBar.d.ts +5 -1
  538. package/dist/cssm/components/WriteBar/WriteBar.js +10 -5
  539. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  540. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.css +1 -1
  541. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -6
  542. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  543. package/dist/cssm/fonts/fonts.css +1 -1
  544. package/dist/cssm/hoc/withAdaptivity.d.ts +1 -1
  545. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  546. package/dist/cssm/hoc/withContext.d.ts +1 -1
  547. package/dist/cssm/hoc/withContext.js.map +1 -1
  548. package/dist/cssm/hoc/withPlatform.d.ts +1 -1
  549. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  550. package/dist/cssm/hooks/useOrientationChange.js +2 -1
  551. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  552. package/dist/cssm/lib/calendar.d.ts +2 -2
  553. package/dist/cssm/styles/animations.css +1 -1
  554. package/dist/cssm/styles/bright_light.css +1 -1
  555. package/dist/cssm/styles/common.css +1 -1
  556. package/dist/cssm/styles/components.css +143 -127
  557. package/dist/cssm/styles/constants.css +3 -10
  558. package/dist/cssm/styles/space_gray.css +1 -1
  559. package/dist/cssm/styles/themes.css +1 -16
  560. package/dist/cssm/styles/unstable.css +3 -1
  561. package/dist/cssm/styles/vkcom_dark.css +1 -6
  562. package/dist/cssm/styles/vkcom_light.css +1 -11
  563. package/dist/cssm/tokenized/index.d.ts +26 -0
  564. package/dist/cssm/tokenized/index.js +13 -0
  565. package/dist/cssm/tokenized/index.js.map +1 -1
  566. package/dist/default_scheme.css +1 -1
  567. package/dist/default_scheme.css.map +1 -1
  568. package/dist/fonts.css +1 -1
  569. package/dist/fonts.css.map +1 -1
  570. package/dist/hoc/withAdaptivity.d.ts +1 -1
  571. package/dist/hoc/withAdaptivity.js.map +1 -1
  572. package/dist/hoc/withContext.d.ts +1 -1
  573. package/dist/hoc/withContext.js.map +1 -1
  574. package/dist/hoc/withPlatform.d.ts +1 -1
  575. package/dist/hoc/withPlatform.js.map +1 -1
  576. package/dist/hooks/useOrientationChange.js +2 -1
  577. package/dist/hooks/useOrientationChange.js.map +1 -1
  578. package/dist/lib/calendar.d.ts +2 -2
  579. package/dist/tokenized/index.d.ts +26 -0
  580. package/dist/tokenized/index.js +13 -0
  581. package/dist/tokenized/index.js.map +1 -1
  582. package/dist/unstable.css +3 -1
  583. package/dist/unstable.css.map +1 -1
  584. package/dist/vkui.css +144 -143
  585. package/dist/vkui.css.map +1 -1
  586. package/package.json +6 -5
  587. package/src/components/AppRoot/AppRoot.tsx +15 -11
  588. package/src/components/Badge/Badge.css +0 -5
  589. package/src/components/Button/Button.css +0 -4
  590. package/src/components/Button/Button.tsx +4 -2
  591. package/src/components/Button/Readme.md +30 -59
  592. package/src/components/CardScroll/CardScroll.tsx +1 -1
  593. package/src/components/Cell/Cell.css +3 -2
  594. package/src/components/ChipsInput/ChipsInput.css +2 -0
  595. package/src/components/ChipsSelect/ChipsSelect.tsx +8 -0
  596. package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
  597. package/src/components/Counter/Counter.css +30 -0
  598. package/src/components/CustomScrollView/CustomScrollView.css +10 -5
  599. package/src/components/CustomSelect/CustomSelect.tsx +543 -573
  600. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +45 -22
  601. package/src/components/Dropdown/Dropdown.css +12 -0
  602. package/src/components/Dropdown/Dropdown.tsx +174 -20
  603. package/src/components/Dropdown/Readme.md +1 -0
  604. package/src/components/Epic/Epic.tsx +1 -4
  605. package/src/components/FixedLayout/Readme.md +103 -109
  606. package/src/components/FocusTrap/FocusTrap.tsx +10 -10
  607. package/src/components/FormField/FormField.css +31 -22
  608. package/src/components/FormField/FormField.tsx +4 -8
  609. package/src/components/FormField/Readme.md +9 -82
  610. package/src/components/Group/Group.css +1 -1
  611. package/src/components/Group/Readme.md +1 -1
  612. package/src/components/HorizontalCell/HorizontalCell.css +25 -43
  613. package/src/components/HorizontalCell/HorizontalCell.tsx +3 -9
  614. package/src/components/HorizontalScroll/HorizontalScroll.css +23 -0
  615. package/src/components/HorizontalScroll/HorizontalScroll.tsx +2 -0
  616. package/src/components/IconButton/IconButton.css +46 -25
  617. package/src/components/Input/Input.css +20 -9
  618. package/src/components/Input/Input.tsx +6 -5
  619. package/src/components/Input/Readme.md +128 -24
  620. package/src/components/MiniInfoCell/MiniInfoCell.css +13 -3
  621. package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
  622. package/src/components/ModalCardBase/ModalCardBase.tsx +2 -0
  623. package/src/components/NativeSelect/NativeSelect.tsx +2 -0
  624. package/src/components/Panel/Panel.tsx +2 -0
  625. package/src/components/PanelHeader/PanelHeader.tsx +2 -0
  626. package/src/components/Popper/Popper.css +0 -35
  627. package/src/components/Popper/Popper.tsx +33 -25
  628. package/src/components/PopperArrow/PopperArrow.css +34 -0
  629. package/src/components/PopperArrow/PopperArrow.tsx +40 -0
  630. package/src/components/Radio/Radio.tsx +2 -0
  631. package/src/components/RangeSlider/UniversalSlider.tsx +2 -0
  632. package/src/components/RichTooltip/RichTooltip.css +44 -4
  633. package/src/components/RichTooltip/RichTooltip.tsx +9 -11
  634. package/src/components/ScreenSpinner/ScreenSpinner.css +1 -1
  635. package/src/components/Select/Select.css +23 -9
  636. package/src/components/Select/Select.tsx +2 -0
  637. package/src/components/SelectMimicry/SelectMimicry.tsx +6 -2
  638. package/src/components/SimpleCell/Readme.md +115 -129
  639. package/src/components/SimpleCell/SimpleCell.css +30 -68
  640. package/src/components/SimpleCell/SimpleCell.tsx +23 -25
  641. package/src/components/Snackbar/Readme.md +95 -123
  642. package/src/components/Snackbar/Snackbar.css +18 -27
  643. package/src/components/Snackbar/Snackbar.tsx +17 -11
  644. package/src/components/SplitCol/SplitCol.css +1 -1
  645. package/src/components/SplitCol/SplitCol.tsx +2 -0
  646. package/src/components/SplitLayout/SplitLayout.css +3 -7
  647. package/src/components/SplitLayout/SplitLayout.tsx +9 -6
  648. package/src/components/Switch/Switch.css +6 -2
  649. package/src/components/Tabbar/Tabbar.css +4 -1
  650. package/src/components/Tabbar/Tabbar.tsx +23 -12
  651. package/src/components/TabbarItem/TabbarItem.css +7 -5
  652. package/src/components/TabbarItem/TabbarItem.tsx +13 -7
  653. package/src/components/Tabs/Readme.md +191 -251
  654. package/src/components/Tabs/Tabs.css +27 -80
  655. package/src/components/Tabs/Tabs.tsx +45 -7
  656. package/src/components/TabsItem/Readme.md +1 -0
  657. package/src/components/TabsItem/TabsItem.css +191 -106
  658. package/src/components/TabsItem/TabsItem.tsx +72 -20
  659. package/src/components/TextTooltip/TextTooltip.css +41 -11
  660. package/src/components/TextTooltip/TextTooltip.tsx +9 -13
  661. package/src/components/Textarea/Textarea.css +7 -3
  662. package/src/components/Textarea/Textarea.tsx +5 -4
  663. package/src/components/Tooltip/Readme.md +128 -101
  664. package/src/components/Tooltip/Tooltip.css +29 -40
  665. package/src/components/Tooltip/Tooltip.tsx +98 -66
  666. package/src/components/Typography/Headline/Headline.tsx +15 -1
  667. package/src/components/View/Readme.md +2 -0
  668. package/src/components/View/View.tsx +451 -514
  669. package/src/components/WriteBar/WriteBar.css +27 -33
  670. package/src/components/WriteBar/WriteBar.tsx +16 -5
  671. package/src/components/WriteBarIcon/WriteBarIcon.css +6 -19
  672. package/src/components/WriteBarIcon/WriteBarIcon.tsx +6 -6
  673. package/src/hoc/withAdaptivity.tsx +4 -4
  674. package/src/hoc/withContext.tsx +1 -1
  675. package/src/hoc/withPlatform.tsx +1 -1
  676. package/src/hooks/useOrientationChange.ts +1 -0
  677. package/src/styles/components.css +1 -0
  678. package/src/styles/constants.css +8 -0
  679. package/src/tokenized/index.ts +39 -0
  680. package/tsconfig.json +1 -1
  681. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +0 -21
  682. package/dist/cjs/components/ClickPopper/ClickPopper.js +0 -96
  683. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +0 -1
  684. package/dist/components/ClickPopper/ClickPopper.d.ts +0 -21
  685. package/dist/components/ClickPopper/ClickPopper.js +0 -71
  686. package/dist/components/ClickPopper/ClickPopper.js.map +0 -1
  687. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +0 -21
  688. package/dist/cssm/components/ClickPopper/ClickPopper.js +0 -71
  689. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +0 -1
  690. package/src/components/ClickPopper/ClickPopper.tsx +0 -86
@@ -9,10 +9,10 @@ exports.SimpleCell = void 0;
9
9
 
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _jsxRuntime = require("../../lib/jsxRuntime");
15
13
 
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
16
16
  var _classNames = require("../../lib/classNames");
17
17
 
18
18
  var _getClassName = require("../../helpers/getClassName");
@@ -31,13 +31,11 @@ var _useAdaptivity2 = require("../../hooks/useAdaptivity");
31
31
 
32
32
  var _withAdaptivity = require("../../hoc/withAdaptivity");
33
33
 
34
- var _Title = require("../Typography/Title/Title");
35
-
36
- var _Text = require("../Typography/Text/Text");
34
+ var _Headline = require("../Typography/Headline/Headline");
37
35
 
38
- var _Subhead = require("../Typography/Subhead/Subhead");
36
+ var _Footnote = require("../Typography/Footnote/Footnote");
39
37
 
40
- var _Headline = require("../Typography/Headline/Headline");
38
+ var _Caption = require("../Typography/Caption/Caption");
41
39
 
42
40
  var _excluded = ["badge", "before", "indicator", "children", "after", "description", "expandable", "multiline", "sizeY"];
43
41
 
@@ -45,22 +43,13 @@ var SimpleCellTypography = function SimpleCellTypography(props) {
45
43
  var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
46
44
  sizeY = _useAdaptivity.sizeY;
47
45
 
48
- var platform = (0, _usePlatform.usePlatform)();
49
-
50
46
  if (sizeY === _withAdaptivity.SizeType.COMPACT) {
51
- return (0, _jsxRuntime.createScopedElement)(_Text.Text, props);
52
- } else if (platform === _platform.ANDROID) {
53
- return (0, _jsxRuntime.createScopedElement)(_Headline.Headline, (0, _extends2.default)({
54
- Component: "span",
55
- weight: "3"
56
- }, props));
57
- } else {
58
- return (0, _jsxRuntime.createScopedElement)(_Title.Title, (0, _extends2.default)({
59
- Component: "span",
60
- level: "3",
61
- weight: "3"
47
+ return (0, _jsxRuntime.createScopedElement)(_Caption.Caption, (0, _extends2.default)({
48
+ level: "2"
62
49
  }, props));
63
50
  }
51
+
52
+ return (0, _jsxRuntime.createScopedElement)(_Footnote.Footnote, props);
64
53
  };
65
54
 
66
55
  var SimpleCellComponent = function SimpleCellComponent(_ref) {
@@ -79,24 +68,24 @@ var SimpleCellComponent = function SimpleCellComponent(_ref) {
79
68
  var hasAfter = (0, _utils.hasReactNode)(after) || expandable && platform === _platform.IOS;
80
69
 
81
70
  return (0, _jsxRuntime.createScopedElement)(_Tappable.Tappable, (0, _extends2.default)({}, restProps, {
82
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
83
- vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("SimpleCell", platform), {
84
- "SimpleCell--exp": expandable,
85
- "SimpleCell--mult": multiline
86
- }, "SimpleCell--sizeY-".concat(sizeY))
71
+ vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("SimpleCell", platform), expandable && "SimpleCell--exp", multiline && "SimpleCell--mult", "SimpleCell--sizeY-".concat(sizeY))
87
72
  }), before, (0, _jsxRuntime.createScopedElement)("div", {
88
73
  vkuiClass: "SimpleCell__main"
89
74
  }, (0, _jsxRuntime.createScopedElement)("div", {
90
75
  vkuiClass: "SimpleCell__content"
91
- }, (0, _jsxRuntime.createScopedElement)(SimpleCellTypography, {
92
- vkuiClass: "SimpleCell__children"
76
+ }, (0, _jsxRuntime.createScopedElement)(_Headline.Headline, {
77
+ Component: "span",
78
+ vkuiClass: "SimpleCell__children",
79
+ weight: "3"
93
80
  }, children), (0, _utils.hasReactNode)(badge) && (0, _jsxRuntime.createScopedElement)("span", {
94
81
  vkuiClass: "SimpleCell__badge"
95
- }, badge)), description && (0, _jsxRuntime.createScopedElement)(_Subhead.Subhead, {
96
- Component: "span",
97
- vkuiClass: "SimpleCell__description"
98
- }, description)), (0, _utils.hasReactNode)(indicator) && (0, _jsxRuntime.createScopedElement)(SimpleCellTypography, {
82
+ }, badge)), description && (0, _jsxRuntime.createScopedElement)("div", {
83
+ vkuiClass: "SimpleCell__content"
84
+ }, (0, _jsxRuntime.createScopedElement)(SimpleCellTypography, {
85
+ vkuiClass: "SimpleCell__text SimpleCell__subtitle"
86
+ }, description))), (0, _utils.hasReactNode)(indicator) && (0, _jsxRuntime.createScopedElement)(_Headline.Headline, {
99
87
  Component: "span",
88
+ weight: "3",
100
89
  vkuiClass: "SimpleCell__indicator"
101
90
  }, indicator), hasAfter && (0, _jsxRuntime.createScopedElement)("div", {
102
91
  vkuiClass: "SimpleCell__after"
@@ -111,4 +100,5 @@ var SimpleCell = (0, _withAdaptivity.withAdaptivity)(SimpleCellComponent, {
111
100
  sizeY: true
112
101
  });
113
102
  exports.SimpleCell = SimpleCell;
103
+ SimpleCell.displayName = "SimpleCell";
114
104
  //# sourceMappingURL=SimpleCell.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"names":["SimpleCellTypography","props","sizeY","platform","SizeType","COMPACT","ANDROID","SimpleCellComponent","badge","before","indicator","children","after","description","expandable","multiline","restProps","hasAfter","IOS","SimpleCell"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAwCA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAsC;AACjE,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AACA,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAID,KAAK,KAAKE,yBAASC,OAAvB,EAAgC;AAC9B,WAAO,qCAAC,UAAD,EAAUJ,KAAV,CAAP;AACD,GAFD,MAEO,IAAIE,QAAQ,KAAKG,iBAAjB,EAA0B;AAC/B,WAAO,qCAAC,kBAAD;AAAU,MAAA,SAAS,EAAC,MAApB;AAA2B,MAAA,MAAM,EAAC;AAAlC,OAA0CL,KAA1C,EAAP;AACD,GAFM,MAEA;AACL,WAAO,qCAAC,YAAD;AAAO,MAAA,SAAS,EAAC,MAAjB;AAAwB,MAAA,KAAK,EAAC,GAA9B;AAAkC,MAAA,MAAM,EAAC;AAAzC,OAAiDA,KAAjD,EAAP;AACD;AACF,CAXD;;AAaA,IAAMM,mBAAmB,GAAG,SAAtBA,mBAAsB,OAWL;AAAA,MAVrBC,KAUqB,QAVrBA,KAUqB;AAAA,MATrBC,MASqB,QATrBA,MASqB;AAAA,MARrBC,SAQqB,QARrBA,SAQqB;AAAA,MAPrBC,QAOqB,QAPrBA,QAOqB;AAAA,MANrBC,KAMqB,QANrBA,KAMqB;AAAA,MALrBC,WAKqB,QALrBA,WAKqB;AAAA,MAJrBC,UAIqB,QAJrBA,UAIqB;AAAA,MAHrBC,SAGqB,QAHrBA,SAGqB;AAAA,MAFrBb,KAEqB,QAFrBA,KAEqB;AAAA,MADlBc,SACkB;AACrB,MAAMb,QAAQ,GAAG,+BAAjB;;AACA,MAAMc,QAAQ,GAAG,yBAAaL,KAAb,KAAwBE,UAAU,IAAIX,QAAQ,KAAKe,aAApE;;AAEA,SACE,qCAAC,kBAAD,6BACMF,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BACT,gCAAa,YAAb,EAA2Bb,QAA3B,CADS,EAET;AACE,yBAAmBW,UADrB;AAEE,0BAAoBC;AAFtB,KAFS,8BAMYb,KANZ;AAHb,MAYGO,MAZH,EAaE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,oBAAD;AAAsB,IAAA,SAAS,EAAC;AAAhC,KACGE,QADH,CADF,EAIG,yBAAaH,KAAb,KACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAqCA,KAArC,CALJ,CADF,EASGK,WAAW,IACV,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,WADH,CAVJ,CAbF,EA4BG,yBAAaH,SAAb,KACC,qCAAC,oBAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,SAAS,EAAC;AAFZ,KAIGA,SAJH,CA7BJ,EAoCGO,QAAQ,IACP;AAAK,IAAA,SAAS,EAAC;AAAf,KACGL,KADH,EAEGE,UAAU,IAAIX,QAAQ,KAAKe,aAA3B,IAAkC,qCAAC,oBAAD,OAFrC,CArCJ,CADF;AA6CD,CA5DD;AA8DA;AACA;AACA;;;AACO,IAAMC,UAAU,GAAG,oCAAeZ,mBAAf,EAAoC;AAAEL,EAAAA,KAAK,EAAE;AAAT,CAApC,CAAnB","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { Icon24Chevron } from \"@vkontakte/icons\";\nimport { ANDROID, IOS } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { withAdaptivity, SizeType } from \"../../hoc/withAdaptivity\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport \"./SimpleCell.css\";\n\nexport interface SimpleCellOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badge?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n description?: React.ReactNode;\n /**\n * Убирает анимацию нажатия\n */\n disabled?: boolean;\n /**\n * В iOS добавляет chevron справа. Передавать `true`, если предполагается переход при клике по ячейке.\n */\n expandable?: boolean;\n multiline?: boolean;\n}\n\nexport interface SimpleCellProps extends SimpleCellOwnProps, TappableProps {}\n\ntype SimpleCellTypographyProps = React.HTMLAttributes<HTMLDivElement> &\n HasComponent;\n\nconst SimpleCellTypography = (props: SimpleCellTypographyProps) => {\n const { sizeY } = useAdaptivity();\n const platform = usePlatform();\n\n if (sizeY === SizeType.COMPACT) {\n return <Text {...props} />;\n } else if (platform === ANDROID) {\n return <Headline Component=\"span\" weight=\"3\" {...props} />;\n } else {\n return <Title Component=\"span\" level=\"3\" weight=\"3\" {...props} />;\n }\n};\n\nconst SimpleCellComponent = ({\n badge,\n before,\n indicator,\n children,\n after,\n description,\n expandable,\n multiline,\n sizeY,\n ...restProps\n}: SimpleCellProps) => {\n const platform = usePlatform();\n const hasAfter = hasReactNode(after) || (expandable && platform === IOS);\n\n return (\n <Tappable\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"SimpleCell\", platform),\n {\n \"SimpleCell--exp\": expandable,\n \"SimpleCell--mult\": multiline,\n },\n `SimpleCell--sizeY-${sizeY}`\n )}\n >\n {before}\n <div vkuiClass=\"SimpleCell__main\">\n <div vkuiClass=\"SimpleCell__content\">\n <SimpleCellTypography vkuiClass=\"SimpleCell__children\">\n {children}\n </SimpleCellTypography>\n {hasReactNode(badge) && (\n <span vkuiClass=\"SimpleCell__badge\">{badge}</span>\n )}\n </div>\n {description && (\n <Subhead Component=\"span\" vkuiClass=\"SimpleCell__description\">\n {description}\n </Subhead>\n )}\n </div>\n {hasReactNode(indicator) && (\n <SimpleCellTypography\n Component=\"span\"\n vkuiClass=\"SimpleCell__indicator\"\n >\n {indicator}\n </SimpleCellTypography>\n )}\n {hasAfter && (\n <div vkuiClass=\"SimpleCell__after\">\n {after}\n {expandable && platform === IOS && <Icon24Chevron />}\n </div>\n )}\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SimpleCell\n */\nexport const SimpleCell = withAdaptivity(SimpleCellComponent, { sizeY: true });\n"],"file":"SimpleCell.js"}
1
+ {"version":3,"sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"names":["SimpleCellTypography","props","sizeY","SizeType","COMPACT","SimpleCellComponent","badge","before","indicator","children","after","description","expandable","multiline","restProps","platform","hasAfter","IOS","SimpleCell","displayName"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAwCA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAsC;AACjE,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAIA,KAAK,KAAKC,yBAASC,OAAvB,EAAgC;AAC9B,WAAO,qCAAC,gBAAD;AAAS,MAAA,KAAK,EAAC;AAAf,OAAuBH,KAAvB,EAAP;AACD;;AAED,SAAO,qCAAC,kBAAD,EAAcA,KAAd,CAAP;AACD,CARD;;AAUA,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAsB,OAWL;AAAA,MAVrBC,KAUqB,QAVrBA,KAUqB;AAAA,MATrBC,MASqB,QATrBA,MASqB;AAAA,MARrBC,SAQqB,QARrBA,SAQqB;AAAA,MAPrBC,QAOqB,QAPrBA,QAOqB;AAAA,MANrBC,KAMqB,QANrBA,KAMqB;AAAA,MALrBC,WAKqB,QALrBA,WAKqB;AAAA,MAJrBC,UAIqB,QAJrBA,UAIqB;AAAA,MAHrBC,SAGqB,QAHrBA,SAGqB;AAAA,MAFrBX,KAEqB,QAFrBA,KAEqB;AAAA,MADlBY,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,MAAMC,QAAQ,GAAG,yBAAaN,KAAb,KAAwBE,UAAU,IAAIG,QAAQ,KAAKE,aAApE;;AAEA,SACE,qCAAC,kBAAD,6BACMH,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,YAAb,EAA2BC,QAA3B,CADS,EAETH,UAAU,IAAI,iBAFL,EAGTC,SAAS,IAAI,kBAHJ,8BAIYX,KAJZ;AAFb,MASGK,MATH,EAUE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,kBAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,SAAS,EAAC,sBAFZ;AAGE,IAAA,MAAM,EAAC;AAHT,KAKGE,QALH,CADF,EAQG,yBAAaH,KAAb,KACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAqCA,KAArC,CATJ,CADF,EAaGK,WAAW,IACV;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,oBAAD;AAAsB,IAAA,SAAS,EAAC;AAAhC,KACGA,WADH,CADF,CAdJ,CAVF,EA+BG,yBAAaH,SAAb,KACC,qCAAC,kBAAD;AAAU,IAAA,SAAS,EAAC,MAApB;AAA2B,IAAA,MAAM,EAAC,GAAlC;AAAsC,IAAA,SAAS,EAAC;AAAhD,KACGA,SADH,CAhCJ,EAoCGQ,QAAQ,IACP;AAAK,IAAA,SAAS,EAAC;AAAf,KACGN,KADH,EAEGE,UAAU,IAAIG,QAAQ,KAAKE,aAA3B,IAAkC,qCAAC,oBAAD,OAFrC,CArCJ,CADF;AA6CD,CA5DD;AA8DA;AACA;AACA;;;AACO,IAAMC,UAAU,GAAG,oCAAeb,mBAAf,EAAoC;AAAEH,EAAAA,KAAK,EAAE;AAAT,CAApC,CAAnB;;AAEPgB,UAAU,CAACC,WAAX,GAAyB,YAAzB","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { Icon24Chevron } from \"@vkontakte/icons\";\nimport { IOS } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { withAdaptivity, SizeType } from \"../../hoc/withAdaptivity\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Footnote } from \"../Typography/Footnote/Footnote\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport \"./SimpleCell.css\";\n\nexport interface SimpleCellOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badge?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n description?: React.ReactNode;\n /**\n * Убирает анимацию нажатия\n */\n disabled?: boolean;\n /**\n * В iOS добавляет chevron справа. Передавать `true`, если предполагается переход при клике по ячейке.\n */\n expandable?: boolean;\n multiline?: boolean;\n}\n\nexport interface SimpleCellProps extends SimpleCellOwnProps, TappableProps {}\n\ntype SimpleCellTypographyProps = React.HTMLAttributes<HTMLDivElement> &\n HasComponent;\n\nconst SimpleCellTypography = (props: SimpleCellTypographyProps) => {\n const { sizeY } = useAdaptivity();\n\n if (sizeY === SizeType.COMPACT) {\n return <Caption level=\"2\" {...props} />;\n }\n\n return <Footnote {...props} />;\n};\n\nconst SimpleCellComponent = ({\n badge,\n before,\n indicator,\n children,\n after,\n description,\n expandable,\n multiline,\n sizeY,\n ...restProps\n}: SimpleCellProps) => {\n const platform = usePlatform();\n const hasAfter = hasReactNode(after) || (expandable && platform === IOS);\n\n return (\n <Tappable\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"SimpleCell\", platform),\n expandable && \"SimpleCell--exp\",\n multiline && \"SimpleCell--mult\",\n `SimpleCell--sizeY-${sizeY}`\n )}\n >\n {before}\n <div vkuiClass=\"SimpleCell__main\">\n <div vkuiClass=\"SimpleCell__content\">\n <Headline\n Component=\"span\"\n vkuiClass=\"SimpleCell__children\"\n weight=\"3\"\n >\n {children}\n </Headline>\n {hasReactNode(badge) && (\n <span vkuiClass=\"SimpleCell__badge\">{badge}</span>\n )}\n </div>\n {description && (\n <div vkuiClass=\"SimpleCell__content\">\n <SimpleCellTypography vkuiClass=\"SimpleCell__text SimpleCell__subtitle\">\n {description}\n </SimpleCellTypography>\n </div>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" vkuiClass=\"SimpleCell__indicator\">\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div vkuiClass=\"SimpleCell__after\">\n {after}\n {expandable && platform === IOS && <Icon24Chevron />}\n </div>\n )}\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SimpleCell\n */\nexport const SimpleCell = withAdaptivity(SimpleCellComponent, { sizeY: true });\n\nSimpleCell.displayName = \"SimpleCell\";\n"],"file":"SimpleCell.js"}
@@ -23,15 +23,13 @@ var _Touch = require("../Touch/Touch");
23
23
 
24
24
  var _classNames = require("../../lib/classNames");
25
25
 
26
- var _getClassName = require("../../helpers/getClassName");
27
-
28
26
  var _platform = require("../../lib/platform");
29
27
 
30
28
  var _touch = require("../../lib/touch");
31
29
 
32
30
  var _withAdaptivity = require("../../hoc/withAdaptivity");
33
31
 
34
- var _Text = require("../Typography/Text/Text");
32
+ var _Paragraph = require("../Typography/Paragraph/Paragraph");
35
33
 
36
34
  var _Button = require("../Button/Button");
37
35
 
@@ -43,7 +41,7 @@ var _usePlatform = require("../../hooks/usePlatform");
43
41
 
44
42
  var _useTimeout = require("../../hooks/useTimeout");
45
43
 
46
- var _excluded = ["children", "layout", "action", "before", "after", "viewWidth", "duration", "onActionClick", "onClose"];
44
+ var _excluded = ["children", "layout", "action", "before", "after", "viewWidth", "duration", "onActionClick", "onClose", "mode"];
47
45
 
48
46
  var SnackbarComponent = function SnackbarComponent(_ref) {
49
47
  var children = _ref.children,
@@ -57,6 +55,8 @@ var SnackbarComponent = function SnackbarComponent(_ref) {
57
55
  duration = _ref$duration === void 0 ? 4000 : _ref$duration,
58
56
  onActionClick = _ref.onActionClick,
59
57
  onClose = _ref.onClose,
58
+ _ref$mode = _ref.mode,
59
+ mode = _ref$mode === void 0 ? "default" : _ref$mode,
60
60
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
61
61
  var platform = (0, _usePlatform.usePlatform)();
62
62
 
@@ -167,12 +167,7 @@ var SnackbarComponent = function SnackbarComponent(_ref) {
167
167
  }, [closeTimeout]);
168
168
  var resolvedLayout = after || isDesktop ? "vertical" : layout;
169
169
  return (0, _jsxRuntime.createScopedElement)(_AppRootPortal.AppRootPortal, null, (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({}, restProps, {
170
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
171
- vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Snackbar", platform), "Snackbar--l-".concat(resolvedLayout), {
172
- "Snackbar--closing": closing,
173
- "Snackbar--touched": touched,
174
- "Snackbar--desktop": isDesktop
175
- })
170
+ vkuiClass: (0, _classNames.classNames)("Snackbar", platform === _platform.IOS && "Snackbar--ios", "Snackbar--l-".concat(resolvedLayout), "Snackbar--".concat(mode), closing && "Snackbar--closing", touched && "Snackbar--touched", isDesktop && "Snackbar--desktop")
176
171
  }), (0, _jsxRuntime.createScopedElement)(_Touch.Touch, {
177
172
  vkuiClass: "Snackbar__in",
178
173
  getRootRef: innerElRef,
@@ -186,12 +181,13 @@ var SnackbarComponent = function SnackbarComponent(_ref) {
186
181
  vkuiClass: "Snackbar__before"
187
182
  }, before), (0, _jsxRuntime.createScopedElement)("div", {
188
183
  vkuiClass: "Snackbar__content"
189
- }, (0, _jsxRuntime.createScopedElement)(_Text.Text, {
184
+ }, (0, _jsxRuntime.createScopedElement)(_Paragraph.Paragraph, {
190
185
  vkuiClass: "Snackbar__content-text"
191
186
  }, children), action && (0, _jsxRuntime.createScopedElement)(_Button.Button, {
192
187
  align: "left",
193
188
  hasHover: false,
194
189
  mode: "tertiary",
190
+ appearance: mode === "dark" ? "overlay" : "accent",
195
191
  size: "s",
196
192
  vkuiClass: "Snackbar__action",
197
193
  onClick: handleActionClick
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Snackbar/Snackbar.tsx"],"names":["SnackbarComponent","children","layout","action","before","after","viewWidth","duration","onActionClick","onClose","restProps","platform","waitTransitionFinish","React","useState","closing","setClosing","touched","setTouched","shiftXPercentRef","useRef","shiftXCurrentRef","bodyElRef","innerElRef","animationFrameRef","isDesktop","ViewWidth","SMALL_TABLET","transitionFinishDurationFallback","ANDROID","VKCOM","close","current","handleActionClick","e","closeTimeout","setBodyTransform","percent","cancelAnimationFrame","requestAnimationFrame","style","transform","onTouchStart","clear","onTouchMoveX","event","shiftX","originalEvent","preventDefault","offsetWidth","onTouchEnd","callback","shiftXCurrent","expectTranslateY","set","useEffect","resolvedLayout","displayName","Snackbar"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasPlatform } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { rubber } from \"../../lib/touch\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Button } from \"../Button/Button\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { useWaitTransitionFinish } from \"../../hooks/useWaitTransitionFinish\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Snackbar.css\";\n\nexport interface SnackbarProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n /**\n * Название кнопки действия в уведомлении\n */\n action?: React.ReactNode;\n\n /**\n * Будет вызвано при клике на кнопку действия\n */\n onActionClick?: (e: React.MouseEvent) => void;\n\n /**\n * Цветная иконка 24x24 пикселя\n */\n before?: React.ReactNode;\n /**\n * Контент в правой части, может быть `<Avatar size={32} />`\n */\n after?: React.ReactNode;\n /**\n * Варианты расположения кнопки\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Время в миллисекундах, через которое плашка скроется\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления\n */\n onClose: () => void;\n}\n\nconst SnackbarComponent = ({\n children,\n layout = \"horizontal\",\n action,\n before,\n after,\n viewWidth,\n duration = 4000,\n onActionClick,\n onClose,\n ...restProps\n}: SnackbarProps & AdaptivityContextInterface) => {\n const platform = usePlatform();\n\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n const [touched, setTouched] = React.useState(false);\n\n const shiftXPercentRef = React.useRef<number>(0);\n const shiftXCurrentRef = React.useRef<number>(0);\n\n const bodyElRef = React.useRef<HTMLDivElement | null>(null);\n const innerElRef = React.useRef<HTMLDivElement | null>(null);\n\n const animationFrameRef = React.useRef<ReturnType<\n typeof requestAnimationFrame\n > | null>(null);\n\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const transitionFinishDurationFallback =\n platform === ANDROID || platform === VKCOM ? 400 : 320;\n\n const close = () => {\n setClosing(true);\n waitTransitionFinish(\n innerElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n };\n\n const handleActionClick: React.MouseEventHandler<HTMLElement> = (e) => {\n close();\n\n if (action && typeof onActionClick === \"function\") {\n onActionClick(e);\n }\n };\n\n const closeTimeout = useTimeout(close, duration);\n\n const setBodyTransform = (percent: number) => {\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n animationFrameRef.current = requestAnimationFrame(() => {\n if (bodyElRef.current) {\n bodyElRef.current.style.transform = `translate3d(${percent}%, 0, 0)`;\n }\n });\n };\n\n const onTouchStart = closeTimeout.clear;\n\n const onTouchMoveX = (event: TouchEvent) => {\n const { shiftX, originalEvent } = event;\n originalEvent.preventDefault();\n\n if (!touched) {\n setTouched(true);\n }\n\n shiftXPercentRef.current =\n (shiftX / (bodyElRef.current?.offsetWidth ?? 0)) * 100;\n shiftXCurrentRef.current = rubber(\n shiftXPercentRef.current,\n 72,\n 1.2,\n platform === ANDROID || platform === VKCOM\n );\n\n setBodyTransform(shiftXCurrentRef.current);\n };\n\n const onTouchEnd = (e: TouchEvent) => {\n let callback: VoidFunction | undefined;\n\n if (touched) {\n let shiftXCurrent = shiftXCurrentRef.current;\n const expectTranslateY = (shiftXCurrent / e.duration) * 240 * 0.6;\n shiftXCurrent = shiftXCurrent + expectTranslateY;\n\n if (isDesktop && shiftXCurrent <= -50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(-120);\n } else if (!isDesktop && shiftXCurrent >= 50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(120);\n } else {\n callback = () => {\n closeTimeout.set();\n setBodyTransform(0);\n };\n }\n } else {\n closeTimeout.set();\n }\n\n setTouched(false);\n callback && requestAnimationFrame(callback);\n };\n\n React.useEffect(() => closeTimeout.set(), [closeTimeout]);\n\n const resolvedLayout = after || isDesktop ? \"vertical\" : layout;\n\n return (\n <AppRootPortal>\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Snackbar\", platform),\n `Snackbar--l-${resolvedLayout}`,\n {\n \"Snackbar--closing\": closing,\n \"Snackbar--touched\": touched,\n \"Snackbar--desktop\": isDesktop,\n }\n )}\n >\n <Touch\n vkuiClass=\"Snackbar__in\"\n getRootRef={innerElRef}\n onStart={onTouchStart}\n onMoveX={onTouchMoveX}\n onEnd={onTouchEnd}\n >\n <div vkuiClass=\"Snackbar__body\" ref={bodyElRef}>\n {before && <div vkuiClass=\"Snackbar__before\">{before}</div>}\n\n <div vkuiClass=\"Snackbar__content\">\n <Text vkuiClass=\"Snackbar__content-text\">{children}</Text>\n\n {action && (\n <Button\n align=\"left\"\n hasHover={false}\n mode=\"tertiary\"\n size=\"s\"\n vkuiClass=\"Snackbar__action\"\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )}\n </div>\n\n {after && <div vkuiClass=\"Snackbar__after\">{after}</div>}\n </div>\n </Touch>\n </div>\n </AppRootPortal>\n );\n};\n\nSnackbarComponent.displayName = \"Snackbar\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Snackbar\n */\nexport const Snackbar = withAdaptivity(SnackbarComponent, {\n viewWidth: true,\n});\n"],"file":"Snackbar.js"}
1
+ {"version":3,"sources":["../../../../src/components/Snackbar/Snackbar.tsx"],"names":["SnackbarComponent","children","layout","action","before","after","viewWidth","duration","onActionClick","onClose","mode","restProps","platform","waitTransitionFinish","React","useState","closing","setClosing","touched","setTouched","shiftXPercentRef","useRef","shiftXCurrentRef","bodyElRef","innerElRef","animationFrameRef","isDesktop","ViewWidth","SMALL_TABLET","transitionFinishDurationFallback","ANDROID","VKCOM","close","current","handleActionClick","e","closeTimeout","setBodyTransform","percent","cancelAnimationFrame","requestAnimationFrame","style","transform","onTouchStart","clear","onTouchMoveX","event","shiftX","originalEvent","preventDefault","offsetWidth","onTouchEnd","callback","shiftXCurrent","expectTranslateY","set","useEffect","resolvedLayout","IOS","displayName","Snackbar"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasPlatform } from \"../../types\";\nimport { ANDROID, IOS, VKCOM } from \"../../lib/platform\";\nimport { rubber } from \"../../lib/touch\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\nimport { Button } from \"../Button/Button\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { useWaitTransitionFinish } from \"../../hooks/useWaitTransitionFinish\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Snackbar.css\";\n\nexport interface SnackbarProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n /**\n * Название кнопки действия в уведомлении\n */\n action?: React.ReactNode;\n\n /**\n * Будет вызвано при клике на кнопку действия\n */\n onActionClick?: (e: React.MouseEvent) => void;\n\n /**\n * Цветная иконка 24x24 пикселя\n */\n before?: React.ReactNode;\n /**\n * Контент в правой части, может быть `<Avatar size={32} />`\n */\n after?: React.ReactNode;\n /**\n * Варианты расположения кнопки\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Время в миллисекундах, через которое плашка скроется\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления\n */\n onClose: () => void;\n /**\n * Задает стиль снекбара\n */\n mode?: \"default\" | \"dark\";\n}\n\nconst SnackbarComponent = ({\n children,\n layout = \"horizontal\",\n action,\n before,\n after,\n viewWidth,\n duration = 4000,\n onActionClick,\n onClose,\n mode = \"default\",\n ...restProps\n}: SnackbarProps & AdaptivityContextInterface) => {\n const platform = usePlatform();\n\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n const [touched, setTouched] = React.useState(false);\n\n const shiftXPercentRef = React.useRef<number>(0);\n const shiftXCurrentRef = React.useRef<number>(0);\n\n const bodyElRef = React.useRef<HTMLDivElement | null>(null);\n const innerElRef = React.useRef<HTMLDivElement | null>(null);\n\n const animationFrameRef = React.useRef<ReturnType<\n typeof requestAnimationFrame\n > | null>(null);\n\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const transitionFinishDurationFallback =\n platform === ANDROID || platform === VKCOM ? 400 : 320;\n\n const close = () => {\n setClosing(true);\n waitTransitionFinish(\n innerElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n };\n\n const handleActionClick: React.MouseEventHandler<HTMLElement> = (e) => {\n close();\n\n if (action && typeof onActionClick === \"function\") {\n onActionClick(e);\n }\n };\n\n const closeTimeout = useTimeout(close, duration);\n\n const setBodyTransform = (percent: number) => {\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n animationFrameRef.current = requestAnimationFrame(() => {\n if (bodyElRef.current) {\n bodyElRef.current.style.transform = `translate3d(${percent}%, 0, 0)`;\n }\n });\n };\n\n const onTouchStart = closeTimeout.clear;\n\n const onTouchMoveX = (event: TouchEvent) => {\n const { shiftX, originalEvent } = event;\n originalEvent.preventDefault();\n\n if (!touched) {\n setTouched(true);\n }\n\n shiftXPercentRef.current =\n (shiftX / (bodyElRef.current?.offsetWidth ?? 0)) * 100;\n shiftXCurrentRef.current = rubber(\n shiftXPercentRef.current,\n 72,\n 1.2,\n platform === ANDROID || platform === VKCOM\n );\n\n setBodyTransform(shiftXCurrentRef.current);\n };\n\n const onTouchEnd = (e: TouchEvent) => {\n let callback: VoidFunction | undefined;\n\n if (touched) {\n let shiftXCurrent = shiftXCurrentRef.current;\n const expectTranslateY = (shiftXCurrent / e.duration) * 240 * 0.6;\n shiftXCurrent = shiftXCurrent + expectTranslateY;\n\n if (isDesktop && shiftXCurrent <= -50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(-120);\n } else if (!isDesktop && shiftXCurrent >= 50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(120);\n } else {\n callback = () => {\n closeTimeout.set();\n setBodyTransform(0);\n };\n }\n } else {\n closeTimeout.set();\n }\n\n setTouched(false);\n callback && requestAnimationFrame(callback);\n };\n\n React.useEffect(() => closeTimeout.set(), [closeTimeout]);\n\n const resolvedLayout = after || isDesktop ? \"vertical\" : layout;\n\n return (\n <AppRootPortal>\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Snackbar\",\n platform === IOS && \"Snackbar--ios\",\n `Snackbar--l-${resolvedLayout}`,\n `Snackbar--${mode}`,\n closing && \"Snackbar--closing\",\n touched && \"Snackbar--touched\",\n isDesktop && \"Snackbar--desktop\"\n )}\n >\n <Touch\n vkuiClass=\"Snackbar__in\"\n getRootRef={innerElRef}\n onStart={onTouchStart}\n onMoveX={onTouchMoveX}\n onEnd={onTouchEnd}\n >\n <div vkuiClass=\"Snackbar__body\" ref={bodyElRef}>\n {before && <div vkuiClass=\"Snackbar__before\">{before}</div>}\n\n <div vkuiClass=\"Snackbar__content\">\n <Paragraph vkuiClass=\"Snackbar__content-text\">\n {children}\n </Paragraph>\n\n {action && (\n <Button\n align=\"left\"\n hasHover={false}\n mode=\"tertiary\"\n appearance={mode === \"dark\" ? \"overlay\" : \"accent\"}\n size=\"s\"\n vkuiClass=\"Snackbar__action\"\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )}\n </div>\n\n {after && <div vkuiClass=\"Snackbar__after\">{after}</div>}\n </div>\n </Touch>\n </div>\n </AppRootPortal>\n );\n};\n\nSnackbarComponent.displayName = \"Snackbar\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Snackbar\n */\nexport const Snackbar = withAdaptivity(SnackbarComponent, {\n viewWidth: true,\n});\n"],"file":"Snackbar.js"}
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.SplitColContext = exports.SplitCol = void 0;
10
+ exports.useSplitCol = exports.SplitColContext = exports.SplitCol = void 0;
11
11
 
12
12
  var _jsxRuntime = require("../../lib/jsxRuntime");
13
13
 
@@ -32,6 +32,12 @@ var SplitColContext = /*#__PURE__*/React.createContext({
32
32
  });
33
33
  exports.SplitColContext = SplitColContext;
34
34
 
35
+ var useSplitCol = function useSplitCol() {
36
+ return React.useContext(SplitColContext);
37
+ };
38
+
39
+ exports.useSplitCol = useSplitCol;
40
+
35
41
  /**
36
42
  * @see https://vkcom.github.io/VKUI/#/SplitCol
37
43
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"names":["SplitColContext","React","createContext","colRef","animate","SplitCol","children","width","maxWidth","minWidth","spaced","fixed","style","restProps","baseRef","useRef","fixedInnerRef","contextValue","useMemo","fixedInner","current","noop","top","offsetTop"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;AAQO,IAAMA,eAAe,gBAAGC,KAAK,CAACC,aAAN,CAA0C;AACvEC,EAAAA,MAAM,EAAE,IAD+D;AAEvEC,EAAAA,OAAO,EAAE;AAF8D,CAA1C,CAAxB;;;AAoBP;AACA;AACA;AACO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,OAUH;AAAA,MATnBC,QASmB,QATnBA,QASmB;AAAA,MARnBC,KAQmB,QARnBA,KAQmB;AAAA,MAPnBC,QAOmB,QAPnBA,QAOmB;AAAA,MANnBC,QAMmB,QANnBA,QAMmB;AAAA,MALnBC,MAKmB,QALnBA,MAKmB;AAAA,0BAJnBN,OAImB;AAAA,MAJnBA,OAImB,6BAJT,KAIS;AAAA,MAHnBO,KAGmB,QAHnBA,KAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;AACnB,MAAMC,OAAO,GAAGb,KAAK,CAACc,MAAN,CAA6B,IAA7B,CAAhB;AAEA,MAAMC,aAAa,GAAGf,KAAK,CAACc,MAAN,CAA6B,IAA7B,CAAtB;AAEA,MAAME,YAAY,GAAGhB,KAAK,CAACiB,OAAN,CAAc,YAAM;AACvC,WAAO;AACLf,MAAAA,MAAM,EAAEW,OADH;AAELV,MAAAA,OAAO,EAAPA;AAFK,KAAP;AAID,GALoB,EAKlB,CAACU,OAAD,EAAUV,OAAV,CALkB,CAArB;AAOA,0CAAoB,YAAM;AACxB,QAAMe,UAAU,GAAGH,aAAa,CAACI,OAAjC;;AACA,QAAI,CAACD,UAAL,EAAiB;AACf,aAAOE,WAAP;AACD;;AAEDF,IAAAA,UAAU,CAACP,KAAX,CAAiBU,GAAjB,aAA0BH,UAAU,CAACI,SAArC;AAEA,WAAO,YAAM;AACXJ,MAAAA,UAAU,CAACP,KAAX,CAAiBU,GAAjB,GAAuB,EAAvB;AACD,KAFD;AAGD,GAXD,EAWG,CAACN,aAAa,CAACI,OAAf,CAXH;AAaA,SACE,uEACMP,SADN;AAEE,IAAA,KAAK,8DACAD,KADA;AAEHL,MAAAA,KAAK,EAAEA,KAFJ;AAGHC,MAAAA,QAAQ,EAAEA,QAHP;AAIHC,MAAAA,QAAQ,EAAEA;AAJP,MAFP;AAQE,IAAA,GAAG,EAAEK,OARP;AASE,IAAA,SAAS,EAAE,4BACT,UADS,EAETJ,MAAM,IAAI,kBAFD,EAGTC,KAAK,IAAI,iBAHA;AATb,MAeE,qCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEM;AAAjC,KACGN,KAAK,GACJ;AAAK,IAAA,GAAG,EAAEK,aAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGV,QADH,CADI,GAKJA,QANJ,CAfF,CADF;AA2BD,CA9DM","sourcesContent":["import * as React from \"react\";\nimport { useScrollLockEffect } from \"../AppRoot/ScrollContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { noop } from \"../../lib/utils\";\nimport \"./SplitCol.css\";\n\nexport interface SplitColContextProps {\n colRef: React.RefObject<HTMLDivElement> | null;\n animate: boolean;\n}\n\nexport const SplitColContext = React.createContext<SplitColContextProps>({\n colRef: null,\n animate: true,\n});\n\nexport interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины\n */\n spaced?: boolean;\n fixed?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitCol\n */\nexport const SplitCol = ({\n children,\n width,\n maxWidth,\n minWidth,\n spaced,\n animate = false,\n fixed,\n style,\n ...restProps\n}: SplitColProps) => {\n const baseRef = React.useRef<HTMLDivElement>(null);\n\n const fixedInnerRef = React.useRef<HTMLDivElement>(null);\n\n const contextValue = React.useMemo(() => {\n return {\n colRef: baseRef,\n animate,\n };\n }, [baseRef, animate]);\n\n useScrollLockEffect(() => {\n const fixedInner = fixedInnerRef.current;\n if (!fixedInner) {\n return noop;\n }\n\n fixedInner.style.top = `${fixedInner.offsetTop}px`;\n\n return () => {\n fixedInner.style.top = \"\";\n };\n }, [fixedInnerRef.current]);\n\n return (\n <div\n {...restProps}\n style={{\n ...style,\n width: width,\n maxWidth: maxWidth,\n minWidth: minWidth,\n }}\n ref={baseRef}\n vkuiClass={classNames(\n \"SplitCol\",\n spaced && \"SplitCol--spaced\",\n fixed && \"SplitCol--fixed\"\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? (\n <div ref={fixedInnerRef} vkuiClass=\"SplitCol__fixedInner\">\n {children}\n </div>\n ) : (\n children\n )}\n </SplitColContext.Provider>\n </div>\n );\n};\n"],"file":"SplitCol.js"}
1
+ {"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"names":["SplitColContext","React","createContext","colRef","animate","useSplitCol","useContext","SplitCol","children","width","maxWidth","minWidth","spaced","fixed","style","restProps","baseRef","useRef","fixedInnerRef","contextValue","useMemo","fixedInner","current","noop","top","offsetTop"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;AAQO,IAAMA,eAAe,gBAAGC,KAAK,CAACC,aAAN,CAA0C;AACvEC,EAAAA,MAAM,EAAE,IAD+D;AAEvEC,EAAAA,OAAO,EAAE;AAF8D,CAA1C,CAAxB;;;AAKA,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAMJ,KAAK,CAACK,UAAN,CAAiBN,eAAjB,CAAN;AAAA,CAApB;;;;AAiBP;AACA;AACA;AACO,IAAMO,QAAQ,GAAG,SAAXA,QAAW,OAUH;AAAA,MATnBC,QASmB,QATnBA,QASmB;AAAA,MARnBC,KAQmB,QARnBA,KAQmB;AAAA,MAPnBC,QAOmB,QAPnBA,QAOmB;AAAA,MANnBC,QAMmB,QANnBA,QAMmB;AAAA,MALnBC,MAKmB,QALnBA,MAKmB;AAAA,0BAJnBR,OAImB;AAAA,MAJnBA,OAImB,6BAJT,KAIS;AAAA,MAHnBS,KAGmB,QAHnBA,KAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;AACnB,MAAMC,OAAO,GAAGf,KAAK,CAACgB,MAAN,CAA6B,IAA7B,CAAhB;AAEA,MAAMC,aAAa,GAAGjB,KAAK,CAACgB,MAAN,CAA6B,IAA7B,CAAtB;AAEA,MAAME,YAAY,GAAGlB,KAAK,CAACmB,OAAN,CAAc,YAAM;AACvC,WAAO;AACLjB,MAAAA,MAAM,EAAEa,OADH;AAELZ,MAAAA,OAAO,EAAPA;AAFK,KAAP;AAID,GALoB,EAKlB,CAACY,OAAD,EAAUZ,OAAV,CALkB,CAArB;AAOA,0CAAoB,YAAM;AACxB,QAAMiB,UAAU,GAAGH,aAAa,CAACI,OAAjC;;AACA,QAAI,CAACD,UAAL,EAAiB;AACf,aAAOE,WAAP;AACD;;AAEDF,IAAAA,UAAU,CAACP,KAAX,CAAiBU,GAAjB,aAA0BH,UAAU,CAACI,SAArC;AAEA,WAAO,YAAM;AACXJ,MAAAA,UAAU,CAACP,KAAX,CAAiBU,GAAjB,GAAuB,EAAvB;AACD,KAFD;AAGD,GAXD,EAWG,CAACN,aAAa,CAACI,OAAf,CAXH;AAaA,SACE,uEACMP,SADN;AAEE,IAAA,KAAK,8DACAD,KADA;AAEHL,MAAAA,KAAK,EAAEA,KAFJ;AAGHC,MAAAA,QAAQ,EAAEA,QAHP;AAIHC,MAAAA,QAAQ,EAAEA;AAJP,MAFP;AAQE,IAAA,GAAG,EAAEK,OARP;AASE,IAAA,SAAS,EAAE,4BACT,UADS,EAETJ,MAAM,IAAI,kBAFD,EAGTC,KAAK,IAAI,iBAHA;AATb,MAeE,qCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEM;AAAjC,KACGN,KAAK,GACJ;AAAK,IAAA,GAAG,EAAEK,aAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGV,QADH,CADI,GAKJA,QANJ,CAfF,CADF;AA2BD,CA9DM","sourcesContent":["import * as React from \"react\";\nimport { useScrollLockEffect } from \"../AppRoot/ScrollContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { noop } from \"../../lib/utils\";\nimport \"./SplitCol.css\";\n\nexport interface SplitColContextProps {\n colRef: React.RefObject<HTMLDivElement> | null;\n animate: boolean;\n}\n\nexport const SplitColContext = React.createContext<SplitColContextProps>({\n colRef: null,\n animate: true,\n});\n\nexport const useSplitCol = () => React.useContext(SplitColContext);\n\nexport interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины\n */\n spaced?: boolean;\n fixed?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitCol\n */\nexport const SplitCol = ({\n children,\n width,\n maxWidth,\n minWidth,\n spaced,\n animate = false,\n fixed,\n style,\n ...restProps\n}: SplitColProps) => {\n const baseRef = React.useRef<HTMLDivElement>(null);\n\n const fixedInnerRef = React.useRef<HTMLDivElement>(null);\n\n const contextValue = React.useMemo(() => {\n return {\n colRef: baseRef,\n animate,\n };\n }, [baseRef, animate]);\n\n useScrollLockEffect(() => {\n const fixedInner = fixedInnerRef.current;\n if (!fixedInner) {\n return noop;\n }\n\n fixedInner.style.top = `${fixedInner.offsetTop}px`;\n\n return () => {\n fixedInner.style.top = \"\";\n };\n }, [fixedInnerRef.current]);\n\n return (\n <div\n {...restProps}\n style={{\n ...style,\n width: width,\n maxWidth: maxWidth,\n minWidth: minWidth,\n }}\n ref={baseRef}\n vkuiClass={classNames(\n \"SplitCol\",\n spaced && \"SplitCol--spaced\",\n fixed && \"SplitCol--fixed\"\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? (\n <div ref={fixedInnerRef} vkuiClass=\"SplitCol__fixedInner\">\n {children}\n </div>\n ) : (\n children\n )}\n </SplitColContext.Provider>\n </div>\n );\n};\n"],"file":"SplitCol.js"}
@@ -13,10 +13,10 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
- var _getClassName = require("../../helpers/getClassName");
17
-
18
16
  var _classNames = require("../../lib/classNames");
19
17
 
18
+ var _platform = require("../../lib/platform");
19
+
20
20
  var _PopoutRoot = require("../PopoutRoot/PopoutRoot");
21
21
 
22
22
  var _usePlatform = require("../../hooks/usePlatform");
@@ -36,16 +36,13 @@ var SplitLayout = function SplitLayout(_ref) {
36
36
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
37
37
  var platform = (0, _usePlatform.usePlatform)();
38
38
  return (0, _jsxRuntime.createScopedElement)(_PopoutRoot.PopoutRoot, {
39
- vkuiClass: (0, _getClassName.getClassName)("SplitLayout", platform),
39
+ vkuiClass: (0, _classNames.classNames)("SplitLayout", platform === _platform.IOS && "SplitLayout--ios"),
40
40
  popout: popout,
41
41
  modal: modal,
42
42
  getRootRef: getRootRef
43
43
  }, header, (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({}, restProps, {
44
- ref: getRef // eslint-disable-next-line vkui/no-object-expression-in-arguments
45
- ,
46
- vkuiClass: (0, _classNames.classNames)("SplitLayout__inner", {
47
- "SplitLayout__inner--header": !!header
48
- })
44
+ ref: getRef,
45
+ vkuiClass: (0, _classNames.classNames)("SplitLayout__inner", !!header && "SplitLayout__inner--header")
49
46
  }), children));
50
47
  };
51
48
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SplitLayout/SplitLayout.tsx"],"names":["SplitLayout","popout","modal","header","children","getRootRef","getRef","restProps","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;AACA;;;;AAkBA;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAQH;AAAA,MAPtBC,MAOsB,QAPtBA,MAOsB;AAAA,MANtBC,KAMsB,QANtBA,KAMsB;AAAA,MALtBC,MAKsB,QALtBA,MAKsB;AAAA,MAJtBC,QAIsB,QAJtBA,QAIsB;AAAA,MAHtBC,UAGsB,QAHtBA,UAGsB;AAAA,MAFtBC,MAEsB,QAFtBA,MAEsB;AAAA,MADnBC,SACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,sBAAD;AACE,IAAA,SAAS,EAAE,gCAAa,aAAb,EAA4BA,QAA5B,CADb;AAEE,IAAA,MAAM,EAAEP,MAFV;AAGE,IAAA,KAAK,EAAEC,KAHT;AAIE,IAAA,UAAU,EAAEG;AAJd,KAMGF,MANH,EAOE,uEACMI,SADN;AAEE,IAAA,GAAG,EAAED,MAFP,CAGE;AAHF;AAIE,IAAA,SAAS,EAAE,4BAAW,oBAAX,EAAiC;AAC1C,oCAA8B,CAAC,CAACH;AADU,KAAjC;AAJb,MAQGC,QARH,CAPF,CADF;AAoBD,CA/BM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { PopoutRoot } from \"../PopoutRoot/PopoutRoot\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./SplitLayout.css\";\n\nexport interface SplitLayoutProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n header?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitLayout\n */\nexport const SplitLayout = ({\n popout,\n modal,\n header,\n children,\n getRootRef,\n getRef,\n ...restProps\n}: SplitLayoutProps) => {\n const platform = usePlatform();\n\n return (\n <PopoutRoot\n vkuiClass={getClassName(\"SplitLayout\", platform)}\n popout={popout}\n modal={modal}\n getRootRef={getRootRef}\n >\n {header}\n <div\n {...restProps}\n ref={getRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"SplitLayout__inner\", {\n \"SplitLayout__inner--header\": !!header,\n })}\n >\n {children}\n </div>\n </PopoutRoot>\n );\n};\n"],"file":"SplitLayout.js"}
1
+ {"version":3,"sources":["../../../../src/components/SplitLayout/SplitLayout.tsx"],"names":["SplitLayout","popout","modal","header","children","getRootRef","getRef","restProps","platform","IOS"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;AACA;;;;AAkBA;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAQH;AAAA,MAPtBC,MAOsB,QAPtBA,MAOsB;AAAA,MANtBC,KAMsB,QANtBA,KAMsB;AAAA,MALtBC,MAKsB,QALtBA,MAKsB;AAAA,MAJtBC,QAIsB,QAJtBA,QAIsB;AAAA,MAHtBC,UAGsB,QAHtBA,UAGsB;AAAA,MAFtBC,MAEsB,QAFtBA,MAEsB;AAAA,MADnBC,SACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,sBAAD;AACE,IAAA,SAAS,EAAE,4BACT,aADS,EAETA,QAAQ,KAAKC,aAAb,IAAoB,kBAFX,CADb;AAKE,IAAA,MAAM,EAAER,MALV;AAME,IAAA,KAAK,EAAEC,KANT;AAOE,IAAA,UAAU,EAAEG;AAPd,KASGF,MATH,EAUE,uEACMI,SADN;AAEE,IAAA,GAAG,EAAED,MAFP;AAGE,IAAA,SAAS,EAAE,4BACT,oBADS,EAET,CAAC,CAACH,MAAF,IAAY,4BAFH;AAHb,MAQGC,QARH,CAVF,CADF;AAuBD,CAlCM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { PopoutRoot } from \"../PopoutRoot/PopoutRoot\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./SplitLayout.css\";\n\nexport interface SplitLayoutProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n header?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitLayout\n */\nexport const SplitLayout = ({\n popout,\n modal,\n header,\n children,\n getRootRef,\n getRef,\n ...restProps\n}: SplitLayoutProps) => {\n const platform = usePlatform();\n\n return (\n <PopoutRoot\n vkuiClass={classNames(\n \"SplitLayout\",\n platform === IOS && \"SplitLayout--ios\"\n )}\n popout={popout}\n modal={modal}\n getRootRef={getRootRef}\n >\n {header}\n <div\n {...restProps}\n ref={getRef}\n vkuiClass={classNames(\n \"SplitLayout__inner\",\n !!header && \"SplitLayout__inner--header\"\n )}\n >\n {children}\n </div>\n </PopoutRoot>\n );\n};\n"],"file":"SplitLayout.js"}
@@ -23,32 +23,33 @@ var _usePlatform = require("../../hooks/usePlatform");
23
23
 
24
24
  var _platform = require("../../lib/platform");
25
25
 
26
- var _excluded = ["children", "shadow", "itemsLayout"];
26
+ var _excluded = ["children", "shadow", "itemsLayout", "mode"];
27
27
 
28
+ var getItemsLayout = function getItemsLayout(itemsLayout, children) {
29
+ switch (itemsLayout) {
30
+ case "horizontal":
31
+ case "vertical":
32
+ return itemsLayout;
33
+
34
+ default:
35
+ return React.Children.count(children) > 2 ? "vertical" : "horizontal";
36
+ }
37
+ };
28
38
  /**
29
39
  * @see https://vkcom.github.io/VKUI/#/Tabbar
30
40
  */
41
+
42
+
31
43
  var Tabbar = function Tabbar(_ref) {
32
44
  var children = _ref.children,
33
45
  _ref$shadow = _ref.shadow,
34
46
  shadow = _ref$shadow === void 0 ? true : _ref$shadow,
35
47
  itemsLayout = _ref.itemsLayout,
48
+ mode = _ref.mode,
36
49
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
37
50
  var platform = (0, _usePlatform.usePlatform)();
38
-
39
- var getItemsLayout = function getItemsLayout() {
40
- switch (itemsLayout) {
41
- case "horizontal":
42
- case "vertical":
43
- return itemsLayout;
44
-
45
- default:
46
- return React.Children.count(children) > 2 ? "vertical" : "horizontal";
47
- }
48
- };
49
-
50
51
  return (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({
51
- vkuiClass: (0, _classNames.classNames)("Tabbar", platform === _platform.Platform.IOS && "Tabbar--ios", "Tabbar--l-".concat(getItemsLayout()), shadow && "Tabbar--shadow")
52
+ vkuiClass: (0, _classNames.classNames)("Tabbar", platform === _platform.Platform.IOS && "Tabbar--ios", "Tabbar--l-".concat(getItemsLayout(itemsLayout !== null && itemsLayout !== void 0 ? itemsLayout : mode, children)), shadow && "Tabbar--shadow")
52
53
  }, restProps), (0, _jsxRuntime.createScopedElement)("div", {
53
54
  vkuiClass: "Tabbar__in"
54
55
  }, children));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"names":["Tabbar","children","shadow","itemsLayout","restProps","platform","getItemsLayout","React","Children","count","Platform","IOS"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAWA;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAS,OAKH;AAAA,MAJjBC,QAIiB,QAJjBA,QAIiB;AAAA,yBAHjBC,MAGiB;AAAA,MAHjBA,MAGiB,4BAHR,IAGQ;AAAA,MAFjBC,WAEiB,QAFjBA,WAEiB;AAAA,MADdC,SACc;AACjB,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,YAAQH,WAAR;AACE,WAAK,YAAL;AACA,WAAK,UAAL;AACE,eAAOA,WAAP;;AACF;AACE,eAAOI,KAAK,CAACC,QAAN,CAAeC,KAAf,CAAqBR,QAArB,IAAiC,CAAjC,GAAqC,UAArC,GAAkD,YAAzD;AALJ;AAOD,GARD;;AAUA,SACE;AACE,IAAA,SAAS,EAAE,4BACT,QADS,EAETI,QAAQ,KAAKK,mBAASC,GAAtB,IAA6B,aAFpB,sBAGIL,cAAc,EAHlB,GAITJ,MAAM,IAAI,gBAJD;AADb,KAOME,SAPN,GASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6BH,QAA7B,CATF,CADF;AAaD,CA/BM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\nimport \"./Tabbar.css\";\n\nexport interface TabbarProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Флаг для показа/скрытия верхней тени (Android) или границы (iOS)\n */\n shadow?: boolean;\n itemsLayout?: \"vertical\" | \"horizontal\" | \"auto\";\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabbar\n */\nexport const Tabbar = ({\n children,\n shadow = true,\n itemsLayout,\n ...restProps\n}: TabbarProps) => {\n const platform = usePlatform();\n\n const getItemsLayout = () => {\n switch (itemsLayout) {\n case \"horizontal\":\n case \"vertical\":\n return itemsLayout;\n default:\n return React.Children.count(children) > 2 ? \"vertical\" : \"horizontal\";\n }\n };\n\n return (\n <div\n vkuiClass={classNames(\n \"Tabbar\",\n platform === Platform.IOS && \"Tabbar--ios\",\n `Tabbar--l-${getItemsLayout()}`,\n shadow && \"Tabbar--shadow\"\n )}\n {...restProps}\n >\n <div vkuiClass=\"Tabbar__in\">{children}</div>\n </div>\n );\n};\n"],"file":"Tabbar.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"names":["getItemsLayout","itemsLayout","children","React","Children","count","Tabbar","shadow","mode","restProps","platform","Platform","IOS"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAkBA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CACrBC,WADqB,EAErBC,QAFqB,EAGlB;AACH,UAAQD,WAAR;AACE,SAAK,YAAL;AACA,SAAK,UAAL;AACE,aAAOA,WAAP;;AACF;AACE,aAAOE,KAAK,CAACC,QAAN,CAAeC,KAAf,CAAqBH,QAArB,IAAiC,CAAjC,GAAqC,UAArC,GAAkD,YAAzD;AALJ;AAOD,CAXD;AAaA;AACA;AACA;;;AACO,IAAMI,MAAM,GAAG,SAATA,MAAS,OAMH;AAAA,MALjBJ,QAKiB,QALjBA,QAKiB;AAAA,yBAJjBK,MAIiB;AAAA,MAJjBA,MAIiB,4BAJR,IAIQ;AAAA,MAHjBN,WAGiB,QAHjBA,WAGiB;AAAA,MAFjBO,IAEiB,QAFjBA,IAEiB;AAAA,MADdC,SACc;AACjB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE;AACE,IAAA,SAAS,EAAE,4BACT,QADS,EAETA,QAAQ,KAAKC,mBAASC,GAAtB,IAA6B,aAFpB,sBAGIZ,cAAc,CAACC,WAAD,aAACA,WAAD,cAACA,WAAD,GAAgBO,IAAhB,EAAsBN,QAAtB,CAHlB,GAITK,MAAM,IAAI,gBAJD;AADb,KAOME,SAPN,GASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6BP,QAA7B,CATF,CADF;AAaD,CAtBM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\nimport \"./Tabbar.css\";\n\nexport interface TabbarProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Флаг для показа/скрытия верхней тени (Android) или границы (iOS)\n */\n shadow?: boolean;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `mode`\n */\n itemsLayout?: \"vertical\" | \"horizontal\" | \"auto\"; // TODO v5.0.0 удалить, будет использоваться mode\n /**\n * Задает расположение элементов (вертикальное/горизонтальное)\n */\n mode?: \"vertical\" | \"horizontal\" | \"auto\";\n}\n\nconst getItemsLayout = (\n itemsLayout: TabbarProps[\"mode\"],\n children: TabbarProps[\"children\"]\n) => {\n switch (itemsLayout) {\n case \"horizontal\":\n case \"vertical\":\n return itemsLayout;\n default:\n return React.Children.count(children) > 2 ? \"vertical\" : \"horizontal\";\n }\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabbar\n */\nexport const Tabbar = ({\n children,\n shadow = true,\n itemsLayout,\n mode,\n ...restProps\n}: TabbarProps) => {\n const platform = usePlatform();\n\n return (\n <div\n vkuiClass={classNames(\n \"Tabbar\",\n platform === Platform.IOS && \"Tabbar--ios\",\n `Tabbar--l-${getItemsLayout(itemsLayout ?? mode, children)}`,\n shadow && \"Tabbar--shadow\"\n )}\n {...restProps}\n >\n <div vkuiClass=\"Tabbar__in\">{children}</div>\n </div>\n );\n};\n"],"file":"Tabbar.js"}
@@ -13,8 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
- var _getClassName = require("../../helpers/getClassName");
17
-
18
16
  var _Counter = require("../Counter/Counter");
19
17
 
20
18
  var _classNames = require("../../lib/classNames");
@@ -25,6 +23,8 @@ var _utils = require("../../lib/utils");
25
23
 
26
24
  var _Tappable = require("../Tappable/Tappable");
27
25
 
26
+ var _Footnote = require("../Typography/Footnote/Footnote");
27
+
28
28
  var _platform = require("../../lib/platform");
29
29
 
30
30
  var _warnOnce = require("../../lib/warnOnce");
@@ -54,12 +54,8 @@ var TabbarItem = function TabbarItem(_ref) {
54
54
 
55
55
  return (0, _jsxRuntime.createScopedElement)(Component, (0, _extends2.default)({}, restProps, {
56
56
  disabled: disabled,
57
- href: href // eslint-disable-next-line vkui/no-object-expression-in-arguments
58
- ,
59
- vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("TabbarItem", platform), {
60
- "TabbarItem--selected": selected,
61
- "TabbarItem--text": !!text
62
- })
57
+ href: href,
58
+ vkuiClass: (0, _classNames.classNames)("TabbarItem", platform === _platform.Platform.IOS && "TabbarItem--ios", platform === _platform.Platform.ANDROID && "TabbarItem--android", selected && "TabbarItem--selected", !!text && "TabbarItem--text")
63
59
  }), (0, _jsxRuntime.createScopedElement)(_Tappable.Tappable, {
64
60
  role: "presentation",
65
61
  Component: "div",
@@ -77,8 +73,10 @@ var TabbarItem = function TabbarItem(_ref) {
77
73
  }, (0, _utils.hasReactNode)(indicator) && indicator, !indicator && label && (0, _jsxRuntime.createScopedElement)(_Counter.Counter, {
78
74
  size: "s",
79
75
  mode: "prominent"
80
- }, label))), text && (0, _jsxRuntime.createScopedElement)("div", {
81
- vkuiClass: "TabbarItem__text"
76
+ }, label))), text && (0, _jsxRuntime.createScopedElement)(_Footnote.Footnote, {
77
+ Component: "div",
78
+ vkuiClass: "TabbarItem__text",
79
+ weight: "2"
82
80
  }, text)));
83
81
  };
84
82
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"names":["warn","TabbarItem","children","selected","label","indicator","text","href","Component","disabled","restProps","platform","process","env","NODE_ENV","Platform","IOS"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;AAsBA,IAAMA,IAAI,GAAG,wBAAS,YAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAUH;AAAA,MATrBC,QASqB,QATrBA,QASqB;AAAA,MARrBC,QAQqB,QARrBA,QAQqB;AAAA,MAPrBC,KAOqB,QAPrBA,KAOqB;AAAA,MANrBC,SAMqB,QANrBA,SAMqB;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,4BAHrBC,SAGqB;AAAA,MAHrBA,SAGqB,+BAHTD,IAAI,GAAG,GAAH,GAAS,QAGJ;AAAA,MAFrBE,QAEqB,QAFrBA,QAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAIP,KAAK,IAAIQ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAtC,EAAqD;AACnDd,IAAAA,IAAI,CACF,yEADE,CAAJ;AAGD;;AAED,SACE,qCAAC,SAAD,6BACMU,SADN;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,IAAI,EAAEF,IAHR,CAIE;AAJF;AAKE,IAAA,SAAS,EAAE,4BAAW,gCAAa,YAAb,EAA2BI,QAA3B,CAAX,EAAiD;AAC1D,8BAAwBR,QADkC;AAE1D,0BAAoB,CAAC,CAACG;AAFoC,KAAjD;AALb,MAUE,qCAAC,kBAAD;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,QAAQ,EAAEG,QAHZ;AAIE,IAAA,UAAU,EACRE,QAAQ,KAAKI,mBAASC,GAAtB,GACI,8BADJ,GAEI,YAPR;AASE,IAAA,iBAAiB,EAAEL,QAAQ,KAAKI,mBAASC,GAAtB,GAA4B,CAA5B,GAAgC,GATrD;AAUE,IAAA,QAAQ,EAAE,KAVZ;AAWE,IAAA,SAAS,EAAC;AAXZ,IAVF,EAuBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGd,QADH,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaG,SAAb,KAA2BA,SAD9B,EAEG,CAACA,SAAD,IAAcD,KAAd,IACC,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAC,GAAd;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACGA,KADH,CAHJ,CAFF,CADF,EAYGE,IAAI,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAmCA,IAAnC,CAZX,CAvBF,CADF;AAwCD,CA3DM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Counter } from \"../Counter/Counter\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { Platform } from \"../../lib/platform\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./TabbarItem.css\";\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, \"label\">, // TODO убрать Omit после удаления свойства label\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Текст рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `indicator`\n */\n label?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"TabbarItem\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabbarItem\n */\nexport const TabbarItem = ({\n children,\n selected,\n label,\n indicator,\n text,\n href,\n Component = href ? \"a\" : \"button\",\n disabled,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (label && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство label устарело и будет удалено в 5.0.0. Используйте indicator.\"\n );\n }\n\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"TabbarItem\", platform), {\n \"TabbarItem--selected\": selected,\n \"TabbarItem--text\": !!text,\n })}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS\n ? \"TabbarItem__tappable--active\"\n : \"background\"\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n vkuiClass=\"TabbarItem__tappable\"\n />\n <div vkuiClass=\"TabbarItem__in\">\n <div vkuiClass=\"TabbarItem__icon\">\n {children}\n <div vkuiClass=\"TabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n {!indicator && label && (\n <Counter size=\"s\" mode=\"prominent\">\n {label}\n </Counter>\n )}\n </div>\n </div>\n {text && <div vkuiClass=\"TabbarItem__text\">{text}</div>}\n </div>\n </Component>\n );\n};\n"],"file":"TabbarItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"names":["warn","TabbarItem","children","selected","label","indicator","text","href","Component","disabled","restProps","platform","process","env","NODE_ENV","Platform","IOS","ANDROID"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;AAsBA,IAAMA,IAAI,GAAG,wBAAS,YAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAUH;AAAA,MATrBC,QASqB,QATrBA,QASqB;AAAA,MARrBC,QAQqB,QARrBA,QAQqB;AAAA,MAPrBC,KAOqB,QAPrBA,KAOqB;AAAA,MANrBC,SAMqB,QANrBA,SAMqB;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,4BAHrBC,SAGqB;AAAA,MAHrBA,SAGqB,+BAHTD,IAAI,GAAG,GAAH,GAAS,QAGJ;AAAA,MAFrBE,QAEqB,QAFrBA,QAEqB;AAAA,MADlBC,SACkB;AACrB,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAIP,KAAK,IAAIQ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAtC,EAAqD;AACnDd,IAAAA,IAAI,CACF,yEADE,CAAJ;AAGD;;AAED,SACE,qCAAC,SAAD,6BACMU,SADN;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,IAAI,EAAEF,IAHR;AAIE,IAAA,SAAS,EAAE,4BACT,YADS,EAETI,QAAQ,KAAKI,mBAASC,GAAtB,IAA6B,iBAFpB,EAGTL,QAAQ,KAAKI,mBAASE,OAAtB,IAAiC,qBAHxB,EAITd,QAAQ,IAAI,sBAJH,EAKT,CAAC,CAACG,IAAF,IAAU,kBALD;AAJb,MAYE,qCAAC,kBAAD;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,QAAQ,EAAEG,QAHZ;AAIE,IAAA,UAAU,EACRE,QAAQ,KAAKI,mBAASC,GAAtB,GACI,8BADJ,GAEI,YAPR;AASE,IAAA,iBAAiB,EAAEL,QAAQ,KAAKI,mBAASC,GAAtB,GAA4B,CAA5B,GAAgC,GATrD;AAUE,IAAA,QAAQ,EAAE,KAVZ;AAWE,IAAA,SAAS,EAAC;AAXZ,IAZF,EAyBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGd,QADH,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaG,SAAb,KAA2BA,SAD9B,EAEG,CAACA,SAAD,IAAcD,KAAd,IACC,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAC,GAAd;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACGA,KADH,CAHJ,CAFF,CADF,EAYGE,IAAI,IACH,qCAAC,kBAAD;AAAU,IAAA,SAAS,EAAC,KAApB;AAA0B,IAAA,SAAS,EAAC,kBAApC;AAAuD,IAAA,MAAM,EAAC;AAA9D,KACGA,IADH,CAbJ,CAzBF,CADF;AA8CD,CAjEM","sourcesContent":["import * as React from \"react\";\nimport { Counter } from \"../Counter/Counter\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { Footnote } from \"../Typography/Footnote/Footnote\";\nimport { Platform } from \"../../lib/platform\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./TabbarItem.css\";\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, \"label\">, // TODO убрать Omit после удаления свойства label\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Текст рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `indicator`\n */\n label?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"TabbarItem\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabbarItem\n */\nexport const TabbarItem = ({\n children,\n selected,\n label,\n indicator,\n text,\n href,\n Component = href ? \"a\" : \"button\",\n disabled,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (label && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство label устарело и будет удалено в 5.0.0. Используйте indicator.\"\n );\n }\n\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n vkuiClass={classNames(\n \"TabbarItem\",\n platform === Platform.IOS && \"TabbarItem--ios\",\n platform === Platform.ANDROID && \"TabbarItem--android\",\n selected && \"TabbarItem--selected\",\n !!text && \"TabbarItem--text\"\n )}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS\n ? \"TabbarItem__tappable--active\"\n : \"background\"\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n vkuiClass=\"TabbarItem__tappable\"\n />\n <div vkuiClass=\"TabbarItem__in\">\n <div vkuiClass=\"TabbarItem__icon\">\n {children}\n <div vkuiClass=\"TabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n {!indicator && label && (\n <Counter size=\"s\" mode=\"prominent\">\n {label}\n </Counter>\n )}\n </div>\n </div>\n {text && (\n <Footnote Component=\"div\" vkuiClass=\"TabbarItem__text\" weight=\"2\">\n {text}\n </Footnote>\n )}\n </div>\n </Component>\n );\n};\n"],"file":"TabbarItem.js"}
@@ -17,8 +17,6 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
17
17
 
18
18
  var React = _interopRequireWildcard(require("react"));
19
19
 
20
- var _getClassName = require("../../helpers/getClassName");
21
-
22
20
  var _classNames = require("../../lib/classNames");
23
21
 
24
22
  var _usePlatform = require("../../hooks/usePlatform");
@@ -27,8 +25,14 @@ var _platform = require("../../lib/platform");
27
25
 
28
26
  var _withAdaptivity = require("../../hoc/withAdaptivity");
29
27
 
28
+ var _warnOnce = require("../../lib/warnOnce");
29
+
30
30
  var _excluded = ["children", "mode", "getRootRef", "sizeX"];
31
- var TabsModeContext = /*#__PURE__*/React.createContext("default");
31
+ var warn = (0, _warnOnce.warnOnce)("Tabs");
32
+ var TabsModeContext = /*#__PURE__*/React.createContext({
33
+ mode: "default",
34
+ withGaps: false
35
+ });
32
36
  exports.TabsModeContext = TabsModeContext;
33
37
 
34
38
  var TabsComponent = function TabsComponent(_ref) {
@@ -40,17 +44,31 @@ var TabsComponent = function TabsComponent(_ref) {
40
44
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
45
  var platform = (0, _usePlatform.usePlatform)();
42
46
 
47
+ if ((mode === "buttons" || mode === "segmented") && process.env.NODE_ENV === "development") {
48
+ var expectedValueText = mode === "buttons" ? "\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \"secondary\"" : "компонент SegmentedControl";
49
+ warn("mode=\"".concat(mode, "\" \u0443\u0441\u0442\u0430\u0440\u0435\u043B\u043E \u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D\u043E \u0432 5.0.0. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 ").concat(expectedValueText));
50
+ }
51
+
43
52
  if (platform !== _platform.IOS && mode === "segmented") {
44
53
  mode = "default";
45
54
  }
46
55
 
56
+ if (mode === "buttons") {
57
+ mode = "secondary";
58
+ }
59
+
60
+ var withGaps = mode === "accent" || mode === "secondary";
47
61
  return (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({}, restProps, {
48
62
  ref: getRootRef,
49
- vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Tabs", platform), "Tabs--".concat(mode), "Tabs--sizeX-".concat(sizeX))
63
+ vkuiClass: (0, _classNames.classNames)("Tabs", (platform === _platform.IOS || platform === _platform.VKCOM) && "Tabs--".concat(platform), "Tabs--".concat(mode), withGaps && "Tabs--withGaps", // TODO v5.0.0 новая адаптивность
64
+ "Tabs--sizeX-".concat(sizeX))
50
65
  }), (0, _jsxRuntime.createScopedElement)("div", {
51
66
  vkuiClass: "Tabs__in"
52
67
  }, (0, _jsxRuntime.createScopedElement)(TabsModeContext.Provider, {
53
- value: mode
68
+ value: {
69
+ mode: mode,
70
+ withGaps: withGaps
71
+ }
54
72
  }, children)));
55
73
  };
56
74
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"names":["TabsModeContext","React","createContext","TabsComponent","children","mode","getRootRef","sizeX","restProps","platform","IOS","Tabs","displayName"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;AAUO,IAAMA,eAAe,gBAC1BC,KAAK,CAACC,aAAN,CAAuC,SAAvC,CADK;;;AAGP,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAML;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,uBAJfC,IAIe;AAAA,MAJfA,IAIe,0BAJR,SAIQ;AAAA,MAHfC,UAGe,QAHfA,UAGe;AAAA,MAFfC,KAEe,QAFfA,KAEe;AAAA,MADZC,SACY;AACf,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MAAIA,QAAQ,KAAKC,aAAb,IAAoBL,IAAI,KAAK,WAAjC,EAA8C;AAC5CA,IAAAA,IAAI,GAAG,SAAP;AACD;;AAED,SACE,uEACMG,SADN;AAEE,IAAA,GAAG,EAAEF,UAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,MAAb,EAAqBG,QAArB,CADS,kBAEAJ,IAFA,yBAGME,KAHN;AAHb,MASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEF;AAAjC,KACGD,QADH,CADF,CATF,CADF;AAiBD,CA9BD;AAgCA;AACA;AACA;;;AACO,IAAMO,IAAI,GAAG,oCAAeR,aAAf,EAA8B;AAAEI,EAAAA,KAAK,EAAE;AAAT,CAA9B,CAAb;;AAEPI,IAAI,CAACC,WAAL,GAAmB,MAAnB","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { IOS } from \"../../lib/platform\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport \"./Tabs.css\";\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n mode?: \"default\" | \"buttons\" | \"segmented\";\n}\n\nexport const TabsModeContext =\n React.createContext<TabsProps[\"mode\"]>(\"default\");\n\nconst TabsComponent = ({\n children,\n mode = \"default\",\n getRootRef,\n sizeX,\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n\n if (platform !== IOS && mode === \"segmented\") {\n mode = \"default\";\n }\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Tabs\", platform),\n `Tabs--${mode}`,\n `Tabs--sizeX-${sizeX}`\n )}\n >\n <div vkuiClass=\"Tabs__in\">\n <TabsModeContext.Provider value={mode}>\n {children}\n </TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = withAdaptivity(TabsComponent, { sizeX: true });\n\nTabs.displayName = \"Tabs\";\n"],"file":"Tabs.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"names":["warn","TabsModeContext","React","createContext","mode","withGaps","TabsComponent","children","getRootRef","sizeX","restProps","platform","process","env","NODE_ENV","expectedValueText","IOS","VKCOM","Tabs","displayName"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;AAiBA,IAAMA,IAAI,GAAG,wBAAS,MAAT,CAAb;AAOO,IAAMC,eAAe,gBAAGC,KAAK,CAACC,aAAN,CAAsC;AACnEC,EAAAA,IAAI,EAAE,SAD6D;AAEnEC,EAAAA,QAAQ,EAAE;AAFyD,CAAtC,CAAxB;;;AAKP,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAML;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,uBAJfH,IAIe;AAAA,MAJfA,IAIe,0BAJR,SAIQ;AAAA,MAHfI,UAGe,QAHfA,UAGe;AAAA,MAFfC,KAEe,QAFfA,KAEe;AAAA,MADZC,SACY;AACf,MAAMC,QAAQ,GAAG,+BAAjB;;AAEA,MACE,CAACP,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,WAAhC,KACAQ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAF3B,EAGE;AACA,QAAMC,iBAAiB,GACrBX,IAAI,KAAK,SAAT,sEAEI,4BAHN;AAIAJ,IAAAA,IAAI,kBACOI,IADP,mOAC8DW,iBAD9D,EAAJ;AAGD;;AAED,MAAIJ,QAAQ,KAAKK,aAAb,IAAoBZ,IAAI,KAAK,WAAjC,EAA8C;AAC5CA,IAAAA,IAAI,GAAG,SAAP;AACD;;AAED,MAAIA,IAAI,KAAK,SAAb,EAAwB;AACtBA,IAAAA,IAAI,GAAG,WAAP;AACD;;AAED,MAAMC,QAAQ,GAAGD,IAAI,KAAK,QAAT,IAAqBA,IAAI,KAAK,WAA/C;AAEA,SACE,uEACMM,SADN;AAEE,IAAA,GAAG,EAAEF,UAFP;AAGE,IAAA,SAAS,EAAE,4BACT,MADS,EAET,CAACG,QAAQ,KAAKK,aAAb,IAAoBL,QAAQ,KAAKM,eAAlC,qBAAqDN,QAArD,CAFS,kBAGAP,IAHA,GAITC,QAAQ,IAAI,gBAJH,EAKT;AALS,0BAMMI,KANN;AAHb,MAYE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAE;AAAEL,MAAAA,IAAI,EAAJA,IAAF;AAAQC,MAAAA,QAAQ,EAARA;AAAR;AAAjC,KACGE,QADH,CADF,CAZF,CADF;AAoBD,CApDD;AAsDA;AACA;AACA;;;AACO,IAAMW,IAAI,GAAG,oCAAeZ,aAAf,EAA8B;AAAEG,EAAAA,KAAK,EAAE;AAAT,CAA9B,CAAb;;AAEPS,IAAI,CAACC,WAAL,GAAmB,MAAnB","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./Tabs.css\";\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n /**\n * Задаёт вид кнопок.\n *\n * > ⚠️ Значения `\"buttons\"`, `\"segmented\"` устарели и будут удалены в 5.0.0. Вместо `\"buttons\"` используйте `\"secondary\"`.\n * > Режим `\"segmented\"` переехал в отдельный компонент [`SegmentedControl`](https://vkcom.github.io/VKUI#/SegmentedControl),\n * > поэтому используйте его вместо `Tabs`.\n */\n mode?: \"buttons\" | \"segmented\" | \"default\" | \"accent\" | \"secondary\";\n}\n\nconst warn = warnOnce(\"Tabs\");\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\nconst TabsComponent = ({\n children,\n mode = \"default\",\n getRootRef,\n sizeX,\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n\n if (\n (mode === \"buttons\" || mode === \"segmented\") &&\n process.env.NODE_ENV === \"development\"\n ) {\n const expectedValueText =\n mode === \"buttons\"\n ? `значения \"secondary\"`\n : \"компонент SegmentedControl\";\n warn(\n `mode=\"${mode}\" устарело и будет удалено в 5.0.0. Используйте ${expectedValueText}`\n );\n }\n\n if (platform !== IOS && mode === \"segmented\") {\n mode = \"default\";\n }\n\n if (mode === \"buttons\") {\n mode = \"secondary\";\n }\n\n const withGaps = mode === \"accent\" || mode === \"secondary\";\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n \"Tabs\",\n (platform === IOS || platform === VKCOM) && `Tabs--${platform}`,\n `Tabs--${mode}`,\n withGaps && \"Tabs--withGaps\",\n // TODO v5.0.0 новая адаптивность\n `Tabs--sizeX-${sizeX}`\n )}\n >\n <div vkuiClass=\"Tabs__in\">\n <TabsModeContext.Provider value={{ mode, withGaps }}>\n {children}\n </TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = withAdaptivity(TabsComponent, { sizeX: true });\n\nTabs.displayName = \"Tabs\";\n"],"file":"Tabs.js"}