@vkontakte/vkui 4.34.2 → 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 (453) hide show
  1. package/.browserslistrc +5 -0
  2. package/.cache/.eslintcache +1 -1
  3. package/.cache/.stylelintcache +1 -1
  4. package/.cache/.tsbuildinfo +237 -211
  5. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  6. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  7. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +46 -5
  8. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
  9. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
  10. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  11. package/.cache/ts/src/components/Popper/Popper.d.ts +18 -1
  12. package/.cache/ts/src/components/PopperArrow/PopperArrow.d.ts +8 -0
  13. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +7 -2
  14. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +5 -1
  15. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -0
  16. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +8 -1
  17. package/.cache/ts/src/components/Tabs/Tabs.d.ts +13 -2
  18. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +22 -1
  19. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +5 -1
  20. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +18 -1
  21. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +3 -3
  22. package/.cache/ts/src/components/View/View.d.ts +2 -18
  23. package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
  24. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +5 -1
  25. package/.cache/ts/src/tokenized/index.d.ts +26 -0
  26. package/.eslintrc.json +14 -4
  27. package/dist/cjs/components/CardScroll/CardScroll.js +3 -1
  28. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  29. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +7 -1
  30. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  31. package/dist/cjs/components/CustomSelect/CustomSelect.js +477 -554
  32. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  33. package/dist/cjs/components/Dropdown/Dropdown.js +147 -26
  34. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  35. package/dist/cjs/components/Epic/Epic.js +1 -6
  36. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  37. package/dist/cjs/components/FocusTrap/FocusTrap.js +9 -10
  38. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  39. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
  40. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  41. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  42. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  43. package/dist/cjs/components/Popper/Popper.js +11 -19
  44. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  45. package/dist/cjs/components/PopperArrow/PopperArrow.js +40 -0
  46. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -0
  47. package/dist/cjs/components/RichTooltip/RichTooltip.js +6 -15
  48. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  49. package/dist/cjs/components/SimpleCell/SimpleCell.js +20 -31
  50. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  51. package/dist/cjs/components/Snackbar/Snackbar.js +7 -11
  52. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  53. package/dist/cjs/components/SplitCol/SplitCol.js +7 -1
  54. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  55. package/dist/cjs/components/SplitLayout/SplitLayout.js +5 -8
  56. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  57. package/dist/cjs/components/Tabbar/Tabbar.js +15 -14
  58. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  59. package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -10
  60. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  61. package/dist/cjs/components/Tabs/Tabs.js +23 -5
  62. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  63. package/dist/cjs/components/TabsItem/TabsItem.js +39 -22
  64. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  65. package/dist/cjs/components/TextTooltip/TextTooltip.js +6 -9
  66. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  67. package/dist/cjs/components/Tooltip/Tooltip.js +94 -71
  68. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  69. package/dist/cjs/components/Typography/Headline/Headline.js +11 -2
  70. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  71. package/dist/cjs/components/View/View.js +388 -453
  72. package/dist/cjs/components/View/View.js.map +1 -1
  73. package/dist/cjs/components/WriteBar/WriteBar.js +12 -5
  74. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  75. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -8
  76. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  77. package/dist/cjs/hooks/useOrientationChange.js +2 -1
  78. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  79. package/dist/cjs/tokenized/index.js +104 -0
  80. package/dist/cjs/tokenized/index.js.map +1 -1
  81. package/dist/components/CardScroll/CardScroll.js +3 -1
  82. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  83. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  84. package/dist/components/ConfigProvider/ConfigProviderContext.js +3 -0
  85. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  86. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  87. package/dist/components/CustomSelect/CustomSelect.js +473 -580
  88. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  89. package/dist/components/Dropdown/Dropdown.d.ts +46 -5
  90. package/dist/components/Dropdown/Dropdown.js +137 -27
  91. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  92. package/dist/components/Epic/Epic.js +1 -4
  93. package/dist/components/Epic/Epic.js.map +1 -1
  94. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  95. package/dist/components/FocusTrap/FocusTrap.js +9 -9
  96. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  97. package/dist/components/HorizontalCell/HorizontalCell.js +3 -5
  98. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  99. package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
  100. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  101. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  102. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  103. package/dist/components/Popper/Popper.d.ts +18 -1
  104. package/dist/components/Popper/Popper.js +10 -19
  105. package/dist/components/Popper/Popper.js.map +1 -1
  106. package/dist/components/PopperArrow/PopperArrow.d.ts +8 -0
  107. package/dist/components/PopperArrow/PopperArrow.js +27 -0
  108. package/dist/components/PopperArrow/PopperArrow.js.map +1 -0
  109. package/dist/components/RichTooltip/RichTooltip.d.ts +7 -2
  110. package/dist/components/RichTooltip/RichTooltip.js +5 -10
  111. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  112. package/dist/components/SimpleCell/SimpleCell.js +18 -28
  113. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  114. package/dist/components/Snackbar/Snackbar.d.ts +5 -1
  115. package/dist/components/Snackbar/Snackbar.js +8 -11
  116. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  117. package/dist/components/SplitCol/SplitCol.d.ts +1 -0
  118. package/dist/components/SplitCol/SplitCol.js +3 -0
  119. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  120. package/dist/components/SplitLayout/SplitLayout.js +4 -7
  121. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  122. package/dist/components/Tabbar/Tabbar.d.ts +8 -1
  123. package/dist/components/Tabbar/Tabbar.js +15 -14
  124. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  125. package/dist/components/TabbarItem/TabbarItem.js +7 -9
  126. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  127. package/dist/components/Tabs/Tabs.d.ts +13 -2
  128. package/dist/components/Tabs/Tabs.js +23 -5
  129. package/dist/components/Tabs/Tabs.js.map +1 -1
  130. package/dist/components/TabsItem/TabsItem.d.ts +22 -1
  131. package/dist/components/TabsItem/TabsItem.js +40 -21
  132. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  133. package/dist/components/TextTooltip/TextTooltip.d.ts +5 -1
  134. package/dist/components/TextTooltip/TextTooltip.js +5 -7
  135. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  136. package/dist/components/Tooltip/Tooltip.d.ts +18 -1
  137. package/dist/components/Tooltip/Tooltip.js +89 -68
  138. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  139. package/dist/components/Typography/Headline/Headline.d.ts +3 -3
  140. package/dist/components/Typography/Headline/Headline.js +10 -2
  141. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  142. package/dist/components/View/View.d.ts +2 -18
  143. package/dist/components/View/View.js +384 -462
  144. package/dist/components/View/View.js.map +1 -1
  145. package/dist/components/View/ViewInfinite.d.ts +1 -1
  146. package/dist/components/WriteBar/WriteBar.d.ts +5 -1
  147. package/dist/components/WriteBar/WriteBar.js +10 -5
  148. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  149. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -6
  150. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  151. package/dist/components.css +143 -127
  152. package/dist/components.css.map +1 -1
  153. package/dist/cssm/components/ActionSheet/ActionSheet.css +1 -1
  154. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +1 -1
  155. package/dist/cssm/components/Alert/Alert.css +1 -1
  156. package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
  157. package/dist/cssm/components/Avatar/Avatar.css +3 -5
  158. package/dist/cssm/components/Badge/Badge.css +3 -3
  159. package/dist/cssm/components/Banner/Banner.css +5 -5
  160. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -1
  161. package/dist/cssm/components/Button/Button.css +53 -35
  162. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  163. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  164. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  165. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  166. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  167. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  168. package/dist/cssm/components/Card/Card.css +5 -6
  169. package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
  170. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  171. package/dist/cssm/components/CardScroll/CardScroll.js +3 -1
  172. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  173. package/dist/cssm/components/Cell/Cell.css +3 -3
  174. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
  175. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
  176. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  177. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  178. package/dist/cssm/components/Chip/Chip.css +1 -1
  179. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  180. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  181. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  182. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +3 -0
  183. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  184. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  185. package/dist/cssm/components/Counter/Counter.css +31 -31
  186. package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
  187. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  188. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  189. package/dist/cssm/components/CustomSelect/CustomSelect.js +473 -580
  190. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  191. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -3
  192. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -3
  193. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  194. package/dist/cssm/components/DatePicker/DatePicker.css +1 -1
  195. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  196. package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
  197. package/dist/cssm/components/Dropdown/Dropdown.d.ts +46 -5
  198. package/dist/cssm/components/Dropdown/Dropdown.js +137 -27
  199. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  200. package/dist/cssm/components/Epic/Epic.css +1 -1
  201. package/dist/cssm/components/Epic/Epic.js +1 -4
  202. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  203. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  204. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  205. package/dist/cssm/components/FocusTrap/FocusTrap.js +9 -9
  206. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  207. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  208. package/dist/cssm/components/Footer/Footer.css +1 -1
  209. package/dist/cssm/components/FormField/FormField.css +9 -9
  210. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  211. package/dist/cssm/components/FormLayout/FormLayout.css +1 -1
  212. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  213. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  214. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  215. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  216. package/dist/cssm/components/Group/Group.css +1 -1
  217. package/dist/cssm/components/Header/Header.css +1 -1
  218. package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
  219. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -5
  220. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  221. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
  222. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +3 -3
  223. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  224. package/dist/cssm/components/InfoRow/InfoRow.css +1 -1
  225. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  226. package/dist/cssm/components/Input/Input.css +1 -1
  227. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  228. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  229. package/dist/cssm/components/Link/Link.css +1 -1
  230. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
  231. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
  232. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  233. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  234. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -3
  235. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
  236. package/dist/cssm/components/ModalPage/ModalPage.css +1 -1
  237. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  238. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  239. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +1 -1
  240. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  241. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  242. package/dist/cssm/components/Panel/Panel.css +1 -1
  243. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  244. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  245. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  246. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
  247. package/dist/cssm/components/Placeholder/Placeholder.css +3 -3
  248. package/dist/cssm/components/PopoutRoot/PopoutRoot.css +1 -1
  249. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  250. package/dist/cssm/components/Popper/Popper.css +1 -1
  251. package/dist/cssm/components/Popper/Popper.d.ts +18 -1
  252. package/dist/cssm/components/Popper/Popper.js +10 -19
  253. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  254. package/dist/cssm/components/PopperArrow/PopperArrow.css +1 -0
  255. package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +8 -0
  256. package/dist/cssm/components/PopperArrow/PopperArrow.js +28 -0
  257. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -0
  258. package/dist/cssm/components/Progress/Progress.css +1 -1
  259. package/dist/cssm/components/PromoBanner/PromoBanner.css +1 -1
  260. package/dist/cssm/components/PullToRefresh/PullToRefresh.css +3 -3
  261. package/dist/cssm/components/Radio/Radio.css +1 -1
  262. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  263. package/dist/cssm/components/Removable/Removable.css +1 -1
  264. package/dist/cssm/components/RichCell/RichCell.css +3 -3
  265. package/dist/cssm/components/RichTooltip/RichTooltip.css +3 -1
  266. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +7 -2
  267. package/dist/cssm/components/RichTooltip/RichTooltip.js +5 -10
  268. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  269. package/dist/cssm/components/Root/Root.css +1 -1
  270. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
  271. package/dist/cssm/components/Search/Search.css +1 -1
  272. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  273. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  274. package/dist/cssm/components/Select/Select.css +1 -1
  275. package/dist/cssm/components/Separator/Separator.css +1 -1
  276. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  277. package/dist/cssm/components/SimpleCell/SimpleCell.js +18 -28
  278. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  279. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.css +1 -1
  280. package/dist/cssm/components/Slider/Slider.css +3 -3
  281. package/dist/cssm/components/SliderSwitch/SliderSwitch.css +1 -1
  282. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  283. package/dist/cssm/components/Snackbar/Snackbar.d.ts +5 -1
  284. package/dist/cssm/components/Snackbar/Snackbar.js +8 -11
  285. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  286. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  287. package/dist/cssm/components/Spinner/Spinner.css +1 -1
  288. package/dist/cssm/components/SplitCol/SplitCol.css +1 -1
  289. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -0
  290. package/dist/cssm/components/SplitCol/SplitCol.js +3 -0
  291. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  292. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  293. package/dist/cssm/components/SplitLayout/SplitLayout.js +4 -7
  294. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  295. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
  296. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
  297. package/dist/cssm/components/Switch/Switch.css +3 -3
  298. package/dist/cssm/components/Tabbar/Tabbar.css +5 -3
  299. package/dist/cssm/components/Tabbar/Tabbar.d.ts +8 -1
  300. package/dist/cssm/components/Tabbar/Tabbar.js +15 -14
  301. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  302. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  303. package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -9
  304. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  305. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  306. package/dist/cssm/components/Tabs/Tabs.d.ts +13 -2
  307. package/dist/cssm/components/Tabs/Tabs.js +23 -5
  308. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  309. package/dist/cssm/components/TabsItem/TabsItem.css +5 -1
  310. package/dist/cssm/components/TabsItem/TabsItem.d.ts +22 -1
  311. package/dist/cssm/components/TabsItem/TabsItem.js +40 -21
  312. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  313. package/dist/cssm/components/Tappable/Tappable.css +5 -5
  314. package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -1
  315. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +5 -1
  316. package/dist/cssm/components/TextTooltip/TextTooltip.js +5 -7
  317. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  318. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  319. package/dist/cssm/components/Tooltip/Tooltip.css +1 -1
  320. package/dist/cssm/components/Tooltip/Tooltip.d.ts +18 -1
  321. package/dist/cssm/components/Tooltip/Tooltip.js +89 -68
  322. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  323. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  324. package/dist/cssm/components/Typography/Footnote/Footnote.css +1 -1
  325. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  326. package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -3
  327. package/dist/cssm/components/Typography/Headline/Headline.js +10 -2
  328. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  329. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  330. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  331. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  332. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  333. package/dist/cssm/components/UsersStack/UsersStack.css +5 -5
  334. package/dist/cssm/components/View/View.css +1 -1
  335. package/dist/cssm/components/View/View.d.ts +2 -18
  336. package/dist/cssm/components/View/View.js +384 -462
  337. package/dist/cssm/components/View/View.js.map +1 -1
  338. package/dist/cssm/components/View/ViewIOS.css +1 -1
  339. package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
  340. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -1
  341. package/dist/cssm/components/WriteBar/WriteBar.css +3 -1
  342. package/dist/cssm/components/WriteBar/WriteBar.d.ts +5 -1
  343. package/dist/cssm/components/WriteBar/WriteBar.js +10 -5
  344. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  345. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.css +1 -1
  346. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -6
  347. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  348. package/dist/cssm/fonts/fonts.css +1 -1
  349. package/dist/cssm/hooks/useOrientationChange.js +2 -1
  350. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  351. package/dist/cssm/lib/calendar.d.ts +2 -2
  352. package/dist/cssm/styles/animations.css +1 -1
  353. package/dist/cssm/styles/bright_light.css +1 -1
  354. package/dist/cssm/styles/common.css +1 -1
  355. package/dist/cssm/styles/components.css +143 -127
  356. package/dist/cssm/styles/constants.css +3 -10
  357. package/dist/cssm/styles/space_gray.css +1 -1
  358. package/dist/cssm/styles/themes.css +1 -16
  359. package/dist/cssm/styles/unstable.css +3 -1
  360. package/dist/cssm/styles/vkcom_dark.css +1 -6
  361. package/dist/cssm/styles/vkcom_light.css +1 -11
  362. package/dist/cssm/tokenized/index.d.ts +26 -0
  363. package/dist/cssm/tokenized/index.js +13 -0
  364. package/dist/cssm/tokenized/index.js.map +1 -1
  365. package/dist/default_scheme.css +1 -1
  366. package/dist/default_scheme.css.map +1 -1
  367. package/dist/fonts.css +1 -1
  368. package/dist/fonts.css.map +1 -1
  369. package/dist/hooks/useOrientationChange.js +2 -1
  370. package/dist/hooks/useOrientationChange.js.map +1 -1
  371. package/dist/lib/calendar.d.ts +2 -2
  372. package/dist/tokenized/index.d.ts +26 -0
  373. package/dist/tokenized/index.js +13 -0
  374. package/dist/tokenized/index.js.map +1 -1
  375. package/dist/unstable.css +3 -1
  376. package/dist/unstable.css.map +1 -1
  377. package/dist/vkui.css +144 -143
  378. package/dist/vkui.css.map +1 -1
  379. package/package.json +6 -5
  380. package/src/components/Badge/Badge.css +0 -5
  381. package/src/components/CardScroll/CardScroll.tsx +1 -1
  382. package/src/components/Cell/Cell.css +3 -2
  383. package/src/components/ChipsInput/ChipsInput.css +2 -0
  384. package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
  385. package/src/components/Counter/Counter.css +30 -0
  386. package/src/components/CustomScrollView/CustomScrollView.css +10 -5
  387. package/src/components/CustomSelect/CustomSelect.tsx +543 -574
  388. package/src/components/Dropdown/Dropdown.css +12 -0
  389. package/src/components/Dropdown/Dropdown.tsx +174 -20
  390. package/src/components/Dropdown/Readme.md +1 -0
  391. package/src/components/Epic/Epic.tsx +1 -4
  392. package/src/components/FixedLayout/Readme.md +103 -109
  393. package/src/components/FocusTrap/FocusTrap.tsx +10 -10
  394. package/src/components/Group/Group.css +1 -1
  395. package/src/components/HorizontalCell/HorizontalCell.css +25 -43
  396. package/src/components/HorizontalCell/HorizontalCell.tsx +3 -9
  397. package/src/components/HorizontalScroll/HorizontalScroll.css +23 -0
  398. package/src/components/Input/Input.css +2 -0
  399. package/src/components/MiniInfoCell/MiniInfoCell.css +13 -3
  400. package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
  401. package/src/components/Popper/Popper.css +0 -35
  402. package/src/components/Popper/Popper.tsx +29 -23
  403. package/src/components/PopperArrow/PopperArrow.css +34 -0
  404. package/src/components/PopperArrow/PopperArrow.tsx +40 -0
  405. package/src/components/RichTooltip/RichTooltip.css +44 -4
  406. package/src/components/RichTooltip/RichTooltip.tsx +9 -11
  407. package/src/components/SimpleCell/Readme.md +115 -129
  408. package/src/components/SimpleCell/SimpleCell.css +30 -68
  409. package/src/components/SimpleCell/SimpleCell.tsx +21 -25
  410. package/src/components/Snackbar/Readme.md +95 -123
  411. package/src/components/Snackbar/Snackbar.css +18 -27
  412. package/src/components/Snackbar/Snackbar.tsx +17 -11
  413. package/src/components/SplitCol/SplitCol.tsx +2 -0
  414. package/src/components/SplitLayout/SplitLayout.css +3 -7
  415. package/src/components/SplitLayout/SplitLayout.tsx +9 -6
  416. package/src/components/Tabbar/Tabbar.css +4 -1
  417. package/src/components/Tabbar/Tabbar.tsx +23 -12
  418. package/src/components/TabbarItem/TabbarItem.css +7 -5
  419. package/src/components/TabbarItem/TabbarItem.tsx +13 -7
  420. package/src/components/Tabs/Readme.md +191 -251
  421. package/src/components/Tabs/Tabs.css +27 -80
  422. package/src/components/Tabs/Tabs.tsx +45 -7
  423. package/src/components/TabsItem/Readme.md +1 -0
  424. package/src/components/TabsItem/TabsItem.css +191 -106
  425. package/src/components/TabsItem/TabsItem.tsx +72 -20
  426. package/src/components/TextTooltip/TextTooltip.css +41 -11
  427. package/src/components/TextTooltip/TextTooltip.tsx +9 -13
  428. package/src/components/Textarea/Textarea.css +2 -0
  429. package/src/components/Tooltip/Readme.md +128 -101
  430. package/src/components/Tooltip/Tooltip.css +29 -40
  431. package/src/components/Tooltip/Tooltip.tsx +98 -66
  432. package/src/components/Typography/Headline/Headline.tsx +15 -1
  433. package/src/components/View/Readme.md +2 -0
  434. package/src/components/View/View.tsx +451 -514
  435. package/src/components/WriteBar/WriteBar.css +27 -33
  436. package/src/components/WriteBar/WriteBar.tsx +16 -5
  437. package/src/components/WriteBarIcon/WriteBarIcon.css +6 -19
  438. package/src/components/WriteBarIcon/WriteBarIcon.tsx +6 -6
  439. package/src/hooks/useOrientationChange.ts +1 -0
  440. package/src/styles/components.css +1 -0
  441. package/src/styles/constants.css +8 -0
  442. package/src/tokenized/index.ts +39 -0
  443. package/tsconfig.json +1 -1
  444. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +0 -21
  445. package/dist/cjs/components/ClickPopper/ClickPopper.js +0 -96
  446. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +0 -1
  447. package/dist/components/ClickPopper/ClickPopper.d.ts +0 -21
  448. package/dist/components/ClickPopper/ClickPopper.js +0 -71
  449. package/dist/components/ClickPopper/ClickPopper.js.map +0 -1
  450. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +0 -21
  451. package/dist/cssm/components/ClickPopper/ClickPopper.js +0 -71
  452. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +0 -1
  453. package/src/components/ClickPopper/ClickPopper.tsx +0 -86
@@ -1,5 +1,9 @@
1
1
  .WriteBar {
2
- background: var(--background_content);
2
+ background: var(--background_content, var(--vkui--color_background_modal));
3
+ }
4
+
5
+ .WriteBar--shadow {
6
+ box-shadow: var(--vkui--elevation3);
3
7
  }
4
8
 
5
9
  .WriteBar__before,
@@ -29,20 +33,15 @@
29
33
  background: transparent;
30
34
  border: none;
31
35
  resize: none;
32
- line-height: 20px;
33
- color: var(--text_primary);
36
+ color: var(--text_primary, var(--vkui--color_text_primary));
34
37
  -webkit-appearance: none;
35
38
  max-height: 120px;
36
39
  }
37
40
 
38
41
  .WriteBar__textarea::placeholder {
39
- color: var(--text_placeholder);
40
- }
41
-
42
- /* stylelint-disable-next-line selector-no-vendor-prefix */
43
- .WriteBar__textarea::-moz-placeholder {
42
+ color: var(--text_placeholder, var(--vkui--color_text_subhead));
43
+ /* Для Firefox */
44
44
  opacity: 1;
45
- color: var(--text_placeholder);
46
45
  }
47
46
 
48
47
  .WriteBar__inlineAfter {
@@ -50,6 +49,19 @@
50
49
  align-items: flex-end;
51
50
  }
52
51
 
52
+ .WriteBar__before {
53
+ padding-left: 4px;
54
+ }
55
+
56
+ .WriteBar__after {
57
+ padding-right: 4px;
58
+ }
59
+
60
+ .WriteBar__textarea {
61
+ height: 52px;
62
+ padding: 16px 12px;
63
+ }
64
+
53
65
  /**
54
66
  * iOS
55
67
  */
@@ -61,8 +73,12 @@
61
73
 
62
74
  .WriteBar--ios .WriteBar__formIn {
63
75
  box-sizing: border-box;
64
- background-color: var(--input_background);
65
- border: 1px solid var(--input_border);
76
+ background-color: var(
77
+ --input_background,
78
+ var(--vkui--color_field_background)
79
+ );
80
+ border: var(--thin-border) solid
81
+ var(--input_border, var(--vkui--color_field_border_alpha));
66
82
  border-radius: 18px;
67
83
  margin: 8px 0;
68
84
  }
@@ -83,25 +99,3 @@
83
99
  font-size: 17px;
84
100
  line-height: 22px;
85
101
  }
86
-
87
- /**
88
- * Android + vkcom
89
- */
90
-
91
- .WriteBar--android .WriteBar__before,
92
- .WriteBar--vkcom .WriteBar__before {
93
- padding-left: 4px;
94
- }
95
-
96
- .WriteBar--android .WriteBar__after,
97
- .WriteBar--vkcom .WriteBar__after {
98
- padding-right: 4px;
99
- }
100
-
101
- .WriteBar--android .WriteBar__textarea,
102
- .WriteBar--vkcom .WriteBar__textarea {
103
- height: 52px;
104
- padding: 16px 12px;
105
- font-size: 16px;
106
- line-height: 20px;
107
- }
@@ -1,8 +1,10 @@
1
1
  import * as React from "react";
2
+ import { Headline } from "../Typography/Headline/Headline";
2
3
  import { usePlatform } from "../../hooks/usePlatform";
3
4
  import { useExternRef } from "../../hooks/useExternRef";
4
5
  import { hasReactNode, isFunction } from "../../lib/utils";
5
- import { getClassName } from "../../helpers/getClassName";
6
+ import { classNames } from "../../lib/classNames";
7
+ import { IOS } from "../../lib/platform";
6
8
  import { HasRef, HasRootRef } from "../../types";
7
9
  import "./WriteBar.css";
8
10
 
@@ -26,6 +28,10 @@ export interface WriteBarProps
26
28
  * Вызывается при смене высоты поля ввода
27
29
  */
28
30
  onHeightChange?: VoidFunction;
31
+ /**
32
+ * Добавляет тень вокруг поля ввода
33
+ */
34
+ shadow?: boolean;
29
35
 
30
36
  children?: never;
31
37
  }
@@ -44,6 +50,7 @@ export const WriteBar = ({
44
50
  getRootRef,
45
51
  getRef,
46
52
  onHeightChange,
53
+ shadow = false,
47
54
  ...restProps
48
55
  }: WriteBarProps) => {
49
56
  const platform = usePlatform();
@@ -92,7 +99,11 @@ export const WriteBar = ({
92
99
  return (
93
100
  <div
94
101
  ref={getRootRef}
95
- vkuiClass={getClassName("WriteBar", platform)}
102
+ vkuiClass={classNames(
103
+ "WriteBar",
104
+ platform === IOS && "WriteBar--ios",
105
+ shadow && "WriteBar--shadow"
106
+ )}
96
107
  className={className}
97
108
  style={style}
98
109
  >
@@ -102,14 +113,14 @@ export const WriteBar = ({
102
113
  )}
103
114
 
104
115
  <div vkuiClass="WriteBar__formIn">
105
- <textarea
116
+ <Headline
106
117
  {...restProps}
118
+ Component="textarea"
107
119
  vkuiClass="WriteBar__textarea"
108
120
  onChange={onTextareaChange}
109
- ref={textareaRef}
121
+ getRootRef={textareaRef}
110
122
  value={value}
111
123
  />
112
-
113
124
  {hasReactNode(inlineAfter) && (
114
125
  <div vkuiClass="WriteBar__inlineAfter">{inlineAfter}</div>
115
126
  )}
@@ -2,11 +2,11 @@
2
2
  background: none;
3
3
  border: 0;
4
4
  position: relative;
5
- color: var(--icon_secondary);
5
+ color: var(--icon_secondary, var(--vkui--color_icon_secondary));
6
6
  height: 52px;
7
7
  width: 44px;
8
8
  cursor: pointer;
9
- border-radius: 8px;
9
+ border-radius: var(--vkui--size_border_radius--regular);
10
10
  }
11
11
 
12
12
  .WriteBarIcon__in {
@@ -30,30 +30,25 @@
30
30
  position: absolute;
31
31
  top: 6px;
32
32
  right: 2px;
33
- box-shadow: 0 0 0 2px var(--background_content);
33
+ box-shadow: 0 0 0 2px
34
+ var(--background_content, var(--vkui--color_background_modal));
34
35
  }
35
36
 
36
37
  .WriteBarIcon.WriteBarIcon--send,
37
38
  .WriteBarIcon.WriteBarIcon--done {
38
- color: var(--accent);
39
+ color: var(--accent, var(--vkui--color_icon_accent));
39
40
  }
40
41
 
41
42
  /**
42
43
  * iOS
43
44
  */
44
45
  .WriteBarIcon--ios {
45
- color: var(--writebar_icon);
46
- border-radius: 10px;
46
+ color: var(--writebar_icon, var(--vkui--color_icon_accent));
47
47
  }
48
48
 
49
49
  .WriteBarIcon--ios.WriteBarIcon--send,
50
50
  .WriteBarIcon--ios.WriteBarIcon--done {
51
51
  width: 48px;
52
- color: var(--writebar_icon);
53
- }
54
-
55
- .WriteBarIcon--ios.WriteBarIcon--send:not(:disabled) {
56
- color: var(--accent);
57
52
  }
58
53
 
59
54
  .WriteBarIcon--ios.WriteBarIcon--send:first-child,
@@ -65,11 +60,3 @@
65
60
  .WriteBarIcon--ios.WriteBarIcon--done:last-child {
66
61
  margin-right: -4px;
67
62
  }
68
-
69
- /**
70
- * VKCOM
71
- */
72
- .WriteBarIcon--vkcom {
73
- color: var(--icon_secondary);
74
- border-radius: 10px;
75
- }
@@ -9,8 +9,7 @@ import {
9
9
  } from "@vkontakte/icons";
10
10
  import { usePlatform } from "../../hooks/usePlatform";
11
11
  import { classNames } from "../../lib/classNames";
12
- import { getClassName } from "../../helpers/getClassName";
13
- import { IOS } from "../../lib/platform";
12
+ import { IOS, Platform } from "../../lib/platform";
14
13
  import { Counter } from "../Counter/Counter";
15
14
  import { Tappable } from "../Tappable/Tappable";
16
15
  import { warnOnce } from "../../lib/warnOnce";
@@ -91,10 +90,11 @@ export const WriteBarIcon = ({
91
90
  Component="button"
92
91
  hasHover={false}
93
92
  activeMode="WriteBarIcon__active"
94
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
95
- vkuiClass={classNames(getClassName("WriteBarIcon", platform), {
96
- [`WriteBarIcon--${mode}`]: !!mode,
97
- })}
93
+ vkuiClass={classNames(
94
+ "WriteBarIcon",
95
+ platform === Platform.IOS && "WriteBarIcon--ios",
96
+ !!mode && `WriteBarIcon--${mode}`
97
+ )}
98
98
  >
99
99
  <span vkuiClass="WriteBarIcon__in">
100
100
  {icon || children}
@@ -14,6 +14,7 @@ function getOrientation(window: Window | undefined): Orientation {
14
14
  }
15
15
 
16
16
  const angle = Math.abs(
17
+ // eslint-disable-next-line compat/compat
17
18
  window.screen?.orientation?.angle ?? Number(window.orientation)
18
19
  );
19
20
 
@@ -24,6 +24,7 @@
24
24
  @import "../components/Button/Button.css";
25
25
  @import "../components/Removable/Removable.css";
26
26
  @import "../components/FocusVisible/FocusVisible.css";
27
+ @import "../components/PopperArrow/PopperArrow.css";
27
28
 
28
29
  /* Layout */
29
30
  @import "../components/Root/Root.css";
@@ -29,6 +29,14 @@
29
29
  --search_default_height: 36px;
30
30
  --thin-border: 1px;
31
31
 
32
+ /**
33
+ * "Safe Zone" добавляет невидимую интерактивную область, по которой пользователь будет вводить мышкой и тем самым
34
+ * компонент будет оставаться активным.
35
+ *
36
+ * > ⚠️ Используется для динамического изменения в JS файлах.
37
+ */
38
+ --popover-safe-zone-padding: 8px;
39
+
32
40
  /* paddings */
33
41
  /* TODO: v5 удалить */
34
42
  --formitem_padding: 16px;
@@ -25,6 +25,9 @@ export type { CardScrollProps } from "../components/CardScroll/CardScroll";
25
25
  export { Group } from "../components/Group/Group";
26
26
  export type { GroupProps } from "../components/Group/Group";
27
27
 
28
+ export { WriteBar } from "../components/WriteBar/WriteBar";
29
+ export type { WriteBarProps } from "../components/WriteBar/WriteBar";
30
+
28
31
  export { Cell } from "../components/Cell/Cell";
29
32
  export type { CellProps } from "../components/Cell/Cell";
30
33
 
@@ -40,6 +43,9 @@ export type { IconButtonProps } from "../components/IconButton/IconButton";
40
43
  export { InitialsAvatar } from "../components/InitialsAvatar/InitialsAvatar";
41
44
  export type { InitialsAvatarProps } from "../components/InitialsAvatar/InitialsAvatar";
42
45
 
46
+ export { Epic } from "../components/Epic/Epic";
47
+ export type { EpicProps } from "../components/Epic/Epic";
48
+
43
49
  export { InfoRow } from "../components/InfoRow/InfoRow";
44
50
  export type { InfoRowProps } from "../components/InfoRow/InfoRow";
45
51
 
@@ -52,12 +58,21 @@ export type { ModalCardProps } from "../components/ModalCard/ModalCard";
52
58
  export { Link } from "../components/Link/Link";
53
59
  export type { LinkProps } from "../components/Link/Link";
54
60
 
61
+ export { SimpleCell } from "../components/SimpleCell/SimpleCell";
62
+ export type { SimpleCellProps } from "../components/SimpleCell/SimpleCell";
63
+
55
64
  export { ButtonGroup } from "../components/ButtonGroup/ButtonGroup";
56
65
  export type { ButtonGroupProps } from "../components/ButtonGroup/ButtonGroup";
57
66
 
58
67
  export { Switch } from "../components/Switch/Switch";
59
68
  export type { SwitchProps } from "../components/Switch/Switch";
60
69
 
70
+ export { Tabs } from "../components/Tabs/Tabs";
71
+ export type { TabsProps } from "../components/Tabs/Tabs";
72
+
73
+ export { TabsItem } from "../components/TabsItem/TabsItem";
74
+ export type { TabsItemProps } from "../components/TabsItem/TabsItem";
75
+
61
76
  export { Footnote } from "../components/Typography/Footnote/Footnote";
62
77
  export type { FootnoteProps } from "../components/Typography/Footnote/Footnote";
63
78
 
@@ -83,6 +98,15 @@ export type { TappableProps } from "../components/Tappable/Tappable";
83
98
  export { Textarea } from "../components/Textarea/Textarea";
84
99
  export type { TextareaProps } from "../components/Textarea/Textarea";
85
100
 
101
+ export { Tooltip } from "../components/Tooltip/Tooltip";
102
+ export type { TooltipProps } from "../components/Tooltip/Tooltip";
103
+
104
+ export { TextTooltip } from "../components/TextTooltip/TextTooltip";
105
+ export type { TextTooltipProps } from "../components/TextTooltip/TextTooltip";
106
+
107
+ export { RichTooltip } from "../components/RichTooltip/RichTooltip";
108
+ export type { RichTooltipProps } from "../components/RichTooltip/RichTooltip";
109
+
86
110
  export { Title } from "../components/Typography/Title/Title";
87
111
  export type { TitleProps } from "../components/Typography/Title/Title";
88
112
 
@@ -155,6 +179,9 @@ export type { SelectProps } from "../components/Select/Select";
155
179
  export { View } from "../components/View/View";
156
180
  export type { ViewProps } from "../components/View/View";
157
181
 
182
+ export { HorizontalCell } from "../components/HorizontalCell/HorizontalCell";
183
+ export type { HorizontalCellProps } from "../components/HorizontalCell/HorizontalCell";
184
+
158
185
  export { Spinner } from "../components/Spinner/Spinner";
159
186
  export type { SpinnerProps } from "../components/Spinner/Spinner";
160
187
 
@@ -188,6 +215,9 @@ export type { ChipsSelectProps } from "../components/ChipsSelect/ChipsSelect";
188
215
  export { Spacing } from "../components/Spacing/Spacing";
189
216
  export type { SpacingProps } from "../components/Spacing/Spacing";
190
217
 
218
+ export { SplitLayout } from "../components/SplitLayout/SplitLayout";
219
+ export type { SplitLayoutProps } from "../components/SplitLayout/SplitLayout";
220
+
191
221
  export { SplitCol } from "../components/SplitCol/SplitCol";
192
222
  export type { SplitColProps } from "../components/SplitCol/SplitCol";
193
223
 
@@ -206,6 +236,9 @@ export type { BannerProps } from "../components/Banner/Banner";
206
236
  export { FixedLayout } from "../components/FixedLayout/FixedLayout";
207
237
  export type { FixedLayoutProps } from "../components/FixedLayout/FixedLayout";
208
238
 
239
+ export { Snackbar } from "../components/Snackbar/Snackbar";
240
+ export type { SnackbarProps } from "../components/Snackbar/Snackbar";
241
+
209
242
  export { Counter } from "../components/Counter/Counter";
210
243
  export type { CounterProps } from "../components/Counter/Counter";
211
244
 
@@ -230,5 +263,11 @@ export type { DateRangeInputProps } from "../components/DateRangeInput/DateRange
230
263
  export { Footer } from "../components/Footer/Footer";
231
264
  export type { FooterProps } from "../components/Footer/Footer";
232
265
 
266
+ export { WriteBarIcon } from "../components/WriteBarIcon/WriteBarIcon";
267
+ export type { WriteBarIconProps } from "../components/WriteBarIcon/WriteBarIcon";
268
+
233
269
  export { Tabbar } from "../components/Tabbar/Tabbar";
234
270
  export type { TabbarProps } from "../components/Tabbar/Tabbar";
271
+
272
+ export { TabbarItem } from "../components/TabbarItem/TabbarItem";
273
+ export type { TabbarItemProps } from "../components/TabbarItem/TabbarItem";
package/tsconfig.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "jsx": "react",
4
4
  "jsxFactory": "createScopedElement",
5
5
  "target": "esnext",
6
- "lib": ["es6", "dom"],
6
+ "lib": ["es6", "dom", "dom.Iterable"],
7
7
  "outDir": "dist",
8
8
  "esModuleInterop": true,
9
9
  "allowSyntheticDefaultImports": true,
@@ -1,21 +0,0 @@
1
- import * as React from "react";
2
- import { PopperCommonProps } from "../Popper/Popper";
3
- export interface ClickPopperProps extends PopperCommonProps {
4
- /**
5
- * Содержимое `ClickPopper`
6
- */
7
- content?: React.ReactNode;
8
- /**
9
- * Если передан, то тултип будет показан/скрыт в зависимости от значения свойства
10
- */
11
- shown?: boolean;
12
- /**
13
- * Вызывается при каждом изменении видимости тултипа
14
- */
15
- onShownChange?: (shown: boolean) => void;
16
- /**
17
- * Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента
18
- */
19
- children?: React.ReactElement;
20
- }
21
- export declare const ClickPopper: ({ getRef, content, children, onShownChange, shown: _shown, ...restProps }: ClickPopperProps) => JSX.Element;
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.ClickPopper = void 0;
11
-
12
- var _jsxRuntime = require("../../lib/jsxRuntime");
13
-
14
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
-
20
- var React = _interopRequireWildcard(require("react"));
21
-
22
- var _dom = require("../../lib/dom");
23
-
24
- var _Popper = require("../Popper/Popper");
25
-
26
- var _useExternRef = require("../../hooks/useExternRef");
27
-
28
- var _useEventListener = require("../../hooks/useEventListener");
29
-
30
- var _useGlobalEventListener = require("../../hooks/useGlobalEventListener");
31
-
32
- var _usePatchChildrenRef3 = require("../../hooks/usePatchChildrenRef");
33
-
34
- var _excluded = ["getRef", "content", "children", "onShownChange", "shown"];
35
-
36
- var ClickPopper = function ClickPopper(_ref) {
37
- var getRef = _ref.getRef,
38
- content = _ref.content,
39
- children = _ref.children,
40
- onShownChange = _ref.onShownChange,
41
- _shown = _ref.shown,
42
- restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
-
44
- var _React$useState = React.useState(_shown || false),
45
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
46
- computedShown = _React$useState2[0],
47
- setComputedShown = _React$useState2[1];
48
-
49
- var _React$useState3 = React.useState(null),
50
- _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
51
- dropdownNode = _React$useState4[0],
52
- setPopperNode = _React$useState4[1];
53
-
54
- var shown = typeof _shown === "boolean" ? _shown : computedShown;
55
-
56
- var _useDOM = (0, _dom.useDOM)(),
57
- document = _useDOM.document;
58
-
59
- var patchedPopperRef = (0, _useExternRef.useExternRef)(setPopperNode, getRef);
60
-
61
- var _usePatchChildrenRef = (0, _usePatchChildrenRef3.usePatchChildrenRef)(children),
62
- _usePatchChildrenRef2 = (0, _slicedToArray2.default)(_usePatchChildrenRef, 2),
63
- childRef = _usePatchChildrenRef2[0],
64
- child = _usePatchChildrenRef2[1];
65
-
66
- var setShown = function setShown(value) {
67
- if (typeof _shown !== "boolean") {
68
- setComputedShown(value);
69
- }
70
-
71
- typeof onShownChange === "function" && onShownChange(value);
72
- };
73
-
74
- (0, _useGlobalEventListener.useGlobalEventListener)(document, "click", function (e) {
75
- var _childRef$current;
76
-
77
- if (dropdownNode && !((_childRef$current = childRef.current) !== null && _childRef$current !== void 0 && _childRef$current.contains(e.target)) && !dropdownNode.contains(e.target)) {
78
- setShown(false);
79
- }
80
- });
81
- var targetClickEvent = (0, _useEventListener.useEventListener)("click", function () {
82
- setShown(!shown);
83
- });
84
- React.useEffect(function () {
85
- if (childRef.current !== null) {
86
- targetClickEvent.add(childRef.current);
87
- }
88
- }, [childRef, targetClickEvent]);
89
- return (0, _jsxRuntime.createScopedElement)(React.Fragment, null, child, shown && (0, _jsxRuntime.createScopedElement)(_Popper.Popper, (0, _extends2.default)({}, restProps, {
90
- targetRef: childRef,
91
- getRef: patchedPopperRef
92
- }), content));
93
- };
94
-
95
- exports.ClickPopper = ClickPopper;
96
- //# sourceMappingURL=ClickPopper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/components/ClickPopper/ClickPopper.tsx"],"names":["ClickPopper","getRef","content","children","onShownChange","_shown","shown","restProps","React","useState","computedShown","setComputedShown","dropdownNode","setPopperNode","document","patchedPopperRef","childRef","child","setShown","value","e","current","contains","target","targetClickEvent","useEffect","add"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAqBO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAOH;AAAA,MANtBC,MAMsB,QANtBA,MAMsB;AAAA,MALtBC,OAKsB,QALtBA,OAKsB;AAAA,MAJtBC,QAIsB,QAJtBA,QAIsB;AAAA,MAHtBC,aAGsB,QAHtBA,aAGsB;AAAA,MAFfC,MAEe,QAFtBC,KAEsB;AAAA,MADnBC,SACmB;;AACtB,wBAA0CC,KAAK,CAACC,QAAN,CAAeJ,MAAM,IAAI,KAAzB,CAA1C;AAAA;AAAA,MAAOK,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,yBAAsCH,KAAK,CAACC,QAAN,CACpC,IADoC,CAAtC;AAAA;AAAA,MAAOG,YAAP;AAAA,MAAqBC,aAArB;;AAIA,MAAMP,KAAK,GAAG,OAAOD,MAAP,KAAkB,SAAlB,GAA8BA,MAA9B,GAAuCK,aAArD;;AAEA,gBAAqB,kBAArB;AAAA,MAAQI,QAAR,WAAQA,QAAR;;AAEA,MAAMC,gBAAgB,GAAG,gCAA6BF,aAA7B,EAA4CZ,MAA5C,CAAzB;;AAEA,6BAA0B,+CAAoBE,QAApB,CAA1B;AAAA;AAAA,MAAOa,QAAP;AAAA,MAAiBC,KAAjB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAoB;AACnC,QAAI,OAAOd,MAAP,KAAkB,SAAtB,EAAiC;AAC/BM,MAAAA,gBAAgB,CAACQ,KAAD,CAAhB;AACD;;AACD,WAAOf,aAAP,KAAyB,UAAzB,IAAuCA,aAAa,CAACe,KAAD,CAApD;AACD,GALD;;AAOA,sDAAuBL,QAAvB,EAAiC,OAAjC,EAA0C,UAACM,CAAD,EAAmB;AAAA;;AAC3D,QACER,YAAY,IACZ,uBAACI,QAAQ,CAACK,OAAV,8CAAC,kBAAkBC,QAAlB,CAA2BF,CAAC,CAACG,MAA7B,CAAD,CADA,IAEA,CAACX,YAAY,CAACU,QAAb,CAAsBF,CAAC,CAACG,MAAxB,CAHH,EAIE;AACAL,MAAAA,QAAQ,CAAC,KAAD,CAAR;AACD;AACF,GARD;AAUA,MAAMM,gBAAgB,GAAG,wCAAiB,OAAjB,EAA0B,YAAM;AACvDN,IAAAA,QAAQ,CAAC,CAACZ,KAAF,CAAR;AACD,GAFwB,CAAzB;AAIAE,EAAAA,KAAK,CAACiB,SAAN,CAAgB,YAAM;AACpB,QAAIT,QAAQ,CAACK,OAAT,KAAqB,IAAzB,EAA+B;AAC7BG,MAAAA,gBAAgB,CAACE,GAAjB,CAAqBV,QAAQ,CAACK,OAA9B;AACD;AACF,GAJD,EAIG,CAACL,QAAD,EAAWQ,gBAAX,CAJH;AAMA,SACE,qCAAC,KAAD,CAAO,QAAP,QACGP,KADH,EAEGX,KAAK,IACJ,qCAAC,cAAD,6BAAYC,SAAZ;AAAuB,IAAA,SAAS,EAAES,QAAlC;AAA4C,IAAA,MAAM,EAAED;AAApD,MACGb,OADH,CAHJ,CADF;AAUD,CA1DM","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Popper, PopperCommonProps } from \"../Popper/Popper\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { usePatchChildrenRef } from \"../../hooks/usePatchChildrenRef\";\n\nexport interface ClickPopperProps extends PopperCommonProps {\n /**\n * Содержимое `ClickPopper`\n */\n content?: React.ReactNode;\n /**\n * Если передан, то тултип будет показан/скрыт в зависимости от значения свойства\n */\n shown?: boolean;\n /**\n * Вызывается при каждом изменении видимости тултипа\n */\n onShownChange?: (shown: boolean) => void;\n /**\n * Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента\n */\n children?: React.ReactElement;\n}\n\nexport const ClickPopper = ({\n getRef,\n content,\n children,\n onShownChange,\n shown: _shown,\n ...restProps\n}: ClickPopperProps) => {\n const [computedShown, setComputedShown] = React.useState(_shown || false);\n const [dropdownNode, setPopperNode] = React.useState<HTMLElement | null>(\n null\n );\n\n const shown = typeof _shown === \"boolean\" ? _shown : computedShown;\n\n const { document } = useDOM();\n\n const patchedPopperRef = useExternRef<HTMLDivElement>(setPopperNode, getRef);\n\n const [childRef, child] = usePatchChildrenRef(children);\n\n const setShown = (value: boolean) => {\n if (typeof _shown !== \"boolean\") {\n setComputedShown(value);\n }\n typeof onShownChange === \"function\" && onShownChange(value);\n };\n\n useGlobalEventListener(document, \"click\", (e: MouseEvent) => {\n if (\n dropdownNode &&\n !childRef.current?.contains(e.target as Node) &&\n !dropdownNode.contains(e.target as Node)\n ) {\n setShown(false);\n }\n });\n\n const targetClickEvent = useEventListener(\"click\", () => {\n setShown(!shown);\n });\n\n React.useEffect(() => {\n if (childRef.current !== null) {\n targetClickEvent.add(childRef.current);\n }\n }, [childRef, targetClickEvent]);\n\n return (\n <React.Fragment>\n {child}\n {shown && (\n <Popper {...restProps} targetRef={childRef} getRef={patchedPopperRef}>\n {content}\n </Popper>\n )}\n </React.Fragment>\n );\n};\n"],"file":"ClickPopper.js"}
@@ -1,21 +0,0 @@
1
- import * as React from "react";
2
- import { PopperCommonProps } from "../Popper/Popper";
3
- export interface ClickPopperProps extends PopperCommonProps {
4
- /**
5
- * Содержимое `ClickPopper`
6
- */
7
- content?: React.ReactNode;
8
- /**
9
- * Если передан, то тултип будет показан/скрыт в зависимости от значения свойства
10
- */
11
- shown?: boolean;
12
- /**
13
- * Вызывается при каждом изменении видимости тултипа
14
- */
15
- onShownChange?: (shown: boolean) => void;
16
- /**
17
- * Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента
18
- */
19
- children?: React.ReactElement;
20
- }
21
- export declare const ClickPopper: ({ getRef, content, children, onShownChange, shown: _shown, ...restProps }: ClickPopperProps) => JSX.Element;
@@ -1,71 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["getRef", "content", "children", "onShownChange", "shown"];
5
- import { createScopedElement } from "../../lib/jsxRuntime";
6
- import * as React from "react";
7
- import { useDOM } from "../../lib/dom";
8
- import { Popper } from "../Popper/Popper";
9
- import { useExternRef } from "../../hooks/useExternRef";
10
- import { useEventListener } from "../../hooks/useEventListener";
11
- import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
12
- import { usePatchChildrenRef } from "../../hooks/usePatchChildrenRef";
13
- export var ClickPopper = function ClickPopper(_ref) {
14
- var getRef = _ref.getRef,
15
- content = _ref.content,
16
- children = _ref.children,
17
- onShownChange = _ref.onShownChange,
18
- _shown = _ref.shown,
19
- restProps = _objectWithoutProperties(_ref, _excluded);
20
-
21
- var _React$useState = React.useState(_shown || false),
22
- _React$useState2 = _slicedToArray(_React$useState, 2),
23
- computedShown = _React$useState2[0],
24
- setComputedShown = _React$useState2[1];
25
-
26
- var _React$useState3 = React.useState(null),
27
- _React$useState4 = _slicedToArray(_React$useState3, 2),
28
- dropdownNode = _React$useState4[0],
29
- setPopperNode = _React$useState4[1];
30
-
31
- var shown = typeof _shown === "boolean" ? _shown : computedShown;
32
-
33
- var _useDOM = useDOM(),
34
- document = _useDOM.document;
35
-
36
- var patchedPopperRef = useExternRef(setPopperNode, getRef);
37
-
38
- var _usePatchChildrenRef = usePatchChildrenRef(children),
39
- _usePatchChildrenRef2 = _slicedToArray(_usePatchChildrenRef, 2),
40
- childRef = _usePatchChildrenRef2[0],
41
- child = _usePatchChildrenRef2[1];
42
-
43
- var setShown = function setShown(value) {
44
- if (typeof _shown !== "boolean") {
45
- setComputedShown(value);
46
- }
47
-
48
- typeof onShownChange === "function" && onShownChange(value);
49
- };
50
-
51
- useGlobalEventListener(document, "click", function (e) {
52
- var _childRef$current;
53
-
54
- if (dropdownNode && !((_childRef$current = childRef.current) !== null && _childRef$current !== void 0 && _childRef$current.contains(e.target)) && !dropdownNode.contains(e.target)) {
55
- setShown(false);
56
- }
57
- });
58
- var targetClickEvent = useEventListener("click", function () {
59
- setShown(!shown);
60
- });
61
- React.useEffect(function () {
62
- if (childRef.current !== null) {
63
- targetClickEvent.add(childRef.current);
64
- }
65
- }, [childRef, targetClickEvent]);
66
- return createScopedElement(React.Fragment, null, child, shown && createScopedElement(Popper, _extends({}, restProps, {
67
- targetRef: childRef,
68
- getRef: patchedPopperRef
69
- }), content));
70
- };
71
- //# sourceMappingURL=ClickPopper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/ClickPopper/ClickPopper.tsx"],"names":["React","useDOM","Popper","useExternRef","useEventListener","useGlobalEventListener","usePatchChildrenRef","ClickPopper","getRef","content","children","onShownChange","_shown","shown","restProps","useState","computedShown","setComputedShown","dropdownNode","setPopperNode","document","patchedPopperRef","childRef","child","setShown","value","e","current","contains","target","targetClickEvent","useEffect","add"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,MAAT;AACA,SAASC,MAAT;AACA,SAASC,YAAT;AACA,SAASC,gBAAT;AACA,SAASC,sBAAT;AACA,SAASC,mBAAT;AAqBA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,OAOH;AAAA,MANtBC,MAMsB,QANtBA,MAMsB;AAAA,MALtBC,OAKsB,QALtBA,OAKsB;AAAA,MAJtBC,QAIsB,QAJtBA,QAIsB;AAAA,MAHtBC,aAGsB,QAHtBA,aAGsB;AAAA,MAFfC,MAEe,QAFtBC,KAEsB;AAAA,MADnBC,SACmB;;AACtB,wBAA0Cd,KAAK,CAACe,QAAN,CAAeH,MAAM,IAAI,KAAzB,CAA1C;AAAA;AAAA,MAAOI,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,yBAAsCjB,KAAK,CAACe,QAAN,CACpC,IADoC,CAAtC;AAAA;AAAA,MAAOG,YAAP;AAAA,MAAqBC,aAArB;;AAIA,MAAMN,KAAK,GAAG,OAAOD,MAAP,KAAkB,SAAlB,GAA8BA,MAA9B,GAAuCI,aAArD;;AAEA,gBAAqBf,MAAM,EAA3B;AAAA,MAAQmB,QAAR,WAAQA,QAAR;;AAEA,MAAMC,gBAAgB,GAAGlB,YAAY,CAAiBgB,aAAjB,EAAgCX,MAAhC,CAArC;;AAEA,6BAA0BF,mBAAmB,CAACI,QAAD,CAA7C;AAAA;AAAA,MAAOY,QAAP;AAAA,MAAiBC,KAAjB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAoB;AACnC,QAAI,OAAOb,MAAP,KAAkB,SAAtB,EAAiC;AAC/BK,MAAAA,gBAAgB,CAACQ,KAAD,CAAhB;AACD;;AACD,WAAOd,aAAP,KAAyB,UAAzB,IAAuCA,aAAa,CAACc,KAAD,CAApD;AACD,GALD;;AAOApB,EAAAA,sBAAsB,CAACe,QAAD,EAAW,OAAX,EAAoB,UAACM,CAAD,EAAmB;AAAA;;AAC3D,QACER,YAAY,IACZ,uBAACI,QAAQ,CAACK,OAAV,8CAAC,kBAAkBC,QAAlB,CAA2BF,CAAC,CAACG,MAA7B,CAAD,CADA,IAEA,CAACX,YAAY,CAACU,QAAb,CAAsBF,CAAC,CAACG,MAAxB,CAHH,EAIE;AACAL,MAAAA,QAAQ,CAAC,KAAD,CAAR;AACD;AACF,GARqB,CAAtB;AAUA,MAAMM,gBAAgB,GAAG1B,gBAAgB,CAAC,OAAD,EAAU,YAAM;AACvDoB,IAAAA,QAAQ,CAAC,CAACX,KAAF,CAAR;AACD,GAFwC,CAAzC;AAIAb,EAAAA,KAAK,CAAC+B,SAAN,CAAgB,YAAM;AACpB,QAAIT,QAAQ,CAACK,OAAT,KAAqB,IAAzB,EAA+B;AAC7BG,MAAAA,gBAAgB,CAACE,GAAjB,CAAqBV,QAAQ,CAACK,OAA9B;AACD;AACF,GAJD,EAIG,CAACL,QAAD,EAAWQ,gBAAX,CAJH;AAMA,SACE,oBAAC,KAAD,CAAO,QAAP,QACGP,KADH,EAEGV,KAAK,IACJ,oBAAC,MAAD,eAAYC,SAAZ;AAAuB,IAAA,SAAS,EAAEQ,QAAlC;AAA4C,IAAA,MAAM,EAAED;AAApD,MACGZ,OADH,CAHJ,CADF;AAUD,CA1DM","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Popper, PopperCommonProps } from \"../Popper/Popper\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useEventListener } from \"../../hooks/useEventListener\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { usePatchChildrenRef } from \"../../hooks/usePatchChildrenRef\";\n\nexport interface ClickPopperProps extends PopperCommonProps {\n /**\n * Содержимое `ClickPopper`\n */\n content?: React.ReactNode;\n /**\n * Если передан, то тултип будет показан/скрыт в зависимости от значения свойства\n */\n shown?: boolean;\n /**\n * Вызывается при каждом изменении видимости тултипа\n */\n onShownChange?: (shown: boolean) => void;\n /**\n * Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента\n */\n children?: React.ReactElement;\n}\n\nexport const ClickPopper = ({\n getRef,\n content,\n children,\n onShownChange,\n shown: _shown,\n ...restProps\n}: ClickPopperProps) => {\n const [computedShown, setComputedShown] = React.useState(_shown || false);\n const [dropdownNode, setPopperNode] = React.useState<HTMLElement | null>(\n null\n );\n\n const shown = typeof _shown === \"boolean\" ? _shown : computedShown;\n\n const { document } = useDOM();\n\n const patchedPopperRef = useExternRef<HTMLDivElement>(setPopperNode, getRef);\n\n const [childRef, child] = usePatchChildrenRef(children);\n\n const setShown = (value: boolean) => {\n if (typeof _shown !== \"boolean\") {\n setComputedShown(value);\n }\n typeof onShownChange === \"function\" && onShownChange(value);\n };\n\n useGlobalEventListener(document, \"click\", (e: MouseEvent) => {\n if (\n dropdownNode &&\n !childRef.current?.contains(e.target as Node) &&\n !dropdownNode.contains(e.target as Node)\n ) {\n setShown(false);\n }\n });\n\n const targetClickEvent = useEventListener(\"click\", () => {\n setShown(!shown);\n });\n\n React.useEffect(() => {\n if (childRef.current !== null) {\n targetClickEvent.add(childRef.current);\n }\n }, [childRef, targetClickEvent]);\n\n return (\n <React.Fragment>\n {child}\n {shown && (\n <Popper {...restProps} targetRef={childRef} getRef={patchedPopperRef}>\n {content}\n </Popper>\n )}\n </React.Fragment>\n );\n};\n"],"file":"ClickPopper.js"}
@@ -1,21 +0,0 @@
1
- import * as React from "react";
2
- import { PopperCommonProps } from "../Popper/Popper";
3
- export interface ClickPopperProps extends PopperCommonProps {
4
- /**
5
- * Содержимое `ClickPopper`
6
- */
7
- content?: React.ReactNode;
8
- /**
9
- * Если передан, то тултип будет показан/скрыт в зависимости от значения свойства
10
- */
11
- shown?: boolean;
12
- /**
13
- * Вызывается при каждом изменении видимости тултипа
14
- */
15
- onShownChange?: (shown: boolean) => void;
16
- /**
17
- * Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента
18
- */
19
- children?: React.ReactElement;
20
- }
21
- export declare const ClickPopper: ({ getRef, content, children, onShownChange, shown: _shown, ...restProps }: ClickPopperProps) => JSX.Element;