@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"names":["NativeSelectComponent","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","sizeX","sizeY","multiline","selectType","SelectType","default","restProps","platform","React","useState","title","setTitle","empty","setEmpty","value","onChange","selectRef","selectedOption","current","options","selectedIndex","text","NativeSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasAlign, HasRef, HasRootRef } from \"../../types\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { SelectType, SelectTypography } from \"../Select/Select\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"../Select/Select.css\";\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n AdaptivityProps {\n placeholder?: string;\n multiline?: boolean;\n selectType?: keyof typeof SelectType;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>[\"value\"];\n title?: string;\n notSelected?: boolean;\n}\n\nconst NativeSelectComponent = ({\n style,\n defaultValue = \"\",\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n sizeX,\n sizeY,\n multiline,\n selectType = SelectType.default,\n ...restProps\n}: NativeSelectProps & AdaptivityContextInterface) => {\n const platform = usePlatform();\n const [title, setTitle] = React.useState(\"\");\n const [empty, setEmpty] = React.useState(false);\n const [value, onChange] = useEnsuredControl(restProps, { defaultValue });\n const selectRef = useExternRef(getRef);\n useIsomorphicLayoutEffect(() => {\n const selectedOption =\n selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setEmpty(selectedOption.value === \"\" && placeholder != null);\n }\n }, [value, children]);\n\n return (\n <FormField\n Component=\"label\"\n vkuiClass={classNames(\n getClassName(\"Select\", platform),\n `Select--${selectType}`,\n empty && \"Select--empty\",\n multiline && \"Select--multiline\",\n align && `Select--align-${align}`,\n `Select--sizeX-${sizeX}`,\n `Select--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n after={<DropdownIcon />}\n >\n <select\n {...restProps}\n disabled={disabled}\n vkuiClass=\"Select__el\"\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <div vkuiClass=\"Select__container\">\n {/* TODO v5.0.0 поправить под новую адаптивность */}\n <SelectTypography vkuiClass=\"Select__title\">{title}</SelectTypography>\n </div>\n </FormField>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/NativeSelect\n */\nexport const NativeSelect = withAdaptivity(NativeSelectComponent, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"NativeSelect.js"}
1
+ {"version":3,"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"names":["NativeSelectComponent","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","sizeX","sizeY","multiline","selectType","SelectType","default","restProps","platform","React","useState","title","setTitle","empty","setEmpty","value","onChange","selectRef","selectedOption","current","options","selectedIndex","text","NativeSelect","displayName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasAlign, HasRef, HasRootRef } from \"../../types\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { SelectType, SelectTypography } from \"../Select/Select\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"../Select/Select.css\";\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n AdaptivityProps {\n placeholder?: string;\n multiline?: boolean;\n selectType?: keyof typeof SelectType;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>[\"value\"];\n title?: string;\n notSelected?: boolean;\n}\n\nconst NativeSelectComponent = ({\n style,\n defaultValue = \"\",\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n sizeX,\n sizeY,\n multiline,\n selectType = SelectType.default,\n ...restProps\n}: NativeSelectProps & AdaptivityContextInterface) => {\n const platform = usePlatform();\n const [title, setTitle] = React.useState(\"\");\n const [empty, setEmpty] = React.useState(false);\n const [value, onChange] = useEnsuredControl(restProps, { defaultValue });\n const selectRef = useExternRef(getRef);\n useIsomorphicLayoutEffect(() => {\n const selectedOption =\n selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setEmpty(selectedOption.value === \"\" && placeholder != null);\n }\n }, [value, children]);\n\n return (\n <FormField\n Component=\"label\"\n vkuiClass={classNames(\n getClassName(\"Select\", platform),\n `Select--${selectType}`,\n empty && \"Select--empty\",\n multiline && \"Select--multiline\",\n align && `Select--align-${align}`,\n `Select--sizeX-${sizeX}`,\n `Select--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n after={<DropdownIcon />}\n >\n <select\n {...restProps}\n disabled={disabled}\n vkuiClass=\"Select__el\"\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <div vkuiClass=\"Select__container\">\n {/* TODO v5.0.0 поправить под новую адаптивность */}\n <SelectTypography vkuiClass=\"Select__title\">{title}</SelectTypography>\n </div>\n </FormField>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/NativeSelect\n */\nexport const NativeSelect = withAdaptivity(NativeSelectComponent, {\n sizeX: true,\n sizeY: true,\n});\n\nNativeSelect.displayName = \"NativeSelect\";\n"],"file":"NativeSelect.js"}
@@ -65,4 +65,5 @@ var Panel = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
65
65
  sizeX: true
66
66
  });
67
67
  exports.Panel = Panel;
68
+ Panel.displayName = "Panel";
68
69
  //# sourceMappingURL=Panel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Panel/Panel.tsx"],"names":["Panel","centered","children","getRootRef","sizeX","nav","restProps","platform","TooltipContainer","IOS"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;AAgBA;AACA;AACA;AACO,IAAMA,KAAK,GAAG,oCACnB,gBAA0E;AAAA,2BAAvEC,QAAuE;AAAA,MAAvEA,QAAuE,8BAA5D,KAA4D;AAAA,MAArDC,QAAqD,QAArDA,QAAqD;AAAA,MAA3CC,UAA2C,QAA3CA,UAA2C;AAAA,MAA/BC,KAA+B,QAA/BA,KAA+B;AAAA,MAAxBC,GAAwB,QAAxBA,GAAwB;AAAA,MAAhBC,SAAgB;AACxE,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,uEACMD,SADN;AAEE,IAAA,GAAG,EAAEH,UAFP,CAGE;AAHF;AAIE,IAAA,SAAS,EAAE,6BACT,gCAAa,OAAb,EAAsBI,QAAtB,CADS,mBAECH,KAFD;AAIP,yBAAmBH;AAJZ,8BAKUG,KALV,GAKoB,IALpB;AAJb,MAaE,qCAAC,YAAD;AAAO,IAAA,SAAS,EAAEI,kCAAlB;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGD,QAAQ,KAAKE,aAAb,IAAoB;AAAK,IAAA,SAAS,EAAC;AAAf,IADvB,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,IAFF,EAGGR,QAAQ,GACP;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCC,QAAlC,CADO,GAGPA,QANJ,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,IARF,CAbF,CADF;AA0BD,CA9BkB,EA+BnB;AACEE,EAAAA,KAAK,EAAE;AADT,CA/BmB,CAAd","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Touch } from \"../Touch/Touch\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport { HasRootRef } from \"../../types\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { IOS } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { NavIdProps } from \"../../lib/getNavId\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Panel.css\";\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps,\n NavIdProps {\n centered?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Panel\n */\nexport const Panel = withAdaptivity<PanelProps & AdaptivityContextInterface>(\n ({ centered = false, children, getRootRef, sizeX, nav, ...restProps }) => {\n const platform = usePlatform();\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Panel\", platform),\n `Panel--${sizeX}`,\n {\n \"Panel--centered\": centered,\n [`Panel--sizeX-${sizeX}`]: true,\n }\n )}\n >\n <Touch Component={TooltipContainer} vkuiClass=\"Panel__in\">\n {platform === IOS && <div vkuiClass=\"Panel__fade\" />}\n <div vkuiClass=\"Panel__in-before\" />\n {centered ? (\n <div vkuiClass=\"Panel__centered\">{children}</div>\n ) : (\n children\n )}\n <div vkuiClass=\"Panel__in-after\" />\n </Touch>\n </div>\n );\n },\n {\n sizeX: true,\n }\n);\n"],"file":"Panel.js"}
1
+ {"version":3,"sources":["../../../../src/components/Panel/Panel.tsx"],"names":["Panel","centered","children","getRootRef","sizeX","nav","restProps","platform","TooltipContainer","IOS","displayName"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;AAgBA;AACA;AACA;AACO,IAAMA,KAAK,GAAG,oCACnB,gBAA0E;AAAA,2BAAvEC,QAAuE;AAAA,MAAvEA,QAAuE,8BAA5D,KAA4D;AAAA,MAArDC,QAAqD,QAArDA,QAAqD;AAAA,MAA3CC,UAA2C,QAA3CA,UAA2C;AAAA,MAA/BC,KAA+B,QAA/BA,KAA+B;AAAA,MAAxBC,GAAwB,QAAxBA,GAAwB;AAAA,MAAhBC,SAAgB;AACxE,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,uEACMD,SADN;AAEE,IAAA,GAAG,EAAEH,UAFP,CAGE;AAHF;AAIE,IAAA,SAAS,EAAE,6BACT,gCAAa,OAAb,EAAsBI,QAAtB,CADS,mBAECH,KAFD;AAIP,yBAAmBH;AAJZ,8BAKUG,KALV,GAKoB,IALpB;AAJb,MAaE,qCAAC,YAAD;AAAO,IAAA,SAAS,EAAEI,kCAAlB;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGD,QAAQ,KAAKE,aAAb,IAAoB;AAAK,IAAA,SAAS,EAAC;AAAf,IADvB,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,IAFF,EAGGR,QAAQ,GACP;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCC,QAAlC,CADO,GAGPA,QANJ,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,IARF,CAbF,CADF;AA0BD,CA9BkB,EA+BnB;AACEE,EAAAA,KAAK,EAAE;AADT,CA/BmB,CAAd;;AAoCPJ,KAAK,CAACU,WAAN,GAAoB,OAApB","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Touch } from \"../Touch/Touch\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport { HasRootRef } from \"../../types\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { IOS } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { NavIdProps } from \"../../lib/getNavId\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Panel.css\";\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps,\n NavIdProps {\n centered?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Panel\n */\nexport const Panel = withAdaptivity<PanelProps & AdaptivityContextInterface>(\n ({ centered = false, children, getRootRef, sizeX, nav, ...restProps }) => {\n const platform = usePlatform();\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Panel\", platform),\n `Panel--${sizeX}`,\n {\n \"Panel--centered\": centered,\n [`Panel--sizeX-${sizeX}`]: true,\n }\n )}\n >\n <Touch Component={TooltipContainer} vkuiClass=\"Panel__in\">\n {platform === IOS && <div vkuiClass=\"Panel__fade\" />}\n <div vkuiClass=\"Panel__in-before\" />\n {centered ? (\n <div vkuiClass=\"Panel__centered\">{children}</div>\n ) : (\n children\n )}\n <div vkuiClass=\"Panel__in-after\" />\n </Touch>\n </div>\n );\n },\n {\n sizeX: true,\n }\n);\n\nPanel.displayName = \"Panel\";\n"],"file":"Panel.js"}
@@ -154,4 +154,5 @@ var PanelHeader = (0, _withAdaptivity.withAdaptivity)(PanelHeaderComponent, {
154
154
  sizeY: true
155
155
  });
156
156
  exports.PanelHeader = PanelHeader;
157
+ PanelHeader.displayName = "PanelHeader";
157
158
  //# sourceMappingURL=PanelHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"names":["PanelHeaderIn","before","after","separator","children","React","useContext","ConfigProviderContext","webviewType","ModalRootContext","isInsideModal","platform","VKCOM","WebviewType","INTERNAL","warn","PanelHeaderComponent","propsBefore","left","propsAfter","right","visor","transparent","shadow","getRef","getRootRef","sizeX","sizeY","fixed","restProps","needShadow","SizeType","REGULAR","isFixed","undefined","Platform","process","env","NODE_ENV","innerProps","VKAPPS","PanelHeader"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { FixedLayout } from \"../FixedLayout/FixedLayout\";\nimport { Separator } from \"../Separator/Separator\";\nimport { Platform, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport {\n ConfigProviderContext,\n WebviewType,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport { ModalRootContext } from \"../ModalRoot/ModalRootContext\";\nimport { Spacing } from \"../Spacing/Spacing\";\nimport \"./PanelHeader.css\";\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n before?: React.ReactNode;\n /**\n * @deprecated Будет удалено в 5.0.0. Используйте `before`\n */\n left?: React.ReactNode;\n after?: React.ReactNode;\n /**\n * @deprecated Будет удалено в 5.0.0. Используйте `after`\n */\n right?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn = ({\n before,\n after,\n separator,\n children,\n}: PanelHeaderProps) => {\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed vkuiClass=\"PanelHeader__in\">\n <div vkuiClass=\"PanelHeader__before\">{before}</div>\n <div vkuiClass=\"PanelHeader__content\">\n {platform === VKCOM ? (\n <Text weight=\"2\">{children}</Text>\n ) : (\n <span vkuiClass=\"PanelHeader__content-in\">{children}</span>\n )}\n </div>\n <div vkuiClass=\"PanelHeader__after\">\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && after}\n </div>\n </TooltipContainer>\n {separator && platform === VKCOM && <Separator wide />}\n </React.Fragment>\n );\n};\n\nconst warn = warnOnce(\"PanelHeader\");\nconst PanelHeaderComponent = ({\n // TODO: поправить перед 5.0.0\n before: propsBefore,\n left,\n after: propsAfter,\n right,\n // /end TODO\n children,\n separator = true,\n visor = true,\n transparent = false,\n shadow,\n getRef,\n getRootRef,\n sizeX,\n sizeY,\n fixed,\n ...restProps\n}: PanelHeaderProps) => {\n const platform = usePlatform();\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const needShadow = shadow && sizeX === SizeType.REGULAR;\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n // TODO: удалить перед 5.0.0\n const before = propsBefore ?? left;\n const after = propsAfter ?? right;\n\n if (process.env.NODE_ENV === \"development\") {\n right &&\n warn(\n \"Свойство right устарелo и будет удалено в 5.0.0. Используйте after.\"\n );\n left &&\n warn(\n \"Свойство left устарелo и будет удалено в 5.0.0. Используйте before.\"\n );\n }\n // /end TODO\n\n const innerProps = { before, after, separator, children };\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"PanelHeader\", platform),\n {\n \"PanelHeader--trnsp\": transparent,\n \"PanelHeader--shadow\": needShadow,\n \"PanelHeader--vis\": visor,\n \"PanelHeader--sep\": separator && visor,\n \"PanelHeader--vkapps\":\n webviewType === WebviewType.VKAPPS && !isInsideModal,\n \"PanelHeader--no-before\": !before,\n \"PanelHeader--no-after\": !after,\n \"PanelHeader--fixed\": isFixed,\n },\n `PanelHeader--sizeX-${sizeX}`\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n vkuiClass=\"PanelHeader__fixed\"\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn {...innerProps} />\n </FixedLayout>\n ) : (\n <PanelHeaderIn {...innerProps} />\n )}\n {separator &&\n visor &&\n platform !== VKCOM &&\n (sizeX === SizeType.REGULAR ? <Spacing size={16} /> : <Separator />)}\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = withAdaptivity(PanelHeaderComponent, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"PanelHeader.js"}
1
+ {"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"names":["PanelHeaderIn","before","after","separator","children","React","useContext","ConfigProviderContext","webviewType","ModalRootContext","isInsideModal","platform","VKCOM","WebviewType","INTERNAL","warn","PanelHeaderComponent","propsBefore","left","propsAfter","right","visor","transparent","shadow","getRef","getRootRef","sizeX","sizeY","fixed","restProps","needShadow","SizeType","REGULAR","isFixed","undefined","Platform","process","env","NODE_ENV","innerProps","VKAPPS","PanelHeader","displayName"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAIA;;AAKA;;AACA;;AACA;;AACA;;;;AA+BA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAKE;AAAA,MAJtBC,MAIsB,QAJtBA,MAIsB;AAAA,MAHtBC,KAGsB,QAHtBA,KAGsB;AAAA,MAFtBC,SAEsB,QAFtBA,SAEsB;AAAA,MADtBC,QACsB,QADtBA,QACsB;;AACtB,0BAAwBC,KAAK,CAACC,UAAN,CAAiBC,4CAAjB,CAAxB;AAAA,MAAQC,WAAR,qBAAQA,WAAR;;AACA,2BAA0BH,KAAK,CAACC,UAAN,CAAiBG,kCAAjB,CAA1B;AAAA,MAAQC,aAAR,sBAAQA,aAAR;;AACA,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,SACE,qCAAC,KAAD,CAAO,QAAP,QACE,qCAAC,kCAAD;AAAkB,IAAA,KAAK,MAAvB;AAAwB,IAAA,SAAS,EAAC;AAAlC,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCV,MAAtC,CADF,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGU,QAAQ,KAAKC,eAAb,GACC,qCAAC,UAAD;AAAM,IAAA,MAAM,EAAC;AAAb,KAAkBR,QAAlB,CADD,GAGC;AAAM,IAAA,SAAS,EAAC;AAAhB,KAA2CA,QAA3C,CAJJ,CAFF,EASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,CAACI,WAAW,KAAKK,mCAAYC,QAA5B,IAAwCJ,aAAzC,KAA2DR,KAD9D,CATF,CADF,EAcGC,SAAS,IAAIQ,QAAQ,KAAKC,eAA1B,IAAmC,qCAAC,oBAAD;AAAW,IAAA,IAAI;AAAf,IAdtC,CADF;AAkBD,CA5BD;;AA8BA,IAAMG,IAAI,GAAG,wBAAS,aAAT,CAAb;;AACA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,QAkBL;AAAA,MAhBdC,WAgBc,SAhBtBhB,MAgBsB;AAAA,MAftBiB,IAesB,SAftBA,IAesB;AAAA,MAdfC,UAce,SAdtBjB,KAcsB;AAAA,MAbtBkB,KAasB,SAbtBA,KAasB;AAAA,MAXtBhB,QAWsB,SAXtBA,QAWsB;AAAA,8BAVtBD,SAUsB;AAAA,MAVtBA,SAUsB,gCAVV,IAUU;AAAA,0BATtBkB,KASsB;AAAA,MATtBA,KASsB,4BATd,IASc;AAAA,gCARtBC,WAQsB;AAAA,MARtBA,WAQsB,kCARR,KAQQ;AAAA,MAPtBC,MAOsB,SAPtBA,MAOsB;AAAA,MANtBC,MAMsB,SANtBA,MAMsB;AAAA,MALtBC,UAKsB,SALtBA,UAKsB;AAAA,MAJtBC,KAIsB,SAJtBA,KAIsB;AAAA,MAHtBC,KAGsB,SAHtBA,KAGsB;AAAA,MAFtBC,KAEsB,SAFtBA,KAEsB;AAAA,MADnBC,SACmB;AACtB,MAAMlB,QAAQ,GAAG,+BAAjB;;AACA,2BAAwBN,KAAK,CAACC,UAAN,CAAiBC,4CAAjB,CAAxB;AAAA,MAAQC,WAAR,sBAAQA,WAAR;;AACA,2BAA0BH,KAAK,CAACC,UAAN,CAAiBG,kCAAjB,CAA1B;AAAA,MAAQC,aAAR,sBAAQA,aAAR;;AACA,MAAMoB,UAAU,GAAGP,MAAM,IAAIG,KAAK,KAAKK,yBAASC,OAAhD;AACA,MAAIC,OAAO,GAAGL,KAAK,KAAKM,SAAV,GAAsBN,KAAtB,GAA8BjB,QAAQ,KAAKwB,mBAASvB,KAAlE,CALsB,CAOtB;;AACA,MAAMX,MAAM,GAAGgB,WAAH,aAAGA,WAAH,cAAGA,WAAH,GAAkBC,IAA9B;AACA,MAAMhB,KAAK,GAAGiB,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiBC,KAA5B;;AAEA,MAAIgB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1ClB,IAAAA,KAAK,IACHL,IAAI,CACF,qEADE,CADN;AAIAG,IAAAA,IAAI,IACFH,IAAI,CACF,qEADE,CADN;AAID,GApBqB,CAqBtB;;;AAEA,MAAMwB,UAAU,GAAG;AAAEtC,IAAAA,MAAM,EAANA,MAAF;AAAUC,IAAAA,KAAK,EAALA,KAAV;AAAiBC,IAAAA,SAAS,EAATA,SAAjB;AAA4BC,IAAAA,QAAQ,EAARA;AAA5B,GAAnB;AAEA,SACE,uEACMyB,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BACT,gCAAa,aAAb,EAA4BlB,QAA5B,CADS,EAET;AACE,4BAAsBW,WADxB;AAEE,6BAAuBQ,UAFzB;AAGE,0BAAoBT,KAHtB;AAIE,0BAAoBlB,SAAS,IAAIkB,KAJnC;AAKE,6BACEb,WAAW,KAAKK,mCAAY2B,MAA5B,IAAsC,CAAC9B,aAN3C;AAOE,gCAA0B,CAACT,MAP7B;AAQE,+BAAyB,CAACC,KAR5B;AASE,4BAAsB+B;AATxB,KAFS,+BAaaP,KAbb,EAHb;AAkBE,IAAA,GAAG,EAAEO,OAAO,GAAGR,UAAH,GAAgBD;AAlB9B,MAoBGS,OAAO,GACN,qCAAC,wBAAD;AACE,IAAA,SAAS,EAAC,oBADZ;AAEE,IAAA,QAAQ,EAAC,KAFX;AAGE,IAAA,UAAU,EAAET;AAHd,KAKE,qCAAC,aAAD,EAAmBe,UAAnB,CALF,CADM,GASN,qCAAC,aAAD,EAAmBA,UAAnB,CA7BJ,EA+BGpC,SAAS,IACRkB,KADD,IAECV,QAAQ,KAAKC,eAFd,KAGEc,KAAK,KAAKK,yBAASC,OAAnB,GAA6B,qCAAC,gBAAD;AAAS,IAAA,IAAI,EAAE;AAAf,IAA7B,GAAqD,qCAAC,oBAAD,OAHvD,CA/BH,CADF;AAsCD,CAjFD;AAmFA;AACA;AACA;;;AACO,IAAMS,WAAW,GAAG,oCAAezB,oBAAf,EAAqC;AAC9DU,EAAAA,KAAK,EAAE,IADuD;AAE9DC,EAAAA,KAAK,EAAE;AAFuD,CAArC,CAApB;;AAKPc,WAAW,CAACC,WAAZ,GAA0B,aAA1B","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { FixedLayout } from \"../FixedLayout/FixedLayout\";\nimport { Separator } from \"../Separator/Separator\";\nimport { Platform, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport {\n ConfigProviderContext,\n WebviewType,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport { ModalRootContext } from \"../ModalRoot/ModalRootContext\";\nimport { Spacing } from \"../Spacing/Spacing\";\nimport \"./PanelHeader.css\";\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n before?: React.ReactNode;\n /**\n * @deprecated Будет удалено в 5.0.0. Используйте `before`\n */\n left?: React.ReactNode;\n after?: React.ReactNode;\n /**\n * @deprecated Будет удалено в 5.0.0. Используйте `after`\n */\n right?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn = ({\n before,\n after,\n separator,\n children,\n}: PanelHeaderProps) => {\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed vkuiClass=\"PanelHeader__in\">\n <div vkuiClass=\"PanelHeader__before\">{before}</div>\n <div vkuiClass=\"PanelHeader__content\">\n {platform === VKCOM ? (\n <Text weight=\"2\">{children}</Text>\n ) : (\n <span vkuiClass=\"PanelHeader__content-in\">{children}</span>\n )}\n </div>\n <div vkuiClass=\"PanelHeader__after\">\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && after}\n </div>\n </TooltipContainer>\n {separator && platform === VKCOM && <Separator wide />}\n </React.Fragment>\n );\n};\n\nconst warn = warnOnce(\"PanelHeader\");\nconst PanelHeaderComponent = ({\n // TODO: поправить перед 5.0.0\n before: propsBefore,\n left,\n after: propsAfter,\n right,\n // /end TODO\n children,\n separator = true,\n visor = true,\n transparent = false,\n shadow,\n getRef,\n getRootRef,\n sizeX,\n sizeY,\n fixed,\n ...restProps\n}: PanelHeaderProps) => {\n const platform = usePlatform();\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const needShadow = shadow && sizeX === SizeType.REGULAR;\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n // TODO: удалить перед 5.0.0\n const before = propsBefore ?? left;\n const after = propsAfter ?? right;\n\n if (process.env.NODE_ENV === \"development\") {\n right &&\n warn(\n \"Свойство right устарелo и будет удалено в 5.0.0. Используйте after.\"\n );\n left &&\n warn(\n \"Свойство left устарелo и будет удалено в 5.0.0. Используйте before.\"\n );\n }\n // /end TODO\n\n const innerProps = { before, after, separator, children };\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"PanelHeader\", platform),\n {\n \"PanelHeader--trnsp\": transparent,\n \"PanelHeader--shadow\": needShadow,\n \"PanelHeader--vis\": visor,\n \"PanelHeader--sep\": separator && visor,\n \"PanelHeader--vkapps\":\n webviewType === WebviewType.VKAPPS && !isInsideModal,\n \"PanelHeader--no-before\": !before,\n \"PanelHeader--no-after\": !after,\n \"PanelHeader--fixed\": isFixed,\n },\n `PanelHeader--sizeX-${sizeX}`\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n vkuiClass=\"PanelHeader__fixed\"\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn {...innerProps} />\n </FixedLayout>\n ) : (\n <PanelHeaderIn {...innerProps} />\n )}\n {separator &&\n visor &&\n platform !== VKCOM &&\n (sizeX === SizeType.REGULAR ? <Spacing size={16} /> : <Separator />)}\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = withAdaptivity(PanelHeaderComponent, {\n sizeX: true,\n sizeY: true,\n});\n\nPanelHeader.displayName = \"PanelHeader\";\n"],"file":"PanelHeader.js"}
@@ -27,6 +27,8 @@ var _reactPopper = require("react-popper");
27
27
 
28
28
  var _AppRootPortal = require("../AppRoot/AppRootPortal");
29
29
 
30
+ var _PopperArrow = require("../PopperArrow/PopperArrow");
31
+
30
32
  var _usePlatform = require("../../hooks/usePlatform");
31
33
 
32
34
  var _getClassName = require("../../helpers/getClassName");
@@ -35,7 +37,7 @@ var _useExternRef = require("../../hooks/useExternRef");
35
37
 
36
38
  var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
37
39
 
38
- var _excluded = ["targetRef", "children", "getRef", "placement", "onPlacementChange", "arrow", "arrowClassName", "sameWidth", "offsetDistance", "offsetSkidding", "forcePortal", "style", "customModifiers"];
40
+ var _excluded = ["targetRef", "children", "getRef", "placement", "onPlacementChange", "arrow", "arrowClassName", "sameWidth", "offsetDistance", "offsetSkidding", "forcePortal", "style", "customModifiers", "renderContent"];
39
41
  var ARROW_PADDING = 8;
40
42
  var ARROW_WIDTH = 20;
41
43
  var ARROW_HEIGHT = 8;
@@ -62,8 +64,8 @@ var Popper = function Popper(_ref) {
62
64
  _ref$forcePortal = _ref.forcePortal,
63
65
  forcePortal = _ref$forcePortal === void 0 ? true : _ref$forcePortal,
64
66
  compStyles = _ref.style,
65
- _ref$customModifiers = _ref.customModifiers,
66
- customModifiers = _ref$customModifiers === void 0 ? [] : _ref$customModifiers,
67
+ customModifiers = _ref.customModifiers,
68
+ renderContent = _ref.renderContent,
67
69
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
68
70
 
69
71
  var _React$useState = React.useState(null),
@@ -120,7 +122,10 @@ var Popper = function Popper(_ref) {
120
122
  modifiers.push(_sameWidth);
121
123
  }
122
124
 
123
- modifiers.push.apply(modifiers, (0, _toConsumableArray2.default)(customModifiers));
125
+ if (customModifiers) {
126
+ modifiers.push.apply(modifiers, (0, _toConsumableArray2.default)(customModifiers));
127
+ }
128
+
124
129
  return modifiers;
125
130
  }, [arrow, sameWidth, smallTargetOffsetSkidding, offsetSkidding, offsetDistance, customModifiers]);
126
131
 
@@ -165,24 +170,13 @@ var Popper = function Popper(_ref) {
165
170
  style: (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, compStyles), styles.popper), {}, {
166
171
  minWidth: sameWidth ? (_targetRef$current3 = targetRef.current) === null || _targetRef$current3 === void 0 ? void 0 : _targetRef$current3.scrollWidth : undefined
167
172
  })
168
- }), arrow && (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({}, attributes.arrow, {
169
- vkuiClass: "Popper__arrow",
170
- "data-popper-arrow": true,
171
- style: styles.arrow
172
- }), (0, _jsxRuntime.createScopedElement)("svg", {
173
- vkuiClass: "Popper__arrow-in",
174
- className: arrowClassName,
175
- width: "20",
176
- height: "8",
177
- viewBox: "0 0 20 8",
178
- fill: "none",
179
- xmlns: "http://www.w3.org/2000/svg"
180
- }, (0, _jsxRuntime.createScopedElement)("path", {
181
- fillRule: "evenodd",
182
- clipRule: "evenodd",
183
- d: "M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z",
184
- fill: "currentColor"
185
- }))), (0, _jsxRuntime.createScopedElement)("div", {
173
+ }), arrow && (0, _jsxRuntime.createScopedElement)(_PopperArrow.PopperArrow, {
174
+ attributes: attributes.arrow,
175
+ style: styles.arrow,
176
+ arrowClassName: arrowClassName
177
+ }), renderContent ? renderContent({
178
+ className: "Popper__content"
179
+ }) : (0, _jsxRuntime.createScopedElement)("div", {
186
180
  vkuiClass: "Popper__content"
187
181
  }, children));
188
182
  return (0, _jsxRuntime.createScopedElement)(_AppRootPortal.AppRootPortal, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Popper/Popper.tsx"],"names":["ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","customModifiers","restProps","React","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","mainAxis","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown","minWidth","scrollWidth","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n arrow?: boolean;\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n /**\n * Массив кастомных модификаторов для Popper (необходимо мемоизировать)\n */\n customModifiers?: Array<Modifier<string>>;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\n */\nexport const Popper = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n customModifiers = [],\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState<HTMLDivElement | null>(\n null\n );\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef<HTMLDivElement>(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n options: {\n mainAxis: false,\n },\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n modifiers.push(...customModifiers);\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n customModifiers,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован с краю\n\n // Если поппер рисуется с краю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement?.startsWith(\"bottom\") ||\n resolvedPlacement?.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n (placementDirection === \"vertical\"\n ? targetRef.current?.offsetWidth\n : targetRef.current?.offsetHeight) ?? 0;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{\n ...compStyles,\n ...styles.popper,\n minWidth: sameWidth ? targetRef.current?.scrollWidth : undefined,\n }}\n >\n {arrow && (\n <div\n {...attributes.arrow}\n vkuiClass=\"Popper__arrow\"\n data-popper-arrow={true}\n style={styles.arrow}\n >\n <svg\n vkuiClass=\"Popper__arrow-in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n <div vkuiClass=\"Popper__content\">{children}</div>\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
1
+ {"version":3,"sources":["../../../../src/components/Popper/Popper.tsx"],"names":["ARROW_PADDING","ARROW_WIDTH","ARROW_HEIGHT","Popper","targetRef","children","getRef","placement","onPlacementChange","arrow","arrowClassName","sameWidth","offsetDistance","offsetSkidding","forcePortal","compStyles","style","customModifiers","renderContent","restProps","React","useState","popperNode","setPopperNode","smallTargetOffsetSkidding","setSmallTargetOffsetSkidding","platform","setExternalRef","modifiers","useMemo","name","options","mainAxis","offset","push","padding","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","offsetWidth","current","attributes","resolvedPlacement","isEdgePlacement","includes","placementDirection","startsWith","arrowSize","targetSize","offsetHeight","useEffect","dropdown","minWidth","scrollWidth","undefined","className"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePopper, Modifier } from \"react-popper\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { PopperArrow } from \"../PopperArrow/PopperArrow\";\nimport { HasRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport \"./Popper.css\";\n\nexport type Placement =\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"right-start\"\n | \"right-end\"\n | \"left-start\"\n | \"left-end\"\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\";\n\nexport interface PopperRenderContentProps {\n className: string;\n}\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: Placement;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n /**\n * Отображать ли стрелку, указывающую на якорный элемент\n */\n arrow?: boolean;\n /**\n * Стиль стрелки\n */\n arrowClassName?: string;\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n onPlacementChange?: (data: { placement?: Placement }) => void;\n /**\n * Массив кастомных модификаторов для Popper (необходимо мемоизировать)\n */\n customModifiers?: Array<Modifier<string>>;\n /**\n * При передаче содержимого в `children`, он будет обёрнут во внутренний контейнер.\n *\n * Если хочется управлять этим контейнером, то используйте данную функцию.\n *\n * > ⚠️ Параметр `children` будет проигнорирован.\n */\n renderContent?(props: PopperRenderContentProps): React.ReactNode;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\nconst ARROW_PADDING = 8;\nconst ARROW_WIDTH = 20;\nconst ARROW_HEIGHT = 8;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\n */\nexport const Popper = ({\n targetRef,\n children,\n getRef,\n placement = \"bottom-start\",\n onPlacementChange,\n arrow,\n arrowClassName,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n style: compStyles,\n customModifiers,\n renderContent,\n ...restProps\n}: PopperProps) => {\n const [popperNode, setPopperNode] = React.useState<HTMLDivElement | null>(\n null\n );\n const [smallTargetOffsetSkidding, setSmallTargetOffsetSkidding] =\n React.useState(0);\n const platform = usePlatform();\n\n const setExternalRef = useExternRef<HTMLDivElement>(getRef, setPopperNode);\n\n const modifiers = React.useMemo(() => {\n const modifiers: Array<Modifier<string>> = [\n {\n name: \"preventOverflow\",\n options: {\n mainAxis: false,\n },\n },\n {\n name: \"offset\",\n options: {\n offset: [\n arrow ? offsetSkidding - smallTargetOffsetSkidding : offsetSkidding,\n arrow ? offsetDistance + ARROW_HEIGHT : offsetDistance,\n ],\n },\n },\n {\n name: \"flip\",\n },\n ];\n\n if (arrow) {\n modifiers.push({\n name: \"arrow\",\n options: {\n padding: ARROW_PADDING,\n },\n });\n }\n\n if (sameWidth) {\n const sameWidth: Modifier<string> = {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n };\n\n modifiers.push(sameWidth);\n }\n\n if (customModifiers) {\n modifiers.push(...customModifiers);\n }\n return modifiers;\n }, [\n arrow,\n sameWidth,\n smallTargetOffsetSkidding,\n offsetSkidding,\n offsetDistance,\n customModifiers,\n ]);\n\n const { styles, state, attributes } = usePopper(\n targetRef.current,\n popperNode,\n {\n placement,\n modifiers,\n }\n );\n\n const resolvedPlacement = state?.placement;\n const isEdgePlacement =\n !!resolvedPlacement && resolvedPlacement.includes(\"-\"); // true, если поппер отрисован с краю\n\n // Если поппер рисуется с краю, то нужно опционально сместить его в тех случаях, когда стрелка не дотягивается до\n // таргета из-за маленьких размеров последнего\n useIsomorphicLayoutEffect(() => {\n if (arrow && isEdgePlacement) {\n const placementDirection =\n resolvedPlacement?.startsWith(\"bottom\") ||\n resolvedPlacement?.startsWith(\"top\")\n ? \"vertical\"\n : \"horizontal\";\n\n const arrowSize =\n placementDirection === \"vertical\" ? ARROW_WIDTH : ARROW_HEIGHT;\n const targetSize =\n (placementDirection === \"vertical\"\n ? targetRef.current?.offsetWidth\n : targetRef.current?.offsetHeight) ?? 0;\n\n if (targetSize < arrowSize + 2 * ARROW_PADDING) {\n setSmallTargetOffsetSkidding(ARROW_PADDING + arrowSize / 2);\n }\n } else {\n setSmallTargetOffsetSkidding(0);\n }\n }, [arrow, isEdgePlacement]);\n\n React.useEffect(() => {\n if (resolvedPlacement) {\n onPlacementChange && onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n {...attributes.popper}\n vkuiClass={getClassName(\"Popper\", platform)}\n ref={setExternalRef}\n style={{\n ...compStyles,\n ...styles.popper,\n minWidth: sameWidth ? targetRef.current?.scrollWidth : undefined,\n }}\n >\n {arrow && (\n <PopperArrow\n attributes={attributes.arrow}\n style={styles.arrow}\n arrowClassName={arrowClassName}\n />\n )}\n {renderContent ? (\n renderContent({ className: \"Popper__content\" })\n ) : (\n <div vkuiClass=\"Popper__content\">{children}</div>\n )}\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} vkuiClass=\"PopperPortal\">\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"file":"Popper.js"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PopperArrow = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _jsxRuntime = require("../../lib/jsxRuntime");
13
+
14
+ var PopperArrow = function PopperArrow(_ref) {
15
+ var style = _ref.style,
16
+ attributes = _ref.attributes,
17
+ arrowClassName = _ref.arrowClassName;
18
+ return (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({
19
+ style: style
20
+ }, attributes, {
21
+ vkuiClass: "PopperArrow",
22
+ "data-popper-arrow": true
23
+ }), (0, _jsxRuntime.createScopedElement)("svg", {
24
+ vkuiClass: "PopperArrow__in",
25
+ className: arrowClassName,
26
+ width: "20",
27
+ height: "8",
28
+ viewBox: "0 0 20 8",
29
+ fill: "none",
30
+ xmlns: "http://www.w3.org/2000/svg"
31
+ }, (0, _jsxRuntime.createScopedElement)("path", {
32
+ fillRule: "evenodd",
33
+ clipRule: "evenodd",
34
+ d: "M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z",
35
+ fill: "currentColor"
36
+ })));
37
+ };
38
+
39
+ exports.PopperArrow = PopperArrow;
40
+ //# sourceMappingURL=PopperArrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/PopperArrow/PopperArrow.tsx"],"names":["PopperArrow","style","attributes","arrowClassName"],"mappings":";;;;;;;;;;;;;AASO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAIH;AAAA,MAHtBC,KAGsB,QAHtBA,KAGsB;AAAA,MAFtBC,UAEsB,QAFtBA,UAEsB;AAAA,MADtBC,cACsB,QADtBA,cACsB;AACtB,SACE;AACE,IAAA,KAAK,EAAEF;AADT,KAEMC,UAFN;AAGE,IAAA,SAAS,EAAC,aAHZ;AAIE,yBAAmB;AAJrB,MAME;AACE,IAAA,SAAS,EAAC,iBADZ;AAEE,IAAA,SAAS,EAAEC,cAFb;AAGE,IAAA,KAAK,EAAC,IAHR;AAIE,IAAA,MAAM,EAAC,GAJT;AAKE,IAAA,OAAO,EAAC,UALV;AAME,IAAA,IAAI,EAAC,MANP;AAOE,IAAA,KAAK,EAAC;AAPR,KASE;AACE,IAAA,QAAQ,EAAC,SADX;AAEE,IAAA,QAAQ,EAAC,SAFX;AAGE,IAAA,CAAC,EAAC,gDAHJ;AAIE,IAAA,IAAI,EAAC;AAJP,IATF,CANF,CADF;AAyBD,CA9BM","sourcesContent":["import * as React from \"react\";\nimport \"./PopperArrow.css\";\n\nexport interface PopperArrowProps {\n style?: React.CSSProperties;\n attributes?: React.HTMLAttributes<HTMLDivElement> | null;\n arrowClassName?: string;\n}\n\nexport const PopperArrow = ({\n style,\n attributes,\n arrowClassName,\n}: PopperArrowProps) => {\n return (\n <div\n style={style}\n {...attributes}\n vkuiClass=\"PopperArrow\"\n data-popper-arrow={true}\n >\n <svg\n vkuiClass=\"PopperArrow__in\"\n className={arrowClassName}\n width=\"20\"\n height=\"8\"\n viewBox=\"0 0 20 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 0C13 0 15.9999 8 20 8H0C3.9749 8 7 0 10 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n );\n};\n"],"file":"PopperArrow.js"}
@@ -99,4 +99,5 @@ var Radio = (0, _withAdaptivity.withAdaptivity)(RadioComponent, {
99
99
  sizeY: true
100
100
  });
101
101
  exports.Radio = Radio;
102
+ Radio.displayName = "Radio";
102
103
  //# sourceMappingURL=Radio.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Radio/Radio.tsx"],"names":["RadioIcon","props","RadioComponent","children","description","style","className","getRootRef","sizeY","restProps","platform","RadioTypography","VKCOM","SizeType","COMPACT","Text","Headline","IOS","ACTIVE_EFFECT_DELAY","disabled","Radio"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;AAGA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAA0C;AAC1D,SACE;AACE,IAAA,KAAK,EAAC,4BADR;AAEE,IAAA,OAAO,EAAC,WAFV;AAGE;AAHF,KAIMA,KAJN,GAME;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,IAHJ;AAIE,IAAA,MAAM,EAAC,cAJT;AAKE,IAAA,WAAW,EAAC,GALd;AAME,IAAA,IAAI,EAAC;AANP,IANF,EAcE;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,KAHJ;AAIE,IAAA,SAAS,EAAC,YAJZ;AAKE,IAAA,IAAI,EAAC;AALP,IAdF,CADF;AAwBD,CAzBD;;AAmCA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,OAQL;AAAA,MAPhBC,QAOgB,QAPhBA,QAOgB;AAAA,MANhBC,WAMgB,QANhBA,WAMgB;AAAA,MALhBC,KAKgB,QALhBA,KAKgB;AAAA,MAJhBC,SAIgB,QAJhBA,SAIgB;AAAA,MAHhBC,UAGgB,QAHhBA,UAGgB;AAAA,MAFhBC,KAEgB,QAFhBA,KAEgB;AAAA,MADbC,SACa;AAChB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAMC,eAAe,GACnBD,QAAQ,KAAKE,eAAb,IAAsBJ,KAAK,KAAKK,yBAASC,OAAzC,GAAmDC,UAAnD,GAA0DC,kBAD5D;AAGA,SACE,qCAAC,kBAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEX,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAE,4BAAW,OAAX,yBAAoCE,KAApC,EAJb;AAKE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKO,aAAb,GAAmB,GAAnB,GAAyBC,6BAL9C;AAME,IAAA,QAAQ,EAAET,SAAS,CAACU,QANtB;AAOE,IAAA,UAAU,EAAEZ;AAPd,KASE,qCAAC,wCAAD,6BACME,SADN;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,IAAI,EAAC;AAHP,KATF,EAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,IADF,EAEE,qCAAC,eAAD;AAAiB,IAAA,SAAS,EAAC,gBAA3B;AAA4C,IAAA,SAAS,EAAC;AAAtD,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCN,QAAlC,CADF,EAEG,yBAAaC,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAHJ,CAFF,CAdF,CADF;AA0BD,CAxCD;AA0CA;AACA;AACA;;;AACO,IAAMgB,KAAK,GAAG,oCAAelB,cAAf,EAA+B;AAClDM,EAAAA,KAAK,EAAE;AAD2C,CAA/B,CAAd","sourcesContent":["import * as React from \"react\";\nimport { ACTIVE_EFFECT_DELAY, Tappable } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { VisuallyHiddenInput } from \"../VisuallyHiddenInput/VisuallyHiddenInput\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Text } from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nconst RadioIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n aria-hidden\n {...props}\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"11\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"7.5\"\n vkuiClass=\"Radio__pin\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst RadioComponent = ({\n children,\n description,\n style,\n className,\n getRootRef,\n sizeY,\n ...restProps\n}: RadioProps) => {\n const platform = usePlatform();\n\n const RadioTypography =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\"Radio\", `Radio--sizeY-${sizeY}`)}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <VisuallyHiddenInput\n {...restProps}\n vkuiClass=\"Radio__input\"\n type=\"radio\"\n />\n <div vkuiClass=\"Radio__container\">\n <RadioIcon vkuiClass=\"Radio__icon\" />\n <RadioTypography vkuiClass=\"Radio__content\" Component=\"div\">\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Radio__description\">{description}</Caption>\n )}\n </RadioTypography>\n </div>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Radio\n */\nexport const Radio = withAdaptivity(RadioComponent, {\n sizeY: true,\n});\n"],"file":"Radio.js"}
1
+ {"version":3,"sources":["../../../../src/components/Radio/Radio.tsx"],"names":["RadioIcon","props","RadioComponent","children","description","style","className","getRootRef","sizeY","restProps","platform","RadioTypography","VKCOM","SizeType","COMPACT","Text","Headline","IOS","ACTIVE_EFFECT_DELAY","disabled","Radio","displayName"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;AAGA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAA0C;AAC1D,SACE;AACE,IAAA,KAAK,EAAC,4BADR;AAEE,IAAA,OAAO,EAAC,WAFV;AAGE;AAHF,KAIMA,KAJN,GAME;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,IAHJ;AAIE,IAAA,MAAM,EAAC,cAJT;AAKE,IAAA,WAAW,EAAC,GALd;AAME,IAAA,IAAI,EAAC;AANP,IANF,EAcE;AACE,IAAA,EAAE,EAAC,IADL;AAEE,IAAA,EAAE,EAAC,IAFL;AAGE,IAAA,CAAC,EAAC,KAHJ;AAIE,IAAA,SAAS,EAAC,YAJZ;AAKE,IAAA,IAAI,EAAC;AALP,IAdF,CADF;AAwBD,CAzBD;;AAmCA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,OAQL;AAAA,MAPhBC,QAOgB,QAPhBA,QAOgB;AAAA,MANhBC,WAMgB,QANhBA,WAMgB;AAAA,MALhBC,KAKgB,QALhBA,KAKgB;AAAA,MAJhBC,SAIgB,QAJhBA,SAIgB;AAAA,MAHhBC,UAGgB,QAHhBA,UAGgB;AAAA,MAFhBC,KAEgB,QAFhBA,KAEgB;AAAA,MADbC,SACa;AAChB,MAAMC,QAAQ,GAAG,+BAAjB;AAEA,MAAMC,eAAe,GACnBD,QAAQ,KAAKE,eAAb,IAAsBJ,KAAK,KAAKK,yBAASC,OAAzC,GAAmDC,UAAnD,GAA0DC,kBAD5D;AAGA,SACE,qCAAC,kBAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEX,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAE,4BAAW,OAAX,yBAAoCE,KAApC,EAJb;AAKE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKO,aAAb,GAAmB,GAAnB,GAAyBC,6BAL9C;AAME,IAAA,QAAQ,EAAET,SAAS,CAACU,QANtB;AAOE,IAAA,UAAU,EAAEZ;AAPd,KASE,qCAAC,wCAAD,6BACME,SADN;AAEE,IAAA,SAAS,EAAC,cAFZ;AAGE,IAAA,IAAI,EAAC;AAHP,KATF,EAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,IADF,EAEE,qCAAC,eAAD;AAAiB,IAAA,SAAS,EAAC,gBAA3B;AAA4C,IAAA,SAAS,EAAC;AAAtD,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCN,QAAlC,CADF,EAEG,yBAAaC,WAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAHJ,CAFF,CAdF,CADF;AA0BD,CAxCD;AA0CA;AACA;AACA;;;AACO,IAAMgB,KAAK,GAAG,oCAAelB,cAAf,EAA+B;AAClDM,EAAAA,KAAK,EAAE;AAD2C,CAA/B,CAAd;;AAIPY,KAAK,CAACC,WAAN,GAAoB,OAApB","sourcesContent":["import * as React from \"react\";\nimport { ACTIVE_EFFECT_DELAY, Tappable } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { VisuallyHiddenInput } from \"../VisuallyHiddenInput/VisuallyHiddenInput\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Text } from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nconst RadioIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n aria-hidden\n {...props}\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"11\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"7.5\"\n vkuiClass=\"Radio__pin\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst RadioComponent = ({\n children,\n description,\n style,\n className,\n getRootRef,\n sizeY,\n ...restProps\n}: RadioProps) => {\n const platform = usePlatform();\n\n const RadioTypography =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\"Radio\", `Radio--sizeY-${sizeY}`)}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <VisuallyHiddenInput\n {...restProps}\n vkuiClass=\"Radio__input\"\n type=\"radio\"\n />\n <div vkuiClass=\"Radio__container\">\n <RadioIcon vkuiClass=\"Radio__icon\" />\n <RadioTypography vkuiClass=\"Radio__content\" Component=\"div\">\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Radio__description\">{description}</Caption>\n )}\n </RadioTypography>\n </div>\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Radio\n */\nexport const Radio = withAdaptivity(RadioComponent, {\n sizeY: true,\n});\n\nRadio.displayName = \"Radio\";\n"],"file":"Radio.js"}
@@ -169,4 +169,5 @@ var UniversalSlider = (0, _withAdaptivity.withAdaptivity)(UniversalSliderDumb, {
169
169
  sizeY: true
170
170
  });
171
171
  exports.UniversalSlider = UniversalSlider;
172
+ UniversalSlider.displayName = "UniversalSlider";
172
173
  //# sourceMappingURL=UniversalSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/RangeSlider/UniversalSlider.tsx"],"names":["UniversalSliderDumb","min","max","step","value","defaultValue","onChange","getRootRef","sizeY","disabled","restProps","start","end","isRange","gesture","React","useRef","dragging","startX","containerWidth","current","container","thumbStart","thumbEnd","offsetToValue","absolute","updateRange","nextValue","snapDirection","pos","target","Math","abs","onStart","e","boundingRect","getBoundingClientRect","width","absolutePosition","left","originalEvent","stopPropagation","onMove","shiftX","preventDefault","onEnd","toPercent","v","draggerStyle","join","UniversalSlider"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchEvent, TouchEventHandler } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { rescale } from \"../../helpers/math\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport \"../Slider/Slider.css\";\n\nexport type UniversalValue = [number | null, number];\n\nexport interface UniversalSliderProps<Value>\n extends HasRootRef<HTMLDivElement>,\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"value\" | \"defaultValue\" | \"onChange\"\n >,\n AdaptivityProps {\n min?: number;\n max?: number;\n step?: number;\n value?: Value;\n defaultValue?: Value;\n disabled?: boolean;\n onChange?(value: Value, e: TouchEvent): void;\n}\n\nconst UniversalSliderDumb = ({\n min = 0,\n max = 100,\n step,\n value = [0, 0],\n defaultValue,\n onChange,\n getRootRef,\n sizeY,\n disabled,\n ...restProps\n}: UniversalSliderProps<UniversalValue>) => {\n const [start, end] = value;\n const isRange = start != null;\n const gesture = React.useRef({\n dragging: false as false | \"start\" | \"end\",\n startX: 0,\n containerWidth: 0,\n }).current;\n const container = useExternRef(getRootRef);\n const thumbStart = React.useRef<HTMLDivElement>(null);\n const thumbEnd = React.useRef<HTMLDivElement>(null);\n\n const offsetToValue = (absolute: number) => {\n return rescale(absolute, [0, gesture.containerWidth], [min, max], { step });\n };\n\n const updateRange = (nextValue: number): UniversalValue => {\n if (start == null) {\n return [null, nextValue];\n }\n\n const { dragging } = gesture;\n if (dragging === \"start\") {\n if (nextValue > end) {\n // \"перехватиться\", если перетянули за конец\n gesture.dragging = \"end\";\n return [end, nextValue];\n }\n return [nextValue, end];\n }\n if (dragging === \"end\") {\n if (nextValue < start) {\n // \"перехватиться\", если перетянули за начало\n gesture.dragging = \"start\";\n return [nextValue, start];\n }\n return [start, nextValue];\n }\n\n return value;\n };\n\n const snapDirection = (pos: number, target: EventTarget | null) => {\n if (target === thumbStart.current) {\n return \"start\";\n }\n if (target === thumbEnd.current) {\n return \"end\";\n }\n return Math.abs((start ?? 0) - pos) <= Math.abs(end - pos)\n ? \"start\"\n : \"end\";\n };\n\n const onStart: TouchEventHandler = (e: TouchEvent) => {\n const boundingRect = container.current?.getBoundingClientRect();\n gesture.containerWidth = boundingRect?.width ?? 0;\n\n const absolutePosition = e.startX - (boundingRect?.left ?? 0);\n const pos = offsetToValue(absolutePosition);\n gesture.dragging = snapDirection(pos, e.originalEvent.target);\n gesture.startX = absolutePosition;\n\n onChange?.(updateRange(pos), e);\n e.originalEvent.stopPropagation();\n };\n\n const onMove: TouchEventHandler = (e: TouchEvent) => {\n onChange?.(updateRange(offsetToValue(gesture.startX + (e.shiftX || 0))), e);\n\n e.originalEvent.stopPropagation();\n e.originalEvent.preventDefault();\n };\n\n const onEnd: TouchEventHandler = (e) => {\n gesture.dragging = false;\n e.originalEvent.stopPropagation();\n };\n\n const toPercent = (v: number) => ((v - min) / (max - min)) * 100;\n const draggerStyle = isRange\n ? {\n width: `${toPercent(end) - toPercent(start ?? 0)}%`,\n left: `${toPercent(start ?? 0)}%`,\n }\n : {\n width: `${toPercent(end)}%`,\n };\n\n return (\n <Touch\n data-value={isRange ? value.join(\",\") : value}\n {...restProps}\n {...(disabled ? {} : { onStart, onMove, onEnd })}\n vkuiClass={classNames(\n \"Slider\",\n `Slider--sizeY-${sizeY}`,\n disabled && \"Slider--disabled\"\n )}\n >\n <div ref={container} vkuiClass=\"Slider__in\">\n <div vkuiClass=\"Slider__dragger\" style={draggerStyle}>\n {isRange && (\n <span\n vkuiClass={classNames(\"Slider__thumb\", \"Slider__thumb--start\")}\n ref={thumbStart}\n />\n )}\n <span\n vkuiClass={classNames(\"Slider__thumb\", \"Slider__thumb--end\")}\n ref={thumbEnd}\n />\n </div>\n </div>\n </Touch>\n );\n};\n\nexport const UniversalSlider = withAdaptivity(UniversalSliderDumb, {\n sizeY: true,\n});\n"],"file":"UniversalSlider.js"}
1
+ {"version":3,"sources":["../../../../src/components/RangeSlider/UniversalSlider.tsx"],"names":["UniversalSliderDumb","min","max","step","value","defaultValue","onChange","getRootRef","sizeY","disabled","restProps","start","end","isRange","gesture","React","useRef","dragging","startX","containerWidth","current","container","thumbStart","thumbEnd","offsetToValue","absolute","updateRange","nextValue","snapDirection","pos","target","Math","abs","onStart","e","boundingRect","getBoundingClientRect","width","absolutePosition","left","originalEvent","stopPropagation","onMove","shiftX","preventDefault","onEnd","toPercent","v","draggerStyle","join","UniversalSlider","displayName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchEvent, TouchEventHandler } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { rescale } from \"../../helpers/math\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport \"../Slider/Slider.css\";\n\nexport type UniversalValue = [number | null, number];\n\nexport interface UniversalSliderProps<Value>\n extends HasRootRef<HTMLDivElement>,\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"value\" | \"defaultValue\" | \"onChange\"\n >,\n AdaptivityProps {\n min?: number;\n max?: number;\n step?: number;\n value?: Value;\n defaultValue?: Value;\n disabled?: boolean;\n onChange?(value: Value, e: TouchEvent): void;\n}\n\nconst UniversalSliderDumb = ({\n min = 0,\n max = 100,\n step,\n value = [0, 0],\n defaultValue,\n onChange,\n getRootRef,\n sizeY,\n disabled,\n ...restProps\n}: UniversalSliderProps<UniversalValue>) => {\n const [start, end] = value;\n const isRange = start != null;\n const gesture = React.useRef({\n dragging: false as false | \"start\" | \"end\",\n startX: 0,\n containerWidth: 0,\n }).current;\n const container = useExternRef(getRootRef);\n const thumbStart = React.useRef<HTMLDivElement>(null);\n const thumbEnd = React.useRef<HTMLDivElement>(null);\n\n const offsetToValue = (absolute: number) => {\n return rescale(absolute, [0, gesture.containerWidth], [min, max], { step });\n };\n\n const updateRange = (nextValue: number): UniversalValue => {\n if (start == null) {\n return [null, nextValue];\n }\n\n const { dragging } = gesture;\n if (dragging === \"start\") {\n if (nextValue > end) {\n // \"перехватиться\", если перетянули за конец\n gesture.dragging = \"end\";\n return [end, nextValue];\n }\n return [nextValue, end];\n }\n if (dragging === \"end\") {\n if (nextValue < start) {\n // \"перехватиться\", если перетянули за начало\n gesture.dragging = \"start\";\n return [nextValue, start];\n }\n return [start, nextValue];\n }\n\n return value;\n };\n\n const snapDirection = (pos: number, target: EventTarget | null) => {\n if (target === thumbStart.current) {\n return \"start\";\n }\n if (target === thumbEnd.current) {\n return \"end\";\n }\n return Math.abs((start ?? 0) - pos) <= Math.abs(end - pos)\n ? \"start\"\n : \"end\";\n };\n\n const onStart: TouchEventHandler = (e: TouchEvent) => {\n const boundingRect = container.current?.getBoundingClientRect();\n gesture.containerWidth = boundingRect?.width ?? 0;\n\n const absolutePosition = e.startX - (boundingRect?.left ?? 0);\n const pos = offsetToValue(absolutePosition);\n gesture.dragging = snapDirection(pos, e.originalEvent.target);\n gesture.startX = absolutePosition;\n\n onChange?.(updateRange(pos), e);\n e.originalEvent.stopPropagation();\n };\n\n const onMove: TouchEventHandler = (e: TouchEvent) => {\n onChange?.(updateRange(offsetToValue(gesture.startX + (e.shiftX || 0))), e);\n\n e.originalEvent.stopPropagation();\n e.originalEvent.preventDefault();\n };\n\n const onEnd: TouchEventHandler = (e) => {\n gesture.dragging = false;\n e.originalEvent.stopPropagation();\n };\n\n const toPercent = (v: number) => ((v - min) / (max - min)) * 100;\n const draggerStyle = isRange\n ? {\n width: `${toPercent(end) - toPercent(start ?? 0)}%`,\n left: `${toPercent(start ?? 0)}%`,\n }\n : {\n width: `${toPercent(end)}%`,\n };\n\n return (\n <Touch\n data-value={isRange ? value.join(\",\") : value}\n {...restProps}\n {...(disabled ? {} : { onStart, onMove, onEnd })}\n vkuiClass={classNames(\n \"Slider\",\n `Slider--sizeY-${sizeY}`,\n disabled && \"Slider--disabled\"\n )}\n >\n <div ref={container} vkuiClass=\"Slider__in\">\n <div vkuiClass=\"Slider__dragger\" style={draggerStyle}>\n {isRange && (\n <span\n vkuiClass={classNames(\"Slider__thumb\", \"Slider__thumb--start\")}\n ref={thumbStart}\n />\n )}\n <span\n vkuiClass={classNames(\"Slider__thumb\", \"Slider__thumb--end\")}\n ref={thumbEnd}\n />\n </div>\n </div>\n </Touch>\n );\n};\n\nexport const UniversalSlider = withAdaptivity(UniversalSliderDumb, {\n sizeY: true,\n});\n\nUniversalSlider.displayName = \"UniversalSlider\";\n"],"file":"UniversalSlider.js"}
@@ -11,23 +11,15 @@ var _jsxRuntime = require("../../lib/jsxRuntime");
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
15
 
18
16
  var _HoverPopper = require("../HoverPopper/HoverPopper");
19
17
 
20
- var _getClassName = require("../../helpers/getClassName");
21
-
22
- var _usePlatform = require("../../hooks/usePlatform");
23
-
24
- var _useAppearance = require("../../hooks/useAppearance");
25
-
26
- var _classNames2 = require("../../lib/classNames");
18
+ var _classNames = require("../../lib/classNames");
27
19
 
28
20
  var _prefixClass = require("../../lib/prefixClass");
29
21
 
30
- var _excluded = ["children", "arrow"];
22
+ var _excluded = ["children", "arrow", "appearance"];
31
23
 
32
24
  /**
33
25
  * @see https://vkcom.github.io/VKUI/#/RichTooltip
@@ -36,12 +28,11 @@ var RichTooltip = function RichTooltip(_ref) {
36
28
  var children = _ref.children,
37
29
  _ref$arrow = _ref.arrow,
38
30
  arrow = _ref$arrow === void 0 ? true : _ref$arrow,
31
+ _ref$appearance = _ref.appearance,
32
+ appearance = _ref$appearance === void 0 ? "neutral" : _ref$appearance,
39
33
  popperProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
40
- var platform = (0, _usePlatform.usePlatform)();
41
- var appearance = (0, _useAppearance.useAppearance)();
42
- return (0, _jsxRuntime.createScopedElement)(_HoverPopper.HoverPopper // eslint-disable-next-line vkui/no-object-expression-in-arguments
43
- , (0, _extends2.default)({
44
- vkuiClass: (0, _classNames2.classNames)((0, _getClassName.getClassName)("RichTooltip", platform), (0, _defineProperty2.default)({}, "RichTooltip--".concat(appearance), !!appearance)),
34
+ return (0, _jsxRuntime.createScopedElement)(_HoverPopper.HoverPopper, (0, _extends2.default)({
35
+ vkuiClass: (0, _classNames.classNames)("RichTooltip", "RichTooltip--".concat(appearance)),
45
36
  arrow: arrow,
46
37
  arrowClassName: (0, _prefixClass.prefixClass)("RichTooltip__arrow")
47
38
  }, popperProps), children);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/RichTooltip/RichTooltip.tsx"],"names":["RichTooltip","children","arrow","popperProps","platform","appearance"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAKA;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAIH;AAAA,MAHtBC,QAGsB,QAHtBA,QAGsB;AAAA,wBAFtBC,KAEsB;AAAA,MAFtBA,KAEsB,2BAFd,IAEc;AAAA,MADnBC,WACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,UAAU,GAAG,mCAAnB;AAEA,SACE,qCAAC,wBAAD,CACE;AADF;AAEE,IAAA,SAAS,EAAE,6BAAW,gCAAa,aAAb,EAA4BD,QAA5B,CAAX,2DACQC,UADR,GACuB,CAAC,CAACA,UADzB,EAFb;AAKE,IAAA,KAAK,EAAEH,KALT;AAME,IAAA,cAAc,EAAE,8BAAY,oBAAZ;AANlB,KAOMC,WAPN,GASGF,QATH,CADF;AAaD,CArBM","sourcesContent":["import { HoverPopper, HoverPopperProps } from \"../HoverPopper/HoverPopper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\nimport { classNames } from \"../../lib/classNames\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport \"./RichTooltip.css\";\n\nexport type RichTooltipProps = Omit<HoverPopperProps, \"arrowClassName\">;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RichTooltip\n */\nexport const RichTooltip = ({\n children,\n arrow = true,\n ...popperProps\n}: RichTooltipProps) => {\n const platform = usePlatform();\n const appearance = useAppearance();\n\n return (\n <HoverPopper\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"RichTooltip\", platform), {\n [`RichTooltip--${appearance}`]: !!appearance,\n })}\n arrow={arrow}\n arrowClassName={prefixClass(\"RichTooltip__arrow\")}\n {...popperProps}\n >\n {children}\n </HoverPopper>\n );\n};\n"],"file":"RichTooltip.js"}
1
+ {"version":3,"sources":["../../../../src/components/RichTooltip/RichTooltip.tsx"],"names":["RichTooltip","children","arrow","appearance","popperProps"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;AAWA;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAKH;AAAA,MAJtBC,QAIsB,QAJtBA,QAIsB;AAAA,wBAHtBC,KAGsB;AAAA,MAHtBA,KAGsB,2BAHd,IAGc;AAAA,6BAFtBC,UAEsB;AAAA,MAFtBA,UAEsB,gCAFT,SAES;AAAA,MADnBC,WACmB;AACtB,SACE,qCAAC,wBAAD;AACE,IAAA,SAAS,EAAE,4BAAW,aAAX,yBAA0CD,UAA1C,EADb;AAEE,IAAA,KAAK,EAAED,KAFT;AAGE,IAAA,cAAc,EAAE,8BAAY,oBAAZ;AAHlB,KAIME,WAJN,GAMGH,QANH,CADF;AAUD,CAhBM","sourcesContent":["import { HoverPopper, HoverPopperProps } from \"../HoverPopper/HoverPopper\";\nimport { classNames } from \"../../lib/classNames\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport \"./RichTooltip.css\";\n\nexport interface RichTooltipProps\n extends Omit<HoverPopperProps, \"arrowClassName\"> {\n /**\n * Стиль отображения подсказки\n */\n appearance?: \"accent\" | \"neutral\" | \"white\" | \"black\" | \"inversion\";\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RichTooltip\n */\nexport const RichTooltip = ({\n children,\n arrow = true,\n appearance = \"neutral\",\n ...popperProps\n}: RichTooltipProps) => {\n return (\n <HoverPopper\n vkuiClass={classNames(\"RichTooltip\", `RichTooltip--${appearance}`)}\n arrow={arrow}\n arrowClassName={prefixClass(\"RichTooltip__arrow\")}\n {...popperProps}\n >\n {children}\n </HoverPopper>\n );\n};\n"],"file":"RichTooltip.js"}
@@ -108,4 +108,5 @@ var Select = (0, _withAdaptivity.withAdaptivity)(SelectComponent, {
108
108
  hasMouse: true
109
109
  });
110
110
  exports.Select = Select;
111
+ Select.displayName = "Select";
111
112
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["SelectType","default","plain","accent","SelectTypography","selectType","children","restProps","platform","sizeY","Platform","ANDROID","Component","VKCOM","SizeType","COMPACT","Text","Headline","SelectComponent","hasMouse","props","options","popupDirection","renderOption","map","label","value","Select"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,OAAO,EAAE,SADe;AAExBC,EAAAA,KAAK,EAAE,OAFiB;AAGxBC,EAAAA,MAAM,EAAE;AAHgB,CAAnB,C,CAMP;;AACA;AACA;AACA;;;;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,OAIsC;AAAA,6BAHpEC,UAGoE;AAAA,MAHpEA,UAGoE,gCAHvDL,UAAU,CAACC,OAG4C;AAAA,MAFpEK,QAEoE,QAFpEA,QAEoE;AAAA,MADjEC,SACiE;AACpE,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAIJ,UAAU,KAAKL,UAAU,CAACG,MAA9B,EAAsC;AACpC,WACE,qCAAC,oBAAD;AACE,MAAA,MAAM,EAAEK,QAAQ,KAAKE,mBAASC,OAAtB,GAAgC,GAAhC,GAAsC;AADhD,OAEMJ,SAFN,GAIGD,QAJH,CADF;AAQD;;AAED,MAAMM,SAAS,GACbJ,QAAQ,KAAKK,eAAb,IAAsBJ,KAAK,KAAKK,4BAASC,OAAzC,GAAmDC,UAAnD,GAA0DC,kBAD5D;AAGA,SACE,qCAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,KAAgCV,SAAhC,GACGD,QADH,CADF;AAKD,CA3BM;;;;AA+BP,IAAMY,eAAe,GAAG,SAAlBA,eAAkB,QAGwB;AAAA,MAF9CC,QAE8C,SAF9CA,QAE8C;AAAA,MAD3CC,KAC2C;;AAC9C;AACA,MAAID,QAAJ,EAAc;AACZ,QAAQb,QAAR,GAAmCc,KAAnC,CAAQd,QAAR;AAAA,QAAqBC,UAArB,0CAAmCa,KAAnC;;AAEA,WAAO,qCAAC,0BAAD,EAAkBb,UAAlB,CAAP;AACD;;AAED,uBAAqEa,KAArE,CAAQC,OAAR;AAAA,MAAQA,OAAR,+BAAkB,EAAlB;AAAA,MAAsBC,cAAtB,GAAqEF,KAArE,CAAsBE,cAAtB;AAAA,MAAsCC,YAAtC,GAAqEH,KAArE,CAAsCG,YAAtC;AAAA,MAAuDhB,SAAvD,0CAAqEa,KAArE;AAEA,SACE,qCAAC,0BAAD,EAAkBb,SAAlB,EACGc,OAAO,CAACG,GAAR,CAAY;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,QAAUC,KAAV,SAAUA,KAAV;AAAA,WACX;AAAQ,MAAA,KAAK,EAAEA,KAAf;AAAsB,MAAA,GAAG,YAAKA,KAAL;AAAzB,OACGD,KADH,CADW;AAAA,GAAZ,CADH,CADF;AASD,CAtBD;AAwBA;AACA;AACA;;;AACO,IAAME,MAAM,GAAG,oCAAeT,eAAf,EAAgC;AACpDC,EAAAA,QAAQ,EAAE;AAD0C,CAAhC,CAAf","sourcesContent":["import * as React from \"react\";\nimport { NativeSelect } from \"../NativeSelect/NativeSelect\";\nimport { CustomSelect, CustomSelectProps } from \"../CustomSelect/CustomSelect\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform, VKCOM } from \"../../lib/platform\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n SizeType,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Headline } from \"../Typography/Headline/Headline\";\n\nexport const SelectType = {\n default: \"default\",\n plain: \"plain\",\n accent: \"accent\",\n} as const;\n\n// TODO v5.0.0 поправить под новую адаптивность\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectTypography\n */\nexport const SelectTypography = ({\n selectType = SelectType.default,\n children,\n ...restProps\n}: React.PropsWithChildren<Pick<CustomSelectProps, \"selectType\">>) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n\n if (selectType === SelectType.accent) {\n return (\n <Paragraph\n weight={platform === Platform.ANDROID ? \"2\" : \"1\"}\n {...restProps}\n >\n {children}\n </Paragraph>\n );\n }\n\n const Component =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Component Component=\"span\" {...restProps}>\n {children}\n </Component>\n );\n};\n\nexport interface SelectProps extends CustomSelectProps, AdaptivityProps {}\n\nconst SelectComponent = ({\n hasMouse,\n ...props\n}: SelectProps & AdaptivityContextInterface) => {\n // Use custom select if device has connected a mouse\n if (hasMouse) {\n const { children, ...restProps } = props;\n\n return <CustomSelect {...restProps} />;\n }\n\n const { options = [], popupDirection, renderOption, ...restProps } = props;\n\n return (\n <NativeSelect {...restProps}>\n {options.map(({ label, value }) => (\n <option value={value} key={`${value}`}>\n {label}\n </option>\n ))}\n </NativeSelect>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Select\n */\nexport const Select = withAdaptivity(SelectComponent, {\n hasMouse: true,\n});\n"],"file":"Select.js"}
1
+ {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["SelectType","default","plain","accent","SelectTypography","selectType","children","restProps","platform","sizeY","Platform","ANDROID","Component","VKCOM","SizeType","COMPACT","Text","Headline","SelectComponent","hasMouse","props","options","popupDirection","renderOption","map","label","value","Select","displayName"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,OAAO,EAAE,SADe;AAExBC,EAAAA,KAAK,EAAE,OAFiB;AAGxBC,EAAAA,MAAM,EAAE;AAHgB,CAAnB,C,CAMP;;AACA;AACA;AACA;;;;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,OAIsC;AAAA,6BAHpEC,UAGoE;AAAA,MAHpEA,UAGoE,gCAHvDL,UAAU,CAACC,OAG4C;AAAA,MAFpEK,QAEoE,QAFpEA,QAEoE;AAAA,MADjEC,SACiE;AACpE,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,uBAAkB,oCAAlB;AAAA,MAAQC,KAAR,kBAAQA,KAAR;;AAEA,MAAIJ,UAAU,KAAKL,UAAU,CAACG,MAA9B,EAAsC;AACpC,WACE,qCAAC,oBAAD;AACE,MAAA,MAAM,EAAEK,QAAQ,KAAKE,mBAASC,OAAtB,GAAgC,GAAhC,GAAsC;AADhD,OAEMJ,SAFN,GAIGD,QAJH,CADF;AAQD;;AAED,MAAMM,SAAS,GACbJ,QAAQ,KAAKK,eAAb,IAAsBJ,KAAK,KAAKK,4BAASC,OAAzC,GAAmDC,UAAnD,GAA0DC,kBAD5D;AAGA,SACE,qCAAC,SAAD;AAAW,IAAA,SAAS,EAAC;AAArB,KAAgCV,SAAhC,GACGD,QADH,CADF;AAKD,CA3BM;;;;AA+BP,IAAMY,eAAe,GAAG,SAAlBA,eAAkB,QAGwB;AAAA,MAF9CC,QAE8C,SAF9CA,QAE8C;AAAA,MAD3CC,KAC2C;;AAC9C;AACA,MAAID,QAAJ,EAAc;AACZ,QAAQb,QAAR,GAAmCc,KAAnC,CAAQd,QAAR;AAAA,QAAqBC,UAArB,0CAAmCa,KAAnC;;AAEA,WAAO,qCAAC,0BAAD,EAAkBb,UAAlB,CAAP;AACD;;AAED,uBAAqEa,KAArE,CAAQC,OAAR;AAAA,MAAQA,OAAR,+BAAkB,EAAlB;AAAA,MAAsBC,cAAtB,GAAqEF,KAArE,CAAsBE,cAAtB;AAAA,MAAsCC,YAAtC,GAAqEH,KAArE,CAAsCG,YAAtC;AAAA,MAAuDhB,SAAvD,0CAAqEa,KAArE;AAEA,SACE,qCAAC,0BAAD,EAAkBb,SAAlB,EACGc,OAAO,CAACG,GAAR,CAAY;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,QAAUC,KAAV,SAAUA,KAAV;AAAA,WACX;AAAQ,MAAA,KAAK,EAAEA,KAAf;AAAsB,MAAA,GAAG,YAAKA,KAAL;AAAzB,OACGD,KADH,CADW;AAAA,GAAZ,CADH,CADF;AASD,CAtBD;AAwBA;AACA;AACA;;;AACO,IAAME,MAAM,GAAG,oCAAeT,eAAf,EAAgC;AACpDC,EAAAA,QAAQ,EAAE;AAD0C,CAAhC,CAAf;;AAIPQ,MAAM,CAACC,WAAP,GAAqB,QAArB","sourcesContent":["import * as React from \"react\";\nimport { NativeSelect } from \"../NativeSelect/NativeSelect\";\nimport { CustomSelect, CustomSelectProps } from \"../CustomSelect/CustomSelect\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform, VKCOM } from \"../../lib/platform\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n SizeType,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Headline } from \"../Typography/Headline/Headline\";\n\nexport const SelectType = {\n default: \"default\",\n plain: \"plain\",\n accent: \"accent\",\n} as const;\n\n// TODO v5.0.0 поправить под новую адаптивность\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectTypography\n */\nexport const SelectTypography = ({\n selectType = SelectType.default,\n children,\n ...restProps\n}: React.PropsWithChildren<Pick<CustomSelectProps, \"selectType\">>) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n\n if (selectType === SelectType.accent) {\n return (\n <Paragraph\n weight={platform === Platform.ANDROID ? \"2\" : \"1\"}\n {...restProps}\n >\n {children}\n </Paragraph>\n );\n }\n\n const Component =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Component Component=\"span\" {...restProps}>\n {children}\n </Component>\n );\n};\n\nexport interface SelectProps extends CustomSelectProps, AdaptivityProps {}\n\nconst SelectComponent = ({\n hasMouse,\n ...props\n}: SelectProps & AdaptivityContextInterface) => {\n // Use custom select if device has connected a mouse\n if (hasMouse) {\n const { children, ...restProps } = props;\n\n return <CustomSelect {...restProps} />;\n }\n\n const { options = [], popupDirection, renderOption, ...restProps } = props;\n\n return (\n <NativeSelect {...restProps}>\n {options.map(({ label, value }) => (\n <option value={value} key={`${value}`}>\n {label}\n </option>\n ))}\n </NativeSelect>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Select\n */\nexport const Select = withAdaptivity(SelectComponent, {\n hasMouse: true,\n});\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
@@ -53,7 +53,9 @@ var SelectMimicryComponent = function SelectMimicryComponent(_ref) {
53
53
  var title = children || placeholder;
54
54
  return (0, _jsxRuntime.createScopedElement)(_FormField.FormField, (0, _extends2.default)({}, restProps, {
55
55
  tabIndex: disabled ? undefined : tabIndex,
56
- vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Select", platform), "Select--".concat(selectType), !children && "Select--empty", multiline && "Select--multiline", align && "Select--align-".concat(align), "Select--sizeX-".concat(sizeX), "Select--sizeY-".concat(sizeY)),
56
+ vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Select", platform), "Select--".concat(selectType), !children && "Select--empty", multiline && "Select--multiline", align && "Select--align-".concat(align), "Select--sizeX-".concat(sizeX), // TODO v5.0.0 поправить под новую адаптивность
57
+ "Select--sizeY-".concat(sizeY), // TODO v5.0.0 поправить под новую адаптивность
58
+ before && "Select--hasBefore", after && "Select--hasAfter"),
57
59
  getRootRef: getRootRef,
58
60
  onClick: disabled ? undefined : onClick,
59
61
  disabled: disabled,
@@ -77,4 +79,5 @@ var SelectMimicry = (0, _withAdaptivity.withAdaptivity)(SelectMimicryComponent,
77
79
  sizeY: true
78
80
  });
79
81
  exports.SelectMimicry = SelectMimicry;
82
+ SelectMimicry.displayName = "SelectMimicry";
80
83
  //# sourceMappingURL=SelectMimicry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"names":["SelectMimicryComponent","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","sizeX","sizeY","before","after","selectType","SelectType","default","restProps","platform","title","undefined","SelectMimicry"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAcA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAeL;AAAA,2BAdxBC,QAcwB;AAAA,MAdxBA,QAcwB,8BAdb,CAca;AAAA,MAbxBC,WAawB,QAbxBA,WAawB;AAAA,MAZxBC,QAYwB,QAZxBA,QAYwB;AAAA,MAXxBC,KAWwB,QAXxBA,KAWwB;AAAA,MAVxBC,UAUwB,QAVxBA,UAUwB;AAAA,MATxBC,SASwB,QATxBA,SASwB;AAAA,MARxBC,QAQwB,QARxBA,QAQwB;AAAA,MAPxBC,OAOwB,QAPxBA,OAOwB;AAAA,MANxBC,KAMwB,QANxBA,KAMwB;AAAA,MALxBC,KAKwB,QALxBA,KAKwB;AAAA,MAJxBC,MAIwB,QAJxBA,MAIwB;AAAA,wBAHxBC,KAGwB;AAAA,MAHxBA,KAGwB,2BAHhB,qCAAC,0BAAD,OAGgB;AAAA,6BAFxBC,UAEwB;AAAA,MAFxBA,UAEwB,gCAFXC,mBAAWC,OAEA;AAAA,MADrBC,SACqB;AACxB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,KAAK,GAAGf,QAAQ,IAAID,WAA1B;AAEA,SACE,qCAAC,oBAAD,6BACMc,SADN;AAEE,IAAA,QAAQ,EAAET,QAAQ,GAAGY,SAAH,GAAelB,QAFnC;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,QAAb,EAAuBgB,QAAvB,CADS,oBAEEJ,UAFF,GAGT,CAACV,QAAD,IAAa,eAHJ,EAITG,SAAS,IAAI,mBAJJ,EAKTF,KAAK,4BAAqBA,KAArB,CALI,0BAMQK,KANR,2BAOQC,KAPR,EAHb;AAYE,IAAA,UAAU,EAAEL,UAZd;AAaE,IAAA,OAAO,EAAEE,QAAQ,GAAGY,SAAH,GAAeX,OAblC;AAcE,IAAA,QAAQ,EAAED,QAdZ;AAeE,IAAA,MAAM,EAAEI,MAfV;AAgBE,IAAA,KAAK,EAAEC,KAhBT;AAiBE,IAAA,IAAI,EAAE,4CAA+BC,UAA/B;AAjBR,MAmBE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEE,qCAAC,wBAAD;AAAkB,IAAA,UAAU,EAAEA,UAA9B;AAA0C,IAAA,SAAS,EAAC;AAApD,KACGK,KADH,CAFF,CAnBF,CADF;AA4BD,CA/CD;AAiDA;AACA;AACA;;;AACO,IAAME,aAAa,GAAG,oCAAepB,sBAAf,EAAuC;AAClES,EAAAA,KAAK,EAAE,IAD2D;AAElEC,EAAAA,KAAK,EAAE;AAF2D,CAAvC,CAAtB","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField, FormFieldProps } from \"../FormField/FormField\";\nimport { HasAlign, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { getFormFieldModeFromSelectType } from \"../../lib/select\";\nimport { SelectType, SelectTypography } from \"../Select/Select\";\nimport \"../Select/Select.css\";\n\nexport interface SelectMimicryProps\n extends React.HTMLAttributes<HTMLElement>,\n HasAlign,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n Pick<FormFieldProps, \"before\" | \"after\"> {\n multiline?: boolean;\n disabled?: boolean;\n selectType?: keyof typeof SelectType;\n}\n\nconst SelectMimicryComponent = ({\n tabIndex = 0,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n sizeX,\n sizeY,\n before,\n after = <DropdownIcon />,\n selectType = SelectType.default,\n ...restProps\n}: SelectMimicryProps) => {\n const platform = usePlatform();\n const title = children || placeholder;\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n vkuiClass={classNames(\n getClassName(\"Select\", platform),\n `Select--${selectType}`,\n !children && \"Select--empty\",\n multiline && \"Select--multiline\",\n align && `Select--align-${align}`,\n `Select--sizeX-${sizeX}`,\n `Select--sizeY-${sizeY}`\n )}\n getRootRef={getRootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n mode={getFormFieldModeFromSelectType(selectType)}\n >\n <div vkuiClass=\"Select__container\">\n {/* TODO v5.0.0 поправить под новую адаптивность */}\n <SelectTypography selectType={selectType} vkuiClass=\"Select__title\">\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectMimicry\n */\nexport const SelectMimicry = withAdaptivity(SelectMimicryComponent, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"SelectMimicry.js"}
1
+ {"version":3,"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"names":["SelectMimicryComponent","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","sizeX","sizeY","before","after","selectType","SelectType","default","restProps","platform","title","undefined","SelectMimicry","displayName"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAcA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAeL;AAAA,2BAdxBC,QAcwB;AAAA,MAdxBA,QAcwB,8BAdb,CAca;AAAA,MAbxBC,WAawB,QAbxBA,WAawB;AAAA,MAZxBC,QAYwB,QAZxBA,QAYwB;AAAA,MAXxBC,KAWwB,QAXxBA,KAWwB;AAAA,MAVxBC,UAUwB,QAVxBA,UAUwB;AAAA,MATxBC,SASwB,QATxBA,SASwB;AAAA,MARxBC,QAQwB,QARxBA,QAQwB;AAAA,MAPxBC,OAOwB,QAPxBA,OAOwB;AAAA,MANxBC,KAMwB,QANxBA,KAMwB;AAAA,MALxBC,KAKwB,QALxBA,KAKwB;AAAA,MAJxBC,MAIwB,QAJxBA,MAIwB;AAAA,wBAHxBC,KAGwB;AAAA,MAHxBA,KAGwB,2BAHhB,qCAAC,0BAAD,OAGgB;AAAA,6BAFxBC,UAEwB;AAAA,MAFxBA,UAEwB,gCAFXC,mBAAWC,OAEA;AAAA,MADrBC,SACqB;AACxB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,KAAK,GAAGf,QAAQ,IAAID,WAA1B;AAEA,SACE,qCAAC,oBAAD,6BACMc,SADN;AAEE,IAAA,QAAQ,EAAET,QAAQ,GAAGY,SAAH,GAAelB,QAFnC;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,QAAb,EAAuBgB,QAAvB,CADS,oBAEEJ,UAFF,GAGT,CAACV,QAAD,IAAa,eAHJ,EAITG,SAAS,IAAI,mBAJJ,EAKTF,KAAK,4BAAqBA,KAArB,CALI,0BAMQK,KANR,GAMiB;AANjB,4BAOQC,KAPR,GAOiB;AAC1BC,IAAAA,MAAM,IAAI,mBARD,EASTC,KAAK,IAAI,kBATA,CAHb;AAcE,IAAA,UAAU,EAAEP,UAdd;AAeE,IAAA,OAAO,EAAEE,QAAQ,GAAGY,SAAH,GAAeX,OAflC;AAgBE,IAAA,QAAQ,EAAED,QAhBZ;AAiBE,IAAA,MAAM,EAAEI,MAjBV;AAkBE,IAAA,KAAK,EAAEC,KAlBT;AAmBE,IAAA,IAAI,EAAE,4CAA+BC,UAA/B;AAnBR,MAqBE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEE,qCAAC,wBAAD;AAAkB,IAAA,UAAU,EAAEA,UAA9B;AAA0C,IAAA,SAAS,EAAC;AAApD,KACGK,KADH,CAFF,CArBF,CADF;AA8BD,CAjDD;AAmDA;AACA;AACA;;;AACO,IAAME,aAAa,GAAG,oCAAepB,sBAAf,EAAuC;AAClES,EAAAA,KAAK,EAAE,IAD2D;AAElEC,EAAAA,KAAK,EAAE;AAF2D,CAAvC,CAAtB;;AAKPU,aAAa,CAACC,WAAd,GAA4B,eAA5B","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { FormField, FormFieldProps } from \"../FormField/FormField\";\nimport { HasAlign, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { getFormFieldModeFromSelectType } from \"../../lib/select\";\nimport { SelectType, SelectTypography } from \"../Select/Select\";\nimport \"../Select/Select.css\";\n\nexport interface SelectMimicryProps\n extends React.HTMLAttributes<HTMLElement>,\n HasAlign,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n Pick<FormFieldProps, \"before\" | \"after\"> {\n multiline?: boolean;\n disabled?: boolean;\n selectType?: keyof typeof SelectType;\n}\n\nconst SelectMimicryComponent = ({\n tabIndex = 0,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n sizeX,\n sizeY,\n before,\n after = <DropdownIcon />,\n selectType = SelectType.default,\n ...restProps\n}: SelectMimicryProps) => {\n const platform = usePlatform();\n const title = children || placeholder;\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n vkuiClass={classNames(\n getClassName(\"Select\", platform),\n `Select--${selectType}`,\n !children && \"Select--empty\",\n multiline && \"Select--multiline\",\n align && `Select--align-${align}`,\n `Select--sizeX-${sizeX}`, // TODO v5.0.0 поправить под новую адаптивность\n `Select--sizeY-${sizeY}`, // TODO v5.0.0 поправить под новую адаптивность\n before && \"Select--hasBefore\",\n after && \"Select--hasAfter\"\n )}\n getRootRef={getRootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n mode={getFormFieldModeFromSelectType(selectType)}\n >\n <div vkuiClass=\"Select__container\">\n {/* TODO v5.0.0 поправить под новую адаптивность */}\n <SelectTypography selectType={selectType} vkuiClass=\"Select__title\">\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectMimicry\n */\nexport const SelectMimicry = withAdaptivity(SelectMimicryComponent, {\n sizeX: true,\n sizeY: true,\n});\n\nSelectMimicry.displayName = \"SelectMimicry\";\n"],"file":"SelectMimicry.js"}